劉 慧 朱晟輝 沈 躍 湯金華
(江蘇大學(xué)電氣信息工程學(xué)院, 鎮(zhèn)江 212013)
果園樹干信息采集與處理是研究果園生態(tài)的重要內(nèi)容,對(duì)果樹噴霧[1-2]、樹干直徑測(cè)量[3-4]、植株信息分類[5]、病害監(jiān)測(cè)[6]、冠層體積測(cè)量[7]等有重要作用。果樹的種植布局較為規(guī)整,為果園機(jī)器人的導(dǎo)航提供了理想的環(huán)境。果園中還存在著一些非樹木對(duì)象,如燈柱、樹干支撐架、果農(nóng)等,這些復(fù)雜且動(dòng)態(tài)的環(huán)境影響了農(nóng)業(yè)機(jī)器人的導(dǎo)航精度。因此,實(shí)時(shí)且精確的樹木識(shí)別與定位就顯得尤為重要。
近年來,許多國內(nèi)外研究人員針對(duì)樹木識(shí)別進(jìn)行了大量的研究。CHEEIN等[8]通過提取樹干的HOG特征,并利用SVM分類器進(jìn)行樹干識(shí)別,但無法區(qū)分圓柱狀物體。SHALAL等[9]利用激光傳感器測(cè)量樹干寬度,并設(shè)定感興趣區(qū)域(ROI),利用相機(jī)根據(jù)ROI內(nèi)RGB顏色和邊緣特征識(shí)別樹干,而設(shè)定的ROI會(huì)包含樹葉部分,導(dǎo)致誤差增大。CHEN[10]利用攝像頭獲取環(huán)境圖像,通過輪廓提取、訓(xùn)練多特征分類器識(shí)別樹木,并利用超聲波傳感器進(jìn)行定位,但分類器框選樹干面積過大,無法精確提取出樹干。周俊等[11]僅用二維激光傳感器對(duì)樹木進(jìn)行檢測(cè),卻無法識(shí)別非樹干對(duì)象。
在圖像信息分割方面,國內(nèi)外學(xué)者也進(jìn)行了廣泛的研究[12]。BOYKOV等[13]提出Graph Cuts算法,同時(shí)利用了圖像的灰度信息和區(qū)域邊界信息,進(jìn)行全局最優(yōu)求解,保證了分割效果的可靠性,然而運(yùn)算時(shí)運(yùn)用了大量的矩陣廣義向量,其分割結(jié)果更傾向于具有相同的類內(nèi)相似度。ROTHER[14]以Graph Cuts為基礎(chǔ),提出了GrabCut算法,其通過非完全標(biāo)記方法,對(duì)前景和背景的顏色空間建立高斯混合模型(GMM),用迭代算法取代一次最小估計(jì),完成能量最小化。MACQUEEN[15]提出的K-均值聚類算法具有簡(jiǎn)單、高效、時(shí)間復(fù)雜度低等特性,目前在分割識(shí)別方面被廣泛使用[16-18]。
本文采用融合深度和紋理特征的樹干分割算法對(duì)彩色圖像進(jìn)行分割,首先通過簡(jiǎn)單線性迭代聚類(Simple linear iterative cluster, SLIC)算法生成超像素,隨后通過色調(diào)和寬度特征對(duì)樹干進(jìn)行識(shí)別,并選取樹干所屬的超像素塊作為樹干的ROI分割結(jié)果。
實(shí)驗(yàn)地點(diǎn)分為室內(nèi)和室外。室內(nèi)實(shí)驗(yàn)選用仿真綠色植株作為仿真對(duì)象,實(shí)驗(yàn)分3組,分別為單植株實(shí)驗(yàn)、多植株實(shí)驗(yàn)和多植株加障礙實(shí)驗(yàn)。如圖1a所示,單植株實(shí)驗(yàn)的植株高1.8 m,多植株實(shí)驗(yàn)的植株高度分別為1.4 m和1.2 m。室外實(shí)驗(yàn)如圖1b所示,在種植密集且排列整齊的植株前,將Realsense傳感器安裝在遙控小車上,在植株前行駛并連續(xù)拍攝兩側(cè)植株。
圖1 植株圖像采集平臺(tái)Fig.1 Plant image acquisition platform
本文采用Intel公司的Realsense d435傳感器,如圖2所示,結(jié)合OpenCV庫獲取彩色圖像和深度圖像。Realsense d435 傳感器性價(jià)比高,體積小巧,使用輕便,無需搭載外接電源,通過自帶的USB接口與計(jì)算機(jī)相連進(jìn)行數(shù)據(jù)傳輸。
圖2 Realsense傳感器實(shí)物圖Fig.2 Schematic of Realsense sensor1、4.深度傳感器 2.紅外投射器 3.彩色相機(jī)
1.2.1傳統(tǒng)SLIC超像素分割算法
SLIC算法是由ACHANTA等[19]于2012年提出,利用圖像中像素之間的顏色相似度和空間距離進(jìn)行迭代聚類,其優(yōu)點(diǎn)在于生成的超像素塊鄰域特征比較明顯,便于將龐大的像素點(diǎn)整合成像素塊進(jìn)行處理。相比較其他的超像素分割算法,SLIC算法運(yùn)行速度更快、輪廓提取更為理想。
在SLIC算法中,首先將彩色圖像中RGB顏色空間轉(zhuǎn)換為Lab顏色空間。其中,L表示顏色空間從純黑到純白的亮度,取值區(qū)間為[0,100],a表示由綠到紅的維度,取值區(qū)間為[-128,127],b表示由黃到藍(lán)的維度,取值區(qū)間為[-128,127]。隨后初始化聚類中心,本文彩色圖像分辨率為640像素×480像素,由經(jīng)驗(yàn)取400個(gè)聚類中心。之后在每個(gè)聚類中心3×3鄰域內(nèi)重新選取梯度最低的像素點(diǎn)作為新的聚類中心,其中梯度度量的計(jì)算方法如下
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)——圖像中坐標(biāo)為(x,y)點(diǎn)的色彩特征向量
G(x,y)——圖像中坐標(biāo)為(x,y)點(diǎn)的梯度
在初始化聚類中心后,為每個(gè)聚類中心周圍的像素點(diǎn)分配類標(biāo)簽,并計(jì)算其與聚類中心的顏色距離和空間距離。計(jì)算方法如下
(2)
(3)
(4)
其中
式中dc——顏色距離ds——空間距離
N——彩色圖像中總像素點(diǎn)數(shù)
K——聚類中心個(gè)數(shù)
D′——像素點(diǎn)與聚類中心的距離
Ns——超像素內(nèi)最大空間距離
Nc——超像素內(nèi)最大顏色差
li、ai、bi——像素點(diǎn)i在Lab顏色空間下L、a、b分量的值
xi、yi——像素點(diǎn)i在彩色圖像中的坐標(biāo)值
lj、aj、bj——像素點(diǎn)j在Lab顏色空間下L、a、b分量的值
xj、yj——像素點(diǎn)j在彩色圖像中的坐標(biāo)值
由于每幅圖像中像素之間的顏色差異不同,Nc難以直接定義,在SLIC算法中設(shè)定Nc的值為m,m為每個(gè)超像素內(nèi)最大的Lab顏色差,且在單個(gè)圖像中取固定值,m的取值范圍通常為1~40,當(dāng)m越大時(shí),超像素的形狀越規(guī)整,由于樹干輪廓凹凸起伏,本文需將其輪廓完整提取出來,故由經(jīng)驗(yàn)取m為10。
對(duì)于每個(gè)分割好的超像素塊,計(jì)算其中每一個(gè)像素點(diǎn)的L、a、b、x、y5維特征均值,并將其作為新的聚類中心。為了加快算法運(yùn)行速度,迭代次數(shù)取4。最后,由于多次迭代后會(huì)出現(xiàn)超像素塊不封閉的情況,通過遍歷像素塊,將孤立的小像素塊合并到周圍最大的像素塊中,所以最終得到的超像素塊的個(gè)數(shù)通常會(huì)低于預(yù)先設(shè)定的個(gè)數(shù)。
1.2.2LBP紋理特征
LBP(局部二值模式)是一種運(yùn)用于灰度圖的紋理度量,由OJALA等[20]提出,其具有尺度不變和旋轉(zhuǎn)不變的特點(diǎn),因此在本文提出的方法中得到了應(yīng)用。對(duì)于灰度圖中的任一像素點(diǎn)p,其LBP值可以通過比較該像素點(diǎn)與其鄰域內(nèi)像素點(diǎn)p*的灰度進(jìn)行計(jì)算。計(jì)算方法如下
(5)
式中g(shù)p——點(diǎn)p的灰度
gp*——點(diǎn)p*的灰度
P——鄰域像素點(diǎn)數(shù)量
s——變量與0的比較函數(shù)
1.2.3基于紋理和深度信息的超像素塊合并
在實(shí)際應(yīng)用中,SLIC超像素分割物體時(shí)通常會(huì)出現(xiàn)過分割,這將增加整個(gè)算法的運(yùn)行時(shí)間,所以本文通過相鄰超像素塊之間紋理特征與深度信息的關(guān)系合并超像素塊,減少超像素塊的個(gè)數(shù),從而降低后續(xù)工作的復(fù)雜度,提高算法的精確度。合并流程如下:
(1)掃描每個(gè)分割好的超像素塊Np,建立深度直方圖fD和LBP紋理直方圖fL。
(6)
(7)
其中
式中d(p)——p點(diǎn)深度
K1——Np內(nèi)最大深度
K2——Np內(nèi)最大LBP值
f——變量值比較函數(shù)
δ(p)——像素點(diǎn)有效性判斷函數(shù)
k1、k2——采集到的有效深度、LBP值
由于Realsense深度攝像頭采集的最小有效深度為0.2 m,所以k1的最小值為0.2 m。
(2)歸一化深度直方圖和LBP紋理直方圖。
(3)選用歸一化互相關(guān)計(jì)算該超像素塊Np與相鄰超像素塊Mp之間紋理特征和深度信息的相似度sim(Np,Mp)。計(jì)算方法如下
(8)
式中ω——深度信息和紋理特征的權(quán)重,取0~1
fDNp——超像素塊Np的深度直方圖
fDMp——超像素塊Mp的深度直方圖
fLNp——超像素塊Np的LBP紋理直方圖
fLMp——超像素塊Mp的LBP紋理直方圖
(4)將相似的超像素塊合并成一塊超像素塊,然后重復(fù)步驟(1)直至全部合并完成。
本文利用深度攝像頭采集到的深度圖像對(duì)樹干寬度進(jìn)行檢測(cè),并解決了深度圖像中物體邊緣存在空洞導(dǎo)致寬度不連續(xù)的問題。
其中,Realsense深度攝像頭的景深(FOV) (水平×垂直×對(duì)角線)為91.2°×65.5°×100.6°,RGB傳感器FOV(水平×垂直×對(duì)角線)為69.4°×42.5°×77°[21],而在經(jīng)過深度圖像和彩色圖像配對(duì)之后,深度攝像頭的景深(FOV) (水平×垂直)經(jīng)計(jì)算,變?yōu)?3.4°×42.5°,所以可得深度圖像同行像素內(nèi)相鄰像素點(diǎn)的角度為
(9)
式中n0——所計(jì)算的有效像素點(diǎn)與前一有效像素點(diǎn)之間的無效像素點(diǎn)數(shù)量
col——深度圖像的列數(shù)
θ——相鄰像素點(diǎn)的夾角
在林道中,深度攝像頭水平安裝在實(shí)驗(yàn)車上,通過獲取深度圖像中間一行像素每個(gè)像素點(diǎn)的深度,并根據(jù)相鄰像素點(diǎn)之間的深度差Δd判斷是否位于同一物體表面。
Δd=|dp-dp*|
(10)
式中dp——當(dāng)前計(jì)算的有效像素點(diǎn)深度
dp*——當(dāng)前像素點(diǎn)的前一有效像素點(diǎn)深度
在掃描樹干時(shí),可以將樹干截面視為一個(gè)規(guī)則的圓形,所以掃描得到的樹干弧長如圖3所示,由此可得樹干直徑w為
圖3 攝像頭掃描樹干示意圖Fig.3 Schematic of tree trunk scanned by camera
(11)
式中n——弧線上像素點(diǎn)的數(shù)量
rm——攝像頭到樹干的最小深度
β——掃描樹干截面的角度
Si——樹干截面上像素點(diǎn)的集合
圖4 樹干橫截面示意圖Fig.4 Tree trunk cross-section diagram
如圖4所示,由于不同寬度的樹干表面像素之間的深度差不同,選取樹干邊緣兩個(gè)相鄰像素點(diǎn)之間的深度差作為樹干表面像素的最大深度差
(12)
同時(shí),經(jīng)實(shí)際測(cè)量,由于樹干表面凹凸不平,Realsense深度攝像頭在光照條件下測(cè)量樹干的深度誤差為±0.02 m,所以設(shè)定當(dāng)深度差Δd<Δdmax+0.02時(shí),判定前后兩個(gè)像素點(diǎn)處于同一物體表面。
基于多特征融合的樹干快速分割算法步驟如下:
(1) Realsense深度攝像頭采集前方彩色信息和深度信息,并對(duì)彩色圖像和深度圖像進(jìn)行配準(zhǔn)。
(2)對(duì)彩色圖像進(jìn)行超像素分割,并根據(jù)彩色圖像中的紋理信息和深度圖像中的深度信息對(duì)分割后的超像素塊進(jìn)行合并。
(13)
其中
(14)
(5)對(duì)樹干色調(diào)的累計(jì)分布函數(shù)Fcdf(cROI)的閾值TLc進(jìn)行估計(jì),將計(jì)算所得的Fcdf(cROI)與TLc進(jìn)行比較。若Fcdf(cROI) 基于多特征融合的樹干快速分割算法流程圖如圖5所示。 2.1.1SLIC超像素分割與合并 通過Realsense攝像頭獲取室內(nèi)植株彩色圖像,如圖6所示,分別對(duì)單植株、多植株、多植株加障礙進(jìn)行處理。 通過SLIC算法對(duì)原始圖像進(jìn)行超像素分割,分割后的圖像如圖7所示,其中樹干部分產(chǎn)生了一定的過分割,這對(duì)ROI區(qū)域的提取有一定的影響。因此需要對(duì)超像素塊進(jìn)行合并。如圖8所示,合并后的區(qū)域特征被完整的提取出來,而由于樹葉與背景部分的連接處存在一些過分割、室外背景較為復(fù)雜等問題,在合并時(shí)相鄰超像素塊的紋理和深度有一些差異,所以未能合并成較大超像素塊,但由于后期定位時(shí)無需用到,所以對(duì)本文算法并無干擾。 2.1.2樹干區(qū)域分割 首先,對(duì)合并后的圖像進(jìn)行寬度檢測(cè),只保留寬度在閾值范圍內(nèi)的超像素塊,并將其作為ROI區(qū)域進(jìn)行檢測(cè),分割后的ROI區(qū)域如圖9所示。 圖5 樹干分割算法流程圖Fig.5 Flow chart of tree trunk segmentation algorithm 圖6 室內(nèi)植株原始圖像Fig.6 Original images of indoor plants 圖7 SLIC算法分割效果圖Fig.7 SLIC algorithm segmentation renderings 圖8 超像素塊合并效果圖 Fig.8 Superpixel blocks merge renderings 圖9 ROI區(qū)域提取圖Fig.9 ROI region extraction diagram 圖10 樹干色調(diào)直方圖Fig.10 Tree trunk Hue histogram 表1 樹干與障礙物色調(diào)統(tǒng)計(jì)結(jié)果Tab.1 Tree trunk and obstacle Hue statistical results 圖11 過濾障礙物后室內(nèi)樹干ROI圖Fig.11 ROI region diagram of indoor tree trunks after filtering obstacles 2.1.3樹干分割誤差分析 (1)召回率 召回率和準(zhǔn)確率是圖像分割中用來評(píng)價(jià)圖像分割準(zhǔn)確度的重要指標(biāo)。本文通過計(jì)算樹干ROI內(nèi)真實(shí)樹干的像素點(diǎn)數(shù)量占樹干總像素點(diǎn)數(shù)量的百分比來衡量樹干分割的召回率,計(jì)算公式為 (15) 式中TP——標(biāo)記正確的像素點(diǎn)數(shù)量 FN——尚未標(biāo)記的像素點(diǎn)數(shù)量 其中,召回率越高,表示樹干分割效果越好。 (2)準(zhǔn)確率 準(zhǔn)確率表示樹干ROI內(nèi)真實(shí)樹干的像素點(diǎn)數(shù)量占樹干ROI區(qū)域內(nèi)總像素點(diǎn)數(shù)量的百分比。其計(jì)算公式為 (16) 式中FP——標(biāo)記錯(cuò)誤的像素點(diǎn)數(shù)量 其中,準(zhǔn)確率越高,表示樹干分割效果越好。 (3)室內(nèi)分割誤差分析 通過將GrabCut算法、K-均值聚類算法與本文算法進(jìn)行比較,計(jì)算相同情況下室內(nèi)植株樹干的分割效果(計(jì)算機(jī)配置為戴爾 XPS13-9380, Intel Core i7-8565U CPU 4.60 GHz, 16 GB RAM)。 圖12 室內(nèi)植株分割效果圖Fig.12 Indoor plant segmentation rendering 室內(nèi)實(shí)驗(yàn)選用單植株作為實(shí)驗(yàn)對(duì)象,圖12a為植株真實(shí)區(qū)域圖,采用Photoshop進(jìn)行手動(dòng)分割獲取。比較圖12b~12d,結(jié)果如表2所示,本文算法分割室內(nèi)植株的召回率和準(zhǔn)確率均優(yōu)于GrabCut算法和K-均值聚類算法。其中本文算法的召回率分別比GrabCut算法和K-均值聚類算法高8.5個(gè)百分點(diǎn)和4.9個(gè)百分點(diǎn),準(zhǔn)確率分別比GrabCut算法和K-均值聚類算法高3.9個(gè)百分點(diǎn)和7.5個(gè)百分點(diǎn), 時(shí)間上GrabCut算法和K-均值聚類算法分別耗時(shí)0.51 s和2.98 s,本文算法經(jīng)過加速優(yōu)化后降低至0.17 s。 如圖13所示,室外實(shí)驗(yàn)選用移動(dòng)狀態(tài)下RGB-D相機(jī)掃描的某一幀作為實(shí)驗(yàn)對(duì)象。由于RGB-D相機(jī)有效深度為10 m,通過設(shè)定深度閾值將遠(yuǎn)處的樹干濾除,利用本文算法對(duì)前方樹干進(jìn)行掃描自動(dòng)分割,最終結(jié)果如圖14所示。 通過比較GrabCut算法、K-均值聚類算法與本文算法對(duì)室外植株樹干的分割效果,本文算法分割出的樹干輪廓更貼合真實(shí)樹干的形狀。圖15a為植株真實(shí)區(qū)域圖,采用Photoshop進(jìn)行手動(dòng)分割獲取。 表2 傳統(tǒng)圖像分割算法和本文分割算法對(duì)室內(nèi)植株分割效果對(duì)比Tab.2 Comparison of traditional image segmentation algorithm and segmentation algorithm for indoor plant 圖13 室外植株原始圖像Fig.13 Original images of outdoor plants 圖14 室外植株動(dòng)態(tài)分割效果圖Fig.14 Dynamic segmentation rendering of outdoor plants 圖15 室外植株動(dòng)態(tài)分割效果圖Fig.15 Dynamic segmentation rendering of outdoor plants 3種算法的分割效果如圖15b~15d,對(duì)比結(jié)果如表3所示。本文算法動(dòng)態(tài)分割室外植株的召回率和準(zhǔn)確率均優(yōu)于GrabCut算法和K-均值聚類算法。其中本文算法的召回率分別比GrabCut算法和K-均值聚類算法高10.7個(gè)百分點(diǎn)和9.9個(gè)百分點(diǎn),準(zhǔn)確率分別比GrabCut算法和K-均值聚類算法高0.4個(gè)百分點(diǎn)和4.2個(gè)百分點(diǎn),時(shí)間上GrabCut算法和K-均值聚類算法分別耗時(shí)0.80 s和5.86 s,本文算法經(jīng)過加速優(yōu)化后降至0.23 s。 對(duì)室內(nèi)、室外植株實(shí)驗(yàn)進(jìn)行計(jì)算可得,本文算法的平均召回率和平均準(zhǔn)確率分別為87.6%和95.0%,CrabCut算法分別為78.0%和92.8%,K-均值算法分別為80.2%和89.1%。 圖16為小車動(dòng)態(tài)分割樹干的深度拼接圖。在小車1 m/s勻速行駛的狀態(tài)下,RGB-D相機(jī)采集深度圖像的幀率為30 f/s,以2.4 Hz頻率選取采集的深度圖像進(jìn)行樹干分割,并將處理后的深度圖像實(shí)時(shí)拼接在一起,最終分割出的樹干效果滿足果園定位導(dǎo)航的需求。 (1)提出了基于多特征融合的樹干快速分割算法。通過對(duì)彩色圖像進(jìn)行SLIC超像素分割,并根據(jù)相鄰超像素塊的紋理和深度信息對(duì)分割后的超像素 表3 傳統(tǒng)圖像分割算法與本文分割算法對(duì)室外植株分割效果對(duì)比Tab.3 Comparison of traditional image segmentation algorithm and segmentation algorithm for outdoor plants 圖16 室外植株動(dòng)態(tài)分割深度拼接圖Fig.16 Dynamic segmentation depth stitching image of outdoor plants 塊進(jìn)行合并,降低了后續(xù)工作的復(fù)雜度,提高了算法的精確度。 (2)本文算法在檢測(cè)樹干寬度后,計(jì)算符合寬度條件的樹干ROI內(nèi)的色調(diào)均值和均方差,并以此計(jì)算ROI內(nèi)色調(diào)的累計(jì)分布函數(shù),提高了樹干的識(shí)別率。 (3)通過獲取室外樹干分割圖像,實(shí)現(xiàn)實(shí)時(shí)拼接分割后的深度圖像,標(biāo)識(shí)出分割的樹干輪廓,并加以區(qū)分,為后期定位導(dǎo)航提供參照物。2 結(jié)果與分析
2.1 室內(nèi)植株實(shí)驗(yàn)
2.2 室外植株實(shí)驗(yàn)
3 結(jié)論