基于點結構光測距的單目視覺重建中尺度因子確定方法
【技術領域】
[0001] 本發明屬于計算機視覺領域,涉及利用點結構光實現基于圖像序列的歐氏三維重 建的方法。
【背景技術】
[0002] 視覺是人類最重要的感知手段,大約有80%的外界信息是通過眼睛被人接收的。 正是因為視覺對人類的重要性,隨著數字計算機的飛速發展,讓計算機也具有視覺,能夠 處理視覺信息就成了一項非常誘人的研究課題。這樣,就導致了計算機視覺這一學科的產 生和發展。
[0003] 計算機視覺的研究中一個很重要的部分就是對獲得的動態圖像序列進行分析處 理,以得到有用信息。動態圖像是針對運動的物體或景物而言的,他們不僅是空間位置的 函數,而且是隨時間變化的,它為我們提供了比單一圖像更豐富的信息。在對某一景物拍 攝到的圖像序列中,相鄰兩幀圖像間至少有一部分像素的灰度及色彩發生了變化,這個圖 像序列就稱之為動態圖像序列。
[0004] 近年來隨著計算機視覺領域研究的迅速發展,利用圖像序列中的二維信息來恢復 真實世界三維結構的問題也是其中熱點問題和重要研究方向之一。不管國內還是國際上相 關領域的研究人員針對這些問題已經提出了一些較為有效的解決方法。其中,基于圖像序 列的單目視覺三維重建方法以其重建約束限制條件少、重建所需預知的信息量少、適宜對 大尺度場景進行重建的優點,成為了解決該問題的一類最主要的方法。在多視圖幾何中 一個重要的理論模式就是層次理論,它定義了一個關于從真實場景到其重建模型的等級層 次,層次理論涉及的變換主要有射影變換、仿射變換、相似變換和歐氏變換。然而,傳統的 基于圖像序列的單目視覺三維重建方法大多只能實現射影尺度或仿射尺度下的三維重建, 即重建后的結果與現實世界場景尺度相差一個尺度因子,這樣就會限制其在現實中的應 用。針對于此,本發明提出一種利用點結構光作為輔助來實現單目視覺的歐氏三維重建方 法,使得利用圖像序列重建后的三維場景與現實世界場景的尺度保持一致,并與此同時提 高三維重建算法的魯棒性和精確性。
[0005] 根據光學投射器所投射的光束模式的不同,結構光模式又可以分為點結構光模 式、線結構光模式、多線結構光模式以及網格結構光模式等。單純的利用單目視覺得到的三 維場景無法達到歐氏三維場景真實重建效果,本發明利用點結構光和單目相機實現歐氏三 維重建。激光器發出的光束投射到物體表面上產生一個光點,光點經攝像機的鏡頭成像在 攝像機的像平面上,形成一個二維像點。攝像機的視線和光束線在空間中于光點處相交,并 由其可以唯一確定光點在某一已知世界坐標系中的空間位置,進而求得空間尺度因子達到 歐式三維重建的效果。
[0006] 本發明通過設計以點結構光為輔助的單目立體視覺對真實場景實現真實尺度的 歐氏三維重建。原理圖如附圖1所示。首先,固定靶標(8X11的黑白棋盤格)和激光器, 將靶標放在相機視野范圍內,拍攝一張圖片(圖中如靶標1位置所示),然后打開激光器將 激光打到靶標上再拍一張圖片(圖中如靶標2位置所示),移動靶標重復多次上面的操作獲 得多幅圖像(靶標3, 4, 5等),對輸入的圖像進行預處理。然后,利用圖像幀差法獲取激光 點光斑,利用質心法求取圖像中光斑質心的坐標。根據靶標與圖像之間的單應關系獲得攝 像機坐標系下所有光斑的空間點三維坐標,根據多個光斑空間點三維坐標擬合激光器投出 的射線方程I1,最后,從相機光心發出的經過光斑質心的射線I2與激光器投出的射線的交 點(由于誤差存在,IJPl2^成為異面直線,實際應用中使用異面直線公垂線中點)即為 真實的光斑空間三維點,這樣即可求出尺度因子的大小。
【發明內容】
[0007] 本發明從點結構光出發,提出一種以點結構光為輔助的單目視覺歐氏三維重建 方法,包括光斑質心中心定位、加入RANSAC排異的空間直線擬合、求取光斑三維空間點坐 標、尺度因子的求取。
[0008] 本發明采用的技術方案為基于點結構光測距的單目視覺重建中尺度因子確定方 法,尺度因子求取的整體流程圖如附圖2所示。整個標定均統一到攝像機坐標系上。攝像機 內部參數使用基于2D平面祀標的攝像機標定方法進行標定,在標定結構光系統參數時,保 持相機和激光器的空間位置不發生變化。然后將激光光斑投射于棋盤靶標所處的平面上, 拍下此時的圖像,然后關掉激光器再拍下此時的圖像,按照此步驟重復將靶標擺放任意次 獲得一組數據圖像,根據背景差分法可獲得每個位置的靶標對應的光斑信息,如附圖3所 示。利用靶標上的角點信息得到每次擺放靶標平面的外參數矩陣,再加上每次標定圖像中 激光光斑的質心坐標信息,就得到每次擺放靶標時激光光斑質心的空間坐標。這樣將多次 擺放求得的激光光斑質心坐標的結果進行Levenberg-Marquardt擬合,即可得到激光光線 的空間方程。通過標定好的敏感器內參數信息得到圖像平面上激光光斑的空間坐標。理論 上激光光線與相機光心和激光光斑在圖像上的像點坐標直線會完全重合,但是,由于標定 和計算的誤差,這兩條直線會形成異面直線,設定兩條異面直線的公垂線中點為激光亮點 的真實空間坐標,真實尺度因子即利用點結構光標定得到光斑的真實空間坐標與運用三維 重建算法得到的光斑空間坐標之比,進而達到歐氏重建效果。
[0009] (1)質心法光斑定位
[0010] 光斑圖像是現有圖像處理中較為常見的圖像,光斑質心是光斑圖像的重要特征之 一。在視覺測量、衛星導航等諸多領域中,如何實現光斑中心的快速精確定位是現如今國內 外研究的一個重要課題。
[0011] 點狀光斑的中心定位方法可分為基于灰度和基于邊緣的兩大類。基于灰度的方 法一般利用目標的灰度分布信息,適用于半徑較小且灰度分布均勻的光斑;基于邊緣的方 法一般利用目標的邊緣形狀信息,適用于半徑較大的光斑。因此,小尺寸光斑通常采用基 于灰度的方法進行中心定位。目前常用的基于灰度的中心定位方法包括三種:即質心法、 Hessian矩陣法和高斯擬合法。質心法是用的最多的一種細分定位方法,它實現比較簡單, 運算速度快,而且有一定的定位精度,因此采用質心光斑定位法,具體實現方法在下文會有 詳細闡述。
[0012] (2)加入RANSAC剔除機制的激光器射線方程擬合
[0013] 通過以上步驟可以獲得多組質心光斑坐標,然后進行空間點激光器射線方程的擬 合,本發明利用OpenCV中的空間直線擬合函數,能夠較準確且方便的獲得射線方程。然而, 由于在求取質心坐標等步驟的誤差,獲得的光斑質心坐標可能會存在較大的誤差,這樣會 使得擬合出來的空間直線方程與真實的直線方程存在較大誤差,為了減小誤差使求得的空 間直線方程盡可能的準確,本發明提出使用RANSAC排異方法,剔除誤差較大的空間點,結 果如附圖4所示,在【具體實施方式】中將詳細介紹。
[0014] (3)反投影優化的光斑空間點定位
[0015] 在根據以上步驟求得激光器射線方程后,攝像機的視線和光束線在空間中于光點 處相交,然而,由于圖像平面坐標的測量誤差、噪聲以及相機畸變等因素的影響,攝像機視 線和光束線并不能完全交于一點,所以交匯定位問題就是求異面直線公垂線段中點的坐 標。本發明采用將異面直線公垂線段中點算法求得的空間三維點作為圖像光斑對應的空間 點三維坐標,本文進一步提出利用反投影迭代法來優化求得的空間三維點坐標,具體實現 方法在下文會有詳細闡述。
[0016] 與現有技術相比,本發明具有如下有益效果
[0017] (1)單目重建引入結構光主動視覺實現歐氏三維重建
[0018] 本發明并不是傳統的點結構光重建,而是在運用單目視覺實現三維重建的基礎上 通過點結構光引入真實尺度因子,從而實現真實尺度的歐氏三維重建。首先,運用基于光 流反饋的單目視覺三維重建算法實現對環境快速準確的立體化建模,然而,圖像序列重建 后的三維場景與真實的三維場景之間缺少一個真實尺度因子,沒有達到歐氏三維重建的效 果,因此,求取真實尺度因子的方法就是利用點結構光標定得到的光斑的真實空間坐標標 記為[X,Y,Z]與運用三維重建算法得到的光斑的空間坐標標記為[XmLZJ之比作為尺度 因子λ,Β卩λ = [X,Y,Z]/[XQ,YQ,Z。]這樣即可實現單目視覺的歐氏三維重建。
[0019] (2)單目重建各種方法的歐氏重建不受限制
[0020] 基于多視圖像的場景重建一直以來都是計算機視覺領域的研究熱點,多視立體重 建是利用在不同位置拍攝的關于某場景的一系列圖像來恢復真實的三維場景。如今,主流 的致密重建方法包括基于體素的方法,基于多邊形網格變形的方法,基于多視深度圖的方 法,以及基于面片擴展的方法等。然而,以上方法重建的結果與真實場景的重建結果相差一 個尺度因子,無法實現真實場景的歐氏重建,針對于此本發明提出的基于點結構光的單目 視覺歐氏三維重建方法均不受重建方法的限制,都能夠實現歐氏三維重建。只要根據點結 構光確定激光器投射到靶標上光斑的真實空間點坐標,并且確定圖像光斑坐標與真實空間 點坐標的對應關系就能求得尺度因子,所以在使用其他方法的三維重建過程中不會受到重 建方法的限制,都能夠實現歐氏三維重建。
【附圖說明】
[0021] 圖1激光器射線求取原理圖。
[0022] 圖2整體流程圖。
[0023] 圖3光斑質心求取。
[0024] 圖4加入RANSAC直線擬合。
【具體實施方式】
[0025] 結合附圖對本發明作進一步的詳細說明。
[0026] 本發明具體包括以下幾個步驟。
[0027] (1)點狀光斑的中心定位
[0028] 先通過各種濾波或閾值選取方式對圖像進行預處理,然后再對圖像光斑進行質心 定位。對整個圖像像素處理結束后,根據各個光斑最終質心參數組累加值,按照如下的一階 矩質心計算公式計算其質心行列坐標:
[0030] 上式中I (X,y)表示輸入圖像像素的灰度值,X,y是該像素對應的行列坐標,X。,Y。 分別為光斑質心的行列坐標。
[0031 ] (2)加入RANSAC剔除機制的激光器射線方程擬合
[0032] RANSAC通過反復選擇數據中的一組隨機子集來達成目標。被選取的子集被假設為 局內點,并用下述方法進行驗證,其模型描述如下:
[0033] 1)從所有光斑質心I中選取η個點作為內點,根據最小二乘法利用η個點可以估 計空間直線方程L:Ax+By+Cz+D = 0,即方程的所有的未知參數(A,B,C,D)都能從假設的局 內點計算得出。