小優(yōu)智能科技有限公司成立于2015年底,是一家專注于高精度3D機(jī)器視覺模組研發(fā)、生產(chǎn)及銷售的高科技企業(yè)。
公司自主研發(fā)的3D機(jī)器視覺模組采用激光/DLP白光編碼光柵結(jié)構(gòu)光+雙工業(yè)相機(jī)方案,還原物體三維信息,廣泛應(yīng)用于消費(fèi)電子領(lǐng)域、工業(yè)領(lǐng)域和安防領(lǐng)域,具有精度高、速度快、成本低的優(yōu)勢(shì)。
在機(jī)器視覺、圖像測(cè)量、攝影測(cè)量、三維重建等應(yīng)用中,為校正鏡頭畸變,確定物理尺寸和像素間的換算關(guān)系,以及確定空間物體表面某點(diǎn)的三維幾何位置與其在圖像中對(duì)應(yīng)點(diǎn)之間的相互關(guān)系,需要建立相機(jī)成像的幾何模型。通過相機(jī)拍攝帶有固定間距圖案陣列平板、經(jīng)過標(biāo)定算法的計(jì)算,可以得出相機(jī)的幾何模型,從而得到高精度的測(cè)量和重建結(jié)果。而帶有固定間距圖案陣列的平板就是標(biāo)定模板。準(zhǔn)確的進(jìn)行標(biāo)定對(duì)于3D機(jī)器視覺像機(jī)的成功應(yīng)用是非常重要的。標(biāo)定過程中,不同的標(biāo)定方案可供選擇標(biāo)定板也不盡相同。為了方便機(jī)器視覺行業(yè)的從業(yè)人員熟悉了解3D機(jī)器視覺標(biāo)定所采用的標(biāo)定板規(guī)格,本文將對(duì)標(biāo)定板的種類和優(yōu)缺點(diǎn)進(jìn)行介紹。
根據(jù)標(biāo)定板的圖案主要可以分為棋盤格標(biāo)定板,圓點(diǎn)標(biāo)定板和CharuCo標(biāo)定板三類。在選擇任意一類標(biāo)定板時(shí),一個(gè)重要的考慮因素是它的物理尺寸。這關(guān)系到最終應(yīng)用的測(cè)量視野范圍(FOV)。這是因?yàn)橄鄼C(jī)需要在特定的工作距離上標(biāo)定。為了精確的標(biāo)定,當(dāng)相機(jī)視野中,標(biāo)定板需要能夠填充大部分區(qū)域。根據(jù)經(jīng)驗(yàn),當(dāng)正面觀察時(shí),標(biāo)定板的面積至少應(yīng)該是可用像素面積的一半。
確認(rèn)光學(xué)系統(tǒng)的性能,復(fù)原相機(jī)模型的3D空間至2D空間的一一對(duì)應(yīng)關(guān)系。棋盤格標(biāo)定是基于灰度圖像的角點(diǎn)檢測(cè)、基于二值圖像的角點(diǎn)檢測(cè)、基于輪廓曲線的角點(diǎn)檢測(cè)。角點(diǎn)是圖像很重要的特征,對(duì)圖像圖形圖形的理解和分析有很重要的作用。對(duì)灰度圖像、二值圖像、邊緣輪廓曲線的角點(diǎn)檢測(cè)算法進(jìn)行分析并對(duì)各種檢測(cè)得出評(píng)價(jià)。這是最常用的圖案方案。通常通過首先對(duì)3D視覺相機(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)榻腔旧鲜菬o限小的,因此在透視變換或鏡頭失真下是無偏的。
在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ù)行/列的屬性。
2、圓點(diǎn)標(biāo)定板
圓點(diǎn)標(biāo)定板也是一種非常常見的標(biāo)定板圖案方案。它分為白色背景上的黑色圓形,或者是黑色背景上的白色圓形兩種模式。在圖像處理術(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ù)透鏡中,這種誤差非常小。
3、CharuCo標(biāo)定板
常規(guī)的標(biāo)定過程中,都是用棋盤格標(biāo)定板(張正友),棋盤圖案的每個(gè)角都被兩個(gè)黑色方塊圍繞著,可以更精確地細(xì)化,但是棋盤板子有個(gè)問題,就是不能被遮擋,必須是完全可見的。ArUco板子具有快速檢測(cè)和多功能性,然而,ArUco標(biāo)記的一個(gè)問題是,即使經(jīng)過亞像素細(xì)化,它們的角點(diǎn)位置的準(zhǔn)確性也不是很高。所以綜上, ChARUco 板子結(jié)合兩者,如圖:
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í)的非常好的魯棒性。