賈偉寬,孟 虎,馬曉慧,趙艷娜,Ji Ze,鄭元杰※
(1.山東師范大學信息科學與工程學院,濟南 250358;2.機械工業設施農業測控技術與裝備重點實驗室,鎮江 212013;3.卡迪夫大學工程學院,卡迪夫 CF24 3AA,英國)
農業生產中,機器視覺已經廣泛應用于果蔬產量預測[1-2]、自動采摘[3-4]、病蟲害識別[5-6]等領域,目標檢測的精度和效率成為制約作業裝備性能的關鍵。當前,對于靜態目標果實[7-8]、動態目標果實[9-10]、遮擋或重疊目標果實[11-12]的檢測已取得可喜成果?,F有的檢測模型大都是基于傳統的機器學習、新興的深度網絡模型。基于機器學習的檢測方法,主要依賴于目標果實特征,如顏色、形狀等,與背景差別較大的目標,其檢測效果越好,然而遇到綠色目標果實時,果實與背景顏色相近,檢測效果相對較差?;谏疃葘W習的檢測方法,訓練目標網絡過度依賴樣本數量,在實際果園環境中,有些果園難以獲得足夠量的樣本,無法訓練得到精準的檢測模型。在復雜的果園環境下,目標果實的姿態千變萬化,有些目標果實為綠色,且部分環境數據采集困難造成樣本數量不足,這些因素均給目標精準檢測帶來巨大挑戰,吸引著諸多學者的關注。
基于傳統機器學習的目標檢測方法,在果蔬檢測領域積累了大量的研究成果,Li等[13]提出基于均值漂移和稀疏矩陣原理的改進譜聚類算法,均值漂移去除大量背景像素減少計算量,圖像特征信息映射到稀疏矩陣,最后實現重疊綠色蘋果的識別。黃小玉等[14]針對自然光照條件下綠色目標果實的識別問題,提出DRFI算法的基礎上,結合顏色、紋理、形狀等特征,實現綠色桃子的識別,該方法先用基于圖的分割算法將圖像分割成多層,再計算各層的顯著圖,通過線性組合器得到DRFI顯著圖。Lv等[15]針對套袋青蘋果設計提取果實正常光照區域和突出光照區域相結合的分割方法,利用CLAHE和R-B色差對比增強,分別提取正常光照區域和高亮區域特征,得到完整目標果實區域。Qureshi等[16]利用視覺技術提出 2種芒果樹冠圖像自動計數方法,基于紋理的密度分割方法和基于形狀的水果檢測方法,并在夜間圖像上測試算法精度和魯棒性。這些方法在識別精度和效率上均取得較好的效果,為果園目標果實識別提供了重要的理論支撐。然而這些方法大多依賴于果實顏色、紋理、形狀特征,在復雜的果園環境下,目標果實特征不夠明顯,給此類檢測方法帶來較大挑戰。
近幾年,隨著軟硬件技術的發展和深度學習理論的興起,在目標識別過程中,可實現端到端的檢測,大幅提升目標的檢測精度以及模型的魯棒性,廣泛應用于目標檢測和圖像分割領域[17-18]。受此啟發,深度學習已逐漸滲入農業生產領域,在此基礎上,優化出眾多目標檢測和圖像分割模型應用于目標果實識別[19-20],以輔助實現智慧果園生產的科學管理。Biffi等[21]提出了一種基于ATSS深度學習的蘋果果實檢測方法,用以處理受遮擋目標果實,該方法只標注物體的中心點,在果園密度大的情況下比邊界標注更實用。Li等[22]提出一種適于樣本不足的 U-Net綠色蘋果分割模型,此方法融合殘差塊和門限卷積獲取目標圖像的邊界語義信息,利用atrus卷積技術保留更多尺度上下文信息,實現目標果實的分割。Wang等[23]提出一種輕量級卷積神經網絡 YOLOv4-LITE火龍果檢測方法,用此方法替換主干網絡 MobileNet-v3提高檢測速度,設置上采樣特征融合提高小目標檢測精度。武星等[24]針對復雜果樹背景下蘋果檢測,提出輕量級YOLOv3模型,采用融合均方誤差損失和交叉熵損失的多目標損失函數,在工作站和嵌入式開發板上的檢測速度為116.96浮點/秒(f/s)和7.59 f/s,準確率可達90%以上。上述方法在大都是特定情況下完成,檢測效果相對較好,然而在復雜環境下檢測綠色目標果實,尤其面對樣本數量不足的情況時,現有模型的檢測性能受到一定的挑戰。
針對復雜果園環境下采集到的綠色果實數據,為提高檢測綠色目標果實精度與效率,本研究借助Transformer網絡,引入重采樣法和遷移學習理論,提出基于優化 Transformer網絡的綠色目標果實高效檢測模型。該方法首先重采樣法擴充樣本,以解決因樣本數量不足導致網絡模型的欠學習;其次借助遷移學習加快網絡訓練的收斂,減少訓練時間;最后在匈牙利損失函數的基礎上重新構建損失函數,提高網絡的訓練精度。最后在綠色蘋果和柿子數據集上驗證該模型的有效性。
1.1.1 圖像采集
本研究以綠色目標果實精準檢測為目標,以綠色蘋果圖像、綠色柿子圖像為研究對象,因綠色目標果實與背景顏色相近致使檢測難度加大,極易造成目標果實的漏檢或枝葉混檢,給檢測帶來較大挑戰。
采集圖像地點:蘋果采自山東省煙臺市福山區龍王山蘋果生產基地(山東師范大學農業信息技術實驗基地),柿子采集于山東師范大學(長清湖校區)后山和濟南南部山區。
采集圖像對象:未成熟柿子(綠色),品種包括牛心柿、蓋柿和紅柿等;綠色蘋果,品種為煙嘎1號。
采集圖像設備:佳能EOS 80D單反相機,相機采用CMOS圖像傳感器。圖像分辨率為6 000像素×4 000像素,保存為.jpg格式,24位彩色圖像。
采集圖像環境:采集過程中充分考慮實際果園復雜場景,采集圖像包括多時間、多天氣、多光照、多角度、多距離圖像。多時間包括春季、夏季以及冬季大棚拍攝;多天氣環境包括晴天、陰天、雨天;多光照環境包括白天自然光和夜間人工補光環境,其中白天重點在順光與逆光2個條件下進行拍攝,夜晚環境以LED燈補光拍攝;多角度拍攝包括仰視45度角拍攝,水平拍攝,360度環顧拍攝;多距離拍攝包括遠景拍攝、近景拍攝。在上述環境下,拍攝得到果實重疊、枝葉遮擋等多種情況的綠色果實圖片。
共采集553張綠色柿子圖像和268張綠色蘋果圖像,圖1所示,包括夜間、重疊、逆光、順光、遮擋,雨后等多種情況。如逆光圖像目標果實表面光線較弱,目標果實與背景之間區別不明顯;目標果實間相互重疊、枝葉遮擋果實輪廓往往難以區分;果實表現陰影或雨滴干擾等,再由于目標果實與背景顏色十分相近,給目標果實精準檢測造成了一定的困難。
1.1.2 重采樣法數據擴充
檢測模型訓練大多基于足夠的樣本量,然而在實際果園環境中,部分樣本采集相對比較困難,由于樣本量不足,在訓練過程中容易出現過擬合現象,且模型泛化能力較差。為進一步提高檢測模型的精度,可先嘗試數據集優化,擴充樣本數據集。對采集到的 268張綠色蘋果圖像,采用重采樣法[25],解決樣本數量不足問題,擴充圖片數量,促進訓練時模型的收斂與擬合。
重采樣法(bootstrapping)就是利用有限的樣本資料經由多次重復抽樣,重新建立起足以代表母體樣本分布之新樣本。假設抽取的樣本大小為n,在原樣本中有放回的抽樣,抽取n次。每抽一次形成一個新的樣本,重復操作,形成很多新樣本,通過這些樣本就可以計算出樣本的一個分布。本研究將原始數據多次重復抽樣,擴充數據,滿足本研究網絡在訓練時對樣本的需求,解決樣本數量不足問題。借助重采樣法將 268張綠色蘋果圖像擴充為511張按照7∶3的比例,分為訓練集388張圖像,測試集123張圖像。將553張綠色柿子圖像按照7∶3的比例,分為訓練集388張圖像,測試集165張圖像。
1.1.3 數據集制作
本研究采用 LabelMe軟件標注綠色球形果實圖像制作COCO格式數據集。用LabelMe將綠色目標果實的邊緣輪廓使用標注點標注出來,并給出標注標簽。標注點將圖像分為 2部分,標注點內部為綠色目標果實,其余為背景。所有的標注信息如標注標簽、標注點坐標等將會保存到與原圖像對應的json文件中。之后將json文件使用LabelMe轉換成COCO格式數據集。
實際果園所采集的圖像,受光照和枝葉影響,目標果實往往會枝葉遮擋、相互重疊、枝葉背景相對復雜,且由于目標果實顏色與背景顏色十分相近,綠色目標果實的高效精準檢測是個難題。另外,檢測模型受樣本數量不足的影響,樣本學習不充分,易出現過擬合現象,從而導致目標果實檢測精度降低,難以滿足在實際作業機械的裝配需求。
針對綠色目標果實的高效精準識別問題,本研究提出基于Transformer優化檢測模型,如圖2所示。首先利用 CNN結構提取圖像特征,然后將提取的特征輸入到Transformer編碼器-解碼器,借助前饋神經網絡預測目標果實邊界框,最后經二值匹配損失處理邊界框,實現綠色目標果實檢測。在訓練過程中,采用二值匹配損失使用唯一的真值框進行分配預測,沒有匹配的預測會產生“無目標”(?)類預測,進一步提高綠色目標果實檢測精度。實際果園環境遠比預想的情況復雜,尤其是在樣本數量不足時,僅使用卷積神經網絡,難以有效檢測綠色目標果實。本研究引入 Transformer,可一次預測所有目標,在預測目標與真實目標之間進行二值匹配,得出預測結果。
1.2.1 優化模型網絡結構
基于Transformer的綠色目標果實優化檢測模型的結構由三分部組成:基于CNN的頭部網絡結構用于圖像特征提取,Transformer編碼器-解碼器用于處理圖像特征,前饋網絡(FFN)結構用于邊框預測。
頭部:為更好實現圖像特征提取的并行處理,選用CNN作為Transformer網絡的頭部結構。與其他提取特征方式相比,CNN可與Transformer框架更好的切合,并行處理特征,減少訓練時間。從初始圖像ximg∈R3×H0×W0的三個顏色通道開始,生成一個低分辨率的激活映射特征f ∈其中使用的特征值為C=2048,H,W=H0/32,W0/32。
Transformer編碼器:經 CNN網絡得到多維序列特征,然而編碼器的期望輸入的是一個序列,因此,將激活特征映射f的通道維度從C降低到更小的維度d,建立一個新的維度z0= Rd×H0×W0,并將z0的空間維度壓縮成一維,從而產生一個編碼器可接受的d×HW的特征映射。編碼器由一個多頭自注意力模塊以及一個前饋神經網絡構成,如圖3a所示:編碼器輸入是一個經過壓縮后得到的序列,處理時會產生損失,本研究使用固定位置編碼來彌補損失,在每個模塊當中,添加位置編碼,優化編碼器結構,解決壓縮損失。
Transformer解碼器:使用多種注意力機制構建Transformer解碼器,對尺寸為d的N個對象嵌入進行轉換,如圖3b所示。為了提高檢測綠色目標果實效率,本研究對N個對象同時進行解碼工作,效率高,精度好。編碼器特征處理后,生成大小各不相同的輸出,經解碼器結算,預測結果時可產生遠遠大于實際對象數量的邊界框,避免綠色目標果實漏識。經過解碼器學習到的位置編碼,與編碼器相同,將其添加到解碼器的每一個模塊中,優化解碼器結構。最后經過前饋神經網絡獨立解碼為框坐標和類標簽,從而產生N個最終預測。使用編碼器-解碼器對這些嵌入進行處理,并充分考慮目標對象之間的成對關系,并使用整個圖像上下文信息,以此更好的適應樣本數量不足的情況,優化輸出結果。
前饋神經網絡:為了防止網絡退化,提高檢測效果,前饋神經網絡使用一個帶有ReLU激活函數、隱藏維數為d的3層感知器和一個線性投影層來計算結果。前饋神經網絡預測歸一化的中心坐標、邊界框的高度和寬度,通過線性層使用softmax函數預測類標簽。最終的結果會產生兩種結果,一種是有果實的邊界框,另一種是沒有果實的空值,使用?代替,這樣可以確保將所有的果實進行預測,沒有漏識的果實。
綜上,綠色目標果實圖像經上述 3部分結構連續工作:CNN提取目標果實特征,經位置補碼處理后輸入到Transformer編碼器-解碼器中,通過前饋神經網絡預測最終結果,產生邊界框,最終完成綠色目標果實檢測,如圖4所示。
1.2.2 損失函數構建
該模型在訓練過程中,產生N個預測邊界框,如何對這些預測結果進行評分,篩選出最優結果,成為訓練的難點之一。本研究嘗試構建最優二值匹配損失函數,使用此函數進行二值匹配預測,并優化目標對象的邊界框損失。
用y表示真值集,用表示預測集。假設N大于圖像中對象個數,則y數量也大于圖像中對象個數(當無對象時,用?填充)。為了找到這兩個集合之間的最優二值匹配,使用σ∈代表N個元素的排列,如公式1所示。
其中 Lmatch(yi,yσ(i))是真值yi與預測序列σ(i)之間的二值匹配損失,此優化算法在以匈牙利算法[26]基礎上進行的工作
第一步,構建匹配損失函數,在構建匹配損失時,需要同時考慮類預測、相似預測和真值框。真值集的每個元素i可以用yi= (ci,bi)來表示,其中ci表示目標類標簽(可能為?),bi∈[0,4]4,是一個定義真值框中心坐標及其相對于圖像大小的高度和寬度的矢量。對于預測序列σ(i),用概率定義類ci,用定義預測框。定義如下
該匹配過程與目前流行的匹配機制相比,如匹配建議和對真值進行錨框定位的啟發式分配規則是大體是相同的。他們之間最主要的區別是需要為其中沒有重復的預測集找出一對一的匹配。
第二步是計算損失函數,即前一步中二值匹配時,所有配對的匈牙利損失。對損失的定義類似于普通對象檢測器的損失,即類預測的負對數似然值和后面定義的盒損失的線性組合
邊界框損失:與其他邊界框預測不一致的是,本研究方法經過前饋神經網絡處理后,直接預測。對于最常用的?1損失函數來說,即使是在不同的邊界框尺度上,其相對誤差也十分相似。為了解決這問題,將?1損失函數與 GLOU損失函數 Liou(·,·)在尺度不變的基礎上相結合,構建邊界框損失函數
其中λiou,λL1∈?是超參數。這兩個超參數通過批處理中的對象數量進行規范化。
輔助損失函數:在訓練過程中在解碼器中使用輔助損耗[27]對優化模型有所幫助,特別是幫助模型輸出每個類對象的正確預測。因此,在編碼器與解碼器每一層中,增加了前饋神經網絡和匈牙利損失函數。所有的前饋神經網絡共享它們生成的參數,并通過一個額外的共享層來標準化來自不同解碼器層的前饋神經網絡的輸入。
1.2.3 遷移學習優化收斂
從頭開始訓練一個神經網絡通常來說代價非常大,訓練網絡并使網絡收斂需要足夠大的數據集,以及需要足夠長的訓練時間等。基于以上原因,在實際應用時,需要消耗較大的空間與較多的時間。即使有足夠多的數據集,達到收斂所花費的時間也較長,不利于農業機器人實時作業,因此使用預先訓練的權值代替隨機初始化的權值就有十分重要的意義。利用遷移學習中的繼續訓練過程,微調網絡之中的權值可以減少訓練所花費的時間,節約時間與空間成本。
Long等人[28]的研究結果表明,特征的可轉移性隨著預訓練任務與目標任務的差異減少而增大,證明即使是從與目標任務差異很大的任務進行特征遷移,也是比初始化訓練參數要好。在實際應用遷移學習技術時,需要考慮預訓練模型是否滿足目標框架約束以及怎樣進行微調等細節。因此,首先使用不相似任務的模型作為預訓練模型,分別訓練綠色柿子與綠色蘋果模型,使用綠色蘋果為數據集訓練得到的模型為模型a,使用綠色柿子為數據集訓練得到的模型為模型b,然后使用模型a作為訓練綠色柿子模型的預訓練模型,預訓練模型 b作為訓練綠色蘋果模型的預訓練模型,在不影響模型精度的前提下,交叉進行遷移學習,對比遷移訓練前后訓練時間。
本實驗算法處理平臺為個人計算機,處理器為 Intel i5-7400,8 GB內存。顯卡為NVIDIA GTX 1080 Ti。軟件環境為 Linux系統,編程語言為 Python,構建解碼器與編碼器各6層,在服務器上搭建PyTorch深度學習框架,實現綠色果實目標檢測的訓練和測試。
本研究的綠色果實檢測模型訓練過程具體步驟如下:
1)在果園環境下使用佳能EOS 80D單反相機采集豐富的綠色果實圖像。
2)重采樣法(bootstrapping)擴充樣本。
3)使用LabelMe軟件對圖像進行標注,標注時,將每個目標果實標注為一個獨立的連通域,制作成 COCO格式數據集。
4)將數據集輸入卷積神經網絡提取特征。
5)構建Transformer網絡框架,訓練模型。
6)進行遷移學習,加快模型收斂,減少訓練時間。
7)輸入測試樣本,使用評估指標評價獲得的綠色果實檢測模型的檢測結果,根據評估結構調整模型的參數。
8)重復訓練改進模型,直至獲得最優網絡模型。
為評估本模型對綠色目標果實檢測的效果,本研究采用召回率(%)、精確度(%)以及訓練時間3項指標對模型進行評估,召回率、精確度的取值范圍均為[0,1]。
式中TP是真實的正樣本數量,FP是虛假的正樣本數量,FN是虛假的負樣本數量。
試驗時,充分考慮實際應用環境,模擬復雜果園環境下數據難以采集的情景,首先使用不相似任務模型遷移學習,將訓練完成得到的模型作為新的預訓練模型,再次遷移學習,對比訓練時間。使用不相似任務的模型遷移學習后,訓練綠色柿子圖像使用 6小時28分鐘55秒,訓練綠色蘋果圖像使用6小時23分鐘41秒,使用相似的模型遷移學習后,訓練綠色柿子使用5小時37分鐘07秒,訓練綠色蘋果圖像使用5小時28分鐘43秒,訓練效率提高 13%以上。通過對比時間可以看到,使用相似類別模型進行遷移學習,實際訓練模型所需要的時間更少,且速度更快。充分說明了特征的可轉移性隨著預訓練任務與目標任務的差異減少而增大,增加了檢測速度與效率。
試驗采集的圖像充分考慮到果園的真實復雜場景,包括不同光照、不同角度影響,如順光、逆光、相互重疊、枝葉遮擋、夜間等混合干擾下的圖像,本研究所構建的Transformer的綠色目標果實優化檢測模型,柿子和蘋果的檢測效果圖如圖5、圖6所示,檢測評估結果列于表1。
蘋果圖像有較多遠景圖像,果實比較密集,數目較多,柿子圖像采集環境明顯比蘋果圖像采集環境復雜,所以柿子圖像的召回率與準確率相比之下略高。重疊、逆光、夜間和遮擋條件對果實檢測造成了一定影響,檢測效果稍微略差。順光和雨后下的果實檢測效果相對較好,不存在遮擋和重疊情況的獨立果實檢測效果最好。綜上,該方法的泛化能力和魯棒性較好。
為了進一步分析算法性能,將本研究方法與具有代表性的 Mask r-cnn[29]、Mask scoring r-cnn[30]、Faster r-cnn[31]和Retinanet[32]方法進行對比,試驗結果列于表1。
試驗采集綠色柿子圖像553張,由表1可知,檢測綠色柿子準確率為93.27%,試驗精度較好,使用原始綠色蘋果圖像訓練網絡,準確率為90.70%,精度較差,故將綠色蘋果圖像使用重采樣法擴充樣本,有效解決因樣本不足致使網絡擬合較差問題,使用重采樣后,檢測綠色蘋果準確率為91.35%,召回率為88.38%。Mask r-cnn、Mask scoring r-cnn以及 Faster r-cnn分別為 90.03%,89.52%和89.11%,較未使用重采樣法前,精度有所提升。Retinanet方法面對樣本數量不足時檢測精度為87.82%,使用重采樣法后精度為88.59%。

表1 5種方法性能比較召回率和準確度Tabel 1 Performance comparison of five methods by recall rate and precision rate %
經過上述分析,通過目標檢測精度來看,使用重采樣法后,精度有所提升,可更好的滿足果園智能測產和自動化采摘要求,提高模型泛化能力。
由表1可知,盡管存在誤識和漏識現象,但與其他方法相比,本研究方法檢測性能最好,可較為準確地檢測出圖像中綠色目標果實。本研究檢測綠色柿子準確率分別為93.27%,召回率為89.75%。其中Mask r-cnn、Mask scoring r-cnn以及Faster r-cnn都采用r-cnn結構,其遵循序列處理特征原則,在處理并行問題上,效果表現不佳,而本研究方法使用Transformer框架處理圖片,可并行處理特征,優化最終結果。Retinanet方法檢測效果比Faster r-cnn略差。
經過上述分析,通過目標檢測精度來看,本研究方法取得了不錯的效果,基本可以達到實時性的要求,具有很強的泛化能力和魯棒性。
1)通過重采樣處理,可有效擴充樣本數量,提高檢測模型學習能力,有效解決因樣本數量不足引起的網絡模型欠學習。
2)模型訓練引入遷移學習,有效提高模型的訓練效率和加速網絡收斂,從實驗結果看,訓練效率提升 13%以上。
3)新模型可有效實現復雜果園環境下多姿態、多光照、多場景的目標識別,新模型的泛化能力和魯棒性較好。試驗結果表明,檢測綠色柿子與綠色蘋果時,精度分別為93.27%和91.35%。