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