王 輝,張 帆,劉曉鳳,李 潛
(1.中央民族大學(xué)信息工程學(xué)院,北京 100081;2.青島職業(yè)技術(shù)學(xué)院,山東 青島 266555)
隨著計(jì)算機(jī)視覺的發(fā)展,圖像識(shí)別逐步應(yīng)用到農(nóng)業(yè)領(lǐng)域,而水果圖像識(shí)別在健康生活、無人超市以及智慧農(nóng)業(yè)等方面具有重要作用.傳統(tǒng)的水果圖像分類方法在特征提取方面大都需要綜合顏色、紋理、形狀特征,并增加一些局部特征,或采用一些高效的特征匹配算法,往往受限于自身算法的局限性,無法找到通用的特征提取模型,因此泛化性不強(qiáng)[1-2].尤其針對(duì)復(fù)雜背景下多種水果的分類,傳統(tǒng)方法不堪重負(fù).而卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的發(fā)展與應(yīng)用為實(shí)現(xiàn)水果自動(dòng)、快速、準(zhǔn)確識(shí)別創(chuàng)造了有利條件,其優(yōu)勢(shì)在于對(duì)圖像具有極強(qiáng)的數(shù)據(jù)表達(dá)能力,圖像特征不需人為設(shè)定,而是通過深層網(wǎng)絡(luò)結(jié)構(gòu)提取,非線性表達(dá)能力強(qiáng)、泛化性能好等[3].
近年來,許多學(xué)者開始利用不同深度架構(gòu)的CNN模型在水果識(shí)別方面進(jìn)行研究,王前程[4]利用CNN對(duì)6種水果數(shù)據(jù)集進(jìn)行分類,證明了CNN在水果圖像識(shí)別上的優(yōu)勢(shì);M.Fard等[5]利用CNN設(shè)計(jì)了一種自動(dòng)檢測(cè)和識(shí)別水果圖像的方法,在多種不同類型水果的分類任務(wù)中達(dá)到75%的準(zhǔn)確率;I.Sa等[6]建立了一個(gè)基于CNN的果實(shí)識(shí)別模型,取得不錯(cuò)的效果.以上研究表明,CNN應(yīng)用于水果識(shí)別任務(wù)中可以克服傳統(tǒng)圖像識(shí)別方法的不足,但相關(guān)算法目前存在以下2個(gè)問題:(1)算法基本以水果標(biāo)本模式照的圖像進(jìn)行識(shí)別,而對(duì)于自然環(huán)境下或者復(fù)雜背景下的圖像上的拓展能力較弱;(2)所使用數(shù)據(jù)集中包含的水果種類少,因此識(shí)別模型的泛化能力較弱.
本文構(gòu)建了一個(gè)含有多種水果的數(shù)據(jù)集,依據(jù)水果圖像特點(diǎn)和識(shí)別任務(wù)需求,優(yōu)化DarkNet-53卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)與參數(shù),建立水果分類模型.然后將改進(jìn)后的DarkNet-53作為主干網(wǎng)絡(luò),引入YOLOv3算法,建立水果目標(biāo)檢測(cè)模型.
DarkNet-53是目標(biāo)檢測(cè)網(wǎng)絡(luò)YOLOv3的基礎(chǔ)特征提取網(wǎng)絡(luò),其作用是提取訓(xùn)練圖像的特征[7-9].DarkNet-53網(wǎng)絡(luò)架構(gòu)如圖1所示,該網(wǎng)絡(luò)模型結(jié)合了深度殘差網(wǎng)絡(luò)(ResNet)[10]和YOLOv2的基礎(chǔ)特征提取網(wǎng)絡(luò)DarkNet-19[9],采用連續(xù)的1×1和3×3的卷積層和殘差網(wǎng)絡(luò)的連接思想,由卷積層、批量歸一化(Batch Normalization,BN)層[11]和LeakyRelu層共同構(gòu)成了其最小組件.
圖1 DarkNet-53網(wǎng)絡(luò)架構(gòu)
DarkNet-53網(wǎng)絡(luò)與DarkNet-19、ResNet-101、ResNet-152網(wǎng)絡(luò)相比,在Top-1準(zhǔn)確率、Top-5準(zhǔn)確率和每秒浮點(diǎn)運(yùn)算次數(shù)3個(gè)方面均具有明顯優(yōu)勢(shì)[7].
深度卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展不斷刷新圖像識(shí)別準(zhǔn)確率,而批量歸一化(BN)使各種深層次復(fù)雜架構(gòu)的網(wǎng)絡(luò)能夠進(jìn)行訓(xùn)練,但也表現(xiàn)出了一些缺點(diǎn),BN非常依賴批量大小(batchsize),批量統(tǒng)計(jì)估算不準(zhǔn)確時(shí),在識(shí)別任務(wù)中采用小的batchsize時(shí),BN的誤差會(huì)迅速增加[12].在訓(xùn)練大型網(wǎng)絡(luò)和將特征轉(zhuǎn)移到計(jì)算機(jī)視覺任務(wù)中受內(nèi)存消耗限制,只能使用小的batchsize.因此,本文選用群組歸一化(Group Normalization,GN)[12]代替DarkNet-53中的BN,降低模型對(duì)于batchsize依賴和對(duì)于硬件的需求.GN將通道劃分為群組,并在每個(gè)群組中計(jì)算歸一化的均值和方差,GN的計(jì)算獨(dú)立于批量大小,具體公式為
(4)
(4)式為特征歸一化的一般公式,x是由卷積層計(jì)算的特征,i是索引.在2D圖像的情況下,i=(iN,iC,iH,iW)是以(N,C,H,W)順序索引特征的4D矢量,其中N是批量軸,C是通道軸,H和W是空間高度和寬度軸.μ和σ分別為平均值和標(biāo)準(zhǔn)差,公式為:
(5)
(6)
式中:m是該集合的大小,ε為一個(gè)小常數(shù),Si是計(jì)算均值和標(biāo)準(zhǔn)差的像素集合.不同類型的特征歸一化方法主要在于如何定義集合Si.在BN中定義為
Si={k|kC=iC}.
(7)
其中iC(和kC)表示沿C軸的i(和k)的子索引.對(duì)于每個(gè)信道,BN沿(N,H,W)軸計(jì)算μ和σ.而GN中的計(jì)算集合為
Si=k|kN=iN,kCC/G=iCC/G .
(8)
式中:G為組的數(shù)量,是預(yù)定義超參數(shù);C/G是每組通道數(shù).GN沿(H,W)軸和沿一組通道計(jì)算μ和σ.
原網(wǎng)絡(luò)中的Softmax層是含有1 000標(biāo)簽用于解決多分類問題的分類器,是由Logistic回歸模型應(yīng)用到多分類問題上的演化結(jié)果[13],這里采用22標(biāo)簽Softmax器,替換原網(wǎng)絡(luò)中的Softmax層.
YOLO系列目標(biāo)檢測(cè)算法是將原輸入圖像劃分為S×S的網(wǎng)格,在每個(gè)網(wǎng)格中預(yù)測(cè)B個(gè)邊界框,對(duì)C類目標(biāo)進(jìn)行檢測(cè),輸出每類目標(biāo)的邊界框且分別計(jì)算每個(gè)邊界框的置信度.邊界框置信度由每個(gè)網(wǎng)格中包含檢測(cè)目標(biāo)的概率和輸出邊界框的準(zhǔn)確度共同確定,其計(jì)算公式為
(9)
式中:confidence為邊界框的置信度;Pr(Obeject)為網(wǎng)格中含有某類目標(biāo)的概率,若含有值為1否則為0;IOU表示輸出邊界框的準(zhǔn)確度,定義為預(yù)測(cè)邊界框與真實(shí)邊界框的交并比.
每個(gè)網(wǎng)格預(yù)測(cè)類別的置信度為
(10)
式中i=1,2,…,I為檢測(cè)類別數(shù).
YOLOv3是目標(biāo)檢測(cè)算法YOLO系列的最新一代算法,它通過DarkNet-53特征提取網(wǎng)絡(luò),提取3個(gè)不同尺度的特征進(jìn)行融合,在檢測(cè)網(wǎng)絡(luò)運(yùn)行下生成預(yù)測(cè)框以及目標(biāo)位置坐標(biāo)和置信度,然后篩選出最優(yōu)預(yù)測(cè)框,在此基礎(chǔ)上對(duì)目標(biāo)物體進(jìn)行識(shí)別.本文算法的水果目標(biāo)檢測(cè)流程如圖2所示.
圖2 水果果實(shí)目標(biāo)檢測(cè)流程
本文用自己創(chuàng)建的水果圖像數(shù)據(jù)集包括水果圖像分類和水果果實(shí)目標(biāo)檢測(cè)數(shù)據(jù)集,所用圖像分別從ImageNet圖像數(shù)據(jù)庫(kù)(50%)、網(wǎng)站爬取(40%)和相機(jī)拍攝(10%)獲得.其中水果圖像分類數(shù)據(jù)集擴(kuò)展后圖像共28 600張,訓(xùn)練集占70%,測(cè)試集占30%.圖像數(shù)據(jù)集包含22類水果,分別是蘋果A、蘋果B、牛油果、香蕉、藍(lán)莓、櫻桃、榴蓮、石榴、葡萄、獼猴桃、荔枝、芒果、山竹、柿子、菠蘿、火龍果、橙子、樹莓、草莓、哈密瓜、西瓜、圣女果,每類圖像1 300張,圖像大小統(tǒng)一處理成為256像素*256像素.水果果實(shí)目標(biāo)檢測(cè)數(shù)據(jù)集經(jīng)擴(kuò)展后圖像共7 800張,包含6類水果,分別是蘋果、芒果、草莓、橙子、哈密瓜、牛油果,每類圖像1 300張,按照VOC數(shù)據(jù)集格式,使用標(biāo)注軟件,在圖像上將檢測(cè)目標(biāo)果實(shí)的類別和位置使用矩形框進(jìn)行標(biāo)注.本文采用數(shù)據(jù)增強(qiáng)的方法提高模型泛化能力,包括亮度增強(qiáng)、水平翻轉(zhuǎn)、旋轉(zhuǎn)圖像.
按照改進(jìn)后的DarkNet-53網(wǎng)絡(luò)結(jié)構(gòu),使用訓(xùn)練好的模型對(duì)水果樣本進(jìn)行識(shí)別,以一張藍(lán)莓圖像為例,可視化部分卷積層的輸出特征見圖3(a),第2和3層卷積層和第1個(gè)darknet層提取到的特征圖像見圖3(b)—(d).
(a)原始圖像Original image;(b)卷積層Conv2d_2;(c)darknet_1;(d)卷積層Conv2d_3
由圖3可知,不同的卷積層可提取不同特征,通過多層卷積操作,可獲得不同層次和凸顯區(qū)域的特征圖,經(jīng)過堆疊多個(gè)卷積層,將會(huì)獲得更多水果特征信息,對(duì)目標(biāo)的屬性表達(dá)更充分和全面.
從水果圖像庫(kù)中隨機(jī)抽取出圖像的70%作為水果識(shí)別訓(xùn)練集,另外30%作為測(cè)試集,從零開始訓(xùn)練改進(jìn)后的模型,訓(xùn)練卷積層、全連接層和Softmax分類層參數(shù),通過逐層反向操作,結(jié)合線性非線性運(yùn)算,最后訓(xùn)練得到全連接層的參數(shù)以及Softmax層的多分類向量值和損失函數(shù)的值.訓(xùn)練模型時(shí),采用Adam算法進(jìn)行優(yōu)化,設(shè)置動(dòng)量參數(shù)為固定值0.9,初始學(xué)習(xí)率為0.01,學(xué)習(xí)率調(diào)整因子設(shè)置為0.96.通過隨機(jī)方法對(duì)全連接層和Softmax分類層的參數(shù)進(jìn)行初始化,選擇識(shí)別準(zhǔn)確率作為模型訓(xùn)練的評(píng)價(jià)指標(biāo).驗(yàn)證batchsize大小的設(shè)置對(duì)水果圖像分類識(shí)別準(zhǔn)確率的影響,把batchsize分別設(shè)置為2,4,8,16.實(shí)驗(yàn)結(jié)果如圖4所示,本文研究模型與原模型在不同batchsize下的準(zhǔn)確率如圖5所示.
圖4 DarkNet-53-GN不同batchsize的準(zhǔn)確率變化
圖5 2種模型不同batchsize的準(zhǔn)確率
由圖4可以看出,由于改進(jìn)后的模型采用從零訓(xùn)練的方法,需要迭代多次才可達(dá)到收斂,但改進(jìn)后的模型對(duì)于batchsize大小并不敏感,不同的batchsize下收斂速度略有不同,但準(zhǔn)確率基本相同.由圖5可知,隨著batchsize的減小,改進(jìn)后的模型表現(xiàn)基本不受影響,而原模型的性能則越來越差,改進(jìn)后的模型相比原模型不依賴于batchsize的大小,選取小的batchsize依然可以得到較高的準(zhǔn)確率.
為了進(jìn)一步驗(yàn)證本文模型DarkNet-53-GN的性能,將經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)模型VGG-16、inception V3與本文研究模型和DarkNet-53進(jìn)行對(duì)比,結(jié)果見表1.
表1 不同網(wǎng)絡(luò)實(shí)驗(yàn)結(jié)果對(duì)比
從表1中可以看出,DarkNet-53-GN和DarkNet-53相比其他網(wǎng)絡(luò)具有更高的準(zhǔn)確率,但DarkNet-53-GN用GN替換了原網(wǎng)絡(luò)DarkNet-53中的BN,不僅降低了網(wǎng)絡(luò)對(duì)批量大小的依賴,還提升1.1%的準(zhǔn)確率.
將改進(jìn)后的DarkNet-53-GN作為YOLOv3的特征提取網(wǎng)絡(luò),訓(xùn)練水果目標(biāo)檢測(cè)模型,使用改進(jìn)后的DarkNet-53訓(xùn)練好的水果分類模型做目標(biāo)檢測(cè)模型算法的初始化,在訓(xùn)練過程中具有很快的收斂性,能夠提高訓(xùn)練速度,見圖6(a).圖6(a)顯示的訓(xùn)練過程迭代次數(shù)的平均損失曲線發(fā)現(xiàn),訓(xùn)練迭代1.8萬次后,隨著迭代次數(shù)增加,平均損失函數(shù)值基本保持不變,趨于穩(wěn)定.通過準(zhǔn)確率-召回率(Precision-Recall) 曲線來衡量該模型的性能指標(biāo)如圖6(b)所示,YOLOv3網(wǎng)絡(luò)目標(biāo)檢測(cè)的平均準(zhǔn)確率為85.91%.檢測(cè)結(jié)果如圖6所示.
(a)損失與迭代次數(shù)曲線,(b)準(zhǔn)確率-召回率曲線
本文在DarkNet-53卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,用群組歸一化(GN)的方法替換原有的批量歸一化(BN),并用22標(biāo)簽的Softmax分類器替換原有DarkNet-53中的Softmax分類器,
通過實(shí)驗(yàn)驗(yàn)證,表明本文研究模型可以自動(dòng)從復(fù)雜數(shù)據(jù)中學(xué)習(xí)到水果特征,利于后期分類識(shí)別,改進(jìn)的模型相比原模型不依賴于批量大小,節(jié)約內(nèi)存消耗,增強(qiáng)了該模型在常規(guī)計(jì)算平臺(tái)的實(shí)用性,與其他CNN模型相比,本文模型識(shí)別準(zhǔn)確率更高,具備更好的分類性能.將改進(jìn)的DarkNet-53-GN作為YOLOv3的特征提取網(wǎng)絡(luò),構(gòu)建水果目標(biāo)檢測(cè)網(wǎng)絡(luò),仍然需要更加完善,在未來的工作中,將不斷擴(kuò)大水果的種類與數(shù)量,增加訓(xùn)練樣本,特別是增加復(fù)雜自然條件下的圖片用于模型訓(xùn)練,并基于YOLOv3算法改進(jìn)水果果實(shí)目標(biāo)檢測(cè)方法,進(jìn)一步提高目標(biāo)檢測(cè)模型識(shí)別性能.