邰 晶,翟為剛,譚力寧
(1.第二炮兵工程大學(xué) 907教研室,陜西 西安 710025;2.第二炮兵工程大學(xué) 701教研室,陜西 西安 710025)
攝像機(jī)標(biāo)定中總體最小二乘法抗噪性的研究
邰 晶1,翟為剛1,譚力寧2
(1.第二炮兵工程大學(xué) 907教研室,陜西 西安 710025;2.第二炮兵工程大學(xué) 701教研室,陜西 西安 710025)
為了降低攝像機(jī)標(biāo)定中圖形加性噪聲給標(biāo)定精度帶來(lái)的不良影響,提出了基于總體最小二乘法的攝像機(jī)標(biāo)定方法。由于總體最小二乘法具有消除或降低噪聲的功能,本文將其用于求解單應(yīng)性矩陣,既提高了單應(yīng)性矩陣的精度,又為攝像機(jī)內(nèi)外參數(shù)和畸變系數(shù)的精確測(cè)量提供了理論依據(jù)。在此基礎(chǔ)上借助OpenCV函數(shù)庫(kù)獲取圖形中角點(diǎn)高精度坐標(biāo)的功能,在Visual C++環(huán)境下實(shí)現(xiàn)了對(duì)攝像機(jī)的標(biāo)定。數(shù)值實(shí)驗(yàn)和實(shí)際標(biāo)定實(shí)驗(yàn)均表明,提出的標(biāo)定方法具有更高的精度和抗噪聲能力。
總體最小二乘法;攝像機(jī)標(biāo)定;噪聲
攝像機(jī)標(biāo)定是計(jì)算機(jī)視覺(jué)系統(tǒng)中不可缺少的前提和基礎(chǔ),其實(shí)質(zhì)是確定攝像機(jī)內(nèi)外參數(shù)的一個(gè)過(guò)程[1]?;趶埵蟽刹狡矫婺0鍢?biāo)定法是目前通常采用的傳統(tǒng)攝像機(jī)標(biāo)定方法[2],該方法過(guò)程簡(jiǎn)單,而且比主動(dòng)視覺(jué)和攝像機(jī)自標(biāo)定方法的精度高,經(jīng)過(guò)多年的研究已經(jīng)發(fā)展的比較成熟。
由于室內(nèi)條件有限、設(shè)備成本較低,數(shù)據(jù)傳輸獲取攝像機(jī)參數(shù)的過(guò)程中易受電磁信噪的影響,這屬于通信系統(tǒng)的內(nèi)部噪聲,因此在采集、獲取圖像時(shí),均會(huì)不同程度地受到干擾,降低圖像質(zhì)量。圖像噪聲的存在不僅降低了圖像的視覺(jué)效果,而且對(duì)圖像獲取、邊緣檢測(cè)、特征提取、模式識(shí)別等都會(huì)帶來(lái)影響[3]。來(lái)自圖像傳感器的數(shù)字圖像會(huì)受到各種噪聲的干擾,其中主要包括加性噪聲、乘性噪聲和混合噪聲,而通信內(nèi)部的噪聲是獨(dú)立于信號(hào)之外的噪聲,并以疊加的形式對(duì)信號(hào)造成干擾,因此加性噪聲被看成是通信系統(tǒng)的背景噪聲。目前較常用的基于傳統(tǒng)最小二乘的兩步法,沒(méi)有抑制圖像噪聲的有效性能,因而標(biāo)定結(jié)果易受噪聲影響。
總體最小二乘法具有抑制輸入和輸出噪聲的能力,因此在很多領(lǐng)域都有著廣泛的應(yīng)用,例如:統(tǒng)計(jì)分析、線性和非線性回歸、系統(tǒng)辨別、參數(shù)估計(jì)和信號(hào)處理等[4]。本文在考慮加性圖像噪聲的情況下,設(shè)計(jì)了基于總體最小二乘抗噪的標(biāo)定方法,并借助OpenCV實(shí)現(xiàn)了對(duì)攝像機(jī)的標(biāo)定。數(shù)值實(shí)驗(yàn)和實(shí)際標(biāo)定實(shí)驗(yàn)均表明,基于總體最小二乘法抗噪的標(biāo)定方法具有更高的精度。
攝像機(jī)通過(guò)透鏡將空間三維場(chǎng)景成像變換到攝像機(jī)二維圖像的平面上,即成像變換的描述為攝像機(jī)成像的幾何模型[5]。攝像機(jī)標(biāo)定的關(guān)鍵是選擇合適的成像模型,然后進(jìn)一步運(yùn)用成像模型的參數(shù)確定攝像機(jī)內(nèi)外部參數(shù)。然而實(shí)際應(yīng)用中由于透鏡設(shè)計(jì)因素的影響,采用的攝像機(jī)大多都存在鏡頭畸變,因此,作為定位測(cè)量的一部分,必須消除或減小畸變的影響,才能為下一步的精確定位提供理論數(shù)值依據(jù)。對(duì)攝像機(jī)內(nèi)外參數(shù)進(jìn)行的有效標(biāo)定不僅可以直接提高測(cè)量精度,而且可以為后續(xù)獲取空間物體的尺度、度量信息奠定良好的基礎(chǔ)。
在張氏平面標(biāo)定法中,先采用針孔模型求解攝像機(jī)的內(nèi)外參數(shù),再引入透鏡的徑向和切向畸變。由于針孔模型很難準(zhǔn)確的描述成像幾何過(guò)程,只有采用校正后的成像模型進(jìn)行標(biāo)定才能得到更精確的攝像機(jī)參數(shù)。在該模型中,空間點(diǎn)在世界坐標(biāo)系中的坐標(biāo)值變換為圖像平面上像素坐標(biāo)系中對(duì)應(yīng)點(diǎn)的坐標(biāo)值的過(guò)程可分解為下述的4步變換[6],如圖1。
圖1 攝像機(jī)標(biāo)定的原理圖Fig.1 Schematic diagram of camera calibration
在計(jì)算機(jī)視覺(jué)中,從一個(gè)平面到另一個(gè)平面的投影映射定義為平面的單應(yīng)性。因此平面單應(yīng)性的一個(gè)典型應(yīng)用就是二維平面上的點(diǎn)映射到攝像機(jī)成像儀上的映射。
本文在針孔模型的基礎(chǔ)上,采用張氏平面標(biāo)定法求解攝像機(jī)內(nèi)外參數(shù),并充分考慮到徑向畸變和切向畸變帶來(lái)的影響,求解攝像機(jī)的畸變系數(shù)[5]。而由針孔成像模型可知,單應(yīng)性矩陣是求解攝像機(jī)內(nèi)外參數(shù)以及畸變系數(shù)的前提,它的精度影響攝像機(jī)內(nèi)外參數(shù)以及畸變系數(shù)的精度,進(jìn)而影響標(biāo)定的精度。
如果對(duì)三維場(chǎng)景點(diǎn)Q到攝像機(jī)二維圖像成像儀上的點(diǎn)q的映射使用齊次坐標(biāo),則可以用矩陣相乘的方式表示這種映射。
將單應(yīng)性簡(jiǎn)單表示為:
這里引入一個(gè)任意尺度比例的參數(shù)s。
考慮用平面模板進(jìn)行標(biāo)定,特征角點(diǎn)都在同一個(gè)平面上,所以令模板平面的Z=0,則單應(yīng)性矩陣H把三維空間場(chǎng)景模板平面上的點(diǎn)與二維成像儀平面上的點(diǎn)聯(lián)系起來(lái),表示關(guān)系如下:
事實(shí)上,正是利用同一物體的多幅圖像來(lái)計(jì)算每個(gè)視場(chǎng)的單應(yīng)性矩陣。
總體最小二乘法的思想很早就被提出來(lái)了,它被廣泛的應(yīng)用在統(tǒng)計(jì)分析、線性和非線性回歸、系統(tǒng)辨別和參數(shù)估計(jì)以及信號(hào)處理中[4]。本文主要針對(duì)參數(shù)估計(jì)提出了總體最小二乘法優(yōu)化參數(shù)的理念,而參數(shù)估計(jì)中很多問(wèn)題都?xì)w結(jié)為求超定方程Ax=y的解。常用的求解方法是最小二乘法,但它只考慮了觀測(cè)向量y的誤差,而在實(shí)際問(wèn)題中觀測(cè)向量y和數(shù)據(jù)矩陣A一般都有誤差,因此采用總體最小二乘法更為適宜。
總體最小二乘法的數(shù)學(xué)模型為:(A+E)x=y+e,式中E、e分別為系數(shù)矩陣和觀測(cè)向量的隨機(jī)誤差,具有獨(dú)立、同分布,服從零均值和方差相同[7]。總體最小二乘的準(zhǔn)則為:min[e;E]‖[E;e]‖F(xiàn),式中,‖‖F(xiàn)表示 Frobenius 范數(shù);[E;e]表示增廣矩陣,總體最小二乘法實(shí)質(zhì)就是求解增廣矩陣[E;e]的最小范數(shù)。
在張氏平面標(biāo)定法中,得到單應(yīng)性矩陣的方法是采用傳統(tǒng)的最小二乘法求解方程組。但這樣得到的解通常并不是最優(yōu)解,而本文的基于總體最小二乘法的攝像機(jī)標(biāo)定,是在考慮圖像噪聲的基礎(chǔ)上[8],用總體最小二乘法求解單應(yīng)性矩陣,進(jìn)一步求出更精確的攝像機(jī)內(nèi)外參數(shù)以及畸變系數(shù)。
總體最小二乘法攝像機(jī)標(biāo)定的步驟如下方法:
1)三維空間坐標(biāo)間的變換:世界坐標(biāo)系中物體點(diǎn)的坐標(biāo)值 Pw(Xw,Yw,Zw) 和攝像機(jī)坐標(biāo)系中對(duì)用點(diǎn)的坐標(biāo)值 Pc(Xc,Yc,Zc)的轉(zhuǎn)換如下:
式中:R為一個(gè)的旋轉(zhuǎn)矩陣;t為一個(gè)平移向量。
2)透視投影:攝像機(jī)坐標(biāo)系中的坐標(biāo)值 Pc(Xc,Yc,Zc)在針孔模型中透視投影到圖像平面上的物理坐標(biāo)(x,y),得到
其中:f為攝像機(jī)成像鏡頭的焦距。
3)引入透鏡畸變后的坐標(biāo)值 Pd(xd,yd)表示為:
式中:r2=x2+y2;k1、k2為徑向畸變系數(shù);k3、k4為切向畸變系數(shù)。
4)將圖像物理坐標(biāo)(x,y)轉(zhuǎn)換為圖像像素坐標(biāo)(u,v):
各參數(shù)的意義:假設(shè)鏡頭光軸Z與圖像平面的交點(diǎn)為Oi,則原點(diǎn) Oi在圖像像素坐標(biāo)系下的坐標(biāo)為(u0,v0),dx、dy 分別為單位像素在x軸與y軸方向上的物理尺寸。
5)攝像機(jī)的針孔成像模型:
7)總體最小二乘法求單應(yīng)性矩陣:
根據(jù)n幅圖像采集的角點(diǎn)坐標(biāo)以及對(duì)應(yīng)的世界坐標(biāo)求單應(yīng)性矩陣:
由Pdst=Hpsrc得到PsrcTHT=pdstT,一幅圖像有m個(gè)角點(diǎn),n幅圖像的單應(yīng)性表示為:
當(dāng)mm≥9時(shí)式(7)有解,而總體最小二乘法的數(shù)學(xué)模型為:
①基于奇異值分解的總體最小二乘法。將增廣矩陣[A;y]進(jìn)行SVD得:
②總體最小二乘估計(jì)為:
OpenCV(Open Source Computer Vision Library)是一個(gè)開(kāi)源的計(jì)算機(jī)視覺(jué)庫(kù),最初由Intel公司發(fā)起并開(kāi)發(fā)[9]。它包含許多圖像處理和計(jì)算機(jī)視覺(jué)常用的算法,有效提高了開(kāi)發(fā)效率,已經(jīng)廣泛應(yīng)用于對(duì)實(shí)時(shí)性要求較高的計(jì)算機(jī)視覺(jué)的系統(tǒng)開(kāi)發(fā)。
為了實(shí)現(xiàn)攝像機(jī)的標(biāo)定,調(diào)用 OpenCV函數(shù)庫(kù),它有采集圖像和角點(diǎn)提取的功能,可以從不同的角度抓取幾張平面標(biāo)定模板的圖片,獲取高精度的圖像坐標(biāo)[10]。具體標(biāo)定過(guò)程如下:
1)粗精度角點(diǎn)提取
讀取一組標(biāo)定用的圖像數(shù)據(jù),使用cvFind Chessboard Corners函數(shù)提取角點(diǎn)進(jìn)行篩選圖像。讀入一組圖像數(shù)據(jù),當(dāng)該幅圖像上設(shè)定的角點(diǎn)數(shù)目和提取的相同,表示角點(diǎn)提取成功,該圖像存儲(chǔ)到文本文件中;否則,表示提取角點(diǎn)失敗,返回該幅圖像要放棄,則繼續(xù)標(biāo)定,直到可用的標(biāo)定圖的數(shù)目滿足設(shè)定的最少標(biāo)定用的圖的數(shù)目。
2)亞像素級(jí)角點(diǎn)細(xì)化提取
當(dāng)提取到了所需要角點(diǎn)的圖像像素坐標(biāo)值后,為了得到更為精確的角點(diǎn)位置,我們需要對(duì)這些角點(diǎn)做進(jìn)一步的細(xì)化,使用函數(shù)cvFindCornerSubPix進(jìn)一步精確得到角點(diǎn)位置的坐標(biāo);使用函數(shù)cvDrawChessboardCorners將檢測(cè)到的角點(diǎn)在圖像中顯示出來(lái)。
3)計(jì)算內(nèi)外參數(shù)
將角點(diǎn)在世界坐標(biāo)系中的坐標(biāo)值以及對(duì)應(yīng)的圖像坐標(biāo)系中的坐標(biāo)值代入式(6)中,結(jié)合式(7)(8)(9)(10)總體最小二乘法的求解原理,得到單應(yīng)性矩陣。依據(jù)傳統(tǒng)兩步法的標(biāo)定方法以及總體最小二乘法得到的單應(yīng)性矩陣,求解攝像機(jī)內(nèi)外參數(shù)以及畸變系數(shù)。
4)誤差分析
根據(jù)標(biāo)定得到的攝像機(jī)各內(nèi)外參數(shù),計(jì)算已知的角點(diǎn)三維坐標(biāo)在圖像上的投影坐標(biāo),即使用了重新投影的方法來(lái)計(jì)算定標(biāo)誤差,將其與通過(guò)角點(diǎn)提取得到的投影坐標(biāo)進(jìn)行比較,從而得到一個(gè)誤差。
利用數(shù)值實(shí)驗(yàn)一次測(cè)量的數(shù)據(jù),分別使用總體最小二乘法和傳統(tǒng)標(biāo)定的兩步法進(jìn)行攝像機(jī)的標(biāo)定。單應(yīng)性矩陣的精度直接影響后邊標(biāo)定攝像機(jī)內(nèi)外參數(shù)以及畸變系數(shù)的精度。一般,只要一個(gè)噪聲過(guò)程所具有的頻譜寬度遠(yuǎn)遠(yuǎn)大于它所作用系統(tǒng)的帶寬,并且在該帶寬中其頻譜密度基本上可以作為常數(shù)來(lái)考慮,就可以把它作為白噪聲來(lái)處理。本文中使用信噪比(Signal-to-Noise Ratio,SNR)描述噪聲水平,SNR 的單位為dB,定義如下:
PsPn在考慮通信系統(tǒng)圖像噪聲為背景的情況下,加入10dB的白噪聲得到如表1所示數(shù)據(jù)。
為了更直觀的比較,本文采用誤差百分比來(lái)描述總體最小二乘法和最小二乘法的性能優(yōu)勢(shì),定義如下:
其中,無(wú)噪聲為標(biāo)準(zhǔn)值,LS、TLS為測(cè)量值。
上述實(shí)驗(yàn)數(shù)據(jù)和圖表顯示,總體最小二乘法比傳統(tǒng)最小二乘法的圖像抗噪有明顯的優(yōu)勢(shì),這樣得到的單應(yīng)性矩陣的精度有所改進(jìn),更接近實(shí)際理論值。依據(jù)攝像機(jī)標(biāo)定的原理,進(jìn)而精確標(biāo)定攝像機(jī)的內(nèi)外參數(shù)以及畸變系數(shù)。
表1 單應(yīng)性矩陣數(shù)值Tab.1 Homography matrix numerical
圖2 誤差百分比Fig.2 Percentage error
本文的測(cè)量系統(tǒng)是應(yīng)用在室內(nèi)環(huán)境中,攝像機(jī)位置固定不變,測(cè)量前要先進(jìn)行攝像機(jī)標(biāo)定?;谏鲜鰳?biāo)定算法的編寫程序,對(duì)系統(tǒng)采用藍(lán)色妖姬S8攝像頭,在Visual C++的平臺(tái)上,利用OpenCV攝像機(jī)標(biāo)定的原理,進(jìn)行基于總體最小二乘法的攝像機(jī)標(biāo)定。標(biāo)定過(guò)程中采用如圖3所示的平面棋盤格作為標(biāo)定的模板,從不同位置和角度拍攝模板圖像,檢測(cè)出棋盤格圖像上的所有角點(diǎn),即可標(biāo)定出攝像機(jī)的內(nèi)外參數(shù)以及畸變系數(shù)。
圖3 平面棋盤格標(biāo)定模板Fig.3 Planar checkerboard calibration template
標(biāo)定過(guò)程中成功提取標(biāo)定角點(diǎn),如圖4所示。
依據(jù)上述的標(biāo)定原理,得到的結(jié)果如下表所示:
攝像機(jī)的內(nèi)參矩陣如表2所示。
攝像機(jī)的外參矩陣如表3所示。
在得到攝像機(jī)的內(nèi)外參數(shù)后,為了比較總體最小二乘法和最小二乘法標(biāo)定的準(zhǔn)確性和精度,本文采用反解棋盤格角點(diǎn)空間坐標(biāo)的方法,與實(shí)際坐標(biāo)進(jìn)行對(duì)比。列出坐標(biāo)比較的結(jié)果如表4所示。
圖4 角點(diǎn)提取成功Fig.4 Corner extraction success
表2 內(nèi)參矩陣Tab.2 Intrinsic matrix
表3 外參矩陣Tab.3 Extrinsic parameters
表4 角點(diǎn)實(shí)際坐標(biāo)與反解坐標(biāo)的比較Tab.4 Comparison of corner actual coordinates and Inverse coordinate
通過(guò)上述數(shù)據(jù)的比較,總體最小二乘法抑制噪聲求解的標(biāo)定參數(shù)精度更高,坐標(biāo)更接近實(shí)際值,進(jìn)一步說(shuō)明了總體最小二乘法的抗噪性應(yīng)用在攝像機(jī)標(biāo)定中的可行性價(jià)值。
本文對(duì)基于OpenCV[11-12]的攝像機(jī)標(biāo)定進(jìn)行了研究,針對(duì)目前標(biāo)定方法精度易變,通信內(nèi)部噪聲對(duì)圖像的危害和測(cè)量誤差影響的缺點(diǎn),提出了總體最小二乘法抗噪的方法??傮w最小二乘法有抑制噪聲優(yōu)化參數(shù)的性能,相比傳統(tǒng)的最小二乘法更適宜,標(biāo)定的結(jié)果更接近實(shí)際數(shù)值,而且具有方法簡(jiǎn)單、標(biāo)定參數(shù)結(jié)果精度較高等特性,它可以有效的應(yīng)用于測(cè)量、機(jī)器人和其他計(jì)算機(jī)視覺(jué)系統(tǒng)中。
[1]QIU Mao-lin,MA Song-de,LI Yi.Overview of camera calibration for computer vision[J].Acta Automatica Sinica,2006,26(1):43-55.
[2]Jean-Yves Bouguet.Camera calibration toolbox for Matlab[EB/OL].2004.http://www.vision.caltech.edu/Bouguetj/calib_doc.
[3]BING Yuan-yuan,WU Wen-bo.Image noise reduction based on wavelet packet and realization with Matlab[J].Journal of Liaoning TechnicalUniversity:NaturalScience Edition,2008,5(27):224-226.
[4]K H irakawa,T W Parks Image denoising using total least squares[J].IEEE Trans on Image Processing,2006,15 (9):2730-2742.
[5]WANG Hong-ping,CAO Guo-hua,LI Zhen-hui,et al.Study of Distortion Correction of Image Based on BP Neural Network[J].Journal of Changchun University of Science and Technology:Natural Science Editon,2009,32(4):653-656.
[6]Zhang Z.A flexible new technique for camera calibration[J].IEEE Transaction on Pattern Analysis and Machine Intelligence,2000,22(11):1330-1334.
[7]ZHANG Hong-yue,HUANG Jing-dong,F(xiàn)AN Wen-lei.Total lease square method and itsapplication to parameter estimation[J].Acta Automatica Sinica,1995,21(1)40-47.
[8]LI Xuan,SONG Zhan-jie,WANG Yin,et al.Image Denoising based on total least squares[J].Computer Engineering,2010,36(24):206-207.
[9]LI Jian,CHEN Chang-ming.Improved two-step video camera calibration on the basis of OpenCV[J].Computer Applications and Software,2010,27(3):104-106.
[10]MAO Jian-fei,ZHOU Xi-yong,ZHU Jing.Improved Twostages Camera Calibration From a Plane[J].Journal of Image and Graphics,2004,9(7):846-852.
[11]王冬,夏乙,殷木一,等.基于OpenCV的攝像機(jī)標(biāo)定方法實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2013(8):97-100.WANG Dong,XIA Yi,YIN Mu-yi,et al.Method of camera calibration based on OpenCV[J].Modern Electronics Technique,2013(8):97-100.
[12]雷建鋒,汪偉.基于OpenCV的圖像閾值分割研究與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2013(24):73-76.
LEI Jian-feng,WANG Wei.Research and implementation of image segmentation threshold based on OpenCV[J].Modern Electronics Technique,2013(24):73-76.
The research on camera calibration of total least squares method for noise immunity
TAI Jing1, ZHAI Wei-gang1, TAN Li-ning2
(1.Faculty 907, The Second Artillery Engineering University, Xi’an 710025, China;2.Faculty 701, The Second Artillery Engineering University, Xi’an 710025, China)
In order to undermine the uncertain effect of image additive noise for the precision of the video camera calibration,a camera calibration method based on the total least squares is proposed.It is used to solve homography matrix because the method can remove or reduce the noise.The method can not only improve the accuracy of homography matrix but also provide the theory basis for the accurate measurement of the camera parameters and the distortion coefficient.With the help of high precision corner point coordinate obtained by OpenCV Library,the video camera can be calibrated by Visual C++.Numerical experiments and practical calibration experiments indicates that the calibration methods based on total least squares has more precision.
the total least squares method;camera calibration;noise
TP391
A
1674-6236(2014)15-0039-05
2013-09-24 稿件編號(hào):201309178
邰 晶(1987—),女,河南新鄉(xiāng)人,碩士研究生。研究方向:室內(nèi)定位。