孫寶霞,梁翠曉,劉凱,鄭鎮輝,胡文馨,熊俊濤
(1. 廣東機電職業技術學院電氣技術學院,廣州 510515; 2. 華南農業大學數學與信息學院,廣州 510642)
中國是世界第一大柑橘的生產國,利用機器視覺技術進行樹上柑橘的視覺定位與缺陷檢測,能為柑橘采摘以及果園產量估計提供技術支持,對精準農業的實現和生產成本的控制起到有效作用[1]。水果生長過程中存在形態隨機性和品質多樣性等特征,而其生長的果園環境存在非線性、易時變、多擾動等特點,這是農業信息化所面對的難題[2]。以柑橘為例,通過園藝學知識可知,該類水果為單果,其生長狀態隨機而品質多樣,利用視覺監測其生長狀態極易出現信息不全、環境干擾導致圖像畸變而出現判斷錯誤的情況[3]。造成該情況的主要原因是現有視覺檢測方法存在環境適應性差、目標檢測能力弱的不足[4]。因此,如何提升自然環境下視覺監測果實品質的認知能力,實現目標狀態的精確辨識,進行果園管理的智能決策,并能適應不同果園環境,是目前智慧果園生產信息化發展面臨的瓶頸問題。
目前國內外柑橘表征品質檢測技術的研究主要是基于機器視覺或光譜技術進行柑橘品質檢測。例如,高嘉軒[5]提出了一種基于遠鄰域顏色描述特征及稀疏表達的類圓形水果缺陷檢測方法,實驗證明該方法在檢測速度和時間上都有明顯的改進;容典[6]搭建了水果表面缺陷檢測的視覺試驗系統平臺,利用快速邊緣分割法和灰度局部閾值分割對臍橙表面8種常見缺陷進行檢測,分割精度達92%;張明[7]設計開發了一種基于掩模及亮度校正的算法對臍橙表面缺陷進行檢測,實現臍橙表面缺陷一次性分割提取;Momin等[8]結合多光譜成像技術與自適應預處理技術對柑橘進行缺陷檢測,其準確率達95%以上;Patel等[9]設計并評價了一種用于芒果果實在線檢測和缺陷分割的反射紫外圖像采集系統,檢測表面的微小損傷;Muharfiza等[10]提出了基于機器視覺系統的柑橘熒光缺陷檢測新技術,檢測柑橘表皮中不明顯的缺陷。這些研究能有效降低自然光照的干擾,提高果實目標的識別精度,但已有研究較多集中在果蔬成熟狀態的視覺識別,缺少果實生長期不同品質狀態的視覺識別研究。
自然環境不同天氣和時段的光照強度是隨機變化的,在低照度條件下太陽光的干擾減少了,但是采集圖像信息也會出現色彩丟失、圖像模糊等現象。針對這種情況,Payne等[11]進行了夜間樹上芒果品質的視覺檢測研究,結合紋理濾波和hessian濾波去除樹葉、枝干的干擾,設計了一個芒果檢測系統;Fu等[12]進行了獼猴桃的夜間圖像識別研究,通過設計在R-G顏色空間進行獼猴桃的識別研究,試驗表明識別準確率達到88.3%;姬偉等[13]提出一種基于引導濾波的具有邊緣保持特性的Retinex圖像增強算法,較雙邊濾波Retinex方法的運行時間平均減少74.56%。以上研究主要采用的方法在復雜自然環境下易受自然光、遮擋、果實形態等其他因素的影響,因此在實際運用中識別算法的魯棒性和適用性較差。如何克服環境因素影響,進行果園水果實時有效的視覺監測,還有待進一步深入研究。
近年來,隨著深度學習技術的發展,一些研究將深度學習應用于水果品質的視覺監測。例如,Villacrés等[14]首次通過使用Faster R-CNN算法進行櫻桃果實的檢測、分類和產量估計,其準確率為85%左右;岑冠軍等[15]提出基于深度學習算法的芒果圖像在線識別計數方法,其準確率為82.3%。此外,近年來一些學者嘗試將多模態成像方法運用到該研究領域。例如,Argote等[16]提出了一種基于熱圖像捕獲和模糊圖像處理的計算機視覺系統來估計甜橙樹中果實的數量。該類方法雖然精度高,但其熱圖像容易受其他因素如相對濕度、環境溫度和風的影響,因此在實際水果檢測和產量預估任務中很少被采用。以上這些研究都為柑橘的視覺檢測和產量估計提供了參考思路。
由上述可知,多源信息的視覺方法,能有效提升視覺性能,因此視覺傳感器及視覺系統結構的確定非常關鍵。已有研究大多采用多源視覺信息的應用環境偏向于溫室,一些信息源獲取手段對環境光照敏感,例如近紅外光譜;并且研究主要集中在成熟果實的視覺識別,較少進行果實生長期不同品質狀態的視覺辨識研究。針對復雜的果園環境,怎樣建立合理的視覺系統,并設計魯棒性強和精確性高的視覺檢測算法,是當前柑橘表征品質檢測研究的關鍵問題。 筆者選擇夜間自然環境下進行樹上柑橘的識別計數與缺陷檢測分類研究,提出了基于深度學習的夜間環境樹上柑橘表征缺陷視覺檢測方法,主要工作如下:1)設計了夜間視覺檢測系統軟、硬件,實現夜間樹上柑橘圖像的采集;2)訓練了YOLO v4柑橘果實表征檢測的深度學習模型,并設計了對比試驗評估模型性能。本研究為樹上柑橘生長期品質監測與產量估計提供有效方法,同時為柑橘采摘實時檢測提供技術支持。
夜間環境樹上柑橘圖像的采集,需要設計光源及攝像機組合的視覺系統。Kondo[17]在紫外光進行柑橘缺陷檢測的研究中,使用熒光分光光度計對柑橘表皮提取物進行光譜測試,發現在激發波長為380 nm左右時,激發出的熒光亮度最大。因此,與大多數的水果識別研究不同,本研究需要利用紫外光在夜間對目標進行熒光激發并識別,在視覺系統的設計上會有所不同,特別是光源方面,需要兼顧照明和激發兩重作用。酮類物質產生熒光現象需要適當波長的紫外光激發。本研究使用市面常見規格的紫外光源進行試驗,同時比較激發波長分別為365,385和395 nm下四季桔缺陷部分的熒光現象。分析柑橘彩色圖像,如圖1所示,發現激發波長為365和385 nm下四季桔缺陷部分熒光現象都比較明顯,395 nm下的熒光現象十分不明顯。在波長為365 nm的紫光燈下看起來偏白,對未成熟的四季桔(青色的)進行缺陷檢測時,缺陷部分的綠色熒光與未成熟四季桔正常表皮的青色相似,會影響缺陷的識別。而在波長為385 nm的紫光燈下看起來偏紫,燈光照射在未成熟四季桔時四季桔表皮呈暗紫色,和綠色熒光呈鮮明對比。此外,385 nm波長的紫外燈珠價格相對其他規格要低,因此本視覺系統采用波長為385 nm 的巨宏芯片紫光燈珠。

圖1 不同波長的檢測效果Fig. 1 Detection results of different wavelengths
另外,由于紫光燈珠發出的紫外光線波長較低,根據能量和波長成反比的關系,紫外燈長時間工作會造成周圍環境溫度上升、對人體造成傷害,所以紫燈只在檢測時開啟,其他時間處于關閉狀態。為在檢測過程中尋找到柑橘所在位置,本研究在視覺系統中加入了易于獲取且可控制光照強度的JH-3W140P45-T4A型號白光燈珠。白光燈珠可以長時間開啟,用來提供除檢測狀態其他時間的燈光環境。
本視覺系統選擇夜間的自然環境進行柑橘缺陷識別作業。日間自然環境下,不同時刻太陽位置的改變導致照射在柑橘的光照不能控制在合適亮度范圍內,存在柑橘圖像亮度過低或過強的現象。在夜間自然環境下,本視覺系統的結構光源提供穩定且均勻的光照,有利于圖像處理檢測缺陷。
本視覺系統采用12顆1 W的LED白光燈珠和18顆1 W的385 nm波長的LED紫外燈珠交叉嵌在一個30°匯聚的平面,構成一個具有雙光源的檢測光源,提供白燈和紫外燈兩種光源,為四季桔品質檢測提供合適的環境亮度。LED驅動電路采用XL6019搭建升壓電路,輸出20 V的LED供電電壓,采用恒壓限流的方法統一為白燈和紫外燈供電,采用不同阻值的電阻,并配可變電阻器對LED兩端電壓進行調整。
通過實驗確定了本視覺研究系統最佳亮度范圍為55~65 lx。在確定最佳亮度范圍試驗中,將柑橘置于沒有外界光照的條件下(光照強度≤5 lx),視覺系統“最佳亮度”從0開始設置,每次以10 lx為單位增加系統設定的最佳亮度,通過觀察不同亮度下視覺系統識別效果確定成熟柑橘最佳識別光照強度范圍。比較不同光照條件的成熟柑橘識別結果,當光照強度弱于55 lx或高于65 lx時缺陷識別效果會出現漏識別或多識別,無法很好地把缺陷部分框出來。當光照強度處于55~65 lx時成熟柑橘的識別最為準確。識別結果如圖2所示。

圖2 在55~65 lx光強下柑橘識別結果Fig. 2 Citrus recognition results at 55-65 lx-ray intensity
本研究的視覺系統由高清攝像頭、白光LED燈、紫光LED燈、STC15單片機等硬件組成。高清攝像機為羅技公司生產的C525型,像素500萬以上并且自動對焦。白光LED光源是巨宏光源公司生產的JH-3W140P45-T4A型號燈珠,色溫5 000~6 000 K,光通量為190~210 lm/W,紫光LED光源波長為380~385 nm,光通量為20~30 lm,電壓為3.4~3.6 V,能在夜間環境下提供有效的穩定光源。單片機使用STC15系列的STC15F2K60S2。硬件部分利用AOD4184 MOS場效應管整流管控制電平開關。使用MBRD1045 10 A/45 V貼片TO-252整流管45G肖特基二極管。通過XL6019電源驅動芯片來搭建升壓電路。柑橘圖像的采集方式為:攝像頭位于自制光源中心與LED燈組成視覺系統,視覺系統距柑橘果實150~200 mm,平行拍攝,而PC機利用GUI界面控制系統。夜間圖像采集的地點為華南農業大學果園,采集對象為成熟四季桔,采集時間為2019年1月23日晚,圖像分辨率為1 920×1 080。圖像采集場景見圖3,燈光視覺系統中心與采集對象中心在同一水平線上,相距15~20 cm。為確保樣本的全面性,本研究在夜間環境從不同角度對不同的柑橘區域進行圖像采集,一共采集了154張柑橘紫外光圖像。本研究從采集的154張柑橘紫外光圖像中篩選出139張圖像作為圖像處理樣本,其中包括62張柑橘紫外光圖像是無缺陷的,77張是有缺陷的。在139張樣本中選取了100張柑橘紫外光圖像,其中訓練集66張,驗證集34張,用于訓練模型樣本的采集,其中包括50張有缺陷的柑橘紫外光圖像和50張無缺陷的柑橘紫外光圖像。而剩余39張柑橘紫外光圖像用于測試算法的準確性,其中包括27張有缺陷的柑橘紫外光圖像和12張無缺陷的柑橘紫外光圖像。

a. PC視覺處理端;b. 燈光視覺系統;c. 拍攝距離;d. 目標柑橘。圖3 圖像采集場景Fig. 3 Image acquiring scene
1.4.1 YOLO v4 網絡
相比其他目標檢測與識別方法(如R-CNN系列),YOLO(You Only Look Once)系列網絡基于回歸的方法來提取特征,無需生成大量的候選窗口,而直接采用單個神經網絡對輸入的圖像進行目標檢測和分類,具有較快的檢測速度,可滿足農業果蔬采摘機器人對水果檢測精度和速度的需求[18]。YOLO網絡將輸入的圖片劃分成大小為S×S(S=7)的網格,如果一個物體的中心落在某個單元格內,則由該單元格負責檢測該物體。單元格會輸出多個預測框和每個預測框的置信度,拋棄置信度低的預測框并通過非極大值抑制算法最終定位柑橘位置。其中預測框包含參數c、x、y、w、h,(x,y)為目標在候選框的中心坐標,w、h為候選框的寬度和高度,c(s=1)為類型。
YOLO v4網絡是目標檢測算法YOLO系列的第4個版本,同樣FPS等于83左右,YOLO v4在MSCOCO數據集上的AP是43,比YOLO v3高了10個百分點。同時YOLO v4在該數據集上具有較高的檢測精度和速度,檢測性能優于Faster R-CNN、SSD和EfficientDet等算法。
在YOLO v4提出前,最精確的目標檢測網絡存在不具備實時性、需要使用大量的GPU進行小批量運算的缺點。而YOLO v4在YOLO v3的基礎上,通過對輸入端、主干特征提取網絡、特征增強融合網絡以及預測網絡進行了創新,有效提升神經網絡的準確率,具有較強的檢測性能。因此,本研究采用YOLO v4作為室外環境下柑橘熒光缺陷的檢測方法。
1.4.2 Mosaic數據增強
為了使網絡具有更低的訓練門檻,即在GPU資源有限的條件下得到更好的結果,YOLO v4對訓練時的輸入端進行了改進,主要包括Mosaic數據增強、cmBN、SAT自對抗訓練。
YOLO v4所使用的Mosaic數據增強方法是由Wang等[19]2019年提出的CutMix數據增強方法的改進版。如圖4所示,Mosaic不同于一般的數據增強方式,Mosaic隨機讀取4張圖像,通過縮放、裁剪以及排布的方式拼接成1張新圖像后輸入到網絡中進行訓練,能夠使網絡訓練1次就可學習4張圖像。該方法極大地豐富了檢測物體的背景,同時可使得網絡在訓練時不需要設置很大mini-batch和通過傳統的GPU就可以獲得比較好的檢測效果。

圖4 數據增強方法Fig. 4 Data enhancement method
1.4.3 主干特征提取網絡
由于本研究數據集中柑橘缺陷像素在整幅圖像中占比較小,因此檢測網絡在保證實時性的同時應盡可能具有較高的識別精度。相比YOLO v4_Tiny的輕量和高速,YOLO v4_CSPDarknet53則是在保證實時性的基礎上追求更高的性能。因此本研究選取具有較高檢測精度和速度的CSPDarknet53作為YOLO v4的主干網絡。
YOLO v4通過借鑒Wang等[19]提出的CSPNet,在YOLO v3主干網絡Darknet53的基礎上改進得到CSPDarknet53。CSPDarknet53包含5個CSP模塊,其中在每個CSP模塊前采用大小為3×3的卷積核以起到下采樣的作用。與YOLO v3原有的殘差塊相比,CSP模塊主要有兩點優勢:1)充分利用特征融合,有效提升網絡的學習能力;2)降低內存成本,提高硬件資源使用率,在使得網絡輕量化的同時保持較高的準確性。
此外在CSPDarknet53中,YOLO v4都使用了Mish激活函數,其公式如下:
y=x×tanh[ln(1+ex)]
(1)
如圖5所示,Mish激活函數每一點更加平滑,這樣網絡可以學習到更高質量的信息。同時在負值時,為預防信息中斷采取較小的負梯度流入策略,從而得到更好的準確性與泛化能力。

圖5 Mish激活函數Fig. 5 Mish activation function
1.4.4 特征增強融合網絡
針對小目標的檢測,研究者通常會輸入更高分辨率的圖像、采用更深的網絡以及在BackBone和最后的輸出層之間插入一些層。為了更大程度地增加感受野,YOLO v4在CSPDarknet53 之后添加了額外模塊SPP網絡,以在保證網絡運行速度幾乎不變的情況下分離出最顯著的上下文特征。同時采用PANet作為參數聚合方法,通過將融合的方法由加法改為乘法,更加充分地利用了特征融合,使得網絡能夠具有更加強大的目標檢測性能。
在SPP網絡中,分別使用大小為k={1*1,5*5,9*9,13*13}的卷積核對上階段得到的特征圖進行最大池化,再通過Concat連接層將所有的特征圖進行聚合(圖6)。本研究通過使用預訓練模型和柑橘缺陷數據集對網絡進行訓練,并根據訓練結果調整YOLO v4網絡參數,最后得到基于YOLO v4的柑橘缺陷檢測網絡。

圖6 SPP-Net結構Fig. 6 SPP-Net structure
試驗采用CSP_Darknet53深度學習框架,計算機配置為Intel Core i7-8700HQ CPU @ 3.20GHz × 12,顯卡為GeForce GTX 1080,操作系統為Ubuntu16.04LTS,NVIDIA驅動版本為430.26,CUDA版本為10.0.130,CUDNN神經網絡加速庫版本為7.4.2,訓練設置如下。
1)參數設置:每次迭代訓練的樣本數為16,進行20 000次迭代;動量因子設為0.949;衰減系數設為0.000 5;學習率調整策略采用steps,初始學習率設為0.001,當網絡迭代16 000次和18 000次時,學習率依次降低為0.000 1和0.000 01。
2)訓練策略:在訓練過程中,采用馬賽克數據增強策略,同時通過調整飽和度、曝光量以及色調等方式來生成更多訓練樣本,提高網絡對不同分辨率圖像的魯棒性和準確率。
YOLO v4網絡在訓練時的loss值和mAP值隨迭代次數的變化曲線見圖7。從圖7中可以看出,當網絡迭代超過16 000次后,損失值基本趨于平穩,下降到1.01左右,同時訓練mAP值穩定于0.94左右。從參數收斂情況來看, 網絡訓練結果理想。

圖7 基于YOLO v4的柑橘缺陷檢測網絡架構Fig. 7 Citrus defect detection network architecture diagram based on YOLO v4
本研究設計并進行了夜間柑橘識別試驗,通過使用YOLO v4網絡對測試集中成熟和未成熟柑橘圖像,以及各種環境下的柑橘果實圖像進行識別,其效果如圖8所示。

圖8 YOLO v4網絡檢測效果Fig. 8 YOLO v4 detection results
從圖8可以看出,對于成熟以及未成熟柑橘、紫外強弱光和圖像中果實稀疏密集的情況,YOLO v4網絡均可較好識別出柑橘表面缺陷部分,這些缺陷在白天自然光照下特征不明顯,如病害、機械損傷、日灼和風傷等在柑橘果實上形成的傷斑等缺陷。特別是在反光較為嚴重以及紫外光較弱的條件下仍能完整檢測并框出圖像中柑橘缺陷部分,表明YOLO v4網絡整體性能較優。
試驗采用精確率(precision,P)、召回率(recall,R)和F1值作為評價標準,計算公式如下:
(2)
(3)
(4)
式中:TP為真正例;FP為假正例;FN為假負例;P為精確率;R為召回率;F1為查準率與查全率的調和平均數。
從圖9和表1可以看出,YOLO v4識別算法在測試集上表現的檢測性能略好于在驗證集上表現的檢測性能,說明訓練得到的缺陷識別網絡具有較好的泛化能力。同時試驗結果表明,YOLO v4識別算法在測試集上的精確率、召回率、F1值以及mAP值分別為95.32%、94.59%、0.95和90.52%,具有較優的檢測效果,滿足室外環境下對柑橘熒光缺陷檢測算法精度的要求。

圖9 YOLO v4網絡測試集和驗證集P、R曲線對比圖Fig. 9 P and R curve comparison of YOLO v4 network test set and validation set

表1 YOLO v4_test set與YOLO v4_val set在不同柑橘場景下性能比對Table 1 YOLO v4_test set and YOLO v4_Val set performance comparison under different citrus scenarios
為了更直觀地驗證本研究算法的效果,從測試集中隨機抽取兩幅測試圖像,分別使用YOLO v4和Faster R-CNN 2種算法進行測試。實驗結果如圖10所示。

圖10 不同算法識別效果對比圖Fig. 10 Result comparisons among different algorithms
圖10顯示了YOLO v4和Faster R-CNN兩種識別算法在兩種柑橘狀態下的識別效果。測試圖像1中有3個目標柑橘,Faster R-CNN算法正確識別出3個、誤檢1個(圖10a),而YOLO v4則正確識別出3個(圖10c)。測試圖像2中有多個目標柑橘,從圖10b可以看出,Faster R-CNN存在果實漏檢情況,而圖10d則表明YOLO v4成功識別了所有柑橘目標。兩組測試均說明YOLO v4算法性能更優。
YOLO v4與Faster R-CNN性能對比見表2。表2表明,YOLO v4網絡識別精度和速度均比Faster R-CNN更好,相比于Faster R-CNN,精確率和召回率分別提高了5.14%和6.16%,同時檢測速度明顯快于Fater R-CNN,表明基于YOLO v4的熒光柑橘缺陷識別算法具有更優的性能,可為農業智能化生產中果蔬產量的估計提供技術支持。

表2 YOLO v4與Faster R-CNN性能對比Table 2 Comparison of YOLO v4 and Faster R-CNN network performances
1)本研究提出一種柑橘表征缺陷的熒光檢測算法,設計并制作了在夜間自然環境中用于采集柑橘圖像的視覺系統。根據柑橘表皮的吸收光譜,實驗并確定了適合的紫外光波長。
2)設計紫外光下柑橘缺陷的識別試驗。將YOLO v4算法與Faster R-CNN進行定量及性能對比,實驗結果表明:Faster R-CNN存在果實漏檢情況,而YOLO v4成功識別所有柑橘目標;同時相比于Faster R-CNN,精確率和召回率分別提高了5.14% 和6.16%,同時檢測速度明顯快于Fater R-CNN,由此可見YOLO v4算法對于兩種柑橘狀態下的識別效果性能更加突出。以上結果表明,本研究算法能有效檢測夜間樹上柑橘的品質狀態,為柑橘的產量估計以及采摘機器人的夜間視覺智能化提供了技術支持。