來 曉
(浙江農(nóng)林大學(xué) 信息工程學(xué)院,杭州311300)
果蔬農(nóng)產(chǎn)品種類繁多,對(duì)其進(jìn)行自動(dòng)分類識(shí)別在商品交易智能化以及無人零售推廣方面具有重要意義。近年來物聯(lián)網(wǎng)技術(shù)的廣泛應(yīng)用,貿(mào)易發(fā)展的主要方向趨于商品交易智能化[1]。在新冠病毒疫情影響下,以智能取餐柜為代表的無人零售業(yè)率先興起,國(guó)家鼓勵(lì)全面推行“無接觸”服務(wù),無人零售迎來了新的機(jī)會(huì),因此亟需設(shè)計(jì)表征效果更好的果蔬智能分類器,提高果蔬識(shí)別的準(zhǔn)確率。
近年來,基于深度學(xué)習(xí)的計(jì)算機(jī)視覺研究取得了重大的進(jìn)展。識(shí)別任務(wù)的成功與否很大程度上取決于能否獲得大量的訓(xùn)練樣本,標(biāo)記訓(xùn)練樣本是一個(gè)昂貴的過程。針對(duì)果蔬識(shí)別研究,目前大多處于構(gòu)建數(shù)據(jù)集、優(yōu)化分類模型階段[2]。隨著深度學(xué)習(xí)的不斷發(fā)展與完善,深度卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural network,CNN)廣泛應(yīng)用于各個(gè)領(lǐng)域,尤其是在圖像識(shí)別、自然語言處理中取得了巨大的成果。深度神經(jīng)網(wǎng)絡(luò)相比傳統(tǒng)機(jī)器學(xué)習(xí)方法減少了人工干預(yù)過程,擁有自主學(xué)習(xí)特征和表達(dá)能力。AlexNet、VggNet16、Inception V3等經(jīng)典的深度卷積神經(jīng)網(wǎng)絡(luò),通過數(shù)據(jù)增強(qiáng)、Dropout方法防止過擬合,使模型適應(yīng)性更強(qiáng)。
本文基于遷移學(xué)習(xí)方法對(duì)深度學(xué)習(xí)模型進(jìn)行改進(jìn),使用全局池化技術(shù)解決全連接問題,在自主構(gòu)建的F&V果蔬數(shù)據(jù)集上進(jìn)行遷移學(xué)習(xí),用較少的計(jì)算資源提高模型識(shí)別率。針對(duì)融合兩個(gè)庫(kù)出現(xiàn)的數(shù)據(jù)不平衡問題,利用模型融合的方法合并果蔬數(shù)據(jù)集。采用特定的遷移學(xué)習(xí)引入方式,設(shè)計(jì)多類實(shí)驗(yàn),結(jié)合實(shí)驗(yàn)數(shù)據(jù)對(duì)比改進(jìn)后的卷積神經(jīng)網(wǎng)絡(luò)模型在果蔬分類上的性能,與現(xiàn)有的深度學(xué)習(xí)算法相比,本文提出的果蔬識(shí)別方法提取到的特征對(duì)果蔬的識(shí)別分類更加高效,進(jìn)而實(shí)現(xiàn)果蔬農(nóng)產(chǎn)品的快速分類。
標(biāo)記訓(xùn)練樣本是一個(gè)昂貴的過程,針對(duì)果蔬識(shí)別研究,目前大多處于構(gòu)建數(shù)據(jù)集、優(yōu)化分類模型階段。針對(duì)果蔬種類繁多的現(xiàn)狀,以及面對(duì)光照、陰影、陽光帶來變化的現(xiàn)實(shí)場(chǎng)景,采用融合兩個(gè)基數(shù)據(jù)集的方式構(gòu)建果蔬數(shù)據(jù)集F&V_1。
(1)通過網(wǎng)絡(luò)爬蟲技術(shù)采集包含蘋果、香蕉、火龍果等15種常見的果蔬樣本,果蔬圖片按照種類區(qū)分,存放在對(duì)應(yīng)果蔬命名的文件夾下。同時(shí)人工篩選網(wǎng)絡(luò)爬取的數(shù)據(jù),手動(dòng)刪除無法預(yù)覽以及標(biāo)簽與實(shí)際不符合的數(shù)據(jù),共計(jì)3 542張圖片。
(2)選用kaggle公開數(shù)據(jù)集Fruit Recognize賦予深度學(xué)習(xí)模型在真實(shí)環(huán)境中更強(qiáng)的感知孛習(xí)能力。Fruit Recognize是Chris Gorgolewski利用高清Logitech網(wǎng)絡(luò)攝像頭建立的一個(gè)多視角的果蔬圖像數(shù)據(jù)庫(kù),包含15個(gè)類別44 406張果蔬圖像,具體見表1。該數(shù)據(jù)集在相對(duì)不受限制的條件下收集的,采集了一天的不同時(shí)間段以及不同天氣環(huán)境下的果蔬圖像,具有位于自然光、人工照明等不同照明條件下15種果蔬圖片,能應(yīng)對(duì)光線、陰影、陽光、姿勢(shì)等變化情況,如圖1所示。
圖1 果蔬樣本示例Fig.1 Examples of fruit and vegetables images
本文使用的數(shù)據(jù)增強(qiáng)方法具體包括:
(1)水平翻轉(zhuǎn)圖像。
(2)對(duì)圖像進(jìn)行透視變換,變換范圍為0~0.2。
(3)將圖像隨機(jī)縮放0~0.25倍。
(4)水平平移、垂直平移圖像。在數(shù)據(jù)集F&V_1中,定義來自Fruit Recognize的數(shù)據(jù)為FP,樣本量為N1,來自O(shè)nline Picture的數(shù)據(jù)為OP。使用上述數(shù)據(jù)增強(qiáng)方式組合,將F&V_1數(shù)據(jù)集擴(kuò)充了5倍,構(gòu)成數(shù)據(jù)增強(qiáng)果蔬數(shù)據(jù)集F&V_2,隨機(jī)抽取5次1/5的F&V_2數(shù)據(jù)集樣本得到5個(gè)F&V數(shù)據(jù)集,具體F&V見表1。
通過分析國(guó)內(nèi)外基于圖片識(shí)別技術(shù)的果蔬分類算法研究,提出了基于深度學(xué)習(xí)的果蔬識(shí)別研究。采用深度學(xué)習(xí)算法對(duì)果蔬圖片自動(dòng)進(jìn)行特征提取,從而訓(xùn)練分類器進(jìn)行果蔬圖像分類,如圖2所示。進(jìn)行深度學(xué)習(xí)模型訓(xùn)練時(shí),從頭開始訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò)對(duì)于有限的計(jì)算資源是非常耗時(shí)的,往往難以直接訓(xùn)練出泛化能力足夠強(qiáng)的深度神經(jīng)網(wǎng)絡(luò)。因此,采用遷移學(xué)習(xí)方法,利用在ImageNet數(shù)據(jù)集上己經(jīng)訓(xùn)練好的網(wǎng)絡(luò),針對(duì)自己的任務(wù)再進(jìn)行調(diào)整,有效節(jié)省訓(xùn)練時(shí)間,提高學(xué)習(xí)精度。
表1 實(shí)驗(yàn)數(shù)據(jù)Tab.1 Experimental data
圖2 技術(shù)路線Fig.2 Technical route
為了驗(yàn)證果蔬分類算法的性能,選取合適的性能指標(biāo)對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行評(píng)估[3]。采用所有有待識(shí)別果蔬農(nóng)產(chǎn)品的識(shí)別率指標(biāo)平均精確率(Mean Accuracy,MA)、正樣本精確率(Precision,P)、正樣本召回率(Recall,R)、負(fù)正類率(FPR)、平衡F分?jǐn)?shù)(balanced F Score,F(xiàn)1-score)、kappa系數(shù)(K)來衡量算法的識(shí)別率性能。對(duì)于每個(gè)分類,分別計(jì)算每個(gè)類正樣本精確率,取不加權(quán)平均得到ma cr o-P,由macr o-P的定義可知,某一方法若想獲得較高的平均精確率,就需要每個(gè)正樣本精確率都獲得較高的精度。kappa系數(shù)值越高,代表模型實(shí)現(xiàn)的分類準(zhǔn)確性越高,計(jì)算公式(1)~(6)如下:
其中,n test為待識(shí)別果蔬的總數(shù)量,n a為模型正確識(shí)別果蔬的數(shù)量。
其中,T P i為正樣本正預(yù)測(cè);F P i為負(fù)樣本負(fù)預(yù)測(cè);F Ni為正樣本負(fù)預(yù)測(cè);N為類別數(shù);n y為第i類真實(shí)樣本數(shù);n y^為第i類預(yù)測(cè)樣本數(shù);n test為待識(shí)別果蔬的總數(shù)量。
遷移學(xué)習(xí)的常用方法有以下幾種:
(1)實(shí)例遷移,源域中部分與目標(biāo)域相似的數(shù)據(jù)可以通過權(quán)重調(diào)整的方法重用,用于目標(biāo)域的學(xué)習(xí)。
(2)特征遷移,將源域和目標(biāo)域的交叉特征變換到統(tǒng)一的特征空間,利用傳統(tǒng)的機(jī)器識(shí)別方法進(jìn)行分類識(shí)別。
(3)參數(shù)遷移,源域和目標(biāo)域共享模型參數(shù),源域中通過大量數(shù)據(jù)訓(xùn)練好的模型參數(shù)可以應(yīng)用到目標(biāo)域上[4]。參數(shù)遷移中,如果目標(biāo)數(shù)據(jù)集很小而參數(shù)量很大,對(duì)目標(biāo)網(wǎng)絡(luò)所有參數(shù)進(jìn)行調(diào)整,可能會(huì)導(dǎo)致過擬合,因此通常固定網(wǎng)絡(luò)前n層參數(shù),僅需初始化網(wǎng)絡(luò)中的幾層。遷移學(xué)習(xí)為機(jī)器學(xué)習(xí)領(lǐng)域深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練,保留和重用網(wǎng)絡(luò)模型提供了解決思路。
馮海林等提出基于樹木整體圖像和集成遷移學(xué)習(xí)的樹種識(shí)別,預(yù)訓(xùn)練模型已經(jīng)具備有助于圖像分類的基本特征(邊緣、顏色、紋理)提取能力,這里采用參數(shù)遷移方法[5]。將在ImageNet數(shù)據(jù)庫(kù)上訓(xùn)練好的模型(VggNet16、ResNet、Inception-V3)的通用特征遷移到果蔬識(shí)別的模型中,構(gòu)成果蔬識(shí)別模型Fruit&Vegetable_M(jìn)odel(FVM),以提高圖像識(shí)別率、減少模型訓(xùn)練的參數(shù)數(shù)量提高訓(xùn)練效率。
2.2.1 VggNet16網(wǎng)絡(luò)結(jié)構(gòu)
VGG卷積神經(jīng)網(wǎng)絡(luò)在圖像分類和目標(biāo)檢測(cè)任務(wù)中都表現(xiàn)出較好的結(jié)果,因此VGGNet常被用作模型的特征提取器。VGG16采用統(tǒng)一大小的3×3卷積核替代AlexNet中較大的卷積核(11×11,5×5),簡(jiǎn)化了神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。反復(fù)堆疊3×3的小型卷積核和2×2的池化層,通過不斷加深網(wǎng)絡(luò)結(jié)構(gòu)來提升性能。另一方面,隨著網(wǎng)絡(luò)的加深,圖像的寬度和高度都以一定的規(guī)律不斷地減小,每次池化后縮小一半,信道數(shù)目增加一倍,減少了訓(xùn)練參數(shù)。VGG16由13個(gè)卷積層和3個(gè)全連接層以及Softmax輸出層構(gòu)成,訓(xùn)練的特征數(shù)量非常大,其中絕大部分參數(shù)來自全連接層,使用全局池化層(Global Average Pooling,GAP)替換全連接層以減少訓(xùn)練參數(shù)[6],如圖3所示。
圖3 基于VGG16的果蔬識(shí)別模型Fig.3 Fruit and vegetable recognition model based on VGG16
2.2.2 Inception V3網(wǎng)絡(luò)結(jié)構(gòu)
Inception網(wǎng)絡(luò)是卷積神經(jīng)網(wǎng)絡(luò)分類器發(fā)展史上一個(gè)重要的里程碑。Inception V3模型基于卷積神經(jīng)網(wǎng)絡(luò),在ILSVRC(ImageNet large scale visual recognition challenge)2012分類挑戰(zhàn)賽驗(yàn)證集上測(cè)試,取得了實(shí)質(zhì)性的收益。Inception V3使用更優(yōu)秀的因子分解方法,分解卷積和積極降維讓計(jì)算成本相對(duì)較低,同時(shí)可以保持高質(zhì)量檢測(cè)。Inception V3整合Inception V2的所有升級(jí),將5×5的卷積分解成兩個(gè)3×3的卷積的堆疊,通過這種分解得到28%的相對(duì)增益。將空間卷積進(jìn)一步分解為不對(duì)稱卷積,替換3×3的卷積核,分解為1×3和3×1兩個(gè)卷積,這種方法在成本上比單個(gè)3×3卷積降低33%。Inception模塊中的濾波器擴(kuò)展,使模型變得更寬,以解決表征性瓶頸局限。
2.2.3 ResNet50網(wǎng)絡(luò)結(jié)構(gòu)
深度學(xué)習(xí)網(wǎng)絡(luò)通過不斷加深網(wǎng)絡(luò)提升模型最后的分類和識(shí)別效果,常規(guī)堆疊網(wǎng)絡(luò)隨著網(wǎng)絡(luò)深度的增加,出現(xiàn)梯度消失和梯度爆炸現(xiàn)象,在開始就阻礙網(wǎng)絡(luò)的收斂,導(dǎo)致網(wǎng)絡(luò)深度的增加,準(zhǔn)確率達(dá)到飽和,然后迅速下降問題。針對(duì)上述退化問題,He K等提出殘差(Residual)結(jié)構(gòu),殘差神經(jīng)網(wǎng)絡(luò)(ResNet)在淺層網(wǎng)絡(luò)疊加殘差模塊(Residual bloak),避免梯度消失和梯度爆炸問題,使得訓(xùn)練更深的網(wǎng)絡(luò)的同時(shí)又能保證良好的性能[7]。經(jīng)典的殘差網(wǎng)絡(luò)模型有ResNet50、ResNet101和ResNet152,分別是50、101、152層ResNet。ResNet50采用了Inception模塊化的結(jié)構(gòu),利用殘差模塊訓(xùn)練更深的網(wǎng)絡(luò),結(jié)合Inception網(wǎng)絡(luò)和VGG網(wǎng)絡(luò)的優(yōu)點(diǎn),提升模型的訓(xùn)練效果。具體如圖4所示。
實(shí)驗(yàn)基于Windows10操作系統(tǒng),處理器為Inter(R)Xeon(R)Silver 4110 CPU@2.10GHz。神經(jīng)網(wǎng)絡(luò)的搭建、訓(xùn)練、測(cè)試使用python語言編程,調(diào)用開源人工神經(jīng)網(wǎng)絡(luò)庫(kù)Keras來實(shí)現(xiàn)。
圖4 殘差神經(jīng)網(wǎng)絡(luò)Fig.4 ResNet
論文使用ImageNet數(shù)據(jù)集上訓(xùn)練好的模型來初始化3種深度學(xué)習(xí)模型權(quán)重。采用Adam優(yōu)化器進(jìn)行網(wǎng)絡(luò)訓(xùn)練,通過自適應(yīng)學(xué)習(xí)率迭代地更新網(wǎng)絡(luò)權(quán)重,在較少的內(nèi)存需求下達(dá)到高效的計(jì)算。設(shè)置的初始學(xué)習(xí)率為1e-4,batch_size為32。3個(gè)模型經(jīng)過30個(gè)批次訓(xùn)練之后逐漸收斂,在相同的參數(shù)設(shè)置下得到最優(yōu)果蔬分類模型,并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析總結(jié)。數(shù)據(jù)集被隨機(jī)分為訓(xùn)練集、驗(yàn)證集、測(cè)試集三部分,數(shù)據(jù)集占比為6∶2∶2。
利用參數(shù)遷移方法將3種模型的共性知識(shí)進(jìn)行遷移,除去模型的全連接層和softmax層,自定義新的頂層網(wǎng)絡(luò),采用全局池化技術(shù)替代原模型中的全連接層連接方式。構(gòu)成果蔬識(shí)別模型Fruit&Vegetable_M(jìn)odel(FVM),如圖5所示。
自定義頂層網(wǎng)絡(luò),通過2種方式訓(xùn)練模型:直接遷移和特定地微調(diào)(finetune)方式。直接遷移即只訓(xùn)練網(wǎng)絡(luò)的自定義層,特定地微調(diào)(finetune)方式引入F1、F2、F3、F4、F5、F6指針,指針位置指向網(wǎng)絡(luò)的特定層,隨著指針的變化,部分底層的權(quán)重也隨著訓(xùn)練。
FVM卷積神經(jīng)網(wǎng)絡(luò)使用交叉熵?fù)p失函數(shù)來評(píng)估真實(shí)值和預(yù)測(cè)值之間的差距,損失函數(shù)見式(7)。
式中:H(X,q)為訓(xùn)練損失;θ為權(quán)重參數(shù);e為訓(xùn)練批次樣本;p為期望概率;q為預(yù)測(cè)概率。
圖5 果蔬圖像識(shí)別模型Fig.5 Image model FVM
Adam(adaptive moment estimation)優(yōu)化器在模型中用于參數(shù)的更新,式(8)~式(13):
式中:g t計(jì)算t時(shí)間步的梯度,J(θt-1)為損失函數(shù)。
式中:m0初始化為0,β1系數(shù)為指數(shù)衰減率,控制權(quán)重分配(動(dòng)量與當(dāng)前梯度),通常取接近于1的值,默認(rèn)為0.9。
式中:v0初始化為0,β2系數(shù)為指數(shù)衰減率,控制之前的梯度平方的影響情況,默認(rèn)為0.999。
式中:對(duì)梯度均值mt、v t進(jìn)行偏差糾正,降低偏差對(duì)訓(xùn)練初期的影響。
式中:ε=10-8,避免除數(shù)變?yōu)?,α為學(xué)習(xí)率默認(rèn)為0.001。
基于VggNet16、ResNet50、Inception V3模型改進(jìn)的果蔬分類模型FVM1、FVM2、FVM3,在原始數(shù)據(jù)集上采用直接遷移學(xué)習(xí)方法遷移共性知識(shí)的訓(xùn)練結(jié)果。15種果蔬正樣本精確率P和正樣本召回率的對(duì)比結(jié)果,如圖6所示。
圖6 15種果蔬正樣本精確率P和正樣本召回率的對(duì)比Fig.6 Precision and recall of fruits and vegetables
把3種網(wǎng)絡(luò)結(jié)構(gòu)估測(cè)的評(píng)價(jià)指標(biāo)進(jìn)行對(duì)比,見表2。VGG16的正樣本精確率macr o-P、正樣本召回率macr o-R、F1-S core、kappa系數(shù)K分別為92.13%、92.22%、91.55%、98.12%,其平均準(zhǔn)確率略低于ResNet50;Inception V3作為檢測(cè)模型得到的正樣本精確率ma cr o-P、正樣本召回率macr o-R、F1-Sco r e、kappa系數(shù)K分別為87.78%、87.26%、87.52%、86.15%;基于ResNet50的果蔬識(shí)別模型具有最高的正樣本精確率macr o-P(0.9344)、最高的正樣本召回率macr o-R(0.9240)、最高的F1-Sco r e(0.9292)及最大的kappa系數(shù)K(0.9151)。因此,從綜合結(jié)果來看,基于ResNet50構(gòu)建識(shí)別模型略優(yōu)于基于VGG-16構(gòu)建的模型,基于Inception V3的識(shí)別模型效果略差。
如圖7~圖9這3個(gè)線性圖所示,以F&V測(cè)試集數(shù)據(jù)作為輸入,分別表示每種果蔬基于FVM1和VGG16的正樣本準(zhǔn)確率(P)及正樣本召回率(R);基于FVM2、FVM2-1、FVM2-2、FVM2-3和Inception V3的正樣本準(zhǔn)確率(P)及正樣本召回率(R);基于FVM3和ResNet50的正樣本準(zhǔn)確率(P)及正樣本召回率(R)。
表2 基于直接遷移的各項(xiàng)評(píng)價(jià)指標(biāo)系數(shù)Tab.2 Evaluation index coefficients based on direct transfer
圖7 FVM1和VGG16正樣本準(zhǔn)確率和正樣本召回率的對(duì)比Fig.7 Precision and recall between FVM1 and VGG16
圖8 FVM2、FVM2-1、FVM2-2、FVM2-3和Inception V3正樣本準(zhǔn)確率和正樣本召回率的對(duì)比Fig.8 Precision and recall between FVM2、FVM2-1、FVM2-2、FVM2-3 and Inception V3
圖9 FVM3和ResNet50正樣本準(zhǔn)確率和正樣本召回率的對(duì)比Fig.9 Precision and recall between FVM3 and ResNet50
把6種模型估測(cè)的評(píng)價(jià)指標(biāo)進(jìn)行對(duì)比見表3,F(xiàn)VM1的正樣本精確率ma cr o-P、正樣本召回率macr o-R、F1-Score、kappa系數(shù)K分別為94.65%、94.19%、94.42%、94.68%,其平均準(zhǔn)確率(MA)比VGG16提升了2.84%;基于Inception V3優(yōu)化得到模型中,F(xiàn)VM2-1的正樣本精確率ma cr o-P、正樣本召回率macro-R、F1-Sco r e、kappa系數(shù)的正樣本準(zhǔn)確率(P)及正樣本召回率(R)數(shù)K在FVM2-模型中指標(biāo)值最高,可以發(fā)現(xiàn)僅調(diào)整Inception V3混合層的第二個(gè)模塊的參數(shù)對(duì)識(shí)別模型的優(yōu)化效果最佳,其平均準(zhǔn)確率提升了7.33%;基于ResNet50的果蔬識(shí)別模型具有最高的正樣本精確率ma cr o-P(0.9588)、最高的正樣本召回率macr o-R(0.9481)、最高的F1-S cor e(0.9534)及最大的kappa系數(shù)K(0.9549)。因此,從綜合結(jié)果來看,F(xiàn)VM3略優(yōu)于FVM1和FVM2-1。
表3 基于改進(jìn)模型的試驗(yàn)結(jié)果Tab.3 Result base on direct transfer
本文提出了一種基于深度學(xué)習(xí)和遷移學(xué)習(xí)的果蔬識(shí)別方法,解決自然場(chǎng)景中不同光照條件下果蔬圖像識(shí)別問題。首先,自行建立一個(gè)新的果蔬圖像數(shù)據(jù)集F&V,采用多種采集方式下數(shù)據(jù)融合,打破不同識(shí)別系統(tǒng)之間的信息壁壘,建立新的識(shí)別模型,保障果蔬數(shù)據(jù)分類的全面性、互補(bǔ)性和準(zhǔn)確性;其次,利用數(shù)據(jù)增強(qiáng),增強(qiáng)了預(yù)測(cè)模型的泛化能力,提升了模型的分類性能。傳統(tǒng)果蔬識(shí)別模型人工提取特征困難,對(duì)深度學(xué)習(xí)網(wǎng)絡(luò)模型進(jìn)行改進(jìn),使用全局池化技術(shù)替換全連接技術(shù)連接網(wǎng)絡(luò),結(jié)合遷移學(xué)習(xí)方法構(gòu)成果蔬識(shí)別模型FVM,進(jìn)一步提升了網(wǎng)絡(luò)的準(zhǔn)確性。通過微調(diào)優(yōu)化方法,模型的準(zhǔn)確性至少提升了3%,文中特定方式的遷移可為不同的模型微調(diào)提供參考依據(jù),具有一定的實(shí)用價(jià)值。在后續(xù)的研究中,還可以引入新的預(yù)測(cè)模型進(jìn)一步實(shí)現(xiàn)農(nóng)產(chǎn)品自動(dòng)分類任務(wù)。