樊 桃, 張 飛, 王曉峰, 劉海斌
(1.中國鐵建電氣化局集團有限公司, 北京 100043; 2.常州數控技術研究所, 江蘇 常州 213164)
隨著人們生活水平的不斷提高, 人們對包裝產品的需求從以前的實用性轉而更加注重它的美觀性, 藝術性和收藏價值, 高檔精美的包裝產品取代了以前的簡單色彩類的包裝產品。燙金(亦稱燙印)壓紋作為印后整飾中的重要工藝,將燙金和壓紋結合起來對包裝產品起著獨特的裝飾作用,經壓紋后的包裝裝飾材料表面呈現出深淺不同的圖案和紋理,具有明顯的浮雕立體感,增強了承壓材料的藝術感染力,深受人們的關注和偏愛[1]。 從近年來得市場份額看, 使用壓紋工藝的精裝盒占據整個精裝盒包裝市場的比例逐年增加。
精裝盒燙金圖案壓紋的質量和精確美觀至關重要,傳統的精裝盒燙金圖案壓紋工序為人工操作, 這種方法借助人眼判斷決定燙金圖案是否擺放正確, 其壓紋效果完全由人主觀判斷決定,具有較大的隨機性和誤差,操作工人的生理因素、心理因素、視覺疲勞、環境因素等等都能影響最終的壓紋效果, 無法保證整批產品質量的穩定性和可靠性[2]。 因此,本論文提出了一種基于Opencv 的精裝盒燙金圖案識別與定位系統,將視覺識別應用到精裝盒燙金圖案壓紋工序中,來確保精裝盒燙金圖案壓紋質量的穩定性、可靠性和高精度,實現產品的高效高質量生產。
系統在精裝盒燙金圖案壓紋生產線上的工作流程為:當精裝盒到達指定位置后相機進行拍照采集圖片,然后識別圖片中精裝盒燙金圖案的位置數據, 其次依據燙金圖案的位置數據計算其定位數據, 最后將定位數據發送給機器人系統, 機器人根據得到的數據抓取精裝盒放到指定的位置進行壓紋。
精裝盒燙金圖案檢測系統硬件主要包括工控機、光源、工業相機和觸發裝置。 其中光源和CCD 工業相機的選型為該系統的重點。 由于精裝盒燙金圖案具有亮度值高和高反光的特性, 光源照射到燙金圖案上產生圖案局部高亮、邊緣模糊不清等現象,不利于圖案采集和圖案識別。本文通過各種顏色光源實驗對比后采用藍色條形光為照明光源,從精裝盒側面進行照明,有效避免了圖案局部高亮、邊緣模糊不清等情況。 該系統要求燙金圖案最終定位精度在0.1mm 以內,識別范圍最大為420mm×350mm,依據此需求和各項其他因素考慮,我們選擇了大恒圖像1000w像素的水星系列數字相機,型號為MER-1070-10GM-P。 使用相機外觸發方式采集圖像, 并通過千兆以太網將圖形數據傳輸給系統,保證圖像采集的實時性和高效。
OpenCV 是一個基于BSD 許可(開源)發行的跨平臺計算機視覺庫,提供了豐富的圖像處理函數[3]。 系統設計中使用Opencv 視覺庫設計燙金圖案識別算法、 標定算法、模板提取算法、輪廓匹配算法等,并將這些算法代碼封裝成動態鏈接庫供系統調用。 系統軟件界面在VS2010開發平臺上使用C# 語言進行設計開發。系統按功能模塊劃分進行設計,其包括人機交互模塊、參數設置模塊、相機標定模塊、相機拍照模塊、圖案模板編輯模塊、燙金圖案識別模塊、定位計算模塊、與機器人系統交互模塊、信息存儲模塊等。 系統體系結構示意圖如圖1 所示。

圖1 系統體系結構框圖Fig.1 System architecture diagram
由于不同批次的精裝盒上的燙金圖案各不相同,本文采用圖案匹配的方式來實現燙金圖案識別。目前關于圖像匹配的研究和應用比較多,圖像匹配算法按照處理方式不同主要有灰度相關算法、 變換域信息算法和圖像特征相關算法三種方式[4]。
SURF 算法是由Herbert Bay 等在2006 年首次提出的一種穩健的局部特征點檢測和描述算法。該算法是Sift算法的加速版本, 改進了Sift 算法的特征的提取和描述方式,用一種更為高效的方式完成特征的提取和描述。對物體的旋轉、光照等情況有較好的魯棒性[5]。SURF 算法的實現流程如下:
(1)構建Hessian 矩陣(黑塞矩陣),構造高斯金字塔尺度空間。
(2)利用非極大值抑制初步確定特征點。
(3)精確定位極值點。
(4)選取特征點主方向。
(5)構造SURF 特征點描述算子。
(6)進行特征點匹配。
SURF 算法在求主方向階段過于依賴局部區域像素的梯度方向, 即便不大偏差角度也可以造成后面特征匹配的誤差放大,從而使匹配不成功。
本文針對這種問題提出了一種改進的SURF 匹配算法[6-8],提高了匹配的成功率。 其改進方法為在進行SURF算法前,加入圖像濾波處理和邊緣檢測兩項預處理。
在應用于燙金圖案識別時, 由于精裝盒在拍照時兩邊有檔條定位,位置變化小,故精裝盒上燙金圖案的位置變化也小。 本文在進行圖案匹配時只需要對設定的ROI 區域進行圖像識別,這樣縮短了計算時間,提高了實時性。 具體實現方法如圖2 所示。

圖2 改進的SURF算法流程圖Fig.2 Improved SURF algorithm flowchart
在匹配算法程序測試中, 我們的軟件開發工具為VS2010,使用的視覺庫為Opencv2.9。將精裝盒移動不同位置后進行拍照,得要實驗圖片。本次實驗中使用的精裝盒如圖3 所示, 需要匹配的燙金圖案為橢圓中的圖案。
算法實現中, 首先加載模板圖片和目標圖片,然后按照圖2流程進行程序實現。 算法的部分代碼如下所示:

圖3 測試精裝盒Fig.3 Hardcover box for test



最后本文將模板圖片與目標圖片的匹配點用線連接在一起,實驗結果如圖4,圖5 所示。 圖4 為本文選擇的模板圖片原圖匹配效果,圖5 為將精裝盒旋轉90°后,燙金圖案的匹配效果。

圖4 燙金圖案原圖匹配效果Fig.4 Matching effect of the original bronzing pattern

圖5 燙金圖案旋轉90°效果Fig.5 Matching effect of bronzing pattern rotated 90°
在精裝盒燙金圖案壓紋生產線上,使用的機器人是水平多關節機器人,其上安裝的夾具為長條形夾具,夾具安裝方式為一端固定在機器人上下運動的R 軸上。這種安裝方式下夾具的中心點不在機器人上下運動的R 軸的中心點上,這種情況稱夾具為偏心夾具。 夾具如圖6 所示。
在生產工藝要求上, 機器人每次抓取精裝盒時根據燙金圖案位置調整機器人位置保證夾具與燙金圖案的位置關系始終一致。此時燙金圖案位置數據無法直接使用,需要處理計算為定位數據[9,10]。
燙金圖案定位數據為機器人移動到取盒位置時的偏差量數據,其目的是保證機器人抓取精裝盒時, 每次抓取時其姿態位置與燙金圖案的位置關系始終保持一致。 機器人與燙金圖案的位置關系在燙金圖案模板設定時確定。機器人抓取精裝盒的水平面移動量和旋轉軸的旋轉角度值為機器人初始設置的位置數據與燙金圖案定位數據之和。 我們假定燙金圖案模板設定時燙金圖案坐標值為p0(x0,y0,θ0),機器人抓取精裝盒時坐標值為p1(x1,y1,θ1),當前燙金圖案位置數據坐標值為p2(x2,y2,θ2),則燙金圖案定位坐標值為△p(△x,△y,△θ),以上數據中x,y 為機器人坐標系下平面坐標值,θ 為旋轉角度值。 則圖案定位坐標的旋轉角度為:

圖6 精裝盒夾具Fig.6 Hardcover box fixture

在計算燙金圖案定位坐標△p(△x,△y)時,我們假定機器人在p1點抓取燙金圖案模板旋轉△θ角度后, 得到的燙金圖案模板坐標值p3(x3,y3,θ3)為:

根據此坐標值, 最終得到燙金圖案定位坐標值△p(△x,△y,△θ)為:

化簡公式(3)中的中間變量得:

在系統的實現中, 系統將燙金圖案識別的數據通過上述公式(4),計算為燙金圖案定位數據,然后將其發送給機器人系統執行。
本文基于Opencv 的精裝盒燙金圖案識別與定位系統應用在精裝盒燙金圖案自動壓紋生產線上, 實現了燙金圖案識別、定位、缺損檢測等功能。 解決了人工操作燙金圖案壓紋精確度不高和質量不穩定的缺點, 提高了燙金圖案壓紋精度和生產效率,為企業提高了經濟效益。