畢 松,張 潞
(北方工業(yè)大學(xué)電氣與控制工程學(xué)院,北京 100044)
近年來,隨著我國的城鎮(zhèn)化的發(fā)展,農(nóng)業(yè)從業(yè)人口大幅度下降,同時隨著我國人口老齡化日益嚴(yán)重,農(nóng)業(yè)勞動成本快速上升,農(nóng)業(yè)用工供給不足和成本上升成為困擾農(nóng)業(yè)發(fā)展的重要因素。我國柑橘種植面積和柑橘產(chǎn)量位居世界第一[1],柑橘田間生產(chǎn)作業(yè)過程中采摘工序是生產(chǎn)過程中勞動力需求最大的一個環(huán)節(jié),占整個生產(chǎn)過程勞動力需求的50%到70%[2]。我國目前柑橘采摘仍以人工操作為主,使用智能采摘裝備代替人工進(jìn)行采摘,將能解決柑橘生產(chǎn)過程中的勞動力不足問題,同時在水果實(shí)時采摘、提高采摘品質(zhì)、提高水果的市場競爭力等方面具有重要意義。因此,柑橘自動化采摘技術(shù)的研究勢在必行。
果實(shí)采摘點(diǎn)識別技術(shù)是自動采摘的基礎(chǔ),采摘點(diǎn)識別的準(zhǔn)確性決定了自動采摘設(shè)備的采摘準(zhǔn)確性和穩(wěn)定性。眾多研究者依靠圖像顏色通道分割變換成RGB、HSV、YUV等后,再對圖像執(zhí)行去噪、閾值分割,區(qū)域腐蝕、膨脹,輪廓提取、分析等方法,結(jié)合果實(shí)顏色、外形、紋理等特征,提取出限定果實(shí)區(qū)域[3][5]。但由于柑橘生長的非結(jié)構(gòu)化自然環(huán)境中,存在光照變化,亮斑陰影,枝條、枝葉與果實(shí)之間任意遮擋等干擾因素,使圖像中柑橘果實(shí)的特征存在較大的不確定性,難以提取出涵蓋自然環(huán)境所有干擾因素情形下的柑橘果實(shí)特征。因此上述傳統(tǒng)視覺特征分析的識別方法難以應(yīng)對自然環(huán)境中存在大量干擾情況的柑橘采摘點(diǎn)信息獲取問題。
近年來自基于卷積神經(jīng)網(wǎng)絡(luò)的模型結(jié)構(gòu)具有深層次、特征表達(dá)能力強(qiáng)的特點(diǎn),能夠自主學(xué)習(xí)當(dāng)前任務(wù)所需要的多層次特征[6],比傳統(tǒng)方法具有更強(qiáng)的魯棒性,更大范圍的適用性。文獻(xiàn)[7]中基于Darknet19設(shè)計(jì)的柑橘識別方法,在自然環(huán)境的不同場景下均有很好的識別效果。文獻(xiàn)[8]通過改進(jìn)YOLOv3識別算法實(shí)現(xiàn)對柑橘果實(shí)和枝條枝葉等障礙物的識別,對果實(shí)識別準(zhǔn)確率為91.9%。
本文針對自然環(huán)境中柑橘果實(shí)采摘點(diǎn)識別獲取問題,設(shè)計(jì)了基于卷積神經(jīng)網(wǎng)絡(luò)和特征識別的自然環(huán)境中柑橘果實(shí)采摘點(diǎn)識別獲取方法,并對采收季的成熟柑橘果實(shí)進(jìn)行了數(shù)據(jù)測試。
基于卷積神經(jīng)網(wǎng)絡(luò)、全卷積網(wǎng)絡(luò)和特征識別的柑橘果實(shí)采摘點(diǎn)識別方法主要由識別預(yù)處理模塊、識別模塊、分割預(yù)處理模塊、分割模塊和采摘點(diǎn)識別模塊組成,算法結(jié)構(gòu)如圖1所示。
圖1 自然環(huán)境下柑橘采摘點(diǎn)識別算法結(jié)構(gòu)
識別預(yù)處理模塊將對相機(jī)拍攝的原始圖像進(jìn)行色彩調(diào)節(jié)、縮放和降噪操作,根據(jù)相機(jī)參數(shù)調(diào)整圖像色彩到正常范圍,縮放至416×416像素以適配柑橘識別模塊的輸入端,并對圖片進(jìn)行濾波降噪操作,去除由于相機(jī)感光硬件所帶來的噪點(diǎn)問題。
識別模塊分為基于卷積神經(jīng)網(wǎng)絡(luò)的柑橘果實(shí)識別網(wǎng)絡(luò)模型,包括圖像特征提取模塊、Anchor生成器模塊、預(yù)測處理模塊三部分。圖像特征提取器基于darknet19網(wǎng)絡(luò)結(jié)構(gòu)構(gòu)建,共19個卷積計(jì)算層和5個池化層,該模塊對原始圖像進(jìn)行卷積池化操作,提取出圖像的13×13網(wǎng)格深度特征圖。Anchor生成器通過RPNs生成Anchor boxes對圖像特征提取器輸出的深度特征圖進(jìn)行識別框預(yù)測,通過K-means均值維度聚類的方法獲得Anchor boxes的長寬和比例,K是均值維度聚類算法將樣本集劃分類別的數(shù)量,實(shí)驗(yàn)得出K值為5的時候識別框預(yù)測準(zhǔn)確率最高。預(yù)測處理模塊將圖像特征提取器輸出的特征圖中每個網(wǎng)格中分別以Anchor boxes的比例預(yù)測出5個識別框(Bounding Boxes),每個識別框中預(yù)測出5個值,分別是tx,ty,tw,th,to,其中前四個變量為目標(biāo)網(wǎng)格坐標(biāo)偏移值,to為預(yù)測置信度,網(wǎng)格坐標(biāo)偏移值與Anchorboxes的中心坐標(biāo)和寬高參數(shù)xa,ya,wa,ha有式(1)計(jì)算關(guān)系
(1)
基于上式得到目標(biāo)網(wǎng)格預(yù)測參數(shù)結(jié)合該網(wǎng)格在原始圖像左上角像素坐標(biāo)距離(cx,cy) 和該網(wǎng)格對應(yīng)Anchorboxes的高和寬(pw,ph) ,由式(2)得。
(2)
其中σ(t)為sigmoid激活函數(shù),將數(shù)據(jù)范圍約束在[0,1]之間,bx,by,bw,bh,score即所識別到的柑橘果實(shí)在圖像中的位置、識別框大小和識別率結(jié)果。
分割預(yù)處理模塊分為圖像剪切、圖像填補(bǔ)和圖像大小調(diào)整三個步驟。在識別模塊輸出結(jié)果后,根據(jù)柑橘識別框的參數(shù)對原圖像進(jìn)行裁剪,這樣能夠去除無柑橘區(qū)域帶來的干擾和負(fù)荷。由于柑橘目標(biāo)識別網(wǎng)絡(luò)可能因?yàn)橹θ~遮擋、果實(shí)遮擋等干擾,識別出柑橘的識別框不為正方形,因此通過圖像填補(bǔ)算法,其根據(jù)識別框的寬度和高度差值,使用黑色對其短邊方向進(jìn)行補(bǔ)全,最后通過將圖像調(diào)整至224×224分辨率,傳入柑橘果實(shí)分割模塊。
分割模塊基于U型全卷積神經(jīng)網(wǎng)絡(luò)的語義分割模型設(shè)計(jì),其結(jié)構(gòu)分為特征編碼器模塊和特征解碼器模塊兩部分。分割預(yù)處理模塊處理后柑橘識別框圖片傳入柑橘分割模塊,特征編碼器模塊使用卷積層和池化層對柑橘圖像進(jìn)行4次下采樣計(jì)算,每次下采樣中卷積計(jì)算前后圖片大小相同,經(jīng)過四次下采樣后的特征圖縮小16倍。然后特征解碼器通過卷積層和反卷積層對高維特征圖進(jìn)行上采樣計(jì)算,反卷積采用了補(bǔ)零的步長為2的卷積核構(gòu)造的2×2反卷積結(jié)構(gòu),以保證上下采樣前后的對稱,四次下采樣前的卷積層輸出都拼接融合到了對稱的上采樣反卷積后的卷積輸入位置。最后將224×224×32的上一卷積層輸出通過一個1×1的卷層輸出為一張?zhí)卣鳠酘eatmap圖,即每個像素點(diǎn)對應(yīng)柑橘類的得分,越接近1即為柑橘,接近0即為背景,將該特征熱圖通過Softmax二值化后得到柑橘有效像素區(qū)域分割特征圖。
柑橘果實(shí)為類圓形,經(jīng)過柑橘分割模塊得到的柑橘有效像素區(qū)域分割特征圖為單個完整果實(shí)的部分區(qū)域。柑橘采摘點(diǎn)獲取模塊通過Hough變換圓檢測的方法擬合出果實(shí)的完整區(qū)域,找到質(zhì)心,從而得到果實(shí)準(zhǔn)確的采摘點(diǎn)位置。
為了保證能夠涵蓋自然環(huán)境下普遍存在的干擾信息,因此選擇了不同時間段和天氣進(jìn)行了數(shù)據(jù)采集。采集地點(diǎn)為:廣西合浦利添果園,拍攝時間為2018.12.17 12:40-14:00晴天正午、2018.12.17 16:30-17:30晴天傍晚和2018.12.20 14:00-15:00陰天下午。所使用的圖像采集相機(jī)型號為大恒圖像的MER-230-168U3C彩色相機(jī),焦距為8mm,分辨率為1200×1200像素。對所采集的圖像進(jìn)行了縮放處理縮放大416×416像素大小,并進(jìn)行了人工挑選,選出包含不同程度的光照變化、光斑陰影覆蓋、枝葉枝條果實(shí)間任意遮擋的圖片共計(jì)1000張,將其按照8:1:1的比例分成訓(xùn)練集、驗(yàn)證集和測試集,并將800張訓(xùn)練集圖片進(jìn)行了人工標(biāo)記。
識別模塊訓(xùn)練數(shù)據(jù)集中一共標(biāo)記柑橘果實(shí)2160個,標(biāo)記情況及數(shù)量詳情如表1所示,數(shù)據(jù)集樣本如圖2所示。
表1 柑橘識別數(shù)據(jù)集標(biāo)記情況
圖2 識別數(shù)據(jù)集部分樣本
柑橘分割模塊的訓(xùn)練數(shù)據(jù)集從識別模塊訓(xùn)練數(shù)據(jù)集選取100張圖像,為使得柑橘數(shù)據(jù)集具有較好的抗干擾性和均衡性,包含了存在光照亮斑陰影、枝條枝葉遮擋等干擾的果實(shí)像素點(diǎn),通過分割預(yù)處理模塊處理后,以人工標(biāo)記的方式對柑橘像素進(jìn)行標(biāo)注,共標(biāo)注了1912268個像素點(diǎn)。標(biāo)注后得到的柑橘果實(shí)區(qū)域像素描述文件中描述了屬于果實(shí)的像素在圖像中的區(qū)域位置信息,將其數(shù)據(jù)以Mask圖像形式可視化后,柑橘果實(shí)區(qū)域像素?cái)?shù)據(jù)集部分樣本,如圖3所示。
圖3 柑橘分割數(shù)據(jù)集可視化部分樣本
識別模塊網(wǎng)絡(luò)模型通過預(yù)測數(shù)值與標(biāo)記數(shù)值進(jìn)行比較得出模型的損失函數(shù)如式(3)所示
(3)
由于所采集的柑橘樣本數(shù)據(jù)集有限,直接用來訓(xùn)練網(wǎng)絡(luò)容易發(fā)生過擬合現(xiàn)象,使得模型網(wǎng)絡(luò)的學(xué)習(xí)與識別能力受限。本文通過遷移學(xué)習(xí)方法,使用Yolov2方法[9]中對ImageNet數(shù)據(jù)集預(yù)訓(xùn)練權(quán)重對柑橘識別網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練。
模型訓(xùn)練參數(shù)如表2所示,學(xué)習(xí)動量為0.9,初識學(xué)習(xí)率為0.001,采用步進(jìn)式更新學(xué)習(xí)率的方法,模型總迭代訓(xùn)練2000次,其中1~1000次迭代訓(xùn)練中,使用初始學(xué)習(xí)率,1000~2000次迭代訓(xùn)練中,使用精細(xì)學(xué)習(xí)率,每輪次訓(xùn)練圖像數(shù)為8張,每訓(xùn)練迭代100次保存一次權(quán)重參數(shù)文件。
表2 網(wǎng)絡(luò)模型訓(xùn)練參數(shù)
柑橘識別網(wǎng)絡(luò)模型在2000次訓(xùn)練過程中,迭代次數(shù)與損失率關(guān)系曲線如圖4所示,可見損失率隨著迭代次數(shù)增加而不斷下降,直到訓(xùn)練到1500次左右之后平均損失不在減小,穩(wěn)定在9.1左右。
圖4 迭代次數(shù)與損失率關(guān)系曲線
迭代過程中得到的權(quán)重文件所計(jì)算出的平均準(zhǔn)確率mAP( mean average precision)曲線如圖5所示,柑橘識別網(wǎng)絡(luò)模型訓(xùn)練后的平均準(zhǔn)確率位88.7%。
圖5 柑橘識別模型mAP曲線
分割模塊網(wǎng)絡(luò)訓(xùn)練損失由網(wǎng)絡(luò)最后輸出分割特征圖與標(biāo)注圖像計(jì)算獲得,該損失用于度量預(yù)測值與實(shí)際值之間的概率距離,計(jì)算方法如下式
(5)
其中n為Batch size即一次訓(xùn)練循環(huán)所用到的圖片數(shù)量,p為網(wǎng)絡(luò)預(yù)測值,y為輸出期望值。損失函數(shù)通過Adadelta[10]的梯度優(yōu)化方法進(jìn)行優(yōu)化,其在第t次參數(shù)θt更新方法如下式
(6)
θt+1=θt+Δθt
(7)
其中g(shù)t為梯度參數(shù),其均方根(Root mean squared,RMS)為
(8)
(9)
在Adadelta優(yōu)化方法中不需要設(shè)置學(xué)習(xí)速率,省去了手動調(diào)整學(xué)習(xí)速率的訓(xùn)練成本。
柑橘分割數(shù)據(jù)按照9:1的比例分為訓(xùn)練集和驗(yàn)證集,經(jīng)過對柑橘分割網(wǎng)絡(luò)的100個批次訓(xùn)練后,訓(xùn)練集和驗(yàn)證集的損失曲線如圖5所示。
圖5 柑橘分割網(wǎng)絡(luò)損失曲線
上圖曲線可以看出,在訓(xùn)練30輪時果實(shí)分割網(wǎng)絡(luò)模型的泛化能力較強(qiáng),之后訓(xùn)練集損失下降緩慢,在驗(yàn)證集上的損失逐漸升高,網(wǎng)絡(luò)出現(xiàn)過擬合的情況。因此本文選擇30次的參數(shù)作為分割模塊的模型權(quán)重。
Hough變換圓檢測方法通過在Hough參數(shù)空間中對圓的半徑和圓心坐標(biāo)進(jìn)行投票,然后在累加器矩陣中選擇局部最大值來生成候選圓,該過程計(jì)算量巨大,合理的參數(shù)將能提高Hough變換的效率。
候選圓半徑范圍用ro=rmax-rmin表示,圓心坐標(biāo)范圍xo∈(0,w),yo∈(0,h),其中rmax和rmin分別為候選圓的半徑的最大值和最小值,w和h為分別為候選圓輪廓的寬度和高度范圍。根據(jù)柑橘識別和分割模塊輸出的單個柑橘果實(shí)有效像素區(qū)域的長寬,可以確定柑橘果實(shí)的候選圓半徑和圓心距離的搜索范圍:
rmax=1.5max(w,h)
(10)
(11)
distmin=min(w,h)
(12)
其中參數(shù)1.5為實(shí)驗(yàn)統(tǒng)計(jì)得出,使用參數(shù)優(yōu)化后的Hough變換對分割出的柑橘果實(shí)圖像進(jìn)行圓檢測的結(jié)果如圖6所示。
圖6 Hough變換柑橘果實(shí)擬合
本文所設(shè)計(jì)的柑橘采摘點(diǎn)識別算法運(yùn)行平臺硬件環(huán)境為AMD-R5 3600 CPU,Nvidia GTX1660S GPU,16G內(nèi)存。使用3.1節(jié)中所采集的100張包含自然環(huán)境中干擾情況的柑橘圖像測試集對本文的柑橘采摘點(diǎn)識別方法進(jìn)行了測試,測試集中共有487個柑橘果實(shí),經(jīng)過本文方法處理后,識別出423個有效柑橘果實(shí)采摘點(diǎn),識別準(zhǔn)確率為86.8%,部分實(shí)驗(yàn)結(jié)果如圖7所示。
圖7 實(shí)驗(yàn)結(jié)果
圖7(a)中的柑橘果實(shí)存在光照不均、亮斑陰影、枝條枝葉遮擋、背景復(fù)雜情況。經(jīng)過本文柑橘識別算法處理后,如圖7(b),表面高亮過曝、存在亮暗斑和枝葉遮擋的果實(shí)均被有效識別,框選出了果實(shí)可見區(qū)域。需要指出的是背景中的柑橘果實(shí),距離過遠(yuǎn),不在采摘考慮范圍內(nèi),識別算法將其忽略。識別出的果實(shí)區(qū)域圖像分別經(jīng)過預(yù)處理模塊和分割模塊處理后,分割結(jié)果整合結(jié)果如圖7(d),可見在存在光照和遮擋影響情況下,分割模塊獲得了除高光過曝導(dǎo)致像素信息丟失之外的合理預(yù)測結(jié)果,還原了圖片中柑橘的輪廓。圖7(e)為分割結(jié)果分別經(jīng)過Hough變換圓檢測后繪制出的柑橘果實(shí)完整輪廓彌補(bǔ)了識別結(jié)果中被遮擋果實(shí)不完整的現(xiàn)象,所獲得的柑橘采摘點(diǎn)如圖7(f)所示,結(jié)果更接近真實(shí)果實(shí)采摘點(diǎn)。
1)設(shè)計(jì)的基于卷積神經(jīng)網(wǎng)絡(luò)、改進(jìn)型全卷積神經(jīng)網(wǎng)絡(luò)和Hough變換圓檢測的柑橘果實(shí)采摘點(diǎn)識別方法對自然環(huán)境下存在的光照變化、亮斑陰影、枝條枝葉果實(shí)間任意遮擋等干擾條件下柑橘果實(shí)采摘點(diǎn)識別效果良好,魯棒性高。
2)本方法有效的識別自然環(huán)境中柑橘并分割出果實(shí)有效區(qū)域,識別出柑橘真實(shí)采摘點(diǎn)信息,識別準(zhǔn)確率均值達(dá)到了86.8%,為柑橘自動采摘技術(shù)中的果實(shí)采摘點(diǎn)識別提供了理論基礎(chǔ)和技術(shù)支持。