劉 慧 朱晟輝 沈 躍 湯金華
(江蘇大學電氣信息工程學院, 鎮江 212013)
果園樹干信息采集與處理是研究果園生態的重要內容,對果樹噴霧[1-2]、樹干直徑測量[3-4]、植株信息分類[5]、病害監測[6]、冠層體積測量[7]等有重要作用。果樹的種植布局較為規整,為果園機器人的導航提供了理想的環境。果園中還存在著一些非樹木對象,如燈柱、樹干支撐架、果農等,這些復雜且動態的環境影響了農業機器人的導航精度。因此,實時且精確的樹木識別與定位就顯得尤為重要。
近年來,許多國內外研究人員針對樹木識別進行了大量的研究。CHEEIN等[8]通過提取樹干的HOG特征,并利用SVM分類器進行樹干識別,但無法區分圓柱狀物體。SHALAL等[9]利用激光傳感器測量樹干寬度,并設定感興趣區域(ROI),利用相機根據ROI內RGB顏色和邊緣特征識別樹干,而設定的ROI會包含樹葉部分,導致誤差增大。CHEN[10]利用攝像頭獲取環境圖像,通過輪廓提取、訓練多特征分類器識別樹木,并利用超聲波傳感器進行定位,但分類器框選樹干面積過大,無法精確提取出樹干。周俊等[11]僅用二維激光傳感器對樹木進行檢測,卻無法識別非樹干對象。
在圖像信息分割方面,國內外學者也進行了廣泛的研究[12]。BOYKOV等[13]提出Graph Cuts算法,同時利用了圖像的灰度信息和區域邊界信息,進行全局最優求解,保證了分割效果的可靠性,然而運算時運用了大量的矩陣廣義向量,其分割結果更傾向于具有相同的類內相似度。ROTHER[14]以Graph Cuts為基礎,提出了GrabCut算法,其通過非完全標記方法,對前景和背景的顏色空間建立高斯混合模型(GMM),用迭代算法取代一次最小估計,完成能量最小化。MACQUEEN[15]提出的K-均值聚類算法具有簡單、高效、時間復雜度低等特性,目前在分割識別方面被廣泛使用[16-18]。
本文采用融合深度和紋理特征的樹干分割算法對彩色圖像進行分割,首先通過簡單線性迭代聚類(Simple linear iterative cluster, SLIC)算法生成超像素,隨后通過色調和寬度特征對樹干進行識別,并選取樹干所屬的超像素塊作為樹干的ROI分割結果。
實驗地點分為室內和室外。室內實驗選用仿真綠色植株作為仿真對象,實驗分3組,分別為單植株實驗、多植株實驗和多植株加障礙實驗。如圖1a所示,單植株實驗的植株高1.8 m,多植株實驗的植株高度分別為1.4 m和1.2 m。室外實驗如圖1b所示,在種植密集且排列整齊的植株前,將Realsense傳感器安裝在遙控小車上,在植株前行駛并連續拍攝兩側植株。

圖1 植株圖像采集平臺Fig.1 Plant image acquisition platform
本文采用Intel公司的Realsense d435傳感器,如圖2所示,結合OpenCV庫獲取彩色圖像和深度圖像。Realsense d435 傳感器性價比高,體積小巧,使用輕便,無需搭載外接電源,通過自帶的USB接口與計算機相連進行數據傳輸。

圖2 Realsense傳感器實物圖Fig.2 Schematic of Realsense sensor1、4.深度傳感器 2.紅外投射器 3.彩色相機
1.2.1傳統SLIC超像素分割算法
SLIC算法是由ACHANTA等[19]于2012年提出,利用圖像中像素之間的顏色相似度和空間距離進行迭代聚類,其優點在于生成的超像素塊鄰域特征比較明顯,便于將龐大的像素點整合成像素塊進行處理。相比較其他的超像素分割算法,SLIC算法運行速度更快、輪廓提取更為理想。
在SLIC算法中,首先將彩色圖像中RGB顏色空間轉換為Lab顏色空間。其中,L表示顏色空間從純黑到純白的亮度,取值區間為[0,100],a表示由綠到紅的維度,取值區間為[-128,127],b表示由黃到藍的維度,取值區間為[-128,127]。隨后初始化聚類中心,本文彩色圖像分辨率為640像素×480像素,由經驗取400個聚類中心。之后在每個聚類中心3×3鄰域內重新選取梯度最低的像素點作為新的聚類中心,其中梯度度量的計算方法如下
G(x,y)=‖I(x+1,y)-I(x-1,y)‖2+
‖I(x,y+1)-I(x,y-1)‖2
(1)
式中I(x,y)——圖像中坐標為(x,y)點的色彩特征向量
G(x,y)——圖像中坐標為(x,y)點的梯度
在初始化聚類中心后,為每個聚類中心周圍的像素點分配類標簽,并計算其與聚類中心的顏色距離和空間距離。計算方法如下
(2)
(3)
(4)
其中
式中dc——顏色距離ds——空間距離
N——彩色圖像中總像素點數
K——聚類中心個數
D′——像素點與聚類中心的距離
Ns——超像素內最大空間距離
Nc——超像素內最大顏色差
li、ai、bi——像素點i在Lab顏色空間下L、a、b分量的值
xi、yi——像素點i在彩色圖像中的坐標值
lj、aj、bj——像素點j在Lab顏色空間下L、a、b分量的值
xj、yj——像素點j在彩色圖像中的坐標值
由于每幅圖像中像素之間的顏色差異不同,Nc難以直接定義,在SLIC算法中設定Nc的值為m,m為每個超像素內最大的Lab顏色差,且在單個圖像中取固定值,m的取值范圍通常為1~40,當m越大時,超像素的形狀越規整,由于樹干輪廓凹凸起伏,本文需將其輪廓完整提取出來,故由經驗取m為10。
對于每個分割好的超像素塊,計算其中每一個像素點的L、a、b、x、y5維特征均值,并將其作為新的聚類中心。為了加快算法運行速度,迭代次數取4。最后,由于多次迭代后會出現超像素塊不封閉的情況,通過遍歷像素塊,將孤立的小像素塊合并到周圍最大的像素塊中,所以最終得到的超像素塊的個數通常會低于預先設定的個數。
1.2.2LBP紋理特征
LBP(局部二值模式)是一種運用于灰度圖的紋理度量,由OJALA等[20]提出,其具有尺度不變和旋轉不變的特點,因此在本文提出的方法中得到了應用。對于灰度圖中的任一像素點p,其LBP值可以通過比較該像素點與其鄰域內像素點p*的灰度進行計算。計算方法如下
(5)

式中gp——點p的灰度
gp*——點p*的灰度
P——鄰域像素點數量
s——變量與0的比較函數
1.2.3基于紋理和深度信息的超像素塊合并
在實際應用中,SLIC超像素分割物體時通常會出現過分割,這將增加整個算法的運行時間,所以本文通過相鄰超像素塊之間紋理特征與深度信息的關系合并超像素塊,減少超像素塊的個數,從而降低后續工作的復雜度,提高算法的精確度。合并流程如下:
(1)掃描每個分割好的超像素塊Np,建立深度直方圖fD和LBP紋理直方圖fL。
(6)
(7)
其中


式中d(p)——p點深度
K1——Np內最大深度
K2——Np內最大LBP值
f——變量值比較函數
δ(p)——像素點有效性判斷函數
k1、k2——采集到的有效深度、LBP值
由于Realsense深度攝像頭采集的最小有效深度為0.2 m,所以k1的最小值為0.2 m。
(2)歸一化深度直方圖和LBP紋理直方圖。
(3)選用歸一化互相關計算該超像素塊Np與相鄰超像素塊Mp之間紋理特征和深度信息的相似度sim(Np,Mp)。計算方法如下

(8)
式中ω——深度信息和紋理特征的權重,取0~1
fDNp——超像素塊Np的深度直方圖
fDMp——超像素塊Mp的深度直方圖
fLNp——超像素塊Np的LBP紋理直方圖
fLMp——超像素塊Mp的LBP紋理直方圖
(4)將相似的超像素塊合并成一塊超像素塊,然后重復步驟(1)直至全部合并完成。
本文利用深度攝像頭采集到的深度圖像對樹干寬度進行檢測,并解決了深度圖像中物體邊緣存在空洞導致寬度不連續的問題。
其中,Realsense深度攝像頭的景深(FOV) (水平×垂直×對角線)為91.2°×65.5°×100.6°,RGB傳感器FOV(水平×垂直×對角線)為69.4°×42.5°×77°[21],而在經過深度圖像和彩色圖像配對之后,深度攝像頭的景深(FOV) (水平×垂直)經計算,變為53.4°×42.5°,所以可得深度圖像同行像素內相鄰像素點的角度為
(9)
式中n0——所計算的有效像素點與前一有效像素點之間的無效像素點數量
col——深度圖像的列數
θ——相鄰像素點的夾角
在林道中,深度攝像頭水平安裝在實驗車上,通過獲取深度圖像中間一行像素每個像素點的深度,并根據相鄰像素點之間的深度差Δd判斷是否位于同一物體表面。
Δd=|dp-dp*|
(10)
式中dp——當前計算的有效像素點深度
dp*——當前像素點的前一有效像素點深度
在掃描樹干時,可以將樹干截面視為一個規則的圓形,所以掃描得到的樹干弧長如圖3所示,由此可得樹干直徑w為

圖3 攝像頭掃描樹干示意圖Fig.3 Schematic of tree trunk scanned by camera

(11)

式中n——弧線上像素點的數量
rm——攝像頭到樹干的最小深度
β——掃描樹干截面的角度
Si——樹干截面上像素點的集合

圖4 樹干橫截面示意圖Fig.4 Tree trunk cross-section diagram
如圖4所示,由于不同寬度的樹干表面像素之間的深度差不同,選取樹干邊緣兩個相鄰像素點之間的深度差作為樹干表面像素的最大深度差
(12)
同時,經實際測量,由于樹干表面凹凸不平,Realsense深度攝像頭在光照條件下測量樹干的深度誤差為±0.02 m,所以設定當深度差Δd<Δdmax+0.02時,判定前后兩個像素點處于同一物體表面。
基于多特征融合的樹干快速分割算法步驟如下:
(1) Realsense深度攝像頭采集前方彩色信息和深度信息,并對彩色圖像和深度圖像進行配準。
(2)對彩色圖像進行超像素分割,并根據彩色圖像中的紋理信息和深度圖像中的深度信息對分割后的超像素塊進行合并。


(13)
其中
(14)
(5)對樹干色調的累計分布函數Fcdf(cROI)的閾值TLc進行估計,將計算所得的Fcdf(cROI)與TLc進行比較。若Fcdf(cROI) 基于多特征融合的樹干快速分割算法流程圖如圖5所示。 2.1.1SLIC超像素分割與合并 通過Realsense攝像頭獲取室內植株彩色圖像,如圖6所示,分別對單植株、多植株、多植株加障礙進行處理。 通過SLIC算法對原始圖像進行超像素分割,分割后的圖像如圖7所示,其中樹干部分產生了一定的過分割,這對ROI區域的提取有一定的影響。因此需要對超像素塊進行合并。如圖8所示,合并后的區域特征被完整的提取出來,而由于樹葉與背景部分的連接處存在一些過分割、室外背景較為復雜等問題,在合并時相鄰超像素塊的紋理和深度有一些差異,所以未能合并成較大超像素塊,但由于后期定位時無需用到,所以對本文算法并無干擾。 2.1.2樹干區域分割 首先,對合并后的圖像進行寬度檢測,只保留寬度在閾值范圍內的超像素塊,并將其作為ROI區域進行檢測,分割后的ROI區域如圖9所示。 圖5 樹干分割算法流程圖Fig.5 Flow chart of tree trunk segmentation algorithm 圖6 室內植株原始圖像Fig.6 Original images of indoor plants 圖7 SLIC算法分割效果圖Fig.7 SLIC algorithm segmentation renderings 圖8 超像素塊合并效果圖 Fig.8 Superpixel blocks merge renderings 圖9 ROI區域提取圖Fig.9 ROI region extraction diagram 圖10 樹干色調直方圖Fig.10 Tree trunk Hue histogram 表1 樹干與障礙物色調統計結果Tab.1 Tree trunk and obstacle Hue statistical results 圖11 過濾障礙物后室內樹干ROI圖Fig.11 ROI region diagram of indoor tree trunks after filtering obstacles 2.1.3樹干分割誤差分析 (1)召回率 召回率和準確率是圖像分割中用來評價圖像分割準確度的重要指標。本文通過計算樹干ROI內真實樹干的像素點數量占樹干總像素點數量的百分比來衡量樹干分割的召回率,計算公式為 (15) 式中TP——標記正確的像素點數量 FN——尚未標記的像素點數量 其中,召回率越高,表示樹干分割效果越好。 (2)準確率 準確率表示樹干ROI內真實樹干的像素點數量占樹干ROI區域內總像素點數量的百分比。其計算公式為 (16) 式中FP——標記錯誤的像素點數量 其中,準確率越高,表示樹干分割效果越好。 (3)室內分割誤差分析 通過將GrabCut算法、K-均值聚類算法與本文算法進行比較,計算相同情況下室內植株樹干的分割效果(計算機配置為戴爾 XPS13-9380, Intel Core i7-8565U CPU 4.60 GHz, 16 GB RAM)。 圖12 室內植株分割效果圖Fig.12 Indoor plant segmentation rendering 室內實驗選用單植株作為實驗對象,圖12a為植株真實區域圖,采用Photoshop進行手動分割獲取。比較圖12b~12d,結果如表2所示,本文算法分割室內植株的召回率和準確率均優于GrabCut算法和K-均值聚類算法。其中本文算法的召回率分別比GrabCut算法和K-均值聚類算法高8.5個百分點和4.9個百分點,準確率分別比GrabCut算法和K-均值聚類算法高3.9個百分點和7.5個百分點, 時間上GrabCut算法和K-均值聚類算法分別耗時0.51 s和2.98 s,本文算法經過加速優化后降低至0.17 s。 如圖13所示,室外實驗選用移動狀態下RGB-D相機掃描的某一幀作為實驗對象。由于RGB-D相機有效深度為10 m,通過設定深度閾值將遠處的樹干濾除,利用本文算法對前方樹干進行掃描自動分割,最終結果如圖14所示。 通過比較GrabCut算法、K-均值聚類算法與本文算法對室外植株樹干的分割效果,本文算法分割出的樹干輪廓更貼合真實樹干的形狀。圖15a為植株真實區域圖,采用Photoshop進行手動分割獲取。 表2 傳統圖像分割算法和本文分割算法對室內植株分割效果對比Tab.2 Comparison of traditional image segmentation algorithm and segmentation algorithm for indoor plant 圖13 室外植株原始圖像Fig.13 Original images of outdoor plants 圖14 室外植株動態分割效果圖Fig.14 Dynamic segmentation rendering of outdoor plants 圖15 室外植株動態分割效果圖Fig.15 Dynamic segmentation rendering of outdoor plants 3種算法的分割效果如圖15b~15d,對比結果如表3所示。本文算法動態分割室外植株的召回率和準確率均優于GrabCut算法和K-均值聚類算法。其中本文算法的召回率分別比GrabCut算法和K-均值聚類算法高10.7個百分點和9.9個百分點,準確率分別比GrabCut算法和K-均值聚類算法高0.4個百分點和4.2個百分點,時間上GrabCut算法和K-均值聚類算法分別耗時0.80 s和5.86 s,本文算法經過加速優化后降至0.23 s。 對室內、室外植株實驗進行計算可得,本文算法的平均召回率和平均準確率分別為87.6%和95.0%,CrabCut算法分別為78.0%和92.8%,K-均值算法分別為80.2%和89.1%。 圖16為小車動態分割樹干的深度拼接圖。在小車1 m/s勻速行駛的狀態下,RGB-D相機采集深度圖像的幀率為30 f/s,以2.4 Hz頻率選取采集的深度圖像進行樹干分割,并將處理后的深度圖像實時拼接在一起,最終分割出的樹干效果滿足果園定位導航的需求。 (1)提出了基于多特征融合的樹干快速分割算法。通過對彩色圖像進行SLIC超像素分割,并根據相鄰超像素塊的紋理和深度信息對分割后的超像素 表3 傳統圖像分割算法與本文分割算法對室外植株分割效果對比Tab.3 Comparison of traditional image segmentation algorithm and segmentation algorithm for outdoor plants 圖16 室外植株動態分割深度拼接圖Fig.16 Dynamic segmentation depth stitching image of outdoor plants 塊進行合并,降低了后續工作的復雜度,提高了算法的精確度。 (2)本文算法在檢測樹干寬度后,計算符合寬度條件的樹干ROI內的色調均值和均方差,并以此計算ROI內色調的累計分布函數,提高了樹干的識別率。 (3)通過獲取室外樹干分割圖像,實現實時拼接分割后的深度圖像,標識出分割的樹干輪廓,并加以區分,為后期定位導航提供參照物。2 結果與分析
2.1 室內植株實驗










2.2 室外植株實驗




3 結論

