樊 桃, 張 飛, 王曉峰, 劉海斌
(1.中國(guó)鐵建電氣化局集團(tuán)有限公司, 北京 100043; 2.常州數(shù)控技術(shù)研究所, 江蘇 常州 213164)
隨著人們生活水平的不斷提高, 人們對(duì)包裝產(chǎn)品的需求從以前的實(shí)用性轉(zhuǎn)而更加注重它的美觀性, 藝術(shù)性和收藏價(jià)值, 高檔精美的包裝產(chǎn)品取代了以前的簡(jiǎn)單色彩類的包裝產(chǎn)品。燙金(亦稱燙?。杭y作為印后整飾中的重要工藝,將燙金和壓紋結(jié)合起來對(duì)包裝產(chǎn)品起著獨(dú)特的裝飾作用,經(jīng)壓紋后的包裝裝飾材料表面呈現(xiàn)出深淺不同的圖案和紋理,具有明顯的浮雕立體感,增強(qiáng)了承壓材料的藝術(shù)感染力,深受人們的關(guān)注和偏愛[1]。 從近年來得市場(chǎng)份額看, 使用壓紋工藝的精裝盒占據(jù)整個(gè)精裝盒包裝市場(chǎng)的比例逐年增加。
精裝盒燙金圖案壓紋的質(zhì)量和精確美觀至關(guān)重要,傳統(tǒng)的精裝盒燙金圖案壓紋工序?yàn)槿斯げ僮鳎?這種方法借助人眼判斷決定燙金圖案是否擺放正確, 其壓紋效果完全由人主觀判斷決定,具有較大的隨機(jī)性和誤差,操作工人的生理因素、心理因素、視覺疲勞、環(huán)境因素等等都能影響最終的壓紋效果, 無法保證整批產(chǎn)品質(zhì)量的穩(wěn)定性和可靠性[2]。 因此,本論文提出了一種基于Opencv 的精裝盒燙金圖案識(shí)別與定位系統(tǒng),將視覺識(shí)別應(yīng)用到精裝盒燙金圖案壓紋工序中,來確保精裝盒燙金圖案壓紋質(zhì)量的穩(wěn)定性、可靠性和高精度,實(shí)現(xiàn)產(chǎn)品的高效高質(zhì)量生產(chǎn)。
系統(tǒng)在精裝盒燙金圖案壓紋生產(chǎn)線上的工作流程為:當(dāng)精裝盒到達(dá)指定位置后相機(jī)進(jìn)行拍照采集圖片,然后識(shí)別圖片中精裝盒燙金圖案的位置數(shù)據(jù), 其次依據(jù)燙金圖案的位置數(shù)據(jù)計(jì)算其定位數(shù)據(jù), 最后將定位數(shù)據(jù)發(fā)送給機(jī)器人系統(tǒng), 機(jī)器人根據(jù)得到的數(shù)據(jù)抓取精裝盒放到指定的位置進(jìn)行壓紋。
精裝盒燙金圖案檢測(cè)系統(tǒng)硬件主要包括工控機(jī)、光源、工業(yè)相機(jī)和觸發(fā)裝置。 其中光源和CCD 工業(yè)相機(jī)的選型為該系統(tǒng)的重點(diǎn)。 由于精裝盒燙金圖案具有亮度值高和高反光的特性, 光源照射到燙金圖案上產(chǎn)生圖案局部高亮、邊緣模糊不清等現(xiàn)象,不利于圖案采集和圖案識(shí)別。本文通過各種顏色光源實(shí)驗(yàn)對(duì)比后采用藍(lán)色條形光為照明光源,從精裝盒側(cè)面進(jìn)行照明,有效避免了圖案局部高亮、邊緣模糊不清等情況。 該系統(tǒng)要求燙金圖案最終定位精度在0.1mm 以內(nèi),識(shí)別范圍最大為420mm×350mm,依據(jù)此需求和各項(xiàng)其他因素考慮,我們選擇了大恒圖像1000w像素的水星系列數(shù)字相機(jī),型號(hào)為MER-1070-10GM-P。 使用相機(jī)外觸發(fā)方式采集圖像, 并通過千兆以太網(wǎng)將圖形數(shù)據(jù)傳輸給系統(tǒng),保證圖像采集的實(shí)時(shí)性和高效。
OpenCV 是一個(gè)基于BSD 許可(開源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺庫(kù),提供了豐富的圖像處理函數(shù)[3]。 系統(tǒng)設(shè)計(jì)中使用Opencv 視覺庫(kù)設(shè)計(jì)燙金圖案識(shí)別算法、 標(biāo)定算法、模板提取算法、輪廓匹配算法等,并將這些算法代碼封裝成動(dòng)態(tài)鏈接庫(kù)供系統(tǒng)調(diào)用。 系統(tǒng)軟件界面在VS2010開發(fā)平臺(tái)上使用C# 語言進(jìn)行設(shè)計(jì)開發(fā)。系統(tǒng)按功能模塊劃分進(jìn)行設(shè)計(jì),其包括人機(jī)交互模塊、參數(shù)設(shè)置模塊、相機(jī)標(biāo)定模塊、相機(jī)拍照模塊、圖案模板編輯模塊、燙金圖案識(shí)別模塊、定位計(jì)算模塊、與機(jī)器人系統(tǒng)交互模塊、信息存儲(chǔ)模塊等。 系統(tǒng)體系結(jié)構(gòu)示意圖如圖1 所示。
圖1 系統(tǒng)體系結(jié)構(gòu)框圖Fig.1 System architecture diagram
由于不同批次的精裝盒上的燙金圖案各不相同,本文采用圖案匹配的方式來實(shí)現(xiàn)燙金圖案識(shí)別。目前關(guān)于圖像匹配的研究和應(yīng)用比較多,圖像匹配算法按照處理方式不同主要有灰度相關(guān)算法、 變換域信息算法和圖像特征相關(guān)算法三種方式[4]。
SURF 算法是由Herbert Bay 等在2006 年首次提出的一種穩(wěn)健的局部特征點(diǎn)檢測(cè)和描述算法。該算法是Sift算法的加速版本, 改進(jìn)了Sift 算法的特征的提取和描述方式,用一種更為高效的方式完成特征的提取和描述。對(duì)物體的旋轉(zhuǎn)、光照等情況有較好的魯棒性[5]。SURF 算法的實(shí)現(xiàn)流程如下:
(1)構(gòu)建Hessian 矩陣(黑塞矩陣),構(gòu)造高斯金字塔尺度空間。
(2)利用非極大值抑制初步確定特征點(diǎn)。
(3)精確定位極值點(diǎn)。
(4)選取特征點(diǎn)主方向。
(5)構(gòu)造SURF 特征點(diǎn)描述算子。
(6)進(jìn)行特征點(diǎn)匹配。
SURF 算法在求主方向階段過于依賴局部區(qū)域像素的梯度方向, 即便不大偏差角度也可以造成后面特征匹配的誤差放大,從而使匹配不成功。
本文針對(duì)這種問題提出了一種改進(jìn)的SURF 匹配算法[6-8],提高了匹配的成功率。 其改進(jìn)方法為在進(jìn)行SURF算法前,加入圖像濾波處理和邊緣檢測(cè)兩項(xiàng)預(yù)處理。
在應(yīng)用于燙金圖案識(shí)別時(shí), 由于精裝盒在拍照時(shí)兩邊有檔條定位,位置變化小,故精裝盒上燙金圖案的位置變化也小。 本文在進(jìn)行圖案匹配時(shí)只需要對(duì)設(shè)定的ROI 區(qū)域進(jìn)行圖像識(shí)別,這樣縮短了計(jì)算時(shí)間,提高了實(shí)時(shí)性。 具體實(shí)現(xiàn)方法如圖2 所示。
圖2 改進(jìn)的SURF算法流程圖Fig.2 Improved SURF algorithm flowchart
在匹配算法程序測(cè)試中, 我們的軟件開發(fā)工具為VS2010,使用的視覺庫(kù)為Opencv2.9。將精裝盒移動(dòng)不同位置后進(jìn)行拍照,得要實(shí)驗(yàn)圖片。本次實(shí)驗(yàn)中使用的精裝盒如圖3 所示, 需要匹配的燙金圖案為橢圓中的圖案。
算法實(shí)現(xiàn)中, 首先加載模板圖片和目標(biāo)圖片,然后按照?qǐng)D2流程進(jìn)行程序?qū)崿F(xiàn)。 算法的部分代碼如下所示:
圖3 測(cè)試精裝盒Fig.3 Hardcover box for test
最后本文將模板圖片與目標(biāo)圖片的匹配點(diǎn)用線連接在一起,實(shí)驗(yàn)結(jié)果如圖4,圖5 所示。 圖4 為本文選擇的模板圖片原圖匹配效果,圖5 為將精裝盒旋轉(zhuǎn)90°后,燙金圖案的匹配效果。
圖4 燙金圖案原圖匹配效果Fig.4 Matching effect of the original bronzing pattern
圖5 燙金圖案旋轉(zhuǎn)90°效果Fig.5 Matching effect of bronzing pattern rotated 90°
在精裝盒燙金圖案壓紋生產(chǎn)線上,使用的機(jī)器人是水平多關(guān)節(jié)機(jī)器人,其上安裝的夾具為長(zhǎng)條形夾具,夾具安裝方式為一端固定在機(jī)器人上下運(yùn)動(dòng)的R 軸上。這種安裝方式下夾具的中心點(diǎn)不在機(jī)器人上下運(yùn)動(dòng)的R 軸的中心點(diǎn)上,這種情況稱夾具為偏心夾具。 夾具如圖6 所示。
在生產(chǎn)工藝要求上, 機(jī)器人每次抓取精裝盒時(shí)根據(jù)燙金圖案位置調(diào)整機(jī)器人位置保證夾具與燙金圖案的位置關(guān)系始終一致。此時(shí)燙金圖案位置數(shù)據(jù)無法直接使用,需要處理計(jì)算為定位數(shù)據(jù)[9,10]。
燙金圖案定位數(shù)據(jù)為機(jī)器人移動(dòng)到取盒位置時(shí)的偏差量數(shù)據(jù),其目的是保證機(jī)器人抓取精裝盒時(shí), 每次抓取時(shí)其姿態(tài)位置與燙金圖案的位置關(guān)系始終保持一致。 機(jī)器人與燙金圖案的位置關(guān)系在燙金圖案模板設(shè)定時(shí)確定。機(jī)器人抓取精裝盒的水平面移動(dòng)量和旋轉(zhuǎn)軸的旋轉(zhuǎn)角度值為機(jī)器人初始設(shè)置的位置數(shù)據(jù)與燙金圖案定位數(shù)據(jù)之和。 我們假定燙金圖案模板設(shè)定時(shí)燙金圖案坐標(biāo)值為p0(x0,y0,θ0),機(jī)器人抓取精裝盒時(shí)坐標(biāo)值為p1(x1,y1,θ1),當(dāng)前燙金圖案位置數(shù)據(jù)坐標(biāo)值為p2(x2,y2,θ2),則燙金圖案定位坐標(biāo)值為△p(△x,△y,△θ),以上數(shù)據(jù)中x,y 為機(jī)器人坐標(biāo)系下平面坐標(biāo)值,θ 為旋轉(zhuǎn)角度值。 則圖案定位坐標(biāo)的旋轉(zhuǎn)角度為:
圖6 精裝盒夾具Fig.6 Hardcover box fixture
在計(jì)算燙金圖案定位坐標(biāo)△p(△x,△y)時(shí),我們假定機(jī)器人在p1點(diǎn)抓取燙金圖案模板旋轉(zhuǎn)△θ角度后, 得到的燙金圖案模板坐標(biāo)值p3(x3,y3,θ3)為:
根據(jù)此坐標(biāo)值, 最終得到燙金圖案定位坐標(biāo)值△p(△x,△y,△θ)為:
化簡(jiǎn)公式(3)中的中間變量得:
在系統(tǒng)的實(shí)現(xiàn)中, 系統(tǒng)將燙金圖案識(shí)別的數(shù)據(jù)通過上述公式(4),計(jì)算為燙金圖案定位數(shù)據(jù),然后將其發(fā)送給機(jī)器人系統(tǒng)執(zhí)行。
本文基于Opencv 的精裝盒燙金圖案識(shí)別與定位系統(tǒng)應(yīng)用在精裝盒燙金圖案自動(dòng)壓紋生產(chǎn)線上, 實(shí)現(xiàn)了燙金圖案識(shí)別、定位、缺損檢測(cè)等功能。 解決了人工操作燙金圖案壓紋精確度不高和質(zhì)量不穩(wěn)定的缺點(diǎn), 提高了燙金圖案壓紋精度和生產(chǎn)效率,為企業(yè)提高了經(jīng)濟(jì)效益。