?

基于系統空間結構約束的多線結構光條紋中心線提取方法

2022-04-01 06:10毛雪憶李文國
電子科技 2022年3期
關鍵詞:中心線中心點光斑

毛雪憶,李文國

(昆明理工大學 機電工程學院,云南 昆明 650500)

線結構光三維測量技術是一種非接觸式測量方法,被廣泛應用于智能制造[1]、醫學診斷[2]、工業產品設計[3]等領域。光條圖像中心點的提取是線結構光視覺測量中的一項關鍵的技術。由相機采集到的光條圖像中,條紋中心線包含了被測物體的表面三維輪廓信息,是物體表面三維重構的基礎[4]。條紋中心線提取的精度直接影響三維測量的精度。

目前,最常用的線結構光中心線提取方法有幾何重心法、閾值法、灰度重心法和Steger法等。幾何重心法[5]和閾值法[6]利用光條圖像在其法線方向上的灰度分布呈高斯分布的曲線特征,通過先檢測光條圖像的邊緣,再取其中間點作為該法線方向上的中心點,用上述方法遍歷整個光條來獲得光條中心線。這兩種方法處理速度快,但精度較低,對噪聲敏感?;叶戎匦姆╗7]將光條紋法線方向上指定寬度區域的灰度重心作為該橫截面上的光條紋中心點。這種方法在處理有噪聲干擾或者光帶亮度不集中等問題時,提取精度會明顯下降?;贖essian矩陣的Steger法[8]是對光條橫截面上的灰度分布利用泰勒級數展開式來求極值,該方法精度高,但容易受到環境光的干擾而影響精度,不適用于有環境光的條件。

本文實驗的系統結構是相機垂直向下拍照,發散型多線激光器傾斜投射。傾斜投射的發散型多線激光器會造成每一根條紋中心線偏移。本文的研究方法分為標定和測量兩個階段:在標定階段進行相機標定,計算結構約束的參數以及各個條紋的偏移系數;在測量階段,利用偏移系數求出條紋中心線。由于在測量階段往往有環境光的干擾,故現有的中心線提取方法會存在較大誤差,無法準確提取出中心線。本文提出的方法受環境光的影響較小,可提高測量系統的抗干擾能力。

1 方法描述

如圖1所示,多線結構光條紋中心線的獲取主要由圖像獲取系統和多線結構光條紋中心線提取系統組成。多線結構光條紋中心線獲取系統由4個模塊組成。由于在無環境光時,Steger法提取的條紋中心線的精度非常高,因此在計算系統空間結構參數時可采用此種方法。提取中心線后,對點云數據進行處理和誤差分析。

1.1 條紋中心線粗提取

在無環境光下,對系統進行相機標定[9-10],得到相機的內部參數和外部參數。粗提取條紋中心線算法步驟如下:

圖1 多線結構光條紋中心線獲取系統的組成Figure 1. The composition of the multi-line structured light stripe centerline acquisition system

步驟1通過圖像采集設備采集多線激光條紋的原始圖像,設圖片中最中間條紋的編號為mid,其它條紋的編號如圖2所示。對圖3(a)所示的原始圖像進行預處理,降低圖像噪聲[11],得到圖3(b);

圖2 條紋編號示意圖Figure 2. Schematic diagram of stripe numbering

步驟2對圖3(b)所示的原始圖像進行邊緣提取[12]并設置感興趣區域(Region of Interest,ROI),得到mid條紋邊緣像素值和ROI圖像,如圖4所示;

(a) (b)

步驟3設置灰度值為R,遍歷圖4中ROI區域的點,當灰度值大于R時輸出此點的像素坐標,灰度值小于R則舍去。具體的原理為:經過灰度化后的光條紋圖像中有光條紋的部分的灰度值范圍是240~255,無光條紋的部分灰度值范圍是70~130,取灰度值R為200,即可輸出圖像中有光條紋部分的像素坐標;

步驟4條紋像素寬度d為

(1)

式中,d為mid條紋像素寬度;n表示每根條紋左、右兩邊緣像素對的編號;x2n和x2n-1表示條紋左右邊緣像素對的橫坐標;s表示每根條紋邊緣左右像素對的總數;

圖4 mid條紋ROI區域Figure 4. ROI area numbered mid stripe

步驟5取條紋像素寬度d的中間值t,與步驟2中的條紋左邊緣的像素值相加,即為粗略條紋中心線的像素值p(u,v)。

1.2 系統空間結構參數計算

1.2.1 相機鏡頭中心坐標計算

本文的世界坐標參考系是以相機中心為原點進行計算的,故相機鏡頭中心坐標為(0, 0, 0)。

1.2.2 光斑中心的世界坐標的計算

提取圖3(b)中的光斑邊緣,ROI圖像如圖5所示,均值提取光斑像素坐標,求得光斑中心點的像素坐標,并轉化為三維坐標(xc,yc,zc)。

圖5 圖像邊緣提取Figure 5. Image edge extraction

1.2.3 激光器發射中心的世界坐標的計算

激光器發射中心的世界坐標的算法步驟如下:

步驟1采用Steger算法提取圖中3(b)中L12和R12條紋中心線像素坐標[13],利用相機內、外參數將中心線的二維像素坐標轉換為世界坐標系下的三維坐標;

步驟2通過隨機抽樣一致性算法[14](Random Sample Consensus,RANSAC)求得L12和R12所在光平面方程[15];

步驟3將L12和R12所在的兩條光平面相交,得到空間點向式直線方程

(2)

式中,(x0,y0,z0)是激光器發射中心P的三維坐標值;a、b和c為直線的方向向量;

步驟4光斑中心點(xc,yc,zc)與激光器發射中心的世界坐標(x0,y0,z0)的連線的方程為式(3)。

(3)

由系統空間結構可知,式(2)與式(3)相交且垂直,垂足即為激光器發射中心點,如圖6所示。聯立兩個方程,求得垂足(激光器發射中心)的世界坐標(x0,y0,z0)。

圖6 光斑中心點與光平面相交線作垂線的空間關系圖Figure 6. The spatial relationship diagram of the vertical line between the center point of the spot and the light plane

1.3 利用系統結構約束計算偏移系數

1.3.1 編號為mid條紋的偏移系數計算

空間結構約束模型如圖7所示。由發散型多線激光器特性知[16],在以激光器軸為參考時,mid條紋的強度分布為標準的正態分布,如圖8所示。正態分布函數如式(4)所示。

圖7 空間結構約束模型Figure 7. Spatial structure constraint model

圖8 傾斜的高斯分布函數圖像Figure 8. Tilted Gaussian distribution function image

(4)

式中,xc為光斑的x坐標;p為正態分布對稱軸的位置;q為的條紋寬度。

由章節2.2得到的參數坐標可以確定圖7模型的位置。使用本模型前,可以通過結構調整使相機的世界坐標中的y值與激光器發射中心的y值相同。因此,可用x、z坐標求得夾角β(光斑中心點坐標到相機坐標的連線與光斑中心點坐標到激光器發射中心點坐標的連線的夾角)的三角函數關系為

(5)

式中,x0和z0為激光器發射中心點的坐標;xc和zc為光斑中心點的坐標。

mid條紋的光平面與法線交點A的坐標為

(6)

如圖9所示,求得中心線偏移量e與偏移系數k0為

e=xA-x0=fbsinβ

(7)

圖9 像素坐標下的一整根條紋Figure 9. A whole stripe in pixel coordinates

(8)

式中,D為條紋的世界坐標寬度;e為粗提取條紋中心線x坐標與精確提取中心線x坐標之間的差值;k0為偏移量與條紋寬度的比值。

1.3.2 同一光條紋各個位置的條紋偏移系數特點

通過分析空間結構約束系統可知,同一線結構光投影到的不同空間位置上的點,其成像后的條紋偏移系數相同,具體分析如下文所述。

如圖10所示,以光斑中心點為原點建立坐標系,設mid條紋光平面與其法線的交點A的縱坐標為h,則點A與原點O的直線方程為

y=cotβ·x

(9)

圖10 以光斑中心為原點的系統空間結構圖Figure 10. System space structure diagram based on spot center

將y=h代入上式,得點A的坐標 (htanβ,h)。

設在多線激光器坐標系下標準正態分布的高度為fb,如圖8所示,可知在以光斑中心為原點的坐標系下

fb′=fb·cosβ

(10)

以光斑中心為原點的坐標系下,法點A上的高斯分布的最高點A′的y坐標為

y′=fb·cosβ+h

(11)

因為A′也在法點A與原點的直線上,故將y=y′代入式(9),求得點A上的高斯分布的最高點A'的x坐標為

x′=fb·sinβ+htanβ

(12)

則A′的坐標為(y0·sinβ+h·tanβ,y0·cosβ+h)。

由式(9)~式(12)可得,此根條紋的中心線偏移系數k為

(13)

可知,偏移系數k與A點的縱坐標無關,即證明同一線結構光上各個點的條紋偏移系數相同。

1.3.3 所有條紋的偏移系數

如圖13與表2所示,根據發散型激光器自身的特性,本文以25根條紋的激光器為例。根據制造廠家的生產制造規格數據,每兩根條紋的夾角α為定值(1.11°)。由圖7所示,求得與A點相鄰的B點坐標如下

(14)

編號為r1條紋的中心線偏移量e1計算如下

e1=fb·cosβ·sinα

(15)

通過下式求得此根條紋的偏移系數

(16)

式中,D1為R1條紋的條紋寬度。以此類推,可求得其它所有條紋的偏移系數kn。

(17)

式中,n為條紋的編號數;Dn為條紋寬度。

1.4 最終的光條紋中心線的精確提取

由式(1)得到的條紋像素寬度d與式(17)的系數kn相乘得到條紋中心線的偏移量m偏。粗提取中心線像素坐標p初(u,v)與中心線偏移量m偏相加,即為條紋在物體上精確的中心線圖像坐標l終(u,v)。

2 實驗及測量數據對比分析

如圖12所示,本實驗所用到的設備有一部相機、一個鏡頭、一個激光器和一臺筆記本電腦。其中激光器的參數由表1和表2所示。實驗流程如圖11所示。

圖11 實驗流程圖Figure 11. Flow chart of experiment

圖12 多線結構光實驗平臺Figure 12. Multi-line structured light experiment platform

表1 激光器的主要參數

表2 激光器衍射角

圖13 多線結構光示意圖Figure 13. Schematic diagram of multi-line structured light

2.1 標定階段實驗

搭建一個無環境光的實驗臺,多線激光器傾斜入射,相機垂直拍照[17]。采用張氏標定法對相機進行標定,得到相機的內外參數。

將L12和R12光條紋所在的光平面進行擬合,得到這兩條光條紋所在光平面方程

(18)

將兩個光平面相交,得到空間點向式直線方程

(19)

均值提取圖5光斑中心點后,將其轉化為世界坐標(-0.055,-0.01,492.12)。光斑中心與激光器發射中心的世界坐標(x0,y0,z0)的連線方程為

(20)

聯立式(19)與式(20),求得激光器發射中的世界坐標。

由圖7中參數的位置關系,求得夾角β為20.778 3°。由式(17)求得所有條紋的偏移系數。

2.2 測量階段實驗及分析

標定階段結束后,本文從斜平面、圓柱體高度和曲面擬合分別做了中心線提取實驗,并與Steger法進行比較,其中斜平面和圓柱體高度擬合屬于平面擬合。本文中的3個實驗需要保證參數位置關系相同。

2.2.1 斜平面擬合實驗及分析

如圖14所示,調整使平面板傾斜于水平桌面。圖15為Steger算法提取結果。

圖14 平面板擬合實驗結構Figure 14. Experimental structure of plane plate fitting

(a) (b)

由圖15可以看出,當沒有環境光時,Steger算法能有效提取條紋中心線;但是當有環境光時,Steger算法無法有效提取條紋中心線。

計算利用本文方法提取的中心點到標定板面的距離,測量其誤差,并與采用Steger算法獲得的結果進行比較,結果如表3所示。

表3 本文方法與Steger方法的誤差比較

由表3可以看出,當沒有環境光時,本文的方法擬合平面在測量精度方面與Steger算法處在同一個像素級(都沒有超過0.005 mm);當有環境光時,Steger算法無法有效提取中心線,而本文提出的方法依然能有效提取中心線,且能將精度控制在0.007 mm以內,說明本文方法除了可以控制精度,還具有較強的抗干擾性。

2.2.2 圓柱體高度擬合實驗和分析

本實驗在無環境光下提取了圓柱體上表面的條紋中心線,對這些條紋中心線進行平面擬合。通過計算圓柱體上表面與平板之間的距離,得到了圓柱體的高度。本文使用的標準圓柱體的高為70 mm,實驗如圖16所示,誤差分析如表4所示。

(a)

表4 圓柱體高度誤差

由表4可以看出,在無環境光時,Steger法擬合圓柱高度的百分比平均相對誤差為0.74%,本文的方法擬合的百分比平均相對誤差為0.686%,比Steger法提取的精度提高了0.054%,可見在無環境光時,本文的方法能較準確地提取出條紋中心線。

2.2.3 半球體曲面擬合實驗及分析

曲面擬合實驗采用的是直徑為50 mm的半球體,本實驗在環境光下進行,實驗如圖17所示。由圖17(b)可以看出,Steger算法提取的條紋中心線存在斷口和缺失等問題,無法準確有效地采集到半球表面的點云。

(a) (b)

本文的方法是通過條紋寬度和偏移系數來計算條紋中心線的點云。通過對半球物體上的條紋進行邊緣提取,得到條紋邊緣的點云,如圖18所示。然后,將這些點云擬合成橢圓。同一根條紋的邊緣線有兩條,擬合橢圓是一個同心橢圓。最后通過兩個橢圓的短半軸相減,得到球體表面條紋像素寬度,從而獲得條紋中心線點云。

圖18 曲面條紋邊緣提取Figure 18. Edge extraction of surface stripes

本文通過6組實驗進行驗證,其中一組計算出的點云圖如圖19(a)所示。對這些點云進行曲面擬合[18-19]后的結果如圖19(b)所示。半徑誤差如表5所示。

(a)

表5 有環境光時半球直徑誤差

由表5可以看出,在有環境光時,Steger算法無法進行半球點云擬合,而采用本文的方法提取條紋中心線,重構半球后誤差為0.57 mm,百分比相對誤差為1.14%,比高度擬合的平均相對誤差增大了0.435%。該結果說明在曲線擬合時,精度會因為條紋的彎曲而增大,進而說明本文的中心線提取方法更適用于表面相對平滑的物體。

3 結束語

本文提出了一種基于多線結構光中心線提取方法。因所使用的激光器為發散型激光器,故每根條紋的中心線都有不同程度的偏移,造成中心線提取存在誤差。相較于其它的算法,該方法通過結構約束來提取中心線,在標定階段搭建實驗系統進行標定和計算偏移系數,在測量階段只需通過檢測條紋像素寬度,結合偏移系數系數通過數學計算便可求出條紋中心線。實驗結果表明,該方法能在有環境光時準確提取中心線,抗干擾性好、精度高。實驗結果證明,在有環境光干擾的情況下其它方法無法提取中心線,但是本文所提方法能有效提取條紋中心線。本文的方法在提取表面為平面的條紋中心線時的精度很高,但提取曲面物體的條紋中心線時精度不高,還需要進一步探索與研究。此外,當測量物體的表面為復雜表面時,得到的激光條紋無明顯規律,條紋寬度無法準確獲取,從而無法精確提取條紋中心線。在今后的研究中,也將針對這一問題進行探討和改進。

猜你喜歡
中心線中心點光斑
Scratch 3.9更新了什么?
有趣的光斑
主角光環
樹葉競技場
有趣的光斑
夏末物語
如何設置造型中心點?
磨課,一段痛苦與快樂交織的過程
停機后汽缸溫差大原因分析及處理
尋找視覺中心點
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合