王志卓,盧榮勝
(合肥工業(yè)大學(xué) 光電工程學(xué)院,合肥 230009)
高反射表面三維測量是工業(yè)測量的重要組成部分,且隨著汽車組裝、精密拋光、自由曲面加工等行業(yè)的不斷發(fā)展,對于飛機(jī)尾翼、液晶顯示器面板、汽車車身外殼以及擋風(fēng)玻璃等大尺寸、大曲率工業(yè)零件的測量需求愈發(fā)強(qiáng)烈[1-4]。但由于其與漫反射物體表面光學(xué)特性存在較大差異,傳統(tǒng)的三維測量手段[5-6]難以達(dá)到理想的效果。
現(xiàn)階段,高反射表面三維形貌測量手段按照其數(shù)據(jù)獲取方式不同可分為接觸式測量[5-6]和非接觸式測量[7-8]兩大類。其中接觸式測量方法雖然不受被測物表面光學(xué)性質(zhì)的影響,但往往只能實(shí)現(xiàn)單點(diǎn)測量,尤其是對大尺寸三維形貌的測量,測量速度慢、耗時(shí)時(shí)間長。因此從20 世紀(jì)50 年代開始,研究人員開發(fā)出一系列非接觸式表面形貌測量方法,其中光學(xué)三維測量方法由于其精度高、速度快、無接觸的特點(diǎn)受到眾多科研工作者的推崇。其中,相干法[9-10]利用被測物體表面的形貌變化調(diào)制測量光與參考光,令兩者之間產(chǎn)生相位差,形成干涉條紋,解算干涉條紋的相位信息,進(jìn)而獲取物體表面三維形貌。該方法雖然測量精度高,但是量程小,僅適用于微小尺寸的測量,且測量自由曲面和結(jié)構(gòu)化曲面困難。相位輪廓法[11-12]測量技術(shù)成熟,應(yīng)用范圍廣泛。其主要由投影裝置、被測物體以及CCD 相機(jī)組成,采用在被測高反面噴涂顯影劑的方式,將高反射表面轉(zhuǎn)化為漫反射表面。然而,噴涂的顯影劑使零件表面粗糙度發(fā)生了變化并且掩蓋了微小形貌,這無疑降低了精度。而相位偏折法[13-16]作為一種近年來發(fā)展起來的高反表面光學(xué)測量手段,由于其精度高、敏感性強(qiáng)的優(yōu)點(diǎn)受到眾多研究人員的青睞。該方法通常使用顯示屏顯示正弦光柵條紋,用相機(jī)采集受高反表面反射調(diào)制的變形條紋圖像,通過解碼獲得包含被測面形貌信息的像素匹配關(guān)系,進(jìn)而建立測面特征點(diǎn)坐標(biāo)的數(shù)學(xué)關(guān)系,從而重建輪廓。XIAO Y L[13]利用相移偏折法建立像素匹配與被測面特征點(diǎn)法向量的數(shù)學(xué)關(guān)系,進(jìn)行了基于單視點(diǎn)的光學(xué)反射鏡表面的缺陷檢測。YUAN T[14]、ZHOU T 等[15]采用相關(guān)迭代補(bǔ)償算法對高反射表面面形進(jìn)行了恢復(fù)。NGUYEN M[16]通過改進(jìn)標(biāo)定算法進(jìn)一步提高了測量速度。然而,傳統(tǒng)對相位偏折法的研究大多局限在小尺寸、小曲率測量的實(shí)驗(yàn)室場景下,在面對大尺寸、大曲率的工業(yè)高反表面測量場景時(shí)顯得捉襟見肘。
其主要問題在于:一方面,相位偏折測量系統(tǒng)對結(jié)構(gòu)參數(shù)的標(biāo)定精度有著很高的要求,隨著待測表面尺寸的增加,相機(jī)的視場與參考屏幕的尺寸也不可避免地增大,各類誤差對最終標(biāo)定精度的影響也會(huì)隨之增加。對于單視點(diǎn)系統(tǒng)而言,由于鏡面測量是一種離軸配置系統(tǒng),對幾何校準(zhǔn)誤差非常敏感。因此對于高精度測量需要一種高精度且魯棒性好的標(biāo)定過程,包括相機(jī)內(nèi)參標(biāo)定和幾何標(biāo)定,以精確確定屏幕、攝像機(jī)和被測表面的相對位置。雖然常規(guī)相機(jī)標(biāo)定技術(shù)已經(jīng)較為成熟,但用于識(shí)別屏幕和相機(jī)之間相對位置的幾何校準(zhǔn)仍在研究中。其中KUMAR R K[17]提出利用旋轉(zhuǎn)矩陣的列向量與物體和鏡像對應(yīng)點(diǎn)連線所在方向向量的正交性約束,列出線性方程進(jìn)行求解,每組方程需至少5 幅標(biāo)定圖像。但是計(jì)算的位置參數(shù)與真實(shí)值有較大誤差,不利于后續(xù)的參數(shù)優(yōu)化。TAKAHASHI K[18]基于正交約束從三個(gè)鏡像圖像中返回三個(gè)三點(diǎn)透視問題(Perspective-three-point Problem,P3P)的唯一解。但是若觀察到參考物體小于某一尺寸,則會(huì)得到錯(cuò)誤解。HESCH J A[19]提出的方法也是從三個(gè)鏡像圖像中返回三個(gè)P3P 問題的解,但只能通過重新投影誤差評估后,從64 個(gè)候選解中選擇一個(gè)最優(yōu)解。XIN L I[20]通過鏡像相機(jī)旋轉(zhuǎn)矩陣之和的SVD 分解來直接估計(jì)相機(jī)旋轉(zhuǎn)矩陣,并通過求解一個(gè)超定的線性方程組來計(jì)算相機(jī)平移向量,以最小化物體空間共線性誤差,但是對噪聲較為敏感,算法穩(wěn)定性差。對此,本文使用一種改進(jìn)的標(biāo)定方法:首先通過多次平移液晶顯示器(Liquid Crystal Display,LCD)屏幕上棋盤格圖像以及改變光學(xué)平臺(tái)上平面鏡傾斜角獲得多組棋盤格圖像,利用張正友標(biāo)定法[21]獲得鏡像相機(jī)內(nèi)參與外參;其次利用文獻(xiàn)[17]中提出的基于棋盤格圖像間的正交性約束,來確定LCD 屏幕到真實(shí)相機(jī)的外部參數(shù);最后,針對LCD 屏幕上棋盤格靶點(diǎn)的共平面性添加約束,利用列文伯格-馬爾夸特(Levenberg-marquardt,LM)優(yōu)化方法獲得真實(shí)相機(jī)與LCD 屏幕之間外部參數(shù)的最優(yōu)解。
另一方面,由于被測高反表面每一點(diǎn)的法線方向不同,反射方向也不相同,傳統(tǒng)的偏折法測量系統(tǒng)[13-16]很難在一個(gè)位置捕捉到受待測物體調(diào)制的整體反射光線,尤其對大尺寸、大曲率高反表面進(jìn)行測量時(shí)由于存在投影編碼盲點(diǎn)或視覺盲區(qū),導(dǎo)致測量系統(tǒng)無法一次獲得大范圍的測量結(jié)果,從而降低了測量效率。一些研究利用相機(jī)間較大的重疊視場,并通過點(diǎn)云配準(zhǔn),也可以基于以上方法達(dá)到多視點(diǎn)的效果,但是通過重疊視場擴(kuò)大的重建范圍有限,且拼接過程耗費(fèi)時(shí)間[22]。TARINI M[23]通過迭代估計(jì)某一點(diǎn)的法線和該法線附近點(diǎn)的深度來恢復(fù)曲面特征點(diǎn)的絕對坐標(biāo),但是需要給定初始深度和法向量。LIU M[24]則提出一種通過投影單幅棋盤格圖像進(jìn)行鏡面重建的方法,建立參考平面棋盤格靶點(diǎn)三維坐標(biāo)與棋盤格靶點(diǎn)二維像素坐標(biāo)的反射對應(yīng),參數(shù)化鏡面深度,利用多項(xiàng)式擬合鏡面,迭代估計(jì)鏡面深度。但是受棋盤格靶點(diǎn)疏密程度限制,無法得到完整連續(xù)的點(diǎn)云。本文方法與文獻(xiàn)[23-24]相關(guān),利用相移條紋,在參考平面位姿已知的情況下,通過相位解包裹建立歸一化像平面二維特征點(diǎn)、參考平面三維特征點(diǎn)以及光亮表面反射點(diǎn)之間的密集反射對應(yīng),再通過將密集折反射對應(yīng)關(guān)系建模為關(guān)于被測面深度的二次多項(xiàng)式,將深度信息作為方程組的解求出,獲得被測面相對于相機(jī)的絕對位置坐標(biāo)初值,最后利用反投影模型建立代價(jià)函數(shù)并使用LM 算法對其進(jìn)行約束,獲得精確結(jié)果。并通過設(shè)置相機(jī)陣列,同時(shí)從多角度對被側(cè)面進(jìn)行基于絕對坐標(biāo)的重建,可以有效地在保證局部測量準(zhǔn)確度的同時(shí),通過坐標(biāo)系統(tǒng)一,更快地實(shí)現(xiàn)對大尺寸、大曲率高反射面的精確測量。
要組成多視點(diǎn)系統(tǒng),并統(tǒng)一所有視點(diǎn)的坐標(biāo)系,還需完成全局標(biāo)定。通常工業(yè)上大部分相機(jī)全局標(biāo)定依賴于相機(jī)之間具有較大的公共視場,并通過在重疊視場放置靶標(biāo)對多相機(jī)之間的外參系數(shù)進(jìn)行計(jì)算[25]。然而這就制約了系統(tǒng)的整體測量范圍,并限制了多視點(diǎn)系統(tǒng)的靈活性。并且相機(jī)的焦點(diǎn)由于鏡面性質(zhì)在被測面所成的虛像上而不在被測面上,這也為放置靶標(biāo)帶來了不便。也有學(xué)者[26]借助經(jīng)緯儀等高精度設(shè)備構(gòu)建全局坐標(biāo)系,確定相機(jī)與高精密設(shè)備之間的位置關(guān)系實(shí)現(xiàn)全局標(biāo)定。這種方法測量精度高,但是高精度設(shè)備價(jià)格昂貴且操作復(fù)雜。文中,由于在各視點(diǎn)進(jìn)行幾何標(biāo)定時(shí),各相機(jī)均分別通過鏡子間接觀察到唯一的參考平面,并采集圖像,因而通過調(diào)整鏡子角度,并保持參考平面靜止,即可利用參考平面的唯一性,在完成各視點(diǎn)幾何標(biāo)定之后,獲得多視點(diǎn)系統(tǒng)的全局參數(shù)初值。同時(shí)提出一種優(yōu)化方法,在完成初步全局標(biāo)定之后,利用多視點(diǎn)系統(tǒng)拍攝用于標(biāo)定的標(biāo)準(zhǔn)平面鏡進(jìn)行重建并拼接,然后利用平面鏡的平面性優(yōu)化全局參數(shù)。
本文利用多視點(diǎn)系統(tǒng)擴(kuò)大對高反射表面的測量范圍并解決大曲率零件測量的死角問題。提出了一種多視點(diǎn)組合測量的方法,基于絕對點(diǎn)云坐標(biāo),將各視點(diǎn)的偏折測量結(jié)果拼接起來。同時(shí)為了約束系統(tǒng)誤差,提出了改進(jìn)的單視點(diǎn)系統(tǒng)標(biāo)定與系統(tǒng)全局標(biāo)定方法,通過利用一塊標(biāo)準(zhǔn)平面鏡即可完成全部標(biāo)定,使多視點(diǎn)系統(tǒng)得到精確的測量結(jié)果。
將多視點(diǎn)系統(tǒng)中的每一個(gè)視點(diǎn)看作一個(gè)獨(dú)立的測量系統(tǒng),其原理如圖1(a)。使用LCD 顯示屏作為參考平面,并向被測面投射相移條紋,然后采集反射后的調(diào)制圖案,使用倍頻多步相移法求取絕對相位,建立參考平面(屏幕)特征點(diǎn)空間坐標(biāo)與歸一化成像平面上圖像點(diǎn)之間的密集折返對應(yīng)關(guān)系。根據(jù)LIU M 的研究[24],可以將鏡面上的特征點(diǎn)深度s參數(shù)化,通過多項(xiàng)式求解獲得初值。然后把鏡面面型測量轉(zhuǎn)化為一個(gè)優(yōu)化問題:通過使參考平面上三維特征點(diǎn)與通過鏡面反投影的對應(yīng)點(diǎn)之間的三維誤差最小,迭代地求解特征點(diǎn)精確深度。
圖1 鏡面點(diǎn)深度測量原理Fig.1 Mirror point depth measurement
圖1(a)中,o為相機(jī)坐標(biāo)系原點(diǎn),m為LCD 屏幕上棋盤格靶點(diǎn)坐標(biāo),p為鏡面反射點(diǎn)坐標(biāo),v=(x,y,1)為歸一化像平面坐標(biāo),m和v稱為反射對應(yīng)。l為p處的反射光線,i為入射光線,n為p點(diǎn)處的法向量。設(shè)屏幕坐標(biāo)系到相機(jī)坐標(biāo)系的旋轉(zhuǎn)矩陣和平移向量分別為R和T。
根據(jù)文獻(xiàn)[24],可以將被測面特征點(diǎn)p相對于相機(jī)坐標(biāo)系原點(diǎn)o的深度s建模為一個(gè)偏微分方程組,并通過在已知的圖像平面每一點(diǎn)(x,y)求解該方程組,獲得關(guān)于深度s的多項(xiàng)式。
式中,系數(shù)D、E和F取決于標(biāo)定獲得的反射對應(yīng)關(guān)系。一般該方程的兩個(gè)解中只存在一個(gè)真值,可以將其作為初值。由此即可得到鏡面反射點(diǎn)p與歸一化像平面上點(diǎn)v的關(guān)系為
相應(yīng)地,p點(diǎn)所在的法向量n可表示為
設(shè)歸一化圖像點(diǎn)坐標(biāo){v1,v1,…,vm}和參考平面上的點(diǎn)坐標(biāo){m1,m2,…,mm}已知,反投影原理如圖1(b)。設(shè)鏡面上3D 反射點(diǎn)對應(yīng)于歸一化像平面坐標(biāo)(xi,yi)T可表述為pi=si(xi,yi,1)T。入射光線方向單位向量為。 反射光線方向單位向量為?,其中令,易知r3表示屏幕坐標(biāo)系Z軸方向的單位向量(屏幕所在平面的法向量)在相機(jī)坐標(biāo)系中的坐標(biāo)。T表示相機(jī)坐標(biāo)系相對于屏幕坐標(biāo)系的平移向量。設(shè)反射光線li與LCD 屏幕平面交于點(diǎn),則可表示為
對于最小化問題式(5),使用LM 優(yōu)化算法進(jìn)行迭代計(jì)算,獲得精確的鏡面的深度s。將結(jié)果帶入式(1),即可獲得被測面在相機(jī)坐標(biāo)系下的局部絕對點(diǎn)云坐標(biāo)。
為了足夠密集的獲取屏幕像素點(diǎn)與成像平面圖像點(diǎn)之間的對應(yīng)關(guān)系。如圖2 所示,采用具有四步相移的正弦條紋,并通過在屏幕上分別顯示水平和豎直兩個(gè)方向相互正交的條紋,實(shí)現(xiàn)對屏幕上每個(gè)像素點(diǎn)編碼。其同方向上相鄰兩幅條紋圖相位相差為,其數(shù)學(xué)表達(dá)式為
圖2 相位偏折法原理Fig.2 Principle of phase deflection method
式中,n為條紋幅數(shù),分別取1、2、…、4,由式(6)可聯(lián)立方程組求解得到
式(7)求解出的相位值被包裹在[ -π,π)之間,稱為相位主值,通過主值相位恢復(fù)其絕對相位稱為相位解包裹過程。由于多頻時(shí)間相位展開可提高絕對相位解包裹的精度且易于實(shí)現(xiàn)[27-28],因此采用該方法以實(shí)現(xiàn)對顯示器像素的編碼。
要達(dá)到測量目的,還需先對各單視點(diǎn)相機(jī)的內(nèi)外參進(jìn)行標(biāo)定,目前相機(jī)內(nèi)參標(biāo)定已有較成熟的工業(yè)現(xiàn)場標(biāo)定手段,如張正友標(biāo)定法[21],因此本文默認(rèn)內(nèi)參已知。外參標(biāo)定則需要考慮到鏡面測量時(shí),相機(jī)往往不能直接觀察到參考平面的問題,作者在之前的工作中[29],通過使用平面鏡作為輔助器材,使相機(jī)間接觀察屏幕上靶點(diǎn)從而完成了相機(jī)和LCD 屏的位姿標(biāo)定。
如圖3,在相機(jī)坐標(biāo)系中,設(shè)光學(xué)平臺(tái)平面為Π,平面鏡表面單位法向量為n,相機(jī)坐標(biāo)系原點(diǎn)C到平面鏡的距離為d,鏡像特征點(diǎn)到平面鏡的距離為t。則基于鏡面反射,實(shí)際物點(diǎn)P和虛擬像點(diǎn)P'之間的關(guān)系可表示為
圖3 LCD 屏幕標(biāo)定原理Fig.3 LCD screen calibration principle diagram
式中,R′、T′為鏡像靶點(diǎn)到相機(jī)坐標(biāo)系的旋轉(zhuǎn)矩陣和平移向量,可通過張正友標(biāo)定法獲得,R和T分別為屏幕坐標(biāo)系到相機(jī)坐標(biāo)系的旋轉(zhuǎn)矩陣和平移向量。一般針孔相機(jī)模型為
式中,v=[xy1]T為歸一化像平面坐標(biāo),I為三階單位矩陣,PS為屏幕靶點(diǎn)坐標(biāo)。將式(8)、(9)結(jié)合可以得到LCD 屏幕到相機(jī)的姿態(tài)轉(zhuǎn)換關(guān)系。
根據(jù)式(10),至少需采集3 個(gè)鏡面反射圖像計(jì)算屏幕坐標(biāo)系到相機(jī)坐標(biāo)系的旋轉(zhuǎn)矩陣R和平移向量T以及平面鏡參數(shù)n、d。通過改變平面鏡傾斜角度,便可以獲得不同位置的鏡面反射圖像。每一組鏡面反射圖像(至少三幅),令j,j'∈{1,2,3},R'j表示第j個(gè)平面鏡位置反射圖像的旋轉(zhuǎn)矩陣,定義單位矢量mjj'與單位法向量nj和nj'垂直,即可得
式中,α為比例系數(shù)。進(jìn)一步可列出
式中,R'j?R'j′T是一個(gè)特殊的正交矩陣,它有2 個(gè)復(fù)共軛特征值,且其中1 個(gè)特征值等于1。所以R'j?R'j'T的特征值為1 對應(yīng)的特征向量,即mjj'。根據(jù)特征向量的叉積性質(zhì),可以計(jì)算三個(gè)平面鏡位置分別對應(yīng)的單位法向量。
求出對應(yīng)3 個(gè)平面鏡位置的單位法向量后,根據(jù)式(8)求解屏幕坐標(biāo)系到相機(jī)坐標(biāo)系的旋轉(zhuǎn)矩陣Rj。在無噪聲的理想情況下,分別計(jì)算得到的三個(gè)旋轉(zhuǎn)矩陣Rj應(yīng)該是相等的。但是實(shí)際上由于噪聲的影響,三者并不相等。所以需要對旋轉(zhuǎn)矩陣求平均。
旋轉(zhuǎn)矩陣平均為
剩余參數(shù)[T,d1,d2,d3]T可以根據(jù)式(10)構(gòu)建線性方程組求解,即
式(17)等價(jià)于
式中,D為大小9×6 的已知矩陣,c是一個(gè)大小9×1 的已知向量。這個(gè)線性系統(tǒng)中x的最小二乘解為x=D-1?c。其中D-1為D的廣義逆矩陣。至此,屏幕坐標(biāo)系到相機(jī)坐標(biāo)系的旋轉(zhuǎn)矩陣R和平移向量T以及平面鏡參數(shù)n、d全部求出。
觀察式(18)易知,線性解通常對噪聲敏感。根據(jù)課題組之前的工作[30],通過同時(shí)調(diào)整旋轉(zhuǎn)矩陣R、平移向量T、平面鏡法向量n和相機(jī)坐標(biāo)系原點(diǎn)到平面鏡的距離d,并添加共平面約束,使反投影的重投影誤差最小。如圖4,將LCD 屏幕上棋盤格圖像移動(dòng)W次,每個(gè)棋盤格位置所對應(yīng)的平面鏡轉(zhuǎn)動(dòng)M次(至少3 次)。每個(gè)棋盤格共N個(gè)特征角點(diǎn)。令R'ji表示第j個(gè)位置的棋盤格在第i個(gè)平面鏡位置中所成鏡像到相機(jī)坐標(biāo)系的旋轉(zhuǎn)矩陣。同理,為平移向量,nji表示鏡面法向量,Rj表示第j個(gè)棋盤格坐標(biāo)系到相機(jī)坐標(biāo)系的旋轉(zhuǎn)矩陣,Tj表示平移向量。dji表示相機(jī)坐標(biāo)系原點(diǎn)到平面鏡的距離。PSk表示棋盤格中第k個(gè)特征角點(diǎn)在屏幕坐標(biāo)系中的坐標(biāo),Z軸方向坐標(biāo)為0。qjik表示相機(jī)拍攝第j個(gè)位置棋盤格在第i個(gè)平面鏡位置中所成鏡像的第k個(gè)角點(diǎn)像素坐標(biāo),為反投影點(diǎn)坐標(biāo)。反投影過程可表示為
圖4 標(biāo)定流程Fig.4 Calibration process
式中,λji表示第j個(gè)位置棋盤格在第i個(gè)平面鏡位置處的棋盤格鏡像特征點(diǎn)從相機(jī)坐標(biāo)系歸一化到像平面坐標(biāo)系的非零縮放因子。
式中,z為棋盤格鏡像特征點(diǎn)在相機(jī)坐標(biāo)系下的Z方向坐標(biāo),A表示相機(jī)內(nèi)參數(shù)矩陣。所以反投影的重投影誤差函數(shù)可表示為
由于棋盤格在LCD 屏幕上移動(dòng)W次,該屏幕可視為標(biāo)準(zhǔn)平面。因此還需添加W個(gè)棋盤格圖像之間的共平面約束。Pjk表示第j個(gè)位置棋盤格中第k個(gè)特征角點(diǎn)在相機(jī)坐標(biāo)系中坐標(biāo)。
設(shè)Perr為MATLAB 平面擬合函數(shù):[fitresult,Perr] = createFit(dx, dy, dz) 的擬合效果評價(jià)值,即為平均最小距離誤差。Perr值越小,共平面效果越好。該函數(shù)輸入為Pjk。此外,由于棋盤格坐標(biāo)系與LCD 屏幕坐標(biāo)系的共平面特性,Rj,j∈{1,...,W}理論上是相等的。所以由式(15)和(16)可計(jì)算出平均旋轉(zhuǎn)矩陣Rav。計(jì)算Rj與Rav的誤差Rerr為
Rerr越小,共平面效果越好。同理,在光學(xué)平臺(tái)上W個(gè)傾斜角為零的平面鏡位置之間也具有共平面特性,所以對應(yīng)的法向量nj1理論上也是相等的。同樣可以計(jì)算出平均法向量nav,有
理想情況下Perr=0,Rerr=0,Nerr=0。所以代價(jià)函數(shù)可視為兩部分組成:重投影誤差項(xiàng)Errpro和共平面約束項(xiàng)(Perr、Rerr、Nerr)。因此,根據(jù)拉格朗日乘子法,最后建立等式約束情況下的單視點(diǎn)外參優(yōu)化目標(biāo)函數(shù)
式中,qjik表示相機(jī)拍攝第j個(gè)位置棋盤格在第i個(gè)平面鏡位置中所成鏡像的第k個(gè)角點(diǎn)像素坐標(biāo)。PSk表示棋盤格中第k個(gè)特征角點(diǎn)在屏幕坐標(biāo)系中的坐標(biāo)。Rj、Tj、nji、dji為待優(yōu)化參數(shù)。λre、λp、λr、λn分別為Erepro項(xiàng)、Perr項(xiàng)、Rerr項(xiàng)和Nerr項(xiàng)的拉格朗日乘子,也叫罰函數(shù)因子。LM 迭代優(yōu)化求解該最小化問題,獲取最佳外參,確定參考平面與相機(jī)間位姿關(guān)系。
為了使測量范圍更廣,從而引入一個(gè)以上的視點(diǎn)時(shí),需進(jìn)行全局標(biāo)定,將多個(gè)視點(diǎn)統(tǒng)一到一個(gè)坐標(biāo)系下。如圖5(a),使參考平面(LCD 屏幕)靶標(biāo)保持靜止,在光學(xué)平臺(tái)上放置一塊鏡子并調(diào)整角度,使各無視場重疊相機(jī)通過鏡子間接觀察到唯一的參考平面,則可達(dá)到與在重疊視場放置靶標(biāo)同樣的效果。
圖5 全局標(biāo)定原理Fig.5 Global calibration principle
式中,Pi、Pj分別為屏幕上靶點(diǎn)PS在相機(jī)i、j坐標(biāo)系下坐標(biāo),利用2.1 節(jié)標(biāo)定LCD 屏幕的方法,可通過采集不同角度鏡子反射的屏幕靶點(diǎn)圖像獲得。由于參考平面靶標(biāo)的唯一性,可以利用式(26)求得兩個(gè)無視場重疊相機(jī)之間的姿態(tài)轉(zhuǎn)換關(guān)系Rji和Tji。
以此類推,如圖5(b),多視點(diǎn)系統(tǒng)可分解為若干組雙鏡頭系統(tǒng),只要保證各視點(diǎn)標(biāo)定時(shí)的屏幕靶標(biāo)一致,即可逐步完成全局標(biāo)定。
由于受到噪聲影響,全局標(biāo)定得到的參數(shù)并不能直接使用。以雙相機(jī)系統(tǒng)為例,假設(shè)Pki、Pkj分別表示棋盤格第個(gè)k靶點(diǎn)在i、j號(hào)相機(jī)坐標(biāo)系下的坐標(biāo),分別表示相機(jī)i坐標(biāo)系向相機(jī)j坐標(biāo)系轉(zhuǎn)換的旋轉(zhuǎn)平移矩陣,則基于式(26),Pkj通過相機(jī)可以構(gòu)造誤差函數(shù)
利用標(biāo)準(zhǔn)平面鏡的平面性質(zhì),使用多視點(diǎn)系統(tǒng)對放置在光學(xué)平臺(tái)上的標(biāo)準(zhǔn)平面鏡進(jìn)行測量,理論上任意雙相機(jī)系統(tǒng)統(tǒng)一坐標(biāo)系之后,對拼接后的重建結(jié)果使用平面擬合函數(shù),擬合誤差應(yīng)該為0。據(jù)此可以利用該先驗(yàn)性質(zhì)建立約束進(jìn)一步優(yōu)化全局標(biāo)定參數(shù),使用MATLAB 平面擬合函數(shù)擬合效果評價(jià)值作為約束,即
式中,輸入為點(diǎn)云坐標(biāo)。最后根據(jù)拉格朗日乘子法,建立等式約束情況下的全局參數(shù)優(yōu)化目標(biāo)函數(shù)
同理,λt、λc為罰函數(shù)因子,LM 法迭代優(yōu)化求解該最小化問題,獲取最佳全局外參,確定相機(jī)間位姿關(guān)系。
整個(gè)標(biāo)定過程如圖6。通過利用鏡像靶點(diǎn)進(jìn)行標(biāo)定,獲得各視點(diǎn)在鏡像下的外參R′,T′;利用式(13)計(jì)算特殊正交矩陣R'j?R'j′T(j=1,…,3)特征值1 對應(yīng)的特征向量mjj',然后利用式(14)計(jì)算每個(gè)棋盤格位置對應(yīng)的三個(gè)平面鏡位置的法向量nj,再通過求解式(8)、(17)得到各視點(diǎn)的真實(shí)外參R,T與鏡面參數(shù)T,dj;將得到的外參與鏡面參數(shù)作為式(15)優(yōu)化函數(shù)的初值,并添加共平面約束進(jìn)行迭代之后,便能得到精確的外參,從而完成真實(shí)相機(jī)標(biāo)定;最后,利用式(26)得到全局外參初值,將各視點(diǎn)統(tǒng)一在唯一坐標(biāo)系下,并對標(biāo)準(zhǔn)平面鏡進(jìn)行測量,利用優(yōu)化函數(shù)(29)得到精確的全局參數(shù);在每個(gè)視點(diǎn),重復(fù)上述過程,利用式(26)將各視點(diǎn)重建結(jié)果統(tǒng)一在某一個(gè)主視點(diǎn)下,達(dá)成多視點(diǎn)測量的效果。
圖6 標(biāo)定與測量流程Fig.6 Flowchart of the calibration and measurement
為了驗(yàn)證所提出的標(biāo)定及測量方法的準(zhǔn)確性,設(shè)計(jì)了多視點(diǎn)視覺系統(tǒng)測量實(shí)驗(yàn)。圖7 展示了整個(gè)測量系統(tǒng)的基本結(jié)構(gòu):光學(xué)平臺(tái)、標(biāo)準(zhǔn)平面鏡、LCD 顯示屏以及4 組相機(jī)。其中LCD 顯示屏的型號(hào)為戴爾P1917S,屏幕分辨率為1 280 pixel×1 024 pixel,像元尺寸為0.293 mm×0.293 mm,四個(gè)相機(jī)的型號(hào)為大華A5201MG50,相機(jī)的分辨率為1 920 pixel×1 200 pixel,像元尺寸為4.8 μm×4.8 μm。配合Computar 工業(yè)鏡頭使用,鏡頭型號(hào)為M1620-MPW2。
圖7 多視點(diǎn)測量系統(tǒng)Fig.7 Multi-view measurement system
首先,使用任意相鄰兩組相機(jī)對一塊球面半徑為467.5 mm 的球面透鏡進(jìn)行測量并進(jìn)行拼接。圖8(a)為無約束的重建結(jié)果,可以觀察到明顯的縫隙,這是由于視點(diǎn)幾何標(biāo)定和全局標(biāo)定過程中產(chǎn)生的系統(tǒng)誤差引起的,如圖6 所示,該測量系統(tǒng)為線性系統(tǒng),前期標(biāo)定過程中的誤差在測量中會(huì)成倍放大。圖8(b)為添加約束的重建效果觀察到縫隙消失,重建表面光滑,證明了所提出共面約束的有效性。因此后續(xù)試驗(yàn)均采用添加約束的標(biāo)定參數(shù)。
圖8 平面約束對重建的影響Fig.8 The influence of plane constraint on reconstruction
如圖9,將一塊500 mm×500 mm 尺寸的標(biāo)準(zhǔn)平面鏡和球面半徑為467.5 mm 的球面透鏡分別放在光學(xué)平臺(tái)上,利用多視點(diǎn)系統(tǒng)對其進(jìn)行測量,以驗(yàn)證本方案在大尺寸、大曲率測量場景下的有效性。其中,平面鏡制造工藝為前鍍膜浮法玻璃,面型誤差小于0.002 mm,可視為標(biāo)準(zhǔn)平面,實(shí)驗(yàn)中使用最多4 相機(jī)組成的陣列進(jìn)行測量。與之相比,具有更大曲率的球面透鏡面型精度為四分之一波長(587.6 nm),可視為標(biāo)準(zhǔn)球面鏡,實(shí)驗(yàn)中使用左右相機(jī)組成的雙相機(jī)陣列進(jìn)行測量。相機(jī)測量視角與結(jié)果點(diǎn)云分別如圖9(a)、(c)和(b)、(d)。將獲得的點(diǎn)云數(shù)據(jù)與理想模型進(jìn)行擬合,求得均方根誤差(Root Mean Square Error,RMSE)作為測量誤差,其中,4 視點(diǎn)系統(tǒng)平面鏡測量誤差為0.086 mm,雙視點(diǎn)系統(tǒng)球面鏡測量誤差為0.064 mm。
圖9 多視點(diǎn)系統(tǒng)測量結(jié)果Fig.9 Measurement results of multi-view system
同時(shí),通過點(diǎn)云處理軟件的表面積量算功能可獲得不同數(shù)量視點(diǎn)測量下重建結(jié)果的點(diǎn)云表面積。以平面鏡多視點(diǎn)測量為例,其統(tǒng)計(jì)結(jié)果如表1。
表1 多視點(diǎn)系統(tǒng)平面鏡測量結(jié)果Table 1 Plane mirror measurement results of multi-view system
測量結(jié)果表明,在大尺寸場景,所提方法通過增加視點(diǎn)數(shù)量,使測量范圍相比單視點(diǎn)測量范圍大幅增加,而誤差遞增平緩,在0.1 mm 以內(nèi)。而在大曲率場景下,整體測量難度提高,但通過視點(diǎn)拼接,本文方法依然達(dá)到了較高的精度。
考慮到測量范圍與誤差的均衡,將視點(diǎn)數(shù)量固定為4,然后將一塊高度為8.89 mm 的標(biāo)準(zhǔn)量塊放置于光學(xué)平臺(tái)和被測標(biāo)準(zhǔn)平面之間,使鏡面位置較之前升高。再對升高的鏡面進(jìn)行測量并擬合,接著利用點(diǎn)到平面距離公式計(jì)算兩個(gè)擬合鏡面間的平均距離,將其與標(biāo)準(zhǔn)件高度進(jìn)行比較。兩個(gè)鏡面位置的鏡面恢復(fù)點(diǎn)云如圖10(b)。
圖10 臺(tái)階面測量結(jié)果Fig.10 Step surface measurement results
最后,如圖11,經(jīng)過重復(fù)試驗(yàn)并取平均值,測量量塊高度與實(shí)際高度誤差小于0.1 mm,間接驗(yàn)證了本文測量方法的準(zhǔn)確性。
圖11 臺(tái)階面測量結(jié)果統(tǒng)計(jì)Fig.11 Statistics of step surface measurement results
本文利用多個(gè)相機(jī)陣列組合實(shí)現(xiàn)了對高反射面面形的便捷性檢測。相對于單相機(jī)測量系統(tǒng),該多視點(diǎn)系統(tǒng)可根據(jù)實(shí)際情況,靈活設(shè)計(jì)相機(jī)數(shù)量和排列方式,尤其在大尺寸、大曲率高反表面測量時(shí),可有效規(guī)避盲點(diǎn)并擴(kuò)大測量范圍。采用了改進(jìn)的顯示器屏幕標(biāo)定方法和全局標(biāo)定方法,利用顯示屏和平面鏡的平面性抑制標(biāo)定誤差,僅需標(biāo)定一次,且所需器材僅有一塊標(biāo)準(zhǔn)平面鏡。在所提出的方法中,重建結(jié)果精度主要取決于顯示器編碼和系統(tǒng)標(biāo)定精度,為此可以使用更高分辨率的顯示器和相機(jī)系統(tǒng)或更高精度的相移解包裹算法提高測量結(jié)果精度。對于透明光學(xué)鏡面,非連續(xù)性鏡面等特殊測量場景,如何使用所提方法完成高精度的便捷性測量是進(jìn)一步研究的方向。