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