|
|
|
1 引言
攝(she)像(xiang)機(ji)標(biao)定(ding)是(shi)立(li)體(ti)視(shi)覺(jiao)測(ce)量(liang)的(de)關(guan)鍵(jian)問(wen)題(ti)之(zhi)一(yi)。它(ta)的(de)目(mu)的(de)是(shi)確(que)定(ding)三(san)維(wei)物(wu)體(ti)的(de)世(shi)界(jie)坐(zuo)標(biao)係(xi)到(dao)攝(she)像(xiang)機(ji)圖(tu)像(xiang)坐(zuo)標(biao)係(xi)的(de)映(ying)射(she)關(guan)係(xi),其(qi)中(zhong)包(bao)括(kuo)攝(she)像(xiang)機(ji)成(cheng)像(xiang)係(xi)統(tong)內(nei)外(wai)幾(ji)何(he)及(ji)光(guang)學(xue)參(can)數(shu)的(de)標(biao)定(ding)和(he)兩(liang)個(ge)或(huo)多(duo)個(ge)攝(she)像(xiang)機(ji)之(zhi)間(jian)相(xiang)對(dui)位(wei)置(zhi)關(guan)係(xi)的(de)標(biao)定(ding)。
根據不同的攝像機模型,攝像機標定可分為線性標定、非線性標定和兩步法。線性標定不考慮鏡頭畸變,簡單快速,但精度低;非線性標定考慮了畸變參數,但計算繁瑣,速度慢;兩步法介於兩者之間,采用由粗到精策略,是一種比較靈活的方法[1]。根據有無標定物,攝像機標定可分為自標定方法和基於主動視覺的標定方法、基於標定物的方法。
相對於前兩者,後者的優點是可以使用任意攝像機模型,標定精度高[2]。zaibiaodingwuxuanzeshang,yibanfenweiqipanfanggehebiaoyuanbalianglei。xiangduiyuqipangejiaodiantiqu,yuanbazhixintiqusuanfajuyousudukuai,kangzaonengliqiang,wendingxinghaodetedian。jiyu“兩步法”標定技術,本文以二維圓靶平麵作為標定物,在VC環境開發了立體視覺標定係統。
2 單攝像機標定
2.1 非線性攝像機模型
非線性攝像機的透視投影模型如圖1。其中
圖1非線性攝像機透視投影模型
為某世界坐標係下空間點 的三維坐標。 為點 在攝像機坐標係(以攝像機光心為O為原點,Z軸與光軸重合)下的坐標。 為理想攝像機模型(不考慮畸變)下 點圖像坐標。 為 點實際圖像坐標(含畸變)。 是 點計算機圖像坐標,以像素為單位。攝像機模型的建立就是從 到 的變換過程,具體步驟如下:
①從世界坐標係 到攝像機坐標係 的變換
②從攝像機坐標係 到圖像平麵坐標的理想投影變換(f為有效焦距):
③畸變模型(從 到 的變換)
非線性畸變一般包括徑向畸變、切向畸變、偏心畸變等。工業測量中,徑向畸變是影響機器視覺精度的主要因素,可由 以下關係表示:
④從實際圖像坐標 到計算機圖像坐標 的變換
是計算機圖像實際主點坐標。dX,dY分別為圖像x,y方向上單位像素的尺寸大小。例如,CCD成像麵積大小為4.8×3.6mm,圖像分辨率大小為768×576像素,則 將(1)、(2)、(3)、(4)相結合可得非線性攝像機模型:
2.2圓心標定點提取
標定算法中常用棋盤方格點[3]和圓靶圓心[4]作為標定點。前者往往通過Harris、susan等(deng)角(jiao)點(dian)提(ti)取(qu)方(fang)法(fa)獲(huo)得(de),盡(jin)管(guan)這(zhe)些(xie)方(fang)法(fa)精(jing)度(du)高(gao),但(dan)抗(kang)噪(zao)性(xing)能(neng)弱(ruo)運(yun)算(suan)量(liang)大(da),而(er)且(qie)易(yi)受(shou)噪(zao)聲(sheng)影(ying)響(xiang)。圓(yuan)心(xin)提(ti)取(qu)算(suan)法(fa)計(ji)算(suan)的(de)是(shi)特(te)定(ding)區(qu)域(yu)的(de)當(dang)量(liang)中(zhong)心(xin),算(suan)法(fa)簡(jian)單(dan),抗(kang)噪(zao)能(neng)力(li)強(qiang),即(ji)使(shi)圖(tu)像(xiang)發(fa)生(sheng)扭(niu)曲(qu)時(shi)(如圓被扭曲成橢圓),也能準確地提取其重心位置。
本文以包含49個不同大小的標定圓的圓靶為標定板,識別並將所有標定圓自動排序,一 一提取質心坐標。與目前常用的標定點提取算法相比,方便快捷而且達到了亞像素精度。具體步驟如下:
①固定攝像機,調整標定板所占視場內的比例(一般在3:5左右);
②截取標定區域,調節對比度增加其亮度,閾值分割將標定區域二值化;
③采用“貼標簽”算法[5]對標定區域內所有標定圓一一標識、排序並以不同顏色顯示;利用公式(6)計算每個標定圓的圓心坐標。
由於對標定圓進行排序,在立體標定完成後,每個圓心的空間坐標將與其像平麵坐標一一對應。
2.3 “兩步法”標定算法實現
Tsai提出的基於RAC約束(Radial Alignment Constraint)的兩步法[2]先利用線性變換方法求解攝像機參數,再以求得的參數作為初始值,考慮畸變因素,利用非線性優化方法進一步提高標定精度。
在Tsai算法第2步求解非線性優化中本文使用阻尼最小二乘法,求解非線性方程組。單攝像機標定的程序模塊如下:
①數據讀入模塊:讀取標定區域圓心坐標。
②解方程模塊:求解Tsai算法第一步中的線性方程,解得 。
③非線性最優化模塊:將②的結果帶入非線性方程,解得估計值,然後以此作為初始值,調用軟件包求解非線性方程組,得到 。
④數據輸出模塊:將標定參數以txt文件保存。
⑤畸變校正模塊:由④的畸變係數,利用式(3)可得到原始圖像中對應點的坐標 。至此,單目攝像機標定模塊的設計結束,具體流程如圖2。
圖2單目攝像機標定流程
3、雙目立體視覺標定
立體攝像機模型如圖3。 點在世界坐標係、左右攝像機坐標係下的非齊次坐標分別為 。左右攝像機外參數為 。由於左右攝像機外參數都基於同一世界坐標係(係統將世界坐標原點定在第一個標定圓質心沿 軸正向1000mm處),故有
現假定左攝像機光心位於世界坐標原點處,令 則右攝像機坐標係 與此時的世界坐標係O-XYZ可通過空間轉換矩陣[RT]表示為:
4、係統介紹與實驗結果
4.1 係統介紹
基於上述分析,通過VC++平台的強大支持,本文開發了一套雙目立體視覺標定係統(設計流程如圖4)。圖5是係統的部分用戶界麵:係統讀入左右攝像機視頻後,用戶可手動選取標定區域(一般包括標定板上全部49個圓即可)並做預處理;“開始標定”進入單攝像機標定界麵對左右攝像機分別標定;“確認”後係統保存左右攝像機參數;點擊“標定”,係統將調用立體視覺算法計[R,T]算和標定圓質心的三維坐標,數據保存為TXT文件。
圖5(a) 係統的主界麵 圖5(b)單攝像機標定界麵
3.2 標定實驗
係統由兩個MV-808H工業相機(成像平麵4.8*3.6 mm)、兩路MV-8002采集卡組成;圖像分辨率為768×576。圖6顯示了左右標定區域;
圖6 左右標定區域
5、小結
實驗結果表明,本係統操作簡單,有較好的穩定性,對空間點的測量達到了一定的精度,可廣泛應用在立體測量領域中。
|
|
|