李亞召,云利軍,葉志霞,王 坤,翟乃琦
(云南師范大學信息學院,云南 昆明 650500)
煙葉生產過程一般需要經過初烤、分級、收購、包裝、醇化和在線精選等一系列過程,而醇化又直接影響煙葉的品質,所以煙葉醇化是卷煙生產過程中至關重要的環節。由于煙葉醇化環節需要經過2年左右的時間,而在煙葉醇化儲藏的過程中,醇化煙葉容易受環境溫度、濕度波動的影響而產生霉變[1 - 3]。醇化后的煙葉中含有一些雜物和霉變煙葉,為了達到煙葉打葉制絲環節原料純凈度的質量要求,一般要對醇化后的煙葉進行在線精選。現在常用的煙葉在線精選技術主要是風選除雜技術[4,5],此技術主要用于煙葉生產中非煙葉類的雜物檢測剔除。在霉變煙葉控制方面主要采用的是人工在線手工剔除的方式,該方式存在效率低下、容易漏檢等缺點。
隨著計算機技術、圖像處理技術和機器視覺技術的快速發展,使用傳統機器視覺在線精選霉變煙葉的技術已經得到研究和開發[6,7],主要是利用圖像處理技術獲取煙葉的顏色和紋理等特征,再利用人工神經網絡集成算法進行樣本訓練、學習和分類。傳統機器視覺技術需要人工分析和設計提取的特征,因此提取的特征存在偏差性和主觀性,所以存在過程復雜和準確率不夠高等缺點。而深度學習中的卷積神經網絡CNN(Convolutional Neural Network)通過使用權值共享、局部連接和非線性激活等方式,可以在樣本數據中自動學習特征,相對于傳統機器學習而言具有更強大的特征學習和表達能力。并且卷積神經網絡在玉米、大豆、水果和花朵等農產品精選分級和分類方面的研究和應用也越來越多[8 - 11]。近年來,在煙葉分級方面,利用卷積神經網絡的方法已經得到關注和研究[12]。
由于霉變煙葉的霉變特征比較復雜多變,一般是易結成團塊狀,顏色呈暗褐色,在煙葉表面的霉變區域中不同程度地分布著不同顏色的點狀、斑塊狀的霉點或者霉斑。如果使用傳統的圖像處理分類技術,人工提取霉變煙葉特征的過程會比較復雜繁瑣,而且人為選擇和設計提取特征也存在偏差性和主觀性。基于此,本文利用卷積神經網絡可以在樣本數據中自動學習特征和擁有更強大特征學習和表達能力的優點,搭建了一個針對霉變煙葉與正常煙葉圖像分類的卷積神經網絡模型,通過卷積神經網絡CNN對霉變煙葉照片與正常煙葉照片的圖像特征進行提取,再對這2種煙葉圖像進行分類模型訓練,最后實現霉變煙葉的識別與檢測。
本文所選用的研究對象是醇化后的正常煙葉葉片和霉變煙葉葉片,煙葉產區為云南省曲靖市。由于本文以判斷煙葉是否發生霉變為研究對象,根據煙葉是否霉變將煙葉分為2類:正常煙葉和霉變煙葉。首先需要手工分離出醇化后煙葉葉片中的霉變煙葉葉片和正常煙葉葉片,然后通過使用FUJIFILM X-A3設備來采集煙葉圖像數據。此設備采集的圖像尺寸為6000×4000,輸出的文件格式為PNG 。霉變煙葉的主要特點是易結成團塊狀、煙葉葉片色澤呈暗褐色、煙葉葉片上分布不同程度的霉點和霉斑。圖1和圖2所示分別為采集的典型霉變煙葉圖像和正常煙葉圖像。

Figure 1 Moldy tobacco leaves

Figure 2 Normal tobacco leaves
由于采集圖像太大且醇化后的煙葉霉變程度一般都是輕度或者中度,煙葉霉變區域一般集中在整片煙葉的某一局部區域,為了使得圖像霉變特征較為明顯,有利于模型對圖像特征進行學習,本文使用OpenCV技術中的PartitionImage函數把原6000×4000的煙葉葉片圖像按照10×10均等分割成尺寸為600×400的小圖像;然后使用人工手動挑選的方式把圖像中含有霉點、霉斑和變成黑褐色的煙葉圖像挑選出來;最后把這些挑選出來的霉變煙葉圖像和正常煙葉圖像統一制作成數據集,用于實驗。數據集中含有正常煙葉圖像和霉變煙葉圖像各5 000幅,總共有10 000幅煙葉圖像,隨機選擇其中的7 000幅圖像用于訓練,剩下3 000幅圖像用于測試。圖3和圖4分別給出了煙葉圖像預處理之后的霉變煙葉圖像和正常煙葉圖像。

Figure 4 Normal tobacco leaves after pretreatment

Figure 5 Structure of CNN-MY model
由于霉變煙葉的霉變特征具有復雜性和多樣性,本文針對霉變煙葉圖像與正常煙葉圖像分類問題提出了一種針對霉變煙葉的堆疊式的卷積神經網絡模型CNN-MY(Convolutional Neural Networks-Moldy Tobacco)。該卷積神經網絡模型擁有上中下3個分支,通過使用不同大小的卷積核成階梯狀逐步對圖像特征進行提取和匯總。中分支是該卷積神經網絡模型的主要軀干,擁有4個卷積核為3×3的卷積層、4個池化核為2×2的池化層、2個Dropout率為0.6的Dropout層、2個激活函數、3個用來修正線性激活的全連接層和1個log_Softmax(分類網絡)輸出層。上分支是由1個卷積核為7×7的卷積層、1個池化核為2×2的池化層和1個卷積核為5×5的卷積層組成;從中分支的第1個池化層之后開始分支,直到中分支的最后一個池化層后開始進行特征融合。下分支是從輸入層開始進行分支(擁有1個卷積核為3×3的卷積層、1個池化核為2×2的池化層、1個卷積核為2×2的卷積層和1個激活函數),到中分支的第2個卷積層之后進行特征融合和篩選。采用這種方式搭建卷積神經網絡模型可以使模型既保持網絡結構的稀疏性,又具有密集矩陣的高計算性能。通過3個分支中不同尺寸的(3×3,4×4,7×7等)小型卷積將相關性很高的節點連接在一起,這樣得到的稀疏結構模型比較高效,更有利于減少卷積神經網絡中的冗余特征。該卷積神經網絡的結構如圖5所示。
卷積神經網絡與其它神經網絡相比較,不同的地方在于其包含一個由卷積層和池化層組成的特征提取器。卷積層的主要作用是對圖像特征進行初步提取,卷積層具有局部連接、感受視野和參數共享等特性。
局部連接的主要特點是處理二維面(寬度和高度)和深度維度上的不對稱性,在二維面上是局部連接(沿著寬度和高度)的,然而隨著模型深度的增加,輸入的激活量幾乎都是全連接的。
感受野(Receptive Field)的大小主要與卷積核的尺寸有關,通常情況下卷積核越大,感受野越大,這樣可以看到更多的圖像信息,從而可以獲得更好的圖像特征。但是,大的卷積核會使模型計算量暴增,對模型深度的增加會有很大的影響,模型的計算性能也會降低。所以,本文提出的CNN-MY模型在卷積層中使用了尺寸不同的卷積核,這樣可以獲得不同尺度的特征,最后再把這些特征篩選匯總起來,得到的特征往往比使用單一卷積核的模型要好。感受野的計算公式如式(1)所示:
RFl+1=(RFl+kernelsizel+1-1)×
dilationl+1×stridel
(1)
其中,RFl+1表示當前卷積層(l+1層)感受野的大小,RFl表示上一卷積層感受野的大小,kernelsizel+1表示當前卷積層卷積核的大小,dilationl+1表示當前卷積層的空洞率,stridel表示上一層卷積的步長。
在卷積層使用參數共享可以有效地減少參數的個數,這樣之所以能夠行得通,是因為卷積神經網絡中卷積核具有權值共享的特性,也就是說相同的卷積核能夠檢測出不同位置的相同特征。因為卷積層的參數共享,所以輸出的數據在深度切片上都使用同一個權重向量,那么卷積層在向前傳播的過程中,每個深度切片都可以看成是神經元的權重對輸入數據做卷積。
在卷積神經網絡中,池化層往往位于2個卷積層之間。池化層的主要作用有以下2個方面:(1)在參數矩陣尺寸的縮小方面具有很好的效果,可以減少最后全連接層的參數數量。(2)可以加快模型的計算速度和防止出現過擬合現象。卷積神經網絡模型池化層常用的2種池化方式分別是均值子池化(Average-Pooling)和最大值子池化(Max-Pooling)。均值子池化的特點是對數據進行下采樣,減少鄰域大小受限造成估計值方差增大的誤差,進而更好地保留圖像的背景信息。而最大值子池化的特點是對數據進行下采樣,減少卷積層參數誤差造成估計均值的偏移誤差,進而更好地保留圖像的紋理信息。而且最大值子池化對圖像特征進行了選擇,可以選出分類識別度更好的圖像特征。由于霉變煙葉葉片和正常煙葉葉片的顏色和紋理特征具有復雜性和多樣性,所以本文搭建的CNN-MY的池化層選用的是最大值子池化方式,這樣可以更好地提取和刻畫霉變煙葉和正常煙葉的紋理信息及細微變化。
激活函數(Activation Function)的作用是在運行時激活神經網絡中的某一部分神經元,將激活信息向后傳入下一層神經網絡。激活函數的主要特點是加入了非線性因素,加強了線性模型的表達能力,利用函數的保留特點把“激活的神經元的特征”傳遞到下一層。神經網絡中常見的激活函數有Sigmoid、Tanh和ReLU這3種,其中Sigmoid激活函數具有函數輸出映射在(0,1)內單調連續,比較容易求導的優點,適合應用于輸出層。但是,Sigmoid激活函數擁有軟飽和性,所以Sigmoid激活函數的輸入一旦落入飽和區,Sigmoid函數值就會接近于0,容易產生梯度消失的問題。與Sigmoid激活函數相比,Tanh激活函數雖然也具有軟飽和性,但是它的輸出是以0為中心,收斂速度也就比Sigmoid快,該函數的缺點是仍然無法解決梯度消失的問題。與以上2種激活函數相比較,ReLU[13]激活函數擁有可緩解梯度消失,提高收斂速度,提供卷積神經網絡的稀疏表達能力,加快計算等特點。基于此,本文提出的CNN-MY模型選用ReLU激活函數作為激活函數。RelU函數的計算公式如式(2)所示:

(2)
對于卷積神經網絡來說,輸出層一般都是分類器層,它的主要功能是對目標進行分類。卷積神經網絡的輸出層一般選用Softmax分類器[14,15]。Softmax接收上一層全連接層的實數向量,輸出的也是實數向量,只不過輸出的實數向量的每一個值表示的是這個樣本屬于每個類的概率。輸出的實數向量的每個值的大小都在0~1。Softmax的表達式如式(3)所示:
(3)
其中,aj表示第j個輸出節點的輸出值,K表示輸出節點的個數,即分類的類別個數。
由于Softmax求出來的概率分布中每一個概率值都在0~1,這樣就會出現有些概率過小,導致下溢的現象。考慮到該概率分布總歸是要經過交叉熵函數(Cross Entropy)的,而交叉熵函數的工作原理就是直接在計算概率分布的時候求對數,把概率從0~1變為-∞~0,這樣就能防止下溢現象出現。由于log_Softmax可以將本來應該由交叉熵函數完成的求對數工作提前到預測概率分布中完成,跳過了中間的存儲步驟,可防止中間數值下溢,加快了運算速度且使得數據更加穩定。所以,本文搭建的CNN-MY卷積神經網絡模型在輸出層使用的是log_Softmax。
本文實驗的實驗環境是Windows 7系統+PyTorch+Python 3.6,使用型號為GTX1650的GPU對卷積運算進行加速。本次實驗使用自己制作的數據集。首先搭建CNN-MY模型,模型網絡結構圖如圖5所示。在完成模型搭建之后使用自制數據集中的訓練集進行訓練,在訓練的過程中不斷對模型超參進行調整,主要是對模型的Dropout率和學習率進行調整和調試。Dropout技術主要用來防止模型對訓練集過度擬合,從而使模型達到最好的效果。通過不斷地調試與實驗,最終確定當Dropout率為0.6和學習率為0.006時模型效果最佳。為了可以更直觀和簡便地看出訓練集和驗證集的準確率,本文實驗調用了PyTorch的可視化工具Tensorboardx,主要是將模型訓練后的數據進行保存并上傳到Tensorboardx,Tensorboardx在模型訓練時將準確率對應點坐標數據上傳至.csv文件,隨著迭代步數增加,繪制訓練集和驗證集的準確率變化曲線圖。
根據曲線圖的變化可以更直觀地看出本文實驗的準確率和模型效果。
本文實驗基于5折交叉驗證、1 050個epoch實現,并進行多次實驗,實驗結果如圖6和圖7所示。

Figure 6 訓練集準確率的曲線圖

Figure 7 Curve of accuracy of validation set
從圖6中的訓練集準確率曲線圖可以看出,迭代步數在0~500時,曲線的變化幅度比較明顯,訓練中的準確率在不斷上升。迭代步數在500~1050時,訓練集準確率曲線變化幅度越來越小。但是,由于本文采用的是小批量梯度下降法,因此從訓練集準確率的整個曲線圖可以看出,訓練集準確率曲線不是一條光滑的線性曲線,一直都在震蕩。由于模型在前期正處于學習階段,所以曲線前期的變化幅度會比較大。后期隨著迭代次數的增加,模型在不斷收斂、不斷朝著最優解擬合,最后模型收斂,所以后期曲線幅度變化逐漸變小。圖7所示的驗證集準確率的曲線圖與訓練集準確率的曲線圖變化規律相似。迭代步數在0~500時,驗證集準確率的曲線圖變化幅度明顯。迭代步數在500~1050時,驗證集準確率的曲線圖變化不再特別明顯,并逐漸穩定在某一區間內。通過分析訓練集和驗證集準確率曲線的變化可以看出,本文提出的CNN-MY模型沒有出現過擬合和欠擬合現象。
傳統機器視覺進行圖像分類往往需要復雜的特征提取,針對傳統圖像分類技術,如表1所示,對于SVM圖像分類方法和KNN圖像分類方法,主要過程是首先提取圖像的HOG(Histogram of Oriented Gradient)特征,然后使用基于支持向量機SVM的算法和基于KNN的算法進行圖像分類。與傳統SVM和KNN相比,卷積神經網絡不需要復雜的特征工程還擁有更強大的特征學習和表達能力。為了進一步說明本文針對霉變煙葉圖像與正常煙葉圖像分類問題搭建的卷積神經網絡模型CNN-MY的有效性,本節將其與經典的卷積神經網絡圖像分類模型AlexNet網絡和VGG16網絡進行對比實驗。接下來通過使用本文建立的數據集對這5種方法分別進行了實驗:
(1)HOG+SVM圖像分類方法,首先把數據集中的霉變煙葉作為正樣本,正常煙葉作為負樣本,然后采集正負樣本的HOG特征建立特征工程,再使用LIBSVM[16]進行圖像分類,它的運算速度快、運用靈活、輸入參數少,可以很方便地對數據做分類或回歸。
(2)HOG+KNN圖像分類方法,首先把數據集中的霉變煙葉作為正樣本,正常煙葉作為負樣本,然后采集正負樣本的HOG特征建立特征工程。針對KNN算法,本文采用的是sklearn封裝好的KNeighborsClassifier函數,其中K值設定為3。
(3)針對經典的卷積神經網絡圖像分類網絡模型AlexNet,本文實驗選取的批處理大小(batch_size)為64,時鐘時期數(epoch)為1 050個。
(5)針對本文搭建的卷積神經網絡模型CNN-MY,堆疊了多個卷積層,使用隨機梯度下降SGD(Stochastic Gradient Descent)優化算法進行優化,本文實驗選取的批處理大小(batch_size)為64,時鐘時期數(epoch)為1 050個。
最終實驗得到的準確率、運行時間和F1分數如表1所示。
由表1可以看出,在對霉變煙葉圖像和正常煙葉圖像進行分類識別時,在同一數據集上本文搭建的CNN-MY模型的準確率明顯高于2種傳統圖像分類方法和2種經典卷積神經網絡圖像分類模型的準確率。在運行時間方面,雖然卷積神經網絡模型的時間明顯高于2種傳統圖像分類方法的,但是傳統圖像分類方法在進行分類之前需要大量的時間進行特征工程的建立。

Table 1 Accuracy,running time and
由于F1分數是準確率和召回率的調和均值,表示的是算法的綜合性能,而且取值范圍為0~1,值越大表示算法性能越好。從表1中可以看出,本文搭建的CNN-MY模型的F1分數明顯高于2種傳統圖像分類方法和2種經典卷積神經網絡圖像分類模型的。基于以上可以得出,本文針對霉變煙葉圖像與正常煙葉圖像分類問題提出的卷積神經網絡模型CNN-MY的準確率和穩定性明顯優于2種傳統圖像分類方法和2種經典卷積神經網絡圖像分類模型的。
而且卷積神經網絡模型的主要特點是可以自動提取圖像特征,并自動對圖像特征進行篩選、提取和整合匯總,最后實現圖像分類。運用卷積神經網絡模型可以避免傳統圖像識別方法中的手工選擇提取圖像特征的繁瑣操作,同時也可以克服手工提取圖像特征存在的偏差性和主觀性等缺點。本文針對霉變煙葉圖像與正常煙葉圖像分類問題提出的卷積神經網絡模型CNN-MY是一個擁有多個卷積層和池化層的深度學習模型,它可以自動提取、學習霉變煙葉圖像與正常煙葉圖像的有效圖像特征,進而可以提升圖像分類的準確率。這也是卷積神經網絡優于傳統圖像分類方法的主要原因。
針對霉變煙葉在線剔除主要依靠于手工的現狀和使用傳統圖像分類技術人工提取霉變煙葉特征的過程會比較復雜繁瑣等問題,本文提出了適用于霉變煙葉圖像和正常煙葉圖像分類識別的卷積神經網絡模型CNN-MY。在對自己制作的數據集進行預處理之后,將煙葉圖像輸入CNN-MY模型,在模型中進行多次卷積運算和池化操作,通過使用不同尺寸的卷積核進行卷積運算和池化操作獲取有用的圖像紋理特征和其他有效特征,最后通過輸出層進行圖像分類。實驗結果表明,本文方法的識別率高于傳統圖像分類方法和2種經典卷積神經網絡圖像分類模型的,識別準確率達到了96.12%。本文模型除了具有高準確率的優點外,還可以自動對圖像特征進行提取、篩選和整合匯總,避免了傳統圖像分類方法中的人工提取特征的復雜過程。
考察政府機構改革研究的核心學術團體和機構,設置核心期刊發文量在5篇以上的閾值,運行CiteSpace統計得到高產科研機構如圖2所示。在CSSCI和核心期刊數據庫中發表過政府機構改革的論文共涉及82個單位,呈現百家爭鳴、多點開花的局面,排名前三的有國家行政學院91篇、中國人民大學59篇和北京大學57篇,說明這三個研究單位在本課題有較強的科研實力與領域影響力,緊隨其后的有復旦大學、武漢大學、南開大學等科研單位。