《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于雙旋轉(zhuǎn)模板的黑白棋盤角點檢測算法
基于雙旋轉(zhuǎn)模板的黑白棋盤角點檢測算法
2014年微型機與應(yīng)用第21期
凌 江
同濟大學(xué) 軟件學(xué)院,上海201804
摘要: 攝像機標(biāo)定技術(shù)已被廣泛地應(yīng)用于三維重建技術(shù)中。針對標(biāo)定時需要手動確認(rèn)角點比較耗時且可能存在誤差的問題,本文提出一種基于雙旋轉(zhuǎn)模板的黑白棋盤角點檢測算法。該算法首先通過Harris算法獲得初始角點,然后通過構(gòu)造旋轉(zhuǎn)模板對獲得的角點進行迭代篩選,最終求解得到符合標(biāo)定要求的角點。實驗證明本文算法不僅具有較高的穩(wěn)定性,還提高了黑白棋盤上有效角點的檢測精度和效率。
Abstract:
Key words :

  摘 要攝像機標(biāo)定技術(shù)已被廣泛地應(yīng)用于三維重建技術(shù)中。針對標(biāo)定時需要手動確認(rèn)角點比較耗時且可能存在誤差的問題,本文提出一種基于雙旋轉(zhuǎn)模板的黑白棋盤角點檢測算法。該算法首先通過Harris算法獲得初始角點,然后通過構(gòu)造旋轉(zhuǎn)模板對獲得的角點進行迭代篩選,最終求解得到符合標(biāo)定要求的角點。實驗證明本文算法不僅具有較高的穩(wěn)定性,還提高了黑白棋盤上有效角點的檢測精度和效率。

  關(guān)鍵詞: 三維重建;攝像機標(biāo)定;黑白棋盤;角點檢測;Harris

0 引言

  三維重建是計算機視覺研究的核心問題之一。按照是否求解攝像機參數(shù),將三維重建分為基于標(biāo)定的[1-2]和基于未標(biāo)定的[3]重建技術(shù)?;谖礃?biāo)定的重建技術(shù)需要通過兩幅或多幅圖像求解攝像機的運動參數(shù)和場景中特征點的三維坐標(biāo),算法較為復(fù)雜?;跇?biāo)定的重建技術(shù)需要提前對攝像機進行標(biāo)定,對設(shè)備要求低,操作簡單,重建效果滿足用戶要求。攝像機標(biāo)定技術(shù)是要精確求解攝像機內(nèi)外參數(shù),從而恢復(fù)二維圖像攜帶的三維場景信息,是三維重建系統(tǒng)的重要模塊,其求解結(jié)果的好壞、精確程度和實時性直接影響整個系統(tǒng)的性能。通常,標(biāo)定過程需要借助標(biāo)定物,如黑白棋盤。針對黑白棋盤的角點檢測技術(shù)對攝像機標(biāo)定工作非常重要,是攝像機標(biāo)定的前提和基礎(chǔ)。所謂角點,就是圖像中灰度變換較大的點。

  黑白棋盤的角點檢測技術(shù)一般用于三維重建中相機標(biāo)定部分,能夠?qū)⑷藗儚姆彪s的手動標(biāo)定工作中解放出來,提高標(biāo)定精度。目前,學(xué)者們已經(jīng)對該技術(shù)進行了大量研究。參考文獻[4]中的Harris角點檢測算法使用灰度的高斯梯度作為響應(yīng)值判斷棋盤格圖像中的角點,該方法簡單有效,但容易受到棋盤角點附近其他高梯度像素點的影響。參考文獻[5]提出了一種自動識別黑白棋盤上角點的角點檢測方法,但當(dāng)遇到復(fù)雜背景時,該方法仍然容易受到非棋盤角點的影響。參考文獻[6]依據(jù)方格邊緣的交點形成角點這一性質(zhì),先對圖像中的邊緣進行檢測,再利用Radon變換確定邊緣的位置,最后通過求取邊緣交點的方法確定角點坐標(biāo)。該方法對邊緣提取算法依賴性較大,容易受到鏡頭畸變情況的影響。

  針對上述問題,本文提出了一種基于雙旋轉(zhuǎn)模板的黑白棋盤角點檢測算法,該算法首先采用Harris算法[7-9]對包含黑白棋盤的圖像進行角點檢測,獲得初步的角點集,通過構(gòu)造雙旋轉(zhuǎn)模板對獲得的角點進行迭代篩選,根據(jù)檢測結(jié)果自適應(yīng)調(diào)節(jié)參數(shù)。該算法具有穩(wěn)定性高、抗噪聲、自適應(yīng)性強等特點,可應(yīng)用于鏡頭存在畸變、實際背景復(fù)雜等特殊的攝像機標(biāo)定情況。

1 本文算法

  1.1 Harris角點檢測算法

  本文算法獲得初始的角點集合由Harris算法獲得,該方法基本原理描述如下:

  首先建立下面矩陣:

  1.png

  其中, I為輸入圖像,G@GGSRSKMPU5`I)$326C3]U.jpg表示圖像I在x方向的導(dǎo)數(shù),missing image file表示圖像I在y方向的導(dǎo)數(shù)。通過分析上面矩陣可以看出,如果一個像素點對應(yīng)的矩陣M的兩個特征值都很大,則在該點向任意方向上的一個很小的移動都會引起灰度值的較大變化,則認(rèn)為該點是一個角點。通過計算如下的響應(yīng)函數(shù)值來判斷角點:

  2.png

  其中,det(.)為取行列式值,trace(.)為取矩陣的跡,k一般設(shè)為0.04。求出R的值,若為正則對應(yīng)點為角點,若為負(fù)則是一般邊界點,當(dāng)其絕對值很小時為平坦區(qū)。

  該算法易受噪聲的影響。為了減小噪聲的干擾,在對圖像進行偏導(dǎo)計算以后用高斯濾波器對數(shù)據(jù)進行平滑。按此方法求出的角點數(shù)量很多。為了減少匹配計算量,可以對想要獲得的角點數(shù)量進行限制。限制方法是確定一個閾值,僅僅選取R值大于這個閾值的點作為角點[7]。Harris算法作為本文算法的第一步,使本文算法具有了旋轉(zhuǎn)不變性、抗噪性等特點。

  1.2 基于雙旋轉(zhuǎn)模板的角點迭代篩選

  當(dāng)用Harris算法進行角點檢測之后,對獲得的點集采用本文提出的基于雙旋轉(zhuǎn)模板的方法進行二次檢測。首先對圖像二維像素(i,j)求解如下兩個函數(shù):

  3.png

  其中,Ii (i=1,2,3,4)表示以O(shè)(i,j)為中心沿著di方向上遍歷的像素灰度值,如圖1。若沿著d1和d4方向上像素點灰度值的累加和與沿著d2和d3方向上像素點灰度值的累加和存在較大的差異,則可認(rèn)為該點為黑白棋盤上的角點。實際應(yīng)用中需要構(gòu)建如下式所示的兩個多階方矩陣:

  4.png

  通過上述兩個矩陣對圖像進行卷積操作,從而獲得兩個集合C1和C2,@(XS7I$KK8I`[D8R_JL[)]R.png由于本文迭代過程中需要對式(4)進行旋轉(zhuǎn)處理,因此稱式(4)為雙旋轉(zhuǎn)模板。

  然后,需要通過自適應(yīng)閾值約束式(3)的結(jié)果,求解最有可能為棋盤上的角點集,自適應(yīng)閾值的計算如下:

  5.png

  mean(.)為求均值函數(shù)。理想的角點必須滿足其對應(yīng)c1值大于T1,同時其對應(yīng)的c2值小于T2。

  本文算法的具體實現(xiàn)步驟為:

 ?、挪捎?.1節(jié)所述的Harris算法對圖像進行角點檢測,獲得初步角點集合S。設(shè)置迭代次數(shù)為t,根據(jù)式(4)構(gòu)造雙旋轉(zhuǎn)模板,模板大小設(shè)為2n+1。

 ?、撇捎秒p旋轉(zhuǎn)模板對圖像中的角點集合S進行卷積操作,獲得滿足自適應(yīng)閾值T1和T2的點集合P。

 ?、侨“霃絩,并合并P中距離相近的角點,最終得到集合Q。

 ?、扰袛嗍欠癯^迭代次數(shù),若未超過迭代次數(shù)則雙旋轉(zhuǎn)模板進行旋轉(zhuǎn)調(diào)整,旋轉(zhuǎn)角度為θ,返回步驟(2);若超過迭代次數(shù)則判斷檢測結(jié)果是否為預(yù)測結(jié)果,即得到的Q中的角點數(shù)量m是否與預(yù)測的相符,若為預(yù)測結(jié)果則轉(zhuǎn)到步驟(6),否則跳到步驟(5)。

  ⑸算法失敗,重新設(shè)置相關(guān)參數(shù)或進行手動角點標(biāo)定。

 ?、仕惴ǔ晒Γ榭葱Ч?。

  本文算法計算簡單,具有較高執(zhí)行效率,一般當(dāng)t≥3時即可得到理想效果,迭代收斂的條件為:Q的角點數(shù)量等于預(yù)測獲得的角點數(shù)量,該數(shù)量可通過黑白棋盤的先驗信息得到。

2 實驗仿真與分析

  本文將在Matlab平臺(CPU Intel雙核主頻2.66 GHz)進行模擬仿真實驗。實驗中使用自制的黑白棋盤格,黑白棋盤格由13×14個方格組成,拍攝的圖像的分辨率為632×471,本文將與手動獲得黑白棋盤角點的方法進行比較。手動獲取黑白棋盤角點多用于以往的攝像機標(biāo)定,其步驟為首先手動確認(rèn)棋盤上4個邊界點,如圖2(a)所示,然后自動生成網(wǎng)格點,如圖2(b)所示,最后通過算法自動校正,如圖2(c)所示。該方法并不屬于角點檢測方法,而且當(dāng)處理多幅圖像時,處理相當(dāng)耗時。

  采用本文算法自動對黑白棋盤格進行角點檢測,主要參數(shù)設(shè)置為:t=3,n=10,m=156,r=5,θ=20。首先進行Harris角點檢測,獲得初始結(jié)果如圖3(a)、(b)所示,然后進行基于雙旋轉(zhuǎn)模板的迭代篩選,最終得到結(jié)果如圖3(c)、(d)所示。通過實驗可知,本文方法與手動標(biāo)定方法結(jié)果一致,其運行穩(wěn)定,效率高。

3 結(jié)論

  本文提出的針對黑白棋盤的角點檢測算法能夠應(yīng)用于立體視覺技術(shù)、三維物體重建等領(lǐng)域的攝像機標(biāo)定過程中,該算法首先采用Harris算法獲得初始角點集,然后構(gòu)造雙旋轉(zhuǎn)模板,通過卷積操作對角點進行迭代篩選,最終得到攝像機標(biāo)定所需的黑白棋盤角點。實驗結(jié)果證明,該算法穩(wěn)定性強,準(zhǔn)確度高,計算量小,具有旋轉(zhuǎn)不變性、抗噪性等優(yōu)勢,可以將研究人員從繁瑣的手動獲取棋盤角點信息的工作釋放出來,具有較強的現(xiàn)實意義。

  參考文獻

  [1] Zhang Zhengyou. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(11):1330-1334.

  [2] 楊幸芳,張夢文,嚴(yán)凱,等. 一種基于參數(shù)約束關(guān)系的工業(yè)相機的線性標(biāo)定法[J]. 微型機與應(yīng)用, 2014,33(11):38-40.

  [3] 趙宏宇,李燕華,侯振杰,等. 基于魯棒估計滅點分層重建的研究[J]. 微型機與應(yīng)用, 2011,30(9): 31-35.

  [4] Harris C, Stephens M. A combined corner and edge detector[C]. Proceedings of the Fourth Alvey Vision Conference. Manchester, 1988: 147-151.

  [5] 劉陽,王福利,常玉清,等. 黑白棋盤格角點檢測算法[J]. 東北大學(xué)學(xué)報(自然科學(xué)版),2007, (8):1090-1093.

  [6] 胡海峰,熊銀根. 一種基于兩次Radon變換檢測棋盤格方格點的新算法[J]. 中山大學(xué)學(xué)報(自然科學(xué)版), 2003, 42(2) : 23- 26.

  [7] 唐爍,繆源. 基于Harris角點的圖像匹配算法[J]. 微型機與應(yīng)用, 2013, 32(2):41-43.

  [8] 羅桂娥,李映. 基于均勻角點匹配的基礎(chǔ)矩陣估計方法[J]. 微型機與應(yīng)用, 2013, 32(7):8-9.

  [9] 熊顯名,任娟娟. 黑白棋盤格中的角點提取算法的研究[J]. 微型機與應(yīng)用, 2014, 33(9):66-69.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。