王遜揚, 金 鋒
(1. 沈陽大學 信息工程學院, 遼寧 沈陽 110044;2. 北京經緯信息技術公司, 北京 100081)
?
一種全自動相機標定系統(tǒng)的設計
王遜揚1,2, 金鋒1
(1. 沈陽大學 信息工程學院, 遼寧 沈陽110044;2. 北京經緯信息技術公司, 北京100081)
提出了一種基于最小凸包理論的棋盤格角點自動提取算法,結合張正友的經典標定模型,設計一種全自動相機標定系統(tǒng).實驗表明,該系統(tǒng)在復雜的光照和背景條件下,具有很好的標定精度和可靠性.
相機標定; 凸包理論; 角點提取; 自動標定
相機標定作為視覺測量的首要任務,標定結果的準確性和可靠性對后續(xù)的研究工作起到至關重要的作用.目前,應用比較廣泛的相機標定方法包括了三種類型:傳統(tǒng)相機標定方法、相機自標定方法和基于主動視覺系統(tǒng)的標定方法[1].傳統(tǒng)標定方法具有魯棒性和精度高的優(yōu)點,其中,以張正友提出的柔性桌面標定法[2]為典型代表.張正友標定算法精度適中、計算量小且操作簡單、靈活而得到廣泛的推崇.Bouguet等人設計了一種MATLAB標定工具箱方法[3],利用張正友的算法進行參數(shù)的計算,但該工具箱的自動化程度不高,需要人工界定標定板的頂點,而且需要對多幅圖像進行處理,導致整個標定過程十分耗時.本文提出了一種新的基于最小凸包理論的棋盤格特征點自動提取算法,利用張正友標定模型進行參數(shù)的自動計算,并以文本形式輸出,操作簡單高效,且標定精度與MATLAB標定工具箱結果相當.
1.1相機參數(shù)的初始估計
假定將模板平面放置在世界坐標系Z=0的平面上,則相機成像模型為:
(1)
式中,(u,v)為像素坐標系一點,(X,Y,Z)空間三維點.
(2)
由于內參矩陣中包含5個未知參數(shù),故當拍攝的圖像數(shù)目大于等于3時,就可以線性唯一求解出內參.令
(3)
(4)
理想狀況下,像素坐標與空間點坐標通過相機參數(shù)投影在像素坐標系中的點是同一個點,但實際情況會有偏差,為了使相機參數(shù)更加精準,利用下面的投影誤差最小化函數(shù)[4]迭代求精.
(5)
式中,m表示像素坐標系下的坐標,m(K,Ri,ti,Mj)表示空間M點經過初始估計的相機參數(shù)投影到像素坐標系下的坐標.
2.1棋盤格四極點的自動識別
棋盤格的四極點就是棋盤格四個頂角處的角點.棋盤格四極點的識別對于角點的排序起到至關重要的作用.
(1) 最小凸包定義.最小凸包:包含一個平面有限點集S的最小凸區(qū)域(區(qū)域內任意兩點的連線總在區(qū)域內)稱為S的最小凸包.由定義可知,最小凸包包含S中所有的點,且凸包頂點必屬于S,凸包的面積應是包含點集S區(qū)域中最小的一個[5].由全部點得到有限點集S,而線段組成的凸多邊形即點集S最小凸包.
(2) 求取最小凸包.①起始點確定.確定最小凸包時,必須找到最小凸包內其中一點定義成計算過程起始點.這一點的選擇往往以橫坐標、縱坐標極值點進行處理,本文將縱坐標最小點定義成起始點,記為P0.②頂點排序.如果點集中最小凸包具備N (N≥3)個頂點,以P0作為起點結合一定規(guī)律進行排序,最終辨認出最小凸包剩下(N -1)個頂點數(shù)量,同時標注成(P1,P2,…,PN-1).本文中的頂點排序規(guī)律為:將P0點和其余點進行連接,得出ov軸至其他連線逆時針轉角,把最小轉角θ1min對應的點標記為P1;接著讓P1點和其他點進行連接,得出P0P1至其他連線逆時針轉角,把最小轉角θ2min對應的點標記為P2;按照這樣的規(guī)侓,第k (2≤k≤N)個頂點Pk能夠符合Pk-2Pk-1和Pk-1Pk逆時針轉角θkmin最小的規(guī)律;該過程反復循環(huán),直到通過θNmin得到的定點和起點P0重合,圖1為該過程的結果圖.
圖1 最小凸包生成過程Fig.1 Generation processing of the minimum convex hull
(3) 求棋盤格四極點.如圖2所示,通過最小凸包算法可以得到圖像角點集中最小凸包數(shù)據(jù),利用這種模式能夠準確獲得棋盤格中最小凸包頂點,同時棋盤格最小凸包內四個頂點即為對應的四極點.
圖2 最小凸包序列形成Fig.2 The sequence of minimum convex hull
棋盤格圖像角點集最小凸包的獲取是棋盤格四極點可以有效識別的關鍵.以下模式中結合棋盤格四極點相關特征可以完成對它的最終識別.一般而言,棋盤格最小凸包內四個頂點即為對應的四極點.一般情況下,角點集中兩個角點的直線距離最大的兩組角點就是棋盤格四極點.棋盤格角點集最小凸包頂點為(P0,P1,…,Pk,…,PN-1),將每個頂點與其他頂點相連,計算出兩兩頂點間的直線距離,進行比較得出距離最大的兩組頂點(四個頂點)即為候選極點,記作(A,B,C,D).結果圖3所示.
圖3 棋盤格四極點Fig.3 Four poles of checkerboard
2.2角點自動排序
通過棋盤四極格點對矩陣H進行處理,利用單應性矩陣可以將角點對應空間坐標變換為角點圖像坐標,這一模式可以實現(xiàn)角點在空間坐標系和圖像坐標系的相互轉變,對角點進行排序.
(1) 單應性矩陣H的計算.棋盤格角點圖像像素坐標(u,v)和空間坐標(Xw,Yw)兩者符合一定的變換聯(lián)系:
(6)
變換矩陣H又可以稱作單應性矩陣,確定h33=1,H中存在8個未知參數(shù).因事先得到了棋盤格角點空間坐標,如果計算出單應性矩陣H,則能夠獲得棋盤格所有角點圖像像素坐標,圖像點、空間點兩者也將能夠得到有效匹配.很顯然,若想使棋盤格角點得到有效的排序,必須盡快獲得單應性矩陣H.由于單應性矩陣H中存在8個未知數(shù),則必須通過4個角點對應的圖像與空間坐標方可得到H.如果攝像機不存在畸變,已知棋盤格內部任意4個角點坐標均能獲得H;但攝像機是存在畸變的,利用棋盤格的四極點計算所得單應性矩陣H就更適合于整幅棋盤格圖像.
將已求出的四個極點坐標的的空間坐標設為(0,0)、(0,1)、(1,1)、(1,0),而四個極點坐標已知(u1,v1)、(u2,v2)、(u3,v3)、(u4,v4),則上式變化為:
(7)
H即求出.
(2) 角點排序.開始階段設置棋盤格行列兩方向上的的角點數(shù)量為mr與mc,因上一操作中確定兩極點空間距離是1,由此可得行方向上角點間的空間距離為1/(mr-1),列方向上角點間的空間距離為1/(mc-1)(實際中通常把棋盤格設為正方形,即有1/(mr-1)=1/(mc-1)).棋盤格各角點的空間坐標可如下計算:
(8)
其中i=(0,1,…,mr-1),j=(0,1,…,mc-1)分別為各角點在棋盤格中的行列號.
將H和(Xiw,Yjw,1)代入式(6),獲取相關圖像坐標(ui,vi),至此,形成角點圖像坐標(ui,vi)和空間坐標(Xiw,Yjw,1)兩者的對應關系,最終實現(xiàn)角點排序.
2.3角點的精確定位
為了完成相機的精確標定,必須將角點定位到亞像素級.故此,把像素級角點坐標(ui,vi)確定成初始點,為方便起見,利用灰度梯度法[6].如圖4所示,在鄰域內的角點,可分為兩類.在邊緣處點Pk與非邊緣處點Pj,Q點代表著亞像素級角點所處位置.Pk灰度梯度方位與QPk垂直,由于Pj灰度梯度為0,那么Q點鄰域內的點P其灰度梯度全部和QP垂直,即
(9)
式中,Pi為Q鄰域內的任意一點,為Pi點的灰度梯度向量.因現(xiàn)實中的圖像受到噪音等條件的干擾,式(9)通常不等于0,加入誤差值εi進行處理,則存在式(10):
(10)
以像素級角點為中心取一窗口,計算誤差和
(11)
可以通過計算S最小的點的方式獲得亞像素Q點位置.將像素級角點Q0作為初始值,完成迭代優(yōu)化,便能夠獲取準確的亞像素角點Q.
圖4 棋盤格角點與灰度梯度Fig.4 Checkerboard corners and gray gradient
實驗采用Basler工業(yè)相機,計算機配置為AMD FX-6300處理器,主頻3.5 GHz,內存8GB,操作系統(tǒng)為Windows 8.1 64位專業(yè)版.按照文獻[3]中建議,選擇位置和角度適中,在光線較暗、背景復雜的環(huán)境下拍攝的12幅圖像作為標定圖像,如圖5所示,圖像分辨率為640×480.利用Microsoft Visual Studio 2010軟件,在VC++ 2010和OpenCV2.4.8環(huán)境下編寫了標定工具箱軟件,將本文的的角點提取算法結合張正友經典標定法編入進行系統(tǒng)實現(xiàn),與文獻[3]中的Matlab標定工具箱方法的結果進行對比,結果對比見表1.
圖5 標定圖像Fig.5 The images used as calibration 表1 實驗結果對比表 Table 1 Correlation table of experimental results
參數(shù)類型Matlab工具箱本文結果誤差焦距(fx)493.77051494.422482-0.65197焦距(fy)495.82814495.5270420.30110主點(u0)335.03694336.938614-1.90167主點(v0)242.11678243.850479-1.73369畸變(k1)-0.35841-0.258470.61688畸變(k2)2.785241.112481.67276畸變(p1)0.062310.061380.00048畸變(p2)0.061420.06380-0.00238耗時(s)3274.9322.1
結合表1不難發(fā)現(xiàn),通過本文的方法所得標定結果和Matlab工具箱獲取的結果精度相當,但是本文的方法耗時明顯小于Matlab工具箱,大大提高了標定效率.實驗證明,本文方法適用范圍很廣, 圖6在光線較暗、背景復雜的環(huán)境下,應用本文的方法,均能快速準確的檢測棋盤格角點.
圖6 復雜環(huán)境下的角點提取結果Fig.6 The results of corners extraction under complex environment
本文以棋盤格角點提取為切入點,與張正友的標定算法相結合,最終實現(xiàn)了相機的全自動標定.實驗結果顯示了本文所設計的標定系統(tǒng)在不同場景和光照條件下,同樣能自動、準確和快速的完成實驗.本系統(tǒng)除了在標定前輸入棋盤格數(shù)和尺寸,整個標定過程無需人工干預,自動顯示標定結果,并按照標準格式導出,適合各個層次的計算機視覺研究者.
[1] 邱茂林,馬頌德,李毅. 計算機視覺中攝像機定標綜述[J]. 自動化學報, 2000,26(1):43-55.
(QIU M L ,MA S D,LI Y. Overview of camera calibration for computer vision[J]. Acta Automatica Sinica, 2000,26(1):43-55.)
[2] ZHANGZ Y. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2000,22(11):1330-1334.
[3] BOUGUET J Y. Camera calibration toolbox for MATLAB[J]. High Speed Vision System & Object Tracking, 2010.
[4] STRICKLAND R N,CHANDLER D W. Reconstruction of an axisymmetric image from its blurred and noisy projection[J]. Applied Optics, 1991,30(14):2585-2588.
[5] 劉人午,楊德宏,李燕,等. 一種改進的最小凸包生成算法[J]. 大地測量與地球動力學, 2011,31(3):130-133.
(LIU R W,YANG D H,LI Y,et al. An improved algorithm for producing minimum convex hull[J]. Journal of Geodesy and Geodynamics, 2011,31(3):130-133.)
[6] 劉濤,陳國柱,李元宗. 亞像素角點定位提高相機標定精度[J]. 機械工程與自動化, 2007(4):28-30.
(LIU T,CHEN G D,LI Y Z. Using subpixel corner detection to improve calibration precision[J]. Mechanical Engineering & Automation, 2007(4):28-30.)
【責任編輯: 肖景魁】
Design of Fully Automatic Camera Calibration System
WangXunyang1,2,JinFeng1
(1. College of Information Engineering, Shenyang University, Shenyang 110044, China; 2. Beijng Jingwei Information Technology Corporation, Beijng 100081, China)
An automatic corners extraction calibration method, combined with Zhang’s classic calibration algorithm, is proposed based on minimum convex hull theory. A fully automatic camera calibration system is designed. Experimental results show that the method has a good calibration accuracy and reliability under the complex lighting and background conditions.
camera calibration; convex hull theory; corners extraction; automatic calibration
2015-12-03
王遜揚(1989-),男,遼寧沈陽人,沈陽大學碩士研究生.
2095-5456(2016)04-0311-04
TP 391
A