王靈敏 蔣 瑜
(1. 桂林理工大學(xué)南寧分校,廣西 南寧 530001;2. 廣西農(nóng)業(yè)職業(yè)技術(shù)大學(xué),廣西 南寧 530007)
傳統(tǒng)的香蕉成熟度判別方法是利用肉眼觀察香蕉表面顏色[1],此法主觀性較強(qiáng)且耗時(shí)耗力。隨著科學(xué)技術(shù)的進(jìn)步,更為科學(xué)嚴(yán)謹(jǐn)?shù)姆椒☉?yīng)運(yùn)而生——生化指標(biāo)分析法,如利用半乳糖神經(jīng)酰胺等敏感材料修飾的4個(gè)石英晶體微天平傳感器對(duì)香蕉7個(gè)成熟度進(jìn)行劃分[2];通過(guò)檢測(cè)建立香蕉樣本果肉成熟度理化指標(biāo)的光譜和圖像特征分類模型[3];再或者借助色差儀等專業(yè)儀器對(duì)香蕉的表皮顏色進(jìn)行檢測(cè)[4]。但生化指標(biāo)分析法流程復(fù)雜,且對(duì)工作人員專業(yè)知識(shí)及儀器操作技能要求較高,香蕉分級(jí)成本偏高。近年來(lái)隨著計(jì)算機(jī)視覺(jué)的發(fā)展,有研究者將其用于香蕉成熟度識(shí)別,如張競(jìng)超等[5]基于神經(jīng)網(wǎng)絡(luò)識(shí)別算法建立數(shù)學(xué)模型判斷香蕉的成熟度,但是所建模型主要適用于倉(cāng)儲(chǔ)階段的香蕉。趙文鋒等[6]提出一種改進(jìn)的MATLAB香蕉成熟度圖像處理系統(tǒng),根據(jù)香蕉色素組成檢測(cè)香蕉所屬成熟度范圍。Adebayo等[7]利用香蕉光學(xué)特性,通過(guò)分析吸收系數(shù)和有效衰減系數(shù)與香蕉不同成熟期的關(guān)系建立ANN模型來(lái)判斷香蕉成熟度。Olaniyi等[8]利用三層人工神經(jīng)網(wǎng)絡(luò)香蕉進(jìn)行兩分類,但也需借助香蕉的生化特性或者進(jìn)行有損檢測(cè),此法流程復(fù)雜,不適用于低成本的香蕉分揀工作。深度學(xué)習(xí)已被用于芒果、棗、番茄、檸檬等水果的分級(jí)[9-12]。而香蕉成熟期階段較多,不同成熟期外觀變化又很接近,更細(xì)化的多階段分類難度較高,研究擬將遷移學(xué)習(xí)引入Alexnet、DenseNet121、DenseNet201、GoogLeNet、ResNet50、ResNet101、VGG16、VGG19 8種不同模型,通過(guò)引用模型特征提取網(wǎng)絡(luò),微調(diào)全連接層的方式,找到合適且穩(wěn)定的香蕉成熟度分類模型,以期為香蕉貯藏、運(yùn)輸、上架售賣及深加工環(huán)節(jié)的香蕉成熟度自動(dòng)化判別提供理論依據(jù)。
試驗(yàn)所用的香蕉樣品購(gòu)于廣西南寧市某批發(fā)市場(chǎng),購(gòu)買后迅速帶回實(shí)驗(yàn)室,確保香蕉處于Level 1級(jí)成熟度,挑選大小均勻且沒(méi)有任何機(jī)械損傷和蟲(chóng)害等缺陷的香蕉樣品,與蘋(píng)果混合放置在密封箱子中進(jìn)行常溫(20±5) ℃催熟,每間隔1 d定時(shí)拍攝取樣,直至失去食用價(jià)值。研究將香蕉成熟度劃分為6個(gè)階段,Level 1級(jí)成熟度的香蕉表皮整體呈綠色;Level 2級(jí)成熟度的香蕉表皮綠色中略帶有淡黃色;Level 3級(jí)成熟度的香蕉表皮呈黃綠色;Level 4級(jí)成熟度的香蕉表皮黃色中略帶有淡綠色;Level 5級(jí)成熟度的香蕉表皮整體呈黃色;Level 6級(jí)成熟度的香蕉表皮黃色中帶有褐色斑點(diǎn)。
圖像采集裝置如圖1所示。為保證香蕉拍攝時(shí)光照均勻,光照箱由400 mm × 400 mm×600 mm的白色紙箱改造而成。整個(gè)圖像采集裝置放置于方形木桌上,為避免拍攝時(shí)桌面反光,待測(cè)樣品置于米色絨布進(jìn)行拍攝。光源支架頂部設(shè)有轉(zhuǎn)接頭,可安裝環(huán)形光源和手機(jī)支架,光源高度可自由調(diào)節(jié)。環(huán)形光源為色溫5 500 K、功率10 W的可調(diào)白色環(huán)形LED燈管,用以模擬正常室內(nèi)光照強(qiáng)度環(huán)境。拍攝手機(jī)為華為NOVA2,置于頂部外側(cè),透過(guò)與攝像頭大小相當(dāng)?shù)念A(yù)留小孔對(duì)樣品進(jìn)行拍攝。
在圖片拍攝過(guò)程中需要對(duì)香蕉進(jìn)行多次移動(dòng)和翻轉(zhuǎn),拍照次數(shù)越多、成熟度越高的香蕉在拍攝過(guò)程中機(jī)械損傷的可能性越大。為保證Level 1級(jí)至Level 6級(jí)成熟度等級(jí)香蕉圖片數(shù)量的均衡性,從拍攝的圖片中挑選出幾乎無(wú)機(jī)械損傷的圖片900張,每個(gè)成熟度等級(jí)圖片各150張。香蕉分類任務(wù)中圖片顏色是很重要的特征,而顏色會(huì)受到光照強(qiáng)度影響,考慮到在數(shù)據(jù)采集時(shí)采用可調(diào)光模擬不同光照強(qiáng)度,為進(jìn)一步豐富圖片,通過(guò)旋轉(zhuǎn)不同角度、水平或垂直旋轉(zhuǎn)等方式對(duì)數(shù)據(jù)集進(jìn)行擴(kuò)充。香蕉每個(gè)等級(jí)圖片數(shù)量增加到600張,并采用留出法(hold-out)[13],將所得圖片數(shù)據(jù)按照8∶2的比例劃分訓(xùn)練集和數(shù)據(jù)集。
圖1 圖像采集裝置示意圖Figure 1 Schematic diagram of image acquisition device
試驗(yàn)平臺(tái)由計(jì)算機(jī)硬件和開(kāi)發(fā)平臺(tái)兩部分組成。計(jì)算機(jī)硬件:處理器(CPU)為Intel(R) Core(TM) i5-8300H CPU @ 2.30GHz,圖形處理器(GPU)為NVIDIA GeForce GTX 1050 Ti。開(kāi)發(fā)平臺(tái):Windows10操作系統(tǒng)上的Pytorch深度學(xué)習(xí)框架,配置NVIDIA Toolkit 11.6;集成開(kāi)發(fā)環(huán)境為pycharm,編程語(yǔ)言為Python 3.8.0。
Krizhevsky等[14-15]在AlexNet模型基礎(chǔ)上進(jìn)行了一系列關(guān)于網(wǎng)絡(luò)各個(gè)層級(jí)的可遷移性的試驗(yàn)。由于訓(xùn)練一個(gè)新的高性能的卷積神經(jīng)網(wǎng)絡(luò)不僅耗時(shí),對(duì)硬件設(shè)備要求高,而且還需要大量數(shù)據(jù)。但實(shí)際情況時(shí)常面臨數(shù)據(jù)集較小不足以訓(xùn)練一個(gè)大規(guī)模高性能的新網(wǎng)絡(luò)模型的問(wèn)題,遷移學(xué)習(xí)正好可以解決上述問(wèn)題[16]。
模型參數(shù)較多、訓(xùn)練樣本較小,訓(xùn)練出來(lái)的模型很容易過(guò)擬合,通常表現(xiàn)為模型在訓(xùn)練數(shù)據(jù)上損失函數(shù)較小,預(yù)測(cè)準(zhǔn)確率較高;但是在測(cè)試數(shù)據(jù)上損失函數(shù)比較大,預(yù)測(cè)準(zhǔn)確率較低。為了防止過(guò)擬合,試驗(yàn)采用了L2正則化[17-18]和Dropout[19-20]。
將香蕉按照不同成熟度分為L(zhǎng)evel 1至Level 6共6個(gè)等級(jí),將遷移學(xué)習(xí)引入Alexnet[14]、GoogLeNet[21]、VGGNet(VGG16、VGG19)[22]、ResNet(ResNet50、ResNet101)[23]、DenseNet(DenseNet121、DenseNet201)[24]8種不同模型,通過(guò)引用模型特征提取網(wǎng)絡(luò),微調(diào)全連接層的方式,從預(yù)訓(xùn)練模型開(kāi)始,更新模型參數(shù)。
在ImageNet數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練得到的模型參數(shù)文件,然后提取模型的部分權(quán)值并凍結(jié),微調(diào)全連接層,再對(duì)香蕉數(shù)據(jù)集進(jìn)行遷移學(xué)習(xí)訓(xùn)練,最終得到新的最優(yōu)模型參數(shù)文件。為了獲得更好的模型,除了利用SGD算法配合0.9動(dòng)量進(jìn)行模型優(yōu)化訓(xùn)練之外,還使用了Adam優(yōu)化算法進(jìn)行模型優(yōu)化,不同網(wǎng)絡(luò)模型分別采用兩種算法時(shí)的準(zhǔn)確率和損失函數(shù)進(jìn)行50輪訓(xùn)練,結(jié)果如圖2所示。對(duì)比發(fā)現(xiàn),采用Adam優(yōu)化算法的模型,除了DenseNet121模型之外,其他網(wǎng)絡(luò)模型的損失函數(shù)都下降更快,收斂時(shí)間更短;從準(zhǔn)確率來(lái)看,AlexNet模型和DenseNet201模型提升較明顯,GoogLeNet、VGG19模型準(zhǔn)確率略微有所下降,其余幾種模型無(wú)明顯變化。綜上,遷移學(xué)習(xí)降低了網(wǎng)絡(luò)模型訓(xùn)練時(shí)間成本,對(duì)于模型收斂非常有益。
圖2 各模型SGD優(yōu)化與Adam優(yōu)化結(jié)果Figure 2 Results of SGD optimization and Adam optimization of each model
AlexNet、DenseNet、GoogLeNet、ResNet、VGGNet網(wǎng)絡(luò)模型在采用SGD進(jìn)行算法優(yōu)化10輪訓(xùn)練之后都可以趨于收斂,VGG16模型準(zhǔn)確率最高,如圖3所示;采用Adam算法收斂更快,在5輪之后模型趨于收斂,AlexNet模型準(zhǔn)確率最高,如圖4所示。AlexNet模型采用Adam優(yōu)化算法準(zhǔn)確率為95.56%,高于VGG16模型采用SGD優(yōu)化算法的95%準(zhǔn)確率,并且損失函數(shù)更陡峭,更快趨于收斂,如圖5所示;在同等硬件條件下,VGG16模型下訓(xùn)練時(shí)間為4.16 h,AlexNet模型只需要3.78 h。因此,選用AlexNet作為成熟度分類模型。
圖3 模型SGD優(yōu)化結(jié)果Figure 3 SGD optimization results of models
圖4 模型Adam優(yōu)化結(jié)果Figure 4 Adam optimization results of models
圖5 VGG16模型SGD優(yōu)化結(jié)果與AlexNet模型Adam優(yōu)化結(jié)果
AlexNet已經(jīng)過(guò)預(yù)訓(xùn)練,直接進(jìn)行遷移學(xué)習(xí),為了避免過(guò)擬合,在全連接層運(yùn)用dropout隨機(jī)隱藏部分神經(jīng)元,減少網(wǎng)絡(luò)整體參數(shù)量,提升訓(xùn)練效率[20]。試驗(yàn)時(shí)發(fā)
現(xiàn),適當(dāng)削減全連接層神經(jīng)元連接層數(shù),不僅可以降低模型復(fù)雜度,減少參數(shù)數(shù)量從而提升訓(xùn)練效率,還可以將訓(xùn)練時(shí)長(zhǎng)縮短約為0.3 h,提高準(zhǔn)確率。為了便于區(qū)分,此處將優(yōu)化后模型設(shè)定為AlexNet_1。將全連接層元連接個(gè)數(shù)由4 096修改為1 024。AlexNet_1網(wǎng)絡(luò)模型結(jié)構(gòu)示意圖如圖6所示。AlexNet_1與AlexNet模型訓(xùn)練結(jié)果如圖7所示。
圖6 AlexNet_1網(wǎng)絡(luò)結(jié)構(gòu)示意圖Figure 6 AlexNet_1 network structure diagram
圖7 AlexNet_1與AlexNet網(wǎng)絡(luò)準(zhǔn)確率和損失率Figure 7 Accuracy and loss of AlexNet_1 and AlexNet
3.4.1 驗(yàn)證數(shù)據(jù)采集 為驗(yàn)證模型的實(shí)用性,從南寧某批發(fā)市場(chǎng)另外采購(gòu)一批香蕉,使用華為NOVA2采集圖像,每個(gè)類別分別采集了180張進(jìn)行等級(jí)分類測(cè)試,對(duì)這些香蕉圖片分為L(zhǎng)evel 1~Level 6。同時(shí)香蕉實(shí)物留作人工分類用。
3.4.2 模型評(píng)估指標(biāo) 為進(jìn)一步驗(yàn)證模型在6個(gè)不同成熟度等級(jí)的判別表現(xiàn),通過(guò)混淆矩陣來(lái)分析每一個(gè)類別的準(zhǔn)確率,矩陣中包含TP,即香蕉實(shí)際為某一成熟等級(jí),模型判斷出來(lái)也為該等級(jí);FN,即香蕉實(shí)際屬于某一成熟等級(jí),模型判斷出來(lái)不為該等級(jí);FP,即香蕉實(shí)際不屬于某一成熟等級(jí),模型判斷出來(lái)屬于該等級(jí);TN,即香蕉實(shí)際不屬于某一成熟等級(jí),模型判斷出來(lái)也屬于該等級(jí)。TP 和TN 是正確預(yù)測(cè),F(xiàn)P 和 FN 是錯(cuò)誤預(yù)測(cè)?;煜仃嚱Y(jié)果如圖8所示。
為了更好判斷模型在不同成熟度香蕉等級(jí)分類上的表現(xiàn),進(jìn)一步運(yùn)用了準(zhǔn)確率、精確率、召回率、特異度和F1共5個(gè)參數(shù)去進(jìn)行驗(yàn)證評(píng)估。式(1)為召回率的數(shù)學(xué)計(jì)算式,式(2)為特異度的數(shù)學(xué)計(jì)算式,式(3)為精確率的數(shù)學(xué)計(jì)算式,式(4)為準(zhǔn)確率的數(shù)學(xué)計(jì)算式,式(5)為F1的數(shù)學(xué)計(jì)算式。
(1)
(2)
(3)
(4)
(5)
式中:
R——召回率,%;
S——特異度,%;
P——精確率,%;
A——準(zhǔn)確率,%;
F1——基于精確率與召回率的調(diào)和平均定義的量,%。
由圖8及表1可知AlexNet模型整體準(zhǔn)確度為95.56%,成熟度等級(jí)1和成熟度等級(jí)6準(zhǔn)確率可以達(dá)到100%,成熟度等級(jí)3最低,但是也能達(dá)到90%;成熟等級(jí)1和等級(jí)5精確率最高均達(dá)到了100%,由于部分等級(jí)2和等級(jí)4被判別為成熟度等級(jí)3,導(dǎo)致成熟度等級(jí)3的精確率只有93.1%;召回率是香蕉正確成熟度等級(jí)與實(shí)際正確成熟度等級(jí)的比值,反映了不同等級(jí)之間判別靈敏度,成熟度等級(jí)1和6最容易被檢測(cè)出來(lái),成熟度3最不敏感;F1分?jǐn)?shù)為精確率與召回率的調(diào)和平均值,其取值在0~1,取值越大性能越好。
圖8 AlexNet模型混淆矩陣Figure 8 AlexNet model confusion matrix
表1 AlexNet模型各分類等級(jí)性能
3.4.3 人工與模型分級(jí)對(duì)比 由12名具有香蕉深加工技術(shù)經(jīng)驗(yàn)的食品專業(yè)老師和同學(xué)組成人工分級(jí)小組,分為兩組,每組由2名經(jīng)驗(yàn)豐富師生、2名中等熟練師生及2名新手師生直接對(duì)所采集圖像的香蕉進(jìn)行實(shí)物分揀,分為組1和組2,其中組1成員在檢測(cè)過(guò)程中每檢測(cè)30個(gè)香蕉休息5 min,共分6次完成;組2成員檢測(cè)過(guò)程中不休息,一次性完成180個(gè)香蕉分類。測(cè)試結(jié)果見(jiàn)表2。兩組成員,在檢測(cè)過(guò)程中沒(méi)有休息的成員準(zhǔn)確率略低,長(zhǎng)時(shí)間的重復(fù)分辨,使師生視覺(jué)疲勞、體力疲勞從而導(dǎo)致誤差增加,而且勞動(dòng)時(shí)長(zhǎng)會(huì)進(jìn)一步導(dǎo)致準(zhǔn)確率下降;檢測(cè)過(guò)程中有休息的成員,準(zhǔn)確率較高,其中經(jīng)驗(yàn)豐富長(zhǎng)期進(jìn)行香蕉分揀工作的老師和同學(xué)準(zhǔn)確率可以與模型準(zhǔn)確率相比擬,但是需要預(yù)留足夠時(shí)間給檢測(cè)人員休息調(diào)整,減少人為誤差,整個(gè)過(guò)程耗時(shí)較長(zhǎng)。
表2 香蕉成熟度人工與模型分類結(jié)果
3.4.4 模型應(yīng)用 為了讓試驗(yàn)?zāi)P透阌趹?yīng)用于香蕉深加工實(shí)際生產(chǎn)過(guò)程,借助于PyQt5創(chuàng)建一個(gè)香蕉等級(jí)分類圖形化用戶展示界面,系統(tǒng)可以通過(guò)python程序控制實(shí)現(xiàn)攝像頭實(shí)時(shí)調(diào)用拍攝香蕉圖片或者直接加載給定的香蕉圖片進(jìn)行實(shí)時(shí)成熟度分類,系統(tǒng)界面如圖9所示。
圖9 系統(tǒng)界面Figure 9 The system interface
采用多種(Alexnet、DenseNet、GoogLenet、ResNet、VGGNet)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行遷移學(xué)習(xí)提取香蕉成熟度外部特征,可實(shí)現(xiàn)香蕉6個(gè)成熟度等級(jí)無(wú)損分類,這種方式對(duì)于縮短訓(xùn)練時(shí)長(zhǎng)非常有效。經(jīng)過(guò)試驗(yàn)對(duì)比發(fā)現(xiàn),AlexNet搭配Adam優(yōu)化器訓(xùn)練效果最好,香蕉成熟度等級(jí)準(zhǔn)確率達(dá)到95.56%,通過(guò)進(jìn)一步對(duì)AlexNet改進(jìn),準(zhǔn)確率可達(dá)96.67%。同時(shí)為提升檢測(cè)模型的實(shí)用性,設(shè)計(jì)了一個(gè)簡(jiǎn)易香蕉成熟度分類實(shí)時(shí)顯示界面系統(tǒng)。香蕉成熟度的準(zhǔn)確、快速分類,對(duì)香蕉深加工領(lǐng)域香蕉成熟度篩選過(guò)程,減少人力、物力、節(jié)省時(shí)間等方面都有重要價(jià)值,研究證明了利用深度卷積網(wǎng)絡(luò)對(duì)香蕉成熟度分類具有可行性,卷積模型可初步滿足香蕉深加工在線檢測(cè)分類的生產(chǎn)需求,對(duì)于與香蕉剝皮機(jī)搭配構(gòu)建一整套香蕉深加工自動(dòng)化系統(tǒng)有一定的可行性。但由于香蕉成熟過(guò)程中外形特征是連續(xù)變化過(guò)程,對(duì)處于中期階段的成熟度較難判斷,后期可進(jìn)一步提升將單個(gè)香蕉分類任務(wù)擴(kuò)展到整把香蕉的分類任務(wù)。