国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

模板匹配優(yōu)化耦合圖像校正的旋轉(zhuǎn)工件目標(biāo)定位算法*

2016-07-04 01:11:50胡明星王小蘭2
關(guān)鍵詞:目標(biāo)識(shí)別

胡明星,王小蘭2

(1.華中師范大學(xué)武漢傳媒學(xué)院,武漢 430205;2.華中科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,武漢 430074)

模板匹配優(yōu)化耦合圖像校正的旋轉(zhuǎn)工件目標(biāo)定位算法*

胡明星1,王小蘭2

(1.華中師范大學(xué)武漢傳媒學(xué)院,武漢430205;2.華中科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,武漢430074)

摘要:為了解決當(dāng)前工件定位算法難以有效識(shí)別帶有旋轉(zhuǎn)角度的目標(biāo),且計(jì)算復(fù)雜度大等不足,文章設(shè)計(jì)了基于Canny檢測(cè)與SIFT特征的旋轉(zhuǎn)工件目標(biāo)識(shí)別算法。首先,對(duì)采集工件圖像的RGB三通道完成權(quán)重分配,獲取灰度化圖像;并利用Canny邊緣檢測(cè)和霍夫直線檢測(cè)處理灰度圖像,計(jì)算出工件旋轉(zhuǎn)角度;并基于幾何變換,定義圖像校正模型,消除工件旋轉(zhuǎn)角度,對(duì)其完成復(fù)位處理,并采用模板匹配在圖像中定位工件。最后分別提取模板工件與待識(shí)別工件的SIFT特征,計(jì)算歐式距離,以度量相似性,完成工件目標(biāo)識(shí)別。實(shí)驗(yàn)數(shù)據(jù)顯示:與當(dāng)前識(shí)別算法相比,在面對(duì)帶有旋轉(zhuǎn)角度工件時(shí),文中工件目標(biāo)識(shí)別算法具備更高的準(zhǔn)確性和魯棒性。

關(guān)鍵詞:霍夫變換;幾何變換;SIFT;模板匹配;目標(biāo)識(shí)別

0引言

近幾年來,計(jì)算機(jī)視覺,這個(gè)以圖像處理算法與軟件編程為基礎(chǔ)的多學(xué)科技術(shù),越來越多的應(yīng)用于工業(yè)領(lǐng)域中的目標(biāo)定位。而在工業(yè)領(lǐng)域中離不開各種工件的制造、傳送、組裝,在這些過程中,都需要用到工件目標(biāo)定位,能否對(duì)工件進(jìn)行準(zhǔn)確定位,直接影響制造質(zhì)量[1-2]。以往采用人眼定位工件位置,操作設(shè)備作業(yè)工件,此種方法不但效率低下,而且成本較高。對(duì)此,研究人員于提出了計(jì)算機(jī)視覺技術(shù),代替人眼定位工件,把數(shù)據(jù)傳輸給設(shè)備,不僅精度高,而且效率也明顯提高[3-4]。

目前有一些基于圖像處理算法的視覺技術(shù)用于工件目標(biāo)定位,并取得了一定成果。如楊萌等[5]先基于目標(biāo)模板遍歷圖像查找目標(biāo)位置,然后分別提取目標(biāo)特征與模板特征,進(jìn)行距離比較,最后確定目標(biāo)位置。如趙君愛等[6]先基于灰度圖像分割得到二值圖像,然后逐個(gè)提取輪廓的幾何特征,最后與先驗(yàn)標(biāo)準(zhǔn)進(jìn)行對(duì)比,從而確定目標(biāo)位置。

雖然上述工件定位技術(shù)用于不帶有旋轉(zhuǎn)的工件時(shí),具有良好的識(shí)別質(zhì)量;但是在實(shí)際情況中,待定位的工件往往是帶有旋轉(zhuǎn)角度的,而上述方法對(duì)于角度沒有很好的耦合性,使其定位精度欠佳。

對(duì)此,有學(xué)者對(duì)模板定位方法進(jìn)行了改進(jìn),如余旺盛等人[7]為了解決旋轉(zhuǎn)目標(biāo)跟蹤問題,提出了基于旋轉(zhuǎn)不變直方圖的快速匹配窮搜索,并通過基于雙圓定位的旋轉(zhuǎn)不變直方圖對(duì)目標(biāo)進(jìn)行了準(zhǔn)確的定位和旋轉(zhuǎn)校正,從而提高了工件定位精度,但是該算法需要依賴雙圓形定位,其圓的半徑、雙圓位置的確定是比較局限的,且容易丟失部分細(xì)節(jié)特征,使其直方圖存在失真,繼而使其精度有待進(jìn)一步提高。

對(duì)此,本文以提高對(duì)旋轉(zhuǎn)工件定位的精度與效率為目標(biāo),提出了基于Canny檢測(cè)與SIFT特征的旋轉(zhuǎn)工件目標(biāo)識(shí)別算法。并測(cè)試了本文算法的工件定位精度。

1本文旋轉(zhuǎn)工件定位算法設(shè)計(jì)

本文對(duì)帶有旋轉(zhuǎn)角度的工件目標(biāo)完成定位,主要分為角度測(cè)量、圖像校正、目標(biāo)定位、特征匹配。因工件旋轉(zhuǎn)角度為工件邊緣與圖像寬邊夾角,而邊緣與圖像寬邊都為直線。因此,基于Canny邊緣檢測(cè)與霍夫變換查找直線,計(jì)算旋轉(zhuǎn)角度。再獲取旋轉(zhuǎn)角度后,采用圖像幾何變換算法,對(duì)圖像進(jìn)行校正,使工件目標(biāo)無角度旋轉(zhuǎn)。然后基于模板,遍歷圖像,定位出疑似工件目標(biāo)的位置,并提取出SIFT描述算子,計(jì)算出疑似工件與模板的SIFT描述算子歐式距離,測(cè)量出相似度,進(jìn)行定性判斷,從而完成帶旋轉(zhuǎn)角度的工件目標(biāo)定位。本文算法的流程見圖1。

圖1 系統(tǒng)架構(gòu)圖

1.1旋轉(zhuǎn)角度計(jì)算與圖像校正

由于采集到的工件圖像往往存在一定的旋轉(zhuǎn),見圖2。為此,本文采用先對(duì)其完成圖像校正,再定位目標(biāo)。首先將圖像灰度化,為邊緣檢測(cè)做好準(zhǔn)備。本文采用黑白相機(jī)取像,由于其數(shù)據(jù)通道為RGB三通道,計(jì)算量大,故對(duì)其完成灰度處理,轉(zhuǎn)換成單通道,提高系統(tǒng)效率。為了更好地符合人眼特性,本文對(duì)采集圖像RGB三通道的權(quán)重進(jìn)行分配,得到加權(quán)灰度化模型:

gray(x,y)=0.299R(x,y)+0.587G(x,y)+

0.114B(x,y)

(1)

其中,gray(x,y)為圖像坐標(biāo)(x,y)處的灰度值;R(x,y)為紅色通道(x,y)處的亮度值;G(x,y)為綠色通道(x,y)處的亮度值;B(x,y)為藍(lán)色通道(x,y)處的亮度值。

經(jīng)模型(1)處理后的灰度圖像,見圖2,其工件目標(biāo)帶有明顯的旋轉(zhuǎn)角度。

圖2 灰度化工件圖像

隨后,采用Canny邊緣檢測(cè)處理灰度圖像。首先,進(jìn)行二維高斯濾波去噪:

(2)

式中K為高斯濾波,δ為高斯核。

完成濾波后,用X、Y方向Canny算子進(jìn)行一階有限差分處理,求灰度值梯度。其中X與Y方向的Canny算子為:

(3)

(4)

計(jì)算X,Y一階偏導(dǎo)矩陣,如式(5)、(6)所示。

(5)

(6)

式中P為X方向一階偏導(dǎo)矩陣,Q為X方向一階偏導(dǎo)矩陣,f為圖像矩陣。

(7)

θ[i,j]=arctan(Q(i,j)/P(i,j))

(8)

式中M為幅值矩陣,θ為方向矩陣。

圖3 邊緣檢測(cè)圖像

經(jīng)過邊緣檢測(cè)處理得到二值圖輪廓后,再引入霍夫變換[8],查找直線,以計(jì)算出直線與水平面的夾角,即工件目標(biāo)旋轉(zhuǎn)角度。本文基于OpenCV圖像庫函數(shù)cvHoughLines2實(shí)現(xiàn)基于霍夫的直線檢測(cè),結(jié)果見圖4。從下圖中可知,圖像中的直線北精確檢測(cè)出來,所有直線與工件目標(biāo)水平線平行。

圖4 霍夫直線檢測(cè)圖像

得到目標(biāo)旋轉(zhuǎn)角度后,再進(jìn)行圖像幾何變換,即圖像校正。校正模型為:

(9)

式中W0、H0為原圖寬高;Wn、Hn為新圖寬高;a為旋轉(zhuǎn)角度;x,y為新圖坐標(biāo);x0,y0為原圖坐標(biāo)。

經(jīng)模型(5)校正后的圖像見圖5。從圖中可知,經(jīng)過模型(5)處理后,有效消除了旋轉(zhuǎn)角度,為后續(xù)圖像定位提供良好的基礎(chǔ)。

圖5 校正后的工件圖像

部分關(guān)鍵代碼:

IplImage*gray=cvCreateImage(cvGetSize(image),8,1);

cvCvtColor(image,gray,CV_BGR2GRAY);

cvCanny(gray,gray,200,250,3);

CvMemStorage*storage=cvCreateMemStorage(0);

CvSeq*Lines=NULL;

int max=0;

double angle=0.0;

for(int i=0;itotal;i++)

{

CvPoint*line=(CvPoint*)cvGetSeqElem(Lines,i);

if((line(0).x-line(1).x)*(line(0).x-line(1).x)+(line(0).y-line(1).y)*(line(0).y-line(1).y)>max){

max=(line(0).x-line(1).x)*(line(0).x-line(1).x)+(line(0).y-line(1).y)*(line(0).y-line(1).y);

angle=atan((double)(line(0).y-line(1).y)/(double)(line(0).x-line(1).x))*180/3.14;}

cvLine(image,line(0),line(1),CV_RGB(255,0,0),3,8);

}

rotateImage(image,image,angle);

void rotateImage(IplImage*img,IplImage*img_rotate,int degree){

CvPoint2D32f center;

center.x=float(img->width/2.0+0.5);

center.y=float(img->height/2.0+0.5);

float m(6);

CvMat M=cvMat(2,3,CV_32F,m);

cv2DRotationMatrix(center,degree,1,&M);

cvWarpAffine(img,img_rotate,&M,CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS,cvScalar(0));}

1.2目標(biāo)定位與特征分析

得到校正圖像后,使得目標(biāo)不帶旋轉(zhuǎn)角度。接下來,本文利用模板匹配定位(9)的方法查找目標(biāo)。本文同樣基于OpenCV函數(shù)cvMatchTemplate實(shí)現(xiàn),以比較圖像目標(biāo)與模板圖像的平方差。該值越小,表明檢測(cè)到的目標(biāo)與模板越接近。大致步驟為:

(1)是先截取一個(gè)標(biāo)準(zhǔn)工件目標(biāo)圖像作為模板;

(2)然后在待處理圖像中,以模板圖像大小,進(jìn)行逐個(gè)像素遍歷,計(jì)算平方差,并記錄;

(3)遍歷完成后,以平方差最小處的坐標(biāo)定位工件位置,從而完成目標(biāo)定位。

為了進(jìn)一步提高定位精度,本文引入SIFT特征描述算子[10],確認(rèn)目標(biāo)是否準(zhǔn)確。SIFT特征描述算子具有方向、大小、對(duì)比度無關(guān)性,即不敏感性?;诙嗑S空間變換下的高斯濾波[11],分別提取模板圖像與檢測(cè)目標(biāo)的SIFT特征描述算子,以計(jì)算歐式距離,取相似度最高處坐標(biāo)為檢測(cè)定位結(jié)果。SIFT特征描述算子由位置特征因子、方向特征因子組成:

m(x,y)=

(10)

(11)

其中,m為位置特征因子;θ為方向特征因子。最后的定位質(zhì)量見圖6。依圖可知,精確定位出了圖像中間的矩形工件目標(biāo)。

圖6 定位圖像

部分關(guān)鍵代碼:

IplImage*src2,*temp1,*ftmp,*ROI;

src2=cvCreateImage(cvGetSize(image),8,3);

cvCopy(image,src2,NULL);

cvResetImageROI(image);

temp1=cvLoadImage("D:match.bmp");

int iwidth=src2->width-temp1->width+1;

int iheight=src2->height-temp1->height+1;

ftmp=cvCreateImage(cvSize(iwidth,iheight),32,1);

double min_val;

double max_val;

CvPoint min_loc;

CvPoint max_loc;

cvMatchTemplate(src2,temp1,ftmp,0);

cvMinMaxLoc(ftmp,&min_val,&max_val,&min_loc,&max_loc,NULL);

cvSetImageROI(image,cvRect(image->width/8+min_loc.x,image->height/8+min_loc.y,temp1->width,temp1->height));

ROI=cvCreateImage(cvGetSize(image),8,3);

cvCopy(image,ROI,NULL);

cvResetImageROI(image);

m_CvvImage.CopyOf(image,1);

m_CvvImage.DrawToHDC(hDC,&rect);

2實(shí)驗(yàn)與討論

為了直觀體現(xiàn)本文算法的旋轉(zhuǎn)工件定位效果,在VS2013平臺(tái)上基于C++語言編程實(shí)現(xiàn)。仿真條件為Windows7系統(tǒng)。部分關(guān)鍵實(shí)驗(yàn)參數(shù):Canny高閾值為200,低閾值為50,霍夫線段長(zhǎng)為200。同時(shí),為了體現(xiàn)所提技術(shù)的先進(jìn)性,將當(dāng)前定位性能較好地算法視為對(duì)照組:文獻(xiàn)[5]與文獻(xiàn)[7]。

取一張旋轉(zhuǎn)角度較明顯的工件圖像,見圖7。再利用所提算法與對(duì)照組技術(shù)對(duì)其完成定位,結(jié)果見圖8~圖11。依圖可知,本文算法消除了旋轉(zhuǎn)角度,見圖8,精確定位出了目標(biāo),見圖9;文獻(xiàn)[7]雖然能識(shí)別目標(biāo),但其定位精度不高,沒有準(zhǔn)確識(shí)別目標(biāo)位置,存在誤差,見圖11。而文獻(xiàn)[5]的精度最差,定位失敗,無法精確識(shí)別目標(biāo),見圖10。原因是本文算法對(duì)旋轉(zhuǎn)工件進(jìn)行了幾何變換校正,有效消除角度,并在模板匹配定位中引入SIFT特征描述子,優(yōu)化定位結(jié)果。而文獻(xiàn)[7]算法是通過雙圓定位,在確定其圓半徑與雙圓位置時(shí),丟失了諸多細(xì)節(jié)特征,使其精度不高。而文獻(xiàn)[5]算法沒有對(duì)旋轉(zhuǎn)工件完成校正,使其定位失敗。

圖7 具有旋轉(zhuǎn)角度的工件圖像

圖8 本文算法的校正圖像

圖9 本文算法的定位結(jié)果

圖10 文獻(xiàn)[5]的定位結(jié)果

圖11 文獻(xiàn)[7]的定位效果

為了比較兩種算法的效率,挑選了100圖像進(jìn)行處理,由于本文先校正后定位,只需一次圖像遍歷即可完成定位搜索,而文獻(xiàn)[5]采用較多角度的模板圖像,故必須逐一模板進(jìn)行遍歷,文獻(xiàn)[7]需要對(duì)目標(biāo)模板的全局最優(yōu)窮搜索,其復(fù)雜度仍然較高。故對(duì)照組的運(yùn)算效率遠(yuǎn)遠(yuǎn)不如本文算法。最終統(tǒng)計(jì)以時(shí)間為標(biāo)準(zhǔn),本文算法消耗時(shí)間為26s;而文獻(xiàn)[7]、文獻(xiàn)[5]的算法消耗時(shí)間分別為66s、149s。

3結(jié)論

為了解決工件旋轉(zhuǎn)目標(biāo)定位的精度與效率問題,本文提出并實(shí)現(xiàn)了一個(gè)Canny檢測(cè)與SIFT特征的旋轉(zhuǎn)工件目標(biāo)識(shí)別算法。本文算法徹底避開了當(dāng)前的定位思想:先定位后校正分析的方式。而所提技術(shù)是先測(cè)量旋轉(zhuǎn)角度并校正圖像,后定位分析的方式,不但提高了精度,也改善了效率。實(shí)驗(yàn)驗(yàn)證結(jié)果表明:在面對(duì)帶有旋轉(zhuǎn)角度工件定位時(shí),本文算法擁有更好的自適應(yīng)性,且具有更高的定位精度與效率。

[參考文獻(xiàn)]

[1] 沈霞.工件裝配基準(zhǔn)端的形狀識(shí)別研究[J].現(xiàn)代制造工程,2015,37(2):117-120.

[2] Trinidad Pérez-Palacios,Daniel Caballero,Andrés Caro.Applying data mining and Computer Vision Techniques to MRI to estimate quality traits in Iberian hams[J].Journal of Food Engineering, 2014,131(7);82-88.

[3] 張亞榮,裴志利.OpenCV耦合三目視覺的標(biāo)準(zhǔn)件目標(biāo)定位研究與應(yīng)用[J].組合機(jī)床與自動(dòng)化加工技術(shù),2015(1):67-70.

[4] 張智豐,張亞榮,裴志利.OpenCV 耦合人機(jī)交互的手機(jī)表面目標(biāo)檢測(cè)定位研究[J].組合機(jī)床與自動(dòng)化加工技術(shù),2015(3):67-70.

[5] 楊萌.基于機(jī)器視覺的工件特征識(shí)別與分類方法研究[J].無線互聯(lián)科技,2014,23(17):96-99.

[6] 趙君愛.工件表面微小缺陷的檢測(cè)與識(shí)別方法[J].東南大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,73(2):371-376.

[7] 余旺盛,侯志強(qiáng),田孝華.基于旋轉(zhuǎn)不變直方圖的快速匹配窮搜索[J].電子學(xué)報(bào),2012,40(11):2177-2182.

[8] 魏弦.基于3D視覺識(shí)別的工件姿態(tài)研究[J].煤礦機(jī)械,2013,13(21):31-36.

[9] Jisung Yoo,Sung Soo Hwang, Seong Dae Kim.Scale-Invariant Template Matching using Histogram of Dominant Gradients[J].Pattern Recognition,2014,47(9):3006-3018.

[10] Jing-neng Liu,Gui-hua Zeng.Improved global context descriptor for describing interest regions[J].Journal of Shanghai Jiaotong University (Science), 2012,17(2):147-152.

[11] Roaldje Nadjiasngar,Michael Inggs.Gauss-Newton filtering incorporating Levenberg-Marquardt methods for tracking[J].Digital Signal Processing,2013,23(5):1662-1667.

(編輯趙蓉)

The Research and Application on the Rotary Workpiece Recognition Based on Canny Detect and SIFT Features

HU Ming-xing1,WANG Xiao-lan2

(1.Wuhan Media and Communications College of Huazhong Normal University, Wuhan 430205,China;2.College of Computer Science and Technology,Huazhong University of Science and Technology,Wuhan 430205,China)

Abstract:Industry in the field of vision,it is necessary to identify all kinds of artifacts with rotation Angle,and at present most there is larger error recognition algorithm.With rotation Angle in order to improve the recognition rate of work piece,this paper puts forward a set of based on hough transform and the rotation of the SIFT features of target recognition system, and the program implementation.First using Canny edge detection and Hough straight line detection, the gray image processing, calculation work a rotation Angle.Then based on the geometric transform correction work piece Angle,and USES the template matching positioning the work piece in the image.Finally respectively extracted template SIFT features of work piece and to identify the artifacts,calculate the Euclidean distance,similarity measure,complete work piece target recognition.Verified by the experiment,this article artifacts the accuracy and robustness of target recognition algorithm is superior to the common algorithm,and meet the requirements of practical engineering.

Key words:hough transform; geometric transformation; SIFT; template matching; target recognition

文章編號(hào):1001-2265(2016)06-0035-04

DOI:10.13462/j.cnki.mmtamt.2016.06.009

收稿日期:2015-10-21

*基金項(xiàng)目:國(guó)家自然科學(xué)基金項(xiàng)目(60673010);湖北省教育廳項(xiàng)目(D201118007)

作者簡(jiǎn)介:胡明星(1980—),女,武漢人,華中師范大學(xué)武漢傳媒學(xué)院講師,碩士,研究方向?yàn)橛?jì)算機(jī)應(yīng)用、目標(biāo)識(shí)別,(E-mail)humxing02580@sina.com。

中圖分類號(hào):TH161;TG506

文獻(xiàn)標(biāo)識(shí)碼:A

猜你喜歡
目標(biāo)識(shí)別
基于偏振數(shù)字圖像的特征提取及處理方法研究
一種BCI與SAR融合的目標(biāo)檢測(cè)系統(tǒng)設(shè)計(jì)
Java數(shù)字音頻識(shí)別程序
渡口水域安全監(jiān)管技術(shù)研究
渡口水域安全監(jiān)管技術(shù)研究
全自動(dòng)模擬目標(biāo)搜救系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
動(dòng)態(tài)場(chǎng)景中的視覺目標(biāo)識(shí)別方法分析
基于PC的視覺解決方案在 Delta機(jī)器人抓放中的應(yīng)用
移動(dòng)機(jī)器人圖像目標(biāo)識(shí)別
基于深度學(xué)習(xí)的目標(biāo)反饋?zhàn)R別系統(tǒng)
永丰县| 安西县| 绥德县| 甘德县| 吉首市| 榕江县| 肃南| 连云港市| 五家渠市| 舟山市| 虹口区| 普陀区| 海宁市| 溆浦县| 北海市| 大渡口区| 桂平市| 鹿邑县| 永定县| 亳州市| 库车县| 弋阳县| 新源县| 潼南县| 成安县| 灌阳县| 阿坝| 茂名市| 印江| 昌图县| 云阳县| 西贡区| 锦州市| 桐柏县| 封开县| 布拖县| 泸西县| 日土县| 平潭县| 肃宁县| 南充市|