王文杰 貢 亮 汪 韜 楊智宇 張 偉 劉成良
(上海交通大學機械與動力工程學院, 上海 200240)
我國是番茄種植面積最大,生產(chǎn)總量最多的國家[1]。目前,國內(nèi)番茄采摘主要依靠人工進行。一方面,受人口老齡化影響,勞動力資源緊缺導致勞動力成本不斷升高[2];另一方面,人工采摘效率較低,而且質(zhì)量無法保證。因此,研究番茄果實識別算法,提高采摘設備的自動化、智能化水平對緩解人力資源緊缺,提高生產(chǎn)效率具有重要意義。
隨著農(nóng)業(yè)自動化、智能化技術的不斷發(fā)展,機器視覺技術已經(jīng)成為農(nóng)業(yè)采摘機器人的核心技術之一[3-5]。圖像分割是機器視覺技術的前提和關鍵[6]。由于番茄果實表皮柔軟,而末端執(zhí)行器一般為金屬結構,且動作簡單,前期的圖像分割精度較低會導致果實采摘損傷率高。因此,提高圖像分割的準確率和精度是目前國內(nèi)外研究的熱點問題。傳統(tǒng)圖像分割算法一般使用RGB圖像,以顏色閾值作為分割依據(jù)[7-9],對圖像中的幾何形狀和空間位置等深層特征的提取較為困難,算法的適應性差。特定的閾值參數(shù)只針對特定的場合,當自然環(huán)境變化,如光照變化時,設定的閾值參數(shù)失效進而導致識別失敗。
近年來,隨著計算機硬件性能不斷提升,深度神經(jīng)網(wǎng)絡(DNN)方法憑借其強大的特征提取能力和自主學習能力被廣泛應用于農(nóng)作物目標檢測[10-11]。與傳統(tǒng)算法相比,神經(jīng)網(wǎng)絡模型能夠提取出圖像的隱性特征(無明顯實際含義的特征),并通過自我學習和迭代得出劃分的依據(jù)[12-16]。增加圖像的信息量能夠提高分割的準確率和精度,使用多源圖像是一種有效方法。通過加噪聲、改變圖像亮度、對比度等方法對樣本集進行數(shù)據(jù)增強,基于深度學習的果實識別算法在場景變化的自然環(huán)境具有更好的檢測效果,但存在一定的局限性,例如需要大量訓練樣本,樣本標注工作量大、訓練時間長等問題。
自然環(huán)境下,環(huán)境復雜多變,干擾因素多,信息量大,特征提取困難;番茄果實柔軟易損,圖像分割精度要求高;單源RGB圖像對重疊、粘連果實識別效果不佳;傳統(tǒng)樣本集標注方法重復性高,工作量大。為此本文在Mask R-CNN的基礎上,提出一種基于多源圖像融合的圖像分割算法,借助聚類方法完成樣本集的快速標注,以提高標注效率和檢測精度,實現(xiàn)對番茄果實圖像精準分割。
番茄在溫室種植環(huán)境下,光線變化、重疊粘連等復雜情況很難用單純的RGB圖像經(jīng)過深度學習模型進行準確預測,而加入深度信息與紅外信息將有利于這些樣本的預測,提高分割精度[17]。如圖1所示,深度圖像不受光照影響,能通過深度信息區(qū)分不同番茄個體,紅外圖像中心亮周圍暗的特點有利于提取邊緣特征。
本研究使用不同傳感器采集到的多源圖像,其分辨率存在差異。普通彩色圖像的分辨率為1 920像素×1 080像素,而深度圖和紅外圖的分辨率為512像素×424像素,需要使同一樣本下的圖像具有相同的分辨率。由于不同傳感器視野范圍不同,簡單的圖像縮放不能實現(xiàn)圖像配準,通過轉(zhuǎn)換矩陣可以實現(xiàn)像素點的精準匹配。采集到的深度圖和紅外圖的圖像分辨率均為512像素×424像素,下面以紅外圖向RGB彩色圖匹配為例說明圖像配準的過程。一般地,紅外圖像像素坐標(X,Y)和彩色RGB圖像的像素坐標(x,y)關系式為
(1)
式中T——坐標變換矩陣
a1~a8——待求解參數(shù)
可以利用棋盤標注圖像獲得多組(遠大于4組)對應的(x,y)和(X,Y)坐標,然后通過最佳平方逼近法求得超定方程組的最小二乘解,得到矩陣T,進而得到分辨率為1 920像素×1 080像素的紅外圖像。
特別地,Microsoft官方提供了可以獲得紅外圖和彩色圖對應映射關系的內(nèi)置函數(shù)MapDepthFrameToColorSpace,生成坐標映射關系表,然后通過坐標關系映射表得到配準后的圖像。圖2描繪了圖像配準的過程,深度圖和紅外圖通過矩陣T或者坐標關系映射表生成與彩色圖匹配的紅外圖和深度圖。
多源圖像融合將針對同一目標采集到的多源信道圖像綜合成高質(zhì)量圖像,能夠最大限度地挖掘各個信道的有用信息,提高圖像信息的利用率,便于后續(xù)計算機模型的讀取和處理[18]。圖像可以視為一個矩陣,配準后的彩色RGB圖像(1 920像素×1 080像素×3)、深度圖像(1 920像素×1 080像素×1)、紅外圖像(1 920像素×1 080像素×1)具有相同的分辨率(1 920像素×1 080像素),可以融合成一幅圖像(1 920像素×1 080像素×5)。如圖3所示,融合后圖像具有r(紅色)、g(綠色)、b(藍色)、d(深度)、i(紅外)5個通道的信息,r、g、b、d、i分別為各通道對應數(shù)值。圖像融合公式為
F=C∪D∪I=(x,y,r,g,b,d,i)
(2)
其中
C=(x,y,r,g,b)
D=(x,y,d)
I=(x,y,i)
式中C——彩色圖像D——深度圖像
I——紅外圖像F——融合后圖像
完整的訓練數(shù)據(jù)不僅要包括清晰有效的圖像信息,還需要有充分有效的標注信息。已知番茄果實圖像區(qū)域準確對應的語義標簽,能夠幫助神經(jīng)網(wǎng)絡進行有效地自我學習和迭代。對于大量的開放環(huán)境中番茄果實圖像樣本數(shù)據(jù)集,其標注難點在于,語義分割任務需要對圖像中的每一個具體像素點分配語義標簽。一方面,數(shù)據(jù)集標注工作任務量大,需要投入大量的時間和精力;另一方面,人工長時間標注出錯率高,標注過程會受標注者的主觀因素影響。因此,一種能夠提高標注效率、縮短標注時間的輔助標注工具或算法是必要的。
目前,有許多公開的標注工具如VIA(VGG Image Annotator,圖4a)、Labelme(圖4b)等能夠輔助研究人員進行標注工作。然而,這些標注工具只能對標注對象使用矩形框框選或者折線包絡等粗略的標記,無法滿足對圖像中每個像素分配語義標簽的像素級標注需求。針對這一問題,本文提出一種基于聚類算法的半自動快速標注方法,利用融合后圖像信息廣泛且綜合的特點,將像素點的顏色、深度和紅外信息作為聚類特征,沿用K-means算法的思想對場景進行初步分割,在此基礎上完成樣本集標注工作。
K-means是一種常用的聚類算法[19-20],根據(jù)數(shù)據(jù)樣本內(nèi)部特征的相似性,將一個數(shù)據(jù)集劃分為固定數(shù)量的不相交子數(shù)據(jù)集[21],算法一般過程為:計算所有樣本到所有聚類中心的距離并分配給最近的聚類中心,循環(huán)迭代直到全局樣本到各自聚類中心的距離之和最小,無法繼續(xù)優(yōu)化時算法結束。
基于K-means聚類的樣本集快速標注算法流程如圖5所示,所使用的特征包括:像素點橫坐標x、像素點縱坐標y、像素點紅色分量Fr(x,y)、像素點綠色分量Fg(x,y)、像素點藍色分量Fb(x,y)、像素點深度值Fd(x,y)、像素點紅外強度Fi(x,y)。輸入為經(jīng)過圖像配準和融合后的樣本圖像F,迭代次數(shù)設置為2 000。聚類中心數(shù)量k和分類特征權重wj為人工超參數(shù)需要多次調(diào)試后選擇合適值輸入。分類特征權重wj是相對值,表示相對于其它特征的重要程度,默認為1。標注過程如圖6所示:①根據(jù)K-means聚類算法,圖像根據(jù)其特征不同被分割為許多子區(qū)域。②根據(jù)分割圖像的效果通過改變各個特征權重wj進行細微調(diào)整,接著選擇成熟番茄果實所在色塊。③通過圖像二值化處理,生成最終標注圖像。根據(jù)國家標準GB 8852—88,本文選擇紅熟中后期,即著紅面4/10以上的番茄果實作為研究對象,標注過程中紅熟中后期番茄的選擇由人工完成。
該算法完成了像素級的精確標記,極大地減輕了研究人員的工作負擔,一幅圖像的標注時間由原來的60 s降低到20 s左右。對于個別樣本圖像,使用K-means聚類算法初步分割效果不能滿足標注精度要求,需要手動進行調(diào)整。
Mask R-CNN綜合了研究成果,沿用了Faster R-CNN的思想,采用ResNet-FPN架構進行特征提取,與Faster R-CNN相比添加了Mask預測分支,不僅能夠?qū)崿F(xiàn)物體分類、定位,還能進行實例分割。與語義分割相比,實例分割對同類物體更精確。Mask R-CNN的優(yōu)點在于:具有較高的精度,較快的運行速度,較強的泛化性能,被廣泛應用于各種場景。但是在農(nóng)業(yè)采摘場景中,Mask R-CNN模型存在一定的不足:農(nóng)業(yè)場景中番茄成熟果實相互遮擋,由于卷積網(wǎng)絡實例分割依賴于紋理特征和顏色差異,而相互覆蓋成熟番茄果實表面平滑,顏色均勻,果實的邊界難以被準確分割。為適應多源融合圖像的特點,發(fā)揮多源圖像的優(yōu)勢,本文在Mask R-CNN的框架上進行擴展,其模型框架示意圖如圖7所示,網(wǎng)絡輸入由原來的RGB圖像更改為多源融合圖像,網(wǎng)絡輸出為目標物體的類別、最小包絡框和目標物體像素級掩膜結果。由于輸入圖像的維數(shù)由傳統(tǒng)的3維更改為5維融合圖像,因此本研究對ResNet[22-23]淺層網(wǎng)絡結構進行修改,并將修改過的網(wǎng)絡部分參數(shù)進行高斯隨機初始化。因為輸入后為全卷積神經(jīng)網(wǎng)絡,所以只需修改第1層參數(shù)。加載權重參數(shù)排除conv1,調(diào)整heads包含的網(wǎng)絡層將conv1添加至訓練層。遷移學習是指預先使用大量通用數(shù)據(jù)對模型參數(shù)進行粗調(diào),然后使用本地數(shù)據(jù)進行微調(diào)[24-25]。利用遷移學習的優(yōu)勢,先使用ImageNet數(shù)據(jù)集對特征提取網(wǎng)絡ResNet50預訓練,然后使用本地制作的番茄果實數(shù)據(jù)集訓練。
數(shù)據(jù)增強能夠提高模型的精度和泛化性能,針對自然環(huán)境下的任務特點,通過改變圖像亮度、對比度、添加高斯噪聲等方式(圖8)對原始數(shù)據(jù)集進行數(shù)據(jù)增強操作,強化模型對光線變化的適應能力。
Microsoft的Kinect相機是一種被廣泛應用的多模態(tài)視覺傳感器,可以同時采集RGB圖、紅外圖和深度圖[26]。近年來大規(guī)模數(shù)據(jù)集(如ImageNet、COCO等)為計算機視覺研究工作提供了便捷,研究人員在缺乏實驗條件和樣本數(shù)據(jù)集的條件下,能夠借助現(xiàn)有數(shù)據(jù)集資源實現(xiàn)一些基礎、普適的計算機視覺任務[27-28]。但對于具體的數(shù)據(jù)驅(qū)動的計算機視覺識別模型,還需要提供大規(guī)模標注良好的樣本數(shù)據(jù)集進行針對性訓練。
本文樣本采集于上海市金山區(qū)某現(xiàn)代溫室示范基地番茄設施溫室(圖9),在計算機和Kinect V2相機平臺上,編寫控制程序采集開放農(nóng)業(yè)環(huán)境下的番茄果實圖像。共采集了2 000份(約30 GB)樣本作為訓練集原始材料,其中每份樣本包含一幅RGB彩色圖像(1 920像素×1 080像素)、一幅紅外圖像(512像素×424像素)、一幅深度圖像(512像素×424像素)和一張坐標映射關系表。
將采集到的圖像進行預處理,并通過配準、融合等圖像處理方法生成融合圖像。通過數(shù)據(jù)增強操作將2 000份樣本擴充到12 000份,隨機選取9 600幅作為訓練集,1 200幅作為驗證集,1 200幅作為測試集用于模型訓練。模型訓練時采用0.001的初始學習率訓練頭部網(wǎng)絡層,然后以0.000 1的學習率訓練整個網(wǎng)絡層,根據(jù)模型在驗證集的效果調(diào)整模型超參數(shù)。
服務器配置為:Intel Xeon(R) CPU E5-2620 v4 @ 2.10 GHz×32,16 GB的NVIDIA TESLA P100 GPU,運行內(nèi)存128 GB。基于上述訓練策略在服務器上經(jīng)過8 h迭代,訓練誤差逐漸下降并趨于穩(wěn)定,最終得到網(wǎng)絡參數(shù)文件,模型訓練完成。
為了評估模型的性能,驗證模型對成熟番茄果實的檢測效果,使用測試集中沒有參與模型訓練的番茄果實圖像進行模型預測,其實現(xiàn)過程為:首先,將最終得到的模型參數(shù)文件加載到神經(jīng)網(wǎng)絡模型中,然后輸入待檢測圖像,經(jīng)過約0.45 s得到模型預測結果。預測結果包括3部分:目標物體的類別、目標物體的邊界框以及目標物體的掩膜。
由于原Mask R-CNN對于果實檢測已經(jīng)可以取得很好的效果,因此與原Mask R-CNN算法模型相比,基于多源圖像融合的擴展Mask R-CNN算法模型性能及檢測效果的變化難以直接在檢測結果圖像中體現(xiàn)出來,因此需要引入量化指標對模型進行評價。
假設一幅圖像中判斷為成熟番茄的成熟番茄數(shù)目為TP,判斷為環(huán)境背景的成熟番茄數(shù)目為FP(漏檢數(shù)目),將未成熟番茄或枝葉判斷為成熟番茄的數(shù)目為TN(誤檢數(shù)目)。
檢測準確率(Accuracy)可以表示為
(3)
實例分割的精度可以用交并比pIoU(Intersection over union)表示[29],計算式為
(4)
式中P——模型預測的成熟番茄果實區(qū)域
T——實際的番茄果實所在區(qū)域
farea——計算某區(qū)域像素數(shù)的函數(shù)
消融實驗是研究神經(jīng)網(wǎng)絡系統(tǒng)的一種有效方法[30]。分別使用RGB通道數(shù)據(jù)、RGB+D通道數(shù)據(jù)、RGB+I通道數(shù)據(jù)、RGB+D+I通道數(shù)據(jù)進行消融實驗訓練,并在相同的200份測試集上進行測試,得到模型的檢測準確率和IoU結果如表1所示。與基于RGB彩色圖像傳統(tǒng)Mask R-CNN檢測模型(檢測準確率為95.4%、交并比為0.851)相比,基于多源融合圖像的檢測模型性能都有一定提升,RGBD模型檢測準確率為97.4%、交并比為0.897,RGBI模型檢測準確率為96.0%、交并比為0.891,而基于RGBDI融合圖像的Mask R-CNN模型的檢測準確率為98.3%、交并比為0.916。
文獻[31]提出的YOLO v3算法是目前應用最廣泛的目標檢測算法之一,使用基于殘差神經(jīng)網(wǎng)絡的Darknet-53作為特征提取器,采用多尺度融合的方法進行類別和位置預測。
分別使用基于多源圖像融合的擴展Mask R-CNN檢測模型、基于YOLO v3算法的檢測模型和傳統(tǒng)Otsu閾值分割算法對測試集中的番茄圖像進行測試,圖10為3種算法不同光線條件的預測結果對比,圖11為Otsu算法模型與擴展Mask R-CNN算法模型預測結果局部細節(jié)對比。Otsu算法受環(huán)境因素干擾較大,模型預測結果噪聲明顯,檢測準確率較低。例如,當亮度提高時,番茄果實高亮部分會檢測失敗。當亮度降低時,番茄的底部陰影部分由于太暗而無法識別(圖10c),在實際采摘作業(yè)過程中,枝葉擺動、光線變化都會導致識別效果無法滿足需求。此外,對于粘連果實,即當兩個番茄距離很近時,Otsu算法無法進行單獨區(qū)分。YOLO v3算法能夠區(qū)分獨立的番茄果實個體,受光線變化影響小,但算法輸出結果為目標邊界框,只能表示大致區(qū)域而無法實現(xiàn)對目標的精確定位。基于多源圖像融合的擴展Mask R-CNN圖像分割算法綜合了深度圖、紅外圖和彩色圖的信息,通過對圖像的顏色、形狀、紋理、空間位置關系等特征進行深度挖掘,其檢測效果明顯好于Otsu算法和YOLO v3算法。其優(yōu)點在于:①檢測準確率更高,圖像分割效果更好。Otsu算法以主要顏色信息作為閾值,識別結果中存在許多白色噪點,而擴展Mask R-CNN識別結果有完整的番茄輪廓。②抗干擾能力更強,光線變化對檢測效果幾乎沒有影響。③能夠進一步區(qū)分不同番茄果實個體。
在實際識別過程中,擴展Mask R-CNN模型也存在許多不足之處:Mask R-CNN使用滑動窗格的方法尋找窗格中的最佳目標,因此部分番茄果實識別結果的邊緣存在小部分缺失(圖12a,檢測邊緣是直線而不是弧線);當番茄枝葉遮擋住番茄果實的1/5以下時,有時會被誤識別為番茄的一部分(圖12b);當枝葉遮擋區(qū)域超過2/3時,可能出現(xiàn)漏檢現(xiàn)象(圖12c)。番茄果實的枝葉遮擋問題工況復雜,涉及要素多,可作為未來研究和探索的重點。
(1)提出了一種基于多源圖像融合的擴展Mask R-CNN圖像實例分割模型,其特點在于使用了彩色、深度、紅外融合圖像作為神經(jīng)網(wǎng)絡的輸入,有效地擴充了圖像的信息密度。
(2)提出了使用K-means聚類算法對數(shù)據(jù)集進行快速標注的方法,提高了圖像標注效率,單幅圖像標注時間由原來60 s左右減少到20 s左右。
(3)與以輸入單一RGB圖像的Mask R-CNN模型相比,基于多源圖像的擴展Mask R-CNN算法其檢測精度由95.4%提升至98.3%,交并比由0.851提升至0.916。
(4)與傳統(tǒng)Otsu檢測算法和YOLO v3算法相比,該算法能夠區(qū)分不同番茄果實個體,圖像分割結果清晰,邊緣輪廓完整,且受光線變化影響小,適合自然環(huán)境下的作業(yè)需求。