一種汽車鎖扣鉚點的視覺檢測方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于圖像處理技術(shù)領(lǐng)域,涉及一種汽車鎖扣鉚點的視覺檢測方法。
【背景技術(shù)】
[0002] 汽車鎖扣是汽車的一個重要安全部件,其工作的可靠性和穩(wěn)定性直接影響著駕駛 人員的財產(chǎn)甚至生命安全,而鎖扣檢測是保證其質(zhì)量的一個重要環(huán)節(jié)。鉚點的尺寸規(guī)格直 接影響著鉚接質(zhì)量,所以鉚點直徑必須保證在一定尺寸偏差內(nèi)。由于鉚點分布在汽車鎖扣 表面,凸體較短,不便于裝夾進行傳統(tǒng)測量,且傳統(tǒng)的測量鎖扣鉚點的方法存在不穩(wěn)定、精 度低的缺點,難以達到檢測目的;檢測效率很低,不能適應生產(chǎn)線產(chǎn)量大、效率高的要求。 [0003]目前大部分廠家都是通過人工肉眼目測完成的,人工檢測速度慢,可靠性差,容易 漏檢。機器視覺是一門集數(shù)字圖像處理、機械工程、電子工程、光學工程及軟件工程等技術(shù) 的綜合學科,其核心就是對采集到的圖像進行處理和分析。在常規(guī)的視覺檢測中,冗雜的門 鎖表面工藝對提取鉚點特征存在很大的干擾,難以精確定位、保證測量精度。因此提出了一 種基于機器視覺的汽車鎖扣鉚點檢測方法,該方法不受工件擺放位置以及圖像幾何失真的 影響,也無需進行機械矯正,并使用改進的梯度銳化算法增強了鉚點的輪廓,提高了測量的 準確度。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的在于提供一種汽車鎖扣鉚點的視覺檢測方法,解決傳統(tǒng)的鎖扣鉚點 測量方法所存在的不穩(wěn)定、精度低、檢測效率低下,不能適應生產(chǎn)線的大產(chǎn)能問題。
[0005] 本發(fā)明所采用的技術(shù)方案是按照以下步驟進行:
[0006] 步驟1 :對測量系統(tǒng)進行相機標定;
[0007] 步驟2 :加載相機的檢測圖像,并作預處理;采用圖像灰度化處理減少圖像冗余信 息,高斯平滑濾波去除圖像噪聲,采用均衡化處理改善圖像質(zhì)量及增加對比度,最后對處理 后的圖像進行邊緣提?。?br>[0008] 步驟3 :對預處理后的圖像采用概率Hough變換進行直線檢測,從而建立以鎖扣邊 緣為基準的圖像初級測量坐標系;
[0009] 步驟4 :進行坐標仿射變換,采用仿射變換對圖像進行校正以消除圖像幾何失真; 規(guī)定仿射變換后測量坐標系的X軸與圖像橫坐標平行,y軸與圖像縱坐標平行,且鎖扣邊 緣相互垂直,圖像橫縱坐標是圖像顯示設備的默認坐標,本發(fā)明以左上角為原點;選取原點 〇 (X。,y。),1:的端點a 2 (x2, y2),12的端點b 2 (x4, y4)作為仿射變換參考點,變換后對應點分別 為0'(X。',y。')、a2'(x 2',y2')和b2'(x4',y4'),變換后的坐標為汽車鎖扣在標準姿態(tài)下提取 的水平邊緣、豎直邊緣所對應的坐標;
[0010] 步驟5 :在仿射變換后測量坐標系中定位鉚點所在區(qū)域;求取以鎖扣邊緣為基準 的圖像初級測量坐標系下鉚點圓心坐標、直徑及ROI感興趣區(qū)域的窗口大?。?br>[0011] 步驟6 :為了補償濾波對ROI鉚點輪廓的平滑,依據(jù)鉚點自身成像特點使用梯度銳 化對其進行處理,使分離圖像的輪廓細節(jié)更加清晰,增加測量的準確度;
[0012] 步驟7 :采用隨機Hough變換提取鉚點的輪廓并計算鉚點直徑。
[0013] 進一步,所述步驟1中,選用12X9邊長為20mmX20mm的標準棋盤進行常規(guī)線性 標定,標定方法選用張正友相機標定方法。
[0014] 進一步,所述步驟3中,根據(jù)汽車鎖扣的幾何形狀特征,提取鎖扣邊緣并建立圖 像測量坐標系;建立以水平邊緣為X軸,豎直邊緣為y軸,0點為原點的圖像初級測量 坐標系;設提取的水平邊緣I1的起點和終點分別為a Jx1, Y1), a2(x2, y2),豎直邊緣12為 Id1 (x3, y3),b2 (x4, y4),分別求出兩條邊緣在圖像像素坐標系下的斜率和截距為kp k2、h、b2; 測量坐標系原點0(?, 的計算公式如下:
[0016] 進一步,所述步驟4中標準姿態(tài)下為零件不繞Z軸旋轉(zhuǎn)且不發(fā)生縱向傾斜的放置 狀態(tài)。
[0017] 進一步,所述步驟5定位鉚點所在區(qū)域方法為:從CAD設計圖紙中得到鉚點直徑 及其中心到兩條邊緣的物理距離,分別為d w、xw、yw,由標定已經(jīng)得到像素在橫向和縱向的物 理分辨率設為S x,Sy,將物理距離轉(zhuǎn)化為像素距離,從而定位每個鉚點所在的ROI感興趣區(qū) 域,由于定位誤差的出現(xiàn),并不能保證ROI窗口能夠完全包含對應的鉚點,因此設置一個尺 度系數(shù)Scale控制窗口的大?。?br>[0018] dpixel=dw/Sx
[0019] Xpixel= X W/Sx
[0020] Yp1Xel= y w/Sy
[0021] WinSizex= dwXScale/Sx
[0022] WinSizey= dwXScale/Sy;
[0023] 通過上式計每個鉚點對應的像素坐標Xpi3rel、ypiMl就可以在測量坐標系下設定鉚點 ROI,把鉚點區(qū)域從復雜的檢測圖像中分離出來。
[0024] 進一步,所述步驟6中梯度銳化的方法為:對于圖像f(x,y),任意的點(X,y)梯 度在函數(shù)f (X,y)最大變化率方向上,梯度幅度設為Gm[f (X,y)],設置門限判斷對梯度銳化, 銳化公式如下式所示:
[0026] 其中,G'M[f(x,y)]為最終的灰度代替值,GUf(Xj)L= 255, Iw i表示銳化閾 值,當梯度值大于T' ^寸,其值加 T1,從而加強梯度邊緣;T' 2表示灰度的閾值,當圖像灰 度值大于T' 2時,灰度值減T2,保留原圖高灰度值信息同時消除了其對梯度邊緣的影響,其 他情況灰度值不變。
[0027] 本發(fā)明的有益效果是能夠有效地對汽車鎖扣鉚點直徑進行高效率、高精度的檢 測。
【附圖說明】
[0028] 圖1為本發(fā)明鉚點直徑視覺檢測總體流程圖;
[0029] 圖2為鉚點檢測圖像預處理流程圖;
[0030] 圖3為鎖扣棱邊提取效果圖;
[0031] 圖4為測量坐標仿射變換示意圖;
[0032] 圖5為鉚釘定位示意圖;
[0033] 圖6鉚點輪廓直接識別效果圖;
[0034] 圖7鉚點梯度銳化輪廓識別效果圖。
【具體實施方式】
[0035] 下面結(jié)合【具體實施方式】對本發(fā)明進行詳細說明。
[0036] 本發(fā)明汽車鎖扣鉚點的視覺檢測方法如圖1所示,圖1是鉚點直徑視覺檢測總體 流程圖。首先,對系統(tǒng)相機進行標定,加載檢測圖像,并作相關(guān)預處理,再根據(jù)汽車鎖扣的實 際幾何形狀,提取邊緣特征建立圖像測量坐標系,仿射變換可以減少因鎖扣放置偏差而引 起的圖像失真。然后,分別在測量坐標系中定位鉚點所在區(qū)域、設置R0I,把鉚點從復雜的檢 測圖像中分離出來,并用改進后的銳化算法對其進行處理以加強輪廓,最后測量鉚點直徑。 具體方法如下步驟:
[0037] 步驟1 :對測量系統(tǒng)進行相機標定,選用12X9邊長為20mmX 20mm的標準棋盤進 行常規(guī)線性標定,標定方法選用經(jīng)典的張正友相機標定方法;
[0038] 步驟2 :加載相機的檢測圖像,并作預處理,如圖2所示;其內(nèi)容包括:采用圖像灰 度化處理大大減少圖像冗余信息,高斯平滑濾波去除圖像噪聲,采用均衡化處理改善圖像 質(zhì)量及增加對比度,最后對處理后的圖像進行邊緣提取;
[0039] 步驟3 :對預處理后的圖像采用概率Hough變換進行直線檢測,從而建立以鎖扣邊 緣為基準的圖像初級測量坐標系;
[0040] 根據(jù)汽車鎖扣的幾何形狀特征,提取鎖扣邊緣并建立圖像測量坐標系;建立以水 平邊緣為X軸,豎直邊緣為y軸,0點為原點的圖像初級測量坐標系;由于汽車鎖扣表面造 型十分復雜,存在著大量圓形和弧形工藝,對鉚點的定位與輪廓的提取造成極大干擾,難以 直接對鉚點直徑進行測量。通過觀察,該類型汽車鎖扣的兩條棱邊較其他特征區(qū)別明顯,輪 廓比較清晰。設提取的水平邊緣I 1的起點和終點分別為a Jx1, Y1), a2(x2, y2),同理豎直邊 緣12為b i (x3, y3),b2 (x4, y4),分別求出兩條邊緣在圖像像素坐標系下的斜率和截距為ki、k2、 bpbdUlJ量坐標系原點0(X(j,y。)的計算公式如下:
[0042] 通過上述步驟建立了圖像初級測量坐標系,由于坐標系是以鎖扣邊緣為基準的相 對坐標,因此其保證了測量不受工件擺放位置的影響,無需傳統(tǒng)的機械矯正。
[0043] 圖3是本發(fā)明提供的鎖扣棱邊提取效果圖。鎖扣圖像間的特征相對邊緣L 12的 距離是由零件自身設計尺寸決定的,不會隨鎖扣沿相機光軸的旋轉(zhuǎn)而發(fā)生變化。
[0044] 步驟4 :進行坐標仿射變換,采用仿射變換對圖像進行校正以消除圖像幾何失真。 仿射變換可以校正物體所有可能的與位姿相關(guān)的變化,為了與圖像像素坐標統(tǒng)一并便于后 續(xù)鉚點的定位,規(guī)定仿射變換后測量坐標系的X軸與圖像橫坐標平行,y軸與圖像縱坐標平 行,且鎖扣邊緣相互垂直。圖像橫縱坐標是圖像顯示設備的默認坐標,一般以圖像顯示設備 的左上角或者左下角為原點,與圖片的相關(guān)格式基準有關(guān)。本發(fā)明以左上角為原點。
[0045] 這里選取原點0 (X。,y