劉新宇 郝同盟 張紅濤 逯芯妍
(華北水利水電大學(xué)電力學(xué)院,河南 鄭州 450011)
煙葉分級(jí)是根據(jù)烤煙的外觀質(zhì)量特征,如煙葉的部位、顏色、成熟度、身份、油分等多種特征來(lái)分級(jí)[1-3]。目前,煙葉分級(jí)系統(tǒng)的難點(diǎn)之一在于對(duì)不同姿態(tài)、不同等級(jí)、不同產(chǎn)地?zé)煿2课坏木珳?zhǔn)識(shí)別。煙葉含梗率是指煙葉中煙梗占有的比例,含梗率與煙梗粗細(xì)、葉片厚薄有關(guān)。部位不同含梗率差異很大(下部最高,中部次之,上部最低[4])??緹熀B室话慵s為25%。含梗率高低影響著煙葉的使用價(jià)值,反映煙葉可用性大小。傳統(tǒng)煙葉分級(jí)主要依靠專家經(jīng)驗(yàn),依靠人的感官來(lái)判斷煙葉的品級(jí),效率低,成本高,很難保證煙葉分級(jí)的客觀性和正確性,越來(lái)越無(wú)法滿足煙草行業(yè)對(duì)煙葉質(zhì)量的要求。此外,由于烤煙的特性,經(jīng)過(guò)烤煙收集上來(lái)的煙葉由于煙油等因素的影響往往會(huì)粘連在一起,給煙葉分級(jí)智能化帶來(lái)了不利影響。
基于機(jī)器學(xué)習(xí)技術(shù)的發(fā)展與計(jì)算機(jī)算力的不斷提升,利用機(jī)器學(xué)習(xí)對(duì)農(nóng)業(yè)進(jìn)行輔助生產(chǎn)成為了卷煙生產(chǎn)、加工的新方向[4-7]。朱文魁等[8]采用低能X射線透射成像,結(jié)合形態(tài)學(xué)濾噪、灰度閾值分割等方法對(duì)煙梗識(shí)別率達(dá)到94.5%。崔云月等[9]基于BP神經(jīng)網(wǎng)絡(luò)利用煙梗的灰度占比作為輸入實(shí)現(xiàn)了誤差為3.91%的煙梗長(zhǎng)短檢測(cè)率。宋洋等[10]利用MPC08SP四軸運(yùn)動(dòng)控制卡,基于Visual C++底層控制程序?qū)崿F(xiàn)了煙把的智能定位。席建平等[11]利用煙葉、煙梗在X光下的透射率不同的特性,基于FPGA圖像處理實(shí)現(xiàn)了90%的煙梗檢測(cè)率。湯龍[12]采用高功率紅外透射光源,基于灰度算法實(shí)現(xiàn)了檢測(cè)率82%的煙梗檢測(cè)。鄭茜等[13]基于高頻低強(qiáng)度震動(dòng)技術(shù),以高頻低強(qiáng)度激振力實(shí)現(xiàn)分選篩的往復(fù)運(yùn)動(dòng)實(shí)現(xiàn)了煙梗的選篩。上述煙梗識(shí)別模型都借用了傳統(tǒng)機(jī)器學(xué)習(xí)識(shí)別手段,其大多數(shù)根據(jù)煙梗在高能量光線下透視的物理特性來(lái)輔助煙梗的檢測(cè)識(shí)別,當(dāng)下關(guān)于煙梗識(shí)別的研究關(guān)注點(diǎn)在于卷煙加工生產(chǎn)過(guò)程中的煙梗的剔除,雖都提高了檢測(cè)的精度,但未提高檢測(cè)效率。因?yàn)槟壳盁煵菪袠I(yè)的智能煙葉分級(jí)項(xiàng)目處于研發(fā)且保密階段。公開(kāi)的煙梗定位研究資料較少,而眾多文獻(xiàn)對(duì)于煙葉智能分級(jí)系統(tǒng)的關(guān)注點(diǎn)都在于對(duì)單片煙葉的分類識(shí)別,對(duì)煙梗識(shí)別定位缺乏一定的關(guān)注。
試驗(yàn)擬以YOLOv3為基礎(chǔ)網(wǎng)絡(luò),在主干網(wǎng)絡(luò)引入新的單元模塊以增強(qiáng)網(wǎng)絡(luò)的特征提取,使用Swish激活函數(shù)提高語(yǔ)義信息的利用來(lái)提高網(wǎng)絡(luò)精度,通過(guò)卷積網(wǎng)絡(luò)視覺(jué)處理來(lái)提高煙梗檢測(cè)的準(zhǔn)確率與檢測(cè)效率,以期為煙葉智能化分級(jí)提供先決條件。
目標(biāo)檢測(cè)算法主要分為兩大類別,一類是兩階段的目標(biāo)檢測(cè)器,即基于候選區(qū)域的目標(biāo)檢測(cè),另一類是單階段的目標(biāo)檢測(cè)器,即將目標(biāo)檢測(cè)任務(wù)作為回歸處理的檢測(cè)算法[9-13]。YOLO系列算法是在RCNN的基礎(chǔ)上提出來(lái)的,屬于典型的單目標(biāo)檢測(cè)算法,其優(yōu)點(diǎn)是省略了候選區(qū)域生成的步驟,通過(guò)檢測(cè)目標(biāo)的位置輸入,將目標(biāo)分類與位置回歸問(wèn)題融合到一個(gè)卷積網(wǎng)絡(luò)中,提高了目標(biāo)檢測(cè)的速度,增強(qiáng)其工程應(yīng)用性[14-16]。YOLOv3網(wǎng)絡(luò)是在YOLOv2的網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)上改進(jìn)而來(lái)的,其將YOLOv2的主干特征提取網(wǎng)絡(luò)由Darknet-19更換為效果更好的Darknet-53。YOLOv3的結(jié)構(gòu)圖如圖1所示,其特征提取模塊由Darknet-53網(wǎng)絡(luò)與多尺度融合模塊構(gòu)成,通過(guò)Darknet-53主干網(wǎng)絡(luò)對(duì)輸入圖像的特征壓縮,分別提取經(jīng)過(guò)壓縮3次,4次,5次作為后續(xù)網(wǎng)絡(luò)的輸入,得到13×13,26×26,52×52 3個(gè)不同大小尺度的特征圖。為了提取更多有效的特征信息YOLOv3通過(guò)上采樣的方式,將52×52與26×26的特征圖進(jìn)行融合,同時(shí)將26×26與13×13的特征圖進(jìn)行融合。通過(guò)交互層進(jìn)行特征融合構(gòu)建特征金字塔模型,提取更深層次的語(yǔ)義信息,有利于提高網(wǎng)絡(luò)的檢測(cè)精度。
圖1 YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)Figure 1 YOLOv3 network structure
卷積網(wǎng)絡(luò)中通過(guò)加深網(wǎng)絡(luò)層數(shù),與加寬網(wǎng)絡(luò)結(jié)構(gòu)來(lái)提升網(wǎng)絡(luò)的整體性能,但層數(shù)的增加往往伴隨著特征信息的高度提煉與丟失[17-20]。針對(duì)在網(wǎng)絡(luò)訓(xùn)練過(guò)程隨著網(wǎng)絡(luò)層數(shù)增加梯度消失問(wèn)題,DenseNet網(wǎng)絡(luò)如圖2所示,其引入DenseBlock模塊,DenseBlock模塊的使用使網(wǎng)絡(luò)每層計(jì)算量減少,特征得以重復(fù)利用。DenseNet使一層的輸入直接影響到之后的所有層,提高網(wǎng)絡(luò)的特征信息的利用,其輸出為:
圖2 DenseNet網(wǎng)絡(luò)結(jié)構(gòu)Figure 2 DenseNet network structure
Xn=Hn([X0,X1,…,Xn-1]),
(1)
式中:
[X0,X2,…,Xn-1]——特征圖像(feature map)以通道維度合并后的特征圖;
Hn——特征拼接函數(shù);
Xn——經(jīng)特征拼接后的特征圖。
DenseNet-53主要有兩個(gè)特性:① 在一定程度上減輕在訓(xùn)練過(guò)程中梯度消散的問(wèn)題。在反傳時(shí)每一層都會(huì)接收其后所有層的梯度信號(hào),不會(huì)隨著網(wǎng)絡(luò)深度的增加,靠近輸入層的梯度會(huì)變得越來(lái)越小。② 由于大量的特征被復(fù)用,使得使用少量的卷積核就可以生成大量的特征,最終模型的參數(shù)也會(huì)減少,有利于提高網(wǎng)絡(luò)的識(shí)別速度。
在傳統(tǒng)YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)中使用Leakyrelu激活函數(shù)如式(2),Leakyrelu的作用在于反向傳播過(guò)程中,對(duì)于LeakyReLU激活函數(shù)輸入小于零的部分,也可以計(jì)算得到梯度避免上述梯度方向鋸齒問(wèn)題,但如圖3所示,隨著輸入的負(fù)值越大,其影響逐漸增大。其對(duì)樣本的訓(xùn)練精度的影響會(huì)增大,為避免負(fù)樣本的影響率過(guò)大的問(wèn)題,使用Swish激活函數(shù)如式(3),如圖3所示其相對(duì)Leakyrelu激活函數(shù)在X負(fù)無(wú)窮方向更加平滑且在保證有負(fù)樣本輸入的前提下,弱化了其對(duì)網(wǎng)絡(luò)整體的影響,允許信息深入網(wǎng)絡(luò),提高網(wǎng)絡(luò)精度。
圖3 激活函數(shù)Figure 3 Activation function
(2)
f(x)=x×[1/(1+e-x)]。
(3)
DenseNet-53中的Dense Block由Bottleneck模塊構(gòu)成,如圖4所示,將原有的Bottleneck模塊結(jié)構(gòu)替換為如圖5所示的結(jié)構(gòu)單元,使用Swish激活函數(shù),在經(jīng)過(guò)DepthwiseConv2D升維后,增加了一個(gè)關(guān)于通道的注意力機(jī)制,利用自注意力機(jī)制,可以在模型訓(xùn)練和預(yù)測(cè)過(guò)程中實(shí)現(xiàn)全局參考,最后利用1×1卷積降維后增加一個(gè)大殘差邊。利用殘差神經(jīng)網(wǎng)絡(luò)增大神經(jīng)網(wǎng)絡(luò)的深度,通過(guò)更深的神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)特征提取。
圖5 文中使用模塊算法流程Figure 5 This article uses module algorithm flow
D=C?Z,
(4)
式中:
D——經(jīng)注意力機(jī)制輸出的特征圖;
Z——輸入X經(jīng)過(guò)CV2D卷積核、BN層與Swish激活等網(wǎng)絡(luò)結(jié)構(gòu)的輸出;
C——以Z為輸入經(jīng)過(guò)如圖4所示的模塊化卷積、BN層的輸出;
圖4 Bottleneck模塊算法流程Figure 4 Bottleneck module algorithm flow
?——矩陣元素點(diǎn)成。
注意力機(jī)制將特征圖像(feature map)中的每個(gè)像素作為一個(gè)隨機(jī)變量,計(jì)算所有像素點(diǎn)之間配對(duì)的協(xié)方差,根據(jù)每個(gè)預(yù)測(cè)像素在圖像中與其他像素之間的相似性來(lái)增強(qiáng)或減弱每個(gè)預(yù)測(cè)像素的值,在訓(xùn)練和預(yù)測(cè)時(shí)使用相似的像素,忽略不相似的像素,其原理如式(5)~式(7)。
(5)
(6)
(7)
X、Y——隨機(jī)變量;
Cov(X,Y)——隨機(jī)變量X、Y的協(xié)方差。
采集設(shè)備來(lái)源中國(guó)煙草總公司職工進(jìn)修學(xué)院,煙葉樣本采集器如圖6所示。
1.高清工業(yè)線陣數(shù)字相機(jī) 2.專業(yè)鏡頭 3.高顯色性LED光源 4.煙葉放置平臺(tái) 5.試驗(yàn)平臺(tái) 6.滑輪 7.工作站級(jí)計(jì)算機(jī)及iPad 8.高顯色性LED光源控制器圖6 煙葉樣本采集器Figure 6 Tobacco leaf sample collector
試驗(yàn)共收集到2 500張煙葉樣本,經(jīng)過(guò)專家挑選各個(gè)地區(qū)的代表樣本,來(lái)自不同地區(qū)的42個(gè)煙葉樣本等級(jí)。
煙梗數(shù)據(jù)集通過(guò)Pycharm環(huán)境下labelImg制作,其包含多類數(shù)據(jù)格式文件,樣本集使用PascalVOC格式制作標(biāo)簽文件,主要標(biāo)注信息包含煙梗的位置與部位名稱。將制作好的標(biāo)簽文件存放到Annotations文件夾中,將樣本圖集存入JPEGImages文件夾中。為便于試驗(yàn),將煙葉樣本圖像統(tǒng)一變更為416×416像素大小。其中250張樣本作為驗(yàn)證集,1 575張樣本圖片作為訓(xùn)練集,675張樣本作為測(cè)試集,驗(yàn)證集與訓(xùn)練集與測(cè)試集樣本比例為10∶63∶27。訓(xùn)練集與測(cè)試集符合7∶3的比率,采用數(shù)據(jù)增強(qiáng)的方法提高網(wǎng)絡(luò)的泛化能力,包括反轉(zhuǎn)180°,亮度調(diào)整,圖片拉伸等。
康復(fù)機(jī)器人具有不同的康復(fù)訓(xùn)練模式,可以適應(yīng)不同患者以及患者在不同恢復(fù)階段的不同情況?;颊咧鲃?dòng)發(fā)起的模式考慮到了患者的意圖和主動(dòng)參與的能力,較被動(dòng)模式更有效。許多的證據(jù)證明這種患者-機(jī)器人互動(dòng)的模式對(duì)促進(jìn)患者的恢復(fù)非常有效。機(jī)器人可以感受到患者的狀態(tài)并且根據(jù)患者的不同狀態(tài)進(jìn)行順應(yīng)性的匹配,同時(shí),“按需輔助”的理念在機(jī)器人輔助康復(fù)中也得到較好的貫徹,機(jī)器人只為患者提供必需的輔助以便鼓勵(lì)患者得到最大程度的參與[11]。
試驗(yàn)在Intel I510400f處理器,基礎(chǔ)頻率2.9 GHz,6核12線程,內(nèi)存16 G,顯卡為華碩的1660s的PC上,在Windows系統(tǒng)下利用Pycharm框架進(jìn)行訓(xùn)練。訓(xùn)練所設(shè)置參數(shù)如表1所示。
表1 部分試驗(yàn)參數(shù)Table 1 Some experimental parameters
從標(biāo)記的樣本中選取1 575張作為訓(xùn)練集,675張樣本作測(cè)試集,改進(jìn)前與改進(jìn)后的模型參數(shù)統(tǒng)一設(shè)置,從零開(kāi)始訓(xùn)練,將改進(jìn)前與改進(jìn)后的模型做對(duì)比試驗(yàn),訓(xùn)練卷積層,全連接層與池化層根據(jù)損失函數(shù)不斷自動(dòng)反向調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)模型參數(shù),最后到達(dá)一個(gè)loss函數(shù)的極小值點(diǎn),訓(xùn)練時(shí)通過(guò)Adam算法優(yōu)化初始學(xué)習(xí)率,設(shè)定網(wǎng)絡(luò)學(xué)習(xí)率的衰減因子為0.6,當(dāng)網(wǎng)絡(luò)loss函數(shù)接連兩次不下降時(shí),網(wǎng)絡(luò)的學(xué)習(xí)率會(huì)自動(dòng)調(diào)整為原來(lái)的60%,以助于網(wǎng)絡(luò)的loss函數(shù)跳出局部最優(yōu)解。改進(jìn)前與改進(jìn)后網(wǎng)絡(luò)訓(xùn)練的loss與測(cè)試集的val_loss結(jié)果如圖7~圖10所示。
由圖7和圖9可以看出,改進(jìn)前的YOLOv3的訓(xùn)練集的loss圖像在第60次迭代后loss函數(shù)變動(dòng)不大逐漸走向穩(wěn)定,最終收斂于10.31,測(cè)試集的val_loss圖像在經(jīng)過(guò)80次迭代后逐步穩(wěn)定,最終收斂于11.62。由圖8和圖10可以看出,改進(jìn)后的YOLOv3模型的測(cè)試集loss圖像在第30次迭代后逐步穩(wěn)定,最終收斂于2.95,訓(xùn)練集的val_loss在第50次迭代后逐步穩(wěn)定,最終收斂于3.162。通過(guò)試驗(yàn)結(jié)果對(duì)比可以得出,改進(jìn)后的YOLOv3模型能更快的收斂,且收斂效果更佳。
圖7 傳統(tǒng)YOLOv3 loss曲線Figure 7 Traditional YOLOv3 loss curve
圖8 改進(jìn)后YOLOv3 loss曲線Figure 8 The improved YOLOv3 loss curve
圖9 傳統(tǒng)YOLOv3 val_loss曲線Figure 9 Traditional YOLOv3 val_loss curve
圖10 改進(jìn)后YOLOv3 val_loss曲線Figure 10 Improved YOLOv3 val_loss curve
使用同樣的數(shù)據(jù)集,同樣的測(cè)試集樣本輸入至YOLOv3、Faster-rcnn、YOLOv4、Efficientdet與文中算法中,其在經(jīng)100次迭代后,輸入訓(xùn)練模型,分別選取訓(xùn)練好的模型參數(shù)載入模型網(wǎng)絡(luò),通過(guò)準(zhǔn)確率與召回率曲線覆蓋面積的比率(mAP)、準(zhǔn)確率(Precision)、召回率(Recall)來(lái)衡量模型結(jié)構(gòu),如式(8)所示,其值越高,網(wǎng)絡(luò)的識(shí)別效果越好。YOLOv3與文中算法對(duì)比如圖11所示,對(duì)比分析發(fā)現(xiàn)文中算法其mAP提升7.02%,準(zhǔn)確率提升2.02%,回歸率提升11%。
圖11 傳統(tǒng)YOLOv3與改進(jìn)YOLOv3識(shí)別結(jié)果Figure 11 Traditional YOLOv3 and improved YOLOv3 recognition results
(8)
式中:
R——樣本召回率,%;
P——樣本準(zhǔn)確率,%;
TP——被判為正類的正類;
FP——正類的負(fù)類;
FN——負(fù)類的正類。
測(cè)試結(jié)果如表2所示。由表2可知:在模型的識(shí)別性能上,YOLOv4與改進(jìn)的YOLOv3模型的準(zhǔn)確率與召回率曲線覆蓋面積的比率(mAP)、準(zhǔn)確率、回歸率,明顯優(yōu)于傳統(tǒng)YOLOv3、Faster-rcnn與Efficientdet模型;在模型權(quán)重大小上,改進(jìn)后的算法與Efficientdet相對(duì)輕量化,大幅提高了網(wǎng)絡(luò)的可移植性,減少后期工程應(yīng)用中對(duì)設(shè)備的配置要求,具有一定的經(jīng)濟(jì)效應(yīng);在識(shí)別速率上,改進(jìn)后的算法與YOLOv3、Faster-rcnn、YOLOv4、Efficientdet的識(shí)別速率(FPS)差值分別為+1、+6、+3、-1。通過(guò)表2的試驗(yàn)結(jié)果綜合對(duì)比分析,在識(shí)別速率與模型輕量化上,Efficientdet與改進(jìn)后的算法存在明顯的優(yōu)勢(shì),但Efficientdet的識(shí)別效果相對(duì)較差;在識(shí)別的準(zhǔn)確度上,改進(jìn)后的算法在準(zhǔn)確度與回歸值的對(duì)比中分別高出YOLOv4 1.16%,1.26%。出于工程實(shí)際的需求,復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)需要配置性能更加優(yōu)異的煙梗識(shí)別工作站,從模型的可移植性、識(shí)別速率、識(shí)別效果、工程中的經(jīng)濟(jì)效應(yīng)來(lái)考慮,改進(jìn)后的YOLOv3模型更加適用于智能煙葉分級(jí)系統(tǒng)的布置。
表2 煙梗識(shí)別模型對(duì)比Table 2 Comparison of tobacco stem recognition models
為方便以后煙梗的抓取工作通過(guò)BOX的坐標(biāo)定位煙梗位置坐標(biāo)Xmin、Ymin、Xmax、Ymax,輸出煙梗的中心位置坐標(biāo)Y如式(9)所示,其識(shí)別結(jié)果如圖12所示。
圖12 改進(jìn)模型識(shí)別圖Figure 12 Improved model recognition diagram
Y=[(Xmax-Xmin)/2+Xmin,(Ymax-Ymin)/2+Ymin]。
(9)
命名識(shí)別率為0.57的框圖為Box1,同理識(shí)別率為0.73,0.55,0.88分別為Box2,Box3與Box4,其煙梗中心輸出結(jié)果如表3所示。
表3 識(shí)別輸出坐標(biāo)Table 3 Identify Output Coordinates
提出了一種改進(jìn)的YOLOv3的煙梗識(shí)別定位檢測(cè)算法,經(jīng)專家選取代表性煙葉制作數(shù)據(jù)樣本,在數(shù)據(jù)源頭上提高模型的性能,訓(xùn)練后得到的煙梗檢測(cè)模型優(yōu)于YOLOv3、Faster-rcnn、YOLOv4、Efficientdet等煙梗識(shí)別定位模型,能在對(duì)智能煙葉分類平臺(tái)硬件需求配置最低的基礎(chǔ)上,滿足回歸率、準(zhǔn)確率、準(zhǔn)確率與召回率曲線覆蓋面積的比率的需求,具有較好的實(shí)用性與經(jīng)濟(jì)性。由于不同煙葉產(chǎn)地?zé)熑~樣本同等級(jí)之間個(gè)體差異巨大,自主采集,制作煙葉樣本數(shù)據(jù)集存在一定難度,對(duì)模型的驗(yàn)證實(shí)驗(yàn)的不同產(chǎn)地的樣本太少,存在一定的誤檢率,后續(xù)工作中將提高不同產(chǎn)地的煙葉樣本的采集,進(jìn)一步提高模型的泛化能力。