潘 斌 韓 強 姚婭川
(1.四川輕化工大學自動化與信息工程學院,四川 自貢 643000;2.人工智能四川省重點實驗室,四川 自貢 643000;3.四川輕化工大學物理與電子工程學院,四川 自貢 643000)
中國白酒生產工藝中摘酒是非常重要的環節,目前絕大數酒廠摘酒多由工人憑借經驗按酒花進行分類,效率低下且分類不夠客觀、準確。為實現酒花自動分類,進一步實現自動化摘酒,國內外許多學者對代替人眼進行酒花分類開展了大量研究,趙平[1]設計了一種白酒量質摘酒過程中的圖像采集和傳輸裝置,避免了摘酒工需要進入生產車間,但仍然沒有消除摘酒過程中的人工干預。何盛國等[2]在白酒蒸餾的甑罐出口設置了酒精度、風味物質在線檢測儀器,完成分段摘酒。但該方法使用的在線檢測儀器價格昂貴,難以實現大規模的自動化摘酒。范明明[3]利用近紅外技術,開發了基于近紅外技術的白酒摘酒在線檢測裝置,取得了較好的試驗效果,但需要在白酒生產線上進行實用化試驗。余鍇鑫[4]提出了基于圖像分類算法的自動化摘酒方法研究,將深度學習引入到白酒摘酒環節,但受到了計算量的限制,分類速度緩慢。陳林等[5]提出酒精度重建模型配合分段摘酒裝置,通過音叉密度計建立基酒與酒精度模型的關系,來預測基酒酒精度。楊靜嫻等[6]提出基于圖像處理的白酒酒花輪廓檢測,采用模式識別的方式實現智能摘酒。
雖然目前已有酒企采用接觸式設備進行智能摘酒,脫離了人工摘酒,但設備價格昂貴、維護成本高、不易實現大規模生產。而非接觸式的機器視覺技術,因為成本低,方便快捷,易于大規模實現。研究擬提出基于卷積神經網絡的酒花分類方法,以期實現智能摘酒。
相同的溫度和壓強下,不同成分的酒會具有不同的黏度和表面張力,因此酒花會有所不同[7-8]。不同酒精度的基酒產生的酒花會不同即酒花與基酒酒精度有對應關系。酒花特征與酒精度的關系如表1所示。

表1 酒花特征與酒精度
目前中國沒有完整的酒花數據,需要人工采集,因此需要自行構建白酒酒花數據集。
1.2.1 工業相機選型 工業相機具有高的成像質量、更快的傳輸速度、更好的圖像穩定性和更強的抗干擾能力,考慮到圖像傳感器類型、分辨率、幀率、接口類型等,選擇中國??低暪旧a的MV-CA050-20GM/GC型工業面陣相機。其性能參數如表2所示。

表2 MV-CA050-20型工業相機性能參數
1.2.2 數據采集 為實現精確的酒花分類,采用控制變量法采集數據,利用蒸汽閥門控制流酒速度,盛酒器與流酒管高度固定。酒花數據來自中國某酒廠,采用MV-CA050-20GM/GC型工業面陣相機,由2名生產組組長協同采集(四段)酒花視頻數據以保證樣本的正確性。四段酒花數據包含不同角度、不同光照條件、不同摘酒現場的樣本,基本考慮到了摘酒現場各種可能出現的因素。從四段酒花視頻中分別逐幀提取頭段酒花、中段酒花、末段酒花、酒尾酒花原始樣本,分別獲取1 375,1 386,1 369,1 386個樣本,樣本圖像大小544×960×3,圖像類型為JPG格式。
為了提高系統后續輸入圖像的可信度與分類準確率,減少分類時間,對圖像進行預處理,包括:輸入圖像、圖像灰度化、Gamam校正、圖像濾波4步。
圖像灰度化是指將彩色圖像中多個通道各種對應的分量通過一種方法轉化為一個通道的灰度圖[9]。文中選用加權平均法作為圖像灰度化的方法,其數學表達式:
Gray=R×ωR+G×ωG+B×ωB,
(1)
式中:
R、G、B——對應通道的像素值;
ωR——R通道的權重,取0.299;
ωG——G通道的權重,取0.114;
ωR——B通道的權重,取0.587。
Gamma校正的壓縮計算公式:
I(x,y)=I(x,y)g,
(2)
式中:
I(x,y)——灰度圖;
g——校正值。
均值濾波是將濾波核內像素的平均值代替濾波核中心位置像素值[10]。假設現在使用3×3的模板對m×n的圖像進形濾波,圖解如圖1所示。

圖1 均值濾波
由圖2可知,均值濾波算法可表示為:
(3)
式中:
2≤x≤m-1;
2≤y≤n-1;
fa(x,y)——輸出圖像;
f(x,y)——原始圖像;
m、n——圖片大小。
中值濾波屬于非線性濾波方法,基本思想是將濾波核的中心像素,由鄰域像素灰度值的中值代替[11],中值濾波示意如圖2所示。
在圖2中,采用3×3濾波核,濾波核的大小可以自己確定,常用濾波核大小有5×5,9×9形式,濾波核的大小通常為奇數。以3×3為例中值抑噪可由式(4)表示。

圖2 中值濾波示意圖
fm(x,y)=med[f(x+k,y+l)],(k,l∈[-1,1]),
(4)
式中:
f(x,y)——原始圖像;
fm(x,y)——中值濾波后的結果圖。
高斯濾波是一種線性平滑濾波,能為鄰域內每個像素賦予權值,濾波核的中心像素由不同權值的鄰域像素加權平均值確定[12],高斯濾波圖解如圖3所示。

圖3 高斯濾波
圖3中高斯卷積核由二維高斯函數進行離散化得到,二維高斯函數如式(5)所示。
(5)
由式(5)離散化得到式(6):
(6)
式中:
k——核矩陣的維數;
σ——方差;
i、j——核矩陣中各點到中心點的距離。
以頭段酒花為例各濾波示意圖如圖4所示。

圖4 濾波示意圖
通過研究表明,白酒酒花圖像中存在的噪聲多為高斯噪聲,因此選用高斯濾波。
卷積神經網絡是一種多層前饋神經網絡,具備良好的自學習特征能力,強大的并行處理能力,以及優秀的魯棒性,卷積網絡的基本結構如圖5所示。主要由輸入層、卷積層、激活層和池化層、全連接層構成。

圖5 卷積神經網絡基本結構
(1)數據輸入層:對待輸入的樣本圖片進行一些預處理,例如將所有樣本統一成相同的大小,方便后續的其他操作。
(2)卷積層:卷積層也叫特征提取層,是卷積神經網絡的核心部分。卷積過程如圖6所示。

圖6 卷積過程
(3)池化層:也被稱為下采樣層。池化就是對圖像某個區域的特征進行統計分析,并將統計的結果用來表示整個區域的總體特征。運算過程如圖7所示。

圖7 池化過程
(4)激活層:解決線性模型所不能解決的問題,常見的激活函數有Sigmoid、Tanh、ReLU、PreLU、Maxout等。
(5)全連接層:將最后得到的圖像特征,映射成一個固定長度的特征向量,傳入分類器完成最終分類。
(6)輸出層:輸出層一般為分類器層,最后輸出的是一個將制定分類的種類數目作為維度的概率向量。
3.2.1 Vgg16模型 傳統Vgg16模型結構如表3所示,Vgg16總網絡深度為16,其中包含13個卷積層和3個全連接層。輸入圖片大小為224×224×3的彩色圖片,其卷積核采用隨機初始化,池化層采用最大池化,激活函數采用ReLU激活函數,分類器采用Soft_max。

表3 Vgg16模型結構
3.2.2 遷移學習 傳統的數據挖掘和機器學習算法使用帶標簽或不帶標簽的數據集,統計模型對未來數據進行預測。半監督分類使用大量未標注的數據集和少量標注數據集,解決標簽數據集太少而無法訓練良好的分類器的問題,大多數是基于假設標記樣本和未標記樣本具有相同的分布。然而在實際應用中,搜集樣本費時費力,帶標簽的訓練樣本數量更是有限,所以服從統一分布的數據的假設很難滿足。統計模型必須根據不同數據分布重構模型,重構模型和重采集訓練樣本的代價太大。針對以上問題,遷移學習可以解決數據重采集和模型重構的問題,而且遷移學習還可以實現異類數據集之間的知識轉移[13]。遷移學習的動機是人們可以智能地應用以前學習到的知識來更快地解決新的問題,或者有更好的解決方案。
3.2.3 池化層設計 為在保留圖像輪廓的完整性的同時,盡可能多地保留圖像特征信息,文中結合最大池化與平均池化的優點提出最大—均值池化方式。通過式(7)和式(8)分別定義最大池化和平均池化的數學表達式:
(7)
(8)
式中:
xm——得到圖像的滑動窗口n個像素點中的第m個像素點;
m——在滑動窗口中的位置。
池化方式是將xm映射到對應的統計值。
通過聯合兩者的優點,將最大池化方式和平均池化方式分別以權重相加得到新的池化方式——最大—均值池化。其數學表達式可表示為:
(9)
式中:
α+β=1。
3.2.4 激活函數設計 為了解決ReLU激活函數存在的“神經元死亡”和輸出偏移問題,提高網絡模型的分類性能,提出一種基于ReLU激活函數與Tanh激活函數改進的激活函數TReLU。其數學表達式:
(10)
式中:
α——可調參數。
3.2.5 參數優化方法 反向傳播技術的使用使得深層神經網絡的訓練成為可能,基本原理是通過實際輸出與期望輸出計算出誤差,并采用梯度下降法計算出誤差函數相對于權值參數的梯度;然后在損失函數梯度的反方向上更新權值,假設有m個數據樣本{(x1,y1),…,(xm,ym)},對于單個樣本(x,y)的損失函數定義為:
(11)
式中:
ω——連接權值;
b——偏置;
hω,b(x)——網絡實際輸出;
y——網絡的期望輸出。
對于整個樣本數據集m的整體損失函數可以表示為:
(12)
式中:
ω——權值矩陣;
nl——網絡層數;
sl——對應網絡層神經元數目;

λ——權值衰減參數。
梯度下降法在計算梯度時只進行了一次權值更新,所以處理大量數據時其收斂速度很慢。針對上述問題提出了幾種優化梯度下降法的方法。
(1)隨機梯度下降法:隨機梯度下降法(SGD)的基本原理是參數更新都是隨機從訓練集中選取[14],更新迭代公式:
θ=θ-η·?θJ(θ;xi;yi),
(13)
式中:
η——學習率;
xi、yi——訓練樣本;
θ——訓練參數。
隨機梯度下降法的優點在于頻繁的參數更新使得參數間具有高方差,這有助于網絡收斂到最優解。但缺點是參數的更新都是隨機從訓練集中選取,每次的參數更新方向具有隨機性,增加了網絡的迭代次數,使網絡收斂速度變得緩慢。
(2)小批次隨機梯度下降法:小批次隨機梯度下降法的提出是為了緩解隨機梯度下降法中網絡迭代次數增加和網絡收斂速度緩慢的問題,在參數更新速度和更新次數間取得一個平衡[15],在參數每次的更新過程中會從訓練集中隨機選取m(m θ=θ-η·?θJ(θ;xi:i+m;yi:i+m), (14) 式中: η——學習率; xi:i+m、yi:i+m——訓練樣本; θ——訓練參數動量因子方法。 由于梯度下降法在應用過程中伴隨著高方差振蕩,這使得網絡很難穩定收斂,因此研究者[16]提出了動量技術來緩解網絡收斂不穩定的問題,數學表達: vt=μvt-1+η?θJ(θ), (15) θ=θ-vt, (16) 式中: μ——0~1的動量因子; vt-1——上一次的更新值。 選用小批次隨機梯度下降法,加入動量因子對小批次隨機梯度下降法,減少計算量,加快網絡收斂。 文中改進模型是基于Vgg16大框架下進行改進,該模型結構框圖如圖8所示。 在圖8中,卷積核初始化方式采用基于權重的遷移學習,池化方式采用改進后的最大—均值池化方式,激活函數采用改進后的TReLU激活函數。 圖8 改進模型結構 試驗基于操作系統windows 1064,處理器Intel(R)core(TM)i5-8300H CPU @ 2.30GHZ,內存8.00 GB,顯卡NVIDIA GeForce GTX 1050的開發平臺,采用python + tensorflow + pycharm作為開發環境。 整個試驗部分使用的數據集,如無特別說明都采用以下數據集,從構建的酒花數據集中選取頭段酒花、中段酒花、末段酒花、酒尾酒花圖片各1 000張。其中70%作為訓練集,30%作為測試集,圖片大小為544×960×3。 模型采用改進Vgg16+遷移學習,圖像輸入要經過5次池化,由模型結構可以推出第1,2,3,4,5次池化的特征圖個數分別為64,128,256,512,512。由于篇幅有限文中展示第1次和第5次池化后的部分特征圖,如圖9所示。1∶1特征融合圖,如圖10所示。 圖9 池化后的特征圖 由圖10可知,最初卷積提取到的特征比較全面,圖像紋理邊緣信息比較清楚,隨著卷積的深入,特征圖越來越抽象。第1次池化后特征提取的信息比較全面,特征融合過后能夠看見較清楚的酒花。第5次池化后圖像變得模糊,高級特征肉眼不可見,特征融合后圖像也比較抽象,肉眼基本無法看見酒花。 圖10 1∶1特征融合圖 4.2.1 經典模型分類結果 為了驗證現有經典模型對白酒酒花的分類效果,直接將預處理后的酒花圖像輸入到模型中,對其準確率和迭代步數進行比較。試驗仿真結果如圖11所示。 由圖11(a)可以看出,LeNet_5、AlexNet網絡深度淺,分別是5層和8層,在迭代次數較少的情況下就達到飽和,對于一些簡單的分類任務能夠達到很高的準確率。但酒花分類準確率遠低于人工分類,達不到分類精度要求。由圖11(b)可以看出,隨著卷積網絡深度的加深,分類準確率逐漸提高,但仍然達不到酒花分類的精度要求,且相應的訓練時間也變長。 圖11 經典模型分類結果 4.2.2 基于改進池化方式的準確率對比 為驗證改進池化方式的有效性,在傳統Vgg16框架的基礎上,改變不同的池化方式,驗證其在白酒酒花分類的準確率。試驗結果如圖12所示。 單一的池化方式不能完全考慮圖像特征信息,平均池化更多地保留了圖像的背景信息,忽略了圖像中的紋理信息,相反最大池化則更多地保留了紋理信息,因為酒花特征對紋理要求高,從圖12可以看出最大池化的準確率略大于平均池化的。但兩種方法對酒花分類準確率明顯低于改進的池化方法,因為改進的方法綜合考慮了背景與紋理信息。 圖12 不同池化方式準確率對比 4.2.3 基于改進激活函數的準確率對比 為驗證改進激活的有效性,在傳統Vgg16框架的基礎上,使用不同的激活函數,驗證其在白酒酒花分類的準確率。試驗結果如圖13所示。 圖13 不同激活函數準確率對比 Sigmoid函數與Tanh函數容易產生梯度消失的情況,ReLU函數在反向傳播過程中會出現神經元死亡。從圖14可以看出,改進的激活函數分類準確率高于其他幾種激活函數。 4.2.4 最終模型與傳統Vgg16模型準確率對比 最終模型結構包括Vgg16框架+遷移學習+改進池化方式+改進激活函數,為驗證改進模型的有效性,將其與原始Vgg16模型進行對比。試驗結果如圖14所示。 從圖14可以看出,基于Vgg16改進的卷積神經網絡模型,對白酒酒花數據集分類準確率有明顯的提升,未改進前分類準確率為80.30%,改進后分類準確率為96.69%,改進后的分類準確率能夠達到白酒生產的實時性要求。改進模型與傳統模型試驗結果對比如表4所示。 圖14 改進模型準確率 從表4可以看出,LeNet_5、AlexNet網絡深度淺,訓練時間短,分類準確率低,Vgg11和Vgg16隨著層數增加分類準確率明顯提高,但訓練時間較長,改進模型在分類準確率與訓練時間取得了一個平衡,且分類準確率高于其他幾種分類模型。 表4 改進模型與傳統模型試驗結果對比 4.2.5 人工分類對比試驗 從頭段酒花、中段酒花、末段酒花、酒尾酒花分別選取100張組成人工分類和試驗系統分類對比的數據集。將400張酒花圖片的標簽隱藏并且將圖片隨機排序,從生產線上請2位經驗豐富的摘酒師傅A和B,再請2位年輕的摘酒師傅C和D對此次試驗數據集進行2次分類,第1次分類試驗結果如表5所示。 第2次試驗使用同樣的數據集,告知4位摘酒師傅數據集已經改變,試驗分類結果如表6所示。 從表5和表6可以看出,無論是人工分類還是試驗系統分類在沒有時間的要求下分類準確率基本都能達到90%以上;經驗不同的員工分類準確率高低不同,同一工人在不同時間準確率也會有波動,人工分類具有不穩定性,而機器視覺的分類精度高且穩定,因此試驗系統分類算法相比人工分類具有一定的優越性。 表5 人工分類與系統分類準確率對比(第1次) 表6 人工分類與系統分類準確率對比(第2次) 使用上述數據集完成分類時間對比試驗,結果如表7所示。 表7 人工分類與系統分類(每張)耗時對比 從表7可以看出,人工分類時間雖然有所不同但總體需要時間較多,分類一張圖片大約需要0.69 s,然而試驗系統分類時間需要0.22 s,因此試驗分類系統能夠達到白酒生產的實時性要求。 試驗提出的基于改進Vgg16+遷移學習的分類模型,能夠高效、精確地對不同類別的酒花進行分類。試驗結果表明,該分類模型的準確率達96.69%,比人工穩定性好且準確率高,具有較好的實用性。后續研究將繼續提升白酒酒花分類的速度,進一步改進模型提高分類準確率,實現白酒生產摘酒智能。3.3 最終模型結構

4 試驗結果分析
4.1 試驗平臺
4.2 試驗結果及其分析










5 結論