劉 慧 劉加林 沈 躍 潘成凱
(江蘇大學(xué)電氣信息工程學(xué)院, 鎮(zhèn)江 212013)
近年來,隨著農(nóng)業(yè)自動化、信息化的發(fā)展,植株的三維體特征在檢測分割中越來越重要,而三維點(diǎn)云模型也逐漸成為國內(nèi)外研究機(jī)構(gòu)的熱點(diǎn)和重點(diǎn)[1-2]。其中圖像分割由二維的彩色信息、灰度信息、紋理特征等發(fā)展到三維空間的基于距離、密度、法線等離散點(diǎn)的模型,大大豐富了圖像分割的內(nèi)容和方法。Kinect V2傳感器利用飛行時間的主動光源技術(shù)將同步彩色圖像和深度圖像融合獲得彩色點(diǎn)云,其優(yōu)良的性價比和實(shí)時性在農(nóng)業(yè)自動化中有著廣泛的應(yīng)用[3-9]。
在農(nóng)業(yè)植株的靶標(biāo)檢測和變量噴霧的不斷發(fā)展過程中[10-12],目標(biāo)物體的分割成為首要解決的問題。ITTI等[13]提出了自下而上的顯著性模型,該模型在不同的尺度空間將圖像分成低層次的屬性,獲取顯著性特征圖突出前景,但并不適用于三維空間的分割。ACHANTA等[14]提出的超像素分割方法,能形成緊湊且均勻的超像素塊和較高的邊界依附性,但會產(chǎn)生一定的過分割問題。PAPON等[15]提出,通過結(jié)合顯著性特征圖和超像素塊,在高顯著性區(qū)域獲得更小的超像素塊,在低顯著性區(qū)域獲得較大的超像素塊,相對于傳統(tǒng)超像素分割提高了一定的精度和快速性。文獻(xiàn)[16]提出基于凸性的區(qū)域生長來分割粘連物體,但分割耗時較長,對復(fù)雜場景的分割效果并不理想。
本文在前人研究基礎(chǔ)上,應(yīng)用Kinect 二代傳感器獲得彩色圖像和深度圖像,基于顯著性特征圖和深度信息相融合的方法獲取目標(biāo)區(qū)域,最終得到目標(biāo)物體。
實(shí)驗(yàn)地點(diǎn)選擇室內(nèi),選擇仿真綠色植株作為仿真對象。實(shí)驗(yàn)分兩組(圖1),光照環(huán)境均為100 lx,第1組目標(biāo)為單植株實(shí)驗(yàn),取植株高1.8 m、冠層直徑1.4 m。第2組目標(biāo)為多植株實(shí)驗(yàn),取植株高度分別為1.8 m和1.6 m,植株冠層直徑分別為1.4 m和1.2 m。使用Kinect V2傳感器提供的Kinect for Windows SDK[17]結(jié)合OpenCV庫和點(diǎn)云庫(Point cloud library, PCL)[18]獲取彩色圖像和深度圖像。
圖1 Kinect植株彩色圖像和深度圖像Fig.1 Kinect-based color and depth images of plant
1.2.1CIELab顏色空間
圖像的顏色空間有很多種模型[19-20]。其中RGB模型常用于圖像采集和設(shè)備對色彩空間的顯示,但相對于人類視覺感知的方式有很大的差異性。并且R、G、B3個顏色通道之間有著很強(qiáng)的相關(guān)性,兩顏色之間的色差并不利于對目標(biāo)物體顏色相似度的劃分,對顯著性區(qū)域的分割有很強(qiáng)的干擾性。而CIELab是一種顏色相互獨(dú)立的色彩空間,與設(shè)備無關(guān),是基于生理特征的顏色系統(tǒng),并且三顏色通道之間有著很好的獨(dú)立性。CIELab通過計(jì)算三維空間中兩點(diǎn)的歐氏距離ΔE來表征兩個顏色之間的視覺感知差別,能很好地用數(shù)字化的方法來描述人的視覺感應(yīng)。計(jì)算公式為
(1)
式中L2、L1——顏色空間的亮度
a2、a1——顏色空間從紅色到深綠的對立維度
b2、b1——顏色空間從藍(lán)色到黃色的對立維度
Kinect V2傳感器通過自帶的SDK獲取RGB圖像。而RGB顏色空間不能直接轉(zhuǎn)換為CIELab顏色空間,必須先將RGB顏色空間映射到XYZ坐標(biāo)空間之后,再將其轉(zhuǎn)換到CIELab顏色空間。RGB顏色空間與XYZ坐標(biāo)空間轉(zhuǎn)換關(guān)系為
(2)
式中X、Y、Z——圖像坐標(biāo)值
R、G、B——圖像顏色分量
XYZ坐標(biāo)空間轉(zhuǎn)換為CIELab顏色空間的轉(zhuǎn)換公式為
L=116f(Y/Yn)-16
(3)
a=500[f(X/Xn)-f(Y/Yn)]
(4)
b=200[f(Y/Yn)-f(Z/Zn)]
(5)
(6)
式中Xn、Yn、Zn——RGB顏色空間到XYZ坐標(biāo)空間轉(zhuǎn)換矩陣系數(shù),取值分別為0.950 456、1.0、1.088 754
t——坐標(biāo)空間數(shù)值與坐標(biāo)空間轉(zhuǎn)換矩陣系數(shù)的比值
L、a、b——CIELab顏色空間分量
1.2.2顯著性特征圖
基于ITTI等[13]提出的高斯金字塔模型,將圖像分解為9層高斯金字塔,形成多尺度的圖像。對多尺度圖像分別進(jìn)行亮度特征和方向特征的提取。同時將設(shè)備獲取的RGB顏色空間圖像轉(zhuǎn)換為CIELab顏色空間圖像后,對圖像進(jìn)行高斯低通濾波,然后求原圖像與濾波圖像的殘差提取顏色特征。將3種特征值分別進(jìn)行歸一化處理,并通過高斯差分計(jì)算獲得中心-周邊圍繞的金字塔模型,再進(jìn)行多尺度融合后獲得3幅分別基于亮度、方向、顏色的特征圖。最后通過加權(quán)平均將3幅顯著性特征圖融合成一幅顯著性特征圖。
1.2.3顯著性點(diǎn)云
通過Kinect V2實(shí)時同步獲取RGB彩色圖像和深度圖像。將獲取的RGB彩色圖像轉(zhuǎn)換為顯著性特征圖,并利用Kinect V2自帶的開發(fā)包計(jì)算相機(jī)參數(shù),將獲取的深度圖像和顯著性特征圖同步對齊,結(jié)合點(diǎn)云庫生成顯著性點(diǎn)云圖像。并可視化顯著性點(diǎn)云圖,用強(qiáng)度表示點(diǎn)云圖中的顯著性特征值,顯著性點(diǎn)云圖中亮度越大的區(qū)域,代表越感興趣的目標(biāo)區(qū)域,稱為前景目標(biāo)。
1.3.1Mean-Shift算法
Mean-Shift算法[21-23]又稱均值漂移算法。其特點(diǎn)就是把支撐空間和特征空間在數(shù)據(jù)密度的框架下綜合起來。對圖像來講,支撐空間就是體素的坐標(biāo)點(diǎn),特征空間就是顯著性特征值,2個空間結(jié)合后的數(shù)據(jù)點(diǎn)就是一個4維向量(x,y,z,f)。在該框架下不斷進(jìn)行迭代計(jì)算,獲得的向量必定收斂于數(shù)據(jù)局部密度最大的點(diǎn)。其中最大密度點(diǎn)為:在給定三維空間中的n個樣本點(diǎn)中,隨機(jī)選取i=1,2,…,n中任意一點(diǎn)k,距離該點(diǎn)r的球形空間中,距離最近、顯著性特征值最相似的點(diǎn)。其密度估計(jì)值為
(7)
(8)
F=f1-f2
(9)
(10)
式中Ddist——兩點(diǎn)間歐氏距離
F——兩點(diǎn)間顯著性特征差值
d——空間顯著性特征距離
ω——權(quán)重比M——密度估計(jì)值
α——常量
f1、f2——對應(yīng)點(diǎn)顯著性特征值
1.3.2超體聚類和LCCP算法
超體聚類[24-25]是一種自下而上的圖像分割方法。首先以八叉樹對點(diǎn)云進(jìn)行劃分,獲得不同點(diǎn)團(tuán)之間的鄰接關(guān)系。然后對這些點(diǎn)團(tuán)基于顏色、法線和空間距離作為相似性法則進(jìn)行區(qū)域生長,獲得超體素塊。
局部凸包連接(Locally convex connected patches, LCCP)算法[26]是基于局部凹凸性的聚類算法。該方法不依賴于點(diǎn)云的顏色,只利用了空間信息和法線信息。通過計(jì)算鄰接體素塊中心的法向量夾角來判斷凹凸性,并將凹凸性作為相似性法則進(jìn)行基于凸邊的區(qū)域生長。假設(shè)有兩相鄰體素塊,其質(zhì)心分別為pi(xi,yi,zi)和pj(xj,yj,zj),計(jì)算兩質(zhì)心之間的單位向量q與兩法向量的夾角βi和βj,如果βi小于βj則為凸,否則為凹。如圖2所示。
(11)
(12)
(13)
式中pi、pj——兩體素塊質(zhì)心
ni、nj——法向量
βj、βi——單位向量與法向量的夾角
圖2 體素塊連接凹凸性判斷Fig.2 Determination of concavity and convexity of voxel block connection
基于凹凸性的分割算法在針對樹冠和樹干以及一些粘連性物體分割具有顯著的效果。對比基于顏色特征和密度特征的分割,局部凹凸性能快速準(zhǔn)確地區(qū)分同一植株的不同形狀、不同分布的組織器官。但同時也會陷入局部最優(yōu),產(chǎn)生明顯的過分割現(xiàn)象,造成大量的計(jì)算浪費(fèi)。本文加入的顯著性點(diǎn)云,在突出背景和前景的同時,加強(qiáng)了超體聚類過程中同一組織的相似度。因此加入了顯著性點(diǎn)云的LCCP算法能夠在避免過分割的情況下高效地分割出植株粘連的不同組織部分。圖3b中在稠密的樹葉部分,顯著性點(diǎn)云弱化了樹葉之間的邊緣信息,用高亮的像素值代替了原點(diǎn)云的紋理信息,增加了同類物體組織的相似度,將樹冠和樹干這一具有明顯凹凸性特征的不同組織分割出來。而圖3a,雖然也對樹干和樹冠進(jìn)行了聚類分割,但樹冠部分出現(xiàn)了明顯的過分割現(xiàn)象,大大增加了進(jìn)一步提取樹冠實(shí)現(xiàn)變量噴霧的難度。
圖3 植株點(diǎn)云粘連組織分割Fig.3 Plant point-cloud adhesion tissue segmentation
1.3.3Nanoflann算法
Nanoflann算法[27]是從內(nèi)存和編譯的角度來對近鄰搜索進(jìn)行優(yōu)化。其次它還可以在近鄰搜索前直接定義目標(biāo)點(diǎn)云的最小包圍盒,避免了近鄰搜索中的重復(fù)計(jì)算,對不同類型的數(shù)據(jù)兼容性更高,適用性更廣泛。本文在超體聚類搜索近鄰點(diǎn)生成超體素塊的過程中,針對Nanoflann算法加速的SSV超體聚類和基于Flann近鄰搜索算法的SLIC聚類進(jìn)行了快速性對比。通過對同一目標(biāo)物體進(jìn)行不同分辨率的下采樣稀疏,獲得不同點(diǎn)云數(shù)量的目標(biāo)物體,然后進(jìn)行對比分析,結(jié)果如圖4所示。同一物體在不同稀疏度即不同點(diǎn)云數(shù)量的情況下,Nanoflann加速算法下的超體聚類相比與傳統(tǒng)Flann近鄰搜索的SLIC聚類,快速性得到了很大的提升。
圖4 Nanoflann和Flann算法快速性對比Fig.4 Comparison of fastness between Nanoflann and Flann algorithms
1.3.4SSV-LCCP算法流程
本文提出的顯著性植株點(diǎn)云超體聚類分割(Supervoxels based on salient point cloud-locally convex connected patches, SSV-LCCP)算法步驟如下:
(1)Kinect V2獲取彩色圖像后,將圖像RGB顏色空間轉(zhuǎn)換為CIELab顏色空間,并計(jì)算顯著性特征值,構(gòu)建顏色特征圖。同時根據(jù)Itti算法獲得亮度、方向特征圖,通過加權(quán)平均融合這3幅特征圖,構(gòu)建多尺度下的顯著性特征圖。
(2)同步對齊顯著性特征圖和深度圖像[21],融合獲取顯著性點(diǎn)云。
(3)八叉樹[28-29]初始化點(diǎn)云,構(gòu)建種子點(diǎn)云的K-D樹[30]搜索方法。利用Nanoflann算法加速近鄰搜索,并基于Mean-Shift算法,找出八叉樹網(wǎng)格中滿足閾值條件的局部密度最大點(diǎn)作為種子點(diǎn)。
(4)通過式(8)中獲得的空間顯著性特征距離d作為閾值,搜索種子近鄰點(diǎn),并對種子點(diǎn)進(jìn)行最大遞歸深度的區(qū)域生長。當(dāng)?shù)螖?shù)m大于最大遞歸深度時,迭代終止,獲得顯著性超體素。其中最大遞歸深度由八叉樹的分辨率和種子點(diǎn)分辨率計(jì)算得到,其計(jì)算公式為
(14)
式中Mdepth——最大遞歸深度
R——八叉樹分辨率
δ——比例系數(shù)
圖5 SSV-LCCP點(diǎn)云分割算法流程圖Fig.5 Flow chart of SSV-LCCP point cloud segmentation
(5)將各超體素塊重心作為頂點(diǎn),各重心之間特征距離為邊,構(gòu)建鄰接圖。判斷各體素塊的凹凸性,并基于凸性的生長準(zhǔn)則對超體素塊進(jìn)行LCCP再次聚類。
SSV-LCCP算法程序流程圖如圖5所示。
經(jīng)過實(shí)踐證明,本文算法可以具體應(yīng)用于對目標(biāo)植株的變量噴霧。本文通過Kinect V2對具體目標(biāo)植株進(jìn)行點(diǎn)云分割提取后獲得單一樹冠的點(diǎn)云目標(biāo)[31],并根據(jù)提取的樹冠具體目標(biāo)控制長桿噴頭電磁閥開關(guān),對目標(biāo)物體進(jìn)行變量噴霧。如圖6所示,圖6a為實(shí)驗(yàn)小車平臺,搭載了可控的帶電磁閥噴頭、用于檢測目標(biāo)植株噴霧區(qū)域的Kinect V2傳感器、控制系統(tǒng)、藥箱、驅(qū)動輪、噴桿。圖6b為實(shí)驗(yàn)全景圖。圖6c為提取的樹冠部分,為變量噴霧的主體目標(biāo),其余部分不進(jìn)行噴霧。圖6d為噴霧實(shí)驗(yàn)現(xiàn)場圖,只有頂部正對樹冠部分有水噴出,底部兩個正對樹干部分噴霧電磁閥噴頭關(guān)閉。
圖6 目標(biāo)植株的變量噴霧實(shí)驗(yàn)Fig.6 Variable spray experiment of target plant
Kinect V2相機(jī)獲取同步彩色圖像并轉(zhuǎn)換為顯著性特征圖。由圖7可以看出,顯著性特征圖高亮區(qū)域突顯了前景目標(biāo),簡化了復(fù)雜場景。
圖7 植株顯著性特征圖Fig.7 Salient pictures of plant
對顯著性特征圖和深度圖像進(jìn)行同步對齊融合,獲得顯著性點(diǎn)云。由圖8可以看出,顯著性點(diǎn)云顏色越亮的區(qū)域顯著性特征值越大,被識別出的優(yōu)先級越高。對該區(qū)域進(jìn)行下一步超體聚類時也能更好地保護(hù)目標(biāo)區(qū)域的邊界屬性。
圖8 植株點(diǎn)云圖Fig.8 Point clouds of plant
對獲取的顯著性點(diǎn)云進(jìn)行超體聚類。由圖9可以看出,原始點(diǎn)云的超體素塊(圖中多邊形區(qū)域)雜亂沒有規(guī)則,而顯著性點(diǎn)云的超體素塊更加趨于正方體(圖中更加趨近于正方形區(qū)域)。由此可看出顯著性點(diǎn)云超體素相較于原始點(diǎn)云在相同的體素分辨率下?lián)碛懈右?guī)則的體素塊和更好的邊界性。
圖9 植株超體聚類圖Fig.9 Supervoxel clusters segmentation of plant
圖10 植株LCCP聚類圖Fig.10 LCCP clusters segmentation of plant
經(jīng)過超體聚類后,對超體素塊進(jìn)行再次LCCP聚類,獲得最終的聚類圖像。圖10a、10c所示為傳統(tǒng)基于凸性的超體聚類(Simple linear iterative cluster- locally convex connected patches, SLIC-LCCP)的結(jié)果,圖10b、10d為本文SSV-LCCP聚類效果。其中圖10a相對于圖10b單植株生成的樹冠部分產(chǎn)生了多處過分割,圖10c相對于圖10d多植株部分的樹冠與背景墻和多植株樹冠部分均產(chǎn)生了一定的過分割。因此本文算法在顯著性區(qū)域邊界部分有更好的收斂性,分割效果更好。
2.2.1邊界召回率
邊界召回率在圖像中用來評價圖像邊界分割的準(zhǔn)確度。本文通過計(jì)算(2g+1)2范圍內(nèi)目標(biāo)物體超體素的獲得邊界占真實(shí)目標(biāo)物體的獲得邊界百分比來衡量超體素聚類的邊界召回率,其中g(shù)=0.002 5h(h為體素塊主對角線長度)。其計(jì)算公式為
(15)
式中TP——標(biāo)記正確的邊界
FN——標(biāo)記錯誤的邊界
G——超體素中標(biāo)記的邊界
S——超體素REC——召回率
其中召回率越高,代表點(diǎn)云超體素邊界分割效果越好。
2.2.2過分割率
過分割率評價了屬于同一物體的超體素中誤分割的體素塊占總分割體素塊的百分比。其計(jì)算公式為
(16)
式中OV——誤分割的體素?cái)?shù)
OR——理論上正確分割的體素?cái)?shù)
OS——過分割率
V——超體素中標(biāo)記分割的體素
其中過分割率越低則目標(biāo)物體的分割效果越好。
通過傳統(tǒng)的超體聚類算法和SSV-LCCP聚類算法計(jì)算同一點(diǎn)云不同分辨率的邊界召回率和過分割率來定量分析分割效果。從圖11可以看出,同一目標(biāo)物體在不同分割精度下(像素塊數(shù)越多分辨精度越高),SSV-LCCP超體聚類的召回率和過分割率都要優(yōu)于傳統(tǒng)的SLIC-LCCP算法。其中本文算法召回率高出傳統(tǒng)算法4%~5%,過分割率低于傳統(tǒng)算法1%~3%,時間上傳統(tǒng)算法在5 000個超體素塊時耗時10.97 s,本文算法經(jīng)過加速優(yōu)化后降低至3.43 s。因此,本文改進(jìn)算法,在邊界召回率和過分割率上具有明顯的優(yōu)勢,分割時間也相對較短。
為了驗(yàn)證本文算法的穩(wěn)定性,對仿真植株每間隔30°獲取一次點(diǎn)云圖像,進(jìn)行多次實(shí)驗(yàn)取誤差平均值。表1為本文算法與SLIC-LCCP算法的誤差對比分析表。由表1可見,在不同數(shù)量級的體素塊分割聚類過程中,其召回率、過分割率和效率都得到顯著改善。
圖11 點(diǎn)云誤差分析圖Fig.11 Point cloud analysis diagrams
試驗(yàn)組算法試驗(yàn)次數(shù)體素?cái)?shù)召回率/%過分割率/%時間/s200078.99.36.23傳統(tǒng)算法50300083.110.77.23(SLICLCCP)400085.512.78.65單植株500086.715.110.97200084.78.52.25本文算法50300087.89.42.57400090.110.72.94500090.712.03.43試驗(yàn)組算法試驗(yàn)次數(shù)體素?cái)?shù)召回率/%過分割率/%時間/s200076.38.96.07傳統(tǒng)算法50300082.510.57.28(SLICLCCP)400086.112.48.49多植株500087.015.010.93200085.18.72.31本文算法50300088.39.72.63400090.910.62.92500091.211.93.47
(1)提出了基于顯著性的超體素聚類分割算法。通過構(gòu)建顯著性特征圖、融合深度信息構(gòu)建顯著性點(diǎn)云,提取明確的前景目標(biāo),大幅提高了分割效率和分割的準(zhǔn)確性。
(2)在獲取顯著性點(diǎn)云后,在對目標(biāo)植株進(jìn)行超體聚類的過程中,基于Mean-Shift算法獲取顯著性區(qū)域優(yōu)質(zhì)種子點(diǎn),能大幅減少稀疏區(qū)域的體素塊,增加顯著性區(qū)域的體素塊。并且基于顯著性點(diǎn)云的超體素塊形狀更加規(guī)則,具有更好的邊界性,大幅提高了前景目標(biāo)的邊界召回率,降低了過分割率。
(3)在獲取超體素塊后,利用基于凸包的區(qū)域生長方法,能夠很好地分割粘連物體,將樹干和樹冠從背景中分割出來的同時加以區(qū)分,分別用不同的顏色表示,方便后期變量噴霧的目標(biāo)提取。
(4)利用Nanoflann算法對程序中近鄰搜索進(jìn)行優(yōu)化加速,大幅提高了分割效率,其快速性也得到了顯著提高。