熱線電話:0755-23712116
郵箱:contact@shuangyi-tech.com
地址:深圳市寶安區(qū)沙井街道后亭茅洲山工業(yè)園工業(yè)大廈全至科技創(chuàng)新園科創(chuàng)大廈2層2A
各種標(biāo)定板的解釋和分析。
準(zhǔn)確標(biāo)定相機(jī)對(duì)于所有的機(jī)器/計(jì)算機(jī)視覺的成功應(yīng)用都是非常重要的。然而,對(duì)于標(biāo)定板,有不同的模式可供選擇。為了方便進(jìn)行選擇,本文將解釋每種方法的主要好處。
標(biāo)定板的選擇,有CharuCo,棋盤格,不對(duì)稱的圓和棋盤格。
標(biāo)定板尺寸
在選擇標(biāo)定板時(shí),一個(gè)重要的考慮因素是它的物理尺寸。這最終關(guān)系到最終應(yīng)用的測(cè)量視場(chǎng)(FOV)。這是因?yàn)橄鄼C(jī)需要聚焦在特定的距離上標(biāo)定。改變焦距長度會(huì)輕微地影響對(duì)焦距離,這會(huì)影響之前的標(biāo)定。即使是光圈的改變通常也會(huì)對(duì)標(biāo)定的有效性產(chǎn)生負(fù)面影響,這就是為什么要避免改動(dòng)它們。
為了精確的標(biāo)定,當(dāng)攝像機(jī)看到標(biāo)定目標(biāo)填充大部分圖像時(shí),攝像機(jī)模型最好是受到約束的。通俗來說,如果使用一個(gè)小的標(biāo)定板,許多相機(jī)參數(shù)的組合可以解釋所觀察到的圖像。根據(jù)經(jīng)驗(yàn),當(dāng)正面觀察時(shí),標(biāo)定板的面積至少應(yīng)該是可用像素面積的一半。
標(biāo)定板類型
多年來已經(jīng)引入了不同的標(biāo)定板,每種標(biāo)定板都有獨(dú)特的屬性和好處。
要選擇正確的類型,首先要考慮使用哪種算法和算法實(shí)現(xiàn),它們有各自的優(yōu)點(diǎn)和局限性。
棋盤格
這是最流行、最常見的圖案設(shè)計(jì)。通常通過首先對(duì)攝像機(jī)圖像進(jìn)行二值化并找到四邊形(黑色的棋盤區(qū)域)來找到棋盤角點(diǎn)的候選點(diǎn)。過濾步驟只保留那些滿足特定大小標(biāo)準(zhǔn)的四邊形,并組織在一個(gè)規(guī)則的網(wǎng)格結(jié)構(gòu)中,網(wǎng)格結(jié)構(gòu)的尺寸與用戶指定的尺寸匹配。
在對(duì)標(biāo)定板進(jìn)行初步檢測(cè)后,可以以非常高的精度確定角點(diǎn)位置。這是因?yàn)榻?數(shù)學(xué)上:鞍點(diǎn))基本上是無限小的,因此在透視變換或鏡頭失真下是無偏的。
例如在OpenCV中,整個(gè)棋盤必須在所有圖像中可見才能被檢測(cè)到。這通常使得從圖像的邊緣獲取信息變得困難。這些區(qū)域通常是很好的信息來源,因?yàn)樗鼈冞m當(dāng)?shù)丶s束了鏡頭失真模型。
在檢測(cè)出棋盤格后,可以進(jìn)行亞像素細(xì)化,以找到具有亞像素精度的鞍點(diǎn)。這利用了給定角點(diǎn)位置周圍像素的確切灰度值,并且精度比整數(shù)像素位置所允許的精度要精確得多。
關(guān)于棋盤格目標(biāo)的一個(gè)重要細(xì)節(jié)是,為了保持旋轉(zhuǎn)不變,行數(shù)必須是偶數(shù),列數(shù)必須是奇數(shù),或者相反。例如,如果兩者都是偶數(shù),則存在180度旋轉(zhuǎn)的歧義。對(duì)于單臺(tái)相機(jī)的校準(zhǔn),這不是一個(gè)問題,但如果相同的點(diǎn)需要由兩個(gè)或更多的相機(jī)識(shí)別(對(duì)于立體校準(zhǔn)),這種模糊性必須不存在。這就是為什么我們的標(biāo)準(zhǔn)棋盤目標(biāo)都具有偶數(shù)/奇數(shù)行/列的屬性。
圓形網(wǎng)格
圓形網(wǎng)格也是一種流行且非常常見的校準(zhǔn)目標(biāo)設(shè)計(jì),它基于圓形,或者是白色背景上的白色圓形,或者是白色背景上的黑色(黑色)圓形。在圖像處理術(shù)語中,圓可以被檢測(cè)為圖像中的“斑點(diǎn)”。在這些二元斑點(diǎn)區(qū)域上應(yīng)用一些簡(jiǎn)單的條件,如面積、圓度、凸度等,可以去除候選的壞特征點(diǎn)。
在找到合適的候選對(duì)象后,再次利用特征的規(guī)則結(jié)構(gòu)對(duì)模式進(jìn)行識(shí)別和過濾。圓的確定可以非常精確,因?yàn)榭梢允褂脠A外圍的所有像素,減少了圖像噪聲的影響。然而,與棋盤中的鞍點(diǎn)不同的是,在相機(jī)視角下,圓形被成像為橢圓。這種觀點(diǎn)可以通過圖像校正來解釋。然而,未知的鏡頭畸變意味著圓不是完美的橢圓,這增加了一個(gè)小的偏置。然而,我們可以將畸變模型看作是分段線性的(服從透視變換/單應(yīng)性),因此在大多數(shù)透鏡中,這種誤差非常小。
對(duì)稱圓網(wǎng)格和非對(duì)稱圓網(wǎng)格的一個(gè)重要區(qū)別是,對(duì)稱圓網(wǎng)格具有180度的模糊性,正如“棋盤”一節(jié)中所解釋的那樣。因此,對(duì)于立體校正,非對(duì)稱網(wǎng)格是必要的。否則,這兩種類型的性能都不會(huì)有太大的差別。
CharuCo
CharuCo標(biāo)定板克服了傳統(tǒng)棋盤的一些限制。然而,它們的檢測(cè)算法有點(diǎn)復(fù)雜。幸運(yùn)的是,CharuCo檢測(cè)是OpenCVs contrib庫的一部分(從OpenCV 3.0.0開始),這使得集成這個(gè)高級(jí)方法非常容易。
CharuCo的主要優(yōu)點(diǎn)是所有光檢查器字段都是唯一編碼和可識(shí)別的。這意味著即使是部分遮擋或非理想的相機(jī)圖像也可以用于校準(zhǔn)。例如,強(qiáng)烈的環(huán)形光可能會(huì)對(duì)標(biāo)定目標(biāo)產(chǎn)生不均勻的光照(半鏡面反射區(qū)域),這將導(dǎo)致普通棋盤格檢測(cè)失敗。使用CharuCo,剩余的(好的)鞍點(diǎn)檢測(cè)仍然可以使用。鞍點(diǎn)定位可以像棋盤一樣使用亞像素檢測(cè)來細(xì)化。
對(duì)于接近圖像角落的觀察區(qū)域,這是一個(gè)非常有用的屬性。由于目標(biāo)的定位使得攝像機(jī)只能看到它的一部分,所以我們可以從攝像機(jī)圖像的邊緣和角落收集信息。這通常會(huì)帶來確定鏡頭失真參數(shù)時(shí)的非常好的魯棒性。因此,我們強(qiáng)烈推薦使用CharuCo標(biāo)定板,OpenCV 3.x是可用的。
自然,CharuCo目標(biāo)可以用于立體校準(zhǔn)。在這種情況下,需要執(zhí)行一些代碼來找到在每個(gè)攝像頭中單獨(dú)檢測(cè)到的點(diǎn),以及在兩個(gè)攝像頭中都檢測(cè)到的點(diǎn)(交點(diǎn))。