基于深度學(xué)習(xí)的移動(dòng)端水果識(shí)別
掃描二維碼
隨時(shí)隨地手機(jī)看文章
中國(guó)自古以來(lái)重視農(nóng)業(yè)發(fā)展,尤其在水果種植方面取得了顯著成就,品種繁多,面積廣泛覆蓋,居全球前列。隨著經(jīng)濟(jì)增長(zhǎng)和生活品質(zhì)提升,消費(fèi)者更加注重飲食營(yíng)養(yǎng),水果已成為生活中不可或缺的一部分,使中國(guó)成為全球最大的水果消費(fèi)地[1]。目前,水果商戶主要依賴人工識(shí)別水果種類并進(jìn)行稱重和結(jié)算,這種方式不便且不環(huán)保。水果種類繁多,外觀相似,增加了識(shí)別難度,人工處理速度慢且易出錯(cuò)。中國(guó)勞動(dòng)力成本不斷上升,傳統(tǒng)服務(wù)模式浪費(fèi)人力資源,影響顧客滿意度和超市盈利。因此,探索自動(dòng)水果識(shí)別結(jié)算方法十分重要[2]。
水果識(shí)別技術(shù)通過(guò)深度分析水果圖像或視頻,實(shí)現(xiàn)智能判別,廣泛適用于水果商店和無(wú)人超市,提升購(gòu)物體驗(yàn),減少人力成本,優(yōu)化運(yùn)營(yíng)效果。加快智慧農(nóng)業(yè)發(fā)展,推動(dòng)農(nóng)業(yè)數(shù)字化、智能化發(fā)展,實(shí)現(xiàn)高效可持續(xù)的智慧農(nóng)業(yè)。推動(dòng)智能城市發(fā)展,在無(wú)人自助超市中,智能水果識(shí)別系統(tǒng)能自動(dòng)完成消費(fèi)流程,提供便捷高效的購(gòu)物體驗(yàn)。
基于機(jī)器視覺(jué)的水果識(shí)別方法通常包括三個(gè)步驟。首先是圖像預(yù)處理,包括調(diào)整圖像的亮度和對(duì)比度、顏色空間轉(zhuǎn)換、直方圖均衡化、以及像素值歸一化[3]。其次是特征提取,方法包括顏色直方圖([4]、Gabor濾波[5]、局部二值模式[6]、方向梯度直方圖[7]、邊緣特征如Sobel [8]和Canny [9]、尺度不變特征變換[10]以及主成分分析[11]。最后是分類,常用方法有支持向量機(jī)[12]、K最近鄰[13]、決策樹(shù)(Decision Tree) [14]和隨機(jī)森林[15]。
近年來(lái),基于深度學(xué)習(xí)的水果識(shí)別方法取得了顯著進(jìn)展。Enciso等人基于AlexNet模型在320張數(shù)據(jù)集上,對(duì)檸檬的新鮮和腐爛分類分別達(dá)到了98.25%和93.73%的準(zhǔn)確率[16]。孟欣欣等人基于計(jì)算機(jī)視覺(jué)的香梨果實(shí)目標(biāo)檢測(cè)模型,使用Resnet模型在9600張水果數(shù)據(jù)上進(jìn)行預(yù)訓(xùn)練,并構(gòu)建了Mask R-CNN模型,在成熟香梨數(shù)據(jù)集上的平均分割準(zhǔn)確率達(dá)到98.02% [17]。Xue等人提出了一種基于深度學(xué)習(xí)的混合水果分類方法,構(gòu)建了CAE-ADN框架,結(jié)合了注意力模型和卷積自動(dòng)編碼器,實(shí)現(xiàn)了高效的水果圖像分類[18]。Lu等人基于DenseNet201模型和遷移學(xué)習(xí)技術(shù),實(shí)現(xiàn)了番茄分類的高準(zhǔn)確率,即使在圖像質(zhì)量受干擾的情況下,分類準(zhǔn)確率仍達(dá)到96.16% [19]。
此外,Chandel等人基于GoogLeNet模型,提出了一種用于識(shí)別農(nóng)作物水分脅迫條件的方法,在1200張包含玉米、秋葵和大豆的數(shù)據(jù)集上,表現(xiàn)優(yōu)異[20]。Kang等人基于ResNet模型,建立了一個(gè)能夠區(qū)分水果新鮮度和種類的分類模型,收集了18,000張包含7類水果的圖片,通過(guò)遷移學(xué)習(xí)技術(shù)進(jìn)行模型訓(xùn)練,新鮮度分類的識(shí)別準(zhǔn)確率達(dá)到98.50%,種類分類的識(shí)別準(zhǔn)確率為97.43% [21]。Ismail等人提出了一種基于CNN的實(shí)時(shí)水果等級(jí)分類系統(tǒng),使用EfficientNet模型對(duì)蘋(píng)果和香蕉的數(shù)據(jù)集進(jìn)行驗(yàn)證,分類準(zhǔn)確率達(dá)99.2% [22]。Huang等人提出了一種基于ViT的神經(jīng)網(wǎng)絡(luò)模型,建立了一個(gè)包含9375次對(duì)15種水果的觸覺(jué)數(shù)據(jù)集[23]。這些研究展示了深度學(xué)習(xí)在水果識(shí)別中的廣泛應(yīng)用和高效性能,為進(jìn)一步研究和應(yīng)用提供了堅(jiān)實(shí)的基礎(chǔ)。
3.1. 基礎(chǔ)模型選擇
針對(duì)移動(dòng)端的水果識(shí)別應(yīng)用部署,本文選用內(nèi)存為2 GB的Rockchip RK3399-mid芯片,因此需要考慮模型權(quán)重大小和模型計(jì)算量。因此本文對(duì)模型的篩選規(guī)則為模型計(jì)算量(FLOPS/106)小于10,000,模型參數(shù)量小于100 M。通過(guò)對(duì)目前主流的網(wǎng)絡(luò)模型進(jìn)行篩選,本文選用DenseNet-169 [30]為本文的骨干網(wǎng)絡(luò),用于后續(xù)的研究,其模型結(jié)構(gòu)如圖1所示。
Figure 1. DenseNet-169 model architecture
圖1. DenseNet-169模型結(jié)構(gòu)
3.2. 注意力機(jī)制
為進(jìn)一步提升模型性能。讓模型更好地關(guān)注到水果的細(xì)節(jié)紋理,小目標(biāo)水果特征,并緩解包裝、擺放數(shù)量等干擾信息的影響,本文嘗試在骨干網(wǎng)絡(luò)中引入注意力機(jī)制。結(jié)合DenseNet-169模型自身特點(diǎn),其優(yōu)勢(shì)在于稠密塊連接,如在稠密塊中添加注意力將會(huì)破壞稠密結(jié)構(gòu),因此,本文主要在其稠密塊連接處進(jìn)行添加注意力。
本文設(shè)計(jì)新的注意力模塊,殘差混合注意力(Residual Mixed attention, RMA)。同時(shí)考慮空間和通道信息,使用多尺度卷積特征融合形式提取通道信息,并添加殘差連接,相比于單一尺度特征提取,多尺度特征可以動(dòng)態(tài)調(diào)整對(duì)目標(biāo)的關(guān)注程度,使得模型對(duì)于尺度變化具有更好的適應(yīng)性,綜合利用水果的全局結(jié)構(gòu)和局部細(xì)節(jié)信息提高模型對(duì)圖像的識(shí)別準(zhǔn)確性,從而提高模型的魯棒性。
其模型結(jié)構(gòu)如圖2所示,首先分別通過(guò)3 × 3卷積核和5 × 5卷積核對(duì)輸入特征進(jìn)行卷積提取,得到兩個(gè)不同尺度的特征圖,然后通過(guò)相加操作同時(shí)結(jié)合兩個(gè)不同尺度的特征圖,輸入至全局平均池化層得到權(quán)重向量,并通過(guò)一個(gè)線性層來(lái)映射全局特征向量,再通過(guò)Sigmoid激活函數(shù)將其歸一化到0到1之間,得到全局特征向量,然后分別對(duì)所提取的多尺度特征進(jìn)行加權(quán)輸出,并通過(guò)Concat操作按照通道拼接,然后對(duì)特征使用1 × 1卷積核進(jìn)行通道融合并輸入空間注意力模塊。
Figure 2. Residual Mixed Attention (RMA) module
圖2. 殘差混合注意力RMA模塊
3.3. 添加ViT Block
深層特征是對(duì)輸入數(shù)據(jù)進(jìn)行多次非線性變換后得到的結(jié)果,具有更高級(jí)的語(yǔ)義信息,因此對(duì)深層特征的信息整合可以使得模型具有更好的泛化性,提升識(shí)別精度。ViT [24]架構(gòu)使用自注意力機(jī)制來(lái)捕捉圖像中的全局信息,能夠更好地理解圖像整體結(jié)構(gòu)和上下文關(guān)系,具有更好的語(yǔ)義理解能力,可以增強(qiáng)模型的泛化能力。
因此為提升模型深層語(yǔ)義提取能力,增強(qiáng)泛化性。本文實(shí)現(xiàn)適合在CNN模型中添加的ViT Block,其模型結(jié)構(gòu)如圖3所示,通過(guò)對(duì)三維輸入特征按照形狀依次展平變成二維特征,并進(jìn)行線性映射實(shí)現(xiàn)通道特征融合得到新的長(zhǎng)度為D的二維特征,然后對(duì)特征進(jìn)行位置編碼,輸入Encoder塊,進(jìn)行深層特征抽取,并輸出特征。
Figure 3. ViT Block module
圖3. ViT Block結(jié)構(gòu)圖
本文嘗試在DenseNet-169模型中添加基于ViT架構(gòu)的語(yǔ)義提取模塊。通過(guò)分析認(rèn)為CNN在處理圖像淺層特征時(shí)具有先驗(yàn)知識(shí)即歸納偏置(Inductive Bias)例如平移等變性、局部連接性,因此能夠更好地利用圖像本身的空間信息,而ViT結(jié)構(gòu)缺少了這種歸納偏置,并且在前期ViT架構(gòu)計(jì)算復(fù)雜度也較高。因此對(duì)于低級(jí)特征處理階段CNN更具優(yōu)勢(shì),而隨著模型層數(shù)的加深,多重卷積操作使得模型特征逐漸深層化,使得特征更加具有語(yǔ)義性,且特征尺寸有所下降,此時(shí)ViT Block更具有優(yōu)勢(shì)。最終的模型結(jié)構(gòu)如圖4所示。
Figure 4. DenseRMA_ViT model architecture
圖4. DenseRMA_ViT模型結(jié)構(gòu)圖
3.4. 改進(jìn)損失函數(shù)
損失函數(shù)在分類模型中扮演著非常重要的角色,用于衡量模型預(yù)測(cè)與真實(shí)標(biāo)簽的差距,模型根據(jù)損失來(lái)調(diào)整參數(shù),模型的訓(xùn)練過(guò)程旨在最小化損失函數(shù),使得模型能夠從訓(xùn)練數(shù)據(jù)中學(xué)到合適的特征和規(guī)律,以便正確分類樣本。因此選擇合適的損失函數(shù)可以幫助提高模型的性能、泛化能力以及對(duì)特定問(wèn)題的適應(yīng)性。常規(guī)分類損失函數(shù)為交叉熵?fù)p失(Cross-Entropy Loss),計(jì)算公式如下:
LCE(p,y)=?∑Ki=1yilog(pi)???(?,?)=?∑?=1???log(??)(1)
其中K為水果類別數(shù),P為預(yù)測(cè)概率類別向量,y為真實(shí)標(biāo)簽獨(dú)熱編碼向量。
通過(guò)分析模型訓(xùn)練損失曲線圖和數(shù)據(jù)集特點(diǎn)發(fā)現(xiàn),數(shù)據(jù)集樣本中簡(jiǎn)單樣本居多,困難樣本相對(duì)較少。而交叉熵?fù)p失函數(shù)沒(méi)有對(duì)簡(jiǎn)單樣本和困難樣本的損失進(jìn)行區(qū)分。雖然困難樣本的損失較大,但是簡(jiǎn)單樣本數(shù)量多,這將會(huì)導(dǎo)致模型過(guò)多地關(guān)注簡(jiǎn)單樣本的損失,模型難以學(xué)習(xí)困難樣本的特征。同時(shí)本文水果識(shí)別系統(tǒng)在后續(xù)使用中會(huì)對(duì)識(shí)別錯(cuò)誤的水果圖片進(jìn)行收集,并進(jìn)行模型微調(diào),然而在實(shí)際使用中,對(duì)于熱銷水果收集到的圖片必定更多,這對(duì)于后續(xù)模型微調(diào)將會(huì)造成類別樣本不均衡問(wèn)題?;谏鲜鰞蓚€(gè)問(wèn)題,本文基于Focal Loss [25]對(duì)損失函數(shù)進(jìn)行改進(jìn),計(jì)算公式如下:
LF(pt)=?wt(1?pt)2log(pt)??(??)=???(1???)2log(??)(2)
其中t為對(duì)應(yīng)類別序號(hào),wt為對(duì)應(yīng)類別損失權(quán)重,在訓(xùn)練之前設(shè)定,統(tǒng)計(jì)訓(xùn)練樣本類別數(shù)量,設(shè)定樣本數(shù)最高類別的損失權(quán)重為1,其他類別的損失權(quán)重為與樣本數(shù)最高類別的比值的倒數(shù),即數(shù)量越少權(quán)重越大,因此相對(duì)地提升小樣本數(shù)量類別的損失權(quán)重。Pt為對(duì)應(yīng)預(yù)測(cè)類別概率。當(dāng)Pt越接近1,即樣本為簡(jiǎn)單樣本,(1 ? Pt)2則相對(duì)越小,模型對(duì)簡(jiǎn)單樣本的損失相對(duì)權(quán)重越小。當(dāng)Pt越接近0,即樣本為困難樣本,(1 ? Pt)2則相對(duì)越大,模型對(duì)困難樣本的損失相對(duì)權(quán)重越大。
4.1. 數(shù)據(jù)集
目前常見(jiàn)的水果數(shù)據(jù)集包括FruitVeg-81 [26]、Fruits-262 [27]、Fruits-360 [28]等,其中數(shù)字代表數(shù)據(jù)集中水果種類數(shù)量,圖5展示了部分上述水果數(shù)據(jù)集的圖片。可以看出盡管Fruits-360的水果種類眾多,但相對(duì)于其他數(shù)據(jù)集過(guò)于簡(jiǎn)單,不適合實(shí)際超市場(chǎng)景的應(yīng)用。FruitVeg-81數(shù)據(jù)集除了水果圖片,還包含了蔬菜圖片,并且果蔬類別數(shù)量相較于Fruits-262較少,因此在公開(kāi)數(shù)據(jù)集中,F(xiàn)ruits-262數(shù)據(jù)集更加適合作為水果識(shí)別系統(tǒng)模型訓(xùn)練數(shù)據(jù)集。
盡管Fruits-262包含大量水果種類和圖片,但與本地超市的水果種類仍有差距。例如,本地超市的蘋(píng)果種類包括樹(shù)頂紅富士、優(yōu)選紅富士、脆心甜紅富士、甜心小蘋(píng)果,而Fruits-262中有apple (蘋(píng)果)、elephant apple (象蘋(píng)果)、malay apple (馬來(lái)蘋(píng)果)、otaheite apple (塔希提蘋(píng)果),相關(guān)圖片如圖6所示。雖然其他三類水果名稱與apple相關(guān),但與本地常見(jiàn)蘋(píng)果差異較大,難以視為同一類。類似情況在其他水果中也存在。因此,F(xiàn)ruits-262盡管種類多,但未細(xì)分類,也未覆蓋本地超市的水果種類。因此,構(gòu)建適用于本地超市的水果數(shù)據(jù)集對(duì)于水果識(shí)別系統(tǒng)至關(guān)重要。
Figure 5. Sample Images from the public dataset
圖5. 公開(kāi)數(shù)據(jù)集部分圖片
Figure 6. Images of some apple varieties from the fruits-262 dataset
圖6. Fruits-262部分相關(guān)蘋(píng)果種類圖片
本文通過(guò)自制數(shù)據(jù)集用于訓(xùn)練模型得到權(quán)重,用于實(shí)際超市水果識(shí)別系統(tǒng),并且使用公開(kāi)數(shù)據(jù)集Fruits-262驗(yàn)證模型在算法上改進(jìn)的有效性。在實(shí)際超市應(yīng)用場(chǎng)景中,水果種類繁多同時(shí)存在較多細(xì)分類,因此為貼合超市的實(shí)際使用,在拍攝時(shí)覆蓋超市所有種類水果,確保數(shù)據(jù)集的多樣性。本文拍攝49種超市水果,在實(shí)際分類模型中,模型依照序號(hào)對(duì)類別預(yù)測(cè)概率進(jìn)行輸出。由于水果包裝狀態(tài)存在差異,包括袋裝盒裝和散裝等,因此本文考慮到實(shí)際使用針對(duì)不同水果的不同包裝進(jìn)行拍攝,提高模型的泛化性。針對(duì)不同水果的狀態(tài)拍攝,如圖7為小番茄不同狀態(tài)下的拍攝圖片。
數(shù)據(jù)集擴(kuò)增有助于提升模型泛化性和識(shí)別精度,防止過(guò)擬合。Meta開(kāi)源的SAM (Segment Anything Model) [29]實(shí)現(xiàn)了無(wú)需標(biāo)注即可對(duì)任意圖像中的任何物體進(jìn)行分割。本文基于SAM設(shè)計(jì)了水果數(shù)據(jù)集擴(kuò)增方法。將圖片傳入SAM,隨機(jī)生成多個(gè)提示輸入,對(duì)圖像進(jìn)行分割,得到分割對(duì)象。然后對(duì)分割對(duì)象進(jìn)行1到4次隨機(jī)復(fù)制,并隨機(jī)翻轉(zhuǎn)、旋轉(zhuǎn)、縮放,在背景圖像上隨機(jī)粘貼,完成數(shù)據(jù)擴(kuò)增。如圖8所示,對(duì)同一張草莓圖像隨機(jī)生成提示點(diǎn)進(jìn)行擴(kuò)充,左列為隨機(jī)提示點(diǎn),中間為分割實(shí)例,右列為最終擴(kuò)充圖。最終,每種水果圖片擴(kuò)增至6000張,總計(jì)29.4萬(wàn)張,命名為DailyFruit-49。
Figure 7. Photoshoot of cherry tomatoes in different states
圖7. 小番茄不同狀態(tài)下的圖片拍攝
Figure 8. Fruit image augmentation concept based on SAM
圖8. 基于SAM的水果圖片擴(kuò)增示意圖
4.2. 評(píng)價(jià)指標(biāo)
為了全面客觀地評(píng)價(jià)模型對(duì)水果識(shí)別的性能,本文采用多種圖像分類評(píng)價(jià)指標(biāo),包括準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)、F1分?jǐn)?shù)(F1 Score, F1)。準(zhǔn)確率、精確率、召回率的數(shù)學(xué)表達(dá)式如式(3)、(4)、(5)所示。表1解釋了式中元素具體情況。
acc=TP+TNTP+TN+FP+FN???=??+????+??+??+??(3)
pre=TPTP+FP???=????+??(4)
recall=TPTP+FN??????=????+??(5)
F1=2×pre×recallpre+recall?1=2×???×?????????+??????(6)
Table 1. Table of precision and recall explanation
表1. 精確率和召回率解釋表
區(qū)分 |
預(yù)測(cè)Positive |
預(yù)測(cè)Negative |
合計(jì) |
實(shí)際Positive |
TP (True Positive) |
FN (False Negative) |
TP + FN |
實(shí)際Negative |
FP (False Positive) |
TN (True Negative) |
FP + TN |
合計(jì) |
TP + FP |
FN + TN |
TP + FP + FN + TN |
F1分?jǐn)?shù)是精確率和召回率的調(diào)和平均,綜合考慮了分類器的精確性和召回率,是一個(gè)綜合性的評(píng)價(jià)指標(biāo),可以更加綜合地反映了分類器的性能。其數(shù)學(xué)表達(dá)式如式(4)所示。
4.3. 消融實(shí)驗(yàn)
為驗(yàn)證改進(jìn)模型的有效性,本文使用公開(kāi)數(shù)據(jù)集Fruits-262進(jìn)行消融實(shí)驗(yàn),驗(yàn)證算法改進(jìn)的有效性,盡管Fruits-262數(shù)據(jù)與實(shí)際應(yīng)用數(shù)據(jù)相差較大,但是從算法角度,復(fù)雜數(shù)據(jù)依然存在參考價(jià)值。為證明本文對(duì)模型改進(jìn)的有效性,對(duì)RMA模塊、ViT Block、Focal Loss進(jìn)行消融實(shí)驗(yàn),并統(tǒng)計(jì)結(jié)果如表2所示,由表可知相較于基礎(chǔ)骨干網(wǎng)絡(luò),3種改進(jìn)方案的有效性,模型最終Accuracy、Precision、Recall、F1為75.28%、75.84、75.37%、75.60%,相較于僅添加RMA模塊,雖然精確率有所降低,但是召回率和綜合性能F1有所提升,說(shuō)明模型有效緩解了樣本不均衡,提升了模型的綜合性能,證明Focal Loss改進(jìn)的有效性。同時(shí)對(duì)比原始模型1號(hào)DenseNet-169,添加改進(jìn)模塊的模型性能均有所提升,證明DenseRAM_ViT改進(jìn)的有效性。
Table 2. Ablation study results on the Fruits-262 dataset
表2. 在Fruits-262數(shù)據(jù)集上的消融實(shí)驗(yàn)結(jié)果
編號(hào) |
RMA |
ViT Block |
Focal |
Accuracy/% |
Precision/% |
Recall/% |
F1/% |
1 |
- |
- |
- |
73.63 |
74.94 |
74.21 |
74.57 |
2 |
√ |
- |
- |
74.64 |
75.90 |
74.75 |
75.32 |
3 |
- |
√ |
- |
74.63 |
75.77 |
74.76 |
75.26 |
4 |
- |
- |
√ |
74.02 |
75.12 |
74.48 |
74.80 |
5 |
√ |
√ |
√ |
75.28 |
75.84 |
75.37 |
75.60 |
同時(shí)為了直觀展現(xiàn)添加RMA的效果對(duì)比,如圖9使用梯度類激活熱力圖對(duì)Fruits-262數(shù)據(jù)集中部分圖像各區(qū)域受關(guān)注程度做可視化展示,由圖第一行對(duì)比可知,相對(duì)于原始模型DenseNet-169,添加了RMA注意力模型減少了對(duì)背景的關(guān)注,并且加大了對(duì)水果目標(biāo)的關(guān)注,由圖第二行對(duì)比可知,改進(jìn)模型增大了對(duì)水果目標(biāo)的關(guān)注程度與范圍,因此證明了本文改進(jìn)注意力RMA的有效性。
Figure 9. Comparison of heatmaps with and without the Introduction of the RMA module
圖9. 引入RMA模塊熱力圖對(duì)比
4.4. 結(jié)果對(duì)比
為了說(shuō)明本文模型設(shè)計(jì)的有效性,列舉具有代表性的同類水果識(shí)別研究進(jìn)行對(duì)比,結(jié)果如表3所示,盡管有些研究識(shí)別性能很好,但是他們的研究水果種類與數(shù)量較少,不具有代表性。在公開(kāi)數(shù)據(jù)集Fruits-262上,本文最終實(shí)現(xiàn)模型DenseRMA_ViT性能相對(duì)于數(shù)據(jù)集發(fā)布者M(jìn)inut [28]有較大提升。在自制數(shù)
Table 3. Comparison of related studies on fruit recognition
表3. 水果識(shí)別相關(guān)研究對(duì)比
文獻(xiàn) |
年份 |
數(shù)據(jù)集 |
水果種類 |
樣本數(shù)量 |
Top1 Acc/% |
Top5 Acc/% |
2018 |
自制 |
1 |
320 |
98.25 |
_ |
|
2021 |
自制 |
9 |
6100 |
96.16 |
_ |
|
2022 |
自制 |
7 |
18000 |
97.43 |
_ |
|
2022 |
自制 |
2 |
8791 |
96.7% |
_ |
|
2021 |
Fruits-262 |
262 |
225,640 |
58% |
_ |
|
2017 |
Fruits-262 |
262 |
225,640 |
73.63% |
_ |
|
DenseRMA_ViT (our) |
2024 |
Fruits-262 |
262 |
225,640 |
75.28% |
_ |
2018 |
DailyFruit-49 |
49 |
294,000 |
83.65 |
92.64 |
|
2015 |
DailyFruit-49 |
49 |
294,000 |
85.75 |
93.57 |
|
2017 |
DailyFruit-49 |
49 |
294,000 |
87.53 |
98.83 |
|
2020 |
DailyFruit-49 |
49 |
294,000 |
87.95 |
97.07 |
|
DenseRMA_ViT (our) |
2024 |
DailyFruit-49 |
49 |
294,000 |
92.24 |
99.73 |
據(jù)集DailyFruit-49上,本文對(duì)比了深度學(xué)習(xí)經(jīng)典分類模型Mobile v2、ResNet、DenseNet、ViT,由此證明模型的改進(jìn)有效性,同時(shí)本實(shí)驗(yàn)覆蓋的水果種類范圍大,前5類識(shí)別精度達(dá)到99.73%,識(shí)別率能夠滿足實(shí)際使用需求。綜上可知本實(shí)驗(yàn)設(shè)計(jì)的水果識(shí)別算法在水果識(shí)別領(lǐng)域具有應(yīng)用價(jià)值。
4.5. 系統(tǒng)實(shí)現(xiàn)
系統(tǒng)的終端為Android系統(tǒng),深度學(xué)習(xí)模型基于Pytorch框架和Python語(yǔ)言實(shí)現(xiàn),但無(wú)法直接在終端部署。因此,需要將模型轉(zhuǎn)換為適合終端部署的格式。本文采用TorchScript進(jìn)行模型格式轉(zhuǎn)化。TorchScript [33]具有運(yùn)行獨(dú)立性、高性能、跨平臺(tái)支持等優(yōu)點(diǎn),可以將PyTorch模型轉(zhuǎn)換為獨(dú)立格式,使其無(wú)需依賴Python解釋器,可以在移動(dòng)端和嵌入式設(shè)備上運(yùn)行,并且無(wú)需重新訓(xùn)練模型。同時(shí),TorchScript的靜態(tài)圖表示可以優(yōu)化模型性能和效率,如進(jìn)行模型剪枝等。經(jīng)過(guò)測(cè)試,水果識(shí)別終端設(shè)備不需要高性能CPU或GPU,在瑞芯微的RK3399芯片上可以流暢運(yùn)行,其他設(shè)備如攝像頭也不需要高端配置。
本文系統(tǒng)設(shè)計(jì)框架如圖10所示,分為四個(gè)模塊:水果檢測(cè)模塊、前端交互模塊、后臺(tái)自更新模塊、終端更新模塊。四個(gè)模塊相互連接,形成閉環(huán),實(shí)現(xiàn)系統(tǒng)自更新。系統(tǒng)通過(guò)攝像頭實(shí)時(shí)拍攝用戶購(gòu)買的水果圖像,使用模型進(jìn)行識(shí)別,并在終端界面展示供用戶交互。用戶可在終端界面更正識(shí)別錯(cuò)誤的水果種類,并將正確信息上傳至后臺(tái)服務(wù)器。后臺(tái)系統(tǒng)收集誤識(shí)別圖片,管理人員進(jìn)行檢測(cè)與修正。當(dāng)誤識(shí)別圖片達(dá)到一定數(shù)量,后臺(tái)啟動(dòng)遷移學(xué)習(xí)進(jìn)行模型微調(diào),并發(fā)布新權(quán)重。終端設(shè)備每日重啟時(shí)會(huì)檢查新權(quán)重并進(jìn)行更新。整個(gè)系統(tǒng)實(shí)現(xiàn)了水果圖像自動(dòng)化識(shí)別與模型權(quán)重自優(yōu)化,隨著使用時(shí)間的推移,系統(tǒng)將獲得更大的水果圖像數(shù)據(jù)集和更優(yōu)的模型權(quán)重。
Figure 10. Framework diagram of deep learning-based fruit detection system
圖10. 基于深度學(xué)習(xí)的水果檢測(cè)系統(tǒng)設(shè)計(jì)框架圖
水果檢測(cè)模塊為主要功能,涉及整個(gè)裝置,其整體結(jié)果如圖11所示,該模塊包括攝像頭拍攝模塊、水果展示臺(tái)、終端處理模塊。由用戶將待購(gòu)買商品放入展示臺(tái),并通過(guò)攝像頭進(jìn)行拍攝傳入終端,終端設(shè)備部署識(shí)別程序,對(duì)水果進(jìn)行識(shí)別。模型的部署包括對(duì)所得到的Pytorch模型權(quán)重pth文件進(jìn)行轉(zhuǎn)換為TorchScript格式,再結(jié)合Android應(yīng)用程序進(jìn)行模型嵌入轉(zhuǎn)換好的模型完成部署。
Figure 11. Fruit photography device
圖11. 水果拍攝裝置
4.6. 實(shí)際超市水果驗(yàn)證
為驗(yàn)證DenseRMA_ViT水果識(shí)別算法的有效性,在本地超市進(jìn)行了實(shí)地拍攝和識(shí)別測(cè)試。由于季節(jié)原因,部分水果未在售,對(duì)28種在售水果進(jìn)行拍攝,每種4張,分別以袋裝和散裝1:3拍攝,共112張。拍攝過(guò)程中不固定光照、角度和距離,以增加難度。識(shí)別結(jié)果顯示,Top5全部正確,但有些不足,如奇異果的Top1識(shí)別錯(cuò)誤。整體上,模型Top1識(shí)別準(zhǔn)確率為84.82%,Top5為96.43%。相比基礎(chǔ)模型DenseNet-169的Top1準(zhǔn)確率79.46%、Top5準(zhǔn)確率90.18%,改進(jìn)模型分別提升了5.36%和6.25%。盡管存在誤識(shí)別,系統(tǒng)可以收集誤識(shí)別圖像,更新數(shù)據(jù)集并微調(diào)模型權(quán)重,從而提升精度。
Figure 12. Supermarket real-world testing
圖12. 超市實(shí)拍測(cè)試
水果自動(dòng)識(shí)別提升商店效益,減少標(biāo)簽,環(huán)保,是智慧農(nóng)業(yè)關(guān)鍵。本文為本地超市構(gòu)建了新水果數(shù)據(jù)集,設(shè)計(jì)了基于深度學(xué)習(xí)的識(shí)別系統(tǒng),實(shí)現(xiàn)自動(dòng)識(shí)別,加快智慧農(nóng)業(yè)推廣。拍攝超市各種水果,考慮盒裝、袋裝、散裝等不同包裝。首次應(yīng)用SAM進(jìn)行數(shù)據(jù)擴(kuò)增,構(gòu)建包含49種水果、29.4萬(wàn)張圖片的DailyFruit-49數(shù)據(jù)集。選擇DenseNet為基礎(chǔ)模型,結(jié)合通道與空間注意力機(jī)制,設(shè)計(jì)RMA注意力機(jī)制,改進(jìn)ViT Block用于深層語(yǔ)義特征提取,得到DenseRMA_ViT模型?;贔ocal Loss改進(jìn)交叉熵?fù)p失函數(shù),增強(qiáng)對(duì)困難和少樣本水果的關(guān)注,提升模型泛化性。在低算力終端部署識(shí)別系統(tǒng),并設(shè)計(jì)自動(dòng)微調(diào)模型權(quán)重的機(jī)制,通過(guò)收集誤識(shí)別圖片不斷優(yōu)化模型,提升識(shí)別率,驗(yàn)證超市實(shí)際效果。
*通訊作者。
[1] | 吳中勇, 李延榮, 董中丹. 我國(guó)水果市場(chǎng)發(fā)展現(xiàn)狀及對(duì)策研究[J]. 中國(guó)果菜, 2023, 43(11): 79-83+87. |
[2] | 中研普華公司, 2022-2027年中國(guó)果蔬行業(yè)市場(chǎng)全面分析及發(fā)展趨勢(shì)調(diào)研報(bào)告[R]. 深圳: 中國(guó)行業(yè)研究網(wǎng), 2022. |
[3] |
Jana, S., Basak, S. and Parekh, R. (2017) Automatic Fruit Recognition from Natural Images Using Color and Texture Features. 2017 Devices for Integrated Circuit (DevIC), Kalyani, 23-24 March 2017, 620-624. https://doi.org/10.1109/devic.2017.8074025 |
[4] |
Novak, C.L. and Shafer, S.A. (1992) Anatomy of a Color Histogram. Proceedings 1992 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, Champaign, 15-18 June 1992, 559-605. https://doi.org/10.1109/cvpr.1992.223129 |
[5] | Movellan, J.R. (2002) Tutorial on Gabor filters. Open Source Document, 40, 1-23. |
[6] |
Pietik?inen, M. (2010) Local Binary Patterns. Scholarpedia, 5, 9775. https://doi.org/10.4249/scholarpedia.9775 |
[7] | Tomasi, C. (2012) Histograms of Oriented Gradients. Computer Vision Sampler, 1, 1-6. |
[8] |
Gao, W.S., Zhang, X.G., Yang, L. and Liu, H.Z. (2010) An Improved Sobel Edge Detection. 2010 3rd International Conference on Computer Science and Information Technology, Chengdu, 9-11 July 2010, 67-71. https://doi.org/10.1109/iccsit.2010.5563693 |
[9] |
Ding, L. and Goshtasby, A. (2001) On the Canny Edge Detector. Pattern Recognition, 34, 721-725. https://doi.org/10.1016/s0031-3203(00)00023-6 |
[10] |
Cruz-Mota, J., Bogdanova, I., Paquier, B., Bierlaire, M. and Thiran, J. (2011) Scale Invariant Feature Transform on the Sphere: Theory and Applications. International Journal of Computer Vision, 98, 217-241. https://doi.org/10.1007/s11263-011-0505-4 |
[11] |
Wold, S., Esbensen, K. and Geladi, P. (1987) Principal Component Analysis. Chemometrics and Intelligent Laboratory Systems, 2, 37-52. https://doi.org/10.1016/0169-7439(87)80084-9 |
[12] |
Hearst, M.A., Dumais, S.T., Osuna, E., Platt, J. and Scholkopf, B. (1998) Support Vector Machines. IEEE Intelligent Systems and their Applications, 13, 18-28. https://doi.org/10.1109/5254.708428 |
[13] |
Kramer, O. (2013) K-Nearest Neighbors. In: Kramer, O., Ed., Dimensionality Reduction with Unsupervised Nearest Neighbors, Springer Berlin Heidelberg, 13-23. https://doi.org/10.1007/978-3-642-38652-7_2 |
[14] |
Breiman, L. (2001) Random Forests. Machine Learning, 45, 5-32. https://doi.org/10.1023/a:1010933404324 |
[15] | Song, Y.Y. and Ying, L.U. (2015) Decision Tree Methods: Applications for Classification and Prediction. Shanghai Archives of Psychiatry, 27, 130. |
[16] | Enciso-Aragón, C.J., Pachón-Suescún, C.G. and Jimenez-Moreno, R. (2018) Quality Control System by Means of CNN and Fuzzy Systems. International Journal of Applied Engineering Research, 13, 12846-12853. |
[17] | 孟欣欣, 阿里甫·庫(kù)爾班, 呂情深, 等. 基于遷移學(xué)習(xí)的自然環(huán)境下香梨目標(biāo)識(shí)別研究[J]. 新疆大學(xué)學(xué)報(bào)(自然科學(xué)版), 2019, 36(4): 461-467. |
[18] |
Xue, G., Liu, S. and Ma, Y. (2020) A Hybrid Deep Learning-Based Fruit Classification Using Attention Model and Convolution Autoencoder. Complex & Intelligent Systems, 9, 2209-2219. https://doi.org/10.1007/s40747-020-00192-x |
[19] |
Lu, T., Han, B., Chen, L., Yu, F. and Xue, C. (2021) A Generic Intelligent Tomato Classification System for Practical Applications Using Densenet-201 with Transfer Learning. Scientific Reports, 11, Article No. 15824. https://doi.org/10.1038/s41598-021-95218-w |
[20] |
Chandel, N.S., Chakraborty, S.K., Rajwade, Y.A., Dubey, K., Tiwari, M.K. and Jat, D. (2020) Identifying Crop Water Stress Using Deep Learning Models. Neural Computing and Applications, 33, 5353-5367. https://doi.org/10.1007/s00521-020-05325-4 |
[21] |
Kang, J. and Gwak, J. (2021) Ensemble of Multi-Task Deep Convolutional Neural Networks Using Transfer Learning for Fruit Freshness Classification. Multimedia Tools and Applications, 81, 22355-22377. https://doi.org/10.1007/s11042-021-11282-4 |
[22] |
Ismail, N. and Malik, O.A. (2022) Real-time Visual Inspection System for Grading Fruits Using Computer Vision and Deep Learning Techniques. Information Processing in Agriculture, 9, 24-37. https://doi.org/10.1016/j.inpa.2021.01.005 |
[23] |
Huang, R., Zheng, W., Zhang, B., Zhou, J., Cui, Z. and Zhang, Z. (2023) Deep Learning with Tactile Sequences Enables Fruit Recognition and Force Prediction for Damage-Free Grasping. Computers and Electronics in Agriculture, 211, Article ID: 107985. https://doi.org/10.1016/j.compag.2023.107985 |
[24] | Dosovitskiy, A., Beyer, L., Kolesnikov, A., et al. (020) An Image Is Worth 16 × 16 Words: Transformers for Image Recognition at Scale. arXiv: 2010.11929. |
[25] |
Lin, T., Goyal, P., Girshick, R., He, K. and Dollar, P. (2017) Focal Loss for Dense Object Detection. 2017 IEEE International Conference on Computer Vision (ICCV), Venice, 22-29 October 2017, 2999-3007. https://doi.org/10.1109/iccv.2017.324 |
[26] |
Waltner, G., Schwarz, M., Ladst?tter, S., Weber, A., Luley, P., Lindschinger, M., et al. (2017) Personalized Dietary Self-Management Using Mobile Vision-Based Assistance. In: Battiato, S., Farinella, G., Leo, M. and Gallo, G., Eds., New Trends in Image Analysis and Processing—ICIAP 2017, Springer International Publishing, 385-393. https://doi.org/10.1007/978-3-319-70742-6_36 |
[27] |
Minut, M. and Iftene, A. (2021) Creating a Dataset and Models Based on Convolutional Neural Networks to Improve Fruit Classification. 2021 23rd International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC), Timisoara, 7-10 December 2021, 155-162. https://doi.org/10.1109/synasc54541.2021.00035 |
[28] |
Mure?an, H. and Oltean, M. (2018) Fruit Recognition from Images Using Deep Learning. Acta Universitatis Sapientiae, Informatica, 10, 26-42. https://doi.org/10.2478/ausi-2018-0002 |
[29] |
Kirillov, A., Mintun, E., Ravi, N., Mao, H., Rolland, C., Gustafson, L., et al. (2023) Segment Anything. 2023 IEEE/CVF International Conference on Computer Vision (ICCV), Paris, 1-6 October 2023, 3992-4003. https://doi.org/10.1109/iccv51070.2023.00371 |
[30] |
Huang, G., Liu, Z., Van Der Maaten, L. and Weinberger, K.Q. (2017) Densely Connected Convolutional Networks. 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Honolulu, 21-26 July 2017, 2261-2269. https://doi.org/10.1109/cvpr.2017.243 |
[31] |
Sandler, M., Howard, A., Zhu, M., Zhmoginov, A. and Chen, L. (2018) MobileNetV2: Inverted Residuals and Linear Bottlenecks. 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, Salt Lake City, 18-23 June 2018, 4510-4520. https://doi.org/10.1109/cvpr.2018.00474 |
[32] |
He, K., Zhang, X., Ren, S. and Sun, J. (2016) Deep Residual Learning for Image Recognition. 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, 27-30 June 2016, 770-778. https://doi.org/10.1109/cvpr.2016.90 |
[33] | Reed, J., DeVito, Z., He, H., et al. (2022) Torch. fx: Practical Program Capture and Transformation for Deep Learning in Python. Proceedings of Machine Learning and Systems, 4, 638-651. |