論文主要思路
廣角相機(jī)以小、輕、經(jīng)濟(jì)高效的外形提供豐富的信息,是移動機(jī)器人的獨(dú)選。內(nèi)部和外部的精確標(biāo)定是使用廣角鏡頭邊緣進(jìn)行深度感知和里程測量的關(guān)鍵先決條件。使用當(dāng)前最先進(jìn)的技術(shù)標(biāo)定廣角鏡頭會產(chǎn)生較差的結(jié)果,這是由于邊緣處的極度失真,因?yàn)榇蠖鄶?shù)算法假設(shè)鏡頭的低到中等失真(更接近針孔投影)。
在這項(xiàng)工作中,作者提出了精確廣角標(biāo)定的方法。論文的pipelines生成一個(gè)中間模型,并利用它迭代改進(jìn)特征檢測,最終改進(jìn)相機(jī)參數(shù)。作者測試了三種利用中間相機(jī)模型的關(guān)鍵方法:(1)將圖像分解為虛擬針孔相機(jī),(2)將目標(biāo)重新投影到圖像幀中,以及(3)自適應(yīng)亞像素細(xì)化。將自適應(yīng)子像素細(xì)化和特征重投影相結(jié)合,可將重投影誤差顯著提高26.59%,幫助檢測到最多42.01%的特征,并提高密集深度映射下游任務(wù)的性能。
最后,TartanCalib是開源的,并在一個(gè)易于使用的標(biāo)定工具箱中實(shí)現(xiàn)。作者還提供了一個(gè)translation 層和其它最先進(jìn)的工作,允許使用數(shù)千個(gè)參數(shù)回歸通用模型或使用更穩(wěn)健的求解器。為此,TartanCalib是廣角標(biāo)定的首選工具!
帶有廣角鏡頭的攝像機(jī)以緊湊的外形放大了移動機(jī)器人的視野(FOV),由于較大的視野帶來更多的視覺特征,因此該功能為關(guān)鍵任務(wù)(如視覺里程計(jì)和深度mapping)提供了許多好處。然而,為了充分利用具有高失真水平的圖像區(qū)域,必須仔細(xì)標(biāo)定。通常,通過向相機(jī)顯示已知的標(biāo)定目標(biāo)來獲得標(biāo)定參數(shù),然后將其用于估計(jì)相機(jī)模型的內(nèi)參和多相機(jī)系統(tǒng)的外參。與普通鏡頭不同,廣角鏡頭由于圖像的高度失真,會帶來一些特殊挑戰(zhàn):
(1) 由于極端的透鏡畸變,魯棒且準(zhǔn)確地檢測標(biāo)定目標(biāo)的視覺特征是具有挑戰(zhàn)性的;
(2) 可用的相機(jī)模型可能不太適合廣角鏡頭,先前的工作主要集中在獲得更合適的相機(jī)模型[1]、[2]、[3]、[4],或找到更好的程序來擬合相機(jī)模型[5]、[6]、[7]、[8]。
因此,大多數(shù)公開可用的工具僅在廣角透鏡的中間區(qū)域提供可接受的標(biāo)定結(jié)果,其中畸變適中,使大多數(shù)高度畸變的邊界區(qū)域無法使用。為了使更多的圖像區(qū)域可用并有效地探索廣角鏡頭邊界附近嵌入的視覺信息,我們需要更好的標(biāo)定,以提供改進(jìn)的內(nèi)部和外部參數(shù)估計(jì)。
主要?jiǎng)?chuàng)新點(diǎn)
這里,論文專注于高失真區(qū)域中的精確和魯棒目標(biāo)檢測,如圖1所示,現(xiàn)有技術(shù)的目標(biāo)標(biāo)定pipelines[10]、[11]、[1]在高失真的情況下出現(xiàn)故障。這些標(biāo)定pipelines的兩個(gè)關(guān)鍵程序,目標(biāo)檢測和特征細(xì)化,依賴于低到中等失真的假設(shè)或接近針孔相機(jī)的相機(jī)投影。
這些假設(shè)在廣角鏡頭的情況下被違反,尤其是在圖像邊界附近。結(jié)果是,許多特征要么沒有被檢測到,要么沒有以準(zhǔn)確的方式被檢測到。對于那些稀疏檢測到的邊界特征,由于特征細(xì)化方法在高失真區(qū)域的性能不佳,它們的像素位置往往不準(zhǔn)確。
上述問題惡化了估計(jì)的相機(jī)模型的質(zhì)量,并限制了廣角鏡頭的邊界區(qū)域的可用性。在這項(xiàng)工作中,作者提出了一個(gè)迭代標(biāo)定pipelines(圖2),它由三個(gè)核心元素組成:
(1)原始圖像的不失真;
(2)使用中間相機(jī)模型將目標(biāo)重新投影到圖像幀中;
(3)基于重新投影的目標(biāo)尺寸的自適應(yīng)子像素細(xì)化;
對于本文的方法,作者開發(fā)了兩種新的亞像素特征細(xì)化方法,以促進(jìn)在高度失真區(qū)域中的精確目標(biāo)檢測,從而在廣角鏡頭的邊界區(qū)域中實(shí)現(xiàn)更好的整體標(biāo)定。貢獻(xiàn)包括:
1)一種新的廣角鏡頭標(biāo)定方法,使用迭代目標(biāo)重投影和自適應(yīng)亞像素細(xì)化;
2)使用傳統(tǒng)的質(zhì)量指標(biāo)(如再投影誤差)以及與移動機(jī)器人相關(guān)的一些下游任務(wù),展示了pipelines的優(yōu)勢;
3)將論文的pipelines展示為一個(gè)開源易用的軟件包,稱之為“TartanCalib”。
使用論文的方法,發(fā)現(xiàn)了高達(dá)42.01%的更多特征,并降低了高達(dá)26.59%的總體再投影誤差。整個(gè)pipelines是開源的,可以很容易地集成到Kalibr中!
領(lǐng)域背景
Camera Models
典型的標(biāo)定程序需要為鏡頭選擇參數(shù)化或通用相機(jī)模型,并在標(biāo)定過程中估計(jì)模型參數(shù)。有許多模型是專門為廣角鏡頭設(shè)計(jì)的,因?yàn)樗鼈兊耐队芭c低失真相機(jī)有很大不同。一些更常見的模型是雙球體模型[2]、Kannala Brandt模型[4]和視場模型[3]。參數(shù)化模型通常只有幾個(gè)自由度,與一般模型相比,它們的參數(shù)更容易估計(jì),但在精度上提供了折衷。
通用模型有更多的參數(shù),旨在更準(zhǔn)確地表示透鏡幾何結(jié)構(gòu),已經(jīng)表明,這些模型具有顯著更低的再投影誤差[1]。可以區(qū)分非中心通用模型和通用模型。中心通用模型[12]、[13]假設(shè)所有觀測線都在投影中心相交,而非中心通用模型則不作此假設(shè)[14]、[15]。
通常,非中心通用模型表現(xiàn)更好,但部署起來可能更復(fù)雜(例如,在不知道像素深度的情況下,不可能對針孔圖像進(jìn)行失真)。論文的工具箱TartanCalib支持參數(shù)化和通用相機(jī)模型,以實(shí)現(xiàn)最佳標(biāo)定。
Calibration Toolboxes
由于幾何相機(jī)標(biāo)定是許多機(jī)器視覺應(yīng)用的重要先決條件,因此開發(fā)了許多標(biāo)定工具箱([8], [16], [17])。著名的計(jì)算機(jī)視覺軟件包OpenCV[18]有自己的廣角鏡頭標(biāo)定支持,并支持棋盤目標(biāo)。OcamCalib[8]是另一個(gè)眾所周知的工具箱,專門使用(精度較低的[10],[19])棋盤靶進(jìn)行標(biāo)定。
最近,BabelCalib[5]被提出,其魯棒優(yōu)化策略是關(guān)鍵優(yōu)勢。然而,最常用的標(biāo)定工具箱是Kalibr[9],它易于使用,可以檢索具有多種相機(jī)模型和目標(biāo)的多個(gè)相機(jī)的內(nèi)參和外參。在這項(xiàng)工作中,TartanCalib作為一個(gè)易于使用的工具箱集成到Kalibr[9]中。除了Kalibr,TartanCalib還支持使用BabelCalib作為求解器,以及通常更精確的通用模型[1]。
模式設(shè)計(jì)與特征檢測
目標(biāo)檢測是標(biāo)定pipelines的關(guān)鍵功能之一,到目前為止,最常用的標(biāo)定目標(biāo)是棋盤[18]、點(diǎn)圖案[20]和AprilTags[10]。點(diǎn)圖案容易受到透視和鏡頭畸變的影響,而棋盤格在僅部分觀察時(shí)往往會失敗,這使得標(biāo)定廣角鏡頭極為困難。一些研究人員建議使用新的模式,如三角形特征[19]、[1]來增加梯度信息,但這些模式通常對廣角(魚眼)鏡頭邊緣的高失真不夠魯棒。
在[1]中,作者使用單個(gè)AprilTag來確定自定義目標(biāo)的姿態(tài),并假設(shè)單應(yīng)性作為相機(jī)模型,將目標(biāo)重新投影到圖像幀上。對于高失真廣角鏡頭,這種方法有三個(gè)基本問題:(1)使用單個(gè)AprilTag不夠穩(wěn)健;(2)使用單應(yīng)性作為目標(biāo)重投影的相機(jī)模型會產(chǎn)生重投影誤差,從而無法恢復(fù)真實(shí)的目標(biāo)位置;(3) 所使用的細(xì)化方法對于AprilTags(和棋盤)是不穩(wěn)定的。
受[1]的啟發(fā),我們提出了一種為AprilTags網(wǎng)格設(shè)計(jì)的pipelines,TartanCalib采用迭代過程,這使得可以使用相對精確的中間相機(jī)模型而不是單應(yīng)性,將目標(biāo)點(diǎn)重新投影到圖像幀中,此外,作者提出了兩種新的自適應(yīng)亞像素細(xì)化方法,以優(yōu)異的亞像素精度獲得更多檢測到的特征!
預(yù)備工作
相機(jī)模型
相機(jī)模型通常由投影和反投影函數(shù)組成。投影函數(shù)π:? → Θ將3D點(diǎn)投影到圖像坐標(biāo),它的反投影函數(shù):將圖像坐標(biāo)反投影到單位球體上,3D點(diǎn)的投影可以描述為π(x,i),其中x是3D空間中的點(diǎn),i是相機(jī)模型的參數(shù)集。類似地,反投影函數(shù)表示為,其中u是圖像空間中的坐標(biāo)。
標(biāo)定方法
TartanCalib(圖2)背后的高級思想是通過利用中間相機(jī)模型來改進(jìn)目標(biāo)檢測,迭代優(yōu)化相機(jī)模型,迭代包括幾個(gè)關(guān)鍵組件,將在下面的部分中詳細(xì)介紹。這些組件包括無失真、目標(biāo)重投影,角點(diǎn)濾波和亞像素細(xì)化。標(biāo)定目標(biāo)的視覺特征表現(xiàn)為corner 特征,可以互換地將corners稱為目標(biāo)特征。
在廣角相機(jī)標(biāo)定中改進(jìn)目標(biāo)檢測的一種直觀方法是將圖像分解為多個(gè)針孔重投影,這種方法應(yīng)該可以消除高度失真目標(biāo)造成的一些困難。為了消除圖像失真,論文對一個(gè)虛擬針孔相機(jī)進(jìn)行建模,它有四個(gè)參數(shù)i=[fx,fy,cx,cy],投影函數(shù)定義為:
其中fx和fy是焦距,cx和cy是主點(diǎn)的像素坐標(biāo)。通過首先將針孔像素坐標(biāo)反投影到S^2空間,然后將這些點(diǎn)重新投影回扭曲的圖像幀,可以創(chuàng)建虛擬針孔相機(jī)。查詢扭曲幀中該位置的像素位置,并將其替換回針孔圖像,以獲得未失真的圖像。
目標(biāo)重新投影
雖然undistortion 減少了鏡頭失真,但由于透視失真和其它視覺偽影(如運(yùn)動模糊),可能仍然無法檢測到目標(biāo)。如[1]所述,可以重新投影已知目標(biāo)坐標(biāo)返回到圖像幀中,而沒有實(shí)際檢測到目標(biāo)。作者表明,單應(yīng)性可以用于此目的,等式2顯示了如何使用相機(jī)模型將點(diǎn)從目標(biāo)坐標(biāo)(xt)重新投影到圖像坐標(biāo)(ut)。
這里,Ttar是從目標(biāo)幀到相機(jī)幀的變換,xt是目標(biāo)幀中的坐標(biāo),x是相機(jī)幀中的向量。
Corner Filtering
雖然使用中間相機(jī)模型將目標(biāo)重新投影到圖像幀中可能會產(chǎn)生一些精確的估計(jì),但不確定是否所有目標(biāo)都在幀中可見。因此,需要一個(gè)過濾策略,只保留框架中出現(xiàn)的特征(角點(diǎn)),論文通過以下步驟實(shí)現(xiàn)穩(wěn)健過濾:
1)在所有檢測到的四邊形(檢測到的正方形)上循環(huán);
2)檢查每個(gè)四邊形的所有4個(gè)角是否都接近重新投影的目標(biāo)corner;
3)對所有corner執(zhí)行亞像素細(xì)化;
亞像素細(xì)化
需要亞像素細(xì)化來將使用中間模型重新投影的特征轉(zhuǎn)換為與圖像中所見的角點(diǎn)實(shí)際匹配的特征,論文提出了兩種算法:1) 對OpenCV的cornerSubPix()函數(shù)的簡單修改[21],以及2) 一種專門為高失真透鏡設(shè)計(jì)的基于對稱的細(xì)化方法。
1) Adaptive cornerSubPix():cornerSubPix()計(jì)算搜索窗口內(nèi)的圖像梯度,以便向corner迭代收斂。為此,搜索窗口的大小是一個(gè)關(guān)鍵的超參數(shù):如果 搜索窗口太小,算法可能永遠(yuǎn)找不到角點(diǎn),而大窗口會產(chǎn)生不準(zhǔn)確的結(jié)果,甚至?xí)諗康搅硪粋€(gè)角點(diǎn)。窗口大小通常是一個(gè)固定的參數(shù),對于不同的圖像分辨率或失真級別不會改變,圖1展示了當(dāng)窗口大小選擇不當(dāng)時(shí)產(chǎn)生的問題。在這項(xiàng)工作中,論文介紹了cornerSubPix()的自適應(yīng)版本,它根據(jù)圖像幀中的標(biāo)簽外觀來更改窗口大小。
等式3顯示了如何確定調(diào)整大小窗口的大小,該算法將所有目標(biāo)特征重新投影到圖像幀中,并針對每個(gè)特征在圖像幀中找到其最近的鄰居。然后,根據(jù)等式3,我們使用該信息來縮放搜索窗口。
2)基于對稱的細(xì)化:[1]的作者首次提出通過優(yōu)化基于對稱的成本函數(shù)來細(xì)化標(biāo)定目標(biāo)檢測,原始成本函數(shù)如等式4所示:
這里H是從目標(biāo)幀到圖像幀的單應(yīng)性,其中目標(biāo)幀中的中心是正在細(xì)化的特征,sk和?sk是目標(biāo)幀中的兩個(gè)樣本,其被定義為使得原點(diǎn)對應(yīng)于特征位置。然后,作者使用Levenberg-Marquardt方法優(yōu)化H,以最小化Csym。作者表明,使用deltille網(wǎng)格、棋盤格及其自定義目標(biāo),該方法是最精確的細(xì)化方法。
他們的自定義目標(biāo)由單個(gè)AprilTag組成,以確定目標(biāo)平面和圖像平面之間的單應(yīng)性,圖像平面由多個(gè)星形特征點(diǎn)包圍。使用單個(gè)AprilTag確定的單應(yīng)性用于對每個(gè)特征進(jìn)行單應(yīng)性的初始猜測,因此,重要的是,被標(biāo)定的相機(jī)的行為與針孔相機(jī)的行為有些接近。
因此,這種方法對于低失真到中等失真是有效的,因?yàn)橥队敖咏鼏螒?yīng)性。然而,對于真正的超寬鏡頭,所提出的方法失敗有兩個(gè)原因:(1)未檢測到單個(gè)AprilTag,以及(2)單應(yīng)性假設(shè)導(dǎo)致細(xì)化過程失敗,作者提出了一個(gè)改進(jìn)的版本,優(yōu)化了一個(gè)修改的基于對稱的目標(biāo)函數(shù),如等式5所示:
這里,xt是特征在目標(biāo)空間中的位置,即使用Ttar變換到相機(jī)幀,并使用投影函數(shù)π投影到圖像幀。該方程中的所有步驟都是可微的,論文使用它直接優(yōu)化目標(biāo)幀中的特征位置,由此,利用中間模型來檢索更高質(zhì)量的對稱樣本和更好的初始估計(jì)。
Results
評估Metrics
在本節(jié)中,作者評估了一些指標(biāo),以便將TartanCalib與其它最先進(jìn)的特征檢測和幾何相機(jī)標(biāo)定方法進(jìn)行比較。評估幾何相機(jī)標(biāo)定具有挑戰(zhàn)性,因?yàn)樘卣鳈z測和相機(jī)幾何不存在gt。傳統(tǒng)上用于幾何相機(jī)標(biāo)定的度量是重投影誤差,尤其是在比較不同模型或優(yōu)化例程時(shí)。
當(dāng)特征相同時(shí),這只是一個(gè)合適的度量,因?yàn)椴煌奶卣鞣植紩a(chǎn)生完全不同的優(yōu)化問題。后面將看到,TartanCalib在整個(gè)圖像中帶來了更多檢測到的特征,特別是在高度失真的區(qū)域,實(shí)現(xiàn)了其設(shè)計(jì)目的。如果相機(jī)模型不夠復(fù)雜,無法擬合畸變區(qū)域中所有檢測到的特征,則重投影誤差可能更高。
這一觀察表明,使用再投影誤差作為度量是不合適的。盡管如此,給出了重投影誤差以供參考,而論文使用其它定量度量,以顯示來自TartanCalib的檢測特征的準(zhǔn)確性和覆蓋率具有更高的質(zhì)量。
Feature Detection
考慮的第一個(gè)指標(biāo)是檢測到的特征數(shù)量及其在球坐標(biāo)中的覆蓋范圍。在本節(jié)中,我們將去畸變和目標(biāo)重投影視為檢索更多特征的方法,并將其與AprilTag檢測的最新方法進(jìn)行比較。
1)去畸變:在廣角相機(jī)標(biāo)定中改進(jìn)目標(biāo)檢測的直觀方法是將圖像undistortion為多個(gè)針孔投影,這個(gè)想法是通過迭代地將圖像分解為五個(gè)針孔投影來評估的。第一個(gè)平面指向相機(jī)框架的正z方向(主軸),而其它投影指向90°的極角。方位角從零開始,每個(gè)平面遞增90°,五個(gè)平面一起形成一個(gè)立方體。與圖2相對應(yīng),未失真的針孔投影用于迭代改進(jìn)相機(jī)模型,為了量化未失真的效果,將之前收集的Lensagon BF5M圖像進(jìn)一步采樣為包含100幀的子集。然后,使用TartanCalib將廣角圖像迭代地undistortion為針孔投影,在這個(gè)實(shí)驗(yàn)中,undistortion產(chǎn)生了額外的5%-10%的特征。
2)重投影:雖然多了5%-10%的特征是一個(gè)顯著的改進(jìn),但它并不能解決鏡頭邊緣特征太少的問題。將特征從目標(biāo)幀重新投影到圖像幀中,如第IV-B節(jié)所述!對于本實(shí)驗(yàn),使用了第V-B節(jié)中描述的數(shù)據(jù)集,每次評估500張圖像,圖4顯示了所考慮的各種方法檢測到的特征的分布。
TartanCalib與其它最先進(jìn)的AprilTag檢測器進(jìn)行了比較,分別是:(1)Kalibr,(2)Deltille[19],(3)AprilTag3(AT3)[10],[22],AprilTags的C++實(shí)現(xiàn),最初由Michael Kaess博士編寫,以及(4)ArUco標(biāo)簽檢測器[23],[24],[25]。表I顯示了使用每種方法檢測到的特征的數(shù)量,而表II顯示了按polar angle排序的檢測到特征的數(shù)量。
結(jié)果表明,TartanCalib對鏡頭畸變最為魯棒,在Lensagon BF5M魚眼鏡頭的邊緣記錄了更多的特征。GoPro(圖中未顯示)的結(jié)果顯示檢測到的特征在所有模型中大致相同。作者將其原因歸結(jié)為,使用較小的視場進(jìn)行標(biāo)定挑戰(zhàn)性小得多。
亞像素細(xì)化
在本節(jié)中,作者比較了兩種新穎的亞像素細(xì)化策略,并表明基于對稱的細(xì)化對于AprilTags的網(wǎng)格來說太不穩(wěn)定了。[1]的作者部署了低到中等失真的透鏡,并在deltille網(wǎng)格和棋盤上測試了基于對稱的細(xì)化,特別是在高失真區(qū)域,細(xì)化似乎與特征不對齊。圖5顯示了為什么對稱性不適合使用AprilTags進(jìn)行特征細(xì)化。
該圖顯示存在許多局部優(yōu)化,因此需要高質(zhì)量的初始估計(jì)。圖像幀中目標(biāo)位置的初始估計(jì)可能相差幾個(gè)像素(如圖1所示),因此可能收斂到局部最優(yōu)值。因此,生成的特征與模型更好地匹配,但在高失真區(qū)域與現(xiàn)實(shí)世界中的特征不匹配。因此,論文假設(shè)自適應(yīng)cornerSubPix()產(chǎn)生更穩(wěn)定的特征,第V-E節(jié)對該假設(shè)進(jìn)行了更詳細(xì)的研究。
在標(biāo)定特征上的對比
重投影誤差
幾何相機(jī)標(biāo)定中最廣泛使用的誤差度量是重投影誤差,給定估計(jì)的目標(biāo)姿態(tài)和相機(jī)模型,可以將特征重新投影回目標(biāo)幀中,并將其與檢測到的corners進(jìn)行比較。如上所述,這不是一個(gè)特別有用的度量,因?yàn)椴煌姆椒ㄝ敵龅奶卣鞣植蓟旧喜煌ɡ纾琓artanCalib在鏡頭邊緣具有更多的特征)。
重投影誤差不僅是特征的函數(shù),還取決于相機(jī)模型擬合鏡頭幾何形狀的能力。論文進(jìn)行了一個(gè)簡單的實(shí)驗(yàn),以表明TartanCalib可以改善重投影誤差,表IV顯示了使用TartanCalib時(shí)的顯著改善。
審核編輯:劉清
-
機(jī)器視覺
+關(guān)注
關(guān)注
161文章
4369瀏覽量
120282 -
OpenCV
+關(guān)注
關(guān)注
31文章
634瀏覽量
41338 -
FOV
+關(guān)注
關(guān)注
0文章
36瀏覽量
5871
原文標(biāo)題:最新代碼開源!TartanCalib:自適應(yīng)亞像素細(xì)化的廣角鏡頭標(biāo)定
文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論