劉 凡, 張 權(quán), 劉 祎, 趙 明, 桂志國,2
(1. 電子測試技術(shù)國家重點實驗室(中北大學(xué)), 山西 太原 030051;2. 儀器科學(xué)與動態(tài)測試教育部重點實驗室(中北大學(xué)), 山西 太原 030051)
玻璃焊帶直線檢測算法研究
劉 凡1, 張 權(quán)1, 劉 祎1, 趙 明1, 桂志國1,2
(1. 電子測試技術(shù)國家重點實驗室(中北大學(xué)), 山西 太原 030051;2. 儀器科學(xué)與動態(tài)測試教育部重點實驗室(中北大學(xué)), 山西 太原 030051)
為了實現(xiàn)工業(yè)上玻璃焊帶高效、 高精度的自動切割, 提出了一種投影梯度法(Projection Gradient Method, PGM): 新方法首先將待檢測的原圖像進(jìn)行模板匹配, 獲得一個待檢測直線區(qū)域的子圖像, 再將子圖像在垂直方向進(jìn)行投影, 獲得灰度投影向量并求梯度得到灰度投影梯度向量, 然后將子圖像圍繞中心旋轉(zhuǎn), 當(dāng)待檢測直線與投影方向平行的時候, 投影梯度向量的極大值是最大的, 再根據(jù)圖像的旋轉(zhuǎn)和平移變換可求出待檢測直線的方程. 實驗結(jié)果表明: 梯度投影法能夠滿足玻璃焊帶實時檢測切割的要求.
玻璃焊帶; 模板匹配; 子圖像; 圖像旋轉(zhuǎn); 直線檢測
在玻璃焊帶實際檢測切割過程中, 直線檢測的技術(shù)尤為關(guān)鍵. Hough變換是檢測直線最常用的方法之一. 但是Hough變換運(yùn)算量大、 速度慢, 不滿足實時檢測的需求. 文獻(xiàn)[1]提出了一種改進(jìn)的Hough變換LSD算法, 該算法用于局部提取直線, 雖然時間復(fù)雜度底, 但是由于局部檢測算法自增長的特點, 對于長線段被遮擋、 局部模糊等情況經(jīng)常會被分裂成多條直線. 文獻(xiàn)[2]采用直線擬合的方法進(jìn)行直線檢測, 能夠快速檢測出邊緣直線, 但是該算法受噪聲影響較大, 特別是邊緣不平整的情況下將嚴(yán)重影響檢測精度. 針對Hough變換存在效率低下, LSD快速直線檢測存在局部算法的缺點; 直線擬合算法沒有較強(qiáng)的抗干擾能力, 本文提出了一種新的直線檢測算法——投影梯度法. 該方法首先對待檢測的直線區(qū)域進(jìn)行模板匹配, 對匹配得到子圖像在垂直方向投影并求梯度得到投影梯度向量; 然后將子圖像按一定的小角度步長圍繞中心旋轉(zhuǎn), 當(dāng)投影梯度向量的極大值取得最大值時, 待檢測的直線方向是垂直的.
圖 1 給出了玻璃焊帶檢測切割的流程[3-4]. 圖1(a)中, 玻璃4邊外側(cè)的白色區(qū)域為銀層; 圖1(b)中, 上下黑色的矩形為焊帶. 具體的流程為: ① 對于圖1(a), 檢測左邊和右邊銀層的外側(cè)邊緣直線, 記錄檢測的偏移值; ② 對于圖1(b), 在上下銀層水平方向上自動放置焊帶, 根據(jù)第一步檢測的偏移值, 對放上去焊帶進(jìn)行切割, 圖1(c)是圖1(b)焊帶切割好之后順時針旋轉(zhuǎn)90°的效果圖; ③ 對于圖1(c), 檢測左右兩邊焊帶的內(nèi)側(cè)邊緣直線, 記錄其檢測的偏移值. ④ 對于圖1(c)在上下銀層水平方向上自動放置焊帶, 根據(jù)第③步檢測的偏移值, 對焊帶進(jìn)行切割, 圖1(d)是最終焊帶切割完成的效果圖. 最終使玻璃4周的銀層上都有焊帶, 形成了一個回字型的密閉空間, 為真空玻璃的封邊奠定了基礎(chǔ).
圖 1 玻璃焊帶的切割示意圖Fig.1 Schematic image of glass welding strip cutting
圖 2 是玻璃焊帶檢測切割過程中用相機(jī)采集的原始圖像. 圖2白色的亮區(qū)域為玻璃上的銀層, 圖2(c) 銀層上面的灰色長矩形是焊帶. 圖2(a)待檢測直線與垂直方向平行; 圖2(b)待檢測的直線與垂直方向有一定的夾角; 圖2(c)待檢測焊帶內(nèi)側(cè)邊緣直線平行于垂直方向.
圖 2 玻璃邊角的原始圖像Fig.2 The original image of the glass edge angle
在實際檢測切割過程中, 由于焊帶是自動放在水平銀層上面的, 對于玻璃無焊帶圖像, 切割刀是根據(jù)水平銀層與垂直銀層外側(cè)邊緣交線的偏移值進(jìn)行切割; 對于玻璃有焊帶圖像, 切割刀是根據(jù)水平銀層與焊帶內(nèi)側(cè)邊緣交線偏移值進(jìn)行切割. 因此, 為了排除背景的干擾, 提高算法的精度, 以及減少銀層上面的孔洞劃痕等影響, 本文算法第一步采用模板匹配[5-7], 對待檢測的直線進(jìn)行定位; 第二步對于模板匹配定位出來的子圖像, 再使用投影梯度法來對直線進(jìn)行檢測. 針對玻璃無焊帶的原始圖像, 具體闡述本文的算法.
模板匹配就是在一幅大圖像中搜索小圖像, 大圖像中有要找的目標(biāo), 且該目標(biāo)同模板圖像有相同的大小與方向, 通過一定的算法可以在圖中定位到目標(biāo), 確定其坐標(biāo)位置[8-10]. 本文從向量相關(guān)角度實現(xiàn)圖像匹配. 對于大小為M×N的圖像f(x,y)和大小為J×K的子圖像模板w(x,y), 將子圖像w(x,y)認(rèn)為是一個按行或按列存儲的向量b, 將計算過程中被w(x,y)覆蓋的圖像區(qū)域視為按另一個按照相同方式存儲的向量a. 兩個向量之間的點積為
由于相關(guān)響應(yīng)存在著對f(x,y)和w(x,y)的灰度幅值相對敏感的缺陷. 可以通過對向量乘積歸一化解決這個問題. 通過式(2)來計算.
如圖 3 是歸一化相關(guān)匹配法的效果圖.
圖 3 歸一化相關(guān)匹配法的效果圖Fig.3 Result image of normalized correlation matching method
圖3(a)~(d)分別是玻璃無焊帶的原始圖像, 圖3(e)是模板圖像, 模板圖像是從玻璃無焊帶的原始圖像中截取待檢測直線的區(qū)域. 圖3(f)~(i)分別對應(yīng)圖3(a)~(d)歸一化相關(guān)匹配法的效果圖. 圖3(f)~(i) 中黑色矩形是根據(jù)圖3(e)模板匹配定位出來的區(qū)域.
從圖3(f)~(e)匹配效果圖中可以看出, 即使玻璃視野在圖像中移動, 待檢測直線有一定傾斜角度, 圖像背景的差異和玻璃銀層上有氧化等情況, 歸一化相關(guān)匹配法能夠克服背景環(huán)境等干擾, 準(zhǔn)確地定位直線檢測的區(qū)域, 具有很好的匹配效果.
基于投影梯度法是把二維的圖像灰度像素值投影變換成一維的數(shù)據(jù), 再在一維數(shù)據(jù)的基礎(chǔ)上進(jìn)行梯度運(yùn)算. 投影示意圖如圖 4 所示.
圖 4 投影示意圖Fig.4 The diagram of projection
其中s為投影方向,t為其垂直方向, 則圖像函數(shù)f(x,y)沿著s的投影定義為
當(dāng)θ固定時,p為t的函數(shù).θ不斷在0到2π之間變換, 可以得到在不同方向上的投影, 特別地, 當(dāng)θ為0°和90°時, 在x,y軸上的投影分別為
本文針對玻璃無焊帶圖像模板匹配出來的子圖像, 從垂直方向進(jìn)行投影[12], 設(shè)投影圖像的寬度和高度分別為W,H.i,j分別為圖像的第i行和第j列,f(i,j)為這一點的灰度像素值. 設(shè)為在圖像垂直方向上對每列進(jìn)行投影得到的投影向量:S=[S0,S1,…,Sj,…,SW-1]. 其中
對于投影向量S, 將相鄰兩項投影值進(jìn)行后向差分運(yùn)算, 得到一個投影梯度向量D=[S0-S1,S1-S2,…,Sj-1-Sj,…,SW-2-SW-1].
1) 圖像待檢測直線方向平行于投影方向
如果模板匹配出來的子圖像的待檢測直線方向平行于投影方向, 沿著垂直方向上投影, 該直線被投影成一個點, 則該直線在其對應(yīng)投影點在梯度向量中的梯度值將呈現(xiàn)極大值[13]. 搜索此極值在梯度向量中的位置就可以知道圖像中沿此方向的直線表達(dá)式. 圖 5 是投影向量和投影梯度向量波形圖.
圖 5 投影向量和投影梯度向量的波形圖Fig.5 The waveform of projection vectors and projected gradient vectors
圖5(a)是對原始圖像通過模板匹配定位截取出來的子圖像, 圖像中要檢測直線方向平行于投影方向, 圖5(b)是投影向量的波形圖, 橫坐標(biāo)表示投影圖像每一列, 縱坐標(biāo)表示投影向量元素的平均值, 即S/H, 其中S為投影向量,H為投影圖像的高度. 圖5(c)為投影梯度向量的波形圖.
2) 圖像上要檢測的直線方向不平行于投影方向
圖 6 旋轉(zhuǎn)效果圖Fig.6 The diagram of rotate
如果模板匹配出來的子圖像的待檢測直線方向不平行于投影方向, 沿著垂直方向上投影, 該直線被投影成一條小線段. 設(shè)Dmax為投影梯度向量D中元素的最大值. 將模板匹配的子圖像以小角度步長圍繞圖像中心旋轉(zhuǎn), 每旋轉(zhuǎn)一個角度, 都有一個Dmax, 分別記為Dmax1,Dmax2,…,Dmaxk, 定義投影梯度最大值向量G[Dmax1,Dmax2,…,Dmaxk]. 隨著圖像的旋轉(zhuǎn), 待檢測直線沿垂直方向上投影下來的線段越來越短, 其投影梯度向量的最大值越來越大, 隨著待檢測的直線方向逐漸旋轉(zhuǎn)到平行于投影方向, 直線的投影將從線段逐漸縮小為一個點. 當(dāng)投影梯度最大值向量G取得最大值Gmax時, 圖像中待檢測的直線也就旋轉(zhuǎn)到垂直方向. 圖 6 是旋轉(zhuǎn)效果圖. 圖6(a)是對原始玻璃無焊帶圖像(圖3(d))模板匹配定位截取出來的子圖像, 圖6(b)是將待檢測直線旋轉(zhuǎn)至垂直方向的圖像.
通過投影梯度法, 可以得到圖6(a)到圖6(b) 沿中心旋轉(zhuǎn)的角度θ, 以及圖6(b)待檢測直線的表達(dá)式, 設(shè)為x=R, 在x=R上任取兩點(0,R), (h,R), 假設(shè)匹配定位截取出來的圖像寬度和高度分別為w,h. 匹配出來的區(qū)域的左上角坐標(biāo)點在原始圖像中為(m,n).
點(x0,y0)圍繞圖像坐標(biāo)原點(0,0)轉(zhuǎn)θ角度后坐標(biāo)為(x1,y1). 則
文中對模板匹配截取后的子圖像旋轉(zhuǎn)是圍繞圖像中心進(jìn)行的, 則先要將坐標(biāo)系平移到中心點, 再進(jìn)行圖像的旋轉(zhuǎn), 然后平移到坐標(biāo)原點[14-16]. 則圖像的旋轉(zhuǎn)公式為
其逆預(yù)算為
將圖6(b)中在x=R直線上的兩點(0,R), (h,r)帶入式(8), 可以得到圖6(a)中待檢測直線上兩個點坐標(biāo), 再經(jīng)過平移變化, 將圖6(a)中的兩個點轉(zhuǎn)換為圖3(d)中兩個點的坐標(biāo), 設(shè)為(X1,Y1), (X2,Y2), 則
在圖6(b)上求出的表達(dá)式直線上取兩點, 通過圖像的旋轉(zhuǎn)和平移變換, 可以求出原始圖像中待檢測直線的兩點坐標(biāo), 即可知道原始圖像中待檢測直線的表達(dá)式. 因此, 對于一幅原始待檢測直線圖像, 首先通過模板匹配, 定位到待檢測直線的區(qū)域, 得到模板匹配子圖像, 然后進(jìn)行圖像旋轉(zhuǎn), 再根據(jù)圖像投影梯度的極大值即可求出待檢測直線的表達(dá)式.
此次實驗所采用的照片是在玻璃焊帶實時切割過程中用相機(jī)采集的. 實驗是運(yùn)用Visual Studio 2012結(jié)合Opencv 3.0編寫出來的程序在Windows 7系統(tǒng)下進(jìn)行的. 圖 7 選取了3組不同類型的玻璃焊帶圖像用來作為實驗結(jié)果的對比分析. 圖 7 是PGM, Hough變換和LSD檢測的效果對比圖.
圖 7 檢測效果圖Fig.7 The result image of detection
圖7(a)和圖7(e)的待檢測直線是具有一定夾角的玻璃無焊帶的原始圖像、 圖7(i)的待檢測直線是具有一定夾角玻璃有焊帶的原始圖像. 投影梯度法的檢測結(jié)果如圖7(d)、 圖7(h)和圖7(l)所示, 已將所檢測出來的直線用白線繪制在圖上(下同). 圖7(b)、 圖7(f)和圖7(j)是傳統(tǒng)Hough變換檢測的效果圖, 其中圖7(b)、 圖7(f)、 圖7(j)累加平面的閾值參數(shù)分別為165,295,145. 圖7(c)、 圖7(g)和圖7(k) 為LSD快速直線檢測的效果圖.
梯度投影法沒有經(jīng)過任何的邊緣提取和濾波等處理, 從圖7(d)、 圖7(h)和圖7(l)的檢測結(jié)果可以看出, 梯度投影法能夠準(zhǔn)確地檢測玻璃焊帶邊緣直線. 傳統(tǒng)的Hough變換雖然能夠檢測到待檢測的直線, 從圖7(b)、 圖7(f)和圖7(j)檢測的效果圖中可以看出, 累加平面閾值參數(shù)選取過大, 則檢測不到待檢測的直線, 累加平面閾值參數(shù)選取過小, 則會檢測到圖像中其它的直線. 因此, Hough變換很難選取一個閾值, 能夠適應(yīng)所有的檢測情況, 檢測的結(jié)果受到閾值選取的嚴(yán)重影響. 雖然LSD算法在檢測過程中不依賴于參數(shù), 更適合進(jìn)行自動檢測并且檢測的速度較快, 能在短時間內(nèi)獲得亞像素級的結(jié)果. 但是由于LSD快速直線檢測存在局部算法的缺點, 從而會導(dǎo)致檢測到多條不相干的直線. 從圖7(c)、 圖7(g)和圖7(k) 經(jīng)過LSD直線檢測的效果圖中可以看出, 檢測出來的直線會出現(xiàn)斷裂, 圖像中直線段的數(shù)量非常多.
與Hough變換相比, 梯度投影法不需要事先提取邊緣點, 就能直接進(jìn)行直線檢測. 由于省去了邊緣點的提取過程, 即可提高直線檢測的速度; 梯度投影法也不需要對閾值進(jìn)行事先的確定, 就能直接對直線進(jìn)行檢測, 可以避免傳統(tǒng)方法中由于累加平面閾值選取不恰當(dāng)所帶來的直線檢測誤差.
與LSD快速直線檢測算法相比, 梯度投影法具有很強(qiáng)的抗干擾能力, 盡管玻璃銀層有些氧化, 以及銀層上有孔洞劃痕等一些背景的干擾, 梯度投影法都能正確的檢測到待檢測的直線. 而LSD快速直線檢測算法會檢測到許多其它短線段, 導(dǎo)致誤檢, 不能夠滿足玻璃焊帶圖像實時檢測切割的工業(yè)要求.
表 1 是實際玻璃焊帶切割過程中機(jī)械臂的偏移值與梯度投影直線檢測算法偏移值的對比. 表1中單位均為mm. 偏差Δx是機(jī)械臂實際移動距離, 偏差Δy是算法檢測到的偏差值, 誤差d=Δy-Δx. 通過機(jī)械臂實際移動的距離與算法檢測移動距離做對比, 可以檢測算法的精度. 從表 1 中可以看出誤差|d|<0.1 mm, 滿足工業(yè)玻璃焊帶切割的實際要求.
表 1 機(jī)械臂偏差值與算法偏差值對比誤差
梯度投影直線檢測方法能夠很好地檢測直線, 不需要事先對閾值進(jìn)行選取, 就能直接進(jìn)行直線檢測, 具有很強(qiáng)的自適應(yīng)能力, 并且可以避免傳統(tǒng)方法中由于累加平面閾值參數(shù)選取不恰當(dāng)所帶來的直線檢測誤差. 對于玻璃銀層有氧化、 孔洞及背景等干擾, 梯度投影法能夠很準(zhǔn)確地檢測到待檢測的直線. 該方法對復(fù)雜的情況具有一定的抗干擾能力. 梯度投影法能夠快速準(zhǔn)確地檢測到直線且具有較高的檢測精度, 能夠滿足玻璃焊帶實時檢測切割的要求.
[1] Gioi R G V, Jakubowicz J, Morel J M, et al. LSD: A line segment detector[J]. Image Processing on Line, 2012, 2(4): 35-55.
[2] 倪金輝, 肖軍, 文立偉. 一種基于直線擬合的預(yù)浸料邊緣直線在線視覺檢測方法[J]. 計算機(jī)科學(xué), 2015, 42(s1): 16-23.
Ni Jinhui, Xiao Jun, Wen Liwei. A linear fitting based on pre dip edge line detection method of online visual [J]. computer science, 2015, 42(S1): 16-23. (in Chinese)
[3] 夏建春, 陳賢. 基于機(jī)器視覺的模切片缺失檢測與定位研究[J]. 模具工業(yè), 2012, 38(12): 24-26.
Xia Jianchun, Chen Xian. Research on machine vision based die slicing defect detection and localization [J]. Die & Mould Industry 2012, 38 (12): 24-26. (in Chinese)
[4] 朱良. 機(jī)器視覺在工業(yè)機(jī)器人抓取技術(shù)中的應(yīng)用[D]. 沈陽: 中國科學(xué)院研究生院(沈陽計算技術(shù)研究所), 2016.
[5] 單小軍, 唐娉. 圖像匹配中誤匹配點檢測技術(shù)綜述[J]. 計算機(jī)應(yīng)用研究, 2015(9): 2561-2565.
Shan Xiaojun, Tang Ping. Image matching error matching point detection technology [J]. Application Research of Computers, 2015 (9): 2561-2565. (in Chinese)
[6] 馮亦東, 孫躍. 基于SURF特征提取和FLANN搜索的圖像匹配算法[J].圖學(xué)學(xué)報, 2015, 36(4): 650-654.
Feng Yidong, Sun Yue. Image matching algorithm based on SURF feature extraction and FLANN search [J]. Journal of graphics, 2015, 36 (4): 650-654. (in Chinese)
[7] 唐琎, 李青. 一種快速的模板匹配算法[J]. 計算機(jī)應(yīng)用, 2010, 30(6): 1559-1561.
Tang Jin, Li Qing. A fast template matching algorithm for [J]. computer application, 2010, 30 (6): 1559-1561. (in Chinese)
[8] Savvides M, Juefei-Xu F. Image matching using subspace-based discrete transform encoded local binary patterns, US9171226[P]. 2015.
[9] Lindeberg T. Image Matching Using Generalized Scale-Space Interest Points[J]. Journal of Mathematical Imaging and Vision, 2015, 52(1): 3-36.
[10] Balntas V, Tang L, Mikolajczyk K. BOLD - Binary online learned descriptor for efficient image matching[C]. IEEE Conference on Computer Vision and Pattern Recognition. 2015
[11] 任玲輝, 劉凱, 張海燕,等. 灰度投影積分極值法的矩形檢測[J]. 計算機(jī)工程, 2012, 38(8): 159-160.
Ren Linghui, Liu Kai, Zhang Haiyan, et al. Rectangle detection of grey integral projection extremum method [J]. Computer Engineering, 2012, 38 (8): 159-160. (in Chinese)
[12] 孫煜杰, 楊歡, 吳政隆, 等. 基于灰度投影的跑道線提取方法[J]. 兵工自動化, 2015(11): 9-13.
Sun Yujie, Yang Huan, Wu Zhenglong, et al. Method of racetrack extraction based on gray projection [J]. Ordnance Industry Automation, 2015 (11): 9-13.(in Chinese)
[13] Gao X F, Shi Z H. An Improved Image Matching Algorithm Based on Gray Value Projection[J]. Aeronautical Computing Technique, 2012.
[14] 張文增, 陳強(qiáng), 都東,等. 直線檢測的灰度投影積分方法[J]. 清華大學(xué)學(xué)報(自然科學(xué)版), 2005, 45(11): 1446-1449.
Zhang Wenzeng, Chen Qiang, Du Dong, et al. Gray-scale projection integration method for straight line detection [J]. Journal of Tsinghua University (Science and Technology), 2005, 45 (11): 1446-1449.(in Chinese)
[15] Henderson C, Izquierdo E. Reflection Invariance: an important consideration of image orientation[J]. Computer Science, 2015.
[16] Costa J P D, Weisbecker P, Farbos B, et al. Investigating carbon materials nanostructure using image orientation statistics[J]. Carbon, 2015, 84: 160-173.
ResearchontheStraightLineDetectionAlgorithmofGlassWeldingBelt
LIU Fan1, ZHANG Quan1, LIU Yi1, ZHAO Ming1, GUI Zhiguo1,2
(1. State Key Laboratory of Electronic Measurement Technology (North University), Taiyuan 030051, China;2. Instrument Science & Dynamic Measurement, Ministry of Education Key laboratory of (North University), Taiyuan 030051, China)
In order to realize automatic cutting of glass welding tape with high efficiency and precision in industry, a kind of Projection Gradient Method (PGM) was put forward. Firstly, template matching was used on the detected original image to get sub-images including the lines that to be detected. Then these sub-images are projected in the vertical direction in order to obtain the gray projection vector. The gradient of gray projection vector is calculated to construct the gradient projection vector. Rotating the sub image around its center, when the detected lines parallel to the direction of its projection, the peak of gradient projection vector would be the largest. According to the image rotation and translation transformation, equations of detected lines could finally be formed. The experimental results showed that the gradient projection method could meet the requirements of real-time detection and cutting of glass welding belt.
glass welding tape; template matching; sub image; image rotation; line detection
1671-7449(2017)06-0461-08
2017-03-21
國家自然科學(xué)基金資助項目(61671413); 山西省自然科學(xué)基金資助項目(2015011046); 電子測試技術(shù)重點實驗室開放基金資助項目(ZDSYSJ2015006); 中北大學(xué)科研基金資助項目(XJJ2016019); 山西省青年基金資助項目(201601D021080); 山西省回國留學(xué)人員科研資助項目(2016-085)
劉 凡(1992-), 男, 碩士生, 主要從事圖像處理的研究.
桂志國(1972-), 男, 教授, 博士, 主要從事圖像處理與重建、 無損檢測的研究.
TP391
A
10.3969/j.issn.1671-7449.2017.06.001