曹 兵,李文博,張?jiān)撇?/p>
(南京理工大學(xué)機(jī)械工程學(xué)院,南京 210094)
基于改進(jìn)Harris角點(diǎn)算法的攝像機(jī)標(biāo)定技術(shù)研究
曹兵,李文博,張?jiān)撇?/p>
(南京理工大學(xué)機(jī)械工程學(xué)院,南京210094)
針對(duì)傳統(tǒng)的Harris角點(diǎn)提取算法對(duì)噪聲敏感,執(zhí)行效率低等不足,提出了一種改進(jìn)的Harris角點(diǎn)提取方法;以Harris角點(diǎn)提取算法為基礎(chǔ),通過(guò)優(yōu)化角點(diǎn)響應(yīng)函數(shù),消除系數(shù)K,提高角點(diǎn)提取算法的執(zhí)行效率;采用改進(jìn)的Harris算法對(duì)黑白棋盤(pán)表格進(jìn)行內(nèi)角點(diǎn)提取,利用張正友攝像機(jī)標(biāo)定法計(jì)算USB攝像機(jī)的內(nèi)外參數(shù);實(shí)驗(yàn)結(jié)果證明了該方法可以有效的對(duì)黑白棋盤(pán)格內(nèi)角點(diǎn)進(jìn)行提取,準(zhǔn)確高效,提高了攝像機(jī)的標(biāo)定精度和準(zhǔn)確性,是一種可行的攝像機(jī)標(biāo)定方法。
角點(diǎn)提取算法;棋盤(pán)格;攝像機(jī)標(biāo)定
作為計(jì)算機(jī)視覺(jué)的“眼睛”,攝像機(jī)是獲取三維視覺(jué)信息的基礎(chǔ),在計(jì)算機(jī)視覺(jué)中占有非常重要的地位。攝像機(jī)的參數(shù)分為外部參數(shù)和內(nèi)部參數(shù),標(biāo)定的目的就是為了得到攝像機(jī)的內(nèi)外參數(shù),攝像機(jī)標(biāo)定的精度直接影響整個(gè)計(jì)算機(jī)視覺(jué)系統(tǒng)的精度。近年來(lái),攝像機(jī)兩步標(biāo)定法應(yīng)用較多,其特點(diǎn)是將攝像機(jī)畸變與攝像機(jī)內(nèi)外參數(shù)分離,逐步取得最優(yōu)解[1]。典型的兩步法有張正友攝像機(jī)平面標(biāo)定法和Tsai攝像機(jī)平面標(biāo)定法。張正友攝像機(jī)平面標(biāo)定法介于傳統(tǒng)標(biāo)定法和自標(biāo)定法之間,其操作簡(jiǎn)單方便,魯棒性好且準(zhǔn)確度較高,已經(jīng)廣泛應(yīng)用于視覺(jué)系統(tǒng)。
角點(diǎn)提取算法主要用于獲取圖像特征,廣泛應(yīng)用于運(yùn)動(dòng)檢測(cè)、圖像匹配和目標(biāo)識(shí)別等領(lǐng)域中,同時(shí)也是攝像機(jī)標(biāo)定技術(shù)中至關(guān)重要的一部分。目前,角點(diǎn)提取算法主要分為兩類:一類是基于輪廓曲線,如Kitchen Rosenfeld[2]、Freeman鏈碼法[3]、Wang-Brady[4]等;另一類是基于灰度圖像,如Moravec算法、Harris算法[5]、SUSAN算法[6]等,這類方法通過(guò)計(jì)算圖像的梯度及邊緣曲率來(lái)提取角點(diǎn)。
相對(duì)于其他幾類角點(diǎn)提取算法,Harris角點(diǎn)提取算法的提取效果是最好的[7]。但是它對(duì)噪聲較為敏感,需要人為給定系數(shù)K才能獲得比較理想的效果,影響了算法的執(zhí)行效率,文中將通過(guò)優(yōu)化角點(diǎn)響應(yīng)函數(shù),提高角點(diǎn)提取的執(zhí)行效率。本文將結(jié)合改進(jìn)的Harris角點(diǎn)提取算法和張正友攝像機(jī)標(biāo)定法對(duì)攝像機(jī)的內(nèi)外參數(shù)進(jìn)行標(biāo)定,進(jìn)一步提高了黑白棋盤(pán)格內(nèi)角點(diǎn)提取的準(zhǔn)確性和攝像機(jī)內(nèi)外參數(shù)的標(biāo)定精度.
Harris角點(diǎn)提取算子是對(duì)Moravec角點(diǎn)提取算子的一種改進(jìn),是一種基于信號(hào)點(diǎn)特征的提取算子。
1.1Moravec角點(diǎn)提取原理
Moravec角點(diǎn)提取算子的思想比較簡(jiǎn)單,如圖 (1)所示,在待提取的圖像上以被檢測(cè)像素點(diǎn)為中心設(shè)置一個(gè)W*W的滑動(dòng)窗口,逐個(gè)像素的移動(dòng)這個(gè)窗口并檢查窗口中的像素變化情況。窗口中的像素變化可以簡(jiǎn)單的分為3類:若所測(cè)像素點(diǎn)的鄰域是平坦的,則窗口移動(dòng)的過(guò)程中像素的變化不大,如圖(1)中(A)所示;若所測(cè)像素點(diǎn)的鄰域包含“邊緣”,則沿邊緣方向移動(dòng)窗口時(shí),像素變化很小,沿邊緣的垂直方向移動(dòng)窗口時(shí),像素變化很大,如圖(1)中(B)所示;若所測(cè)像素點(diǎn)的鄰域包含“角點(diǎn)”,則沿任意方向移動(dòng)窗口時(shí),像素均有明顯變化,如圖(1)中 (C)所示。所以檢測(cè)像素的變化情況,設(shè)定閥值,當(dāng)像素的變化超過(guò)了設(shè)定的閾值,則被檢測(cè)點(diǎn)即為是角點(diǎn)。
圖1 像素變化情況圖
Moravec角點(diǎn)提取算子用數(shù)學(xué)語(yǔ)言表示就是:
其中,Ex,y表示像素的變化值,wu,v為移動(dòng)窗口函數(shù),Iu,v為像素點(diǎn)(u,v)的灰度值,Ix+u,y+u為窗口移動(dòng)后的灰度值,(x,y)表示八個(gè)移動(dòng)方向。
可以看出Moravec算法只能檢測(cè)窗口函數(shù)在8個(gè)基本方向上移動(dòng)的變化,不能準(zhǔn)確提取出在其它方向上產(chǎn)生變化的角點(diǎn)。由于該算法計(jì)算的是灰度強(qiáng)度的變化,顯然,對(duì)于圖像亮度變化較敏感,并且該算法對(duì)孤立點(diǎn)、噪聲和邊緣也比較敏感。
1.2Harris角點(diǎn)提取原理
Harris角點(diǎn)提取算子實(shí)質(zhì)上就是對(duì) Moravec算子的改進(jìn)和優(yōu)化。Moravec算子對(duì)方向的依賴性太強(qiáng),只能覆蓋8個(gè)基本方向的檢測(cè),Harris通過(guò)引進(jìn)微分的思想使得算子可以覆蓋所有方向上的檢測(cè),則式(1)就轉(zhuǎn)化為:
其中,X和Y是一階灰度導(dǎo)數(shù),定義如下:
由于Moravec算子采用的是二值化的矩形窗口函數(shù),像素的變化易受噪聲干擾,Harris就采用較為平滑的高斯函數(shù)作為窗口函數(shù):
wu,v=exp-(u2+v2)/2σ2(8)
Moravec算子對(duì)邊緣的響應(yīng)過(guò)于敏感,容易將邊緣誤判成角點(diǎn),對(duì)變化量Ex,y變形為:
Ex,y=(x,y)M(x,y)T(9)
上式中,Ex,y是圖像的局部自相關(guān)函數(shù),M 是2×2的對(duì)稱矩陣,M矩陣的特征值與自相關(guān)函數(shù)Ex,y的曲率成比例關(guān)系,所以通過(guò)判斷M矩陣的兩個(gè)特征值的大小就可以確定角點(diǎn),設(shè)M矩陣的兩個(gè)特征值為λ1和λ2,則存在如下3種情況:當(dāng)兩個(gè)曲率都很小時(shí),λ1和λ2的值也很小,即局部自相關(guān)函數(shù)在各方向的變化量都很小,此時(shí),目標(biāo)區(qū)域?yàn)槠教箙^(qū);當(dāng)一個(gè)曲率較大而另一個(gè)曲率較小時(shí),即λ1≥λ2,局部自相關(guān)函數(shù)一個(gè)方向的變化量較大,另一個(gè)方向的變化量較小,此時(shí)目標(biāo)區(qū)域?yàn)椤斑吘墶?;?dāng)兩個(gè)曲率都很大時(shí),對(duì)應(yīng)于特征值λ1和λ2很大,那么局部自相關(guān)函數(shù)沿各個(gè)方向的變化均較大,此時(shí)的目標(biāo)區(qū)域就是“角點(diǎn)”。
為了避免分解自相關(guān)矩陣的特征值,Harris定義了角點(diǎn)響應(yīng)函數(shù)(CRF):
CRF=det(M)-k[trace(M)]2(10)
其中:det(M)=λ1λ2,trace(M)=λ1+λ2,k為經(jīng)驗(yàn)值,建議取0.04~0.06。提取角點(diǎn)時(shí),首先要設(shè)定閾值,當(dāng)角點(diǎn)響應(yīng)函數(shù)的值大于閾值時(shí),就可以確定目標(biāo)點(diǎn)為角點(diǎn)。
Harris角點(diǎn)提取算法簡(jiǎn)單易操作,具有旋轉(zhuǎn)不變性、對(duì)于圖像灰度的仿射變化具有部分的不變性等優(yōu)點(diǎn)[8]。但是Harris角點(diǎn)提取的質(zhì)量很大程度上取決于閾值的設(shè)定,閾值設(shè)定過(guò)大會(huì)丟失一部分角點(diǎn),閾值設(shè)定過(guò)小就會(huì)降低角點(diǎn)的提取效果。另外,角點(diǎn)響應(yīng)函數(shù)中的系數(shù)k具有不確定性,不同的k角點(diǎn)的提取效果不同,如果選擇了合適的k值,這種算法可以獲得不錯(cuò)的提取效果,但合適的k需要多次調(diào)試才能獲得,降低了算法的執(zhí)行效率。
2.1改進(jìn)算法
針對(duì)Harris角點(diǎn)提取算法的不足,文中通過(guò)優(yōu)化角點(diǎn)響應(yīng)函數(shù)來(lái)改進(jìn)。角點(diǎn)響應(yīng)函數(shù)是關(guān)于自相關(guān)矩陣M的2個(gè)特征值的函數(shù),Harris提出的角點(diǎn)響應(yīng)函數(shù)既包含det(M),又包含trace(M),而且引進(jìn)了參數(shù)K,雖然可以很好的提取角點(diǎn),但增加了算法的不穩(wěn)定性。不妨將角點(diǎn)響應(yīng)函數(shù)CRF簡(jiǎn)化為:
CRF=trace(M)=λ1λ2(11)
trace(M)中同時(shí)包含可λ1和λ2,通過(guò)上面的分析得知目標(biāo)點(diǎn)是否為角點(diǎn)可以由λ1和λ2的取值大小來(lái)判斷,所以可以通過(guò)檢測(cè)trace(M)值的大小來(lái)判斷目標(biāo)點(diǎn)是否為角點(diǎn),當(dāng)λ1和λ2都很小時(shí),trace(M)的值也很?。划?dāng)λ1和λ2的值一大一小時(shí),trace(M)的值較小;當(dāng)λ1和λ2的值較大時(shí),trace(M)的值就較大??梢酝ㄟ^(guò)設(shè)定一個(gè)較大的閾值,當(dāng)trace(M)大于設(shè)定的閾值時(shí),就可以確定目標(biāo)點(diǎn)為“角點(diǎn)”。
通過(guò)上述的方法可以很好的將圖像中的角點(diǎn)提取出來(lái),但所提取的角點(diǎn)并非都是攝像機(jī)標(biāo)定所需的黑白棋盤(pán)格的內(nèi)角點(diǎn),此時(shí),需要對(duì)角點(diǎn)進(jìn)行分類,將非內(nèi)角點(diǎn)排除,排除的方法是比較目標(biāo)點(diǎn)24鄰域中的4個(gè)對(duì)角點(diǎn)的像素值,若4個(gè)點(diǎn)的像素2個(gè)較大,2個(gè)較小,則目標(biāo)點(diǎn)就是需要的內(nèi)角點(diǎn),若是其他的情況,則可以排除目標(biāo)點(diǎn)。
2.2算法實(shí)現(xiàn)過(guò)程
由Harris角點(diǎn)提取的基本原理可以得出該算法提取角點(diǎn)的過(guò)程可以歸納為以下5步[9]:
1)分別計(jì)算待檢測(cè)圖像在水平和垂直方向上的梯度Ix和Iy,則M表示為:
2)對(duì)計(jì)算后的圖像進(jìn)行高斯濾波,得到濾波后的M;
3)計(jì)算原圖像上每個(gè)像素點(diǎn)對(duì)應(yīng)的角點(diǎn)響應(yīng)函數(shù)CRF的值;
4)對(duì)求出的CRF進(jìn)行排序?yàn)V波,減小偽角點(diǎn)的影響,便于后面閾值的設(shè)定;
5)設(shè)定合適的閾值,提取角點(diǎn),對(duì)提取的角點(diǎn)進(jìn)行分類,選取出攝像機(jī)標(biāo)定所需的黑白棋盤(pán)格的內(nèi)角點(diǎn)。
本文通過(guò)優(yōu)化Harris角點(diǎn)提取算子的角點(diǎn)響應(yīng)函數(shù),不僅保留了原算法的優(yōu)點(diǎn),還通過(guò)消去參數(shù)K,加強(qiáng)了算法的穩(wěn)定性,提高了角點(diǎn)提取的效率。在對(duì)攝像機(jī)標(biāo)定試驗(yàn)中用到的黑白方格靶標(biāo)進(jìn)行角點(diǎn)提取時(shí),具有較好的應(yīng)用效果。
張正友標(biāo)定法[10]處于傳統(tǒng)的攝像機(jī)標(biāo)定法和攝像機(jī)自標(biāo)定法之間,融合了兩種方法各自的優(yōu)點(diǎn),所以具有較高的精確度,魯棒性好的優(yōu)點(diǎn),同時(shí)又操作簡(jiǎn)便。本文利用此方法來(lái)標(biāo)定單目攝像機(jī),標(biāo)定物選擇了黑白棋盤(pán)格。該方法的標(biāo)定步驟如下所示:
1)打印一張黑白棋盤(pán)方格圖作為標(biāo)靶,將其平整的貼在平面上;
2)改變攝像機(jī)和標(biāo)靶的相對(duì)位置,從不同的角度拍攝多張標(biāo)靶的圖像;
3)提取出每張圖像中的特征點(diǎn),選取棋盤(pán)格的內(nèi)角點(diǎn)作為標(biāo)定點(diǎn);
4)求出每張圖像的平面投影矩陣H;
5)利用矩陣H求解出攝像機(jī)的內(nèi)參數(shù);
6)通過(guò)反投影變換對(duì)標(biāo)定結(jié)果進(jìn)行優(yōu)化,得到更加準(zhǔn)確的標(biāo)定結(jié)果,同時(shí)計(jì)算出攝像機(jī)的畸變系數(shù)。
標(biāo)定過(guò)程的流程圖如圖2所示。
圖2 攝像機(jī)標(biāo)定程序流程圖
整個(gè)實(shí)驗(yàn)使用MATLAB進(jìn)行編程完成,實(shí)驗(yàn)中采用的是USB工業(yè)攝像頭。采用的平面靶標(biāo)是10X12的黑白棋盤(pán)格,每個(gè)格子的長(zhǎng)寬為20X20 mm。標(biāo)定之前首先使用相機(jī)從不同的角度采集20幅圖像,如圖3所示。
4.1提取棋盤(pán)格角點(diǎn)
文中分別使用Harris角點(diǎn)提取算法和改進(jìn)的Harris算法對(duì)五副圖像進(jìn)行角點(diǎn)提取,如表1所示,其中第一幅圖像的提取結(jié)果如圖4和圖5所示。
從圖4中可以看出,原Harris角點(diǎn)提取算法在第一幅圖像中提取了147個(gè)角點(diǎn),其中包括圖像的4個(gè)角點(diǎn)、棋盤(pán)格的外角點(diǎn)和內(nèi)角點(diǎn)等,而只有內(nèi)角點(diǎn)才是攝像機(jī)標(biāo)定所需要的。
圖3 攝像機(jī)采集的圖像
表1 角點(diǎn)提取情況對(duì)比表
圖4 Harris角點(diǎn)算法提取的角點(diǎn)
圖5 改進(jìn)的Harris算法提取的角點(diǎn)
從圖5中看出,改進(jìn)后的Harris角點(diǎn)提取算法同樣具有較好的提取效果,而且不用再考慮參數(shù)K的取值情況,提高了算法的執(zhí)行效率,同時(shí)改進(jìn)算法完全只提取所需的內(nèi)角點(diǎn),而忽略其他類型的角點(diǎn),滿足攝像機(jī)標(biāo)定的需要。由表1的數(shù)據(jù)可以看出改進(jìn)的Harris角點(diǎn)算法能夠準(zhǔn)確的提取標(biāo)定所需的每幅圖的內(nèi)角點(diǎn)。
4.2攝像機(jī)標(biāo)定結(jié)果
使用MATLAB編寫(xiě)張正友攝像機(jī)標(biāo)定程序?qū)崿F(xiàn)上述的標(biāo)定過(guò)程,使用圖(1)所示的20副圖像對(duì)USB攝像機(jī)進(jìn)行標(biāo)定,得到的攝像機(jī)內(nèi)部參數(shù)如表(2)所示。
表2 攝像機(jī)內(nèi)部參數(shù)
在采集圖像的過(guò)程中,攝像機(jī)與棋盤(pán)格的位置一直在變化中,每幅圖像的外參數(shù)矩陣不同,在此列出第一幅圖像的外參數(shù)矩陣:
完成攝像機(jī)內(nèi)外參數(shù)的標(biāo)定后,為了檢驗(yàn)標(biāo)定結(jié)果的精度,利用標(biāo)定結(jié)果對(duì)棋盤(pán)格中的內(nèi)角點(diǎn)的世界坐標(biāo)進(jìn)行計(jì)算,得到對(duì)應(yīng)的圖像中的角點(diǎn)坐標(biāo),將其與提取得到的內(nèi)角點(diǎn)坐標(biāo)進(jìn)行求差,可以得到棋盤(pán)格中內(nèi)角點(diǎn)的重投影偏差,如圖所示,從圖中可以看出,無(wú)論是水平方向,還是垂直方向,重投影偏差總體位于[-0.5-0.5]內(nèi),平均偏差是x=0.198 0,y=0.197 9,均較小。
圖6 重投影偏差分布圖
本文提出了基于改進(jìn)Harris角點(diǎn)提取算法和張正友標(biāo)定技術(shù)的攝像機(jī)標(biāo)定方法。該方法有效地利用了Harris角點(diǎn)提取算法的優(yōu)勢(shì).并對(duì)其不足之處進(jìn)行改進(jìn),提高了Harris角點(diǎn)提取算法的執(zhí)行效率,最后使用張正友標(biāo)定法完成攝像機(jī)的標(biāo)定,實(shí)驗(yàn)結(jié)果表明:本文提出的標(biāo)定算法能夠取得較高的標(biāo)定精度,一定程度上滿足了工業(yè)的需求。
[1]邱茂林,馬頌德,李毅.計(jì)算機(jī)視覺(jué)中攝像機(jī)標(biāo)定綜述[J].自動(dòng)化學(xué)報(bào),2000,26(1):43-55.
[2]Kitchen I.Rosenfei.D A.Gray—level corner detection[J].Pattern Recognition Letters,1982.1(2):95-102.
[3]Li J,Guo S,Ye F,Shape Recognition BasedOn Freeman Chain Code[J].Trans Tech Publications Ltd.2011.317319:2490-6.
[4]Wang H,Brady M.Real—time corner detection algorithm formotion estimation[J].Image and Vision Computing,1995,13(9):695-703.
[5]Harris C,Stephens M.A combined corner and edge detector[A]. Proceedings of the Fourth Alvey Vision Conference[C].Manchester,UK,1998:147-151.
[6]Stephen M,Smith,J.Michael Brady.Susan—A New Approach to Low Level Image Processing[J].International Journal of Computer Vision,1997,23(1):45-78.
[7]Kitchen L,Rosenfeld A.Gray Level Corner Detection[J].Pattern Recognition Letters,1982,3(1):95-102.
[8]蔡勝利,張會(huì)清.基于Harris角點(diǎn)檢測(cè)的圖像旋轉(zhuǎn)測(cè)量.[J].計(jì)算機(jī)測(cè)量與控制,2011,19(1):30-32.
[9]盧英,王慧琴,佟威.基于Harris-張正友平面標(biāo)定法的攝像機(jī)標(biāo)定算法[J].西安建筑科技大學(xué)學(xué)報(bào),2014,46(6):860-864.
[10]Zhang Z Y.Flexible camera calibration by viewing a plane from unknown orientations[A].Proceedings of the IEEE International Conference on Computer Vision[C].Greece,1999:666-673.
Research of Camera Calibration Technique Based on Improved Harris Corner
Cao Bing,Li Wenbo,Zhang Yunbo
(School of Mechanical Engineering,Nanjing University of Science and Technology,Nanjing210094,China)
For traditional Harris corner detection algorithm is sensitive to noise,and low execution efficiency,put forward an improved Harris corner detection method.On the basis of Harris corner detection algorithm,by optimizing the corner response function,remove the coefficient K,improve the execution efficiency of corner detection algorithm.Extract the corner of black and white chessboard by using the improved Harris algorithm and calculate the internal and external parameters of USB camera by using the Zhang zheng-you camera calibration method.The results show that this method can effective to extract the corner of black and white checkerboard,accurate and efficient,improves the precision of the camera calibration and is a feasible camera calibration method.
corner extraction method;checkerboard pattern;camera calibration
1671-4598(2016)05-0213-03
10.16526/j.cnki.11-4762/tp.2016.05.060
TP391
A
2015-11-11;
2015-12-07。
曹兵(1967-),男,河南南陽(yáng)人,副教授,碩士研究生導(dǎo)師,主要從事彈藥工程與爆炸技術(shù)方向的研究。