賴文敬,周延周,朱文卓,鮑 鴻
(廣東工業(yè)大學(xué) 自動(dòng)化學(xué)院,廣東 廣州 510006)
一種基于棋盤格模板單目攝像機(jī)高精度標(biāo)定方法
賴文敬,周延周,朱文卓,鮑 鴻
(廣東工業(yè)大學(xué) 自動(dòng)化學(xué)院,廣東 廣州 510006)
提出了一種基于棋盤格模板的單目攝像機(jī)標(biāo)定方法,該方法首先使用高精度CCD攝像機(jī)對(duì)擺放在二維手動(dòng)導(dǎo)軌平臺(tái)上,沿Z坐標(biāo)軸多次改變固定值的棋盤格標(biāo)定模板進(jìn)行拍攝,并提取棋盤格角點(diǎn)的亞像素坐標(biāo).再結(jié)合DLT標(biāo)定方法求得攝像機(jī)所有參數(shù),最后對(duì)任意位置的棋盤格角點(diǎn)進(jìn)行三維重建來測(cè)量標(biāo)定精度,重建得到的X坐標(biāo)和Y坐標(biāo)平均誤差均為±0.02 mm.實(shí)驗(yàn)結(jié)果表明該方法能夠快速、有效地獲取高精度的攝像機(jī)參數(shù),可以滿足三維重建及其他視覺檢測(cè)場合使用要求.
棋盤格; 單目攝像機(jī); 標(biāo)定; 三維重建; 高精度
攝像機(jī)標(biāo)定是實(shí)現(xiàn)三維重建和高精度測(cè)量的關(guān)鍵技術(shù)之一.在眾多的攝像機(jī)標(biāo)定方法當(dāng)中,基于棋盤格平面模板的攝像機(jī)標(biāo)定由于其標(biāo)定模板制作簡單,精度可以滿足要求,得到了廣泛應(yīng)用[1].該方法主要是通過建立棋盤格角點(diǎn)坐標(biāo)與對(duì)應(yīng)點(diǎn)的世界坐標(biāo)關(guān)系來確定攝相機(jī)的參數(shù),最終完成攝像機(jī)的標(biāo)定[1-3].
目前測(cè)量系統(tǒng)標(biāo)定方法一般包括平行度、垂直度、物面與成像間的比例關(guān)系和系統(tǒng)幾何參數(shù)的標(biāo)定等幾個(gè)方面.但是從標(biāo)定實(shí)際應(yīng)用狀況和結(jié)果來看,有時(shí)候會(huì)產(chǎn)生標(biāo)定精度不高,標(biāo)定系統(tǒng)不穩(wěn)定,標(biāo)定操作過程復(fù)雜、繁瑣、耗時(shí)等缺點(diǎn),導(dǎo)致標(biāo)定效果并不理想.
本文提出一種基于棋盤格標(biāo)定板結(jié)合二維手動(dòng)導(dǎo)軌平臺(tái)的高精度單目攝像機(jī)標(biāo)定方法.該方法操作簡單、快速且穩(wěn)定性好,能夠有效獲取高精度攝像機(jī)參數(shù),可滿足三維重建和其他視覺檢測(cè)場合使用要求.
1.1 圖像獲取
實(shí)驗(yàn)系統(tǒng)構(gòu)成如下:高精度Kodak(柯達(dá))ES 1.0 CCD相機(jī)、鋁合金多維度調(diào)整桁架、二維手動(dòng)導(dǎo)軌平臺(tái)(行程0~180 mm,精度±0.01 mm),方格數(shù)為11×11棋盤格標(biāo)定板(精度±1~3 μm).實(shí)驗(yàn)裝置實(shí)物如圖1所示.
圖1 系統(tǒng)裝置圖
本文使用的方法以DLT標(biāo)定法(直接線性標(biāo)定法)為基礎(chǔ),該方法需要對(duì)棋盤格標(biāo)定模板進(jìn)行多次拍攝,得到一系列z值的棋盤格標(biāo)定模板圖像,以準(zhǔn)確提取棋盤格亞像素角點(diǎn)坐標(biāo),具體操作如下:
利用高精度CCD攝像機(jī)對(duì)放置在二維手動(dòng)導(dǎo)軌平臺(tái)的棋盤格標(biāo)定板進(jìn)行拍攝.把CCD相機(jī)聚焦在Z=150 mm處,對(duì)焦完畢后重新把標(biāo)尺搖回到原點(diǎn)處,在允許的景深范圍內(nèi)沿Z軸方向(絲桿運(yùn)動(dòng)方向)在0~100 mm范圍內(nèi)每隔10 mm對(duì)棋盤格標(biāo)定板拍攝一次,共拍攝11幅棋盤格圖片.拍攝原理如圖2所示.
圖2 系統(tǒng)拍攝原理圖
拍攝得到棋盤格圖像如圖3所示.
圖3 標(biāo)定拍攝棋盤圖像
1.2 亞像素角點(diǎn)提取
常用的平面標(biāo)定模板一般是黑白棋盤或者離散的正方形[4-8].模板圖像的角點(diǎn)提取算法一般分為從模板圖像提取直線求直線交點(diǎn)和基于圖像灰度的角點(diǎn)檢測(cè)方法兩大類.本文角點(diǎn)提取是基于第二類方法,即先進(jìn)行Harris角點(diǎn)檢測(cè),再用基于梯度搜索的方式精確控制角點(diǎn)的位置,從而得到精確的亞像素角點(diǎn)坐標(biāo)[9-10].
Harris算子[10-11]是Harris和Stephens在1988年提出的一種靜態(tài)圖像的點(diǎn)特征提取算子.Harris算子把信號(hào)處理中的自相關(guān)函數(shù)矩陣的特征值看作自相關(guān)函數(shù)的一階曲率,即對(duì)于圖像中的任意一點(diǎn),如果它的水平和垂直曲率均高于局部區(qū)域中的其他點(diǎn),則認(rèn)為該點(diǎn)是特征點(diǎn).該算子能夠在圖像旋轉(zhuǎn)、灰度、噪聲影響和視點(diǎn)轉(zhuǎn)換條件下簡單有效地提取點(diǎn)特征,同時(shí)又相對(duì)于其他特征提取算子穩(wěn)定[12].Harris算子表達(dá)式如下:
(1)
其中I表示每個(gè)興趣點(diǎn)的值,det為矩陣行列式,k為經(jīng)驗(yàn)值,一般取0.04,tr為矩陣的跡,C可以表示為
(2)
其中G(s)為高斯模板,gx為x方向的梯度,gy為y方向的梯度.在提取特征點(diǎn)時(shí),若某一像素點(diǎn)的興趣值大于某一閾值T,則可認(rèn)為該像素點(diǎn)是特征點(diǎn).
利用Harris算子找到像素級(jí)的角點(diǎn)位置后,為更精確地提取角點(diǎn)坐標(biāo),需要進(jìn)一步利用基于梯度搜索的方式精確控制點(diǎn)的位置.
圖4 棋盤格灰度梯度示意圖
在邊緣上的點(diǎn)與其灰度梯度的關(guān)系為
(3)
實(shí)際上,圖像往往會(huì)受噪聲影響,因此一般情況下式(3)不為0,需要將其轉(zhuǎn)化為求誤差和S最小的問題,方程具體如下:
(4)
再對(duì)式(4)進(jìn)行一系列變換可以得到圖4中角點(diǎn)O的迭代式:
(5)
通過對(duì)式(5)迭代可以得到更精確的亞像素角點(diǎn)坐標(biāo).
棋盤格圖像提取到的亞像素角點(diǎn)坐標(biāo)如圖5所示.
圖5 棋盤格角點(diǎn)提取圖像
1.3 標(biāo)定算法模型
攝像機(jī)標(biāo)定首先要確定攝像機(jī)模型,本文中的攝像機(jī)模型以理想的針孔成像模型為基礎(chǔ).由于在標(biāo)定過程中使用了高精度CCD相機(jī)結(jié)合二維手動(dòng)導(dǎo)軌平臺(tái)對(duì)棋盤格進(jìn)行拍攝,且在Z坐標(biāo)方向進(jìn)行不同位置的拍攝是靜止的,所以在這個(gè)過程中產(chǎn)生的徑向畸變和切向畸變很小.在不考慮畸變的前提下利用DLT標(biāo)定法來確定攝像機(jī)參數(shù).
首先確定攝像機(jī)模型定義的各個(gè)坐標(biāo)之間的轉(zhuǎn)換關(guān)系,世界坐標(biāo)系與攝像機(jī)坐標(biāo)系之間變換如下:
(6)
根據(jù)攝像機(jī)針孔成像模型,由世界坐標(biāo)系到圖像像素坐標(biāo)系轉(zhuǎn)換如下:
(7)
其中,fx=f/dx,fy=f/dy為尺度因子;u0,v0為圖像中心坐標(biāo);λ為兩坐標(biāo)軸間傾斜因子;M1由攝像機(jī)內(nèi)部參數(shù)fx,fy,u0,v0決定,M2由外部參數(shù)R,T決定,M為投影矩陣.
將式(7)進(jìn)行簡化,得到式(8):
(8)
其中(ui,vi)為提取得到的第i個(gè)角點(diǎn)亞像素坐標(biāo),(Xwi,Ywi,Zwi)為第i個(gè)與角點(diǎn)亞像素坐標(biāo)對(duì)應(yīng)的空間坐標(biāo),該坐標(biāo)可以通過棋盤格標(biāo)定板方格尺寸大小來獲得.
式(8)展開后可以得到每個(gè)角點(diǎn)所對(duì)應(yīng)的兩個(gè)關(guān)于mij的線性方程:
Xwim11+Ywim12+Zwim13+m14-uiXwim31-
uiYwim32-uiZwim33=uim34.
(9)
Xwim21+Ywim22+Zwim23+m24-viXwim31-
viYwim32-viZwim33=vim34.
(10)
由式(9)和(10)可知,若棋盤格標(biāo)定有n個(gè)已知亞像素角點(diǎn)坐標(biāo)(ui,vi),i= 1~n,及其對(duì)應(yīng)的空間坐標(biāo)(Xwi,Ywi,Zwi),i= 1~n,則可以得到2n個(gè)關(guān)于M矩陣的線性方程,如下:
(11)
從式(11)中可知M矩陣乘以任意不為0的常數(shù)并不影響(ui,vi)與(Xwi,Ywi,Zwi)之間的關(guān)系,因此可以指定m34=1,并且通過式(11)中的2n個(gè)線性方程可以求得M矩陣的其余11個(gè)未知元素.把這11個(gè)未知元素記為11維向量m,則式(11)可以表示如下:
Km=U.
(12)
K和U均為已知量,其中K為2n×11維矩陣,U為2n維向量.
當(dāng)提取得到的角點(diǎn)數(shù)量滿足2n>11時(shí),把已知的棋盤格像素坐標(biāo)(ui,vi),i= 1~n和空間坐標(biāo)(Xwi,Ywi,Zwi),i= 1~n代入式(12)的K和U中,可以通過最小二乘法求得線性方程的解:
(13)
所得的m與m34=1均得到完整的參數(shù)矩陣M.
(14)
其中M1T、M2T、M3T分別為M矩陣第1、2、3列元素的轉(zhuǎn)置.通過式(14)可以求得所有攝像機(jī)參數(shù).
2.1 標(biāo)定參數(shù)
本次實(shí)驗(yàn)所求得完整的參數(shù)矩陣M如下:
M=
表1 攝像機(jī)標(biāo)定參數(shù)
Tab.1 Camera calibration internal parameters
fxfyu0v08202.898207.02503.50508.50
2.2 棋盤格角點(diǎn)坐標(biāo)三維重建
所謂三維重建即通過利用如攝像機(jī)等視覺傳感器拍攝到的二維圖像來估算對(duì)應(yīng)的空間點(diǎn)的三維坐標(biāo)[13-15].
對(duì)靜止的物體進(jìn)行三維重建或在其他靜止立體視覺應(yīng)用場合進(jìn)行視覺分析時(shí),對(duì)于已求出的M矩陣往往不需要對(duì)其進(jìn)行分解,因?yàn)镸矩陣本身就代表攝像機(jī)參數(shù),包含了內(nèi)外參數(shù)信息.本文用棋盤格二維角點(diǎn)圖像進(jìn)行空間三維坐標(biāo)重建屬于上述情況,具體方法如下:
首先,搖動(dòng)二維手動(dòng)導(dǎo)軌平臺(tái)使棋盤格標(biāo)定板到達(dá)允許的測(cè)量范圍(0~100 mm)內(nèi)任意一個(gè)位置,每隔10 mm拍攝一幅棋盤格圖像并記錄下該位置的Z坐標(biāo)值,記為Zr,重復(fù)上述步驟連續(xù)拍攝11幅棋盤格圖像.
然后,對(duì)拍攝到的一系列圖像提取亞像素角點(diǎn)坐標(biāo),記為(ur,vr).
對(duì)式(9)和(10)中的Xw、Yw進(jìn)行顯化處理得到如下方程:
(15)
(16)
將得到的棋盤格亞像素角點(diǎn)坐標(biāo)(ur,vr),相應(yīng)棋盤格標(biāo)定板所在位置的坐標(biāo)Zr和已求得的參數(shù)矩陣M代入式(17)中,經(jīng)計(jì)算求得11幅任意位置棋盤格圖像的所有角點(diǎn)亞像素坐標(biāo)(ur,vr)對(duì)應(yīng)的三維空間坐標(biāo)(Xw,Yw,Zr).
2.3 標(biāo)定精度分析
經(jīng)計(jì)算11幅棋盤格圖像的所有角點(diǎn)空間三維坐標(biāo)均已得到.從已得到所有角點(diǎn)空間三維坐標(biāo)的11幅棋盤格圖像的每一幅中任意取一個(gè)位置的角點(diǎn),記錄其坐標(biāo)數(shù)據(jù)得到表2.
表2 標(biāo)定結(jié)果數(shù)據(jù)
表2中的角點(diǎn)位置是隨機(jī)提取,所以具有普遍性.對(duì)比表中的3組數(shù)據(jù),可以發(fā)現(xiàn)角點(diǎn)坐標(biāo)真實(shí)值與經(jīng)過標(biāo)定后的計(jì)算值之間的誤差比較小.
計(jì)算11幅棋盤格角點(diǎn)的X坐標(biāo)和Y坐標(biāo)真實(shí)值與重建計(jì)算值的之間的誤差,并把位于相同位置的角點(diǎn)坐標(biāo)誤差值相連得到100條誤差值曲線,如圖6所示.
從圖6(a)和圖6(b)中可以看到X方向的誤差和Y方向的誤差均在-0.05~0.05 mm之間.
最后計(jì)算橫坐標(biāo)和縱坐標(biāo)平均誤差:
(17)
(18)
經(jīng)計(jì)算Xerr= 0.021 mm,Yerr= 0.026 mm.可見基于棋盤格標(biāo)定板結(jié)合二維手動(dòng)導(dǎo)軌平臺(tái)的單目攝像機(jī)標(biāo)定方法的標(biāo)定精度足夠高,可以滿足三維重建的要求.
圖6 誤差曲線圖
本文提出了一種基于棋盤格模板的單目攝像機(jī)標(biāo)定方法,該方法利用高精度CCD攝像機(jī)對(duì)擺放在二維手動(dòng)導(dǎo)軌平臺(tái)上沿Z坐標(biāo)軸改變固定值的棋盤格標(biāo)定模板進(jìn)行多次拍攝,并提取亞像素角點(diǎn),最后利用DLT標(biāo)定方法求出所有攝像機(jī)參數(shù).在本文最后對(duì)該方法的標(biāo)定精度進(jìn)行了測(cè)試,利用標(biāo)定好的系統(tǒng)對(duì)擺放在二維手動(dòng)導(dǎo)軌平臺(tái)上沿Z坐標(biāo)軸改變?nèi)我馕恢玫钠灞P格標(biāo)定模板拍攝并對(duì)角點(diǎn)坐標(biāo)進(jìn)行三維重建,重建所得橫坐標(biāo)和縱坐標(biāo)平均誤差均能達(dá)到±0.02 mm.從實(shí)驗(yàn)結(jié)果表明基于棋盤格標(biāo)定模板的單目攝像機(jī)高精度標(biāo)定方法能夠快速、有效地獲取高精度的攝像機(jī)參數(shù)矩陣,而且可以很好地滿足三維重建及其他視覺檢測(cè)應(yīng)用場合的使用要求.
[1] Zhang Z Y. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(11):1330-1334.
[2] Tsai R. A versatile camera calibration technique for high-accuracy 3D machine vision metrology using off-the-shelf TV cameras and lenses[J]. IEEE Transactions on Robotics and Automation, 1987, 3(4):323-344.
[3] Heikkila J, Silven O. A four-step camera calibaration procedure with implicit image correction[C]∥IEEE Computer Society Conference on Conputer Vision and Pattern Recognition. San Juan: IEEE Press, 1997:1106-1112.
[4] 梁志敏, 高洪明, 王志江, 等. 攝像機(jī)標(biāo)定中亞像素級(jí)角點(diǎn)檢測(cè)算法[J]. 焊接學(xué)報(bào), 2006, 27(2):102-104.
Liang Z M, Gao H M, Wang Z J, et al. Sub-pixels corner detection for camera calibration[J]. Transactions of the China Welding Institution, 2006, 27(2):102-104.
[5] 劉陽, 王福利, 常玉清,等. 黑白棋盤格角點(diǎn)檢測(cè)算法[J]. 東北大學(xué)學(xué)報(bào):自然科學(xué)版, 2007, 28(8):1090-1093.
Liu Y, Wang F L, Chang Y Q, et al. Black and White X-Corner Detection Algorithm[J]. Journal of Northeastern University:Natural Science Edition, 2007, 28(8):1090-1093.
[6] 羅鈞, 王蓮, 侯艷. 攝像機(jī)標(biāo)定的棋盤格亞像素角點(diǎn)檢測(cè)[J]. 重慶大學(xué)學(xué)報(bào), 2008,31(6):615-618.
Luo J, Wang L, Hou Y. Sub-pixel corner detection of tessellated picture based on camera calibration[J]. Journal of Chongqing University, 2008,31(6):615-618.
[7] 楊幸芳, 黃美玉, 高峰,等. 用于攝像機(jī)標(biāo)定的棋盤圖像角點(diǎn)檢測(cè)新算法[J].儀器儀表學(xué)報(bào), 2011, 32(5): 1109-1113.
Yang X F, Huang M Y, Gao F, et al. New corner detection algorithm of chessboard image for camera calibration[J]. China Journal of Scientific Instrument, 2011, 32(5): 1109-1113.
[8] 張?jiān)? 方康玲, 劉永祥. 基于Harris算法的黑白棋盤格角點(diǎn)檢測(cè)[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2010, 27(8): 251-254.
Zhang Y, Fang K L, Liu Y X. Harris algorithm-based corner detection on black white checkerboard[J]. Computer Applications and Software, 2010, 27(8): 251-254.
[9] 何海清, 黃聲亨.改進(jìn)的Harris亞像素角點(diǎn)快速定位[J].中國圖像圖形學(xué)報(bào),2012,17(7):853-857.
He H Q, Huang S H. Improved algorithm for Harris rapid sub-pixel corners detection[J]. Journal of Image and Graphics, 2012,17(7): 853-857.
[10] Harris C, Stephens M. A combined corner and edge detector[C]∥ Proceeding Fourth Alvey Vision Conference.UK, Manchester:[s.n.]1988: 147-151.
[11] Ryu J B, Lee C G, Park H H. Formula for Harris corner detector[J]. Electionics Letters, 2011, 47(3):180-181.
[12] Tissainayagam S D. Assessing the performance of corner detectors for point feature tracking applications[J]. Image and Vision Computing, 2004, 22(8): 663-679.
[13] 李立冬, 劉教民. 單目視圖下相機(jī)標(biāo)定和平面測(cè)距研究[J], 河北科技大學(xué)學(xué)報(bào), 2005, 26(1):47-50.
Li L D, Liu J M. Research on camera calibration and plane measurement from a single view[J]. Journal of Hebei University of Science and Technology, 2005, 26(1): 47-50.
[14] 楊忠根. 基于最小冗余子集的單視圖魯棒精確復(fù)原目標(biāo)三維位姿[J]. 模式識(shí)別與人工智能, 2001, 14(1): 38-41.
Yang Z G. Robust and accurate pose determination from object's single view based on minimal redundant subset principle[J]. Pattern Recognition and Artificial Intelligence, 2001, 14(1): 38-41.
[15] 張?jiān)? 吳曉娟, 李秀媛, 等. 單目平行線約束下的空間點(diǎn)坐標(biāo)恢復(fù)[J]. 智能系統(tǒng)學(xué)報(bào), 2010, 5(1): 24-29.
Zhang Y Y, Wu X J, Li X Y, et al. Extraction of 3-D coordinates using parallel lines in monocular images[J]. CAAI Transaction on Intellgent Systems, 2010, 5(1):24-29.
Monocular Camera High Precision Calibration Method Based on Checkerboard
Lai Wen-jing, Zhou Yan-zhou, Zhu Wen-zhuo, Bao Hong
(School of Automation, Guangdong University of Technology, Guangzhou 510006, China)
In this paper, a monocular camera calibration method based on checkerboard template is presented. This method is using a high-precision CCD camera to take pictures of checkerboard calibration template which is placed on a two-dimensional platform with hand-operated rails. Its fixed values vary along theZaxis, and so the subpixel coordinates of checkerboard corner points yield. Then all the camera parameters can be obtained by adopting DLT calibration method, and finally the arbitrary checkerboard corner points will be reconstructed to test the accuracy of calibration by estimating in 3D spatial coordinate. The average error of horizontal and vertical coordinates are both ± 0.02 mm. Experimental data show that by using this method high-precision camera parameters can be obtained quickly and efficiently, which meets the requirements of three-dimensional reconstruction and other visual inspection occasions.Key words: checkerboard; monocular camera; calibration; 3D reconstruction; high precision
2014- 01- 10
國家自然科學(xué)基金資助項(xiàng)目(11072063).
賴文敬(1987-),男,碩士研究生,主要研究方向?yàn)闄C(jī)器視覺檢測(cè)、三維輪廓測(cè)量.
鮑 鴻(1962-),女,教授,主要研究方向?yàn)闄C(jī)器視覺檢測(cè)、智能控制理論及應(yīng)用.E-mail:bhong@gdut.edu.cn
10.3969/j.issn.1007- 7162.2015.03.015
TP391.4
A
1007-7162(2015)03- 0079- 06