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