本發(fā)明涉及相機標定領(lǐng)域,尤其是涉及一種基于三線結(jié)構(gòu)光的相機平面標定方法。
背景技術(shù):
相機標定技術(shù)是線結(jié)構(gòu)光三維測量的關(guān)鍵技術(shù)之一。在圖像測量過程以及機器視覺應(yīng)用中,為確定空間物體表面某點的三維幾何位置與其在圖像中對應(yīng)點之間的相互關(guān)系,必須建立相機成像的幾何模型,這些幾何模型參數(shù)就是相機參數(shù)。在大多數(shù)條件下這些參數(shù)必須通過實驗與計算才能得到,這個求解參數(shù)的過程就稱之為相機標定(或攝像機標定)。無論是在圖像測量或者機器視覺應(yīng)用中,相機參數(shù)的標定都是非常關(guān)鍵的環(huán)節(jié),其標定結(jié)果的精度及算法的穩(wěn)定性直接影響相機工作產(chǎn)生結(jié)果的準確性。因此,做好相機標定是做好后續(xù)工作的前提,提高標定精度是科研工作的重點所在。傳統(tǒng)上相機的標定方法,無法得到精確的相機畸變模型,標定精度低,難以完全消除相機的畸變誤差。因此,需要一種針對相機畸變問題的相機標定方法。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是針對上述問題提供一種基于三線結(jié)構(gòu)光的相機平面標定方法。
本發(fā)明的目的可以通過以下技術(shù)方案來實現(xiàn):
一種基于三線結(jié)構(gòu)光的相機平面標定方法,所述方法包括下列步驟:
1)建立三線結(jié)構(gòu)光標定平臺,并在三線結(jié)構(gòu)光標定平臺內(nèi)對棋盤格標定模板進行拍攝;
2)對步驟1)中拍攝的圖像進行harris角點檢測,得到相機的畸變模型;
3)根據(jù)bp神經(jīng)網(wǎng)絡(luò)對相機的畸變模型進行坐標變換,得到在世界坐標系下校正后的相機模型;
4)根據(jù)張正友平面標定法對步驟3)中校正后的相機模型進行標定。
所述三線結(jié)構(gòu)光標定平臺包括:
結(jié)構(gòu)光發(fā)生組件,用于為棋盤格標定模板的拍攝提供三線結(jié)構(gòu)光;
可調(diào)拍攝組件,用于拍攝棋盤格標定模板;
底座,用于防止棋盤格標定模板,并支撐結(jié)構(gòu)光發(fā)生組件和可調(diào)拍攝組件。
所述結(jié)構(gòu)光發(fā)生組件包括:
結(jié)構(gòu)光發(fā)生器,用于產(chǎn)生三線結(jié)構(gòu)光;
結(jié)構(gòu)光發(fā)生器調(diào)節(jié)器,用于調(diào)節(jié)結(jié)構(gòu)光發(fā)生器的高度和旋轉(zhuǎn)角度,包括第一立柱、夾具和第一調(diào)節(jié)固定座,所述第一立柱固定于底座上,所述第一調(diào)節(jié)固定座安裝于第一立柱上,所述夾具設(shè)置于第一調(diào)節(jié)固定座上并與結(jié)構(gòu)光發(fā)生器連接。
所述可調(diào)拍攝組件包括:
相機,用于對棋盤格標定模板進行拍攝;
相機調(diào)節(jié)器,用于實現(xiàn)相機的多自由度調(diào)節(jié),包括第二立柱、滑動光軸、第二調(diào)節(jié)固定座、微調(diào)升降臺、相機固定架和夾相機頂塊,所述第二立柱固定于底座上,所述第二調(diào)節(jié)固定座安裝于第二立柱上,所述滑動光軸設(shè)置于第二調(diào)節(jié)固定座上并與相機通過相機固定架連接,所述微調(diào)升降臺通過夾相機頂塊固定于相機上;
上位機,與相機連接,用于接收相機拍攝的圖像。
所述步驟3)具體為:
31)將步驟2)中得到的相機的畸變模型在像素坐標系下的二維坐標作為bp神經(jīng)網(wǎng)絡(luò)的輸入層數(shù)據(jù);
32)建立三層bp神經(jīng)網(wǎng)絡(luò),依次進行前向計算和反向計算來實現(xiàn)bp神經(jīng)網(wǎng)絡(luò)的自適應(yīng)學習;
33)對計算過程中的權(quán)值進行修正,得到在世界坐標系下校正后的相機模型。
所述bp神經(jīng)網(wǎng)絡(luò)的自適應(yīng)學習的學習率具體為:
其中,η為學習率,a為減量因子,b為增量因子,n為迭代次數(shù),e為誤差函數(shù)。
所述對計算過程中的權(quán)值進行修正包括對隱含層與輸出層之間的權(quán)值進行修正和對隱含層與輸入層之間的權(quán)值進行修正。
所述對隱含層與輸出層之間的權(quán)值進行修正具體為:
其中,δvlj為隱含層與輸出層之間的權(quán)值的調(diào)整量,n為迭代次數(shù),η為學習率,e為誤差函數(shù),α為動量因子。
所述對隱含層與輸入層之間的權(quán)值進行修正具體為:
其中,δwji為隱含層與輸入層之間的權(quán)值的調(diào)整量,n為迭代次數(shù),η為學習率,e為誤差函數(shù),α為動量因子。
所述在世界坐標系下校正后的相機模型在zw維度中的值為0。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
(1)通過引入bp神經(jīng)網(wǎng)絡(luò),來實現(xiàn)相機模型在像素坐標系和世界坐標系之間的坐標變換,利用bp神經(jīng)網(wǎng)絡(luò)強大的自適應(yīng)學習能力,在坐標變換的過程中,實現(xiàn)相機模型的畸變校正,提高了后續(xù)在對相機平面標定過程中標定的準確性。
(2)利用自行建立的三線結(jié)構(gòu)光標定平臺對棋盤格標定模板進行拍攝,該標定平臺將結(jié)構(gòu)光發(fā)生組件和可調(diào)拍攝組件固定在同一底座上,免去了在拍攝過程中需要人工拿著結(jié)構(gòu)光發(fā)生器和相機對棋盤格進行拍攝,減輕了工作量的同時也減少了人為干擾。
(3)結(jié)構(gòu)光發(fā)生組件除了包含結(jié)構(gòu)光發(fā)生器,還包含結(jié)構(gòu)光發(fā)生調(diào)節(jié)器,可以對結(jié)構(gòu)光發(fā)生器的高度和旋轉(zhuǎn)角度進行靈活調(diào)節(jié),保證了可以提供符合工作人員需求的結(jié)構(gòu)光,使用靈活的同時也增強了標定的準確度。
(4)可調(diào)拍攝組件除了相機以外還設(shè)有相機調(diào)節(jié)器,通過滑動光軸和調(diào)節(jié)固定座的配合實現(xiàn)相機的多自由度調(diào)節(jié),而且設(shè)有微調(diào)升降臺,可以對相機的拍攝角度進行進一步微調(diào),使得可以最大程度的拍攝符合工作人員預(yù)期的圖像,為提高后續(xù)標定的準確度做出準備。
(5)利用bp神經(jīng)網(wǎng)絡(luò)進行自適應(yīng)學習,由于bp神經(jīng)網(wǎng)絡(luò)具有動態(tài)的進行網(wǎng)絡(luò)學習、取得合理地學習率、網(wǎng)絡(luò)的收斂速度加快以及防止網(wǎng)絡(luò)振蕩的產(chǎn)生等優(yōu)點,因而最大程度的減小了相機模型的畸變程度,提高標定的準確性。
(6)在世界坐標系下校正后的相機模型在zw維度中的值為0,即將三維坐標降低為二維坐標,這種方法既可以提高標定速度,也不會影響標定精度。
附圖說明
圖1為本發(fā)明的方法流程圖;
圖2為三線結(jié)構(gòu)光標定平臺的結(jié)構(gòu)示意圖;
其中,1為棋盤格標定模板,2為結(jié)構(gòu)光發(fā)生器,3為夾具,4為調(diào)節(jié)固定座,5為立柱,6為相機。7為滑動光軸,8為微調(diào)升降臺,9為相機固定架,10為夾相機頂塊,11為鏡頭。
具體實施方式
下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細說明。本實施例以本發(fā)明技術(shù)方案為前提進行實施,給出了詳細的實施方式和具體的操作過程,但本發(fā)明的保護范圍不限于下述的實施例。
如圖1所示,本實施例提供的是一種基于三線結(jié)構(gòu)光的相機平面標定方法,具體包括下列步驟:
s1)建立三線結(jié)構(gòu)光標定平臺,并在三線結(jié)構(gòu)光標定平臺內(nèi)對棋盤格標定模板1進行拍攝;
s2)對步驟s1)中拍攝的圖像進行harris角點檢測,得到相機的畸變模型;
s3)根據(jù)bp神經(jīng)網(wǎng)絡(luò)對相機的畸變模型進行坐標變換,得到在世界坐標系下校正后的相機模型;
s4)根據(jù)張正友平面標定法對步驟s3)中校正后的相機模型進行標定。
下面對上述步驟進行具體描述:
三線結(jié)構(gòu)光標定平臺結(jié)構(gòu)特點:
圖2中,該標定平臺主要包括相機6、鏡頭11、圖像采集卡、結(jié)構(gòu)光發(fā)生器2、夾具3、立柱5、夾相機頂塊10等,其中相機固定架9與相機6連接固定,固定架為多自由度可調(diào)節(jié)高度的機械部分。結(jié)構(gòu)光發(fā)生器2與電源插座連接以提供光源,其固定方式為可調(diào)節(jié)高度且可旋轉(zhuǎn)角度。標定板放置在底座上待測。結(jié)構(gòu)光發(fā)生器2可以通過調(diào)節(jié)固定座4進行上下調(diào)整以及結(jié)構(gòu)光方向的調(diào)整。相機6可以通過調(diào)節(jié)固定座4進行上下調(diào)整,通過滑動光軸7進行左右的調(diào)整以及相機6方向的調(diào)整,通過微調(diào)升降臺8進行相機6位置的微調(diào)。本實施例中采用的棋盤格標定模板1為8×11黑白方塊,其方塊大小為30×30mm,材料為許多黑白交錯的正方形格子組成的薄板,板子表面平整光滑,相機6中可以采集到棋盤格標定模板1的全部圖像,最終能夠?qū)崿F(xiàn)將三線結(jié)構(gòu)光相機平面的標定。
標定原理:
先利用harris角點檢測方法提取特征點坐標,并選用了bp神經(jīng)網(wǎng)絡(luò)來校正工業(yè)相機的畸變模型,以提高標定算法的優(yōu)化速度和標定精度;最后采用張正友的平面標定法對校正后的攝像機模型進行標定實驗。采用bp神經(jīng)網(wǎng)絡(luò)校正攝像機畸變模型,設(shè)圖像像素坐標為(u,v)、世界坐標為(xw,yw,zw)。
該bp算法包括以下兩個重要的過程。正向傳播過程:輸入信號從輸入層傳向中間隱含層,再由隱含層傳向輸出層。反向傳播過程:當輸出層得不到期望的輸出時,則轉(zhuǎn)入反向傳播過程,將誤差信號沿正向傳播的通路反向返回。
bp神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計如下:
神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計是一個重要環(huán)節(jié),主要包括輸入層數(shù)據(jù)的設(shè)計、學習率的確定、增量因子、減量因子、動量因子、動量項權(quán)值的設(shè)計。它們的具體說明如下:
輸入層數(shù)據(jù):圖像像素坐標;
輸出層數(shù)據(jù):經(jīng)網(wǎng)絡(luò)學習后輸出(xw,yw)的二維坐標;
學習率η:采用的學習率η自適應(yīng)調(diào)整公式如下:
式中,a為減量因子,b為增量因子,e為誤差函數(shù)。
本實施例中,各參數(shù)的取值為:減量因子:a=0.9;增量因子:b=1.1;動量因子:α=0.8;
動量項的權(quán)值:附加動量項的權(quán)值調(diào)整公式如下式所示:
式中δvlj(j=1,2,...;l=1,2,...)隱含層與輸出層間權(quán)值的調(diào)整量,δwji(i=1,2...;j=1,2,...)隱含層與輸入層間權(quán)值的調(diào)整量,α為動量因子,0<α<1,帶有α的那一項為動量項,取值為0.8,n為迭代次數(shù)。
通過學習二維與三維之間的坐標關(guān)系,利用創(chuàng)建的神經(jīng)網(wǎng)絡(luò)可以得出二維圖像像素坐標與三維世界坐標之間的關(guān)系。考慮到設(shè)計的網(wǎng)絡(luò)是為了實現(xiàn)從圖像坐標到三維坐標之間的映射,即從圖像像素坐標(u,v)到(xw,yw,zw)的映射關(guān)系,同時采用基于平面共面點的方法來進行標定,也就是令三維坐標中的zw=0把三維降低為二維,這樣既可以提高運行速度,又不影響精度。該網(wǎng)絡(luò)設(shè)計具有以下優(yōu)點:動態(tài)的進行網(wǎng)絡(luò)學習;取得合理地學習率;網(wǎng)絡(luò)的收斂速度加快;防止網(wǎng)絡(luò)振蕩的產(chǎn)生。
張正友法是一種介于傳統(tǒng)標定法和自標定法之間的一種標定方法,該方法操作簡便,精度高,成本低,速度快,是標定方法中的不二選擇。該標定方法需要對標定板進行不同空間角度的抓拍圖像,設(shè)ow-xwywzw為世界坐標系,oc-xcyczc為相機坐標系,標定板在平zw=0面上,過程為:相機內(nèi)參數(shù)的標定利用matlab的相機標定工具箱進行相機的標定,將得到矩陣a;計算相機外部參數(shù)。保持結(jié)構(gòu)光發(fā)生器2和相機不動,拿下待測物體,計算工作臺相對相機的外部參數(shù)。獲得的相機外參數(shù)矩陣。由于圖像已經(jīng)進行了畸變校正,所以不用考慮攝像機畸變,則可以得到單應(yīng)性矩陣、相機的內(nèi)部參數(shù)以及世界坐標系、相機坐標系之間的關(guān)系,如下式所示:
上中的各個字母的含義如下:
h即為單應(yīng)性矩陣;a中元素為攝像機機的內(nèi)部參數(shù);s=zc即相機坐標系的第三個數(shù)值;t為從世界坐標系到相機坐標系的平移矩陣;r1、r2、r3為從世界坐標系到相機坐標系的旋轉(zhuǎn)矩陣r的列向量;f為相機的焦距,θ為坐標軸xi與yi之間的實際夾角,k,l為感光芯片像素的實際大小,xi0,yi0為圖像的平面中心。