CVPR2023 | 如何設(shè)計(jì)一個(gè)更快更魯棒的P3P求解器?(3)
本文提取直線的幾種方法對(duì)比
直接法速度最快,但伴隨矩陣法最穩(wěn)定。實(shí)踐中推薦用伴隨矩陣法。
5.2 與SOTA方法對(duì)比5.2.1 數(shù)值穩(wěn)定性圖4:高斯核平滑直方圖,在無(wú)噪聲數(shù)據(jù)上運(yùn)行 100,000 次運(yùn)行的旋轉(zhuǎn)和平移誤差之和。測(cè)量估計(jì)和GT之間誤差的 L1 范數(shù)。
可以看到所有方法的都是數(shù)值穩(wěn)定的。Nakano(rp)表示帶root polishing(利用Gauss-Newton方法優(yōu)化根),該方法更多的分布在小誤差范圍。
表2:誤差的平均值、中位數(shù)和最大值。粗體表示最好的結(jié)果
本文提出的求解器在均值誤差和最大誤差上的性能最好,而Nakano(rp)求解器在中值誤差上的性能最好。請(qǐng)注意,基于四次的求解器包含的失敗案例,在此實(shí)驗(yàn)中是刪除了的。
5.2.2 解的對(duì)比表3:與SOTA求解器對(duì)比
本文的求解器優(yōu)于現(xiàn)有的方法。對(duì)于幾乎所有的試驗(yàn),都能找到好的解和GT,沒(méi)有重復(fù)或錯(cuò)誤的解。基于四次方程的Ke等人和Kneip等人的方法有很多重復(fù)解和錯(cuò)誤解。因?yàn)樗麄冇昧怂拇畏匠痰乃?個(gè)根(忽略虛部)來(lái)找到可能的估計(jì),提高找到GT的可能性是可以的,但會(huì)損失其效率,因?yàn)閷?shí)踐中每個(gè)假設(shè)需要用RANSAC進(jìn)行評(píng)估。Nakano求解器用的虛部閾值過(guò)濾不必要的復(fù)根,但結(jié)果沒(méi)有本文的方法好。Ke等人與Kneip等人的方法也能夠用類似的閾值過(guò)濾四次方程的根,從而減少重復(fù)和錯(cuò)誤解。
5.2.3 運(yùn)行時(shí)間對(duì)比表4:平均運(yùn)行時(shí)間對(duì)比,次嘗試,每個(gè)嘗試100次
基于三次方程的求解器比基于四次方程的要更高效,所提出的求解器比SOTA方法快15.4%,加速主要原因有兩個(gè):
- 基于相對(duì)位置和判別式的分析,可以快速選擇三次方程的穩(wěn)定根,根據(jù)判別式的符號(hào)可以避免沒(méi)必要的計(jì)算。
- 從退化圓錐曲線中恢復(fù)直線的方法比Persson等人的方法更高效。 本文用C++復(fù)現(xiàn)的Nakano方法比原始的MATLAB實(shí)現(xiàn)慢,可能是用了不同的矩陣計(jì)算庫(kù)導(dǎo)致的。
Persson等人的方法在沒(méi)有解的情況下,其判別式非常接近于0。這是因?yàn)榕袆e式為0對(duì)應(yīng)于圖3中的(d)-(h)這些臨界情況,由于浮點(diǎn)數(shù)的舍入誤差和數(shù)值不穩(wěn)定性,這些情況下很難恢復(fù)運(yùn)動(dòng)參數(shù)。本文發(fā)現(xiàn)大多數(shù)失敗案例是(d)和(f)的情形,(e)(g)(h)很少發(fā)生。
與危險(xiǎn)圓柱的關(guān)系圖5:危險(xiǎn)圓柱是指三個(gè)3D點(diǎn)A,B,C為圓形環(huán)繞點(diǎn)的圓柱,其軸垂直于ABC平面
之前有工作指出,如果光心位于危險(xiǎn)圓柱的表面,則P3P問(wèn)題的解不穩(wěn)定。本文發(fā)現(xiàn)危險(xiǎn)圓柱會(huì)導(dǎo)致判別式,即對(duì)應(yīng)于圖3中的臨界情形。
5 總結(jié)本文重新審視了 P3P 問(wèn)題,特別是研究了基于兩個(gè)圓錐曲線相交的解法,類似于 Persson 和 Nordberg的方法。通過(guò)分析可能的解的集合并明確枚舉極端情況,能夠設(shè)計(jì)一個(gè)快速穩(wěn)定的 P3P 算法。實(shí)驗(yàn)表明,與以前的方法相比,本文的求解器更魯棒且更快。
局限性本文的方法基于研究?jī)蓚€(gè)圓錐曲線的實(shí)交點(diǎn)。然而,P3P 問(wèn)題是特殊的,因?yàn)榻鈶?yīng)該是正實(shí)數(shù)。三次方程可能有更多的約束,不幸的是,本文沒(méi)有發(fā)現(xiàn)一個(gè)很好的方法來(lái)做到這一點(diǎn)。請(qǐng)注意,式(4) 和 (5) 可以用同倫延拓來(lái)求解,該方法擅長(zhǎng)解決大規(guī)模平方系統(tǒng)。但對(duì)于 P3P 問(wèn)題,本文發(fā)現(xiàn)它不如當(dāng)前基本上閉式的求解器有效。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。