李志臣 凌秀軍 李鴻秋 李志軍



摘要:針對人工或機械振動篩對板栗分級精度低的問題,提出基于淺層卷積神經網絡的板栗分級方法。用小米手機拍攝獲取5種級別板栗的5481幅圖像應用于卷積網絡模型的訓練、驗證和測試。學習EfficientNet的網絡結構,設計的淺層卷積神經網絡(Efnet-1)由1個普通卷積模塊和3個MB卷積模塊構成板栗圖像特征提取器。特征提取器連接一個由全局平均池化層、隱含層和輸出層組成的分類器。在Efnet-1模型的訓練過程中對相關超參數進行優化。對比分析Efnet-1與深度學習模型AlexNet的板栗分級性能。Efnet-1對板栗的分級準確率是98.68%,壞板栗被分為好的板栗的比例不大于0.9%。Efnet-1的板栗圖像分類時間為62ms。改進的卷積神經網絡模型Efnet-1對板栗的分級快速而準確,為板栗的自動化分級提供技術基礎。
關鍵詞:板栗分級;卷積神經網絡;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 引言
板栗分級可提高板栗的附加值,但目前板栗分級主要依靠人工分揀或振動篩篩選,工人勞動強度高,勞動效率低,并且不能篩選出蟲蛀和霉爛的壞板栗。隨著人工神經網絡和卷積神經網絡(Convolutional Neural Networks,CNN)在農業檢測和農產品分級領域受到廣泛應用,板栗的自動化分級也越來越受關注。
張瑞紅等[1]設計卷積神經網絡的結構和參數,訓練字符識別模型,從而完成奶牛頸環ID自動定位與識別,字符識別的準確率為93.35%。王佳盛等[2]基于AlexNet構建的全卷積神經網絡模型與SVM、樸素貝葉斯分類器比較,該模型的特征提取能力顯著提高。趙騰飛等[3]優化設計CNN的參數增強了模型的泛化性和魯棒性,針對核桃仁的分類正確率接近100%。陸健強等[4]提出一種基于Mixup算法和卷積神經網絡的柑橘黃龍病果實識別模型進行柑橘黃龍病果實圖像識別,模型識別準確率可以達到91.38%。王璨等[5]將卷積神經網絡用于提取田間圖像的多尺度分層特征,將這些特征用于識別玉米苗與雜草的精確度較高。劉仕良[6]提出了板栗自動化分級裝置,技術基礎是基于機器視覺并結合機電一體化技術。展慧等[78]設計的人工神經網絡提取板栗圖像特征用于板栗的分級,分級識別的準確率達到了91.67%,通過利用提取的蟲眼邊緣特征識別蟲眼板栗,對蟲眼板栗的識別率達到了88.9%。Jiang[9]提出的神經網絡通過提取板栗圖像的形狀特征進行板栗的自動分級,分級精度提高了很多。
上述方法需要進行板栗圖像的預處理,往往對復雜背景圖像顯得有效性不足。本文參考EfficientNet的網絡框架,設計一個比較淺的卷積神經網絡(Efnet-1)對自然光源下拍攝的板栗圖像進行訓練、驗證和測試,并分析Efnet-1板栗自動分級的性能。
1 材料與方法
1.1 分級標準與圖像預處理
我國供銷社規定了板栗的分級標準,標準號是GH/T 1029—2002,因為企業更加關心霉爛和蟲蛀的板栗,不希望霉爛和蟲蛀板栗經過加工流入消費市場,因此需要增加霉爛和蟲蛀板栗的分級標準,如表1所示。
對企業分級后的板栗在自然光照條件下用小米手機進行拍照,拍照時手機位置是固定的,為了增加對比度,板栗的背景為白色紙張,共獲得圖像5481幅,圖像分辨率為640像素(寬)×480像素(高),如圖1所示。
參考EfficientNet,輸入網絡的圖像的分辨率縮減為300像素(寬)×300像素(高)。如表2所示,將5481幅圖像分成訓練數據組、驗證數據組和測試數據組,分配的比例為7∶2∶1。
1.2 網絡結構
卷積網絡模型EfficientNet的卷積層多,容易過擬合,正確使用EfficientNet的方法就是在其基礎上改進以適應板栗分級的需求。設計卷積神經網絡需要關注的不僅是板栗分級準確率還要考慮板栗圖像分級時間,對于嵌入式應用還要顧及CNN網絡模型的權重大小以盡可能少的占用物理存儲空間。在學習EfficientNet的基礎上設計了一個淺層CNN(Efnet-1),如圖2(a)所示,網絡Efnet-1輸入的板栗圖像有R、G、B三個通道,圖像首先進行卷積,步距為2,有32個卷積核,輸出為150×150×32,卷積后板栗特征矩陣經過批歸一化和Swish函數激活,Swish是一個平滑非單調的函數,在卷積神經網絡上優于ReLU。
f(x)=x·sigmoid(βx)(1)
式中:
β——一個常數,可以取1;
x——輸入變量。
150×150×32的板栗特征圖輸入MB1,MB1的結構如圖2(b)所示,輸入的特征圖首先經過1×1卷積降維,為了進一步提取板栗的特征細節,再進行深度可分離卷積(Depthwise Separable Convolution,Dwc)操作,Dwc操作主要是降低傳統卷積的計算復雜度,卷積核大小為3×3,步距等于2。Dwc后再安排一個注意力機制(SE),SE就是選擇性地關注所感興趣的信息。設X=[X1,X2,…,X24]是輸入的板栗圖像的24個特征圖組成的特征矩陣,其中Xi=[150,150]第i個特征圖,計算力機制計算過程如下。
1) 首先計算注意力分布也就是選擇第i個板栗特征圖的概率。
式中:
q——查詢向量或者特征向量;
z——注意力變量,表示被選擇信息的位置;
d——輸入向量的維度。
2) 計算輸出特征矩陣,如式(3)所示。
通過注意力機制選擇后再經過1×1卷積升維,為了防止過擬合加了一個Dropout層,然后跟輸入特征相加,注意的是只有輸入跟輸出的形狀一致時才能相加。MB2-1、MB2-2與MB1相同,主要是增加網絡深度,MB2-2后再添加一個普通卷積,至此完成板栗圖像的特征提取。
由全局平均池化層(GAP)、隱藏層和輸出層構成的分類器是一個多層感知器(Multilayer Perceptron,MLP),隱藏層神經元的數量根據式(4)計算。
式中:
l——隱含層神經元個數;
n——輸入層神經元個數;
m——輸出層神經元個數;
a——常數,在本設計中令a=0。
板栗共有5個等級,所以Efnet-1輸出層為5個神經元。
2 試驗結果與分析
2.1 模型訓練和評估
EfficientNet有B0~B7共8個模型,型號越大,網絡模型的寬度和深度就越高。選擇深度和寬度相對較小EfficientNetB0進行板栗分級。再選擇AlexNet網絡模型進行板栗的訓練和驗證試驗,與改進的Efnet-1卷積神經網絡模型對比。
在卷積神經網絡訓練的過程中采用了自適應矩估計(Adaptive moment estimation,Adam)優化器,動量因子設置為0.9。學習率過大會造成網絡無法收斂,在最優值附近振蕩,通過手動人工調整學習率的方法發現,當學習率為0.001時板栗分類的綜合效果最好。損失函數為對數交叉熵損失,其計算公式如式(5)所示。
訓練和驗證過程中用總量為n的檢驗樣本的準確率對網絡進行評價,假設分類正確的樣本數為m,則網絡訓練和驗證準確率計算如式(6)所示。
2.2 網絡模型對比
訓練和驗證的準確率以及損失見圖3和圖4,橫坐標是訓練和驗證的迭代次數(epoch)。損失值反映了模型的擬合能力,損失越低,代表卷積神經網絡模型擬合的能力越強。EfficientNetB0訓練準確率在迭代50次后處于穩定狀態,但驗證準確率在一直不穩定,訓練損失較低并穩定,但驗證損失不穩定。AlexNet的訓練和驗證準確率在迭代60次后處于穩定,訓練的損失在0.93附近,驗證損失接近于1。Efnet-1在epoch=50時訓練準確率和訓練損失達到極值并保持穩定,驗證準確率和損失在epoch=75以后逐漸趨于平穩,Efnet-1的訓練和驗證損失遠小于AlexNet。
Efnet-1的訓練和驗證準確率是最高的,占用存儲空間和圖像識別時間是最低的,這也說明Efnet-1的學習效果是最好的。鑒于EfficientNetB0驗證準確率和驗證損失不收斂,在測試過程中不再選擇這個網絡模型作對比。
3 網絡模型的測試
3.1 評價指標的選擇
混淆矩陣也稱誤差矩陣,是表示精度評價的一種標準格式,反映了圖像分類的精度,主要用于比較分類結果和實際測得值。借助混淆矩陣可以計算評估卷積網絡模型的相關指標如準確率、召回率和特異度。準確率ACC是正確分類的樣本占總樣本的比例,對總體準確率的評估,如式(7)所示;召回率R對“真陽性率”預測的評估,也就是對“真陽性”預測準確的概率,如式(8)所示。特異度TNR描述了分類問題中的“真陰性率”,指的是對“真陰性”情況作出正確預測的概率,如式(9)所示。當樣本不均衡時召回率比較有意義,嚴格要求不能漏檢異常樣本時特異度比較有效。
ACC=(TP+TN)/(TP+FP+FN+TN)(7)
R=TP/(TP+FN)(8)
TNR=TN/(FP+TN)(9)
式中:
TP——預測結果為正樣本且與實際值一致;
FP——預測結果為正樣本且與實際值不一致;
TN——預測結果為負樣本且與實際值一致;
FN——預測結果為負樣本且與實際值不一致。
3.2 測試結果
通過本文方法(Efnet-1)求得板栗分級結果的混淆矩陣以及分級準確率等性能指標如表3和表4所示。優等品、一等品、合格品、蟲蛀品、霉爛品板栗的分級準確率分別為100%、97.62%、97.81%、99.09%和98.90%,Efnet-1卷積網絡模型對板栗分級的整體準確率為98.68%。
優等品板栗的分級準確性最好,一等品和合格品板栗的分級準確率較低,一等品板栗有3粒被分錯為合格品,合格品板栗有9粒被分錯,合格品的分級準確率相對較低,其中8粒板栗被分成了一等品、1粒板栗被分成了蟲蛀品。經過人工分級試驗,這8粒合格品板栗也很容易被分錯,原因是這8粒板栗既可以被分為一等品板栗,也可以被分為合格品板栗,對于這一小部分板栗來說,形狀和大小差別不明顯,分級的界限很模糊。蟲蛀品板栗僅有2粒被錯誤地分成霉爛品,霉爛品板栗有4粒被分錯,較為嚴重的時有2粒霉爛板栗被錯分為了一等品板栗。Efnet-1模型對板栗分級的召回率的值超過96%,特異度的值超過99%,霉爛品板栗和蟲蛀品板栗的特異度分別為99.54%和99.32%,說明壞板栗的漏檢率很低。
3.3 模型AlexNet和Efnet-1對比
兩個模型的PR曲線如圖5所示,從兩個模型的PR曲線看,Efnet-1網絡模型對板栗分級性能優于AlexNet網絡模型。再根據表3和表4的信息,Efnet-1網絡模型對板栗分級的準確率高出0.88%,召回率高出2.19%,特異度高出0.55%。
好的板栗包括優等品、一等品和合格品板栗,壞的板栗包含霉爛品和蟲蛀品板栗,為了維護消費者利益進而提高企業聲譽和企業品牌效應,應該將壞板栗的漏檢率降至最低,Efnet-1模型共有2粒壞板栗被分成好板栗,AlexNet網絡模型共有7粒壞板栗被分成好板栗,高于Efnet-1模型。
相對于較深的卷積神經網絡模型AlexNet,Efnet-1網絡模型在對板栗的分級訓練中速度快、特征不易丟失、不容易出現過擬合現象,較少的卷積網絡層數反而提高了板栗分級的準確率。
Efnet-1模型對每個板栗的分級識別時間少于62ms,盡管Efnet-1模型的權重系數占用的物理存儲容量為3.3MB,也能滿足嵌入式設備的要求。
根據對比,Efnet-1對板栗的分級具有最高的準確率,其它的指標相對于深層模型AlexNet也具有較高的比率,所以Efnet-1模型針對板栗分級的性能是最高的。
4 結論
1) 設計的CNN模型Efnet-1吸收了經典網絡EfficientNet的優點,對加工前的板栗拍照并檢測分級,通過優化網絡參數和與卷積神經網絡AlexNet等模型的對比,Efnet-1網絡模型的算法對板栗分級識別的準確率有明顯的提高,達到了98.68%,尤其是降低了對壞的板栗被分級為好的板栗的誤識率。
2)Efnet-1模型算法具有權重系數占內存空間不大、對板栗分級準確率高、板栗分級實時性強、對計算設備要求不高的特點,方便部署于移動端和嵌入式設備中。為實現板栗分級檢測的自動化控制提供了基礎,具有一定的商業與工業價值。
3) 在今后的研究工作中,進一步CNN對板栗分級檢測的適用性,提高CNN模型的泛化能力,降低壞板栗的誤識率,開發出應用級的板栗自動分級裝備。
參 考 文 獻
[1] 張瑞紅, 趙凱旋, 姬江濤, 等. 基于機器學習的奶牛頸環ID自動定位與識別方法[J]. 南京農業大學學報, 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]. 華南農業大學學報, 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]. 中國農機化學報, 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]. 華南農業大學學報, 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]. 農業工程學報, 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] 劉仕良. 基于機器視覺的板栗分級設備研究[D]. 北京: 北方工業大學, 2005.
Liu Shiliang. Study on chestnuts sorting equipment based on machine vision [D]. Beijing: North China University of Technology, 2005.
[7] 展慧, 李小昱, 王為, 等. 基于機器視覺的板栗分級檢測方法[J]. 農業工程學報, 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] 展慧, 李小昱, 周竹, 等. 基于近紅外光譜和機器視覺融合技術的板栗缺陷檢測[J]. 農業工程學報, 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.