李志臣 凌秀軍 李鴻秋 李志軍
摘要:針對人工或機械振動篩對板栗分級精度低的問題,提出基于淺層卷積神經(jīng)網(wǎng)絡(luò)的板栗分級方法。用小米手機拍攝獲取5種級別板栗的5481幅圖像應(yīng)用于卷積網(wǎng)絡(luò)模型的訓練、驗證和測試。學習EfficientNet的網(wǎng)絡(luò)結(jié)構(gòu),設(shè)計的淺層卷積神經(jīng)網(wǎng)絡(luò)(Efnet-1)由1個普通卷積模塊和3個MB卷積模塊構(gòu)成板栗圖像特征提取器。特征提取器連接一個由全局平均池化層、隱含層和輸出層組成的分類器。在Efnet-1模型的訓練過程中對相關(guān)超參數(shù)進行優(yōu)化。對比分析Efnet-1與深度學習模型AlexNet的板栗分級性能。Efnet-1對板栗的分級準確率是98.68%,壞板栗被分為好的板栗的比例不大于0.9%。Efnet-1的板栗圖像分類時間為62ms。改進的卷積神經(jīng)網(wǎng)絡(luò)模型Efnet-1對板栗的分級快速而準確,為板栗的自動化分級提供技術(shù)基礎(chǔ)。
關(guān)鍵詞:板栗分級;卷積神經(jīng)網(wǎng)絡(luò);EfficientNet;批歸一化
中圖分類號:S664.2: TP391.4
文獻標識碼:A
文章編號:20955553 (2023) 12018006
Chestnut grading method based on improved EfficientNet
Li Zhichen1, Ling Xiujun1, Li Hongqiu1, Li Zhijun2
(1. School of Mechanical and Electrical Engineering, Jinling Institute of Technology, Nanjing, 211169, China;
2. Songbai Town Agricultural Compositive Service Center, Wulian County, Rizhao, 262302, China)
Abstract:
Aiming at the problem of low accuracy of classifying chestnuts by artificial or mechanical vibrating screen, a chestnut grading method based on shallow convolutional neural network was proposed. The 5 481 images of five levels of chestnut were captured by millet mobile phone and applied to the training, verification and testing of the convolutional network model.By learning the network structure of EfficientNet, the designed shallow convolutional neural network (Efnet-1) was composed of 1 ordinary convolutional module and 3 MB convolution modules to form a chestnut image feature extractor . The feature extractor connected a classifier composed of the global average pooling layer, hidden layer and output layer. The relevant hyperparameters were optimized during the training of the Efnet-1 model. The chestnut grading performance of Efnet-1 and deep learning model AlexNet was analyzed. The grading accuracy of Efnet-1 was 98.68%, and the proportion of bad chestnuts being classified into good chestnuts was not more than 0.9%. The chestnut image classification time of Efnet-1 was 62ms. The improved convolutional neural network model Efnet-1 grades chestnuts quickly and accurately, which provides a technical basis for the automatic classification of chestnuts.
Keywords:
Chinese chestnut grading; convolutional neural network; EfficientNet; batch normalization
0 引言
板栗分級可提高板栗的附加值,但目前板栗分級主要依靠人工分揀或振動篩篩選,工人勞動強度高,勞動效率低,并且不能篩選出蟲蛀和霉爛的壞板栗。隨著人工神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)在農(nóng)業(yè)檢測和農(nóng)產(chǎn)品分級領(lǐng)域受到廣泛應(yīng)用,板栗的自動化分級也越來越受關(guān)注。
張瑞紅等[1]設(shè)計卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和參數(shù),訓練字符識別模型,從而完成奶牛頸環(huán)ID自動定位與識別,字符識別的準確率為93.35%。王佳盛等[2]基于AlexNet構(gòu)建的全卷積神經(jīng)網(wǎng)絡(luò)模型與SVM、樸素貝葉斯分類器比較,該模型的特征提取能力顯著提高。趙騰飛等[3]優(yōu)化設(shè)計CNN的參數(shù)增強了模型的泛化性和魯棒性,針對核桃仁的分類正確率接近100%。陸健強等[4]提出一種基于Mixup算法和卷積神經(jīng)網(wǎng)絡(luò)的柑橘黃龍病果實識別模型進行柑橘黃龍病果實圖像識別,模型識別準確率可以達到91.38%。王璨等[5]將卷積神經(jīng)網(wǎng)絡(luò)用于提取田間圖像的多尺度分層特征,將這些特征用于識別玉米苗與雜草的精確度較高。劉仕良[6]提出了板栗自動化分級裝置,技術(shù)基礎(chǔ)是基于機器視覺并結(jié)合機電一體化技術(shù)。展慧等[78]設(shè)計的人工神經(jīng)網(wǎng)絡(luò)提取板栗圖像特征用于板栗的分級,分級識別的準確率達到了91.67%,通過利用提取的蟲眼邊緣特征識別蟲眼板栗,對蟲眼板栗的識別率達到了88.9%。Jiang[9]提出的神經(jīng)網(wǎng)絡(luò)通過提取板栗圖像的形狀特征進行板栗的自動分級,分級精度提高了很多。
上述方法需要進行板栗圖像的預(yù)處理,往往對復(fù)雜背景圖像顯得有效性不足。本文參考EfficientNet的網(wǎng)絡(luò)框架,設(shè)計一個比較淺的卷積神經(jīng)網(wǎng)絡(luò)(Efnet-1)對自然光源下拍攝的板栗圖像進行訓練、驗證和測試,并分析Efnet-1板栗自動分級的性能。
1 材料與方法
1.1 分級標準與圖像預(yù)處理
我國供銷社規(guī)定了板栗的分級標準,標準號是GH/T 1029—2002,因為企業(yè)更加關(guān)心霉爛和蟲蛀的板栗,不希望霉爛和蟲蛀板栗經(jīng)過加工流入消費市場,因此需要增加霉爛和蟲蛀板栗的分級標準,如表1所示。
對企業(yè)分級后的板栗在自然光照條件下用小米手機進行拍照,拍照時手機位置是固定的,為了增加對比度,板栗的背景為白色紙張,共獲得圖像5481幅,圖像分辨率為640像素(寬)×480像素(高),如圖1所示。
參考EfficientNet,輸入網(wǎng)絡(luò)的圖像的分辨率縮減為300像素(寬)×300像素(高)。如表2所示,將5481幅圖像分成訓練數(shù)據(jù)組、驗證數(shù)據(jù)組和測試數(shù)據(jù)組,分配的比例為7∶2∶1。
1.2 網(wǎng)絡(luò)結(jié)構(gòu)
卷積網(wǎng)絡(luò)模型EfficientNet的卷積層多,容易過擬合,正確使用EfficientNet的方法就是在其基礎(chǔ)上改進以適應(yīng)板栗分級的需求。設(shè)計卷積神經(jīng)網(wǎng)絡(luò)需要關(guān)注的不僅是板栗分級準確率還要考慮板栗圖像分級時間,對于嵌入式應(yīng)用還要顧及CNN網(wǎng)絡(luò)模型的權(quán)重大小以盡可能少的占用物理存儲空間。在學習EfficientNet的基礎(chǔ)上設(shè)計了一個淺層CNN(Efnet-1),如圖2(a)所示,網(wǎng)絡(luò)Efnet-1輸入的板栗圖像有R、G、B三個通道,圖像首先進行卷積,步距為2,有32個卷積核,輸出為150×150×32,卷積后板栗特征矩陣經(jīng)過批歸一化和Swish函數(shù)激活,Swish是一個平滑非單調(diào)的函數(shù),在卷積神經(jīng)網(wǎng)絡(luò)上優(yōu)于ReLU。
f(x)=x·sigmoid(βx)(1)
式中:
β——一個常數(shù),可以取1;
x——輸入變量。
150×150×32的板栗特征圖輸入MB1,MB1的結(jié)構(gòu)如圖2(b)所示,輸入的特征圖首先經(jīng)過1×1卷積降維,為了進一步提取板栗的特征細節(jié),再進行深度可分離卷積(Depthwise Separable Convolution,Dwc)操作,Dwc操作主要是降低傳統(tǒng)卷積的計算復(fù)雜度,卷積核大小為3×3,步距等于2。Dwc后再安排一個注意力機制(SE),SE就是選擇性地關(guān)注所感興趣的信息。設(shè)X=[X1,X2,…,X24]是輸入的板栗圖像的24個特征圖組成的特征矩陣,其中Xi=[150,150]第i個特征圖,計算力機制計算過程如下。
1) 首先計算注意力分布也就是選擇第i個板栗特征圖的概率。
式中:
q——查詢向量或者特征向量;
z——注意力變量,表示被選擇信息的位置;
d——輸入向量的維度。
2) 計算輸出特征矩陣,如式(3)所示。
通過注意力機制選擇后再經(jīng)過1×1卷積升維,為了防止過擬合加了一個Dropout層,然后跟輸入特征相加,注意的是只有輸入跟輸出的形狀一致時才能相加。MB2-1、MB2-2與MB1相同,主要是增加網(wǎng)絡(luò)深度,MB2-2后再添加一個普通卷積,至此完成板栗圖像的特征提取。
由全局平均池化層(GAP)、隱藏層和輸出層構(gòu)成的分類器是一個多層感知器(Multilayer Perceptron,MLP),隱藏層神經(jīng)元的數(shù)量根據(jù)式(4)計算。
式中:
l——隱含層神經(jīng)元個數(shù);
n——輸入層神經(jīng)元個數(shù);
m——輸出層神經(jīng)元個數(shù);
a——常數(shù),在本設(shè)計中令a=0。
板栗共有5個等級,所以Efnet-1輸出層為5個神經(jīng)元。
2 試驗結(jié)果與分析
2.1 模型訓練和評估
EfficientNet有B0~B7共8個模型,型號越大,網(wǎng)絡(luò)模型的寬度和深度就越高。選擇深度和寬度相對較小EfficientNetB0進行板栗分級。再選擇AlexNet網(wǎng)絡(luò)模型進行板栗的訓練和驗證試驗,與改進的Efnet-1卷積神經(jīng)網(wǎng)絡(luò)模型對比。
在卷積神經(jīng)網(wǎng)絡(luò)訓練的過程中采用了自適應(yīng)矩估計(Adaptive moment estimation,Adam)優(yōu)化器,動量因子設(shè)置為0.9。學習率過大會造成網(wǎng)絡(luò)無法收斂,在最優(yōu)值附近振蕩,通過手動人工調(diào)整學習率的方法發(fā)現(xiàn),當學習率為0.001時板栗分類的綜合效果最好。損失函數(shù)為對數(shù)交叉熵損失,其計算公式如式(5)所示。
訓練和驗證過程中用總量為n的檢驗樣本的準確率對網(wǎng)絡(luò)進行評價,假設(shè)分類正確的樣本數(shù)為m,則網(wǎng)絡(luò)訓練和驗證準確率計算如式(6)所示。
2.2 網(wǎng)絡(luò)模型對比
訓練和驗證的準確率以及損失見圖3和圖4,橫坐標是訓練和驗證的迭代次數(shù)(epoch)。損失值反映了模型的擬合能力,損失越低,代表卷積神經(jīng)網(wǎng)絡(luò)模型擬合的能力越強。EfficientNetB0訓練準確率在迭代50次后處于穩(wěn)定狀態(tài),但驗證準確率在一直不穩(wěn)定,訓練損失較低并穩(wěn)定,但驗證損失不穩(wěn)定。AlexNet的訓練和驗證準確率在迭代60次后處于穩(wěn)定,訓練的損失在0.93附近,驗證損失接近于1。Efnet-1在epoch=50時訓練準確率和訓練損失達到極值并保持穩(wěn)定,驗證準確率和損失在epoch=75以后逐漸趨于平穩(wěn),Efnet-1的訓練和驗證損失遠小于AlexNet。
Efnet-1的訓練和驗證準確率是最高的,占用存儲空間和圖像識別時間是最低的,這也說明Efnet-1的學習效果是最好的。鑒于EfficientNetB0驗證準確率和驗證損失不收斂,在測試過程中不再選擇這個網(wǎng)絡(luò)模型作對比。
3 網(wǎng)絡(luò)模型的測試
3.1 評價指標的選擇
混淆矩陣也稱誤差矩陣,是表示精度評價的一種標準格式,反映了圖像分類的精度,主要用于比較分類結(jié)果和實際測得值。借助混淆矩陣可以計算評估卷積網(wǎng)絡(luò)模型的相關(guān)指標如準確率、召回率和特異度。準確率ACC是正確分類的樣本占總樣本的比例,對總體準確率的評估,如式(7)所示;召回率R對“真陽性率”預(yù)測的評估,也就是對“真陽性”預(yù)測準確的概率,如式(8)所示。特異度TNR描述了分類問題中的“真陰性率”,指的是對“真陰性”情況作出正確預(yù)測的概率,如式(9)所示。當樣本不均衡時召回率比較有意義,嚴格要求不能漏檢異常樣本時特異度比較有效。
ACC=(TP+TN)/(TP+FP+FN+TN)(7)
R=TP/(TP+FN)(8)
TNR=TN/(FP+TN)(9)
式中:
TP——預(yù)測結(jié)果為正樣本且與實際值一致;
FP——預(yù)測結(jié)果為正樣本且與實際值不一致;
TN——預(yù)測結(jié)果為負樣本且與實際值一致;
FN——預(yù)測結(jié)果為負樣本且與實際值不一致。
3.2 測試結(jié)果
通過本文方法(Efnet-1)求得板栗分級結(jié)果的混淆矩陣以及分級準確率等性能指標如表3和表4所示。優(yōu)等品、一等品、合格品、蟲蛀品、霉爛品板栗的分級準確率分別為100%、97.62%、97.81%、99.09%和98.90%,Efnet-1卷積網(wǎng)絡(luò)模型對板栗分級的整體準確率為98.68%。
優(yōu)等品板栗的分級準確性最好,一等品和合格品板栗的分級準確率較低,一等品板栗有3粒被分錯為合格品,合格品板栗有9粒被分錯,合格品的分級準確率相對較低,其中8粒板栗被分成了一等品、1粒板栗被分成了蟲蛀品。經(jīng)過人工分級試驗,這8粒合格品板栗也很容易被分錯,原因是這8粒板栗既可以被分為一等品板栗,也可以被分為合格品板栗,對于這一小部分板栗來說,形狀和大小差別不明顯,分級的界限很模糊。蟲蛀品板栗僅有2粒被錯誤地分成霉爛品,霉爛品板栗有4粒被分錯,較為嚴重的時有2粒霉爛板栗被錯分為了一等品板栗。Efnet-1模型對板栗分級的召回率的值超過96%,特異度的值超過99%,霉爛品板栗和蟲蛀品板栗的特異度分別為99.54%和99.32%,說明壞板栗的漏檢率很低。
3.3 模型AlexNet和Efnet-1對比
兩個模型的PR曲線如圖5所示,從兩個模型的PR曲線看,Efnet-1網(wǎng)絡(luò)模型對板栗分級性能優(yōu)于AlexNet網(wǎng)絡(luò)模型。再根據(jù)表3和表4的信息,Efnet-1網(wǎng)絡(luò)模型對板栗分級的準確率高出0.88%,召回率高出2.19%,特異度高出0.55%。
好的板栗包括優(yōu)等品、一等品和合格品板栗,壞的板栗包含霉爛品和蟲蛀品板栗,為了維護消費者利益進而提高企業(yè)聲譽和企業(yè)品牌效應(yīng),應(yīng)該將壞板栗的漏檢率降至最低,Efnet-1模型共有2粒壞板栗被分成好板栗,AlexNet網(wǎng)絡(luò)模型共有7粒壞板栗被分成好板栗,高于Efnet-1模型。
相對于較深的卷積神經(jīng)網(wǎng)絡(luò)模型AlexNet,Efnet-1網(wǎng)絡(luò)模型在對板栗的分級訓練中速度快、特征不易丟失、不容易出現(xiàn)過擬合現(xiàn)象,較少的卷積網(wǎng)絡(luò)層數(shù)反而提高了板栗分級的準確率。
Efnet-1模型對每個板栗的分級識別時間少于62ms,盡管Efnet-1模型的權(quán)重系數(shù)占用的物理存儲容量為3.3MB,也能滿足嵌入式設(shè)備的要求。
根據(jù)對比,Efnet-1對板栗的分級具有最高的準確率,其它的指標相對于深層模型AlexNet也具有較高的比率,所以Efnet-1模型針對板栗分級的性能是最高的。
4 結(jié)論
1) 設(shè)計的CNN模型Efnet-1吸收了經(jīng)典網(wǎng)絡(luò)EfficientNet的優(yōu)點,對加工前的板栗拍照并檢測分級,通過優(yōu)化網(wǎng)絡(luò)參數(shù)和與卷積神經(jīng)網(wǎng)絡(luò)AlexNet等模型的對比,Efnet-1網(wǎng)絡(luò)模型的算法對板栗分級識別的準確率有明顯的提高,達到了98.68%,尤其是降低了對壞的板栗被分級為好的板栗的誤識率。
2)Efnet-1模型算法具有權(quán)重系數(shù)占內(nèi)存空間不大、對板栗分級準確率高、板栗分級實時性強、對計算設(shè)備要求不高的特點,方便部署于移動端和嵌入式設(shè)備中。為實現(xiàn)板栗分級檢測的自動化控制提供了基礎(chǔ),具有一定的商業(yè)與工業(yè)價值。
3) 在今后的研究工作中,進一步CNN對板栗分級檢測的適用性,提高CNN模型的泛化能力,降低壞板栗的誤識率,開發(fā)出應(yīng)用級的板栗自動分級裝備。
參 考 文 獻
[1] 張瑞紅, 趙凱旋, 姬江濤, 等. 基于機器學習的奶牛頸環(huán)ID自動定位與識別方法[J]. 南京農(nóng)業(yè)大學學報, 2021, 44(3): 586-595.
Zhang Ruihong, Zhao Kaixuan, Ji Jiangtao, et al. Automatic location and recognition of cows collar ID based on machine learning [J]. Journal of Nanjing Agricultural University, 2021, 44(3): 586-595.
[2] 王佳盛, 陳燕, 曾澤欽, 等. 基于全卷積神經(jīng)網(wǎng)絡(luò)的荔枝表皮缺陷提?。跩]. 華南農(nóng)業(yè)大學學報, 2018, 39(6): 104-110.
Wang Jiasheng, Chen Yan, Zeng Zeqin, et al. Extraction of litchi fruit pericarp defect based on a fully convolutional neural network [J]. Journal of South China Agricultural University, 2018, 39(6): 104-110.
[3] 趙騰飛, 胡國玉, 周建平, 等. 卷積神經(jīng)網(wǎng)絡(luò)算法在核桃仁分類中的研究[J]. 中國農(nóng)機化學報, 2022, 43(6): 181-189.
Zhao Tengfei, Hu Guoyu, Zhou Jianping, et al. Research on convolutional neural network algorithm for walnut kenel classification identification [J]. Journal of Chinese Agricultural Mechanization, 2022, 43(6): 181-189.
[4] 陸健強, 林佳翰, 黃仲強, 等. 基于Mixup算法和卷積神經(jīng)網(wǎng)絡(luò)的柑橘黃龍病果實識別研究[J]. 華南農(nóng)業(yè)大學學報, 2021, 42(3): 94-101.
Lu Jianqiang, Lin Jiahan, Huang Zhongqiang, et al. Identification of citrus fruit infected with Huanglongbing based on Mixup algorithm and convolutional neural network [J]. Journal of South China Agricultural University, 2021, 42(3): 94-101.
[5] 王璨, 武新慧, 李志偉. 基于卷積神經(jīng)網(wǎng)絡(luò)提取多尺度分層特征識別玉米雜草[J]. 農(nóng)業(yè)工程學報, 2018, 34(5): 144-151.
Wang Can, Wu Xinhui, Li Zhiwei. Recognition of maize and weed based on multi-scale hierarchical features extracted by convolutional neural network [J]. Transactions of the Chinese Society of Agricultural Engineering, 2018, 34(5): 144-151.
[6] 劉仕良. 基于機器視覺的板栗分級設(shè)備研究[D]. 北京: 北方工業(yè)大學, 2005.
Liu Shiliang. Study on chestnuts sorting equipment based on machine vision [D]. Beijing: North China University of Technology, 2005.
[7] 展慧, 李小昱, 王為, 等. 基于機器視覺的板栗分級檢測方法[J]. 農(nóng)業(yè)工程學報, 2010, 26(4): 327-331.
Zhan Hui, Li Xiaoyu, Wang Wei, et al. Determination of chestnuts grading based on machine vision [J]. Transactions of the Chinese Society of Agricultural Engineering, 2010, 26(4): 327-331.
[8] 展慧, 李小昱, 周竹, 等. 基于近紅外光譜和機器視覺融合技術(shù)的板栗缺陷檢測[J]. 農(nóng)業(yè)工程學報, 2011, 27(2): 345-349.
Zhan Hui, Li Xiaoyu, Zhou Zhu, et al. Detection of chestnut defect based on data fusion of near-infrared spectroscopy and machine vision [J]. Transactions of the Chinese Society of Agricultural Engineering, 2011, 27(2): 345-349.
[9] Jiang Y. Automatic classification of chestnuts based on decision fusion [C]. International Conference on Computer & Electrical Engineering, 2012.