基于視覺的圖像處理,通常要在實驗前進(jìn)行相機的標(biāo)定,以獲取相應(yīng)的參數(shù)。為方便查閱,遂將常用到的三種相機標(biāo)定總結(jié)如下。 ?
相機內(nèi)參標(biāo)定
Step1 : 在相機前方放置棋盤格,前后左右方向轉(zhuǎn)動棋盤格,角度不宜超過45度,采集不同方向的圖片,待后續(xù)處理;
Step2 : 打開Matlab,在APP列找到Camera Calibration工具,將采集的棋盤格圖片導(dǎo)入,保證能夠正確導(dǎo)入的圖片數(shù)量在20-30張之間,測量每個黑白格的真實大小并輸入Matlab中。

Step3 : 觀察棋盤格角點都被正確檢測到后,點擊Calibrate按鈕,觀察重投影誤差,若圖片數(shù)量較多,可將重投影誤差較大的圖片刪去,重新calibrate,直到達(dá)到一個較理想狀態(tài);

Step4 : 選中Export Camera Parameters按鈕,將計算得到的相關(guān)參數(shù)導(dǎo)入到Matlab中;若要進(jìn)行更精確的標(biāo)定,可在標(biāo)定時考慮畸變誤差或采用雙目相機標(biāo)定方法。

圖示即為我們所需要的相機的內(nèi)參矩陣,其中fx=1.1259e+03, fy=1.1267e+03, u=480.6138, v=359.5351。
注意事項:
1、 棋盤格在圖片中的大小不能過小,要保證角點清晰可探測;
2、 Matlab所得到的內(nèi)參矩陣與我們通常情況下所計算的內(nèi)參矩陣互為轉(zhuǎn)置;
3、 若要進(jìn)行雷達(dá)相機聯(lián)合標(biāo)定,標(biāo)定步驟需進(jìn)行部分調(diào)整。
逆透視標(biāo)定
Step1 : 在圖片正中間縱向方向繪制一條直線,從車輛正前方沿著圖片中心線拉直尺,距離根據(jù)要求調(diào)整,一般在15m左右;
Step2 : 在攝像機的視野范圍內(nèi)的平坦地面選擇一個矩形,要求矩形的縱軸線與圖片正中心的直線重合;對所選取的矩形的四個頂角進(jìn)行標(biāo)記,要求標(biāo)記在攝像機的圖像畫面中能夠清晰顯示。
?
Step3 : 啟動標(biāo)定程序,分別輸入X軸偏移距離a, Y軸偏移距離b, 矩形寬度w,矩形高度h,比例系數(shù)k,一般取經(jīng)驗值:1280,445,360,600,4.5,具體可根據(jù)實際情況進(jìn)行調(diào)整,依次選取左上角、右上角、左下角、右下角點,使得上圖中綠色的線與標(biāo)定圖像中的紅線重合。標(biāo)定完成后,得到逆透視變換矩陣H,可在實際實驗中檢驗H的值是否合理。保證圖片能看到本車道和相鄰車道,且保持直線平行性不變。
注意事項:
1、 標(biāo)定的逆透視圖像區(qū)域與測試的逆透視圖像區(qū)域尺寸應(yīng)保持一致;
2、 標(biāo)定時矩形的靠近攝像機的兩個點應(yīng)盡量靠近車輛,近乎貼合盲區(qū)時標(biāo)定所得矩陣較準(zhǔn)確;
3、 世界坐標(biāo)系:智能車所在地面組成的二維平面,橫軸為X軸,縱軸為Y軸,原點左邊是X軸正軸,下面是Y軸正軸。圖像坐標(biāo)系:圖像左上角為原點,橫軸為X軸,縱軸為Y軸。所以矩形四個角的坐標(biāo)依次為:(a/k ,b/k),((a+w)/k,b/k),(a/k,(b+h)/k),((a+w)/k, (b+h)/k),所涉及到的四個參數(shù)a、b、h、k的單位均為厘米,當(dāng)a為正值時,逆透視圖像向右偏移,b為正值時,逆透視圖像向下偏移。(橫向偏移越大,則鳥瞰圖像中橫向的視野就越寬;縱向偏移越大,則縱向視野就越遠(yuǎn))。
單目測距標(biāo)定
(1)縱向距離標(biāo)定:
準(zhǔn)備工具:測距所涉及到的原理和公式:
根據(jù)攝像機成像原理,以及攝像機與路面的關(guān)系建立了圖像像素坐標(biāo)系與世界坐標(biāo)距離的幾何模型,如下圖所示:

根據(jù)幾何模型可推導(dǎo)出圖像物理坐標(biāo)與世界坐標(biāo)距離關(guān)系式為:

根據(jù)圖像物理坐標(biāo)與像素坐標(biāo)之間的轉(zhuǎn)換關(guān)系得:

其中,ay表示攝像頭的有效焦距,α表示攝像頭的俯仰角,可通過公式反推通過標(biāo)定求得,v0表示主點縱坐標(biāo),v是像素行數(shù)。
實驗操作步驟:
Step1 : 通過棋盤格標(biāo)定法獲取相機內(nèi)參fv和v0的值,測量相機離地高度h。
Step2 : 在圖片正中間縱向方向繪制一條直線,從車輛正前方沿著圖片中心線拉直尺,距離大約60m左右,測量相機到直尺原點的距離;
Step3 : 從遠(yuǎn)到近依次取15個標(biāo)志點,分別輸入他們到相機的真實距離,建立像素點與真實點之間的一一對應(yīng)關(guān)系,借助程序即上述幾何關(guān)系求解出攝像頭的俯仰角,從而進(jìn)行前方物體縱向距離的計算。
?
(2)橫向距離標(biāo)定:
標(biāo)定原理:
單目攝像機在拍攝時,所有平行與攝像機光軸的直線均匯聚與一點(即消失點L),且在待測點與消失點連線上的任意一點到光軸的距離均相等。
在圖像左上角建立基于圖像像素的平面坐標(biāo)系,將待測點用像素坐標(biāo)表示出來,求出待測點與消失點的連線在圖像上的連線與光軸之間的角度,與實際待測點距光軸的距離進(jìn)行匹配,最后根據(jù)數(shù)據(jù)對標(biāo)定進(jìn)行數(shù)據(jù)擬合即可完成橫向標(biāo)定。

實驗操作步驟:
Step1 : 將車輛停在車道中央,保持車道線方向與車身縱軸方向平行,利用鼠標(biāo)在圖片中的車道線上選兩點,圖片中心線上取一點,計算出消失點坐標(biāo);
Step2 : 在車輛前方某一距離處(一般取15m),在車輛縱軸線一側(cè)橫向擺放10個障礙物,鼠標(biāo)在圖片中從左到右依次取點,計算每個障礙物與消失點連線與光軸之間的角度,并記錄每個障礙物到車輛中心的真實橫向距離,建立角度與真實距離之間的一一對應(yīng)關(guān)系,并通過Matlab進(jìn)行曲線擬合,測試時,只需獲取像素點,即可通過計算角度和擬合所得到的曲線獲得目標(biāo)距離本車的橫向距離。
編輯:黃飛
?
電子發(fā)燒友App
























評論