劉新宇 郝同盟 張紅濤 逯芯妍
(華北水利水電大學電力學院,河南 鄭州 450011)
煙葉分級是根據烤煙的外觀質量特征,如煙葉的部位、顏色、成熟度、身份、油分等多種特征來分級[1-3]。目前,煙葉分級系統的難點之一在于對不同姿態、不同等級、不同產地煙梗部位的精準識別。煙葉含梗率是指煙葉中煙梗占有的比例,含梗率與煙梗粗細、葉片厚薄有關。部位不同含梗率差異很大(下部最高,中部次之,上部最低[4])。烤煙含梗率一般約為25%。含梗率高低影響著煙葉的使用價值,反映煙葉可用性大小。傳統煙葉分級主要依靠專家經驗,依靠人的感官來判斷煙葉的品級,效率低,成本高,很難保證煙葉分級的客觀性和正確性,越來越無法滿足煙草行業對煙葉質量的要求。此外,由于烤煙的特性,經過烤煙收集上來的煙葉由于煙油等因素的影響往往會粘連在一起,給煙葉分級智能化帶來了不利影響。
基于機器學習技術的發展與計算機算力的不斷提升,利用機器學習對農業進行輔助生產成為了卷煙生產、加工的新方向[4-7]。朱文魁等[8]采用低能X射線透射成像,結合形態學濾噪、灰度閾值分割等方法對煙梗識別率達到94.5%。崔云月等[9]基于BP神經網絡利用煙梗的灰度占比作為輸入實現了誤差為3.91%的煙梗長短檢測率。宋洋等[10]利用MPC08SP四軸運動控制卡,基于Visual C++底層控制程序實現了煙把的智能定位。席建平等[11]利用煙葉、煙梗在X光下的透射率不同的特性,基于FPGA圖像處理實現了90%的煙梗檢測率。湯龍[12]采用高功率紅外透射光源,基于灰度算法實現了檢測率82%的煙梗檢測。鄭茜等[13]基于高頻低強度震動技術,以高頻低強度激振力實現分選篩的往復運動實現了煙梗的選篩。上述煙梗識別模型都借用了傳統機器學習識別手段,其大多數根據煙梗在高能量光線下透視的物理特性來輔助煙梗的檢測識別,當下關于煙梗識別的研究關注點在于卷煙加工生產過程中的煙梗的剔除,雖都提高了檢測的精度,但未提高檢測效率。因為目前煙草行業的智能煙葉分級項目處于研發且保密階段。公開的煙梗定位研究資料較少,而眾多文獻對于煙葉智能分級系統的關注點都在于對單片煙葉的分類識別,對煙梗識別定位缺乏一定的關注。
試驗擬以YOLOv3為基礎網絡,在主干網絡引入新的單元模塊以增強網絡的特征提取,使用Swish激活函數提高語義信息的利用來提高網絡精度,通過卷積網絡視覺處理來提高煙梗檢測的準確率與檢測效率,以期為煙葉智能化分級提供先決條件。
目標檢測算法主要分為兩大類別,一類是兩階段的目標檢測器,即基于候選區域的目標檢測,另一類是單階段的目標檢測器,即將目標檢測任務作為回歸處理的檢測算法[9-13]。YOLO系列算法是在RCNN的基礎上提出來的,屬于典型的單目標檢測算法,其優點是省略了候選區域生成的步驟,通過檢測目標的位置輸入,將目標分類與位置回歸問題融合到一個卷積網絡中,提高了目標檢測的速度,增強其工程應用性[14-16]。YOLOv3網絡是在YOLOv2的網絡結構基礎上改進而來的,其將YOLOv2的主干特征提取網絡由Darknet-19更換為效果更好的Darknet-53。YOLOv3的結構圖如圖1所示,其特征提取模塊由Darknet-53網絡與多尺度融合模塊構成,通過Darknet-53主干網絡對輸入圖像的特征壓縮,分別提取經過壓縮3次,4次,5次作為后續網絡的輸入,得到13×13,26×26,52×52 3個不同大小尺度的特征圖。為了提取更多有效的特征信息YOLOv3通過上采樣的方式,將52×52與26×26的特征圖進行融合,同時將26×26與13×13的特征圖進行融合。通過交互層進行特征融合構建特征金字塔模型,提取更深層次的語義信息,有利于提高網絡的檢測精度。

圖1 YOLOv3網絡結構Figure 1 YOLOv3 network structure
卷積網絡中通過加深網絡層數,與加寬網絡結構來提升網絡的整體性能,但層數的增加往往伴隨著特征信息的高度提煉與丟失[17-20]。針對在網絡訓練過程隨著網絡層數增加梯度消失問題,DenseNet網絡如圖2所示,其引入DenseBlock模塊,DenseBlock模塊的使用使網絡每層計算量減少,特征得以重復利用。DenseNet使一層的輸入直接影響到之后的所有層,提高網絡的特征信息的利用,其輸出為:

圖2 DenseNet網絡結構Figure 2 DenseNet network structure
Xn=Hn([X0,X1,…,Xn-1]),
(1)
式中:
[X0,X2,…,Xn-1]——特征圖像(feature map)以通道維度合并后的特征圖;
Hn——特征拼接函數;
Xn——經特征拼接后的特征圖。
DenseNet-53主要有兩個特性:① 在一定程度上減輕在訓練過程中梯度消散的問題。在反傳時每一層都會接收其后所有層的梯度信號,不會隨著網絡深度的增加,靠近輸入層的梯度會變得越來越小。② 由于大量的特征被復用,使得使用少量的卷積核就可以生成大量的特征,最終模型的參數也會減少,有利于提高網絡的識別速度。
在傳統YOLOv3網絡結構中使用Leakyrelu激活函數如式(2),Leakyrelu的作用在于反向傳播過程中,對于LeakyReLU激活函數輸入小于零的部分,也可以計算得到梯度避免上述梯度方向鋸齒問題,但如圖3所示,隨著輸入的負值越大,其影響逐漸增大。其對樣本的訓練精度的影響會增大,為避免負樣本的影響率過大的問題,使用Swish激活函數如式(3),如圖3所示其相對Leakyrelu激活函數在X負無窮方向更加平滑且在保證有負樣本輸入的前提下,弱化了其對網絡整體的影響,允許信息深入網絡,提高網絡精度。

圖3 激活函數Figure 3 Activation function

(2)
f(x)=x×[1/(1+e-x)]。
(3)
DenseNet-53中的Dense Block由Bottleneck模塊構成,如圖4所示,將原有的Bottleneck模塊結構替換為如圖5所示的結構單元,使用Swish激活函數,在經過DepthwiseConv2D升維后,增加了一個關于通道的注意力機制,利用自注意力機制,可以在模型訓練和預測過程中實現全局參考,最后利用1×1卷積降維后增加一個大殘差邊。利用殘差神經網絡增大神經網絡的深度,通過更深的神經網絡實現特征提取。

圖5 文中使用模塊算法流程Figure 5 This article uses module algorithm flow
D=C?Z,
(4)
式中:
D——經注意力機制輸出的特征圖;
Z——輸入X經過CV2D卷積核、BN層與Swish激活等網絡結構的輸出;
C——以Z為輸入經過如圖4所示的模塊化卷積、BN層的輸出;

圖4 Bottleneck模塊算法流程Figure 4 Bottleneck module algorithm flow
?——矩陣元素點成。
注意力機制將特征圖像(feature map)中的每個像素作為一個隨機變量,計算所有像素點之間配對的協方差,根據每個預測像素在圖像中與其他像素之間的相似性來增強或減弱每個預測像素的值,在訓練和預測時使用相似的像素,忽略不相似的像素,其原理如式(5)~式(7)。
(5)
(6)
(7)
X、Y——隨機變量;


Cov(X,Y)——隨機變量X、Y的協方差。
采集設備來源中國煙草總公司職工進修學院,煙葉樣本采集器如圖6所示。

1.高清工業線陣數字相機 2.專業鏡頭 3.高顯色性LED光源 4.煙葉放置平臺 5.試驗平臺 6.滑輪 7.工作站級計算機及iPad 8.高顯色性LED光源控制器圖6 煙葉樣本采集器Figure 6 Tobacco leaf sample collector
試驗共收集到2 500張煙葉樣本,經過專家挑選各個地區的代表樣本,來自不同地區的42個煙葉樣本等級。
煙梗數據集通過Pycharm環境下labelImg制作,其包含多類數據格式文件,樣本集使用PascalVOC格式制作標簽文件,主要標注信息包含煙梗的位置與部位名稱。將制作好的標簽文件存放到Annotations文件夾中,將樣本圖集存入JPEGImages文件夾中。為便于試驗,將煙葉樣本圖像統一變更為416×416像素大小。其中250張樣本作為驗證集,1 575張樣本圖片作為訓練集,675張樣本作為測試集,驗證集與訓練集與測試集樣本比例為10∶63∶27。訓練集與測試集符合7∶3的比率,采用數據增強的方法提高網絡的泛化能力,包括反轉180°,亮度調整,圖片拉伸等。
康復機器人具有不同的康復訓練模式,可以適應不同患者以及患者在不同恢復階段的不同情況。患者主動發起的模式考慮到了患者的意圖和主動參與的能力,較被動模式更有效。許多的證據證明這種患者-機器人互動的模式對促進患者的恢復非常有效。機器人可以感受到患者的狀態并且根據患者的不同狀態進行順應性的匹配,同時,“按需輔助”的理念在機器人輔助康復中也得到較好的貫徹,機器人只為患者提供必需的輔助以便鼓勵患者得到最大程度的參與[11]。
試驗在Intel I510400f處理器,基礎頻率2.9 GHz,6核12線程,內存16 G,顯卡為華碩的1660s的PC上,在Windows系統下利用Pycharm框架進行訓練。訓練所設置參數如表1所示。

表1 部分試驗參數Table 1 Some experimental parameters
從標記的樣本中選取1 575張作為訓練集,675張樣本作測試集,改進前與改進后的模型參數統一設置,從零開始訓練,將改進前與改進后的模型做對比試驗,訓練卷積層,全連接層與池化層根據損失函數不斷自動反向調整網絡結構模型參數,最后到達一個loss函數的極小值點,訓練時通過Adam算法優化初始學習率,設定網絡學習率的衰減因子為0.6,當網絡loss函數接連兩次不下降時,網絡的學習率會自動調整為原來的60%,以助于網絡的loss函數跳出局部最優解。改進前與改進后網絡訓練的loss與測試集的val_loss結果如圖7~圖10所示。
由圖7和圖9可以看出,改進前的YOLOv3的訓練集的loss圖像在第60次迭代后loss函數變動不大逐漸走向穩定,最終收斂于10.31,測試集的val_loss圖像在經過80次迭代后逐步穩定,最終收斂于11.62。由圖8和圖10可以看出,改進后的YOLOv3模型的測試集loss圖像在第30次迭代后逐步穩定,最終收斂于2.95,訓練集的val_loss在第50次迭代后逐步穩定,最終收斂于3.162。通過試驗結果對比可以得出,改進后的YOLOv3模型能更快的收斂,且收斂效果更佳。

圖7 傳統YOLOv3 loss曲線Figure 7 Traditional YOLOv3 loss curve

圖8 改進后YOLOv3 loss曲線Figure 8 The improved YOLOv3 loss curve

圖9 傳統YOLOv3 val_loss曲線Figure 9 Traditional YOLOv3 val_loss curve

圖10 改進后YOLOv3 val_loss曲線Figure 10 Improved YOLOv3 val_loss curve
使用同樣的數據集,同樣的測試集樣本輸入至YOLOv3、Faster-rcnn、YOLOv4、Efficientdet與文中算法中,其在經100次迭代后,輸入訓練模型,分別選取訓練好的模型參數載入模型網絡,通過準確率與召回率曲線覆蓋面積的比率(mAP)、準確率(Precision)、召回率(Recall)來衡量模型結構,如式(8)所示,其值越高,網絡的識別效果越好。YOLOv3與文中算法對比如圖11所示,對比分析發現文中算法其mAP提升7.02%,準確率提升2.02%,回歸率提升11%。

圖11 傳統YOLOv3與改進YOLOv3識別結果Figure 11 Traditional YOLOv3 and improved YOLOv3 recognition results
(8)
式中:
R——樣本召回率,%;
P——樣本準確率,%;
TP——被判為正類的正類;
FP——正類的負類;
FN——負類的正類。
測試結果如表2所示。由表2可知:在模型的識別性能上,YOLOv4與改進的YOLOv3模型的準確率與召回率曲線覆蓋面積的比率(mAP)、準確率、回歸率,明顯優于傳統YOLOv3、Faster-rcnn與Efficientdet模型;在模型權重大小上,改進后的算法與Efficientdet相對輕量化,大幅提高了網絡的可移植性,減少后期工程應用中對設備的配置要求,具有一定的經濟效應;在識別速率上,改進后的算法與YOLOv3、Faster-rcnn、YOLOv4、Efficientdet的識別速率(FPS)差值分別為+1、+6、+3、-1。通過表2的試驗結果綜合對比分析,在識別速率與模型輕量化上,Efficientdet與改進后的算法存在明顯的優勢,但Efficientdet的識別效果相對較差;在識別的準確度上,改進后的算法在準確度與回歸值的對比中分別高出YOLOv4 1.16%,1.26%。出于工程實際的需求,復雜的網絡結構需要配置性能更加優異的煙梗識別工作站,從模型的可移植性、識別速率、識別效果、工程中的經濟效應來考慮,改進后的YOLOv3模型更加適用于智能煙葉分級系統的布置。

表2 煙梗識別模型對比Table 2 Comparison of tobacco stem recognition models
為方便以后煙梗的抓取工作通過BOX的坐標定位煙梗位置坐標Xmin、Ymin、Xmax、Ymax,輸出煙梗的中心位置坐標Y如式(9)所示,其識別結果如圖12所示。

圖12 改進模型識別圖Figure 12 Improved model recognition diagram
Y=[(Xmax-Xmin)/2+Xmin,(Ymax-Ymin)/2+Ymin]。
(9)
命名識別率為0.57的框圖為Box1,同理識別率為0.73,0.55,0.88分別為Box2,Box3與Box4,其煙梗中心輸出結果如表3所示。

表3 識別輸出坐標Table 3 Identify Output Coordinates
提出了一種改進的YOLOv3的煙梗識別定位檢測算法,經專家選取代表性煙葉制作數據樣本,在數據源頭上提高模型的性能,訓練后得到的煙梗檢測模型優于YOLOv3、Faster-rcnn、YOLOv4、Efficientdet等煙梗識別定位模型,能在對智能煙葉分類平臺硬件需求配置最低的基礎上,滿足回歸率、準確率、準確率與召回率曲線覆蓋面積的比率的需求,具有較好的實用性與經濟性。由于不同煙葉產地煙葉樣本同等級之間個體差異巨大,自主采集,制作煙葉樣本數據集存在一定難度,對模型的驗證實驗的不同產地的樣本太少,存在一定的誤檢率,后續工作中將提高不同產地的煙葉樣本的采集,進一步提高模型的泛化能力。