胡釗政 ,李 娜,夏克文
(1.武漢理工大學(xué)ITS研究中心,湖北 武漢 430063;2.河北工業(yè)大學(xué)信息工程學(xué)院,天津 300401)
透視三點(diǎn)問(wèn)題(Perspective-Three-Point, P3P)是計(jì)算機(jī)視覺(jué)與攝影測(cè)量學(xué)領(lǐng)域經(jīng)典問(wèn)題,在目標(biāo)定位、測(cè)量、虛擬現(xiàn)實(shí)、姿態(tài)估計(jì)等方向有重要和廣泛的應(yīng)用價(jià)值。P3P問(wèn)題定義為:已知攝像機(jī)內(nèi)參數(shù)矩陣,給定三點(diǎn)(又稱控制點(diǎn))在某參考坐標(biāo)系的相對(duì)位置及其圖像對(duì)應(yīng)點(diǎn),計(jì)算三控制點(diǎn)到攝像機(jī)光心的距離[1-14]。P3P是n點(diǎn)透視問(wèn)題(PnP)中的其中一類問(wèn)題,即n=3的情況。與其他PnP問(wèn)題想比,P3P所需輸入最少,應(yīng)用更廣泛。自其被提出以來(lái),一直受到研究者們的重視。目前針對(duì)P3P問(wèn)題的研究主要集中在兩個(gè)方面:即P3P問(wèn)題的具體解法與P3P問(wèn)題解的分布情況。例如,P3P問(wèn)題可以轉(zhuǎn)化成以控制點(diǎn)距離為未知元的三組三元二次方程組的求解問(wèn)題[1],進(jìn)而可以轉(zhuǎn)成一元四次方程的求解問(wèn)題[2]。Xu等[3]提出P3P問(wèn)題的遞歸解法,Li和Xu等[4-5]提出P3P問(wèn)題的穩(wěn)定解法。許多學(xué)者研究了P3P存在多解的一般性條件。例如,Wolfe等[6]給出了P3P多解現(xiàn)象的幾何解釋,并指出P3P最多可以有4個(gè)不同的解,但大多數(shù)情況下有兩個(gè)解。蘇成和徐迎慶[7]給出了判斷P3P正解數(shù)目的充要條件。張彩霞和胡占義[8-9]討論了危險(xiǎn)圓柱的情況。Gao等[10-11]運(yùn)用Wu-Ritt零點(diǎn)分解方法研究P3P多解問(wèn)題。Wu和Hu[12]通過(guò)計(jì)算旋轉(zhuǎn)矩陣與平移矢量來(lái)求解P3P問(wèn)題。符德林和馬文鵬[13]擴(kuò)展了P3P問(wèn)題多解的判別條件適用范圍。文中提出了透視三點(diǎn)問(wèn)題貝葉斯新解法(Bayesian Perspective-Three- Point, BP3P),為P3P問(wèn)題的求解與分析提供了一條新的途徑。算法不僅能求解P3P問(wèn)題,還能對(duì)其解的分布情況進(jìn)行分析。該算法將P3P問(wèn)題轉(zhuǎn)化成支撐平面計(jì)算問(wèn)題。支撐平面的計(jì)算可以利用三控制點(diǎn)產(chǎn)生的角度,長(zhǎng)度比例等約束條件,通過(guò)貝葉斯理論轉(zhuǎn)化成最大似然概率估計(jì)問(wèn)題。算法通過(guò)搜索高斯半球面來(lái)計(jì)算最大似然概率,確定支撐平面結(jié)構(gòu)信息,完成P3P問(wèn)題的求解,并對(duì)P3P多解現(xiàn)象進(jìn)行分析。文中還將三控制點(diǎn)約束推廣至一般性平面幾何約束,實(shí)現(xiàn)單視圖視覺(jué)定位,使所提的視覺(jué)定位算法具有較好的通用性。
文中定義支撐平面(Support Plane)為三控制點(diǎn)所唯一確定的平面。針對(duì)支撐平面與P3P問(wèn)題,有如下引理。
引理1確定支撐平面(即平面法向量和距離已知)是求解P3P問(wèn)題的充要條件。
證明:a)必要條件證明
根據(jù)P3P問(wèn)題的定義,每個(gè)控制點(diǎn)應(yīng)滿足如下約束條件:
其中,第一個(gè)公式表示反向投影射線(見(jiàn)圖1所示虛線),它可以通過(guò)控制點(diǎn)對(duì)應(yīng)的圖像與攝像機(jī)內(nèi)參數(shù)矩陣K計(jì)算[14]。其中,λ為尺度因子。第二個(gè)公式表示控制點(diǎn)與攝像機(jī)光心之間的距離。若P3P問(wèn)題已解,則控制點(diǎn)距離已知。通過(guò)式(1)可計(jì)算控制點(diǎn)三維坐標(biāo),并唯一確定支撐平面。必要條件得證。
圖1 控制點(diǎn)X,圖像點(diǎn)x,支撐平面(N, d)與攝像機(jī)坐標(biāo)系之間的幾何關(guān)系
b)充分條件證明
每個(gè)控制點(diǎn)同時(shí)在其反向投影射線與支撐平面上,因此滿足:
其中,N與d分別為支撐平面對(duì)應(yīng)的單位法向量與距離(見(jiàn)圖1)。若已知支撐平面,則可通過(guò)上式計(jì)算控制點(diǎn)三維坐標(biāo),并計(jì)算控制點(diǎn)與攝像機(jī)光心之間的距離,從而求解P3P問(wèn)題。充分條件得證。
引理2P3P問(wèn)題的多解對(duì)應(yīng)為支撐平面的多解。
證明:若P3P問(wèn)題存在多解對(duì)應(yīng)為支撐平面的多解,即每組解對(duì)應(yīng)不同的支撐平面。
通過(guò)上述兩個(gè)引理,可將P3P問(wèn)題轉(zhuǎn)化成支撐平面求解問(wèn)題。下文將提出BP3P算法來(lái)求解支撐平面。
假定小孔成像攝像機(jī)模型,根據(jù)射影幾何理論,空間平面與其圖像之間幾何關(guān)系可以用單應(yīng)矩陣來(lái)描述[14]:
舊時(shí)史書(shū)和方志的這種編纂方式,自有它存在的合理性,今人也不用過(guò)多苛責(zé),但這一體例有與生俱來(lái)的重大缺陷,也就是人物形象的類型化,語(yǔ)言表述的格套化,對(duì)此,在方志學(xué)素有心得的章學(xué)誠(chéng)也清醒地意識(shí)到這個(gè)問(wèn)題:“行皆曾、史,學(xué)皆程、朱,文皆馬、班,品皆夷、惠,魚(yú)魚(yú)鹿鹿,何以辨真?zhèn)卧??”?]《修志十議》,844“稱許之間,漫無(wú)區(qū)別,學(xué)皆伏、鄭,才盡班、揚(yáng),吏必龔、黃,行惟曾、史。且其文字之體,尤不可通,或如應(yīng)酬膚語(yǔ),或如案牘文移,泛填排偶之辭,間雜帖括之句,循名按實(shí),開(kāi)卷茫然?!保?]《永清縣志闕訪列傳序例》,776
其中,x與X分別為平面上的點(diǎn)與其對(duì)應(yīng)的圖像點(diǎn)(以齊次坐標(biāo)表示),單應(yīng)矩陣為一3×3的滿秩矩陣。若已知單應(yīng)矩陣,則可以通過(guò)圖像點(diǎn)來(lái)計(jì)算該點(diǎn)在平面上的坐標(biāo)。根據(jù)計(jì)算出來(lái)的坐標(biāo)值,可以進(jìn)一步計(jì)算出平面上的諸如長(zhǎng)度、角度、面積、曲率等更多的幾何屬性。單應(yīng)矩陣可以通過(guò)攝像機(jī)內(nèi)參數(shù)矩陣與平面結(jié)構(gòu)信息(平面法向量與距離)計(jì)算得到。計(jì)算方法可參考Liebowitz和Zisserman[15]提出的分層重建方法或Zhang[16]提出的基于世界坐標(biāo)系設(shè)定方法。需要指出的是,如果平面法向量已知而平面距離未知,可假設(shè)平面距離為單位一,這樣計(jì)算出來(lái)的物理平面上的坐標(biāo)值及長(zhǎng)度等幾何屬性與真實(shí)值在相差一個(gè)比例因子下相等。但是一些幾何屬性如角度、長(zhǎng)度比例等與真實(shí)值相等(參考分層重建理論中的相似重建與歐氏重建的區(qū)別[14])。若平面法向量已知,則可以利用參考長(zhǎng)度確定平面距離(見(jiàn)后文所述)。因此,在平面法向量計(jì)算中主要考慮諸如角度,長(zhǎng)度比例這些在相似變換中保持恒定的幾何屬性。因?yàn)镻3P問(wèn)題中攝像機(jī)內(nèi)參數(shù)已知,因此這些平面幾何屬性的計(jì)算完全依賴于平面法向量。從而,可以用Q(N)來(lái)表示從給定法向量N計(jì)算出來(lái)的平面幾何屬性。
通過(guò)控制點(diǎn)坐標(biāo)可計(jì)算三段線段長(zhǎng)度(即點(diǎn)與點(diǎn)之間的距離),記為Di(i=1, 2, 3)。根據(jù)3個(gè)距離可計(jì)算三組長(zhǎng)度比例:
同樣的,亦可通過(guò)余弦公式計(jì)算得到3個(gè)角度。這三組長(zhǎng)度比例與3個(gè)角度可以通過(guò)P3P問(wèn)題的已知條件直接計(jì)算得到,因此它們是場(chǎng)景先驗(yàn)知識(shí)。利用這六組先驗(yàn)知識(shí)可對(duì)支撐平面產(chǎn)生六組幾何約束,其數(shù)學(xué)表達(dá)如下:
Qi(N)表示從平面法向量N計(jì)算得到的第i個(gè)平面幾何屬性值,ui為上述長(zhǎng)度比例或角度,它們的差值di(N)定義為平面法向量N對(duì)應(yīng)的校正誤差。迫使校正誤差為零,即可對(duì)支撐平面的法向量產(chǎn)生約束。
將平面法向量計(jì)算轉(zhuǎn)化為最大化條件概率問(wèn)題。即給定六組幾何約束,計(jì)算產(chǎn)生最大條件概率的平面法向量,其數(shù)學(xué)表達(dá)如下:
直接求解式(6)較困難,可利用貝葉斯公式將式(6)轉(zhuǎn)化為:
假設(shè)各幾何約束之間條件獨(dú)立,可將上式進(jìn)一步轉(zhuǎn)化成:
為了對(duì)似然概率進(jìn)行準(zhǔn)確的建模,提出了以下3個(gè)基本準(zhǔn)則:
(1)校正誤差決定準(zhǔn)則。似然概率隨著絕對(duì)校正誤差增加而降低。當(dāng)校正誤差為零,則似然概率應(yīng)取得最大值;
(2)幾何約束對(duì)等性準(zhǔn)則。若所有的幾何約束被完全滿足時(shí)(即校正誤差為零),應(yīng)產(chǎn)生相等的似然概率;
(3)歸一化準(zhǔn)則。即考慮到幾何約束的表達(dá)形式、單位、尺度等差異,應(yīng)將校正誤差進(jìn)行歸一化處理。
基于上述準(zhǔn)則,提出利用歸一化高斯函數(shù)似然概率建模方法,其數(shù)學(xué)表達(dá)如下:
其中,校正誤差用式(5)中ui(非零值)進(jìn)行歸一化以滿足準(zhǔn)則三。不難發(fā)現(xiàn),式(10)可以滿足準(zhǔn)則一。為了滿足準(zhǔn)則二,所有幾何約束應(yīng)所對(duì)應(yīng)的高斯函數(shù)應(yīng)取相同的均方差,即σi=σj=σ,實(shí)際應(yīng)用中可根據(jù)需求選擇合適的均方差。從而有:
將式(11)代入式(9)可得:
將式(12)代入式(6)可得:
文中采取全局搜索算法來(lái)求解式(13)。因?yàn)槿S空間中單位法向量對(duì)應(yīng)為三維高斯球面(Gaussian Sphere)上的一點(diǎn),以此可將搜索區(qū)間確定為高斯球面??紤]到只有在攝像機(jī)前面的目標(biāo)才能出現(xiàn)在圖像中(即深度值為正的約束),可將搜索區(qū)間減半,在高斯半球面上搜索(Gaussian Hemisphere)。具體實(shí)現(xiàn)如下:首先在高斯半球面上均勻抽樣[17],每一個(gè)抽樣點(diǎn)都對(duì)應(yīng)一單位法向量。然后利用式(13)計(jì)算每個(gè)抽樣點(diǎn)對(duì)應(yīng)的似然概率,最后計(jì)算出最大似然概率對(duì)應(yīng)的平面法向量即為支撐平面的法向量。需要指出的是,最大似然搜索能獲得P3P的一個(gè)解,如果要獲得P3P問(wèn)題的多解,則需對(duì)計(jì)算出來(lái)的似然概率圖進(jìn)行相應(yīng)的分析(見(jiàn)實(shí)驗(yàn)部分相關(guān)討論)。
若平面法向量已知,可假定平面距離為單位一,在相差一個(gè)尺度因子β下計(jì)算控制點(diǎn)三維坐標(biāo):
比較式(14)與(2)可知:X=βX′,且β為支撐平面的距離。利用任意兩控制點(diǎn)的實(shí)際距離Di,可計(jì)算尺度因子β:
其中,為從式(14)計(jì)算的三維坐標(biāo)得到的兩個(gè)控制點(diǎn)之間的距離。確定尺度因子β,即可計(jì)算控制點(diǎn)實(shí)際距離完成P3P問(wèn)題求解。
可以將BP3P算法推廣用以處理更一般的幾何約束,實(shí)現(xiàn)對(duì)平面目標(biāo)的準(zhǔn)確定位。實(shí)際上,文中算法僅要求場(chǎng)景的幾何約束可以表達(dá)成式(5)的形式,就可以利用所提算法計(jì)算支撐平面,進(jìn)行三維定位。例如,算法可以利用已知的角度,長(zhǎng)度比例,甚至更一般性的幾何約束條件,通過(guò)歸一化高斯函數(shù)來(lái)對(duì)似然概率建模,計(jì)算最大似然概率,求解平面法向量。因此,三控制點(diǎn)僅是幾何約束條件中的一個(gè)特例。除三控制點(diǎn)幾何約束之外,算法可以處理更為一般性的幾何約束,具有較好的通用性??紤]到實(shí)際環(huán)境中幾何約束的多樣性,文中所提BP3P算法具有更好的實(shí)用性與靈活性。
文中設(shè)計(jì)了三組實(shí)驗(yàn)來(lái)對(duì)所提BP3P算法進(jìn)行驗(yàn)證。第一組實(shí)驗(yàn)中,考慮到計(jì)算結(jié)果如平面法向量與控制點(diǎn)距離的基準(zhǔn)值(Ground Truth)很難獲取,文中采用Zhang[16]標(biāo)定算法中所用到的標(biāo)定模板作為支撐平面,通過(guò)在平面上隨機(jī)選擇3個(gè)不共線的網(wǎng)格點(diǎn)作為三控制點(diǎn)(見(jiàn)圖2中Δ標(biāo)記所示)。選擇標(biāo)定模板的主要原因有二:
圖2 在平面網(wǎng)格中隨機(jī)選擇3個(gè)非共線控制點(diǎn)X1, X2, X3
(1)可以準(zhǔn)確地標(biāo)定出攝像機(jī)的內(nèi)參數(shù),并將其作為P3P問(wèn)題所需的部分輸入條件;
(2)可以將標(biāo)定結(jié)果的攝像機(jī)外參數(shù)(如旋轉(zhuǎn)矩陣和平移矢量)作為基準(zhǔn)值,對(duì)計(jì)算結(jié)果進(jìn)行驗(yàn)證。利用Nikon Coolpix 4100數(shù)碼相機(jī)從不同角度和位置拍攝標(biāo)定模板的照片。部分圖像如圖3所示,圖像分辨率為1600×1200(像素)。利用Zhang[16]平面模板標(biāo)定算法計(jì)算得到攝像機(jī)焦距為4175.2,主點(diǎn)位置在 [874, 677]T(單位皆為像素)。
圖3 平面網(wǎng)格模板在不同位置與角度下拍攝的圖像
首先用文中BP3P算法計(jì)算支撐平面在不同圖像中的法向量。在高斯半球上抽取200×400個(gè)采樣點(diǎn)來(lái)離散化搜索區(qū)間,通過(guò)搜索最大似然概率來(lái)計(jì)算平面法向量,并將其與基準(zhǔn)值進(jìn)行比較。用計(jì)算得到的法向量與基準(zhǔn)法向量之間的夾角來(lái)表示法向量計(jì)算誤差。計(jì)算結(jié)果見(jiàn)表1所示。其中,第二行與第三行分別為文中算法計(jì)算得到的支撐平面單位法向量和從攝像機(jī)標(biāo)定結(jié)果中計(jì)算出來(lái)的基準(zhǔn)值,第四行為兩個(gè)法向量對(duì)應(yīng)的角度誤差。從表1計(jì)算結(jié)果可以得到:四幅圖像中計(jì)算出來(lái)的法向量與基準(zhǔn)值最大誤差為0.33°,平均誤差為0.25°,表明計(jì)算結(jié)果較穩(wěn)定和準(zhǔn)確。
表1 支撐平面法向量計(jì)算結(jié)果
根據(jù)表1中計(jì)算出來(lái)的法向量,通過(guò)任意兩個(gè)控制點(diǎn)之間的實(shí)際距離作為參考長(zhǎng)度來(lái)計(jì)算支撐平面的距離,從而確定支撐平面。最后利用式(2)來(lái)計(jì)算每一個(gè)控制點(diǎn)在攝像機(jī)坐標(biāo)系的三維坐標(biāo)Xi(i=1,2,3),最后計(jì)算控制點(diǎn)在四幅圖像中與攝像機(jī)關(guān)心的距離。計(jì)算結(jié)果見(jiàn)表2所示。表2中分別用表示文中算法計(jì)算的距離與距離基準(zhǔn)值,并用表示距離計(jì)算誤差。根據(jù)表2中結(jié)果可得:控制點(diǎn)與攝像機(jī)光心的距離分布在1.0~2.2m之間,距離最大計(jì)算誤差為0.8cm,平均誤差為0.4cm。這些計(jì)算結(jié)果表明BP3P算法具有較好的精度和穩(wěn)定性。
表2 控制點(diǎn)與攝像機(jī)光心的距離計(jì)算結(jié)果(cm)
實(shí)驗(yàn)中還利用BP3P算法來(lái)分析與求解P3P多解問(wèn)題。如引理2所述,P3P多解對(duì)應(yīng)為支撐平面的多解??紤]一個(gè)包含兩個(gè)解的P3P問(wèn)題[6],利用BP3P算法進(jìn)行展示。如圖4所示,圖4(a)為原始圖像,圖4(b)為從6個(gè)幾何約束計(jì)算得到的似然概率圖。圖中用灰度值表示似然概率,灰度值越大,似然概率越大。從圖中可以明顯觀察到似然概率有兩個(gè)峰值區(qū)域。圖4(c)為對(duì)似然概率圖進(jìn)行分析的結(jié)果。利用閾值將似然概率圖進(jìn)行分割以凸顯似然概率最大的30個(gè)平面法向量的位置,可以發(fā)現(xiàn)它們分布于兩個(gè)區(qū)域。在兩個(gè)區(qū)域中分別計(jì)算局部最大似然概率,可以求解支撐平面法向量的兩組解,分別為[0.0699-0.8883 0.4540]T,[-0.0917 0.8019 0.5904]T。它們?cè)谒迫桓怕蕡D中對(duì)應(yīng)的位置見(jiàn)“+”所標(biāo)記。根據(jù)計(jì)算的兩組平面法向量,可以獲得P3P問(wèn)題的兩組解。因此,BP3P算法不僅可以求解P3P問(wèn)題,同時(shí)還能對(duì)其多解情況進(jìn)行分析。
圖4 利用BP3P算法分析P3P的多解問(wèn)題
第二組實(shí)驗(yàn)中,對(duì)BP3P算法進(jìn)行推廣,利用一般性幾何約束實(shí)現(xiàn)視覺(jué)定位。如圖5所示,圖5(a)為利用Nikon D700拍攝的原始圖像數(shù)據(jù),圖像分辨率為2218×1416,攝像機(jī)的焦距為1369.0(單位皆為像素)??紤]到實(shí)際場(chǎng)景中有各種各樣的幾何約束,實(shí)驗(yàn)中很難對(duì)它們進(jìn)行一一探討,因此文中采用兩種代表性的幾何約束(即已知的角度與長(zhǎng)度約束)對(duì)算法進(jìn)行驗(yàn)證。實(shí)際上,很多特定的幾何約束也可以進(jìn)一步轉(zhuǎn)化成角度或者長(zhǎng)度的形式(如上文所討論的P3P問(wèn)題)。如圖5(b)所示,通過(guò)墻面上標(biāo)準(zhǔn)A4紙上點(diǎn)與線之間的關(guān)系得到三組幾何約束:即L1與L2,L3與L4之間的夾角,以由M1,M2和M3,M4所確定的線段長(zhǎng)度比例(見(jiàn)圖5(b)所示)。算法首先利用這三組約束條件來(lái)求解A4紙所在平面的單位法向量。
圖5 一般性幾何約束用于視覺(jué)定位
如圖6所示,圖6(a)~(c)分別表示3個(gè)幾何約束所產(chǎn)生的似然概率圖,其中圖像灰度值越大表示似然概率越大。從圖6(a)~(c)可以觀察到:三組幾何約束產(chǎn)生的似然概率是非均勻分布,并且各個(gè)約束對(duì)應(yīng)的概率分布圖皆不相同。圖6(d)表示三組幾何約束產(chǎn)生的聯(lián)合似然概率,在圖右下角可很明顯觀察到一個(gè)極大概率分布區(qū)域。圖6(e)顯示似然概率最大的30個(gè)平面法向量對(duì)應(yīng)位置,可以觀察到它們共同分布在一狹小區(qū)域(見(jiàn)白色所標(biāo)記的區(qū)域)。圖6(f)顯示了似然概率最大的平面法向量所在的位置(用‘+’標(biāo)記),其對(duì)應(yīng)的平面法向量為 [0.0993 0.1679 0.9808]T。
圖6 利用BP3P算法從三組一般性幾何約束條件計(jì)算平面法向量
以A4紙長(zhǎng)度(圖7中P1~P2距離)作為參考值計(jì)算實(shí)際平面距離,然后計(jì)算平面上點(diǎn)的三維坐標(biāo)。實(shí)驗(yàn)中,從六組線段中抽取一定數(shù)目的點(diǎn)進(jìn)行定位。此外,還對(duì)A4紙的4個(gè)頂點(diǎn)進(jìn)行定位(見(jiàn)圖中所標(biāo)記P1~P4四點(diǎn))。它們?cè)跀z像機(jī)坐標(biāo)系中對(duì)應(yīng)的三維坐標(biāo)如圖7所示。利用A4紙張的標(biāo)準(zhǔn)尺寸(210mm×297mm)對(duì)算法計(jì)算結(jié)果進(jìn)行驗(yàn)證。利用計(jì)算出來(lái)的三維坐標(biāo)計(jì)算P2~P3,P3~P4,以及P1~P4之間的距離,分別為206.7mm, 294.6mm, 211.8mm。與A4紙張的標(biāo)準(zhǔn)尺寸比較,絕對(duì)誤差分別為 3.3mm, 2.4mm,1.8mm,對(duì)應(yīng)的相對(duì)誤差水平分別為1.6%,0.8%,0.9%。這些結(jié)果表明計(jì)算結(jié)果較準(zhǔn)確,所提BP3P算法能被推廣,用以處理一般性幾何約束,實(shí)現(xiàn)準(zhǔn)確的視覺(jué)定位。
圖7 平面點(diǎn)三維定位結(jié)果(mm)(P1~P4為A4紙4個(gè)角點(diǎn))
第三組實(shí)驗(yàn)中,對(duì)BP3P進(jìn)一步推廣與驗(yàn)證,利用一般性幾何約束實(shí)現(xiàn)室內(nèi)環(huán)境下的視覺(jué)定位。室內(nèi)尺寸為6.5m×6.5m,其中墻上所掛白板平面的高度為1.2m。如圖8(a)所示,左圖為利用Coolpix 4100數(shù)碼相機(jī)拍攝的原始圖像數(shù)據(jù),圖像分辨率為2248×1712,攝像機(jī)的焦距為2356.7(單位皆為像素)。從場(chǎng)景中選取已知的三組長(zhǎng)度比例及3個(gè)角度作為一般性幾何約束條件。其中,三組長(zhǎng)度比例分別由圖中4個(gè)點(diǎn)(見(jiàn)圖中Δ標(biāo)記)所確定的長(zhǎng)度定義。3個(gè)角度為三條虛線(如圖所示)所確定,分別為90°, 90°, 0°。這些約束條件產(chǎn)生的似然概率如圖8(b)所示,采用的高斯面分辨率為200×400。通過(guò)搜索最大似然概率,計(jì)算對(duì)應(yīng)的平面法向量為[-0.5030.112-0.857]T(見(jiàn)圖8(a)中‘+’所標(biāo)記的位置)。而通過(guò)場(chǎng)景中的平行線等信息計(jì)算出來(lái)的平面法向量為[- 0.5000.092-0.861]T[14]。兩者之間的夾角誤差僅為1.2°,表明了文中所提的算法具有較好的精度與實(shí)用性。
圖8 利用一般性幾何約束進(jìn)行室內(nèi)視覺(jué)定位
針對(duì)計(jì)算機(jī)視覺(jué)領(lǐng)域經(jīng)典的P3P問(wèn)題,文中提出了P3P問(wèn)題的貝葉斯新解法(BP3P),為P3P問(wèn)題的求解與分析提供了一條新的途徑。首先證明支撐平面是求解P3P問(wèn)題的充要條件,提出了基于貝葉斯的支撐平面計(jì)算方法,將平面法向量估計(jì)問(wèn)題轉(zhuǎn)化成最大似然概率問(wèn)題。利用高斯函數(shù)來(lái)對(duì)幾何約束進(jìn)行似然概率建模,在高斯半球面上搜索最大似然概率,確定支撐平面。用實(shí)驗(yàn)對(duì)算法進(jìn)行驗(yàn)證,結(jié)果表明BP3P算法可以準(zhǔn)確求解P3P問(wèn)題并分析其多解現(xiàn)象。在一米至兩米距離之內(nèi),平面法向量與距離平均計(jì)算誤差分別為0.25°和0.4cm。實(shí)驗(yàn)中,BP3P算法還被推廣用以處理一般性幾何約束,實(shí)現(xiàn)對(duì)平面目標(biāo)的準(zhǔn)確定位,從而使所提的視覺(jué)定位算法具有較好的通用性。研究結(jié)果具有一定的理論與應(yīng)用價(jià)值。
[1]Fischler M, Bolles R.Random sample consensus [J].Communications of the ACM, 1981, 24(6): 381-395.
[2]Long Quan, Lan Zhongdan.Linear N≥4 point camera pose determination [J].IEEE Transaction on Pattern Analysis and Machine Intelligence, 1999, 21(8):774-780.
[3]Xu De, Li You, Tan Min.A general recursive linear method and unique solution pattern design for the perspective-n-point problem [J].Image and Vision Computation, 2008, 26(6): 740-750.
[4]Li Shiqi, Xu Chi.A stable direct solution of perspective-three-point problem [J].International Journal of Pattern Recognition and Artificial Intelligence, 2011, 25(11): 627-642.
[5]Li Shiqi, Xu Chi, Xie Ming.A Robust O(n) solution to the perspective-three-point problem [J].IEEE Transaction on Pattern Analysis and Machine Intelligence, 2012, 34(7): 1444-1450.
[6]Wolfe W, Mathis D, Sklair C, Magee M.The perspective view of 3 Points [J].IEEE Transaction on Pattern Analysis and Machine Intelligence, 1991, 13(1):66-73.
[7]蘇 成, 徐迎慶.判斷P3P正解數(shù)目的充要條件[J].計(jì)算機(jī)學(xué)報(bào), 1998, 21(12): 1085-1095.
[8]Zhang Caixia, Hu Zhanyi.Why is the danger cylinder dangerous in the P3P problem? [J].Acta Automatica Sinica, 2006, 32(4): 504-511.
[9]張彩霞, 胡占義.P3P問(wèn)題的多解現(xiàn)象的概率研究[J].軟件學(xué)報(bào), 2007, 18(9): 2100-2104.
[10]Gao Xiaoshan, Hou Xiaorong, Tang Jianliang, Cheng Hangfei.Complete solution classification for the perspective-three-point problem [J].IEEE Transaction on Pattern Analysis and Machine Intelligence, 2003,25(8): 930-943.
[11]湯建良.一類P3P問(wèn)題方程系統(tǒng)的零點(diǎn)分解[J].數(shù)學(xué)的實(shí)踐與認(rèn)識(shí), 2004, 34(8): 124-127.
[12]Wu Yihong, Hu Zhanyi.PnP problem revisited [J].Journal of Mathematical Imaging and Vision, 2006,24(1): 131-141.
[13]符德林, 馬文鵬.P3P問(wèn)題多解條件的補(bǔ)充研究[J].計(jì)算機(jī)工程與應(yīng)用, 2011, 47(2): 179-181.
[14]Hartley R, Zisserman A.Multiple view Geometry in Computer vision (2nd Edition) [M].Cambridge, UK:Cambridge University Press, 2004.
[15]Liebowitz D, Zisserman A.Metric rectification for perspective images of planes [C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 1998: 482-488.
[16]Zhang Zhengyou.A flexible new technique for camera calibration [J].IEEE Transaction on Pattern Analysis and Machine Intelligence, 2000, 22(11): 1330-1334.
[17]Leopardi P.A partition of the unit sphere into regions of equal area and small diameter [J].Electronic Transactions on Numerical Analysis, 2006, 25(12):309-327.