馬振宇 周奇峰 林錦超
(1.深圳煙草工業(yè)有限責(zé)任公司,廣東 深圳518109;2.山東中煙工業(yè)有限責(zé)任公司 濟(jì)南卷煙廠,山東 濟(jì)南250104;3.陜西中煙工業(yè)有限責(zé)任公司 旬陽(yáng)卷煙廠,陜西 旬陽(yáng)725700)
隨著煙草科技的進(jìn)步,市場(chǎng)上出現(xiàn)了越來越多的濾嘴上帶有凹陷圖案的香煙。 在這種異型香煙的生產(chǎn)過程中,會(huì)有凹陷圖案不完整的煙支存在,最終煙支的缺陷。 生產(chǎn)線上現(xiàn)有的煙支檢測(cè)設(shè)備(機(jī)械式、光電式等)均沒有對(duì)這種凹陷圖案完整性的檢測(cè)功能,目前還依靠人工抽檢的方法來保證煙支質(zhì)量,既增加了人力成本又不能保證所有煙支質(zhì)量。
機(jī)器視覺就是用機(jī)器代替人眼來做測(cè)量和判斷。機(jī)器視覺系統(tǒng)是指通過圖像采集裝置將攝取目標(biāo)轉(zhuǎn)換成圖像信息,傳遞給圖像處理系統(tǒng),根據(jù)像素分布和亮度等信息,轉(zhuǎn)變?yōu)閿?shù)字化信號(hào),機(jī)器視覺系統(tǒng)從這些信息中獲取目標(biāo)特征,然后根據(jù)預(yù)設(shè)的條件輸出處理結(jié)果,進(jìn)而根據(jù)判斷結(jié)果控制執(zhí)行機(jī)構(gòu)進(jìn)行相應(yīng)的處理動(dòng)作。[1]本文設(shè)計(jì)的機(jī)器視覺檢測(cè)系統(tǒng),通過工業(yè)相機(jī)采集濾嘴端面圖像,以ST 公司的32 位單片機(jī)STM32F407 為控制核心, 基于C# 的工控機(jī)程序?yàn)檐浖诵模捎霉た貦C(jī)和下位機(jī)串行通信的主從式結(jié)構(gòu),對(duì)煙支濾嘴側(cè)端面的圖像進(jìn)行分析和處理。 該系統(tǒng)高效地保證了異型煙的產(chǎn)品質(zhì)量,提高了煙草行業(yè)的自動(dòng)化程度。
該檢測(cè)系統(tǒng)由圖像采集組件、控制器和增量編碼器等外圍設(shè)備組成,如圖1 所示。

圖1 異型煙檢測(cè)系統(tǒng)框圖
圖像采集組件由LED 光源和CMOS 工業(yè)相機(jī)等組成, 負(fù)責(zé)采集待檢煙包濾嘴端面的圖像并進(jìn)行初步處理后傳送給控制器。LED 光源具有成本低、光強(qiáng)穩(wěn)定、使用壽命長(zhǎng)及免維護(hù)等優(yōu)點(diǎn),負(fù)責(zé)將待測(cè)煙包濾嘴端面照亮, 并將凹陷圖案與白色濾嘴形成鮮明對(duì)比;CMOS 工業(yè)相機(jī)曝光時(shí)間短、功耗低,負(fù)責(zé)在煙包通過時(shí)對(duì)煙包濾嘴端面進(jìn)行圖像采集,如圖2 所示。
控制器由工控模塊、單片機(jī)及外圍電路和觸摸顯示器等組成。 工控模塊用于上位機(jī)軟件運(yùn)行,通過圖像處理技術(shù)對(duì)異型濾嘴端面圖像進(jìn)行處理并判斷是否存凹陷圖案缺失等缺陷;單片機(jī)及外圍電路用于單片機(jī)控制軟件運(yùn)行,負(fù)責(zé)讀取編碼器相位、接收上位機(jī)命令并向包裝機(jī)控制系統(tǒng)發(fā)出剔除、故障等信息;觸摸顯示器作為人機(jī)界面,用于顯示系統(tǒng)運(yùn)行信息及采集用戶輸入等。

圖2 凹陷圖案缺失的異型濾嘴端面圖像
異型煙檢測(cè)系統(tǒng)軟件主要由上位機(jī)軟件和單片機(jī)控制機(jī)軟件組成。
系統(tǒng)采用VS 2005 為編程工具, 基于EMGU 圖像庫(kù)編寫了圖像處理軟件。軟件首先對(duì)圖像進(jìn)行灰度化、二值化處理,從而將濾嘴側(cè)凹陷圖案與背景相分離,再通過形態(tài)學(xué)處理,以除去二值化后圖像中的噪聲點(diǎn),然后查找凹陷圖案有效部分的輪廓,并計(jì)算其有效像素值,與基準(zhǔn)值進(jìn)行比較,若有效像素值大于基準(zhǔn)值,則表明該煙支部分凹陷圖案正常,否則表明圖案缺失,軟件發(fā)出命令,將該煙包剔除。 處理流程如圖3 所示。

圖3 上位機(jī)軟件處理軟件流程圖
灰度化, 就是將采集到的濾嘴側(cè)彩色圖像轉(zhuǎn)換為灰度圖像的過程,即將圖像中每個(gè)像素點(diǎn)的亮度用0-255 之間的數(shù)值進(jìn)行表示。 二值化,則是根據(jù)預(yù)先設(shè)定的閾值,將原灰度圖像的有效和無效部分相分離,得到灰度僅為0 和255 的純黑白圖片。 圖像的二值化可用以下方法選擇閾值[2]

式中,f(i,j)為二值化之前各點(diǎn)的灰度值,ft(i,j)為二值化之后各點(diǎn)的灰度值,t 則為二值化所選取的閾值。
二值化后的圖像以凹陷圖案為目標(biāo)區(qū)域, 以白色濾嘴為背景,經(jīng)腐蝕、膨脹等形態(tài)學(xué)處理后,標(biāo)記目標(biāo)區(qū)域,計(jì)算有效輪廓面積,如圖4 所示。

圖4 待測(cè)煙支處理流程圖
上位機(jī)基于C# 語(yǔ)言編制了串行通信模塊的程序。 編程中,加入serialPort 控件,通過對(duì)其屬性進(jìn)行設(shè)置并訪問其內(nèi)部函數(shù),以實(shí)現(xiàn)對(duì)上位機(jī)串行通信進(jìn)行控制。 該控件主要屬性如表1 所示[4]。

表1 serialPort 控件主要屬性
串口通信具體步驟如下:
1) 在系統(tǒng)界面加入serialPort 控件, 設(shè)置好控件對(duì)應(yīng)的COM 口號(hào)。
2)設(shè)置串口的波特率、位長(zhǎng)、校驗(yàn)位等基本信息。
4)調(diào)用Write()函數(shù)對(duì)串口進(jìn)行寫操作。
5) 當(dāng)串口緩存中數(shù)據(jù)長(zhǎng)度達(dá)到ReadBufferSize 屬性對(duì)應(yīng)的數(shù)值時(shí),激發(fā)串口接收函數(shù),讀串口接收緩存中的數(shù)據(jù)。
本系統(tǒng)選用的是ST 公司基于Cortex-M4F 的32 位單片機(jī)STM32F407,其通過自帶的USART 接口與上位機(jī)進(jìn)行通信。單片機(jī)控制軟件通過編碼器信號(hào)采集電路讀取編碼器的當(dāng)前相位并傳送給上位機(jī)軟件,控制圖像采集組件在指定相位進(jìn)行圖像采集,并根據(jù)接收的上位機(jī)命令向包裝機(jī)組控制系統(tǒng)發(fā)送剔除信號(hào),如圖5 所示。

圖5 單片機(jī)控制軟件流程圖
本文設(shè)計(jì)了一種基于機(jī)器視覺的異型煙檢測(cè)系統(tǒng),有效的解決了濾嘴側(cè)具有凹陷圖案的香煙無法檢測(cè)并將缺陷煙支剔除的問題。隨著計(jì)算機(jī)、光學(xué)、電子等學(xué)科的發(fā)展,機(jī)器視覺技術(shù)的應(yīng)用也將愈加廣泛。
[1]余輝,王林,王德勝.OpenCV 在產(chǎn)品特征檢測(cè)系統(tǒng)中的應(yīng)用[J].科技視界,2013,2(5):43、98.
[2]顧勇,何明昕.基于機(jī)器視覺的啤酒瓶檢測(cè)系統(tǒng)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33(1):248-253.
[3]郭艷平,侯鳳貞.紙幣面值識(shí)別系統(tǒng)圖像分割技術(shù)的算法[J].重慶工學(xué)院學(xué)報(bào),2008,11:124-126.
[4]翟希述,王寶興,范淼.基于Visual C# 的串口通信程序設(shè)計(jì)[J].電子科技,2011,24(2):24-26.