邱顯焱,郭士超,王俊杰
(湖南工業(yè)大學(xué)機(jī)械工程學(xué)院,湖南株洲 412007)
辣椒是茄科辣椒屬的重要蔬菜,內(nèi)含眾多營養(yǎng)物質(zhì),具有藥用價(jià)值和食用價(jià)值,在我國廣泛種植[1]。作為人民必需的餐用調(diào)味品,常在市場(chǎng)中以干辣椒、辣椒粉等初級(jí)加工品的形式流通[2]。而干辣椒是指將新鮮紅辣椒經(jīng)過人工脫水或自然晾曬等工藝過程而制成的辣椒制品,又稱作辣椒干、干制辣椒。但制作干辣椒時(shí),特別是在自然晾曬干制過程中,辣椒皮和肉的紅色部分經(jīng)常褪色,變白色和黃色,形成“花殼”、“白殼”、“花皮”干辣椒[3],花殼干辣椒果皮中的類胡蘿卜素的含量較正常紅辣椒顯著降低[4]。鑒于干辣椒的感官品質(zhì)和商品價(jià)值受到嚴(yán)重影響,需要干辣椒品質(zhì)分類,但目前對(duì)此分類,大多是靠效率低、消耗成本大的人工完成,急需要研制一種操作方便、分類快速、準(zhǔn)確率高、大規(guī)模自動(dòng)分選的干辣椒品質(zhì)分選機(jī)器,將花白殼等品質(zhì)不好的干辣椒挑選出來,利用什么方法在眾多的干辣椒當(dāng)中將其選出是分選機(jī)器的關(guān)鍵。
近年來,計(jì)算機(jī)視覺技術(shù)在果蔬質(zhì)量檢測(cè)方面應(yīng)用很廣。計(jì)算機(jī)視覺系統(tǒng)一般由檢測(cè)箱、光源、CCD 攝像頭、圖像采集卡(幀捕獲器或數(shù)字化儀)、計(jì)算機(jī)硬件和軟件系統(tǒng)、控制機(jī)構(gòu)等部分組成。電腦硬件和軟件系統(tǒng)相互作用,分析水果和蔬菜的外部品質(zhì)圖像,給出了檢查對(duì)象的最終檢測(cè)信息,并最終控制整個(gè)檢測(cè)系統(tǒng)完成分級(jí)和分類任務(wù)[5]。張力超[6]提出一種基于計(jì)算機(jī)視覺的蘋果分類和分級(jí)研究方法,通過提取蘋果的外部特征,運(yùn)用Support Vector Machine(SVM)和Convolution Neural Networks(CNN)方法進(jìn)行對(duì)比,結(jié)果表明在有足夠的圖像數(shù)據(jù)下,CNN 方法在識(shí)別蘋果種類和單個(gè)蘋果外觀等級(jí)的準(zhǔn)確率高于SVM 方法。文懷興等[7]提出基于改進(jìn)深度殘差網(wǎng)絡(luò)的紅棗缺陷檢測(cè)分類方法,在RGB 彩色圖片中,因G 通道在紅棗的缺陷部分體現(xiàn)出紅棗的正常部位和缺陷部位的反差區(qū)別,所以以紅棗的G 分量作為殘差網(wǎng)絡(luò)的輸入,通過神經(jīng)網(wǎng)絡(luò)的訓(xùn)練與測(cè)試,此分類方法準(zhǔn)確率為96.11%。朱幸輝等[8]在卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,利用Single Shot MultiBox Detector(SSD)算法將Region Proposal 和分類統(tǒng)一在一起,針對(duì)西紅柿葉片病斑做出識(shí)別仿真,得出的Mean Average Precision(mAP)值為0.988。林雯[9]針對(duì)芒果外觀品質(zhì),提出一種基于計(jì)算機(jī)視覺和BP神經(jīng)網(wǎng)絡(luò)的分類算法,選取芒果的小波特征、顏色特征、形狀特征、缺陷面積所占比進(jìn)行提取,作為BP 神經(jīng)網(wǎng)絡(luò)的輸入,實(shí)現(xiàn)的3 個(gè)等級(jí)分類,準(zhǔn)確率達(dá)到93.3%。余游江等[10]針對(duì)新疆紅棗在加工過程中需對(duì)不同種類區(qū)分的問題,構(gòu)建了Densenet 121、ResNet 50、VGG 16 三個(gè)種類的卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)學(xué)習(xí)器,邏輯回歸為次級(jí)學(xué)習(xí)器的Stacking 集成學(xué)習(xí)模型,并進(jìn)行不同學(xué)習(xí)器組合的模型對(duì)比,結(jié)果表明提出的集成模型準(zhǔn)確率為92.38%。
對(duì)于辣椒的研究,鄭凱等[11]針對(duì)青椒質(zhì)量品相問題,提出了利用卷積神經(jīng)網(wǎng)絡(luò)方法對(duì)其識(shí)別分類,通過比較不同的卷積層和優(yōu)化函數(shù)對(duì)其準(zhǔn)確率的影響,分析出運(yùn)用3 * 3 卷積核的三層CNN 網(wǎng)絡(luò)模型和Adaptive Moment Estimation(Adam)優(yōu)化函數(shù)在測(cè)試分類的準(zhǔn)確率最優(yōu),準(zhǔn)確率達(dá)到97.60%。袁開放[12]針對(duì)鮮辣椒大小和病殘問題,提出基于機(jī)器視覺的分類方法,利用最小外接矩形算法識(shí)別辣椒的大小,準(zhǔn)確率為95%,利用RGB 和HIS顏色模型對(duì)辣椒病殘進(jìn)行識(shí)別并剔除次品。李碩[3]根據(jù)干辣椒外觀品質(zhì)國家分級(jí)標(biāo)準(zhǔn),基于機(jī)器視覺對(duì)干辣椒進(jìn)行品質(zhì)分級(jí),對(duì)干辣椒圖像預(yù)處理后,利用最小外接矩形的長寬比鑒定干辣椒是否有柄,有柄為不合格,進(jìn)一步基于顏色性狀差異區(qū)分合格干辣椒與不合格干辣椒,實(shí)驗(yàn)分級(jí)準(zhǔn)確率為92.15%。本文針對(duì)干辣椒外觀品質(zhì)提出了新的分類方法,研究基于Transformer 模型進(jìn)行干辣椒外觀品質(zhì)分級(jí),并進(jìn)行同模型間訓(xùn)練是否利用遷移學(xué)習(xí)對(duì)比和不同訓(xùn)練模型的對(duì)比,結(jié)果表明:利用遷移學(xué)習(xí)的Shifted windows Transformer(Swin Transformer)模型準(zhǔn)確率最高,最穩(wěn)定。
本文收集的圖像來自于株洲市本地菜農(nóng)所賣的干辣椒,當(dāng)?shù)厝朔Q“辣椒王”。收購后干辣椒制備描述如表1所示,在原始辣椒中摻雜著外觀品相不一的干辣椒,需用人工把品質(zhì)相同的干辣椒進(jìn)行挑選出來,為做圖像數(shù)據(jù)集做準(zhǔn)備。本文依據(jù)國家對(duì)于干辣椒的分級(jí)標(biāo)準(zhǔn)[13]和市場(chǎng)需要將其分為3 種干辣椒,即優(yōu)質(zhì)干辣椒、合格干辣椒、不合格干辣椒。其中不合格干辣椒品質(zhì)已經(jīng)破環(huán),嚴(yán)重影響消費(fèi)者的購買行為。
表1 干辣椒分級(jí)描述
本文共拍攝2 115張干辣椒,為提高模型的訓(xùn)練量以及泛化能力,利用數(shù)據(jù)增強(qiáng)技術(shù)通過旋轉(zhuǎn)、鏡像方法擴(kuò)增到6 345張圖片,此方法增強(qiáng)模型的魯棒性。數(shù)據(jù)分為訓(xùn)練集4 445 張和測(cè)試集1 900 張,劃分比例為7∶3。其中訓(xùn)練集優(yōu)質(zhì)為889張,合格為889張,不合格各小類均為889 張;測(cè)試集優(yōu)質(zhì)為380 張,合格為380 張,不合格各小類均為380 張。利用Python 將數(shù)據(jù)圖片像素統(tǒng)一改為224×224。
Swin Transformer 網(wǎng)絡(luò)起源于Transformer 模型,而Transformer 模型是谷歌在2017 年提出[14],起初針對(duì)于自然語言處理領(lǐng)域,利用自注意力機(jī)制代替?zhèn)鹘y(tǒng)處理序列數(shù)據(jù)時(shí)采用的循環(huán)神經(jīng)網(wǎng)絡(luò),不僅實(shí)現(xiàn)了并行訓(xùn)練,提升了訓(xùn)練的效率,同時(shí)也在應(yīng)用中取得不錯(cuò)的結(jié)果。Swin Transformer 網(wǎng)絡(luò)是微軟在2021 年在ICCV 上發(fā)表文章[15]中提出,這是Transformer 模型在計(jì)算機(jī)視覺圖像分類方面一次大的發(fā)展。
該模型相比之前的VisionTransformer(ViT)[16]做出兩個(gè)改進(jìn):(1)引入卷積神經(jīng)網(wǎng)絡(luò)常用的層次化構(gòu)建方式構(gòu)建層次化Transformer;(2)引入locality 思想,對(duì)無重合的windows 區(qū)域內(nèi)進(jìn)行自注意力機(jī)制計(jì)算,實(shí)際表現(xiàn)與ViT 模型相比,擁有出色的效果。整體結(jié)構(gòu)如圖1所示,輸入224×224×3 尺寸的干辣椒圖像,在Patch Partition 階段,由4×4的滑動(dòng)窗口將圖片劃分為56×56×48大小的patch。經(jīng)過stage1階段,Linear Embedding對(duì)每個(gè)像素的channel 數(shù)據(jù)做線性變換,將向量的維度變成一個(gè)Transformer 可以接受的值,即將shape 為(56,56,48)變成(56,56,C),C為超參數(shù),對(duì)于Swin-B 來說,C為128;接著進(jìn)入Swin Transformer Block,在模塊中,為了減少計(jì)算量問題,引入Windows Muti-Head Self-Attention(W-MSA)模塊,為了解決窗口與窗口無法傳遞信息的問題,引入Shifted Windows Muti-Head Self-Attention(SW-MSA)模塊,W-MSA 和SW-MSA 依次進(jìn)行,成對(duì)出現(xiàn)。在分類部分,依次通過Layer Norm 層、全局平均池化層(Global average pooling)、全連接層到分類標(biāo)簽,維度1×5,對(duì)應(yīng)于干辣椒5個(gè)分類類別。
圖1 Swin Transformer模型
激活函數(shù)是神經(jīng)網(wǎng)絡(luò)的重要部分,線性神經(jīng)網(wǎng)絡(luò)引入激活函數(shù),會(huì)引入非線性,增強(qiáng)模型的學(xué)習(xí)能力。本文使用高斯誤差線性單元Gaussian Error Linear Unit(GELU),Dan Hendrycks 與Kevin Gimped 使用GELU 激活函數(shù)在MNIST和CIFAR-10/100數(shù)據(jù)集進(jìn)行評(píng)估,準(zhǔn)確性要比ELU 和RELU 激活函數(shù)高,至此可作為激活函數(shù)的可選方案之一。公式如下:
其中,Φ(x)指的x的高斯正態(tài)分布的累計(jì)分布,該式不能直接計(jì)算,近似逼近可表示為:
基于梯度下降法的各種改進(jìn)算法是目前主流的優(yōu)化方法,其最基本的思想是如果找到某函數(shù)的最小值,最好的方法是沿著負(fù)梯度方向查尋。公式如式(3)。在數(shù)據(jù)集上計(jì)算梯度進(jìn)行參數(shù)更新,只要學(xué)習(xí)率足夠小,每次更新參數(shù)時(shí)總能使損失函數(shù)變小。
式中:x為參數(shù)向量;Ir為學(xué)習(xí)率;dx為梯度。
Adam 近似RMSProp 的動(dòng)量版,加入了迭代衰減因子,采用指數(shù)衰減的方法,只對(duì)最近的歷史梯度信息進(jìn)行累加。Adam 公式如下:t為迭代次數(shù);Ir為學(xué)習(xí)率;gt為梯度;β1β2為衰減系數(shù),一般用值{0.9,0.99,0.999},取β1= 0.9;β2= 0.999;ε為小常量,防止除數(shù)為0,一般10-8與10-4之間,取10-8;f(x)為參數(shù)x下的損失函數(shù);初始化參數(shù)x0,t= 0,m0= 0(一階矩動(dòng)量),v0=0(二階矩動(dòng)量)。對(duì)公式(4)~(10)不斷重復(fù),直到xt收斂。本文運(yùn)用Adam優(yōu)化方法。具體如下:
評(píng)價(jià)模型優(yōu)劣指標(biāo)包括準(zhǔn)確率Acc(Accuracy)、精確率P(Precision)、召回率R(Recall)等。公式如下:
式中:TP為預(yù)測(cè)與實(shí)際均為正類的樣本數(shù)量;TN為預(yù)測(cè)與實(shí)際均為負(fù)類的樣本數(shù)量;FP為預(yù)測(cè)為正類但實(shí)際為負(fù)類的樣本數(shù)量;FN為預(yù)測(cè)為負(fù)類但實(shí)際為正類的樣本數(shù)量。
F1-Score 為精確率Precision 和召回率Recall 的調(diào)和值,取值范圍(0~1),對(duì)單個(gè)種類越大越可以表達(dá)模型的優(yōu)秀。公式如下:
本模型對(duì)每個(gè)分類的F1-Score 取平均值得到MeanF1-Score。
本文針對(duì)干辣椒品相分為3 個(gè)等級(jí),其中不合格又分為3 個(gè)類別,所以深度學(xué)習(xí)模型將對(duì)干辣椒分揀出5個(gè)類別。以Swin Transformer 和ViT 模型為基礎(chǔ),采用隨機(jī)初始化學(xué)習(xí)方式和遷移學(xué)習(xí)方式在干辣椒數(shù)據(jù)集上訓(xùn)練并對(duì)比;遷移學(xué)習(xí)所加載的預(yù)訓(xùn)練權(quán)重在數(shù)據(jù)集ImageNet1000 訓(xùn)練得到,除了全連接層的所有網(wǎng)絡(luò)進(jìn)行凍結(jié),保留遷移權(quán)重,僅對(duì)全連接層訓(xùn)練。模型訓(xùn)練100 輪,測(cè)試集預(yù)測(cè)的準(zhǔn)確率曲線如圖2 和圖3 所示(Pre-Val Acc 為運(yùn)用遷移學(xué)習(xí)的測(cè)試準(zhǔn)確率,ValAcc 為未用遷移學(xué)習(xí)的測(cè)試準(zhǔn)確率),不同情況下測(cè)試結(jié)果如表2所示。從圖中可以看出,采用遷移學(xué)習(xí)初始化模型比隨機(jī)初始化模型預(yù)測(cè)準(zhǔn)確率起點(diǎn)更高,特征提取用時(shí)更短,且更快達(dá)到收斂,收斂性變得更好。這是因?yàn)镮mage 數(shù)據(jù)集與分類任務(wù)數(shù)據(jù)集具有相關(guān)性,即在Image訓(xùn)練過的模型可以有效提取干辣椒圖像特征,分類效果會(huì)更好。表2 顯示同一模型運(yùn)用遷移學(xué)習(xí)方式評(píng)估效果會(huì)更好,不同模型Swin Transformer 模型則比ViT 模型測(cè)試準(zhǔn)確率更高,前者準(zhǔn)確率達(dá)到95.26%,MesanF1-Score為95.26%。
圖2 Swin Transformer 測(cè)試準(zhǔn)確率曲線
圖3 ViT測(cè)試準(zhǔn)確率曲線
表2 不同網(wǎng)絡(luò)模型測(cè)試結(jié)果
云服務(wù)器實(shí)驗(yàn)平臺(tái)參數(shù)設(shè)置如表3所示。
表3 云服務(wù)器實(shí)驗(yàn)平臺(tái)參數(shù)設(shè)置
本文利用Transformer 模型在圖像分類上的優(yōu)勢(shì),通過改進(jìn)將其應(yīng)用到干辣椒分類任務(wù),實(shí)驗(yàn)結(jié)果達(dá)到較高的識(shí)別準(zhǔn)確率,證明方法的有效性。實(shí)驗(yàn)通過對(duì)比遷移學(xué)習(xí)初始化權(quán)重訓(xùn)練與隨機(jī)初始化權(quán)重訓(xùn)練,證明遷移學(xué)習(xí)方案可以縮短模型訓(xùn)練時(shí)間,模型準(zhǔn)確率曲線更快達(dá)到收斂,準(zhǔn)確率更高,表現(xiàn)正遷移作用;對(duì)比改進(jìn)的Swin Transformer 模型與ViT 模型,得出Swin Transformer模型特征提取更有效,準(zhǔn)確率更高,更穩(wěn)定,且運(yùn)用遷移學(xué)習(xí)方式的Swin Transformer 模型測(cè)試準(zhǔn)確率為95.26%,可作為辣椒分類算法參考。
本數(shù)據(jù)集的干辣椒圖像大部分取樣可為其他辣椒檢測(cè)或識(shí)別任務(wù)進(jìn)一步擴(kuò)充數(shù)據(jù)集,也可繼續(xù)優(yōu)化該模型,并將該模型運(yùn)用到其他果蔬分揀方面。