摘 要:玉米是世界上最重要的糧食作物之一,其品質(zhì)鑒別對農(nóng)業(yè)生產(chǎn)和食品加工具有重要意義。傳統(tǒng)的玉米籽粒品質(zhì)鑒別方法往往需要大量人力和時(shí)間成本,并且易受主觀因素影響?;贏lexNet模型,提出了一種改進(jìn)的并且適配于玉米籽粒品質(zhì)鑒別的AlexNet算法,并針對玉米籽粒數(shù)據(jù)集進(jìn)行微調(diào)。在微調(diào)過程中,采用數(shù)據(jù)增強(qiáng)、批量歸一化、隨機(jī)失活等技術(shù),以提高模型的性能。經(jīng)試驗(yàn),該模型在測試集上的準(zhǔn)確率為96.6%,優(yōu)于原本的AlexNet模型對玉米籽粒品質(zhì)鑒別性能。該模型的應(yīng)用有望提供更快速、準(zhǔn)確的玉米籽粒品質(zhì)鑒別方法,有利于玉米籽粒品質(zhì)把控。
關(guān)鍵詞:AlexNet;玉米品質(zhì)鑒別;批量歸一化
中圖分類號(hào):S513;TP391.41 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-7909-(2023)13-148-3
0 引言
在計(jì)算機(jī)視覺深度學(xué)習(xí)領(lǐng)域,AlexNet神經(jīng)網(wǎng)絡(luò)算法是最出名的算法之一,被認(rèn)為是開創(chuàng)性研究之一。然而,隨著研究的深入,人們發(fā)現(xiàn)AlexNet模型在某些方面存在一些不足之處,如容易出現(xiàn)過擬合、計(jì)算復(fù)雜度較高等[1]。因此,筆者對AlexNet模型進(jìn)行一定的改進(jìn),以解決其原本存在的問題,并提高模型在玉米籽粒品質(zhì)鑒別任務(wù)中的性能。此外,筆者采用了一些常用的深度學(xué)習(xí)技術(shù),如數(shù)據(jù)增強(qiáng)(Data Augmentation)、批量歸一化(Batch Normalization)、隨機(jī)失活(Dropout)等,以提高模型的性能。Data Augmentation技術(shù)被廣泛應(yīng)用于圖像分類、目標(biāo)檢測、語音識(shí)別等領(lǐng)域,可通過對訓(xùn)練集數(shù)據(jù)進(jìn)行變換和擾動(dòng),擴(kuò)增訓(xùn)練集的規(guī)模,提高模型的泛化能力。應(yīng)用Batch Normalization技術(shù),可對每一層的輸入進(jìn)行標(biāo)準(zhǔn)化,減少內(nèi)部協(xié)變量移位,提高模型的訓(xùn)練速度和魯棒性。應(yīng)用Dropout技術(shù),則可隨機(jī)將一部分神經(jīng)元的輸出值置為0,以減少過擬合的風(fēng)險(xiǎn),提高模型的泛化能力。
1 模型改進(jìn)
1.1 圖像預(yù)處理
1.1.1 圖像尺寸調(diào)整
將輸入圖像的尺寸調(diào)整為2 448像素×2 448像素。對于訓(xùn)練集中的每個(gè)圖像,首先將其在較短的一側(cè)進(jìn)行調(diào)整,然后將其中心區(qū)域裁剪為224像素×224像素。
1.1.2 像素值歸一化
將輸入圖像的像素值歸一化到[0,1]范圍內(nèi)。具體來說,將每個(gè)像素的RGB值除以255即可。
1.1.3 數(shù)據(jù)增強(qiáng)
在訓(xùn)練過程中,采用Data Augmentation技術(shù),如隨機(jī)裁剪、隨機(jī)水平翻轉(zhuǎn)、隨機(jī)色彩抖動(dòng)等,以增加訓(xùn)練數(shù)據(jù)的多樣性和泛化能力。
1.1.4 數(shù)據(jù)標(biāo)準(zhǔn)化
在訓(xùn)練過程中,對輸入圖像的每個(gè)通道進(jìn)行標(biāo)準(zhǔn)化處理,以便更好地滿足模型的輸入要求。具體來說,對于每個(gè)通道,計(jì)算其均值和標(biāo)準(zhǔn)差,然后對輸入圖像進(jìn)行標(biāo)準(zhǔn)化處理。
1.2 改進(jìn)AlexNet模型
相對于Bottleneck,BasicBlock更適合深度較淺的網(wǎng)絡(luò)。因此,在AlexNet第五層卷積層后面添加一個(gè)輸入與輸出通道數(shù)相同的BasicBlock[2-3](見圖1)。BasicBlock是ResNet中使用的一種殘差塊,由2個(gè)3×3的卷積層和一個(gè)Residual連接組成。在BasicBlock中,輸入經(jīng)過第一個(gè)卷積層進(jìn)行特征提取,然后經(jīng)過Residual連接進(jìn)行信息傳遞,最后經(jīng)過第二個(gè)卷積層得到輸出。通過這種方式,減少了梯度消失和梯度爆炸問題,提高了模型的訓(xùn)練速度和準(zhǔn)確性。
Batch Normalization是一種在神經(jīng)網(wǎng)絡(luò)中用于加速收斂并提高模型訓(xùn)練效果的技術(shù)[4-6]。其主要思想是在訓(xùn)練過程中對每一層的輸入進(jìn)行歸一化處理,使輸入數(shù)據(jù)在訓(xùn)練過程中具有相同的均值和方差。在下一層卷積層的輸入前添加一個(gè)Batch Normalization層,該層將每個(gè)Batch的輸入進(jìn)行歸一化處理,并對其進(jìn)行縮放和平移操作。這樣可以使網(wǎng)絡(luò)在進(jìn)行梯度下降時(shí)更加穩(wěn)定,防止出現(xiàn)梯度消失或梯度爆炸的情況,同時(shí)能夠加速模型的收斂。
為進(jìn)一步提高模型的泛化能力,應(yīng)用Dropout技術(shù)(見圖2)減少過擬合的風(fēng)險(xiǎn)。在訓(xùn)練階段,對于每個(gè)神經(jīng)元,按照一定的概率P將其輸出值置為0,即丟棄該神經(jīng)元的輸出值。概率P通常是在0.2~0.5(此次研究P=0.5)。這樣一來,每次訓(xùn)練時(shí)都會(huì)隨機(jī)選擇不同的神經(jīng)元進(jìn)行丟棄,從而產(chǎn)生不同的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。通過這種方式,可以讓神經(jīng)網(wǎng)絡(luò)不依賴于任何一個(gè)特定的神經(jīng)元,而是通過整個(gè)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)來學(xué)習(xí),從而提高模型的泛化能力。
2 試驗(yàn)設(shè)計(jì)
2.1 試驗(yàn)環(huán)境
算法訓(xùn)練和測試環(huán)境均是在Windows11下進(jìn)行,CPU型號(hào)為12th Gen Intel(R)Core(TM)i7-12700H 2.30 GHz,內(nèi)存為16 GB,GPU型號(hào)為NVIDIA GeForce RTX 4060 Laptop,采用python3.9+pytorch框架進(jìn)行編譯。
2.2 數(shù)據(jù)集
采用玉米籽粒品質(zhì)檢測數(shù)據(jù)集(先采集16個(gè)玉米籽粒為一組,然后對每一組玉米籽粒俯瞰拍攝得到圖像,再進(jìn)行分類的數(shù)據(jù)集),玉米籽粒品質(zhì)圖像試驗(yàn)樣本主要有5類,共3 000幅。其中,S級(jí)分類600幅,A級(jí)分類600幅,B級(jí)分類600幅,C級(jí)分類600幅,D級(jí)分類600幅。試驗(yàn)圖片數(shù)據(jù)采用jpg格式,大小為2 448像素×2 448像素;將數(shù)據(jù)集按5∶1劃分為訓(xùn)練集和測試集。
2.3 試驗(yàn)流程
分別將激活函數(shù)Tanh和ReLU進(jìn)行對比訓(xùn)練和測試,得出數(shù)據(jù);在其他條件相同的情況下,將改進(jìn)后取得最高準(zhǔn)確率的算法與原版AlexNet模型算法進(jìn)行訓(xùn)練測試對比。
2.4 評判標(biāo)準(zhǔn)
為了更好地驗(yàn)證算法性能,筆者采用以下方法計(jì)算準(zhǔn)確率及損失值。
準(zhǔn)確率反映試驗(yàn)分類圖片樣本集的正確程度,設(shè)當(dāng)前分類任務(wù)中正確分類的樣本數(shù)為NT,當(dāng)前分類任務(wù)中錯(cuò)誤分類的樣本數(shù)為NF,那么此次分類任務(wù)的準(zhǔn)確率Acc為
損失函數(shù)采用交叉熵?fù)p失函數(shù)[7],設(shè)計(jì)算在一個(gè)批次的訓(xùn)練樣本中計(jì)算得到的損失函數(shù)計(jì)算所得的平均數(shù)為L,訓(xùn)練樣本總數(shù)為N,每次迭代樣本數(shù)為Nb,所得當(dāng)前分類任務(wù)損失值Loss為
3 試驗(yàn)結(jié)果與分析
試驗(yàn)樣本統(tǒng)一為2 448像素×2 448像素,中心切割為224像素×224像素,每次迭代樣本數(shù)設(shè)置為32,學(xué)習(xí)率統(tǒng)一為0.000 2,優(yōu)化器為Adam,迭代次數(shù)統(tǒng)一為30次。
統(tǒng)一其他條件,測試不同激活函數(shù)對模型的影響。如表1所示,在其他條件不變的情況下(均引入一層BasicBlock),使用ReLU激活函數(shù)模型的準(zhǔn)確率為96.6%,Tanh激活函數(shù)的模型準(zhǔn)確率為94.2%。由此可見,ReLU激活函數(shù)是優(yōu)于Tanh激活函數(shù)的,所以筆者后續(xù)將采用ReLU激活函數(shù)進(jìn)行優(yōu)化。
通過以上對比,將優(yōu)化改進(jìn)過后的AlexNet模型算法與原版模型算法進(jìn)行對比(見表2),原版AlexNet算法準(zhǔn)確率為93.7%,改進(jìn)后算法準(zhǔn)確率為96.6%,其性能提升明顯。
利用混淆矩陣對測試集上共計(jì)500張樣本進(jìn)行分類,結(jié)果如圖3所示。由于玉米圖片數(shù)據(jù)背景處理較為干凈,因而準(zhǔn)確率較為高,錯(cuò)誤鑒別占總數(shù)的1%左右。
4 結(jié)束語
筆者通過對AlexNet模型的歸一化、激活函數(shù)及算法進(jìn)行優(yōu)化,使其泛化性和準(zhǔn)確率有所提高,最終準(zhǔn)確率達(dá)到96.6%,然而還有不足之處需要繼續(xù)試驗(yàn)改進(jìn)。
參考文獻(xiàn):
[1]何前,郭峰林,王哲豪,等.基于改進(jìn)AlexNet的葡萄葉部病害分類算法[J].揚(yáng)州大學(xué)學(xué)報(bào)(自然科學(xué)版),2023(2):52-58.
[2]HE K,ZHANG X,REN S,et al.Deep residual learning for image recognition[C]//Proceedings of the IEEE conference on computer vision and pattern recognition,2016:770-778.
[3]段宇飛,董庚,孫記委,等.基于SE-ResNet網(wǎng)絡(luò)的油茶果果殼與茶籽分選模型[J].中國農(nóng)機(jī)化學(xué)報(bào),2023(4):89-95.
[4]張百川,趙佰亭.結(jié)合批歸一化的輕量化卷積神經(jīng)網(wǎng)絡(luò)分類算法[J].哈爾濱商業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2021(3):300-306.
[5]郭永存,張勇,李飛,等.嵌入空洞卷積和批歸一化模塊的智能煤矸識(shí)別算法[J].礦業(yè)安全與環(huán)保,2022(3):45-50.
[6]劉建偉,趙會(huì)丹,羅雄麟,等.深度學(xué)習(xí)批歸一化及其相關(guān)算法研究進(jìn)展[J].自動(dòng)化學(xué)報(bào),2020(6):1090-1120.
[7]曾華福,楊杰,李林紅.基于改進(jìn)ShuffleNet v1的服裝圖像分類算法[J].現(xiàn)代紡織技術(shù),2023(2):23-35.
作者簡介:陳增旭(1996—),男,碩士生,研究方向:機(jī)器視覺、機(jī)器學(xué)習(xí)。
通信作者:尹淑欣(1977—),女,博士,副教授,研究方向:圖像處理、智能信息識(shí)別。