趙祖陽,崔海華,杜坤鵬,曲一鳴,權(quán)冬,穆志國
(1 南京航空航天大學(xué) 機(jī)電學(xué)院,南京 210016)(2 中航西安飛機(jī)工業(yè)集團(tuán)股份有限公司,西安 710089)
作為增強(qiáng)現(xiàn)實(shí)技術(shù)[1]的一個(gè)分支,三維激光投影定位技術(shù)能夠?qū)a(chǎn)品的數(shù)字化三維模型輪廓信息以及部分制造信息準(zhǔn)確地呈現(xiàn)在產(chǎn)品裝配現(xiàn)場所需要的地方。這種非接觸式的可視化定位技術(shù)在數(shù)字化設(shè)計(jì)與制造之間起到了良好的橋梁作用。
二維振鏡系統(tǒng)是一個(gè)能夠精準(zhǔn)控制激光束光路的光學(xué)反射系統(tǒng),它已經(jīng)成為三維激光投影系統(tǒng)不可缺少的一部分,二維振鏡的標(biāo)定技術(shù)是實(shí)現(xiàn)高精度的三維激光投影的核心關(guān)鍵技術(shù)。隨著二維掃描振鏡的應(yīng)用從二維平面掃描擴(kuò)展到三維空間掃描,振鏡系統(tǒng)標(biāo)定難度也在加大,振鏡系統(tǒng)應(yīng)用的不斷拓展促進(jìn)了振鏡系統(tǒng)標(biāo)定技術(shù)地發(fā)展。國外激光投影技術(shù)研究較早,技術(shù)較為嫻熟,F(xiàn)U Y C[2]發(fā)明了一種激光投影顯示系統(tǒng),成功地將輪廓投影到目標(biāo)上;HAYES M W等[3]通過結(jié)合激光投影系統(tǒng)和光敏感材料,實(shí)現(xiàn)了復(fù)雜部件的精密裝配。在國外,激光三維投影定位系統(tǒng)已經(jīng)實(shí)現(xiàn)商業(yè)化,如EXTEND3D公司的Werklicht Pro設(shè)備投影空間精度高達(dá)0.1 mm/m。而在國內(nèi),激光投影技術(shù)在近十年才迅速發(fā)展,劉邈等[4-6]分別利用近似模型法和查表法標(biāo)定二維振鏡的內(nèi)外參數(shù),實(shí)現(xiàn)了高精度的激光三維標(biāo)示,但其整個(gè)投影系統(tǒng)的實(shí)現(xiàn)過程需要使用復(fù)合平面靶標(biāo)和激光跟蹤儀,使得該系統(tǒng)整體的成本較高,操作比較復(fù)雜;郭麗麗等[7-8]構(gòu)建了智能3D投影系統(tǒng),建立了iGPS(Indoor GPS)測量網(wǎng)絡(luò)不確定度模型,提高了標(biāo)定的精度,然而,整個(gè)投影系統(tǒng)由于需要搭配iGPS這樣的高精度定位設(shè)備,使得該系統(tǒng)實(shí)現(xiàn)的門檻較高且標(biāo)定過程需要花費(fèi)大量的時(shí)間,效率低下;TU Junchao等[9-10]提出一種新的非理想狀態(tài)的振鏡模型參數(shù)標(biāo)定方法,進(jìn)一步提高了標(biāo)定精度,但是該系統(tǒng)采集標(biāo)定數(shù)據(jù)過程較為復(fù)雜,采集基礎(chǔ)數(shù)據(jù)耗時(shí)耗力。即現(xiàn)有的激光投影技術(shù)的標(biāo)定過程存在過程操作復(fù)雜[11-12]、效率低和需要使用激光跟蹤儀等高成本設(shè)備的問題,導(dǎo)致了三維激光投影無法在裝配制造視場廣泛應(yīng)用。而視覺測量技術(shù)是典型的非接觸式輔助測量技術(shù)之一,測量精度較高。其不僅可以為振鏡的標(biāo)定采集大量高精度的數(shù)據(jù),還能作為基礎(chǔ)坐標(biāo)系實(shí)現(xiàn)被投影對象坐標(biāo)系與振鏡坐標(biāo)系的對齊[13-14]。除此以外,視覺測量具備發(fā)展成熟、對硬件要求低等優(yōu)勢。研究基于視覺輔助的三維激光投影系統(tǒng),能夠降低該技術(shù)的實(shí)現(xiàn)門檻,促進(jìn)三維激光投影的推廣與應(yīng)用。
針對上述問題,本文基于二維圖像間存在的單應(yīng)性變換,提出了一種三維激光投影方法。建立了基于單目視覺的三維激光投影模型,利用相機(jī)圖像與投影圖像之間的單應(yīng)性矩陣,推導(dǎo)出針對于平面的快捷標(biāo)定方法。并在搭建的平臺上進(jìn)行了標(biāo)定和投影實(shí)驗(yàn),驗(yàn)證了所提方法的有效性,解決了現(xiàn)有技術(shù)中存在的操作復(fù)雜、實(shí)現(xiàn)門檻較高等問題。
單目視覺系統(tǒng)在機(jī)器人、工業(yè)測量、人工智能等方面有著廣泛的應(yīng)用。結(jié)合單目視覺系統(tǒng),搭建了一種針對于平面的三維激光投影系統(tǒng),圖1為激光投影系統(tǒng)的原理圖。在已知被投影目標(biāo)的數(shù)模和目標(biāo)輪廓的情況下,利用計(jì)算機(jī)控制激光器和振鏡,實(shí)現(xiàn)目標(biāo)輪廓從數(shù)模到實(shí)物的1∶1投影。三維激光投影系統(tǒng)包括相機(jī)、激光器、二維振鏡、計(jì)算機(jī)、被投影目標(biāo)。從數(shù)模坐標(biāo)系到實(shí)物的1∶1輪廓投影具體的實(shí)現(xiàn)方式如圖2。圖2所示的三維激光投影系統(tǒng)模型定義了4個(gè)坐標(biāo)系:相機(jī)坐標(biāo)系Oc-XcYcZc,被投影目標(biāo)坐標(biāo)系Ow-XwYwZw,數(shù)模坐標(biāo)系和振鏡坐標(biāo)系Oz-XzYzZz。
圖1 目標(biāo)輪廓(三角形)從數(shù)模到實(shí)物的1∶1投影Fig.11∶1 projection of target contour(triangle)from digital analog to real object
圖2 三維激光投影定位系統(tǒng)模型Fig.23D laser projection positioning system mode
單應(yīng)性矩陣是投影幾何中一個(gè)術(shù)語,本質(zhì)上是一個(gè)數(shù)學(xué)概念。其表達(dá)的是圖像之間的相互關(guān)系,即一幅圖像中的某一點(diǎn),可以在另一幅圖像上找到唯一的一個(gè)對應(yīng)點(diǎn)。假設(shè)記一張圖像上存在點(diǎn)A,另一張圖像上的對應(yīng)點(diǎn)記為A′,兩點(diǎn)的齊次坐標(biāo)為A=(x,y,1),A′=(x′,y′,1)。則從點(diǎn)A到點(diǎn)A′間一定存在一個(gè)單應(yīng)性矩陣H(H∈R3×3),使得A=HA′,單應(yīng)性矩陣H可以表示圖像成像角度變化的平移旋轉(zhuǎn)等變換。
通過單應(yīng)性矩陣H以及點(diǎn)A=(x,y,1)T和點(diǎn)A′=(x′,y′,1)T可得
同理圖像之間所有的對應(yīng)點(diǎn)都能得到一組方程。已知單應(yīng)性矩陣有9個(gè)未知數(shù),由于使用的是齊次坐標(biāo),可以通過單應(yīng)性矩陣H的9個(gè)未知數(shù)都除以h23將其進(jìn)行歸一化處理。因而整個(gè)單應(yīng)性矩陣只剩下8個(gè)未知數(shù),只要圖像間有4個(gè)及以上的對應(yīng)點(diǎn),就可以求解出單應(yīng)性矩陣H。
將單目相機(jī)與振鏡關(guān)聯(lián)成一個(gè)整體,組成三維激光投影系統(tǒng)。利用振鏡模型與攝像機(jī)模型的相似性,將振鏡模型等效成一個(gè)相機(jī)模型[15]。對于單目相機(jī)系統(tǒng),所獲得的二維圖像是使用鏡頭對真實(shí)物體的映射,而對于振鏡系統(tǒng),目標(biāo)圖像的每一個(gè)點(diǎn)都是由振鏡伺服旋轉(zhuǎn)所標(biāo)記的圖像的映射。通過在計(jì)算機(jī)中創(chuàng)建一個(gè)虛擬的主點(diǎn),相當(dāng)于單目相機(jī)系統(tǒng)的光心,構(gòu)建出振鏡系統(tǒng)的圖像坐標(biāo)系。利用單目相機(jī)系統(tǒng)的圖像坐標(biāo)系與振鏡系統(tǒng)的圖像坐標(biāo)系的二維圖之間存在的單應(yīng)性矩陣,解算單目相機(jī)系統(tǒng)像素坐標(biāo)系與振鏡系統(tǒng)二維圖像坐標(biāo)系的轉(zhuǎn)換關(guān)系,完成三維激光投影系統(tǒng)的標(biāo)定。
針對被投影目標(biāo),控制激光器向被投影平面投影已知坐標(biāo)的點(diǎn)陣,記錄點(diǎn)陣的坐標(biāo)。同時(shí)控制相機(jī)拍攝,記錄相機(jī)獲得的圖像,進(jìn)行濾波去除噪聲后檢測輪廓,并對輪廓進(jìn)行橢圓擬合,獲得所有光斑的圓心坐標(biāo),記錄在相機(jī)圖像坐標(biāo)系中的點(diǎn)陣坐標(biāo)為。利用圖像二維單應(yīng)性矩陣進(jìn)行相機(jī)與振鏡的標(biāo)定。即與之間存在單應(yīng)性矩陣Ht(H∈R3×3)滿足:Pty=ΗtPt。利用基于Levenberg-Marquardt優(yōu)化的迭代算法可以求解出圖像坐標(biāo)系與投影坐標(biāo)系之間較優(yōu)的單應(yīng)性矩陣:
在已知被投影目標(biāo)數(shù)模的情況下,為了獲取被投影目標(biāo)與單目相機(jī)的相對位置關(guān)系,需要對被投影目標(biāo)進(jìn)行位姿估計(jì)[16-17]。計(jì)算被投影目標(biāo)中關(guān)鍵點(diǎn)與圖像中像素點(diǎn)的對應(yīng)關(guān)系,實(shí)現(xiàn)目標(biāo)位姿解算。在數(shù)模與被投影目標(biāo)比例為1∶1的情況下,將數(shù)模坐標(biāo)系與世界坐標(biāo)系重合,通過相機(jī)拍攝被投影目標(biāo)的圖像,進(jìn)行濾波去除噪聲后檢測輪廓,為了保證位姿解算的正確性,提取的特征盡量均勻的分布占據(jù)整個(gè)被投影平面。在采得圖像中利用特征提取算法提取特征點(diǎn),記錄特征點(diǎn)集坐標(biāo),對應(yīng)的在被投影目標(biāo)的數(shù)模中獲取對應(yīng)的特征,記錄特征點(diǎn)集坐標(biāo)(k=1,2,…,n)。由于被投影目標(biāo)是一個(gè)平面,因此可以利用單應(yīng)性矩陣進(jìn)行位姿估計(jì)。存在單應(yīng)性矩陣Hw(H∈R3×3),使得Pt=HwPw,可以求得世界坐標(biāo)系與圖像坐標(biāo)系之間較優(yōu)的單應(yīng)性矩陣:
在圖2三維激光投影定位模型中,存在兩類單應(yīng)性矩陣:1)被投影平面與相機(jī)圖像之間的單應(yīng)性矩陣;2)相機(jī)內(nèi)的圖像與振鏡的二維圖像單應(yīng)性矩陣。圖中,將相機(jī)與振鏡調(diào)整至合適的視場位置,被投影平面與相機(jī)圖像之間的單應(yīng)性矩陣為Hw→t,相機(jī)圖像與振鏡圖像之間的單應(yīng)性矩陣為Ht→ty,根據(jù)單應(yīng)性矩陣的傳遞性可以得到整個(gè)激光投影標(biāo)定的轉(zhuǎn)化過程:
為了分析提出的標(biāo)定方法的性能,接下來從重投影精度、穩(wěn)定性、標(biāo)定誤差分布三個(gè)角度進(jìn)行討論。
為了量化誤差,計(jì)算位姿估計(jì)的目標(biāo)點(diǎn)p1與實(shí)際點(diǎn)p2的二范數(shù)作為重投影誤差e1,計(jì)算相機(jī)圖像的目標(biāo)點(diǎn)p3與實(shí)際投影的圓環(huán)的中心點(diǎn)p4的二范數(shù)作為重投影誤差e2,可表示為
在0.5~3 m的常用投影距離內(nèi),每隔0.5 m做一次標(biāo)定,標(biāo)定結(jié)果與重投影誤差如表1。
表1 0.5~3 m單應(yīng)性矩陣H1,H2對應(yīng)的重投影誤差Table 10.5~3 m homography matrix H1,H2 and the corresponding reprojection error
分析可得,第一段重投影像素誤差保持在0.05 pixel左右,第二段重投影像素誤差隨著距離的增加而增大,但是在3 m范圍內(nèi)均小于1 pixel,在短距離的時(shí)候接近于0,標(biāo)定精度較高符合實(shí)際應(yīng)用需求。
在0.5~3 m的距離內(nèi),每隔0.5 m做10次重復(fù)性標(biāo)定,取平均值作為當(dāng)前距離的重投影誤差,整合成從0.5~3 m的變化曲線,如圖3。
圖3 標(biāo)定穩(wěn)定性分析Fig.3 Calibration stability analysis
從圖3可知,第一段單應(yīng)性估計(jì)的誤差幾乎不隨距離的增加而變化,穩(wěn)定性較高;而第二段單應(yīng)性估計(jì)的誤差,隨著距離的增加,重投影像素誤差也相對的每米增加0.1個(gè)像素??傮w上看,在短距離范圍內(nèi),整體的誤差波動在0.6個(gè)像素以內(nèi),波動性較小,穩(wěn)定性較高。
將前后的重投影誤差繪制成圖4,通過對比分析可以發(fā)現(xiàn),相機(jī)與振鏡之間的單應(yīng)性誤差幾乎占據(jù)整個(gè)誤差的90%,數(shù)值上第二段單應(yīng)性估計(jì)的誤差比第一段單應(yīng)性估計(jì)的誤差幾乎高一個(gè)數(shù)量級,是本標(biāo)定算法的主要誤差來源。產(chǎn)生此誤差的原因是振鏡每次的最小偏轉(zhuǎn)是一定的,相應(yīng)形成的二維圖像的分辨率不高。本文采用的相機(jī)分辨率為1280×960,而振鏡圖像的分辨率為500×500。振鏡的二維圖像分辨率遠(yuǎn)遠(yuǎn)低于相機(jī)的二維圖像分辨率,因而產(chǎn)生了誤差,這個(gè)誤差是不可避免的。
圖4 兩次標(biāo)定誤差分布Fig.4 Error distribution of two calibrations
為了方便試驗(yàn)數(shù)據(jù)結(jié)果的分析,選取了圓盤標(biāo)定板作為被投影部件,模擬三維激光投影實(shí)現(xiàn),假設(shè)標(biāo)定板上的四個(gè)大圓(如圖5(a)已用顏色標(biāo)出)需要進(jìn)行投影定位。利用本文的標(biāo)定方法標(biāo)定三維激光投影系統(tǒng),完成投影。為了盡可能地減少誤差,在實(shí)驗(yàn)時(shí)應(yīng)選取光斑較為規(guī)則的激光器;在對圖像進(jìn)行處理時(shí),對提取的圓環(huán)中心進(jìn)行編號,與投影坐標(biāo)系進(jìn)行一一對應(yīng),避免誤匹配給試驗(yàn)帶來的誤差;在解算相機(jī)與振鏡的關(guān)系時(shí),投影的激光圓環(huán)應(yīng)盡可能均勻地覆蓋被投影平面,再利用優(yōu)化方法對求解出的單應(yīng)性矩陣進(jìn)行優(yōu)化。
圖5 實(shí)驗(yàn)圓盤標(biāo)定板Fig.5 Experimental disc calibration plate
綜上所述,結(jié)合單目視覺的三維激光投影標(biāo)定與投影的實(shí)現(xiàn),步驟如下:
1)圖像采集。固定相機(jī)與振鏡的位置,拍攝圓盤標(biāo)定板,采集圖像圖5(b)。再記錄預(yù)投影每個(gè)圓環(huán)在投影坐標(biāo)系下的二維坐標(biāo),通過板卡控制振鏡向被投影平面均勻投射多個(gè)激光圓環(huán)。在投影激光圓環(huán)的同時(shí),控制相機(jī)采集圖像。
2)被投影目標(biāo)位姿估計(jì)。提取圖5(b)中的特征點(diǎn),與標(biāo)定板數(shù)模的特征進(jìn)行匹配,提取特征的像素坐標(biāo)。再根據(jù)已知的標(biāo)定板平面的特征的世界坐標(biāo),通過單應(yīng)性估計(jì),完成世界坐標(biāo)系到圖像坐標(biāo)系的標(biāo)定。
3)相機(jī)與振鏡關(guān)系解算。提取投影了圓環(huán)點(diǎn)陣的圖中的圓環(huán)特征,擬合出圓環(huán)的圓心與振鏡投影坐標(biāo)系的圓環(huán)特征點(diǎn)作匹配。求解單應(yīng)性變換矩陣,完成圖像坐標(biāo)系與投影坐標(biāo)系的標(biāo)定。
4)三維激光投影實(shí)現(xiàn)。在數(shù)模中得到四個(gè)目標(biāo)圓的輪廓坐標(biāo),利用已經(jīng)標(biāo)定的變換將輪廓轉(zhuǎn)換到投影坐標(biāo)系,實(shí)現(xiàn)投影。
5)在0.5~3 m之間重復(fù)試驗(yàn)。
記錄投影的4個(gè)圓環(huán),提取對應(yīng)的坐標(biāo)。整個(gè)三維激光投影系統(tǒng)的標(biāo)定會存在誤差,圓環(huán)與標(biāo)定板上的目標(biāo)圓不可能完全重合。由于相機(jī)標(biāo)定的誤差在0.05個(gè)像素左右,遠(yuǎn)小于誤差值可以忽略不計(jì)。為了更方便地進(jìn)行數(shù)據(jù)分析,可以把通過相機(jī)拍攝標(biāo)定板提取的四個(gè)圓的圓心像素坐標(biāo)作為真值,把相機(jī)拍攝的激光投影的圓環(huán)的圓心作為實(shí)驗(yàn)值進(jìn)行分析。圖6為在1.5 m處所得的4個(gè)圓環(huán)數(shù)據(jù),其中point1為拍攝的標(biāo)定板圓的圓心坐標(biāo),point2為投影的圓環(huán)的圓心坐標(biāo)。
圖6 目標(biāo)圓投影Fig.6 Target circle projection
用投影圓環(huán)的圓心p1(x1,y2)和標(biāo)定板目標(biāo)圓的圓心p2(x2,y2)的圓心距來表示投影的誤差,即S=。通過計(jì)算得到投影圓環(huán)與標(biāo)定板目標(biāo)圓圓心的像素誤差,利用已知的像素當(dāng)量,將像素誤差轉(zhuǎn)換為實(shí)際距離誤差。具體數(shù)據(jù)如表2。
表2 投影距離為1.5 m的精度分析Table 2 Accuracy analysis with a projection distance of 1.5 m
利用相似的方法,分析整個(gè)試驗(yàn)中0.5~3 m的實(shí)驗(yàn)數(shù)據(jù),如表3所示。分析可知,隨著距離的增加,投影精度雖然有所下降,但是波動較小。同時(shí)由于本文方法僅需要解算投影平面、相機(jī)圖像平面和振鏡投影平面之間的關(guān)系,進(jìn)而標(biāo)定過程較為簡單,標(biāo)定時(shí)間僅需要5 min,有效地提高了標(biāo)定的效率。
表3 投影距離為0.5~3 m的實(shí)驗(yàn)數(shù)據(jù)分析Table 3 Analysis of experimental data with a projection distance of 0.5~3 m
對比現(xiàn)有方法及商業(yè)設(shè)備的精度,如表4。表中對比了投影距離為1 m和3 m時(shí),國內(nèi)常用的方法、設(shè)備WerklichtPro以及本文所提方法所能達(dá)到的定位投影的精度以及本文方法相比其他方法精度的提升。通過對比分析可以發(fā)現(xiàn),在投影定位精度上,本文提出的基于單應(yīng)性矩陣的投影方法的精度優(yōu)于國內(nèi)常用的方法。在標(biāo)定的精度上,優(yōu)于國內(nèi)基于視覺的常用方法;在標(biāo)定的效率上,本文提出的方法不需要進(jìn)行復(fù)雜的手動標(biāo)定過程,整個(gè)標(biāo)定過程在5 min左右,而WerklichtPro需要10 min左右的設(shè)置時(shí)間[20],有效地提高了標(biāo)定效率。
表4 精度對比Table 4 Accuracy comparision
提出了一種三維激光投影模型與基于單應(yīng)性矩陣的三維激光投影標(biāo)定方法,實(shí)現(xiàn)了三維激光投影。在實(shí)際操作時(shí),首先完成被投影部件坐標(biāo)系與相機(jī)圖像坐標(biāo)系的單應(yīng)性估計(jì),再進(jìn)行相機(jī)圖像坐標(biāo)系與投影坐標(biāo)系的單應(yīng)性估計(jì),進(jìn)而完成整個(gè)三維激光投影定位系統(tǒng)的標(biāo)定。單應(yīng)矩陣的標(biāo)定方法受限于平面物體,適用于被投影部件為平面的情況。相比于國內(nèi)常規(guī)的標(biāo)定方法,本文方法避免了復(fù)雜的前期標(biāo)定過程,提高了標(biāo)定的效率,投影定位精度在常規(guī)投影距離3 m范圍內(nèi)精度可達(dá)0.3 mm,避免了使用激光跟蹤儀與IGPS這樣的定位設(shè)備,降低了成本,解決了目前整個(gè)三維激光投影系統(tǒng)操作過程效率低的問題。