本發(fā)明屬于計(jì)算機(jī)視覺領(lǐng)域,具體的說涉及一種基于線結(jié)構(gòu)光的汽車輪胎三維定位方法。
背景技術(shù):
隨著我國經(jīng)濟(jì)建設(shè)的快速發(fā)展,汽車制造業(yè)也上了一個(gè)新的臺階,各種高、中、低檔汽車的產(chǎn)量不斷增加,利用機(jī)器人代替人工實(shí)現(xiàn)輪胎的自動搬運(yùn),不僅節(jié)約生產(chǎn)成本,提高生產(chǎn)效率,同時(shí)提高安全系數(shù),降低工人勞動強(qiáng)度,成為越來越多公司的理想選擇。
為了實(shí)現(xiàn)機(jī)器人自動搬運(yùn)輪胎,需要測量輪胎的位置,然后傳遞給機(jī)器人,引導(dǎo)機(jī)械手進(jìn)行抓取。而結(jié)構(gòu)光測量方法因設(shè)備簡單、實(shí)時(shí)性強(qiáng)而受到高度重視,尤其在對測量設(shè)備的體積、重量、功耗要求嚴(yán)格的應(yīng)用場合,結(jié)構(gòu)光測量更體現(xiàn)了其優(yōu)勢。
結(jié)構(gòu)光測量方法是一種主動式光學(xué)測量技術(shù),其基本原理是通過結(jié)構(gòu)光投射器向被測物體表面投射可控制光點(diǎn)、光條或光面結(jié)構(gòu),并由圖像傳感器(例如攝像機(jī))獲得圖像,然后通過系統(tǒng)幾何關(guān)系,利用三角原理計(jì)算得到物體的三維坐標(biāo)。根據(jù)結(jié)構(gòu)光投射器向被測物體表面投射可控制的光點(diǎn)、光條或光面結(jié)構(gòu),結(jié)構(gòu)光可分為點(diǎn)結(jié)構(gòu)光、線結(jié)構(gòu)光和面結(jié)構(gòu)光。由于點(diǎn)結(jié)構(gòu)光測量方法需要逐點(diǎn)掃描物體進(jìn)行測量,隨著被測物體的增大,圖像攝取和圖像處理時(shí)間會急劇增加,難以實(shí)現(xiàn)實(shí)時(shí)測量;而面結(jié)構(gòu)光得到三維坐標(biāo)點(diǎn)數(shù)據(jù)量很大,計(jì)算量也會隨之增加,因此,線結(jié)構(gòu)光在工程上的應(yīng)用更為普遍。
由于生產(chǎn)環(huán)境惡劣,受噪聲污染嚴(yán)重,且輪胎型號各不相同,一般的測量方法的精度很難達(dá)到實(shí)際要求。
技術(shù)實(shí)現(xiàn)要素:
為解決生產(chǎn)環(huán)境內(nèi)噪聲污染嚴(yán)重,輪胎型號不盡相同等情況對測量精度的影響,本發(fā)明提供一種測量速度快,精度高,魯棒性強(qiáng),實(shí)時(shí)、自動地實(shí)現(xiàn)汽 車輪胎三維定位方法。
本發(fā)明為實(shí)現(xiàn)上述目的所采用的技術(shù)方案是:一種基于線結(jié)構(gòu)光的汽車輪胎三維定位方法,用于實(shí)現(xiàn)輪胎位置的測量,包括以下步驟:
利用CCD相機(jī)采集有結(jié)構(gòu)光的輪胎圖像和無結(jié)構(gòu)光的輪胎圖像,進(jìn)而得到只有結(jié)構(gòu)光的圖像;
對結(jié)構(gòu)光圖像進(jìn)行濾波,抑制圖像中的噪聲;
對濾波后的圖像進(jìn)行邊緣檢測,提取結(jié)構(gòu)光邊緣;
對邊緣圖像進(jìn)行多次膨脹、腐蝕操作,得到平滑輪廓的圖像;
在膨脹、腐蝕后的圖像中提取水平、垂直結(jié)構(gòu)光曲線段;
確定胎冠上的結(jié)構(gòu)光曲線段,進(jìn)而得到胎冠內(nèi)圓4個(gè)點(diǎn)的圖像坐標(biāo);
將4個(gè)點(diǎn)的圖像坐標(biāo)轉(zhuǎn)換為三維空間坐標(biāo),并利用幾何關(guān)系計(jì)算輪胎中心的三維坐標(biāo)。
所述結(jié)構(gòu)光是兩條相互垂直的線結(jié)構(gòu)光。
所述對結(jié)構(gòu)光圖像進(jìn)行濾波,抑制圖像中的噪聲,采用高斯濾波方法,具體為:將圖像中的每一像素點(diǎn)與高斯內(nèi)核卷積,將卷積和作為該點(diǎn)的灰度值;對于離散的(2k+1)×(2k+1)維高斯內(nèi)核矩陣H,其元素計(jì)算公式為:
其中,i、j為圖像的坐標(biāo)位置,σ為方差,k為預(yù)設(shè)常數(shù)。
所述對濾波后的圖像進(jìn)行邊緣檢測,提取結(jié)構(gòu)光邊緣,利用canny算子進(jìn)行結(jié)構(gòu)光邊緣提取,包括以下步驟:用一階偏導(dǎo)的有限差分計(jì)算梯度的幅值和方向;對梯度幅值進(jìn)行非極大值抑制;用雙閾值算法檢測和連接邊緣。
所述對邊緣圖像進(jìn)行膨脹,用于填補(bǔ)物體中小的空洞和狹窄的縫隙,使物體的尺寸增大,具體為:采用向量加法對兩個(gè)集合進(jìn)行合并:
其中,X表示圖像,B表示膨脹結(jié)構(gòu)單元,x為X中的元素,b為B中的元素, p為x膨脹后的元素。
所述腐蝕用于簡化物體的結(jié)構(gòu),具體為:對集合元素采用向量減法,將兩個(gè)集合合并:
其中,X表示圖像,B表示腐蝕結(jié)構(gòu)單元,x為X中的元素,b為B中的元素,p為x腐蝕后的元素。
所述膨脹為兩次膨脹,所述腐蝕為兩次腐蝕。
所述在膨脹、腐蝕后的圖像中提取水平、垂直結(jié)構(gòu)光曲線段,具體為:首先確定結(jié)構(gòu)光曲線段的起點(diǎn),然后判斷結(jié)構(gòu)光成像的連續(xù)性,確定結(jié)構(gòu)光曲線段的終點(diǎn)。
所述確定結(jié)構(gòu)光曲線段的起點(diǎn),具體為:
如果圖像中(x,y)位置處灰度值滿足以下條件:
f(x,y)=255 (5)
且該位置處截線段長度T滿足以下不等式:
T<TransversalMax (6)
則(x,y)位置即為結(jié)構(gòu)光曲線段的起點(diǎn);其中,TransversalMax是預(yù)設(shè)常數(shù);
水平結(jié)構(gòu)光曲線段起點(diǎn)處截線段應(yīng)滿足:
f(x,y')=255 y'=j(luò)1,j1+1,...,j2且j2-j1=T (7)
垂直結(jié)構(gòu)光曲線段起點(diǎn)處截線段應(yīng)滿足:
f(x',y)=255 x'=i1,i1+1,...,i2且i2-i1=T (8)
其中,f(x,y)為圖像(x,y)處的灰度值,j1、j2為圖像縱坐標(biāo)值,i1、i2為圖像橫坐 標(biāo)值,T為(x,y)處的截線段長度。
所述判斷結(jié)構(gòu)光成像的連續(xù)性,包括以下步驟:
設(shè)A、B兩點(diǎn)分別是兩條曲線段的終點(diǎn)和起點(diǎn),坐標(biāo)分別是(xA,yA)、(xB,yB),對于水平結(jié)構(gòu)光曲線段,如果滿足以下條件:
|xA-xB|<GapMax (9)
或?qū)τ诖怪苯Y(jié)構(gòu)光曲線段,如果滿足以下條件:
|yA-yB|<GapMax (10)
則兩條曲線段是同一條曲線段;式中,GapMax是允許的最大中斷間隔。
所述確定胎冠上的結(jié)構(gòu)光曲線段,進(jìn)而得到胎冠內(nèi)圓4個(gè)點(diǎn)的圖像坐標(biāo),包括以下步驟:
胎冠上的結(jié)構(gòu)光曲線段長度PointNum滿足以下條件:
PointNum>LineLenMin (11)
式中,LineLenNum是預(yù)設(shè)常數(shù)。
設(shè)(x1,y1)是胎冠左邊水平結(jié)構(gòu)光曲線段的終點(diǎn)坐標(biāo),(x2,y2)是胎冠右邊水平結(jié)構(gòu)光曲線段的起點(diǎn)坐標(biāo),(x3,y3)是胎冠上邊垂直結(jié)構(gòu)光曲線段的終點(diǎn)坐標(biāo),(x4,y4)是胎冠下邊垂直結(jié)構(gòu)光曲線段的起點(diǎn)坐標(biāo),則應(yīng)滿足以下條件:
x1<W/2-ForbidRafius (12)
x2<W/2+ForbidRafius (13)
y3<H/2-ForbidRafius (14)
y4<H/2+ForbidRafius (15)
式中,W是圖像的寬度,H是圖像的高度,F(xiàn)orbidRafius是預(yù)設(shè)常數(shù),(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)即為胎冠內(nèi)圓4個(gè)點(diǎn)的圖像坐標(biāo)。
所述將4個(gè)點(diǎn)的圖像坐標(biāo)轉(zhuǎn)換為三維空間坐標(biāo),包括以下步驟:
考慮攝像頭一階徑向畸變,畸變圖像坐標(biāo)為(xd,yd),理想圖像坐標(biāo)為(xu,yu),則
xu=xd(1+k1r2) (16)
yu=y(tǒng)d(1+k1r2) (17)
式中,k1為徑向畸變系數(shù),
三維攝像機(jī)坐標(biāo)(xc,yc,zc)到理想圖像坐標(biāo)(xu,yu)的轉(zhuǎn)換為:
式中,f為攝像機(jī)的有效焦距,ρ為比例常數(shù);
世界坐標(biāo)(xw,yw,zw)到攝像機(jī)坐標(biāo)(xc,yc,zc)的轉(zhuǎn)換為:
式中,R是3×3的旋轉(zhuǎn)矩陣,由坐標(biāo)旋轉(zhuǎn)角α、β、γ決定,T是平移矢量,R和T分別決定了攝像機(jī)的方向和位置。
所述利用幾何關(guān)系計(jì)算輪胎中心的三維坐標(biāo),具體為:已知胎冠內(nèi)圓4個(gè)點(diǎn)的空間坐標(biāo),則水平方向上兩點(diǎn)的垂直中分線與垂直方向上兩點(diǎn)的垂直中分線的交點(diǎn)即為輪胎中心的三維坐標(biāo)。
本發(fā)明具有以下優(yōu)點(diǎn)及有益效果:
1.采用結(jié)構(gòu)光測量傳感器、CCD相機(jī)和PC機(jī)實(shí)現(xiàn)汽車輪胎的三維定位,具有設(shè)備簡單、測量精度高、實(shí)時(shí)性強(qiáng)的特點(diǎn)。
2.雖然結(jié)構(gòu)光測量數(shù)據(jù)受噪聲污染嚴(yán)重,但仍舊能夠準(zhǔn)確地確定胎冠內(nèi)圓的4個(gè)點(diǎn)坐標(biāo),具有良好的抗干擾性能。
3.對汽車輪胎自身的約束小,其半徑和花紋可以隨意變化。
附圖說明
圖1為本發(fā)明的整體流程圖;
圖2為汽車車輪定位視覺檢測系統(tǒng)示意圖;
圖3為視覺傳感器坐標(biāo)系示意圖。
具體實(shí)施方式
下面結(jié)合附圖及實(shí)施例對本發(fā)明做進(jìn)一步的詳細(xì)說明。
本發(fā)明的一種基于線結(jié)構(gòu)光的汽車輪胎三維定位方法,如圖2所示為汽車車輪定位視覺檢測系統(tǒng)示意圖,其中兩個(gè)激光器與攝像機(jī)處于同一水平面,并滿足攝像機(jī)在原點(diǎn)位置,兩個(gè)激光器分別在x、y軸方向,與攝像機(jī)之間的距離都是350mm,輪胎位于與攝像機(jī)平面平行且與其距離750mm的位置。利用CCD相機(jī)采集有無線結(jié)構(gòu)光的兩幅輪胎圖像,進(jìn)而得到只有結(jié)構(gòu)光的圖像,并對其進(jìn)行濾波、邊緣檢測、形態(tài)學(xué)膨脹、腐蝕,最后提取水平、垂直結(jié)構(gòu)光曲線段,并確定胎冠上的結(jié)構(gòu)光曲線段,得到胎冠內(nèi)圓4個(gè)點(diǎn)的空間坐標(biāo),計(jì)算輪胎中心的三維坐標(biāo),如圖1所示。
1.測量系統(tǒng)的標(biāo)定
定義圖像坐標(biāo)系為Ou,攝像機(jī)坐標(biāo)系為Oc,建立Oc到Ou之間的變換關(guān)系,即攝像機(jī)的內(nèi)參數(shù)矩陣;定義世界坐標(biāo)系為Ow,建立Ow到Oc之間的變換關(guān)系,即攝像機(jī)的外參數(shù)矩陣,這里,世界坐標(biāo)系Ow、攝像機(jī)坐標(biāo)系Oc重合,如圖3所示。這里在攝像機(jī)內(nèi)參數(shù)矩陣標(biāo)定過程中,只考慮攝像機(jī)鏡頭的徑向畸變。
2.圖像采集
利用CCD相機(jī)采集輪胎圖像;設(shè)計(jì)了一種十字形圖案結(jié)構(gòu)光,并將其打在輪胎表面,采集有結(jié)構(gòu)光的輪胎圖像。
3.圖像處理
圖像處理的目的是利用十字形圖案結(jié)構(gòu)光找到胎冠內(nèi)圓4個(gè)點(diǎn)的圖像坐標(biāo)。
圖像處理主要包括如下幾個(gè)步驟:
1)高斯濾波;
高斯濾波是一種最常用的線性平滑濾波方法,主要用于濾除高斯白噪聲。一般來說,對圖像進(jìn)行高斯濾波就是將圖像中的每一像素點(diǎn)與高斯內(nèi)核卷積,將卷積和作為該點(diǎn)的灰度值。對于離散的(2k+1)×(2k+1)維離散的高斯內(nèi)核矩陣H,其元素計(jì)算公式為:
其中,σ為方差,k為常數(shù),可以根據(jù)對圖像數(shù)據(jù)進(jìn)行分析,并通過大量實(shí)際情況下的實(shí)驗(yàn)進(jìn)行驗(yàn)證,使得噪聲基本被濾除。
2)canny邊緣檢測;
利用canny算子進(jìn)行結(jié)構(gòu)光邊緣提取,包括以下步驟:用一階偏導(dǎo)的有限差分計(jì)算梯度的幅值和方向;對梯度幅值進(jìn)行非極大值抑制;用雙閾值算法檢測和連接邊緣。這里雙閾值可以根據(jù)對圖像數(shù)據(jù)進(jìn)行分析,并通過大量實(shí)驗(yàn)進(jìn)行驗(yàn)證得到。
3)形態(tài)學(xué)濾波;
對圖像進(jìn)行多次二值膨脹和腐蝕,用來連接臨近的物體,填補(bǔ)小空洞,填平窄縫隙,使得物體邊緣更平滑。膨脹采用向量加法對兩個(gè)幾何進(jìn)行合并:
膨脹用來填補(bǔ)物體中小的空洞和狹窄的縫隙,使物體的尺寸增大;腐蝕對集合元素采用向量減法,將兩個(gè)集合合并:
腐蝕可以用來簡化物體的結(jié)構(gòu)。本文選擇進(jìn)行兩次膨脹、兩次腐蝕,且膨脹、腐蝕的結(jié)構(gòu)單元B均為:
4)提取水平、垂直結(jié)構(gòu)光曲線段;
如果圖像中(x,y)位置處灰度值滿足以下條件:
f(x,y)=255 (5)
且該位置處截線段長度T滿足以下不等式:
T<TransversalMax (6)
則(x,y)位置即為結(jié)構(gòu)光曲線段的起點(diǎn)。其中,TransversalMax是常數(shù),可以通過 計(jì)算圖像中結(jié)構(gòu)光的寬度得到;水平結(jié)構(gòu)光曲線段起點(diǎn)處截線段應(yīng)該滿足:
f(x,y')=255 y'=j(luò)1,j1+1,...,j2且j2-j1=T (7)
垂直結(jié)構(gòu)光曲線段起點(diǎn)處截線段應(yīng)滿足:
f(x',y)=255 x'=i1,i1+1,...,i2且i2-i1=T (8)
結(jié)構(gòu)光曲線段上除起點(diǎn)外的其它點(diǎn)的確定方式與起點(diǎn)的確定方式相同。
結(jié)構(gòu)光曲線段允許中斷,設(shè)A、B兩點(diǎn)分別是兩條曲線段的終點(diǎn)和起點(diǎn),坐標(biāo)分別是(xA,yA)、(xB,yB),對于水平結(jié)構(gòu)光曲線段,如果滿足以下條件:
|xA-xB|<GapMax (9)
或?qū)τ诖怪苯Y(jié)構(gòu)光曲線段,如果滿足以下條件:
|yA-yB|<GapMax (10)
則兩條曲線段是同一條曲線段。式中,GapMax是允許的最大中斷間隔,可以根據(jù)屬于同一段曲線段的兩個(gè)小曲線段之間的間距確定得到。
5)確定胎冠上的結(jié)構(gòu)光曲線段;
胎冠上的結(jié)構(gòu)光曲線段長度PointNum應(yīng)該滿足以下條件:
PointNum>LineLenMin (11)
式中,LineLenNum是常數(shù),可以根據(jù)對圖像數(shù)據(jù)進(jìn)行分析,確定胎冠上的結(jié)構(gòu)光曲線段基本應(yīng)該滿足的長度要求而得到。
設(shè)(x1,y1)是胎冠左邊水平結(jié)構(gòu)光曲線段的終點(diǎn)坐標(biāo),(x2,y2)是胎冠右邊水平結(jié)構(gòu)光曲線段的起點(diǎn)坐標(biāo),(x3,y3)是胎冠上邊垂直結(jié)構(gòu)光曲線段的終點(diǎn)坐標(biāo),(x4,y4)是胎冠下邊垂直結(jié)構(gòu)光曲線段的起點(diǎn)坐標(biāo),則應(yīng)滿足以下條件:
x1<W/2-ForbidRafius (12)
x2<W/2+ForbidRafius (13)
y3<H/2-ForbidRafius (14)
y4<H/2+ForbidRafius (15)
式中,W是圖像的寬度,H是圖像的高度,F(xiàn)orbidRafius是常數(shù),可以通過分析 圖像中輪胎的位置信息來確定。注意到(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)即為胎冠內(nèi)圓4個(gè)點(diǎn)的圖像坐標(biāo)。
4.計(jì)算輪胎中心三維坐標(biāo)
根據(jù)圖像坐標(biāo)系與攝像機(jī)坐標(biāo)系、世界坐標(biāo)系之間的變換變換關(guān)系,將胎冠內(nèi)圓4個(gè)點(diǎn)的圖像坐標(biāo)轉(zhuǎn)換為空間坐標(biāo),那么水平方向上兩點(diǎn)的垂直中分線與垂直方向上兩點(diǎn)的垂直中分線的交點(diǎn)即為輪胎中心的三維坐標(biāo)。