鄧春寧
(龍巖煙草工業(yè)有限責任公司設備管理部,福建 龍巖 364021)
在香煙包裝生產流水線上,煙包檢測是一個不可或缺的檢測工序。根據(jù)國家相應標準規(guī)定,卷煙生產和包裝缺陷分為A、B、C 3類,A類缺陷表示嚴重的質量缺陷,其中就包括煙包內煙支缺少[1]。因此,在流水線上進行煙包缺支檢測、剔除不合格的煙包十分有必要。
最早的煙包缺支檢測采用人工按壓方式,具有勞動強度大、效率低和誤判率高等缺點。隨著光電檢測技術的發(fā)展,紅外光電檢測法成為國內卷煙廠常用的煙包缺支檢測方法。文獻[2]利用紅外光電傳感器電流與距離、顏色和密度等因素相關的原理,設計放大比較、剔除基準電平和同步信號等電路,組成光電式煙包缺支檢測系統(tǒng)。該系統(tǒng)將20個光電傳感器依據(jù)煙包中煙支排列順序擺放在傳送帶上,發(fā)送端向煙包發(fā)射紅外線,接收端接收信號,經(jīng)放大和A/D轉換后判斷煙包中是否存在煙支缺少的情況。該系統(tǒng)實現(xiàn)了煙包缺支檢測的自動化,檢測速度和精度都有了較大的提高。但只要這20個傳感器中任意一個出現(xiàn)故障,整個檢測系統(tǒng)都將受到很大的影響。
隨著機器視覺技術的發(fā)展,數(shù)字圖像處理技術為煙包缺支自動檢測提供了新的思路和方法[3]。機器視覺是一種基于計算機、圖像處理、模式識別和人工智能的技術,近年來已廣泛應用在包括香煙生產在內的諸多領域,如航空航天、生物醫(yī)學、工業(yè)檢測和機器人等[4]。
文獻[5]統(tǒng)計了煙包二值圖像中的像素值,根據(jù)像素值的總和判斷是否存在缺支現(xiàn)象。該方法需要保證檢測環(huán)境不能有較大變化,否則會出現(xiàn)誤判的情況。文獻[1]在煙包二值化圖像基礎上,通過邊緣檢測將圖像分為20個區(qū)域,并計算各區(qū)域的平均像素值,平均值為1的區(qū)域認為缺支,缺點是圖像采集和處理速度不能滿足高速流水線的要求。
支持向量機(support vector machine,SVM)能很好地解決小樣本、非線性和高維模式識別問題[6]。本文根據(jù)煙包圖像的灰度和紋理特征,建立基于多項式和高斯核函數(shù)的支持向量機分類模型,對煙包進行檢測,確定是否存在煙支缺少的情況。
基于機器視覺的煙包缺支檢測系統(tǒng)由光源、CCD攝像頭、微控制器和顯示器等組成,檢測系統(tǒng)構成如圖1所示。為了減小外部光照變化對采集圖像的影響,采用大功率LED光源。當傳送帶上的煙包到達檢測位置時,CCD攝像頭采集煙包圖像,并通過高速以太網(wǎng)傳送至微控制器。微控制器利用數(shù)字圖像處理算法檢測是否存在缺支情況,通過人機界面顯示在顯示器上,同時如果出現(xiàn)缺支現(xiàn)象,控制剔除裝置將不合格的煙包剔除。
圖1 檢測系統(tǒng)構成示意圖
檢測系統(tǒng)中,CCD攝像頭型號為MV-CE013- 50GC,其像素高達130萬,另外千兆以太網(wǎng)接口提供了1 Gbps帶寬,無需中繼最大傳輸距離可達100 m。由于圖像數(shù)據(jù)量大,微控制器選擇基于32位ARM9的S3C2440A芯片。
像素是數(shù)字圖像中最基本表達方式,只有亮度信息而沒有色彩信息的圖像稱為灰度圖像。從CCD相機獲得的圖像是基于RGB空間的彩色圖像,轉換到灰度圖像的計算公式如下:
Y=0.299×R+0.587×G+0.114 8×B
(1)
式中:Y為圖像像素灰度值;R,G和B分別為彩色圖像對應像素的3個分量值。
圖像在獲取和傳輸過程中會受到各種噪聲的干擾。圖像濾波是指在消除圖像噪聲的同時保留主體信息。
常用圖像濾波方法有均值濾波、中值濾波、高斯濾波和雙邊濾波等。高斯濾波對阻性元器件內部產生的高斯噪聲有很好的濾除效果,并能很好地保護圖像主體,因此本文采用高斯濾波,其二維高斯函數(shù)G(x,y)為:
(2)
式中:x和y為當前點到對應點的距離;σ為平滑參數(shù),本文中設置σ=0.5。高斯濾波效果如圖2所示,在圖2(a)中,人為加入高斯噪聲,圖2(b)為高斯濾波后的圖像。
常用的圖像特征包括灰度特征和紋理特征,其中灰度特征屬于全局特征,而紋理特征屬于區(qū)域特征。
灰度圖像的像素灰度值取值范圍為0~255[7],每個灰度級的概率計算如下:
(3)
式中:Hist(i)為第i灰度級的概率;ni為第i級的像素點個數(shù);N為總像素個數(shù)。
圖2 高斯濾波效果
進一步選擇灰度特征的均值(Mean)、方差(Variance)和熵(Entropy)作為定理描述指標。灰度均值指圖像的平均灰度值,灰度方差指圖像灰度值的離散程度,而灰度熵指灰度分布的不均勻程度,分別計算如下:
(4)
(5)
(6)
不同于灰度特征,圖像紋理特征是像素鄰域灰度分布的描述。由OJALA等[8]提出的局部二值模式(local binary pattern,LBP)是一種紋理特征提取方法。LBP算子通過比較每個像素與局部鄰域灰度值上的大小關系,獲得一串二進制碼,并按照一定的加權計算得到該像素的LBP值,計算公式如下:
(7)
其中:
(8)
式中:gc為中心像素的灰度值;L(gc)為gc所對應的LBP值;gi為鄰域像素的灰度值;δ為閾值,用來減小局部噪聲對LBP值的影響。令r為LBP的鄰域半徑,n為采樣點個數(shù)。當r較小、n較大時,圖像紋理特征體現(xiàn)較好,但是噪聲影響大;而當r較大、n較小時,對噪聲不敏感,但是紋理特征不能很好地體現(xiàn)。綜合考慮,本文選取r=1和n=8,即用像素的8個鄰域點灰度值對應為八位二進制數(shù),再轉化為十進制數(shù),就是當前像素點的LBP值,值域為0~255。LBP特征值提取如圖3和圖4所示,其中圖3為合格煙包LBP特征,而圖4是缺支情況。
圖3 合格煙包LBP特征提取
圖4 缺支煙包LBP特征提取
支持向量機(support vector machine,SVM)是一種二分類模型[6],是定義在特征空間上的間隔最大的線性分類器。利用核方法和軟間隔最大化可使SVM擴展應用在非線性場合。SVM模型學習的目標是在特征空間找到一個超平面,將特征空間分為正類和負類兩個部分。對于樣本x,SVM分類的決策函數(shù)f(x)為:
(9)
式中:m為樣本數(shù)量;αi為拉格朗日乘子,通過求偶問題求解原始問題;yi為樣本煙包圖像的標簽;b為分類閾值;K(xi,x)為核函數(shù),常用的核函數(shù)有多項式核函數(shù)、高斯核函數(shù)和字符串核函數(shù)等。本文采用多項式核函數(shù)和高斯核函數(shù),對應函數(shù)形式分別如下:
K(xi,x)=(xi·x+1)p
(10)
(11)
式中:p為多項式核函數(shù)的最高項次數(shù);σ為高斯核函數(shù)的帶通。
本文實驗所采用的計算機配置如下:本文實驗中所采用計算機配置如下:處理器為3.4 GHz的Intel (R) Core (TM) i3-4005U,內存為8 G,操作系統(tǒng)為64位Windows 7。所使用的編程軟件為VS2010+OpenCV+QT。
為了體現(xiàn)本文所設計方法的分類效果,實驗采用SVM和BP神經(jīng)網(wǎng)絡(BPNN)進行比較,同時SVM分別使用多項式核函數(shù)和高斯核函數(shù)兩種方式。顯示器上人機界面檢測結果如圖5所示。
圖5 人機界面顯示
檢測精度的實驗結果見表1,采用100,200,500和1 000張圖像作為訓練樣本,分別訓練多項式核函數(shù)和高斯核函數(shù)兩種模型的參數(shù),并準備了1 000張圖像作為測試樣本集。識別率指識別正確的樣本數(shù)占總樣本數(shù)的比例。
表1 煙包缺支檢測識別率比較 %
目前,國內大多數(shù)卷煙廠的煙包生產線速度可達400包/min,即每包處理時間不超過150 ms。這個時間包括了采集圖像、預處理和檢測算法等環(huán)節(jié)。因此檢測系統(tǒng)一方面要采用高速CCD攝像機,另一方面必須控制算法時間。進行3 000次圖像檢測的實驗結果顯示,本文所設計的檢測算法平均消耗時間為120 ms,圖像采集及傳輸時間大約為20 ms,基本滿足高速生產線的要求。
本文針對煙包生產線缺支檢測需求,設計了基于多項式核函數(shù)的SVM模型。通過煙包圖形的灰度特征和紋理特征,建立多維特征空間。實驗驗證了檢測模型的有效性,檢測精度符合實際生產要求,同時檢測時間滿足實時性要求。