樊澤澤,柳 倩,柴潔瑋,楊曉峰,李海芳
(太原理工大學信息與計算機學院,山西 晉中 030600)
我國是世界上最大的蘋果消費國,蘋果是我國的第一大果品,是典型的高價值農產品,快速精確地檢測蘋果樹上的果實并判斷果實等級,有助于預估果園的經(jīng)濟收益,提高果業(yè)的現(xiàn)代化水平,具有重要現(xiàn)實意義。
GB/T-10651-2008“鮮蘋果”國家標準[1]規(guī)定了鮮蘋果進行等級劃分的質量和外觀要求。目前自然場景下對果實進行檢測主要有基于傳統(tǒng)方法和基于卷積神經(jīng)網(wǎng)絡2種方法。
基于傳統(tǒng)方法的果實檢測主要步驟為:轉換圖像顏色空間并提取使果實前景與背景差異明顯的顏色分量,在顏色分量圖上提取果實輪廓。如馬正華等[2]提取蘋果圖像的R分量與G分量,獲取R-G色差圖。Lü等[3]轉換蘋果圖像顏色空間至I1I2I3顏色空間并提取I2分量,結合最大類間方差法獲取區(qū)分前背景的閾值,據(jù)此二值化圖像獲得果實輪廓。但是,這些方法僅適用于紅色果實檢測,且由于自然場景下拍攝的果樹圖像存在背景雜亂、光照不勻、果實自身著色有差異等情況,上述方法存在前背景間閾值選取不準確的問題,進而導致果實檢測框不準確。
隨著深度學習技術的發(fā)展,卷積神經(jīng)網(wǎng)絡被越來越廣泛地應用于果實目標檢測。Bargoti等[4]使用Faster R-CNN檢測芒果、杏仁與蘋果。麥春艷等[5]結合反向傳播神經(jīng)網(wǎng)絡與霍夫圓變換算法檢測蘋果。Rahnemoonfar等[6]使用Inception- ResNet對果實進行計數(shù)。Dias等[7]結合卷積神經(jīng)網(wǎng)絡和支持向量機實現(xiàn)對蘋果花的檢測和計數(shù)。
由文獻[8]可知,基于深度學習的目標檢測主要分為基于候選區(qū)域的兩階段目標檢測算法和基于回歸的一階段目標檢測算法。兩階段目標檢測算法首先根據(jù)區(qū)域選擇算法生成樣本候選框,再使用多層卷積網(wǎng)絡對其提取特征并分類。如Girshick[9,10]和Ren等[11]提出的Region CNN(R-CNN)算法、Fast R-CNN算法和Faster R-CNN算法,Lin等[12]提出的FPN(Feature Pyramid Networks)算法、He等[13]提出的Mask R-CNN系列目標檢測算法?;诨貧w的一階段目標檢測算法同時進行目標的定位與分類,實時性優(yōu)于前者。如Redmon等[14,15]提出的YOLO、YOLOv2算法、Liu 等[16]提出的SSD(Single Shot multi-box Detector)以及通過多級預測方式改善小目標檢測精度差的YOLOv3系列[17]目標檢測算法。
上述算法針對的檢測任務種類豐富,數(shù)據(jù)量大,用于蘋果果實檢測會導致過擬合和時空浪費,并且由于果實目標較小且分散,果實間重疊和被枝葉遮擋情況多,易出現(xiàn)小目標漏檢問題。為克服上述不足,本文提出融合顏色與果徑特征的蘋果樹果實檢測與分級算法。構建卷積神經(jīng)網(wǎng)絡并在多個尺度的特征圖上進行蘋果檢測,針對枝葉遮擋和果實重疊導致的小目標漏檢問題,使用k-means算法對蘋果訓練數(shù)據(jù)集的檢測框進行聚類,獲取2組共6個不同尺度的先驗框,分別應用于高分辨率和低分辨率的特征圖上的果實位置回歸。針對光線不勻和蘋果個體著色差異導致的檢測框位置不精確問題,將圖像轉至CIELAB顏色空間,其中,維度L*表示亮度,a*和b*分別表示紅和綠、黃和藍2個顏色對立維度,提取b*或(1.8b*-L*)顏色分量,采用最大類間方差法獲得檢測框內蘋果與背景的最佳閾值,據(jù)此二值化圖像并根據(jù)蘋果外接矩形修正檢測框。根據(jù)圖像大小與物理尺寸映射公式計算蘋果直徑,根據(jù)“鮮蘋果”國家標準實現(xiàn)果實分級。
YOLOv3是經(jīng)典的單階段目標檢測網(wǎng)絡,在檢測精度和檢測速度上均表現(xiàn)優(yōu)異。YOLOv3檢測網(wǎng)絡的結構如圖1所示,采用全卷積神經(jīng)網(wǎng)絡Darknet-53作為基礎網(wǎng)絡提取特征,使用殘差組件加深網(wǎng)絡層次并優(yōu)化特征提取,以改變卷積核步長的方式代替池化操作,實現(xiàn)數(shù)據(jù)降維和張量尺寸變換,使用9個尺寸的原始框提供目標位置的先驗信息,采用Sigmoid函數(shù)計算類別概率,在3個尺度的特征圖上進行目標邊框的位置回歸和類別預測。
Figure 1 Structure of YOLOv3圖1 YOLOv3結構
顏色是區(qū)分果實目標和背景的最直接特征,不同顏色空間對目標的敏感性各異。常用的顏色空間包括RGB、HSL、CIELAB等。RGB顏色空間與人類視覺系統(tǒng)類似,但該顏色空間依賴于設備,不同設備對特定RGB值的檢測和重現(xiàn)可能出現(xiàn)不同;HSL顏色空間對色彩感知度更強;CIELAB顏色空間能包含所有人眼可見的顏色要素,且該顏色空間不依賴于設備和光線,可預測哪些光譜功率分布會被感知為相同顏色。
CIELAB顏色空間全稱CIE L*a*b*,是由CIEXYZ顏色空間衍生的顏色空間,其中,維度L*表示亮度,L*= 0對應黑色,L*= 100對應白色;a*表示在品紅色和綠色之間的顏色,a*=-128對應綠色,a*=127對應品紅;b*表示在黃色和藍色之間的顏色,b*=-128對應藍色,b*=127對應黃色。通過式(1)將圖像從RGB顏色空間轉換到CIE XYZ顏色空間,再據(jù)式(2)和式(3)轉至CIELAB顏色空間,其中,Xn、Yn、Zn是參照白點的CIE XYZ三色刺激值,默認取值為0.95,1.00,1.09。
(1)
(2)
(3)
本文采用如圖2所示的尺寸測量與換算模型[18],將圖像中蘋果的寬高值映射至實際物理尺寸。
Figure 2 Distance conversion model圖2 尺寸測量與換算模型
圖2中,Oc為相機位置,P和Ow為固定物體位置,Z為相機與物體的水平間距,f為相機焦距,θ為攝像頭與物體所在水平方向的夾角。P′為P在像素坐標系內的投影。u、v分別為物體水平和豎直方向在圖像上的像素值。
物體的寬X、高Y的計算公式分別如式(4)和式(5)所示:
(4)
(5)
其中,dx、dy為一個像素分別在u軸和v軸方向上的尺度。
本文算法的總體流程如圖3所示,分為3部分:(1)為提升模型訓練速度,提高邊框回歸效率,使用k-means算法對訓練數(shù)據(jù)集內蘋果的檢測框進行聚類分析,得到6個不同尺寸的原始框,結合該先驗信息訓練蘋果檢測網(wǎng)絡模型,得到蘋果的初次檢測框。(2)對(1)所得初次檢測框內圖像進行自適應顏色分量提取,采用最大類間方差法獲取檢測框內果實與背景的分割閾值,進而二值化圖像,獲取二次邊框,以提高準確率。(3)根據(jù)尺寸測量與換算模型和相機參數(shù)得到蘋果檢測框的寬高值與實際物理尺寸的映射關系,根據(jù)該映射關系由果實檢測框計算實際的蘋果直徑,并根據(jù)果徑對蘋果分級。
Figure 3 Flowchart of the proposed algorithm 圖3 本文算法流程圖
根據(jù)文獻[19]使用k-means算法對訓練數(shù)據(jù)集內果實邊框進行聚類分析,得到2組共6個先驗框,如圖4所示,尺寸分別為:(12,16),(19,27),(31,38),(46,64),(77,99),(135,175),按照尺寸從小到大均分到2個不同尺度的特征圖上,尺度較大的特征圖對應較小的感受野,對小目標敏感,使用較小的先驗框來獲得更多的目標邊緣信息,具體對應關系如圖5所示。
Figure 4 Anchor box圖4 先驗框
本文提出的蘋果樹果實檢測算法借鑒YOLOv3在多個尺度的特征圖上進行目標邊框回歸和類別預測的思想,果實檢測的網(wǎng)絡結構如圖5所示。
果實檢測網(wǎng)絡以416×416的RGB圖像為輸入,交替堆疊5層卷積層與池化層,卷積層采用大小為3×3,步長為1的卷積核進行卷積操作實現(xiàn)特征提取,使用批量歸一化操作防止出現(xiàn)梯度彌散并加速神經(jīng)網(wǎng)絡收斂速度,使用Leaky ReLU激活函數(shù)對卷積層的輸出做非線性轉換,池化層采用大小為2×2的過濾器,步長為1的最大池化操作,以降低參數(shù)量。第5次卷積操作后獲得26×26×256的特征圖,持續(xù)卷積操作獲得13×13×18的小尺度特征圖。本文算法參數(shù)如圖6所示,convk-c/maxkn-s表示該層卷積操作采用c個k×k, 步長為1的卷積核, 最大池化層采用kn×kn, 步長為s的卷積核。
Figure 5 Networks structure of fruit detection圖5 果實檢測網(wǎng)絡結構
Figure 6 Parameters of the proposed algorithm圖6 本文算法參數(shù)
由于大尺度特征圖含有更多的位置信息,而小尺度特征圖包含更多高層語義,對第10層所得小尺度特征圖進行上采樣,調整特征圖尺寸使其與第5層特征圖尺寸相同,將特征圖沿深度級聯(lián),結合低層特征提供的較準確的位置信息,彌補多次下采樣和上采樣操作導致的定位信息誤差,經(jīng)過卷積操作后得到一組待處理的26×26×18的大尺度特征圖。分別將2組先驗框按照尺寸大小用于2組不同尺度的特征圖,其中,(12,16),(19,27),(31,38)先驗框為26×26×18的特征圖提供先驗信息,(46,64),(77,99),(135,175)先驗框為13×13×18的特征圖提供先驗信息。如圖7所示,對各尺度特征圖的每個單元格輸出3個檢測框,每個檢測框使用Sigmoid函數(shù)預測中心坐標值(tx,ty)、檢測框的寬高(tw,th)以及目標處于檢測框內的置信度Po。由于本文檢測類別互斥,即是否為蘋果,選用Softmax函數(shù)計算分類概率P,在2組特征圖上完成檢測框的位置回歸和類別預測。
本文在使用果實檢測網(wǎng)絡獲取初次檢測框的基礎上,將原始RGB圖像依據(jù)式(1)~式(3)轉換至CIELAB顏色空間,提取顏色分量,如圖8所示,果實目標顏色主分量為紅(首行)和黃(次行)時分別在b*分量和1.8b*-L*分量圖像上前背景差異明顯。
Figure 7 Predicion feature map圖7 預測特征圖
Figure 8 Color component diagram comparison圖8 顏色分量圖對比
由Otsu[20]提出的最大類間方差法是經(jīng)典的閾值分割算法,該算法具有較高的分割精度與很強的自適應性。結合3.1節(jié)中初次檢測框的坐標值對檢測框內小范圍的果實圖像使用最大類間方差法,遍歷[0,255]尋找最佳灰度值作為前景與背景的分割閾值,灰度值小于該分割閾值的像素點被劃分為果實前景,反之則為背景,使得依據(jù)式(6)獲取的目標和背景間類間方差最大。
(6)
其中,g為前景和背景的類間方差,w0為劃分為前景的像素點在圖像中所占比例,h0為前景的平均灰度值,h為背景的平均灰度值。
設置果實前景的灰度值為0,背景灰度值為255,將初次檢測框內的圖像二值化,使用形態(tài)學開運算去除噪點,以蘋果的最小外接矩形得到更準確的二次檢測框。本節(jié)的果實檢測框修正算法偽代碼如算法1所示。
算法1根據(jù)顏色分量修正檢測框
輸入:初始檢測框、圖像寬度和圖像高度。
輸出:二次檢測框。
1. 轉換圖像顏色空間至CIELAB;
2.fori=0to初始檢測框個數(shù)do
3.if前景顏色分量為紅then
4. 提取b*分量圖像
5.else
6. 提取1.8b*-L*分量圖像;
7.endif
8. Otsu檢測框內的圖像,得到前背景的最佳分割閾值;
9. 根據(jù)分割閾值將圖像二值化;
10. 以蘋果最小外接矩形修正檢測框;
11.endfor
采用Sony ICLE6000相機拍攝圖像,焦距為20 mm,最高分辨率為6000×4000,相機傳感器尺寸為23.5×15.6 mm,可得相機內參矩陣如式(7)所示:
(7)
為驗證果徑計算方法的有效性,不控制光照等環(huán)境因素,相機與蘋果的水平間距參照蘋果示范園區(qū)果樹行距,設定為3 m,即Z=3000 mm,為確保實驗用蘋果樣本涵蓋各等級,選用果徑在60~100 mm的蘋果,因此攝像頭至蘋果的夾角約為0°,即θ= 0°,如圖9所示。
Figure 9 Shooting diagram圖9 拍攝示意圖
將Z和θ代入式(4)和式(5)可得圖像內蘋果的寬高值與實際物理尺寸的映射關系,如式(8)和式(9)所示:
(8)
(9)
本文實驗運行環(huán)境如表1所示。
Table 1 Experimental environment表1 實驗環(huán)境
實驗數(shù)據(jù)來自山西省臨猗縣蘋果示范園區(qū)內處于結果期的果實圖像2 933幅,如圖10所示,以留出法將數(shù)據(jù)集以6∶1的比例劃分為互斥的訓練集和測試集。樣本多樣性高,各類圖像都有,近景、遠景、枝葉遮擋、果實重疊、光照差異明顯、主分量為紅/黃/綠的各類圖像的數(shù)量如圖11所示。
Figure 10 Dataset圖10 數(shù)據(jù)集
Figure 11 Number of images in different categories圖11 各類圖像數(shù)量
綜合采用準確率(Precision)、召回率(Recall)和F1-score指標評估算法的性能。
各指標的計算公式如下所示:
(10)
(11)
(12)
其中,TP表示正樣本被預測為正樣本的數(shù)量;FP表示負樣本被預測為正樣本的數(shù)量;FN表示正樣本被預測為負樣本的數(shù)量。
蘋果檢測算法的訓練參數(shù)設置如表2所示。
Table 2 Training parameters setting表2 訓練參數(shù)設置
如圖12所示,3條曲線依次為準確率、F1-score和召回率在本文算法訓練過程中的變化趨勢,隨著迭代次數(shù)增加,在1 000次時各項指標趨于穩(wěn)定,最終準確率為0.92,召回率為0.84,F(xiàn)1-score值為0.88,實現(xiàn)收斂。
Figure 12 Training process of the proposed algorithm圖12 本文算法訓練過程
圖13為原始RGB圖像,圖14a和圖14b分別表示對圖13整幅圖和初次檢測框內圖像提取b*分量的灰度直方圖,使用最大類間方差法所得的整幅圖和單個檢測框中蘋果與背景的分割閾值分別為100和106,以100和106為閾值劃分果實與背景得到二值化圖像,以蘋果的最小外接矩形修正檢測框,如圖15所示。相比于基于整幅圖像選取前背景的閾值,在初次檢測框內,即基于每個果實及周圍背景的小范圍內進行閾值選取可在一定程度上削弱光照不勻等因素帶來的影響,獲得更為準確的前背景分割閾值,使得果實邊界更準確,二次檢測框的準確率更高。
Figure 13 Image in RGB color space圖13 RGB圖像
Figure 14 Gray histograms of the whole image and the image in the detection box圖14 整幅圖和檢測框內圖像b*分量灰度直方圖
Figure 15 Comparison of detection box before and after threshold adjustment圖15 閾值調整前后檢測框對比
表4對比了蘋果數(shù)據(jù)集在經(jīng)典的目標檢測網(wǎng)絡YOLOv3及其精簡版Tiny YOLO、傳統(tǒng)算法和本文算法上測試的各項指標值與最終模型的大小,檢測結果顯示本文算法訓練所得的最終模型最小,并且在Precision和F1-score指標上有較好的表現(xiàn),分別為91.60%和87.62%。這表明加深網(wǎng)絡層數(shù)在一定程度上能夠提升檢測性能,但更需要結合實際任務綜合考慮過擬合和計算成本問題,設計最適配的網(wǎng)絡。
圖16為YOLOv3、Tiny YOLO、傳統(tǒng)算法和本文算法分別在光照不勻、果實重疊較多、枝葉遮擋較多、多為青果、黃果、紅果的各類果實圖像子數(shù)據(jù)集上的準確率對比。傳統(tǒng)算法會將部分小目標、
Table 3 Comparison of different methods表3 訓練結果對比
遮擋和重疊等導致的非完整目標誤認為成噪點而去除,但是傳統(tǒng)算法中根據(jù)顏色區(qū)分果實和背景有借鑒性,神經(jīng)網(wǎng)絡對重疊、遮擋等目標有較好的檢出效果。本文算法結合二者優(yōu)勢,檢測效果提升明顯。
Figure 16 Precision of different algorithms on different types of dataset圖16 各算法在不同子類數(shù)據(jù)上準確率對比
圖17為本文算法、YOLOv3以及傳統(tǒng)算法的檢測結果對比。本文算法與YOLOv3相比,小目標的檢出率提高,與傳統(tǒng)方法相比,解決了果實重疊時多個蘋果被檢測為單個的問題,同時結合傳統(tǒng)算法果實邊緣對顏色的敏感性,提升了檢測框的準確率。
Figure 17 Detection results of the proposed algorithm, YOLOv3, and traditional algorithm圖17 本文算法與YOLOv3、傳統(tǒng)算法的檢測結果
本文對與相機固定距離為3 m的30個蘋果進行寬高值檢測,根據(jù)式(4)和式(5),相機焦距f=20 mm,像素在u軸方向上的尺度dx=0.0039,像素在v軸方向上的尺度dy=0.0038,結合果實檢測框的寬高值進行計算,所得果徑準確率為89%,參考GB/T-10651-2008 “鮮蘋果”國家標準中果徑分級方法對蘋果分級,分級情況如表4所示,總體預測準確率為90%。
Table 4 Apple grading test表4 蘋果分級測試
本文提出了一種對自然場景下蘋果樹果實圖像的目標檢測與分級算法,在卷積神經(jīng)網(wǎng)絡提取的多個尺度的特征圖上對果實位置進行回歸預測,依據(jù)顏色分量進一步校正檢測框位置。結合距離映射方法計算果徑并實現(xiàn)蘋果分級。實驗表明,通過遷移學習、多尺度特征圖預測、先驗框調整以及應用顏色分量二次修正檢測框的方式,可提高小目標、光照不均勻和個體顏色差異大情況下果實的檢測框準確率,與已有算法相比有更好的表現(xiàn)。參照蘋果分級標準根據(jù)蘋果直徑對蘋果分級,分級準確率達90%。在未來工作中將進一步研究蘋果常見缺陷判別方法,提高果實分級的準確性,促進現(xiàn)代化農業(yè)的快速發(fā)展。