支健輝,董新民,孔星煒,王旭峰
(空軍工程大學(xué) 航空航天工程學(xué)院,陜西 西安 710038)
相機標(biāo)定技術(shù)[1]對于計算機視覺的重要性就如同刻度對于標(biāo)尺一樣。隨著機器視覺的迅猛發(fā)展,標(biāo)定技術(shù)的研究也受到越來越多的重視[2-6]。在相關(guān)研究中[4-6],人們更多地注重算法本身的改進,對于影響標(biāo)定算法精度的外部因素研究相對較少。在一些對機器視覺精度要求更高的系統(tǒng)中,比如視覺導(dǎo)航[7]和缺陷檢測[8]等,只有設(shè)法消除這些外部因素帶來的標(biāo)定誤差,才能獲得精確的相機標(biāo)定結(jié)果,為視覺系統(tǒng)提供精確的測量值。因此,對于影響相機標(biāo)定結(jié)果的外部因素進行相應(yīng)研究具有重要意義。
相機標(biāo)定的影響因素主要來自相機本身和外界環(huán)境兩方面。文獻[9]中,討論了視覺系統(tǒng)結(jié)構(gòu)本身的因素,例如安裝角、測量物距和相機焦距等對測量精度的影響,并建立了誤差模型,最終得出測量誤差與特征提取誤差和測量物距成正比,而與相機焦距成反比的結(jié)論;文獻[10]中,簡要說明了外界環(huán)境(光線亮暗、光照是否均勻)、圖像預(yù)處理算法、標(biāo)靶精度、相機鏡頭、操作方法、采集次數(shù)(標(biāo)定圖片數(shù)量)對標(biāo)定結(jié)果精度的影響;而且,Laves等人[11]指出,特征點位置即使只有0.5個像素的誤差,也會導(dǎo)致標(biāo)定結(jié)果出現(xiàn)很大的偏差。上述文獻中關(guān)于影響因素的描述,都只是基于一些基本的工程經(jīng)驗來說明各因素對于標(biāo)定結(jié)果的影響,并沒有做充足的物理實驗去研究這些因素對標(biāo)定結(jié)果影響程度的大小。文獻[12]中指出,標(biāo)定圖片的數(shù)量15張~20張較為合適,而文獻[13]中指出,4張~10張圖片就可達到標(biāo)定結(jié)果收斂??梢钥闯?,雖然文獻[12-13]均對照片數(shù)量這個因素作了相當(dāng)多的工作,但是仍然存在分歧。
針對上述問題,在文獻[12-13]的基礎(chǔ)之上,對照片數(shù)量因子再次進行了實驗驗證,并且對外界光源因子和棋盤格尺寸因子進行了實驗研究,最終將上述3個因子對標(biāo)定結(jié)果的影響程度以重投影誤差為評價指標(biāo)來評價,實驗結(jié)論為減小相機標(biāo)定的誤差提供了一些參考。
為了準(zhǔn)確地描述相機成像幾何模型,引入4個坐標(biāo)系[14],它們分別是世界坐標(biāo)系(Ow,Xw,Yw,Zw);以相機光心為原點,以垂直于圖像平面的相機光軸為Zc軸,Xc軸和Yc軸平行于圖像平面的相機坐標(biāo)系(Oc,Xc,Yc,Zc);圖像的物理坐標(biāo)系(O,x,y)以及像素坐標(biāo)系(o,u,v),它們的相對位
姿關(guān)系如圖1所示。
圖1 針孔成像幾何模型Fig.1 Geometric model of pin-hole imaging
如圖1所示,采用一種最常用的針孔模型近似表示空間任何一點P在圖像上的成像位置P,P為任何一個空間點P在圖像上的投影位置,即光心O與P點的連線OP與物理圖像平面的交點。由圖中比例關(guān)系可知:
(1)
式中:(x,y)為點P的物理圖像坐標(biāo);f為相機焦距;(Xc,Yc,Zc)為空間點P在攝像機坐標(biāo)系下的坐標(biāo)。而對于一個CCD相機來說,2個坐標(biāo)系之間的關(guān)系依賴于像素的尺寸和形狀以及CCD在相機中的位置,圖像中任意一個像素在圖像坐標(biāo)系和相機坐標(biāo)系下的關(guān)系為
u=sxx+u0,v=syy+v0
(2)
式中:sx和sy為圖像平面單位距離上的像素數(shù)(像素/mm);(u0,v0)為主點坐標(biāo),(u,v)為像素坐標(biāo)。在(1)式和(2)式的基礎(chǔ)之上,加入相機畸變系數(shù),可得以齊次坐標(biāo)表示的圖像物理坐標(biāo)系與像素坐標(biāo)系之間關(guān)系:
(3)
于是可以得到P點的世界坐標(biāo)與投影點P的圖像坐標(biāo)的關(guān)系:
(4)
式中:ax=f/sx,ay=f/sy;s為畸變因子;R和T分別為從世界坐標(biāo)系到相機坐標(biāo)系的旋轉(zhuǎn)和平移變換;M為3×4矩陣,稱為投影矩陣;M1由ax、ay、u0、v0決定,由于ax、ay、u0、v0只與相機內(nèi)部結(jié)構(gòu)有關(guān),所以稱這些參數(shù)為相機內(nèi)部參數(shù);M2由相機相對于世界坐標(biāo)系的方位決定,稱為相機外部參數(shù),確定相機參數(shù)的過程即為攝像機標(biāo)定。
介紹了相機標(biāo)定的基本理論之后,下面對所涉及的角點檢測算法進行一個簡單的說明。
角點是圖像局部特征之一,可以定義“角點”為二維圖像變化劇烈的點或者是圖像邊緣曲線上曲率是極大值的點。角點具有旋轉(zhuǎn)不變性和不隨光照條件而變化的特點,它不僅同時保留圖像的重要特征,還有效地降低了圖像信息包含的數(shù)據(jù)量,提高其含量。與此同時,提高角點提取的速度,有利于對圖像后續(xù)的可靠匹配,借以實現(xiàn)圖像的實時處理。
角點檢測算法分為基于模板、亮度、邊緣、尺度空間等不同算法。Harris算法是由CHarris和M.J.Stephens提出的基于信號點特征的提取算法,該算法啟蒙于信號處理中的自相關(guān)函數(shù),結(jié)合與自相關(guān)函數(shù)相聯(lián)系的矩陣特征值為自相關(guān)函數(shù)的一階曲率的關(guān)系,如果2個特征值的曲率值都高,則認為該點為角點。
對于角點檢測算法的研究工作已經(jīng)有很多成果。本文采用文獻[15]提出的自適應(yīng)Harris角點檢測算法對標(biāo)定靶標(biāo)上棋盤格的交點進行角點檢測和提取,由于對閾值和非極大值抑制的鄰域進行調(diào)整,并在二者不符合條件時,對高斯函數(shù)寬度和高斯方差進行調(diào)整,這種分步調(diào)整的策略,不僅提升了算法速度,而且其角點檢測性能可以達到亞像素級別,如圖2所示。
圖2 亞像素角點檢測Fig.2 Sub-pixel corner detection
在高效的角點檢測算法的支撐下,相機標(biāo)定的結(jié)果一般是良好的,但是,為了進一步提高相機標(biāo)定的準(zhǔn)確度,本文主要對光源、采集的照片數(shù)量以及棋盤格尺寸這3個外部因素作了相應(yīng)的研究,并運用標(biāo)定結(jié)果對標(biāo)定靶標(biāo)圖像進行重投影,進而設(shè)置重投影圖像橫向誤差和縱向誤差的平均值(簡記為重投影誤差)作為其性能指標(biāo),對實驗結(jié)果進行量化描述與總結(jié)。
眾所周知,在機器視覺系統(tǒng)中,光源起著舉足輕重的作用。光源的主要功能是以合適的方式將光線投射到待測物體上,突出待測特征部分對比度。好的光源能夠改善整個系統(tǒng)的分辨率,減輕后續(xù)圖像處理的壓力。不合適的光源會給機器視覺系統(tǒng)帶來很多麻煩,如相機的花點和過度曝光會隱藏很多重要信息;陰影會引起邊緣的誤檢;信噪比降低以及不均勻的照明會導(dǎo)致圖像處理閾值的選擇困難[14]。
本文以重投影誤差作為性能指標(biāo),針對相機標(biāo)定時的光源照度不同等級情況,作了相應(yīng)的對比實驗,實驗過程以及結(jié)果和分析將在第4.1節(jié)作詳細介紹。
在張正友提出的相機標(biāo)定方法[1]中,為了求解相機參數(shù),我們需要解9個參數(shù),而一個單應(yīng)性矩陣僅能確定8個參數(shù),且一個單應(yīng)性矩陣與一幅圖片存在一一對應(yīng)的關(guān)系,故而需要從不同的方向拍攝至少2張照片才能完成參數(shù)的求解任務(wù),但是,采集圖像不足,會對內(nèi)部參數(shù)計算帶來一定誤差;但殘疾圖像過多,一方面影響標(biāo)定的精度,另一方面也會造成誤差積累,增加錯誤的概率[13],因此圖片數(shù)量也是影響相機標(biāo)定結(jié)果的重要因素之一。
以重投影誤差作為性能指標(biāo),對照片數(shù)量這一影響因子作相應(yīng)的對比實驗,其實驗過程以及結(jié)果和分析將在第4.2節(jié)作詳細介紹。
相機標(biāo)定所使用的棋盤格是用激光打印機打印在硬質(zhì)紙張上,并將其粘附于一個平整的板面之上,便于標(biāo)定圖像的采集[1]。由于打印機精度、紙張質(zhì)量、平板平整度等因素的影響,標(biāo)定靶標(biāo)的制作精度良莠不齊。
針對這一問題,以重投影誤差作為性能指標(biāo),對標(biāo)定靶標(biāo)中棋盤格尺寸這一影響因子作相應(yīng)的對比實驗,其實驗過程以及結(jié)果和分析將在第4.3節(jié)作詳細介紹。
在闡述了各個因素產(chǎn)生標(biāo)定誤差的基本原理之后,對各因素進行實驗,并進行結(jié)果分析。
由于是對比實驗,故實驗條件設(shè)置如下:
在固定相機焦距為10 mm下,采用10 mm×10 mm棋盤格標(biāo)定靶標(biāo),且在采集照片時,使標(biāo)定靶標(biāo)盡量充盈到整個像平面,使用分照度等級的UltraWildfire強光手電筒作為光源,并采用前面提到的自適應(yīng)Harris角點檢測算法進行特征點提取,從不同方向采集25張標(biāo)定圖片。為消除偶然誤差,共進行5組實驗,每組隨機抽取其中20張圖片進行標(biāo)定實驗。
表1 光源因子引起的重投影誤差Table 1 Re-projection errors of different illuminations
較之低照度光源的實驗環(huán)境,高照度的系統(tǒng)可以提高原有準(zhǔn)確度的程度達38%。其原因是光源增加了標(biāo)定靶標(biāo)棋盤格的對比度,提高了角點檢測的準(zhǔn)確度,從而降低了標(biāo)定誤差。
與光源因子同理,對于照片數(shù)量因子的實驗,其實驗條件設(shè)置如下:
在固定相機焦距為10 mm情況下,采用560 lm的光源,利用自適應(yīng)Harris角點檢測算法進行角點檢測,使用10 mm×10 mm棋盤格標(biāo)定靶標(biāo),且在采集照片時,使標(biāo)定靶標(biāo)盡量充盈到整個像平面,依次增加照片數(shù)量,繪制誤差曲線如圖3所示。
從圖中可以清楚地看到,在照片數(shù)量達到18張~22張時,誤差值已經(jīng)幾近收斂,故而印證了本文之前提出的問題——不同靶標(biāo)所需的標(biāo)定圖片數(shù)量不同。究其原因,是各人實驗所用的標(biāo)定靶標(biāo)不同,其特征點數(shù)目不同造成的——特征點數(shù)目越多,同一張圖片的信息量越大,需要的圖片數(shù)量相應(yīng)就少。文中設(shè)計的標(biāo)定板為(12×13)格,共有156個特征點,所需標(biāo)定圖片為18張~22張。
圖3 照片數(shù)量與重投影誤差的關(guān)系圖Fig.3 Relationship between number of picture and re-projection error
不同尺寸的棋盤格靶標(biāo)圖像對比如圖4所示。
圖4 不同尺寸棋盤格的標(biāo)定靶標(biāo)對比Fig.4 Calibration boards of different square sizes
與上述因子同理,對于棋盤格尺寸因子的實驗,其實驗條件設(shè)置為在固定相機焦距為10mm情況下, 分別采用10 mm×10 mm、30 mm×30 mm和50 mm×50 mm棋盤格標(biāo)定靶標(biāo),且使標(biāo)定靶標(biāo)盡量充盈到整個像平面,使用560 lm的光源,利用自適應(yīng)Harris角點檢測算法進行角點的檢測和提取。從不同方向各采集25張標(biāo)定圖片。為消除偶然誤差,共進行5組實驗,每組隨機抽取其中20張圖片進行標(biāo)定實驗,得到統(tǒng)計表格如表2所示。
表2 棋盤格大小因子實驗的重投影誤差表Table 2 Re-projection errors of different square sizes
由上面的表格分析可知,隨著棋盤格尺寸增大,其標(biāo)定的誤差相應(yīng)增大。較之小尺寸的棋盤格,大尺寸的誤差成倍增加。其原因是棋盤格越大,則鏡頭畸變引起的距離測量誤差增大,從而導(dǎo)致標(biāo)定的重投影誤差增大。
對于相機標(biāo)定而言,不僅要選擇高效優(yōu)化的算法,而且要考慮影響其標(biāo)定精度的外界因素,往往這些外界因素會引起標(biāo)定結(jié)果的不準(zhǔn)確。
本文采用相機針孔模型,利用自適應(yīng)Harris角點檢測算法對標(biāo)定靶標(biāo)的角點進行檢測和提取,在分組實驗之后,對實驗結(jié)果分析可知,選擇均勻良好的光源可以使得最終的標(biāo)定結(jié)果準(zhǔn)確度提升38%以上;根據(jù)標(biāo)定靶標(biāo)上特征點個數(shù)多少選取適量的照片數(shù)量——特征點個數(shù)多,則需要的標(biāo)定圖片少,反之亦然;根據(jù)相機畸變系數(shù)大小制作精度高與棋盤格尺寸相對較小的靶標(biāo)可有效地提高相機標(biāo)定的精度。
[1] ZHANG Zheng-you. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(11):1330-1334.
[2] SONG D M. A self-calibration technique for active vision systems[J]. IEEE Transactions on Robotics and Automation, 1996,12(1):114-120.
[3] 李龍,何明一,李娜.橢圓擬合的圓環(huán)模板攝像機標(biāo)定[J].西安電子科技大學(xué)學(xué)報:自然科學(xué)版,2010,37(6):1148-1154.
LI Long, HE Ming-yi, LI Na. Camera calibration based on the circular pattern and ellipse fitting[J].Journal of Xidian University, 2010,37(6): 1148-1154.(in Chinese with an English abstract)
[4] 江晟,曲昭偉,胡宏宇,等.基于像素-角度映射的攝像機標(biāo)定算法[J].哈爾濱工業(yè)大學(xué)學(xué)報,2012,44(8):130-135.
JIANG Cheng,QU Shao-wei,HU Hong-yu,et al. Camera calibration based on pixel-angel reflection model[J].Journal of Harbin Instititute of Technology, 2012,44(8):130-135. (in Chinese with an English abstract)
[5] SUN Qiu-cheng, DONG Xiao-gang, LIU Ming, et al. An improved method of camera calibration[J]. IEEE, 2011,3:155-157.
[6] DANIEL M, GABRIEL T. Simple, accurate, and robust projector-camera calibration[C].US:IEEE, 2012.
[7] 王龍,董新民,賈海燕.機器視覺輔助的無人機空中加油相對導(dǎo)航[J].應(yīng)用科學(xué)學(xué)報,2012,30(2):209-214.
WANG Long,DONG Xin-min, JIA Hai-yan. Machine vision-aided relative navigation for UAV aerial refueling[J].Journal of Applied Sciences-Electronics and Information Engineering, 2012,30(2):209-214. (in Chinese with an English abstract)
[8] 徐浪,曾忠,劉金贊,等.機器視覺在印刷缺陷在線檢測中的應(yīng)用與研究[J].計算機系統(tǒng)應(yīng)用,2013,22(3):186-190.
XU Lang, ZENG Zhong, LIU Jin-zan, et al. Application and research of machine vision on on-line inspection for printed defect[J]. Computer System Application, 2013,22(3):186-190. (in Chinese with an English abstract)
[9] 劉俸材,李愛迪,馬澤忠.結(jié)構(gòu)光視覺系統(tǒng)誤差分析與參數(shù)優(yōu)化[J].計算機工程與設(shè)計,2013,34(2):758-761.
LIU Feng-cai, LI Ai-di, MA Ze-zhong. Error analysis and parameter optimization of structured-light vision system[J].Computer Engineering and Design, 2013,34(2):758-761. (in Chinese with an English abstract)
[10] 楊明,王海暉,陳君,等.雙目標(biāo)定系統(tǒng)精度提高的方法[J].武漢工程大學(xué)學(xué)報,2012,34(1):69-73.
YANG Ming,WANG Hai-hui, CHEN Jun, et al. Methods of accuracy improvement based on binocular calibration system[J].Journal of Wuhan Institute of Technology, 2012,34(1):69-73. (in Chinese with an English abstract)
[11] LAVEST J M,VIALA M,DHOME M. Do we really need an accurate pattern to achieve a reliable camera calibration[C]. German: Springer,1998.
[12] 尹洪濤,劉成,李一兵,等.相機標(biāo)定誤差因素分析[J].信息通信,2012,1:28-30.
YIN Hong-tao, LIU Cheng, LI Yi-bing, et al. Analysis of factors on the error of the camera calibration[J].Information & Communications,2012,1:28-30. (in Chinese with an English abstract)
[13] 袁銘,蘇顯渝,劉曉青.影響攝像機標(biāo)定精度的因素分析[J].光學(xué)與光電技術(shù),2010,8(4):18-21.
YUAN Ming,SU Xian-yu, LIU Xiao-qing. Analysis of factors on the precision of the camera calibration[J]. Optics & Optoelectronic, 2010,8(4):18-21. (in Chinese with an English abstract)
[14] 韓九強,胡懷中,張心曼,等.機器視覺技術(shù)及應(yīng)用[M]. 北京: 高等教育出版社,2009.
HAN Jiu-qiang,HU Huai-zhong,ZHANG Xin-man, et al. Technologies and applications of machine vision[M].Beijing: Higher Education Press,2009. (in Chinese)
[15] 侯建輝,林意.自適應(yīng)的Harris棋盤格角點檢測算法[J].計算機工程與設(shè)計,2009,30(20):4741-4743.
HOU Jian-hui, LIN Yi. Adaptive Harris x-corner detection algorithm[J]. Computer Engineering and Design, 2009,30(20): 4741-4743. (in Chinese with an English abstract)