王栿棟
(寧波職業(yè)技術學院 機電工程學院,浙江 寧波 315800)
在三維機器視覺中,首要任務是通過視覺傳感器(相機、雷達等)來獲取外界的真實信息,然后再通過信息處理技術或者投影模型得到物體的空間三維坐標[1]。通過一般意義上的三維重建,得到結(jié)果是三維點云信息。這是最原始的三維信息。很多場合還要從這些原始點云信息中提取并識別我們需要那部分三維點云,這是三維機器視覺中目標識別的研究課題。
從數(shù)據(jù)獲取方式區(qū)分,三維重建技術分接觸式和非接觸式兩種。前者利用儀器觸頭直接碰觸待測目標,如機械式的三坐標測量儀就是此類三維重建技術。而非接觸式通常被分為主動視覺和被動視覺兩個類型,以下分別介紹。
主動視覺就是利用特殊的光學儀器向視覺場景中投射特殊的結(jié)構光,然后通過檢測這些投射光在目標表面的圖像,或者計算回收反射信號的時間來進行深度信息獲取的三維重建技術。當前常用主動視覺三維重建有以下幾種。
1.1.1 結(jié)構光法
基于結(jié)構光三維重建研究始于上世紀80年代。結(jié)構光源把某種特殊的光投射到測量物體表面上,形成了一幅特殊規(guī)律的結(jié)構光圖。通過視覺傳感器(相機)獲取這些結(jié)構光圖,然后結(jié)合測量算法,計算出對應圖像對應點的深度信息。結(jié)構光根據(jù)不同情況可選用點結(jié)構光、線結(jié)構光、面結(jié)構光等[2]。結(jié)構光三維重建簡單方便,精度高。但對使用場景有較高要求,不適合在室外場景使用。
1.1.2 激光掃描法
20世紀60年代,一些歐美國家開始對激光掃描技術進行研究。激光掃描法利用激光測距儀發(fā)射光束到物體表面,然后接受從物體表面反射回來的信號。它通過計算激光發(fā)射和回收之間的時間差,可以直接計算出目標物體表面的深度信息,結(jié)合傳感器參數(shù)便可以計算出目標的三維點云。通過不同角度的連續(xù)激光掃描結(jié)合配準技術,可以重建出復雜的三維結(jié)構。它精度高,但巨量的點云配準會消耗大量時間,同時所需設備復雜昂貴。
1.1.3 TOF法
TOF(Time of flight)法即時間飛行法,它利用光學儀器(如激光雷達)向目標物體發(fā)射一定頻率的脈沖光,直到接收器回收到返回光停止,然后通過計數(shù)脈沖個數(shù)并結(jié)合光速計算出目標的距離信息。TOF技術原理簡單,垂直視場大。但因光速很快,所以對脈沖發(fā)生器和接受器都有苛刻的要求。測得的三維點云誤差相對較大。
1.1.4 雷達技術法
基于雷達技術三維重建通過發(fā)射和接收的光束之間的時間差來計算物體的距離。雷達法的測量視場大,距離遠。但受環(huán)境影響較大,重建三維數(shù)據(jù)精度一般。
被動視覺不需要額外的裝置往視場發(fā)射可見光、電磁波等形式的能量,而是直接利用視覺傳感器從客觀外界獲取相關信息。然后在相關約束條件下,通過信息處理算法計算出目標的三維坐標信息。它要比主動視覺系統(tǒng)更輕巧,成本更低。當前常用被動視覺三維重建有以下幾種。
1.2.1 單目立體視覺
單目立體視覺顧名思義就是只需要使用一臺相機就可以實現(xiàn)三維重建任務。如果僅憑單個相機獲取目標物體圖像而言,單個圖像本身是沒有深度信息的。所以單目相機三維視覺方法需要建立在一定的模型假設之上。如SFS法,光度立體視覺法,紋理法,還有基于單個相機移動的輪廓法。單目相機三維視覺設備簡單,應用靈活,成本低。但其三維重建數(shù)據(jù)精度較差。
1.2.2 雙目立體視覺
雙目視覺原理來源于人類自身雙目視覺系統(tǒng)。兩個相機從不同的視角獲取同一目標的兩個圖像。通過極線幾何原理可以恢復目標物體的三維坐標信息。但要獲得精確的三維坐標信息,高精度的雙目匹配技術是其中的難點和研究熱點[3]。
1.2.3 多目立體視覺
多目立體視覺就是用多于二個的相機從不同視角獲取同一目標的多副圖像。是雙目立體視覺的延伸。多目視覺通過多角度的圖像信息獲取,可以減少測量中的視覺盲區(qū),獲得更大的視野范圍。但多臺相機會使得整個系統(tǒng)更復雜。匹配運算量大大增加。
無論是基于主動視覺還是被動視覺的三維重建,有時為了獲得更完整的目標表面三維點,還要從不同的視角對同一測量目標進行多次三維重建。然后通過配準把各部分三維點重新拼接成更完整的三維點云數(shù)據(jù)。
通過上述一般意義上的三維重建,得到結(jié)果是三維點云信息。這是最原始的三維信息。很多場合還要從這些原始點云信息中識別、提取我們需要的那部分三維點云,這是三維機器視覺中目標識別的研究課題。它是一個有關模式識別領域的問題。三維目標識別方法目前主要有以下兩大類。
基于三維點云的三維視覺識別方法,它是直接以三維點云數(shù)據(jù)為處理對象。但如今許多成熟的二維視覺識別算法[4]并不能簡單地移植到三維視覺來。因為三維點云信息要比二維圖像信息多了一個維度,其信息量和復雜度都要大得多,而且各領域已有的三維圖像數(shù)據(jù)也遠沒二維圖像豐富。所以基于三維點云的三維視覺識別方法還有許多待研究的問題,是當前較為熱門的研究課題。
康胤禎等[5]采用3D相機獲取零件的三維點云,然后對三維點豎直方向坐標值設定一個閥值,分割出零件的凹陷區(qū)域。這樣的提取目標方便簡單,但精確度較低。袁天文[6]利用改進后的ISS3D、SHOT等三維特征提取,并通過與模型庫的三維模型匹配[7]的方法,實現(xiàn)了復雜三維場景中的目標識別任務。此方法必須事先準備包含大量精確合適的三維樣本的模型庫。深度學習本質(zhì)是一個多隱層的人工神經(jīng)網(wǎng)絡。要是能提供大量的數(shù)據(jù)進行訓練學習,便可以得到一個足夠優(yōu)秀的分類決策神經(jīng)網(wǎng)絡。但必須要設計一個合適的訓練模型。同時需要準備大量的3D數(shù)據(jù)樣本提供訓練,這在目前很難做到。深度學習對硬件的運算速度要求也很高,所以目前深度學習在三維點云識別中還沒有大規(guī)模普及。2017年南加州大學的Donghyun等[8]實現(xiàn)了一個基于深度卷積神經(jīng)網(wǎng)絡的3D人臉識別。其實是通過把三維點云轉(zhuǎn)化為偽深度圖(像素值表示目標點與相機距離)來進行處理,實質(zhì)還是一個關于二維圖像的深度學習。
該方法主要是根據(jù)二維圖(包括深度圖)的豐富特征并通過各種約束理論來進行三維目標的識別提取。這是一種比較傳統(tǒng)的三維目標識別方法,很多二維圖像識別算法在此都可以得到應用。該方法數(shù)據(jù)處理復雜度低,算法效率高。所以現(xiàn)有很多三維識別方法中都直接或間接地使用了基于二維圖像的識別方法。一般可分為基于幾何模型,基于視圖,基于深度圖這幾類方法。
2.2.1 基于幾何模型的方法
這種方法利用被測量三維物體顯著的幾何特性(如直線輪廓、圓弧輪廓、骨架)投影到二維圖像后仍保持明顯的可識別特征。Wang Songwei等[9]利用飛機二維圖像骨架所反映的目標拓撲結(jié)構,建立了不同目標局部結(jié)構之間的對應關系。以此實現(xiàn)對空中飛機的識別。張躍強[10]利用對二維圖像中直線段幾何特征提取與匹配,實現(xiàn)了三維目標識別。于加其[11]通過激光雷達獲得地面場景的三維點云,然后在擬合和識別出地面的基礎上,讓地面的目標(如車輛)向地面方向投影得到二維圖。最后從這個二維圖像中車輛的長寬線框特征來識別車輛類型。王一江[12]在利用雙目視覺對空間網(wǎng)架結(jié)構中球節(jié)點位移的測量中,利用球體投影到相機的二維圖像為圓的幾何特征識別球形關節(jié)點。由于這個球關節(jié)投影到相機呈現(xiàn)的不是完整的圓形,故再對二維圖像中的非完整圓形使用深度進行學習來實現(xiàn)對空間球關鍵的識別。
2.2.2 基于視圖的方法
該方法是提取一個或多個來自空間三維目標的二維視圖,然后從這些二維視圖中提取特征來識別三維目標。方雪等[13]通過對三維目標的各視點二維圖像提取基于網(wǎng)格的統(tǒng)計模型特征,不但實現(xiàn)了對三維目標的識別。同時還結(jié)合模型庫,實現(xiàn)了對三維目標位姿的估計。李長軍等[14]針對戰(zhàn)場環(huán)境中目標識別,提出將目標的三維模型投影到二維平面,并采用余弦傅里葉矩和瑞利分布的CFAR檢測方法分別對其矩特征和峰值特征進行提取,利用級聯(lián)組合分類器對目標識別。肖大鵬[15]將無人車獲得的激光點云從三維空間投影到二維空間,通過圖像膨脹、輪廓檢測等對點云做二值化處理,然后利用HOG和LBP等描述子進行二維特征提取。最后結(jié)合支持向量機實現(xiàn)對汽車、行人的識別。
2.2.3 基于深度圖的方法
此處的深度圖指偽深度圖,即每個圖像的像素值代表對應空間點到相機的距離。Donghyun等[8]把人臉的三維點云轉(zhuǎn)化為深度圖來進行處理,并通過關于二維圖像的深度學習來實現(xiàn)人臉識別。所以此種方法也被稱為是基于2.5D圖像的方法。
上述的三維重建,三維目標識別可以作為單獨的工作目標存在。但在此基礎上,有時還需要對三維對象進行定量精密的測量。三維精密測量不僅要設法重建三維場景的三維點云,或是將感興趣的三維目標從三維點云中識別出來,更需要對其尺寸、位置、方向等參數(shù)進行精確地測量。三維機器視覺方興未艾,應用潛力巨大。同時還有諸如實時性、場景適應性、可靠性等問題有待進一步完善和提高。