林榆森,李秋潔,陳婷, 2
(1. 南京林業大學機械電子工程學院,南京市,210037; 2. 南京理工大學自動化學院,南京市,210094)
近年來,面向農林作物的三維重建技術正逐漸成為研究熱點[1-3],樹木三維形態結構的重建,對果園果樹科學管理、病蟲害防護等具有重要意義[4-6]。目前,農林領域的三維重建內容越發豐富,有蘋果樹的模型重建[7]、大豆植株的三維重建[8]、小麥葉片的三維重建[9]、植物葉片葉脈的模擬[10]等等。
三維信息的獲取途徑也多種多樣。張慧春等[11-12]通過高分辨率RGB相機獲取植株的二維圖像序列,基于HSV模型閾值分割方法實現植株與背景環境的分割,結合運動中恢復結構(Structure from motion,SFM)算法生成三維點云,利用植物形態表型參數獲取系統進行植物三維點云重建。李鵬等[13]利用Xtion深度相機多視角采集玉米植株的三維點云數據,通過對三維信息的處理,實現玉米植株的三維重建,但是由于Xtion深度相機的限制,該方法不適用于光照強烈的環境。袁曉敏等[14]通過數字化儀對番茄植株進行形態參數測量,構建番茄群體的三維模型,三維數字化儀建立的模型精度較高,但價格昂貴且測量過程復雜耗時。方慧等[15]采用激光掃描儀獲取多視角下的植物點云數據進行三維重建,激光掃描儀獲取信息的速度較慢,且存在數據冗余、價格昂貴等問題。第二代Kinect相機成本較低、攜帶方便,能夠同時獲得目標的彩色和深度圖像[16],廣泛應用于農林領域的三維重建[17-18]。鄭立華等[19]利用Kinect相機采集兩個視角下的蘋果樹三維點云,使用NARF-ICP算法完成兩片點云的精確配準,相對傳統ICP算法精度大大提高。沈躍等[20]提出改進的SIFT-ICP算法,提高配準精度的同時加快了配準速度。
為進一步提高配準質量,本文提出一種基于快速點特征直方圖的樹木三維點云配準方法。選用Kinect作為采集設備,以小型仿真樹木為試驗對象,通過增加標定物以獲取更具鑒別力的快速點特征直方圖(Fast point feature histogram,FPFH),然后使用采樣一致性初始配準算法(Sample consensus-initial alignment,SAC-IA)和最近點迭代算法(Iterative closest point,ICP)完成樹木點云配準。
數據采集設備選用第二代Kinect相機,Kinect擁有1個彩色相機和1個紅外相機,其中,紅外相機采用飛行時間(Time of flight,ToF)主動光源技術采集場景深度信息,檢測范圍為0.5~4.5 m,水平角度為70°,垂直角度為60°。
樹木點云配準流程如圖1所示。首先使用Kinect相機獲取樹木和標定物不同視角下的RGB圖像和深度圖像,通過圖像融合得到XYZRGB型彩色點云數據,去除背景、離群點后得到樹木彩色點云數據,采用SAC-IA算法根據FPFH特征尋找匹配點對,進行初始配準,采用ICP算法優化配準結果,得到點云變換矩陣。

圖1 樹木點云配準流程圖
Kinect的彩色相機獲取1 920像素×1 080像素的RGB圖像,像素值是3個字節的RGB顏色數據,紅外相機獲取512像素×424像素的深度圖像,像素值是2個字節的深度數據,為獲取彩色點云數據,首先需要進行圖像融合。
基于小孔成像相機模型,圖像坐標(u,v)與世界坐標(xw,yw,zw)存在如式(1)、式(2)所示的變換關系。
(1)
(2)
式中:K——相機內參矩陣;
T——相機外參矩陣,包括旋轉矩陣R和平移向量t。
通過相機標定[21]分別求取彩色相機和紅外相機的參數矩陣Kc、Tc、TIR、KIR,則RGB圖像坐標(uc,vc)與深度圖像坐標(uIR,vIR)存在如式(3)所示的變換關系。
(3)
對深度圖像上的每個像素點,通過式(3)計算其RGB圖像坐標,從而獲取顏色信息,通過紅外相機標定,獲取三維空間坐標。圖像融合后得到與深度圖像尺寸一致的彩色點云數據,每個點包含顏色分量r、g、b及三維空間直角坐標x、y、z。
初始彩色點云包含無效背景點,可通過設置感興趣區域提取出樹木及標定物點云數據。
受采集設備精度及測量誤差等因素影響,點云中存在一些離群點,為提高配準精度,需要將其剔除。離群點檢測方法如下:獲取每個點到k個鄰近點平均距離d,計算整個點云集的平均值μ和標準差δ,將平均距離d>μ+γδ的點定義為離群點。
為提高后續點云處理速度,對點云進行體素化下采樣,以體素重心替代體素內的點,以此減小計算復雜度。
對不同視角下的點云進行配準需利用具有旋轉不變性的點云特征尋找匹配點對。
點特征直方圖(Point feature histogram,PFH)[22]使用一個鄰域點法向量夾角直方圖來描述查詢點的幾何屬性。鄰域點法向量夾角如圖2所示,以查詢點k鄰域中一點Ps的法向量ns為基準,構建一個三維直角坐標系UVW,則查詢點的另一鄰域點Pt的法向量nt與ns之間的夾角α、Φ、θ計算如式(4)所示。

圖2 鄰域點法向量夾角
(4)
PFH將α、Φ、θ劃分為5個區間,統計以查詢點為球心,參考半徑內k個鄰域點兩兩之間的法向量夾角三維直方圖,形成一個125維(53)的特征向量。對于包含n個點的點云集,PFH的計算復雜度為O(nk2)。
FPFH是PFH的簡化形式,原理如下[23-24]。
1) 將α、Φ、θ均劃分為11個區間,統計查詢點Pq與鄰域點法向量夾角在三個分量上的直方圖,拼接為一個33維的特征向量,稱為簡化點特征直方圖(Simple Point Feature Histogram,SPFH),記為S(Pq)。

(5)
式中:wki——查詢點Pq與鄰域點Pki的距離。


(a) PFH
SAC-IA算法[25]對點云進行一致性采樣,根據FPFH特征查找匹配點對,求取一個近似變換矩陣,對點云進行初始配準。具體執行過程如下。
1) 從源點云P中選擇s個采樣點,要求每兩個采樣點的距離大于預先設定的閾值。
3.3 保肢失敗的經驗教訓 目前普遍使用的MESS評分系統將評分大于7分作為截肢的指征[6]。戰杰等[7]分析59例(61肢)保肢治療效果后認為,MESS評分7~9分的嚴重創傷肢體也可試行保肢,保肢成功率達68.3%。國外學者認為嚴重肢體損傷選擇保肢還是截肢,不能完全依賴評分系統,應綜合考慮創傷、患者及醫師3個方面因素,避免盲目保肢[8]。
2) 從目標點云Q中查找與采樣點具有相似FPFH特征的點,從中隨機選取一個作為匹配點對。
3) 計算點對之間的變換矩陣。根據Huber誤差評估變換矩陣的配準性能,第i組點對的Huber誤差記作H(ei)。
(6)
式中:ei——第i組點對的距離誤差;
te——距離誤差閾值。
重復上述3個步驟,選擇Huber誤差最小的變換矩陣,在此基礎上,采用Levenberg-Marquardt算法進行局部優化,得到初始變換矩陣。
在初始配準的基礎上,采用ICP算法[26-27]進行精確配準。ICP算法通過最鄰近點查找匹配點對,具體執行過程如下。
1) 對源點云P進行采樣,選擇待配準點。
2) 從目標點云Q中查找待配準點的最鄰近點,生成點對。
3) 通過法向量夾角判斷對應點對的相似程度,剔除夾角超過閾值的點對。
4) 根據點對求解變換矩陣。
5) 返回至步驟(2)進行迭代,直至收斂。
試驗對象為仿真樹,樹高1.3 m,冠幅0.8 m。試驗地點選擇室內,樹木正上方20 cm處放置一個23 cm×10 cm×6 cm的長方體。
軟件開發環境為Visual Studio 2015,采用Kinect for Windows SDK實現數據采集,采用開源計算視覺庫OpenCV實現圖像顯示與存儲,采用開源點云庫(Point Cloud Library,PCL)[28]實現點云配準。
使用Kinect相機從不同視角采集樹木的RGB圖像和深度圖像,進行數據融合,如圖4所示。

(a) RGB圖像
背景去除、離群點去除(k=50,γ=1)后得到僅保留樹木和標定物的彩色點云數據,如圖5所示。采用1 cm×1 cm×1 cm的立方體體素化點云數據,提高后續處理效率。

(a) 視角1
FPFH將α、Φ、θ上的11維夾角直方圖拼接成33維的特征向量,α的角度劃分區間是[-180°, 180°],為降低粗糙表面對特征的影響,Φ、θ的角度劃分區間取[-57°, 57°]。為驗證FPFH對不同幾何表面的鑒別能力,計算球體(r=10 cm)、圓柱體(r=10 cm)、角、邊緣以及平面等5個基本三維幾何表面點的FPFH特征,如圖6所示。

(a) 幾何表面點
不同幾何表面的FPFH特征差異較大:平面上查詢點與鄰域點的法向量夾角均為0°,分布在各直方圖中間;邊緣處大部分鄰域點與查詢點仍在同一平面,法向量夾角為0°,少部分鄰域點與查詢點位于不同平面,法向量夾角不為0°,分布在各直方圖兩邊;角上有更多鄰域點與查詢點位于不同平面,與邊相比直方圖更為分散;球體上的鄰域點與查詢點位于曲面上,法向量夾角不為0°;圓柱體上鄰域點與查詢點的法向量夾角具有各向異性,與球體相比直方圖分布更為發散。
試驗選定標定物為長方體,能在平面、邊緣、角等幾何表面提取大量穩定的FPFH特征且相互之間存在差異性。分別在樹木、標定物上提取1組點對,計算其FPFH特征,如圖7所示。x軸表示33個分布區間,y軸表示落在某區間的比率,a、b兩點取自枝葉,圖7(a)和圖7(b)顯示了枝葉處兩點的FPFH統計圖差異較小,說明二者的局部相似性較高,c、d兩點取自標定物,二者的FPFH統計圖較a、b差異更為明顯,且與a、b的局部相似性較低。在初配準時標定物的設置增強了FPFH特征的鑒別力,從而提高對應點選擇的準確性。

(a) 樹木和標定物
圖8給出樹木點云初始配準和精確配準的結果,其中,綠色為源點云,紅色為目標點云。兩片點云的初始位置在平移分量和旋轉分量上都存在較大差異,經過SAC-IA初始配準后,兩片點云大致配準到一起,通過ICP算法進一步優化旋轉平移矩陣,使得兩片樹木點云更好地融合在了一起。

(a) 配準前
使用配準后對應點距離的均方根誤差作為評價指標,比較標定物有無對配準精度影響,如表1所示。增加標定物使得點云數量增加了600多,初始配準時間增長了5.55 s,精確配準時間增長了0.05 s。由于初始配準中需要計算標定物點云的FPFH特征,因此增加標定物對初始配準時間的影響更為明顯。同時,放置標定物提高了配準精度,初始配準和精確配準的誤差均減小了0.06 cm。

表1 點云配準誤差分析
為進一步探究標定物對點云配準精度的影響,對樹木每隔40°進行拍攝,共獲得9片點云數據。對相鄰點云進行配準試驗,結果如圖9所示。增加標定物使得配準誤差減小0.04~0.09 cm,最終配準誤差小于1.9 cm。

圖9 方案穩定性分析結果
為合理設置相機位置以獲取整棵樹木的完整彩色點云數據,探討不同采集距離、高度、視角差對配準精度的影響。
已知Kinect相機測量的有效深度范圍為0.5~4.5 m,考慮到本試驗對象樹高1.3 m,冠幅0.8 m,在相機距離地面高度為10 cm,兩次拍攝角度差為15°的情況下選擇1.5 m、2 m、2.5 m三個測量距離進行試驗,試驗結果如表2所示。距離太近導致點云的局部性更強,兩片點云重疊率降低,因此1.5 m處較2 m處誤差更大。而距離增加到2.5 m時,由于樹木自身遮擋造成部分信息缺失,降低了配準精度。

表2 不同距離的配準結果
使相機始終距離樹木中心2 m,角度差為15°,通過改變相機的高度進行試驗。分別對0 cm、10 cm和20 cm三個高度進行試驗分析,試驗數據如表3所示。

表3 不同高度的配準結果
從表3可以看出,當高度為0時,獲取的點云側重樹干部分,上方的枝葉信息會缺失,不利于配準,當高度為20 cm時,獲取的點云側重為當前視角下的外層樹葉信息,內部枝葉信息由于遮擋大量缺失,因此兩視角的重疊率相對較低,故而位于10 cm處精度相對最高。Kinect的水平掃描范圍為70°因而保持掃描距離為2 m、相機高度為10 cm,對前后兩次變化角度分別為20°、40°和60°的配準進行試驗分析,得到如表4的試驗結果。
從表4可以看出,角度對配準質量的影響最為顯著。角度變化越大,兩片樹木點云的重疊率就越低,不但配準時對應點的數量會減少,對應點查詢的準確率也會大大降低,導致配準誤差變大。表中當變化角度達到60°時,誤差已經相當大,可以認為是失敗的配準結果。

表4 不同視角差的配準結果
綜合考慮以上三個因素,采集方式設置為:相機到樹木中心的距離為2 m,相機高度為10 cm,每次掃描間隔45°,此采集方式下對樹木的8個角度進行拍攝,采集示意圖如圖10所示。

圖10 采集方式示意圖
對于獲取的8片點云A~H,首先將點云A轉換到點云B的坐標系下,并將轉換后的A與B拼接成AB;然后將B轉換到C的坐標系,將求解獲得的變換矩陣作用于AB,并將變換后的AB與C拼接得到ABC;依次轉換拼接直到獲得點云A~H,包含8個視角的點云信息,每相鄰視角的配準誤差平均為 1.8 cm,且最大誤差小于1.9 cm。圖11展示了前后左右4個視角下的最終效果圖。

(a) 前方
1) 采用第二代Kinect相機獲取樹木點云信息,經過預處理后使用SAC-IA初始配準與ICP精確配準相結合的方式,實現兩片樹木點云的精確配準。初始配準時間在170 s左右,有待進一步提高,當兩片點云的視角差不大于45°時,最終配準誤差小于1.9 cm。
2) 在樹木正上方設置一個立方體作為標定物,由于標定物的結構簡單且特征顯著,可以獲取更具鑒別力的FPFH,在初始配準中,根據FPFH確定對應點的準確度有所提高,使配準誤差平均減小0.06 cm,改善了配準質量。
3) 多次試驗探究了不同采集距離、高度以及兩片點云的視角差對配準精度的影響,試驗發現距離在 2 m 左右,高度在10 cm左右時誤差相對較小,而角度越大則誤差越大。據此選擇最佳采集方式完成了對整棵樹木點云信息的采集和配準。