吳元偉,朱建公,廖 璇,周 軍,廖曉波
(1.西南科技大學(xué) 制造過程測試技術(shù)省部共建教育部重點(diǎn)實(shí)驗室,四川 綿陽 621010;2.綿陽逢研科技有限公司,四川 綿陽 621010)
隨著人們生活水平的不斷提高,縫制行業(yè)極具前景,但行業(yè)競爭也日趨白熱化,如何提高生產(chǎn)效率與縫制質(zhì)量成為行業(yè)發(fā)展的主要方向[1]。隨著工業(yè)縫紉機(jī)的問世,縫制速度與縫制效率迅速提高;然而,目前縫制工藝中縫制時間僅占比21%,大量時間消耗在人工取料、送料和定位等操作上,大大降低了縫制的效率[2]。為了提高縫制行業(yè)自動化和智能化程度,必須采用工業(yè)機(jī)器手來代替人工取料、送料和定位操作;但是工業(yè)機(jī)器手在操作過程中,大都采用人工編程或者示教的方法進(jìn)行操作,限制了其應(yīng)用場景。因此,本文通過給工業(yè)機(jī)器手增加視覺系統(tǒng)來實(shí)現(xiàn)對縫料的姿態(tài)識別和定位,從而推動縫制行業(yè)的自動化、智能化發(fā)展。
圖像特征提取是圖像識別定位的前提,圖像特征包括顏色、紋理、形狀以及局部特征點(diǎn)等。局部特征點(diǎn)具有很好的穩(wěn)定性,且不容易受外界環(huán)境的干擾,因此在目標(biāo)識別定位中得到了廣泛的應(yīng)用。SIFT算法(尺度不變特征變換)由Lowe[3-4]于1999年發(fā)表,并在2004年完善。SIFT算子通過構(gòu)建差分金字塔和為特征點(diǎn)構(gòu)建128維向量的方式,使得SIFT特征描述子不受角度旋轉(zhuǎn)和尺度縮放影響,并且對于外界環(huán)境的亮度變化、拍攝視角變化和噪聲都有一定的穩(wěn)定性,因此SIFT算法一經(jīng)問世便獲得廣泛關(guān)注與應(yīng)用[5-6]。李鵬飛[7]利用SIFT算法去除掉一些無用點(diǎn)后使用Forstner算法獲得縫料尺寸與位置。董煜文[8]將SIFT 算法和Graham算法結(jié)合,在獲取目標(biāo)圖像匹配點(diǎn)集的凸包后,利用最小外接矩形和比例變換找到衣架指夾在圖像中的位置。SIFT算法由于匹配精度高和環(huán)境適應(yīng)性強(qiáng)等優(yōu)點(diǎn)取得了廣泛的應(yīng)用,但是算法存在運(yùn)算量大、速度低、實(shí)時性不強(qiáng)等問題。針對上述問題,許多學(xué)者從減少特征點(diǎn)數(shù)量和描述子維度的方向進(jìn)行研究。Y.Ke[9]在2004年提出的PCA-SIFT算法中,利用主元分析法代替了SIFT算子中的直方圖法,使得算法描述子維度從128維降至20維,提高了算法的運(yùn)算速度。Herbert[10]于2006年提出的SURF算法利用Hessian矩陣行列式的近似值圖像代替SITF算法的DOG金字塔,雖然犧牲了一部分精度,但速度提升了2~3倍。曹霞等人[11]首先提取蕾絲花邊的紋理特征和形狀特征,然后與SURF特征在不同層次進(jìn)行匹配,提高了檢索速度和準(zhǔn)確性。
Harris算子利用自相關(guān)函數(shù),通過計算x和y方向的一階曲率來判定角點(diǎn)[12];Harris算法相比SIFT算法無需構(gòu)建DOG金字塔,檢測速度快,但其特征點(diǎn)不具備方向、尺度等信息。因此,本文將Harris算子與SIFT算法進(jìn)行結(jié)合,首先在大尺度空間下利用Harris提取特征點(diǎn),然后將其映射到小尺度空間生成SIFT描述子,并進(jìn)行特征粗匹配。同時,為消除特征點(diǎn)數(shù)量減少而導(dǎo)致的定位精度下降影響,在完成粗匹配后,通過模板匹配的方式提高匹配精度。
縫料視覺定位系統(tǒng)由硬件定位平臺、伺服驅(qū)動軟件和圖像處理軟件構(gòu)成。其中硬件定位平臺由定位機(jī)構(gòu)、伺服電機(jī)、攝像頭和光源組成;圖像處理軟件用于提取目標(biāo)縫料的質(zhì)心和偏移角度;伺服驅(qū)動軟件負(fù)責(zé)姿態(tài)解算和驅(qū)動載物臺移動。
在相機(jī)分辨率一定的情況下,相機(jī)平面與定位目標(biāo)的高度決定了圖像識別區(qū)域大小與定位精度,因此需要通過伺服電機(jī)調(diào)整到指定高度;縫料由于其薄片性質(zhì)可以將其近似看做二維物體。因此,為驗證視覺定位系統(tǒng)準(zhǔn)確性,選用如圖1所示的四坐標(biāo)定位機(jī)構(gòu),平臺具有x、y、z三軸和繞z軸旋轉(zhuǎn)的4個高精度伺服電機(jī),伺服電機(jī)單點(diǎn)運(yùn)動精度為0.01 mm,旋轉(zhuǎn)精度為0.05°。為驅(qū)動伺服電機(jī),平臺搭載一套專用的PMAC運(yùn)動控制板卡。首先,利用圖像處理軟件獲取目標(biāo)縫料質(zhì)心位置和角度,并通過平臺配套的上位機(jī)軟件進(jìn)行解析后發(fā)送到運(yùn)動控制板卡驅(qū)動伺服電機(jī)移動。
圖1 視覺定位硬件平臺
擬定定位縫料尺寸為200*300 mm以內(nèi),定位精度為0.2 mm。根據(jù)透鏡模型選擇WP-UFV500工業(yè)相機(jī),相機(jī)分辨率為1 944*2 592,搭配WP-5M0620-C鏡頭,相機(jī)安裝在距定位平面410 mm位置。同時,為減少外部環(huán)境帶來的干擾,采用維視圖像的100 W可調(diào) LED機(jī)器視覺專用光源。
如圖2所示,縫料視覺定位軟件系統(tǒng)包括視覺處理軟件和伺服驅(qū)動軟件。其中視覺處理軟件由相機(jī)標(biāo)定[13]、圖像預(yù)處理[14]、特征提取[15]和特征匹配[16]組成,主要用于獲取縫料姿態(tài)信息;伺服驅(qū)動軟件將姿態(tài)信息轉(zhuǎn)換為移動步長與旋轉(zhuǎn)角度,驅(qū)動載物臺和相機(jī)移動到合適位置。
圖2 縫料視覺定位系統(tǒng)結(jié)構(gòu)
在圖像測量中,為確定目標(biāo)物體在圖像坐標(biāo)系與世界坐標(biāo)系的對應(yīng)關(guān)系,需要建立成像的幾何模型。建立幾何模型的前提就是獲取相機(jī)參數(shù),而獲取參數(shù)的過程就是相機(jī)標(biāo)定。因此,在平臺安裝完成后,需要通過相機(jī)標(biāo)定構(gòu)建多坐標(biāo)系關(guān)系和消除相機(jī)畸變[17],其中多坐標(biāo)系包括像素坐標(biāo)系、圖像坐標(biāo)系、相機(jī)坐標(biāo)系與世界坐標(biāo)系。像素坐標(biāo)系到世界坐標(biāo)系的轉(zhuǎn)換關(guān)系如式(1):
(1)
其中:像素坐標(biāo)系坐標(biāo)為(u,v),世界坐標(biāo)系坐標(biāo)為(X,Y,Z),式中2*2矩陣表示坐標(biāo)系的平移變換,4*3矩陣則為相機(jī)內(nèi)參矩陣,包含相機(jī)焦距、像元尺寸等固定參數(shù)。
在相機(jī)制造過程中,受到相機(jī)鏡片制造和安裝誤差的影響,相機(jī)采集的圖像往往會發(fā)生彎曲,導(dǎo)致圖像失真,這種失真即是圖像畸變。圖像畸變包括徑向畸變和切向畸變,而切向畸變影響較小,因此一般只需要消除徑向畸變的影響。相比傳統(tǒng)標(biāo)定算法,張正友標(biāo)定法只需要一個打印棋盤即可進(jìn)行標(biāo)定,標(biāo)定簡單且精度高,其標(biāo)定流程如圖3所示。
圖3 張正友標(biāo)定法流程圖
首先將棋盤圖像張貼在平面上,然后從不同角度拍攝多張圖像,并利用棋盤的角點(diǎn)計算在理想狀態(tài)下的相機(jī)內(nèi)外參數(shù),最后通過最小二乘法和極大似然估計得到真實(shí)的相機(jī)內(nèi)外參數(shù)。標(biāo)定后得到單個像素對應(yīng)的實(shí)際物理尺寸為0.012 09 mm,標(biāo)定矩陣如式(2)所示:
(2)
圖像質(zhì)量的好壞直接影響算法的效果,因此需要進(jìn)行圖像預(yù)處理。圖像預(yù)處理主要是消除無關(guān)信息、提高運(yùn)算速度和增強(qiáng)信息的可檢測性。預(yù)處理流程如圖4所示。
圖4 預(yù)處理流程
2.1.1 圖像灰度化
本文相機(jī)采用的輸出格式為RGB圖像,圖像數(shù)據(jù)量巨大,若直接進(jìn)行后續(xù)圖像處理,不僅會降低系統(tǒng)實(shí)時性,同時也會引入顏色信息干擾系統(tǒng)處理效果。通過灰度變換將其轉(zhuǎn)換為單通道圖像,可以減少數(shù)據(jù)量和提高運(yùn)算速度[18]?;叶然饕蟹至糠ā⒆畲笾捣ā⑵骄捣ê图訖?quán)平均法,其中加權(quán)平均法(心理學(xué)公式)根據(jù)人眼對三基色不同敏感性賦予不同權(quán)重,如式(3)所示。
Gray(i,j)=
0.299*R(i,j)+0.578*G(i,j)+0.114*B(i,j)
(3)
式中,R(i,j)、G(i,j)和B(i,j)代表紅、綠、藍(lán)三基色對應(yīng)通道值。
2.1.2 圖像濾波
由于制造工藝影響,系統(tǒng)圖像在采集、傳輸、存儲過程中往往會被多種噪聲污染。與此同時,外界光源不理想或背景不干凈也會引入圖像噪聲。一般來說,圖像噪聲會對觀測目標(biāo)進(jìn)行干擾,噪聲與原圖真實(shí)灰度值進(jìn)行疊加,出現(xiàn)一些與目標(biāo)圖像整體灰度不相符的明暗干擾點(diǎn),不僅降低了圖像質(zhì)量,也會對后續(xù)特征提取等工作造成干擾。
為實(shí)現(xiàn)對縫料的精準(zhǔn)識別與定位,需要在過濾噪聲的同時,能夠很好的保護(hù)縫料的邊緣信息。在視覺定位系統(tǒng)中,主要存在高斯噪聲和椒鹽噪聲,其中光源不理想和相機(jī)的長期工作導(dǎo)致出現(xiàn)高斯噪聲;圖像傳輸和解碼過程中會出現(xiàn)椒鹽噪聲。
針對系統(tǒng)出現(xiàn)的高斯噪聲和椒鹽噪聲,需要分別進(jìn)行處理。高斯噪聲是指其噪聲出現(xiàn)的概率密度符合高斯分布,因此可以通過高斯濾波模型將圖像灰度值按照不同權(quán)重重新計算,降低噪聲能量。高斯濾波函數(shù)如式(4)所示,其中σ為高斯函數(shù)的方差。
(4)
椒鹽噪聲往往在灰度圖中表現(xiàn)為獨(dú)立的黑白點(diǎn),與背景或目標(biāo)物體灰度值差距較大。由于圖像中椒鹽噪聲點(diǎn)比例遠(yuǎn)小于圖像總像素點(diǎn),且椒鹽噪聲一般灰度值為0或者255,可以認(rèn)為像素鄰域中值點(diǎn)非椒鹽噪聲點(diǎn)。因此,可以通過中值濾波將像素鄰域的中值代替像素點(diǎn)灰度值來去除椒鹽噪聲。中值濾波算法簡單,運(yùn)算速度快,且不會因為加權(quán)而導(dǎo)致邊緣模糊,因此廣泛用于椒鹽噪聲的去除。中值濾波公式如式(5):
y=Mid(x1,x2,…,xn-1,xn)=
(5)
針對圖像中出現(xiàn)椒鹽噪聲和高斯噪聲,需要分別利用中值濾波和高斯濾波進(jìn)行抑制。首先通過中值濾波消除椒鹽噪聲,選用像素周圍8個像素中值作為像素灰度值,然后通過高斯濾波消除高斯噪聲,其中高斯函數(shù)方差σ為1.4,卷積核大小為5*5。
2.1.3 閾值分割
圖像濾波完成后,為進(jìn)一步減少圖像處理的數(shù)據(jù)量和提取圖像的感興趣部分,需要對圖像進(jìn)行閾值分割(二值化)。由大津提出的最大類間方差法(大津算法)被認(rèn)為是閾值分割的最佳算法。大津算法根據(jù)圖像的灰度特性,將圖像動態(tài)分為目標(biāo)和背景兩個部分。假設(shè)存在閾值TH將圖像像素分為C1和C2兩類,然后分別計算不同閾值時的前背景方差,當(dāng)兩部分方差最大時,則認(rèn)定此時的閾值TH為最佳閾值。最大類間方差法如式(6):
g=ω1ω2(μ1-μ2)2
(6)
其中:ω1和ω2分別表示前景與后景像素點(diǎn)個數(shù)占圖像總像素點(diǎn)的比例,μ1和μ2分別表示前后景的平均灰度值。
2.1.4 邊緣提取
邊緣檢測是圖像處理中極為重要的一種方法,一個清晰的邊緣對于目標(biāo)的測量和定位有著極其重要的意義。圖像邊緣是像素劇烈變化點(diǎn)的集合,表現(xiàn)為領(lǐng)域的一階導(dǎo)數(shù)存在較大值或二階導(dǎo)數(shù)符號改變。目前常用的邊緣檢測算法主要分為一階微分算子和二階微分算子,其中一階微分算子包括Roberts算子、Prewitt算子和Sobel算子,二階微分算子包括Laplacian算子、LoG算子和Canny算子。
Canny于1986年提出了邊緣檢測算子的3條判定準(zhǔn)則:信噪比、定位精度和單邊緣,并因此推導(dǎo)出Canny算子。Canny算子首先將圖像圖像進(jìn)行高斯平滑,然后通過計算梯度來估算邊緣強(qiáng)度和方向,并利用非極大值抑制和雙閾值來獲取強(qiáng)弱邊緣點(diǎn),最后通過邊界跟蹤剔除因噪聲引起的弱邊緣,從而得到真實(shí)的邊緣信息。Canny算子流程如圖5所示。
圖5 Canny算子流程圖
SIFT算法在檢測特征點(diǎn)和特征點(diǎn)描述部分耗時超過80%,因此降低特征點(diǎn)數(shù)量和描述子維度則成為研究重點(diǎn)。Harris算子特征點(diǎn)提取簡單,速度快 ,但不具備方向信息,因此本文利用SIFT 特征尺度空間的因果關(guān)系,使用Harris 算子在大尺度空間檢測特征點(diǎn)后映射到小尺度空間生成SIFT特征描述子。
Harris 角點(diǎn)檢測窗口平移產(chǎn)生的自相關(guān)函數(shù)如式(7):
(7)
其中:I(x,y)為輸入待檢測圖像,w(x,y)表示窗口函數(shù),(u,v)表示窗口平移量。
將平移后的圖像進(jìn)行泰勒展開,并忽略其高階余項,則自相關(guān)函數(shù)表示為:
(8)
R=det(M)-k(traceM)2
(9)
其中:det(M) =λ1*λ2,trace(M) =λ1 +λ2,λ1和λ2是M的特征值,k為常系數(shù)。
為了避免常數(shù)k的選取問題,將角度響應(yīng)函數(shù)R′定義為:
(10)
為了提高算法運(yùn)行速度,本文使用Harris算子在大尺度空間提取特征點(diǎn),在規(guī)定閾值的同時限制其最大提取特征點(diǎn)數(shù),算法如下:
(11)
式中,C為大尺度空間角點(diǎn)位置映射到小尺度空間的鄰域,即尋求的特征點(diǎn)是該鄰域角點(diǎn)響應(yīng)最強(qiáng)點(diǎn)。
在Harris算子特征點(diǎn)提取過程中,可能會產(chǎn)生大量偏移疊加點(diǎn),使用擬合或者尋找最強(qiáng)響應(yīng)點(diǎn)方式難以找到真實(shí)角點(diǎn),定位精度較差。為了解決粗定位精度不足的問題,提出一種改進(jìn)的可旋轉(zhuǎn)模板匹配算法:在傳統(tǒng)的模板匹配算法基礎(chǔ)上加入旋轉(zhuǎn)因子。
模板旋轉(zhuǎn)中心由式(12)表示,式中C為模板圖像區(qū)域,w(x,y)為(x,y)點(diǎn)處的像素值。
(12)
精匹配算法如(13)和(14)。式中,Δθ為模板繞其形心旋轉(zhuǎn)的角度,T為模板每次平移向量,M′和N′為圖片尺寸,S(x′,y′)為目標(biāo)圖像。
(13)
(14)
精匹配算法流程如圖6所示。為提高算法效率,本文選用二分法來快速迭代到指定精度。其中θ0為初始定位角,θ為最大迭代角,連續(xù)5次迭代精度誤差和小于β值則表明迭代完成。
圖6 精匹配算法流程圖
為驗證Harris-SIFT算法定位精度,需要計算縫料圖像與模板圖像的質(zhì)心和角度誤差。在完成目標(biāo)匹配后,將歐氏距離最小的4個特征點(diǎn)重合,當(dāng)重合點(diǎn)最多時假定縫料圖像與模板圖像重合。則此時目標(biāo)質(zhì)心(x0,y0)定義如下:
(15)
為檢測角度偏移值,首先需要將兩圖質(zhì)心重合,然后將歐式距離最小的4個特征點(diǎn)連接構(gòu)成四邊形。本文將四條邊的角度偏差平均值作為角度偏移值,其中單條邊角度偏差計算公式如(16)所示,其中(xo,y0)為質(zhì)心坐標(biāo),(x1,y1)和(x2,y2)為兩邊終點(diǎn)坐標(biāo)。
θ=Arccos
(16)
為了檢測基于Harris-SIFT算法的縫料視覺定位系統(tǒng)的實(shí)時性與準(zhǔn)確性,與基于傳統(tǒng)SIFT算法的視覺定位系統(tǒng)檢測結(jié)果進(jìn)行對比,并分析實(shí)驗結(jié)果。
本文選用了6種縫料,分別為方形、平行四邊形、三角形、六邊形、月牙形與帶孔多邊形,以上縫料皆為手工裁剪,非標(biāo)形狀。方形、平行四邊形、六邊形和三角形縫料使用同一縫料,內(nèi)部存在毛絨,用于檢測毛絨物和不同形狀對匹配精度的影響;月牙形和帶孔多邊形為異形縫料,用于檢測不同材質(zhì)縫料對匹配精度的影響。
圖7 6種典型測試縫料
在圖像匹配算法中,特征點(diǎn)檢測耗時占比超過80%,因此,為驗證系統(tǒng)實(shí)時性,本文采用在不同角度的特征點(diǎn)檢測數(shù)量平均值作為評判指標(biāo)。下表列出了本文系統(tǒng)算法與SIFT算法在尺度空間σ=5.0下的測試數(shù)據(jù)。
圖8 6種縫料特征點(diǎn)檢測數(shù)量與耗時對比
從(a)圖中可以看出,SIFT算法容易將噪聲檢測為特征點(diǎn),例如方形內(nèi)部毛絨物較多,因此特征點(diǎn)數(shù)量多。而本文系統(tǒng)算法提取到的特征點(diǎn)數(shù)量相對較少且較為穩(wěn)定,特征點(diǎn)數(shù)量在4~15以內(nèi)。從檢測時間上來看,本文系統(tǒng)算法相比SIFT算法檢測時間同比縮小4~5倍。
為了驗證和測試系統(tǒng)的穩(wěn)定性和匹配精度,本文測試了6種縫料的實(shí)際匹配效果,包括質(zhì)心定位誤差與旋轉(zhuǎn)角度誤差。本文將模板圖像質(zhì)心置于(100 mm,100 mm)處,將待定位圖像隨機(jī)置于圖像視野中某點(diǎn),并將待定位縫料依次旋轉(zhuǎn)180度生成180組待定位圖像。分別計算其質(zhì)心定位誤差與角度偏差,表1列出6種樣本的平均定位誤差和平均角度偏差,其中表中誤差均為180組樣本的平均值。
表1 不同縫料匹配結(jié)果
從表1數(shù)據(jù)可以看出,帶孔多邊形縫料輪廓清晰且邊緣無毛刺,定位誤差與旋轉(zhuǎn)角度偏差都較小;而月牙形縫料存在毛刺,匹配誤差較大,但定位誤差仍小于0.2 mm,角度偏移小于0.15度,滿足縫料工藝操作要求。
為解決傳統(tǒng)縫料定位效率低和精度差問題,本文在對SIFT和Harris算法進(jìn)行分析的基礎(chǔ)上,針對二維空間縫料,設(shè)計出一種基于Harris-SIFT改進(jìn)算法的縫料定位系統(tǒng)。
1)論文將Harris算子特征點(diǎn)代替SIFT算子特征點(diǎn),減少了特征點(diǎn)數(shù)量和描述子維度,提高了系統(tǒng)運(yùn)算效率;其次,通過模板匹配提高匹配精度,滿足縫料定位精度要求。
2)論文從理論和實(shí)驗上證明了基于Harris-SIFT算法的縫料視覺定位系統(tǒng)的可行性。實(shí)驗結(jié)果表明,基于 Harris-SIFT算法的縫料視覺定位系統(tǒng)檢測到的特征點(diǎn)數(shù)量較少且穩(wěn)定,特征點(diǎn)數(shù)量為4~15個,特征點(diǎn)提取時間相比基于SIFT算法的視覺定位系統(tǒng)縮小4~5倍。
3)通過實(shí)驗驗證,系統(tǒng)質(zhì)心定位精度為0.2 mm,定位角度偏差小于0.15°。系統(tǒng)在滿足縫料定位工藝要求的前提下,計算耗時更小,滿足實(shí)時性要求,可移植到嵌入式系統(tǒng)。
該系統(tǒng)的提出必將在縫制行業(yè)的自動化和智能化發(fā)展過程中得到廣泛應(yīng)用。