勞彩蓮 楊 瀚 李 鵬 馮 宇
(1.中國農業大學現代精細農業系統集成研究教育部重點實驗室, 北京 100083;2.中國農業大學農業農村部農業信息獲取技術重點實驗室, 北京 100083)
近年來,隨著計算機和信息技術的發展,對作物三維點云模型的研究逐步成為國內外農業研究領域的重點和熱點[1-5]。利用三維重建技術構建精確真實的植物三維形態模型,對于科學指導農作物的智能化管理以及作物表型的無損測量具有重要意義[6-8]。
獲取三維點云數據是三維重建的第1步,選擇合適的點云數據獲取工具尤為重要。隨著計算機軟硬件、激光、CCD、PSD等技術的飛速發展,對數字圖像處理、計算機視覺理論研究的深入,基于計算機視覺理論的三維信息獲取技術成為該領域技術發展的主流。根據文獻[9]對三維結構信息獲取技術的研究, 激光掃描儀和普通數碼相機是獲取三維信息比較常用的設備。其中,激光掃描儀的精度高,能捕獲到較多細節,但設備體積大,價格昂貴;而數碼相機目前難以滿足實時性的要求。現代消費級深度(RGB-D)相機價格低廉、幀速率高,可以提供密集的深度估算。按原理RGB-D相機主要分為兩類,一類是基于結構光的原理[10],如微軟的Kinect v1型和華碩的Asus Xtion Pro型;另一類是基于TOF(Time of flight) 技術[11],如微軟的Kinect v2型。消費級RGB-D 掃描設備或深度相機的普及,為復雜物體的三維重建提供了更多手段,并且因其廉價、輕巧(質量是數碼相機的一半) 的特點,而得到廣泛的研究和應用[12-15]。
點云配準是基于計算機視覺實現三維重建的關鍵步驟。對于紋理比較豐富的物體,常利用顏色信息提取關鍵點實現點云的配準,比如文獻[16]用Kinect相機獲取不同視角下植株彩色圖像和深度圖像,合成原始植株彩色點云,完成配準。文獻[17]提取彩色圖像匹配點,并根據彩色圖像特征點與三維點云之間的關系得到三維特征點,然后通過奇異值分解完成初始配準。對于紋理不豐富的物體,方法一是通過在植物周圍放置標記物,作為點云配準的檢測點。如文獻[18]在玉米植株周圍懸掛標定物,通過配準標定物來間接配準玉米。文獻[19]將玉米植株放置在貼著棋盤格的地面上,通過檢測棋盤格的角點來輔助玉米的三維重建。方法二是通過標定轉盤與相機的關系,通過轉動轉盤實現點云配準。如文獻[20]利用EM-ICP算法標定轉盤與相機的關系。文獻[21]首先將彩色相機與深度相機進行配準,然后在轉盤上鋪上棋盤格,借助彩色相機尋找特征點完成點云配準。對于點云結構特征比較明顯的物體,可以根據點云結構提取物體特征點,實現點云配準。如文獻[22]通過歸一化對齊徑向特征算法搜尋點云關鍵點,并使用快速點特征直方圖描述子計算關鍵點處的特征向量,然后實現點云配準。可見,傳統的基于計算機視覺的三維重建方法需要提取特征點,并使用ICP算法實現點云拼接。這常需要彩色相機或其他工具進行輔助,而植物的特征點受遮擋等因素的影響而不易提取,這種從被測物體上尋找特征點實現點云配準拼接的方式應用在植物上稍顯困難。
本文提出基于消費級深度相機的植物三維重建方法,只需通過外部標定做一次相機姿態的配準,不需要從被測植物上尋找配對的特征點,以解決植物特征點不易提取、影響三維重建效果的問題。
本文采用的實驗材料是3棵高度分別為1、1.4、1.9 m的玉米植株塑料模型,如圖1所示。

圖1 實驗用玉米植株塑料模型Fig.1 Plastic model of corn plant for experiment
1.2.1Asus Xtion Pro簡介
結構光深度相機Asus Xtion Pro是華碩公司研發的一款深度相機,使用PrimeSense公司的深度感知技術, 即結構光技術。 Xtion設備的核心部件包括紅外線激光發射器、紅外線激光接收器、處理芯片PS1080等部分。此外還包括1個RGB攝像頭、2個麥克風,如圖2所示。其功耗低于2.5 W,數據線接口的類型為USB2.0,支持的平臺有Windows、Ubuntu、Android。

圖2 Xtion Pro深度相機Fig.2 Xtion Pro depth camera1、5.麥克風 2.紅外線激光發射器 3.紅外線激光接收器 4.RGB彩色攝像頭
Xtion Pro的有效距離是0.4~3.5 m,水平視角58°,垂直視角45°,對角線視角70°,分辨率為320像素×240像素。
1.2.2實驗裝置
三維重建系統主要包括3個設備: Xtion Pro深度相機、旋轉云臺和便攜式計算機,如圖3所示。其中,旋轉平臺的旋轉角可精確控制。

圖3 三維重建系統Fig.3 3D reconstruction system1.云臺 2.三腳架 3.深度相機 4.帶USB3.0接口的便攜式計算機
三維重建的基本原理公式為
(1)
其中
fx=f/dxfy=f/dy
式中zc——比例因子
u、v——像素坐標值f——焦距
dx——單個像素橫坐標方向的長度
dy——單個像素縱坐標方向的長度
u0、v0——像素中心坐標值
T——外部參數矩陣
Xw、Yw、Zw——世界坐標系下的坐標值
三維重建過程主要包括兩部分:①深度相機的內部參數標定。經過內部參數標定,即可求出系數fx、fy和u0、v0,則相機坐標系下的點云可求。②點云配準。經過配準,可以求取相機坐標系和世界坐標系之間的外部參數矩陣T,則相機坐標系下的點云可轉換到世界坐標系中。
1.4.1內部參數標定
本文的三維重建只用到深度信息,因此只需要對紅外攝像頭進行標定。針對Xtion Pro深度相機,采用張正友標定法[23]進行標定。對使用深度相機獲取的25幅不同角度的紅外圖像進行標定,所選的25幅圖像應盡量分布于相機視野內的每個位置,如圖4所示。經過內部參數標定可求出系數fx、fy、u0、v0。

圖4 用于標定的棋盤格圖片Fig.4 Checkerboard picture used for calibration
1.4.2深度畸變矯正
深度相機的深度畸變表現在,隨著測量距離的增大,所測得的深度值偏離實際值。在深度相機的深度畸變矯正方面,許多學者進行了深入研究,如文獻[24]利用機器學習計算出每個像素對應的相機讀取的深度和實際距離的比值, 以實現矯正, 并用激光掃描儀進行對比評估。文獻[25]提出一種基于可視SLAM系統的深度在線標定方法。文獻[26]通過對流形的聯合自適應正則化和閾值化對RGB-D相機數據進行深度恢復。文獻[27]利用兩臺計算機和兩臺Kinect相機搭建數據獲取平臺,兩臺Kinect相機深度信息的相互輔助,為系統誤差提供補償。文獻[28]提出一種考慮空間和熱影響的深度精確標定方法。文獻[29]利用激光掃描儀的測量數據為深度相機提供參考,以實現深度畸變矯正。本文主要參考文獻[29]提出的方法進行深度畸變矯正。該方法需要保持深度相機姿態不動的前提下,水平移動深度相機。為了保持相機運動的平穩性,搭建了圖5所示的深度測量裝置。

圖5 深度畸變矯正測量裝置Fig.5 Depth distortion correction measuring device1.滑軌 2.深度相機 3~5.步進電機
點云配準的主要思想是,將最后一個角度獲取的點云n視為世界坐標系下的點云,其他視角下的點云都將以點云n為基準進行拼接,相鄰兩片點云之間的旋轉角度是θ,見圖6。將不同方向獲取的點云,按照轉盤的旋轉角θ拼接在一起,而θ是人為規定的,其對應的矩陣T可求。則不同角度下獲取的點云有如下關系
(2)
式中Pworld——世界坐標系下的最終三維點云
Pi——第i個點云

圖6 深度相機拍攝過程示意圖Fig.6 Schematic of depth camera shooting process
圖6中,點云逆時針旋轉θ(任意值,本文定為22.5°)對應的矩陣T為所求。假定點云1位于坐標系1下,點云2位于坐標系2下,取坐標系1中的點集p1,并找到它們在坐標系2對應的點集p2,然后利用奇異值分解計算矩陣T。本文通過一個棋盤格來尋找點集p1和p2,具體過程為:
(1)將棋盤格置于轉盤上,然后分別獲取一幅紅外圖像和一幅深度圖像。
(2)對紅外圖像進行角點檢測,根據角點在紅外圖像中的位置找到其在深度圖像中的位置(由于紅外圖像與深度圖像是同一個攝像頭獲取的,所以棋盤格角點的位置在紅外圖像與深度圖像中相同),并根據深度相機內部參數系數計算角點在空間中對應的點云,然后將這些點云歸入點集p1。
(3)不改變棋盤格與轉盤的相對位置,將轉盤旋轉θ,然后重復步驟(2)的操作過程,但是計算所得點云歸入點集p2。
(4)多次改變棋盤格的姿態,任意兩個姿態都不應重疊,且棋盤格應盡量出現在測量范圍內的每個空間。然后重復步驟(1)~(3),最終得到點集p1以及p2。注意,點集中的點應盡量分布在整個測量空間。
(5)對p1和p2通過奇異值分解求矩陣T。
1.6.1植株點云數據獲取與拼接
將植株放在轉盤上,每旋轉θ獲取一幅深度圖像,直至旋轉完一周,得n幅深度圖像。對每幅深度圖像,利用深度相機內部參數矩陣計算出對應點云,然后根據計算所得矩陣T和式(2),實現點云拼接。
1.6.2點云濾波
先使用直通濾波器提取出只包含玉米的區域,然后利用統計濾波器對點云進行濾波。統計濾波器采用文獻[30]提出的K-nearest方法對點云數據進行濾波去噪。該方法計算每個點云到其k個鄰近點的平均距離d、全局平均距離μ和標準差σ,將d>μ+σ的點視為噪聲點,從點云數據中刪除。其中,參數α與搜索鄰近點個數k有關,經過多次測試并結合文獻[31],本文設定k值為10,α為5。
根據圖4中用于標定的紅外圖像,利用張正友標定法標定后,得內部參數系數為:fx=285.92像素,fy=286.10像素,u0=162.91像素,v0=124.21像素。
使深度相機垂直于平整的墻面,獲取不同距離的墻面點云。將深度矯正前后,不同距離的墻面點云沿著三維空間的y軸一同顯示, 見圖7。對比矯正前后的同一距離的平面點云可知, 矯正后點云的畸變基本消除。

圖7 矯正前后對比Fig.7 Comparison charts before and after correction
當轉盤旋轉θ時,矩陣T為

(3)
矩陣T只需要求解一次,以后在進行點云配準時,只需每次都旋轉θ拍攝,再結合式(2)即可完成點云拼接。
16個不同角度獲取的點云如圖8所示。

圖8 不同角度獲取的玉米點云Fig.8 Corn point clouds from different angles
將16個角度的玉米點云拼接,再經過直通濾波和統計濾波后,如圖9所示。可見,濾波后葉片周圍的點云噪聲明顯減少。

圖9 玉米點云圖Fig.9 Corn point clouds
從配準、重建效果、效率和魯棒性幾方面對本系統進行分析。分別用商業軟件Skanect和本系統對不同的3棵玉米植株進行了實驗,重建所得點云模型如圖10所示。

圖10 不同大小玉米植株的重建效果Fig.10 Reconstruction effects of maize plants of different sizes
2.5.1點云配準
本文提出的方法,預先標定好配準變化矩陣,不依賴于被測植株上的特征點,只需要進行一次配準。所以,即使被測植株特征點較少,葉片遮擋較為嚴重,也可以得到較好的配準效果。
而傳統的點云配準如ICP算法,比較依賴于植株上的特征點,特征點尋找得越準確,配準效果就越好。但玉米植株比較纖細,且容易發生遮擋,不利于特征點的提取,容易導致配準失敗。
2.5.2點云模型還原度
玉米葉尖部分比較纖細,容易被當作噪聲過濾掉。本文的三維點云模型獲取方法,能較完整地保留玉米植株葉尖的信息,質量較好。利用meshlab軟件,分別對商用軟件Skanect和本系統獲取的玉米三維網格模型的相同部位葉片的長度進行測量,并與實際長度進行比較,結果如表1所示。通過與商用軟件Skanect的獲取結果進行比較可知,Skanect獲取的玉米三維點云模型葉片比較殘缺,葉尖信息丟失嚴重,與實際葉片長度相差較多,整個點云模型還原度較低,品質較差;而本文方法獲取的三維點云模型葉片比較完整,葉尖信息保存完好,葉片長度與實際情況比較接近,點云還原度較高,品質較好,更適合于進一步做植物表型的研究。

表1 玉米網格模型葉片長度和實際葉片長度對比Tab.1 Comparison of leaf length between corn grid model and actual corn cm
2.5.3獲取效率
系統在運行前,要預先對系統進行標定,獲取轉盤旋轉角θ對應的配準變化矩陣,此過程大約需要10 min,僅需進行一次。僅考慮系統掃描的時間,分別用Skanect和本系統獲取3棵玉米植株的點云模型,掃描時間見表2。由于幀與幀之間需要尋找特征點,隨著植株變大,為了能更全面地掃描玉米,Skanect的掃描時間需要更長;而本文方法的掃描時間主要消耗在轉盤的轉動以及每個角度停下來獲取深度圖像的過程上,整體比Skanect快。

表2 系統掃描時間Tab.2 Scanning time of system min
2.5.4系統魯棒性
本系統具有較強的魯棒性。由圖10可知,與Skanect相比,本文方法對3棵不同大小的玉米植株均有較好的重建效果,展現了較好的魯棒性。
(1)本文重建方法點云配準只需進行一次,穩定性強。傳統的點云配準算法,如ICP等,都需要尋找特征點,而植物由于葉片遮擋等問題,特征點不易提取,很容易導致誤配準,影響三維重建。
(2)重建的效果好,還原度高。消費級深度相機受硬件性能限制,深度信息存在畸變。本文通過預先對相機進行深度畸變矯正,使得深度信息更準確,重建效果更好,具體表現在葉片更薄、葉尖更完整。
(3)與商業軟件Skanect相比,本文方法效率更高。Skanect通過尋找特征點的方式實現點云拼接。由于幀與幀之間需要尋找特征點,隨著植株變大,為了能更全面地掃描玉米,Skanect的掃描時間需要更長。而本文方法不受尋找特征點這一步驟的約束,可以更快完成掃描。
(4)系統的魯棒性更高。本系統對3棵不同高度的玉米植株均有較好的重建效果,表現了較好的魯棒性。