謝為俊 丁冶春 王鳳賀 魏 碩 楊德勇
(1.中國(guó)農(nóng)業(yè)大學(xué)工學(xué)院, 北京 100083; 2.贛南醫(yī)學(xué)院藥學(xué)院, 贛州 341000;3.贛南醫(yī)學(xué)院贛南油茶產(chǎn)業(yè)開發(fā)協(xié)同創(chuàng)新中心, 贛州 341000)
油茶(CamelliaoleiferaAbel.)是山茶科、山茶屬植物,與油棕、油橄欖、椰子并稱為世界四大木本食用油料作物,廣泛種植于我國(guó)南方丘陵地區(qū)和一些東南亞國(guó)家[1]。茶油是油茶籽的主要產(chǎn)物,富含多種不飽和脂肪酸,被譽(yù)為“東方橄欖油”[2]。中國(guó)是油茶種植大國(guó),據(jù)統(tǒng)計(jì),2017年油茶籽產(chǎn)量達(dá)到243萬t,在我國(guó)脫貧政策扶持下,油茶產(chǎn)量將進(jìn)一步增加[3]。
油茶蒲不含油脂,對(duì)制取茶油不利,因此需要對(duì)其進(jìn)行脫蒲處理[4]。機(jī)械脫蒲后的產(chǎn)物為完整油茶籽、破碎油茶籽和果蒲等組成的混合物,需要將茶籽從中分選出來,以進(jìn)行后續(xù)的茶油制取,同時(shí)還需要將完整茶籽與破碎茶籽分離,以保證茶籽的儲(chǔ)藏質(zhì)量。目前油茶籽分選方式主要分為篩孔分選、氣流分選、膠帶摩擦分選和油茶籽色選機(jī)分選等。篩孔分選主要根據(jù)油茶籽和油茶蒲的尺寸差異進(jìn)行分級(jí)篩分。如熊平原等[5]設(shè)計(jì)了一種三級(jí)篩分網(wǎng)振動(dòng)分選裝置,以獲得大、中、小蒲和碎末分層篩選的效果。氣流分選是根據(jù)物質(zhì)之間的質(zhì)量差異進(jìn)行分離。如郭傳真[6]研究了氣流對(duì)油茶果蒲籽混合物清選的影響規(guī)律,并確定了油茶果清選氣流的最佳參數(shù)。膠帶分選主要利用油茶籽、果蒲與膠帶的摩擦因數(shù)不同實(shí)現(xiàn)分選。如WANG等[7]利用傾斜的膠帶外加氣流方式進(jìn)行油茶籽、果蒲分選試驗(yàn),結(jié)果表明,油茶籽分選精度達(dá)到98%,果蒲分選精度為93%。油茶籽色選機(jī)主要利用油茶籽與果蒲的顏色差異進(jìn)行籽與蒲的識(shí)別,實(shí)現(xiàn)油茶籽分選。如周敬東等[8]設(shè)計(jì)的油茶籽色選系統(tǒng),可對(duì)CCD相機(jī)獲取的油茶籽和果蒲圖像進(jìn)行識(shí)別,進(jìn)而利用氣流對(duì)油茶籽、果蒲進(jìn)行分離。目前,油茶籽分選機(jī)械可以實(shí)現(xiàn)將果蒲從混合物中分離,但不能分離碎籽。
機(jī)器視覺技術(shù)在農(nóng)產(chǎn)品加工領(lǐng)域已有廣泛應(yīng)用。李霽陽[9]設(shè)計(jì)了一套適用于谷物外觀品質(zhì)分析的算法,該算法利用谷物的長(zhǎng)度、寬度和像素面積等谷物特征參數(shù)實(shí)現(xiàn)谷物完整性識(shí)別。李偉等[10]基于圖像處理技術(shù)提出基于形態(tài)學(xué)的棉籽破損識(shí)別方法,根據(jù)棉籽輪廓的對(duì)稱性特征判斷棉籽完整性。上述兩種算法都是基于圖像處理技術(shù),算法復(fù)雜度較高,識(shí)別速度和識(shí)別率偏低。近年來隨著深度學(xué)習(xí)技術(shù)的發(fā)展,機(jī)器視覺技術(shù)在圖像分類檢測(cè)和目標(biāo)識(shí)別上的準(zhǔn)確率不斷提高。深度學(xué)習(xí)技術(shù)已被應(yīng)用于不同領(lǐng)域[11],越來越多的學(xué)者將其運(yùn)用在谷物[12-13]、水果[14-15]、蔬菜[16-17]等農(nóng)產(chǎn)品目標(biāo)識(shí)別和品質(zhì)檢測(cè)上。目前,卷積神經(jīng)網(wǎng)絡(luò)(CNN)模型,如AlexNet[18]、VGGNet[19]和GoogLeNet[20]等,主要針對(duì)種類繁多的目標(biāo)識(shí)別,且對(duì)識(shí)別速度要求不高,因此,研究人員通常根據(jù)實(shí)際問題,設(shè)計(jì)出獨(dú)特、適用的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)[21-23]。上述研究結(jié)果表明,將CNN運(yùn)用于農(nóng)產(chǎn)品目標(biāo)識(shí)別和品質(zhì)檢測(cè)是可行的。
本文根據(jù)油茶籽完整性識(shí)別任務(wù)要求,構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)模型,實(shí)現(xiàn)油茶籽的完整性識(shí)別。通過對(duì)比實(shí)驗(yàn)確定模型的總體結(jié)構(gòu);為提高網(wǎng)絡(luò)的收斂速度、泛化性能與準(zhǔn)確率,通過對(duì)比不同歸一化方法的模型性能確定最佳歸一化方法,同時(shí)比較不同激活函數(shù)對(duì)模型性能的影響,并對(duì)網(wǎng)絡(luò)的超參數(shù)(批量尺寸和學(xué)習(xí)率)進(jìn)行優(yōu)化;為減小模型規(guī)模,使其更適用于茶籽分選設(shè)備,對(duì)模型卷積層感受野和全連接層節(jié)點(diǎn)進(jìn)行壓縮,以提高網(wǎng)絡(luò)的準(zhǔn)確率和實(shí)時(shí)性。
油茶果購(gòu)自江西省贛州市,品種為“贛州油”。油茶果經(jīng)過機(jī)械脫蒲后,選取1 761個(gè)完整籽和1 039個(gè)破碎籽,隨機(jī)選取每個(gè)種類的70%作為訓(xùn)練集,30%為驗(yàn)證集。其部分?jǐn)?shù)據(jù)集如圖1所示。
油茶籽圖像是由彩色CCD相機(jī)(DFK-33UX265型)和8 mm鏡頭(The Imaging Source,德國(guó))采集,圖像尺寸為1 920像素×1 080像素。圖像處理算法和卷積神經(jīng)網(wǎng)絡(luò)搭建是基于Python 3.7、圖像處理庫(kù)OpenCV 4.0和深度學(xué)習(xí)庫(kù)Tensorflow 2.0.0。程序運(yùn)行環(huán)境為Intel i5-7200U 2.70 GHz CPU、4 GB運(yùn)行內(nèi)存、Windows 10操作系統(tǒng)。
單粒油茶籽圖像由整幅圖像(1 920像素×1 080像素)裁剪得到,主要步驟為:①利用OpenCV中的cv2.inRang函數(shù)對(duì)原圖像進(jìn)行二值化處理,得到含有大量噪聲點(diǎn)的二值圖像(圖2b)。②對(duì)二值圖進(jìn)行中值濾波、形態(tài)學(xué)操作和面積去噪后,得到不含噪聲的二值圖像(圖2c)。③將二值圖作為掩膜,與原圖像進(jìn)行“與”操作得到去除背景的RGB三通道圖像(圖2d)。④檢測(cè)出油茶籽輪廓,并得到油茶籽最小外接矩形(圖2e)。⑤為了保持油茶籽形狀輪廓不受裁剪影響,將油茶籽外接矩形每條邊向外擴(kuò)展5個(gè)像素作為裁剪矩形,得到單粒油茶籽圖像(圖2f)。⑥為了滿足卷積神經(jīng)網(wǎng)絡(luò)對(duì)輸入圖像的要求,油茶籽圖像在輸入前統(tǒng)一調(diào)整為224像素×224像素的正方形圖像。
圖2 油茶籽圖像預(yù)處理Fig.2 Image preprocessing of Camellia oleifera seeds
1.3.1歸一化層
在AlexNet[18]經(jīng)典網(wǎng)絡(luò)中,為了提高模型泛化性能,提出了局部響應(yīng)歸一化(LRN),其能對(duì)局部神經(jīng)元的活動(dòng)創(chuàng)建競(jìng)爭(zhēng)機(jī)制,使得其中響應(yīng)比較大的值變得相對(duì)更大,并抑制其他反饋較小的神經(jīng)元。批量歸一化(BN)是一種防止網(wǎng)絡(luò)過擬合的方法,在每一層的激活函數(shù)之前采用批量歸一化處理,使非激活的輸出服從均值為0方差為1的正態(tài)分布,然后通過縮放和平移,將批量歸一化計(jì)算結(jié)果還原為原始輸入特性。該過程可以保證網(wǎng)絡(luò)容量、加快網(wǎng)絡(luò)訓(xùn)練速度、提高網(wǎng)絡(luò)泛化能力[24],其數(shù)學(xué)表達(dá)式為
(1)
X=(x(1),x(2),…,x(d))
(2)
(3)
(4)
(5)
(6)
i——通道序號(hào)
N——通道總數(shù)
x(d)——第d維輸入值
x、y——特征圖的寬、高
k——超參數(shù),防止除0的情況發(fā)生
α、β——常數(shù)n——鄰域長(zhǎng)度
X——BN層輸入值,共有d維
x(k)——第k維輸入值
y(k)——第k維輸出值
E——均值Var——方差
1.3.2激活函數(shù)
激活函數(shù)將非線性因素引入神經(jīng)元,使得深度神經(jīng)網(wǎng)絡(luò)可以逼近任何非線性函數(shù),增強(qiáng)了深度神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力。因此,深度神經(jīng)網(wǎng)絡(luò)中激活函數(shù)的選擇對(duì)訓(xùn)練過程和模型性能有著重要影響。目前應(yīng)用最多的激活函數(shù)是ReLU函數(shù)。圖3為不同激活函數(shù)在定義域上的函數(shù)圖像,當(dāng)x≥0時(shí),ReLU函數(shù)無邊界,梯度可以持續(xù)傳遞,不會(huì)出現(xiàn)飽和現(xiàn)象,然而x<0時(shí),函數(shù)梯度消失,出現(xiàn)神經(jīng)元死亡的問題。為了解決此問題,ReLU函數(shù)的改進(jìn)函數(shù)如PReLU和ELU相繼提出。此外,谷歌大腦于2017年提出了Swish函數(shù)[25]來解決ReLU函數(shù)梯度消失的問題。
圖3 不同激活函數(shù)圖像Fig.3 Different activation functions diagram
1.3.3網(wǎng)絡(luò)結(jié)構(gòu)
本文構(gòu)建的模型(CO-Net)可以視作一種局部特征自學(xué)習(xí)方法,包括一系列在卷積神經(jīng)網(wǎng)絡(luò)中發(fā)揮不同作用的連續(xù)層,包括卷積層、歸一化層、池化層和全連接層。油茶籽圖像特征主要由卷積層自主學(xué)習(xí)得到;歸一化層可以提高模型訓(xùn)練收斂速度;池化層可以減小網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)并保持圖像特征不變,提高模型泛化能力;全連接層將前面卷積層所學(xué)到的局部特征綜合為油茶籽圖像的全局特征。所構(gòu)建的網(wǎng)絡(luò)可以自動(dòng)學(xué)習(xí)獲得油茶籽主要特征。
油茶籽在線分選具有實(shí)時(shí)性和檢測(cè)準(zhǔn)確率要求高的特點(diǎn),為了提高模型的訓(xùn)練速度和準(zhǔn)確率,本文對(duì)AlexNet[18]網(wǎng)絡(luò)進(jìn)行了結(jié)構(gòu)簡(jiǎn)化。首先,研究模型各層對(duì)模型性能的影響,確定網(wǎng)絡(luò)總體結(jié)構(gòu);然后調(diào)整網(wǎng)絡(luò)全連接層節(jié)點(diǎn)數(shù)量,以達(dá)到壓縮模型的目的;最后調(diào)整網(wǎng)絡(luò)卷積層各層感受野數(shù)量,達(dá)到加快模型訓(xùn)練速度的目的。在網(wǎng)絡(luò)結(jié)構(gòu)調(diào)整過程中,比較表征模型性能的4個(gè)參數(shù)(模型尺寸、訓(xùn)練時(shí)間、準(zhǔn)確率和損失值),尋找出適合油茶籽完整性識(shí)別任務(wù)的最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)。通過調(diào)整后,得到更適合油茶籽完整性識(shí)別的CO-Net網(wǎng)絡(luò),其擁有4層卷積層、2層BN層、3層池化層和1層全連接層(圖4),其初始參數(shù)分布如表1所示。
圖4 CO-Net網(wǎng)絡(luò)整體結(jié)構(gòu)圖Fig.4 Overall structure diagram of CO-Net
表1 CO-Net初始參數(shù)分布Tab.1 Initial parameters distribution of CO-Net
1.3.4卷積層結(jié)構(gòu)的優(yōu)化
深度可分離卷積認(rèn)為卷積層通道間的相關(guān)性和空間相關(guān)性是可以退耦合的,將它們分開映射,能達(dá)到更好的效果[26]。深度可分離卷積將傳統(tǒng)的卷積操作(圖5a)分為一個(gè)深度卷積操作和一個(gè)卷積核為1×1的傳統(tǒng)卷積操作(圖5b),通過此操作后可以減少卷積操作的參數(shù)量和計(jì)算量。假設(shè)輸入特征圖為DF×DF×M、輸出特征圖為DF×DF×N、卷積核為DK×DK,則傳統(tǒng)卷積的參數(shù)量、計(jì)算量和深度可分離卷積的參數(shù)量、計(jì)算量為
圖5 傳統(tǒng)卷積與深度可分離卷積示意圖Fig.5 Traditional convolution and depthwise convolution diagram
Cpara=DK×DK×M×N
(7)
Ccal=DK×DK×M×N×DF×DF
(8)
Dpara=DK×DK×M+M×1×1×N
(9)
Dcal=DK×DK×M×DF×DF+
M×N×DF×DF
(10)
式中Cpara——傳統(tǒng)卷積層參數(shù)量
Dpara——深度可分離卷積層參數(shù)量
Ccal——傳統(tǒng)卷積層計(jì)算量
Dcal——深度可分離卷積層計(jì)算量
深度可分離卷積與傳統(tǒng)卷積參數(shù)量、計(jì)算量之比為
(11)
由式(11)可知,當(dāng)卷積核尺寸大于1時(shí),深度可分離卷積可有效減少模型參數(shù)量和計(jì)算量。因此,為了進(jìn)一步壓縮模型尺寸和提高模型訓(xùn)練速度,本文依次將第2~4層卷積層(Conv2~Conv4)替換為深度可分離卷積層(Depthwise Conv)。
批量尺寸(Batch size)表示卷積神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過程中每批訓(xùn)練使用圖像的數(shù)量。合適的批量尺寸可以加快模型訓(xùn)練速度、減少訓(xùn)練時(shí)間。批量尺寸與模型訓(xùn)練梯度下降速度關(guān)系密切。本文進(jìn)行了不同批量尺寸對(duì)模型性能影響的對(duì)比實(shí)驗(yàn),結(jié)果如圖6所示。由圖可知,模型訓(xùn)練準(zhǔn)確率和損失值分別隨訓(xùn)練次數(shù)的增加而升高和減小。此外,隨著批量尺寸的增大,訓(xùn)練收斂速度不斷加快,但過大的批量尺寸會(huì)導(dǎo)致過多內(nèi)存消耗,可能會(huì)導(dǎo)致程序崩潰,且當(dāng)批量尺寸為64和128時(shí),模型收斂速度相近,最終CO-Net網(wǎng)絡(luò)選擇批量尺寸為64進(jìn)行訓(xùn)練。
圖6 批量尺寸對(duì)模型訓(xùn)練效果的影響Fig.6 Effects of batch size on training accuracy and training loss
學(xué)習(xí)率(Learning rate)是卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中很重要的一個(gè)超參數(shù),學(xué)習(xí)率表示每次更新參數(shù)的幅度,合適的學(xué)習(xí)率可以加快模型訓(xùn)練收斂速度。本文比較了5個(gè)不同學(xué)習(xí)率對(duì)模型訓(xùn)練效果的影響,結(jié)果如圖7所示。由圖可知,模型訓(xùn)練收斂速度隨學(xué)習(xí)率增加而加快。但學(xué)習(xí)率不能無限增大,當(dāng)學(xué)習(xí)率過大時(shí),需要優(yōu)化的參數(shù)會(huì)出現(xiàn)波動(dòng)而不收斂;而學(xué)習(xí)率過小,會(huì)導(dǎo)致待優(yōu)化的參數(shù)收斂緩慢。本文網(wǎng)絡(luò)模型在學(xué)習(xí)率為10-2時(shí)收斂速度最快,因此選擇學(xué)習(xí)率為10-2進(jìn)行訓(xùn)練。
對(duì)數(shù)據(jù)進(jìn)行歸一化操作可以提高模型泛化性能和加快模型訓(xùn)練收斂速度,因此選擇合適的歸一化方法對(duì)模型性能有重要意義。本文比較了無歸一化層、局部響應(yīng)歸一化(LRN)和批量歸一化(BN)對(duì)網(wǎng)絡(luò)模型性能的影響,結(jié)果如圖8所示??梢钥闯?,未添加歸一化層與添加LRN層的模型準(zhǔn)確率基本一致,但模型訓(xùn)練時(shí)間由1.01 h增加到1.12 h,說明LRN層對(duì)模型識(shí)別準(zhǔn)確率沒有大幅度提升作用,還會(huì)增加網(wǎng)絡(luò)復(fù)雜性,這與SIMONYAN等[19]的研究結(jié)果類似。然而,添加BN層網(wǎng)絡(luò)的收斂速度比添加LRN層的快,模型訓(xùn)練時(shí)間由1.12 h減少為0.71 h,且訓(xùn)練準(zhǔn)確率有所提高,可能是因?yàn)長(zhǎng)RN層作用于特征圖通道層面,而BN層作用于特征圖整體數(shù)據(jù)且BN層中含有可學(xué)習(xí)的重構(gòu)參數(shù)。另一方面,BN層解決了深層網(wǎng)絡(luò)訓(xùn)練過程中由于網(wǎng)絡(luò)參數(shù)變化而引起內(nèi)部節(jié)點(diǎn)數(shù)據(jù)分布發(fā)生變化的現(xiàn)象。所以在CO-Net中使用BN層作為網(wǎng)絡(luò)歸一化層。
圖8 歸一化層對(duì)模型訓(xùn)練效果的影響Fig.8 Effects of normalization layer on training accuracy and training loss
激活函數(shù)對(duì)CNN成功的訓(xùn)練起著重要作用。Swish激活函數(shù)具有非飽和、光滑、非單調(diào)等特點(diǎn),其應(yīng)用于圖像分類、機(jī)器翻譯等多個(gè)具有挑戰(zhàn)性領(lǐng)域時(shí),在深度網(wǎng)絡(luò)上的表現(xiàn)優(yōu)于或等同于ReLU激活函數(shù)[25],本文也得到了同樣結(jié)果。圖9為PReLU、ELU、ReLU和Swish激活函數(shù)對(duì)模型訓(xùn)練效果的影響。結(jié)果表明,Swish函數(shù)對(duì)模型收斂速度的影響比其他3個(gè)函數(shù)大,這可能是由于Swish函數(shù)在定義域上處處可導(dǎo)且在x為負(fù)值時(shí),模型梯度仍然可以傳遞,從而避免了神經(jīng)元死亡的問題。因此,在CO-Net中使用Swish函數(shù)作為模型激活函數(shù)。
圖9 激活函數(shù)對(duì)模型訓(xùn)練效果的影響Fig.9 Effects of activation function on training accuracy and training loss
全連接層是將卷積層學(xué)習(xí)到的局部特征整合為去除空間位置信息的全局特征,所以全連接層含有參數(shù)最多,是影響模型尺寸的重要因素。為了確定模型全連接層數(shù)量,本文將全連接層數(shù)量由零依次增加到2層,結(jié)果如圖10所示。由圖可知,當(dāng)只有1層全連接層時(shí),模型性能與擁有2層全連接層時(shí)沒有明顯變化甚至有所提高,但是當(dāng)無全連接層時(shí),模型性能明顯下降,這可能是因?yàn)槟P退袇?shù)均包含在全連接層內(nèi),所以只有1層全連接層對(duì)模型性能影響不大,但全連接層包含的是去除空間位置信息的全局特征,全部刪除將導(dǎo)致模型性能下降。為了進(jìn)一步壓縮模型,通過調(diào)整全連接層節(jié)點(diǎn)數(shù)量來尋找模型規(guī)模最優(yōu)值。表2是全連接層不同節(jié)點(diǎn)數(shù)對(duì)模型的影響。由表2可知,減少模型節(jié)點(diǎn)數(shù)可以壓縮模型規(guī)模,但是對(duì)模型訓(xùn)練時(shí)間影響有限,因?yàn)槿B接層參數(shù)最多,而模型訓(xùn)練耗時(shí)主要來自卷積操作。綜合模型測(cè)試準(zhǔn)確率、模型尺寸和訓(xùn)練時(shí)間,最終CO-Net采用1層全連接層,節(jié)點(diǎn)數(shù)為256。
圖10 全連接層對(duì)模型訓(xùn)練效果的影響Fig.10 Effects of fully connected layers on training accuracy and training loss
表2 全連接層節(jié)點(diǎn)數(shù)對(duì)模型性能的影響Tab.2 Effects of fully connected layers on performance of model
卷積層通過不同尺寸感受野對(duì)圖像進(jìn)行卷積操作,提取圖像局部特征,是卷積神經(jīng)網(wǎng)絡(luò)中最重要的組成部分,因此卷積層的設(shè)置對(duì)模型性能起著至關(guān)重要的作用。CO-Net是從零開始獨(dú)立訓(xùn)練,在只有1層卷積層時(shí),模型訓(xùn)練準(zhǔn)確率和收斂速度均最低,模型性能隨著卷積層層數(shù)增加而提升,但提升速度越來越慢,當(dāng)卷積層數(shù)量為4時(shí),模型性能甚至優(yōu)于5層卷積層(圖11),由此可見保證模型具有一定深度是必要的,但模型深度也不是越深越好,最終確定CO-Net卷積層層數(shù)為4層。為加快模型訓(xùn)練速度、降低模型訓(xùn)練時(shí)間,本文對(duì)卷積層感受野數(shù)量進(jìn)行調(diào)整,結(jié)果如表3所示。結(jié)果表明減少模型感受野數(shù)量不僅可以減小模型規(guī)模,更重要的是可以大幅降低模型訓(xùn)練時(shí)間。子模型1與子模型3相比,模型規(guī)模由40.60 MB減少為8.47 MB,訓(xùn)練時(shí)間由4.30 h減少為1.16 h,而測(cè)試準(zhǔn)確率基本保持不變,原因是卷積層擁有大量卷積操作,需要消耗大量時(shí)間,減少感受野數(shù)量可以減少卷積操作,降低模型訓(xùn)練時(shí)間。此外,本文還將傳統(tǒng)卷積層替換為深度可分離卷積層,結(jié)果如表4所示,深度可分離卷積層可以有效減少模型參數(shù)量以達(dá)到壓縮模型的效果和減少模型計(jì)算量以達(dá)到加快模型訓(xùn)練的效果。當(dāng)模型第2、3層卷積層替換為深度可分離卷積層后,模型規(guī)模由原來的8.47 MB進(jìn)一步減小為1.65 MB,模型訓(xùn)練時(shí)間減少一半而模型精度僅輕微下降,使其更適合在嵌入式系統(tǒng)上使用,可以用于硬件配置較低的分選設(shè)備。實(shí)際使用時(shí),應(yīng)當(dāng)根據(jù)軟硬件條件,挑選適合實(shí)際生產(chǎn)的模型。
圖11 卷積層對(duì)模型訓(xùn)練效果的影響Fig.11 Effects of convolution layers on training accuracy and training loss
表3 卷積層感受野數(shù)量對(duì)模型性能的影響Tab.3 Effects of number of LRFs on performance of model
表4 深度可分離卷積層對(duì)模型性能的影響Tab.4 Effect of depthwise convolutions on performance of model
本文將模型性能表征參數(shù)(訓(xùn)練準(zhǔn)確率、模型規(guī)模、訓(xùn)練時(shí)間和測(cè)試準(zhǔn)確率)作為目標(biāo)參數(shù),將CO-Net與其他經(jīng)典模型(AlexNet、MobileNet V1、MobileNet V2、MobileNet V3[26]和SqueezeNet[27])進(jìn)行比較,結(jié)果如表5所示。由表可知,采用不同模型結(jié)構(gòu)時(shí),模型性能不同,其中AlexNet模型訓(xùn)練時(shí)間最長(zhǎng),為9.43 h,測(cè)試準(zhǔn)確率為98.33%,但其模型規(guī)模最大(356 MB),不適用于油茶籽在線分選設(shè)備。MobileNet V3_Large在輕量級(jí)網(wǎng)絡(luò)中模型規(guī)模最大,訓(xùn)練時(shí)間為5.52 h,其測(cè)試準(zhǔn)確率達(dá)到了97.26%。本文提出的CO-Net測(cè)試準(zhǔn)確率達(dá)到了98.05%,而模型規(guī)模和訓(xùn)練時(shí)間分別是MobileNet V3_Large的1/38和1/10,且單幅圖像檢測(cè)平均耗時(shí)僅13.91 ms。通過比較可知,CO-Net更適合用于油茶籽在線分選。
表5 CO-Net與不同經(jīng)典模型性能比較Tab.5 Performance comparison between CO-Net and different classical models
(1)以批量歸一化(BN)作為模型歸一化方法,提高了模型的訓(xùn)練收斂速度和模型的泛化性能。Swish函數(shù)可有效解決ReLU激活函數(shù)出現(xiàn)神經(jīng)元死亡的問題,提高了模型的準(zhǔn)確率和訓(xùn)練收斂速度。
(2)CO-Net網(wǎng)絡(luò)具有4層卷積層、2層歸一化層、3層池化層和1層全連接層,4層卷積層和1層全連接層的節(jié)點(diǎn)數(shù)分別為32、64、128、128和256,第2、3卷積層采用深度可分離卷積層,使模型規(guī)模減小為原來的1/5,且訓(xùn)練時(shí)間縮短一半。模型選擇訓(xùn)練批量尺寸為64,學(xué)習(xí)率為10-2。
(3)CO-Net網(wǎng)絡(luò)對(duì)油茶籽完整性的識(shí)別準(zhǔn)確率達(dá)98.05%,與MobileNet V3_Large模型相當(dāng);但訓(xùn)練時(shí)間大幅縮短,為0.58 h;模型規(guī)模大幅減小,為1.65 MB;單幅圖像檢測(cè)平均耗時(shí)13.91 ms,可滿足油茶籽在線實(shí)時(shí)分選的要求。