?
背景知識
運(yùn)動模糊
釣寒江雪整理
?
Figure 1 水平方向運(yùn)動模糊50像素(圖像已經(jīng)縮?。?/p>
Figure 2 水平方向運(yùn)動模糊10像素(圖像已經(jīng)縮小)
Figure 3 軟件模擬水平方向運(yùn)動模糊5像素(圖像已經(jīng)縮?。?/p>
Figure 4 軟件模擬無運(yùn)動模糊(圖像已經(jīng)縮?。?/p>
Figure 5 軟件模擬運(yùn)動模糊對比(圖像無縮放,左上:無運(yùn)動模糊,右上:運(yùn)動模糊5像素,左下:運(yùn)動模糊10像素,右下運(yùn)動模糊50像素)釣寒江雪整理
Figure 6 軟件模擬運(yùn)動模糊對比(圖像無縮放,左上:無運(yùn)動模糊,右上:運(yùn)動模糊5像素,左下:運(yùn)動模糊10像素,右下運(yùn)動模糊50像素)釣寒江雪整理
Figure 7 軟件模擬運(yùn)動模糊對比(左上:無運(yùn)動模糊,右上:運(yùn)動模糊5像素,左下:運(yùn)動模糊10像素,右下運(yùn)動模糊50像素)釣寒江雪整理
Figure 8 運(yùn)動模糊(左30毫秒,右50毫秒)
Figure 9 運(yùn)動模糊(左10毫秒,右30毫秒)
?
?
?
圖像配準(zhǔn)
配準(zhǔn)是尋找從一個數(shù)據(jù)集到另一個數(shù)據(jù)集的轉(zhuǎn)換關(guān)系的問題。大部分這類直接形式中,這兩組數(shù)據(jù)集的維度相同(例如,我們配準(zhǔn)3D數(shù)據(jù)到3D數(shù)據(jù)或者2D數(shù)據(jù)到2D數(shù)據(jù)),轉(zhuǎn)換方式有旋轉(zhuǎn),平移,也可能有縮放。好的方法對此類問題非常有用。很多案例中人們希望知道一個在與自己具有相同維度的數(shù)據(jù)集中的目標(biāo)的位姿—世界坐標(biāo)中的位置和方向。例如,我們有一個病人體內(nèi)的MRI(核磁共振)圖像(3D數(shù)據(jù)集),我們希望疊加在真實(shí)病人的畫面上以指導(dǎo)外科手術(shù)。這種情況下,我們希望知道旋轉(zhuǎn),平移,縮放模型,用以將一個圖像疊加在另外一個圖像上(釣寒江雪翻譯)。還有個例子,我們可能有一個2D圖像模板,我們想在一副航拍圖像中找到該模板,我們同樣需要知道旋轉(zhuǎn)平移和縮放關(guān)系,以將一副圖像疊加在另外一個副上。我們可能也使用匹配質(zhì)量打分的方式來表示我們是否建立了正確的匹配關(guān)系。我們使用搜索和發(fā)現(xiàn)位姿恒常性特性來解決此類問題。位姿恒常性是指剛性物體中不同特征集反應(yīng)該物體相同的位姿。結(jié)果,剛性物體配準(zhǔn)問題變得簡單很多,因?yàn)槲覀冎恍枵业揭恍〔糠痔卣鱽砉烙嬑矬w的位姿(釣寒江雪翻譯),且我們能用其他部分來確認(rèn)該位姿。
該問題一個重要的變種是在投影關(guān)系下實(shí)施配準(zhǔn)。這種情況下我們看到一個3D物體的圖像,且需要將該物體配準(zhǔn)到圖像。通常,這個問題能夠用同維度數(shù)據(jù)集配準(zhǔn)的搜索算法來解。這里我們需要借助一種有時被稱為攝像機(jī)恒常性的特性的幫助,攝像機(jī)恒常性意思是圖像中的所有特征在都是同一個攝像機(jī)拍攝的(釣寒江雪翻譯)。攝像機(jī)恒常興意味著,剛性物體到圖像的匹配搜索問題被大大簡化,因?yàn)槲覀冎恍枰恍〈樘卣鱽砉烙嬑矬w的位姿和攝像機(jī)的標(biāo)定,且我們可以用其他剩余的特征來確認(rèn)位姿。
最復(fù)雜的配準(zhǔn)問題是要處理能發(fā)生形變的物體。這種情況下,配準(zhǔn)兩個數(shù)據(jù)集的轉(zhuǎn)換模型是個大家族(譯者注:不只旋轉(zhuǎn),平移,縮放,投影)。搜索特定轉(zhuǎn)換相對而言更加復(fù)雜。配準(zhǔn)可形變土體是醫(yī)療圖像分析的一個核心技術(shù),因?yàn)槿梭w組織可形變且通常在不同的成像模式下對相同的身體部分進(jìn)行成像。
剛性物體配準(zhǔn)
假設(shè)我們有兩個點(diǎn)集,源集與目標(biāo)集。目標(biāo)集是源集的旋轉(zhuǎn),平移及縮放版本,且其中可能有噪點(diǎn)。我們希望計算該旋轉(zhuǎn),平移及縮放量。
這個問題可以直接表達(dá)為公式,如果我們知道到的映射,記為目標(biāo)點(diǎn)集合中某點(diǎn)索引到源集中第i個點(diǎn)(釣寒江雪翻譯)。這種情況下,我們可以計算一個最小二乘方程,最小化
其中s是縮放因子,是旋轉(zhuǎn),是平移。如果目標(biāo)沒有縮放,我們設(shè)s=1。
我們能可以用數(shù)值優(yōu)化的方法解該優(yōu)化問題,雖然該問題有解析解。Horn(1987b)認(rèn)為平移兩可以從中心點(diǎn)恢復(fù),旋轉(zhuǎn)和縮放可以從點(diǎn)集的各類矩中得到。事實(shí)上,這篇文章認(rèn)為如果目標(biāo)是源的旋轉(zhuǎn)平移和縮放版本,點(diǎn)到點(diǎn)的映射關(guān)系無關(guān)緊要。這個案例違背了配準(zhǔn)問題,但是實(shí)際中并不常見。
更普遍地,S是一個從幾何結(jié)構(gòu)中采樣到的點(diǎn)集,T是一個從相同結(jié)構(gòu)的旋轉(zhuǎn)平移縮放版本中采樣的的點(diǎn)集。例如,S可能是物體的集合模型,T是通過立體重構(gòu)或者激光測距的方式獲得。另一個例子,S和T可能是從不同的3D圖像解剖結(jié)構(gòu)數(shù)據(jù)集中通過特征檢測齊獲得。不同例子中,我們相信S是T的旋轉(zhuǎn)平移及縮放版。但是T中的點(diǎn)未必對應(yīng)S中的點(diǎn)。更糟糕,采樣過程意味著我們無法準(zhǔn)確估計矩。所以Horn的算法不行。還有糟糕的事情,數(shù)據(jù)集可能包含較大的誤差和錯誤外點(diǎn)。
記
?
該數(shù)據(jù)集通過源集的旋轉(zhuǎn)平移與縮放得到。在解決該問題的方法中,中大部分點(diǎn)需要靠近T中的一個點(diǎn)。且提供一個映射關(guān)系。我們通過估計映射關(guān)系來搜索正確的轉(zhuǎn)換關(guān)系,然后通過估計得轉(zhuǎn)換關(guān)系來估計映射關(guān)系,然后重復(fù)。我們也可以選擇一小部分?jǐn)?shù)據(jù)來搜索,然后用以估計轉(zhuǎn)換關(guān)系。
迭代最近點(diǎn)
此刻,假設(shè)我們沒有外點(diǎn)。我們期望對于任意,存在最近點(diǎn)。如果我們使用一個合理的轉(zhuǎn)換估計,距離不能太大。注意點(diǎn)的索引依賴于j, 但也依賴于特定的轉(zhuǎn)換參數(shù),記最近點(diǎn)索引為,假設(shè)我們估計的轉(zhuǎn)換歡喜為。然后我們迭代地精細(xì)化估計結(jié)果:(a)轉(zhuǎn)換S中的點(diǎn);(b)逐一找到T中對應(yīng)的最近點(diǎn);以及(C)最小二乘法重新估計轉(zhuǎn)換參數(shù)。這催生了一個迭代算法,根據(jù)文獻(xiàn) Besl and McKay (1992),稱為迭代最近點(diǎn)算法iterated closestpoints。該算法可以明確地收斂到正確答案(釣寒江雪翻譯)。
實(shí)際應(yīng)用中,它確實(shí)可以。兩個點(diǎn)集可以助其改善其性能。首先,重估計過程不需要收斂以使算法有用。例如,我們不需要完整地估計轉(zhuǎn)換關(guān)系,我們做一次梯度下降。這稍微改善了轉(zhuǎn)換關(guān)系,且修改了最近點(diǎn)映射關(guān)系。其次,我們不需要再最小化過程中使用全部的點(diǎn)。特殊地,如果最近點(diǎn)相對較遠(yuǎn),最好在下一步的最小2乘法中拋棄這些點(diǎn)。這會使算法更魯棒。
你可能會認(rèn)為與其說這是個算法不如說是個算法模板;大量特征可以被成功地修改。例如,它可以用來在數(shù)據(jù)結(jié)構(gòu)中小心地加速保持對最近點(diǎn)的跟蹤。另一個例子,一個可選的用于改善魯棒性的策略,是使用M估計器取代最小二乘誤差項(xiàng)。事實(shí)上,該算法不需要S和T的點(diǎn)集。例如,它相對直接地用于S是網(wǎng)格點(diǎn),T是點(diǎn)集的案例(Besl and McKay 1992)。另外,有良好的證據(jù)表明我們優(yōu)化的關(guān)于(s, θ, t)的目標(biāo)函數(shù)在實(shí)際應(yīng)用中性能良好。例如,雖然它不是可微的(因?yàn)樽罱c(diǎn)改變,導(dǎo)致微分步長變化),2階方法如牛頓方法或者LBFGS在實(shí)際引用中事實(shí)上表現(xiàn)更好。
通過映射關(guān)系搜索轉(zhuǎn)換關(guān)系
迭代最近點(diǎn)重復(fù)估計源集于目標(biāo)集的映射關(guān)系,然后用以估計轉(zhuǎn)換關(guān)系。就我們所見,該搜索方法面臨很多局部極小值。另一個方法是搜索映射空間。這看起來似乎沒有前途,因?yàn)橛写罅康挠成潢P(guān)系,但是在剛性物體的案例中,較小的映射集足以配準(zhǔn)整個物體。另一個直接考慮映射的優(yōu)勢是我們可以直接使用標(biāo)記進(jìn)行作用而不是點(diǎn)。例如,我們映射中放置線段,角,甚至如斑點(diǎn)(blobs)點(diǎn)狀特征。這類標(biāo)記可能改變細(xì)節(jié),但對整個算法影響微小。
很小的源標(biāo)記集與目標(biāo)標(biāo)記集進(jìn)行映射,足以估計轉(zhuǎn)換關(guān)系。集合的尺寸依賴于轉(zhuǎn)換關(guān)系及標(biāo)記本身。我們參考可用于計算轉(zhuǎn)換關(guān)系的稱謂幀支持群frame-bearing group一群標(biāo)記。表12.1給出了2D-2D幀支持群的例子,且表12.02給出了3D到3D案例的例子。這也將在未來的運(yùn)用中進(jìn)一步拓展。
現(xiàn)在我們假設(shè)我們在源和目標(biāo)中有幀支持群。進(jìn)一步,如果我們有標(biāo)記集的映射關(guān)系,我們可以計算源之于目標(biāo)的相應(yīng)的轉(zhuǎn)換關(guān)系(釣寒江雪翻譯)。只能有一個可能的映射關(guān)系。例如,如果群是先或者點(diǎn),我們只能把源線(點(diǎn))放置在與目標(biāo)線(點(diǎn))映射的位置。但是可能有多種可能的映射;例如群由3個點(diǎn)組成,但是有6種可能性。
如果一個群或者映射錯誤,大部分的源標(biāo)記將轉(zhuǎn)換到遠(yuǎn)離目標(biāo)的位置。但是如果正確,很多或者大部轉(zhuǎn)換過的源標(biāo)記將落在目標(biāo)標(biāo)記附近。這意味著我們可以用RANSAC(10.4.2),重復(fù)地使用如下步驟,分析結(jié)果:
- 為目標(biāo)和源隨機(jī)選擇幀支持群,
- 計算源與目標(biāo)單元的映射關(guān)系(如果有多個,我們隨機(jī)選擇),然后計算轉(zhuǎn)換關(guān)系。
- 使用該轉(zhuǎn)換關(guān)系轉(zhuǎn)換源集沒,并與目標(biāo)進(jìn)行比較打分只。
如果我們實(shí)施足夠多次,我們極大可能可以在好的群之間獲得好的映射結(jié)果,且我們也可以檢查每個分?jǐn)?shù)用以分辨優(yōu)劣。從好的映射關(guān)系,我們可以分辨源與目標(biāo)的匹配對,最終根據(jù)最小2乘法計算轉(zhuǎn)換關(guān)系。
?
應(yīng)用:建立圖像拼接
一個拍攝大而壯觀的目標(biāo)的細(xì)節(jié)的方法是拍攝很多張小的圖像,并將其拼接到一起。過去的做法常常是將照片沖印,然后堆疊貼在軟木板上,用以吻合。這引入了圖像拼接,一系列重疊的圖像。圖像拼接現(xiàn)在能用數(shù)字圖像配準(zhǔn)的方法實(shí)施。
表1 3D-3D幀支持群.假設(shè)我們在源和目標(biāo)中都有一個群,且有一個映射關(guān)系;從而,我們可以唯一地估計轉(zhuǎn)換關(guān)系。
Figure 10 左圖,機(jī)場上空航拍視頻幀。這些幀被矯正并拼接在右圖,其中顯示(a)全局可見結(jié)構(gòu)(b)飛機(jī)飛行路徑。這個圖最作為Figure1發(fā)表在“Video Indexing Based on Mosaic Representations,”by M. Irani and P. Anandan, Proc. IEEE, v86 n5, 1998, _c IEEE, 1998.
?
一個應(yīng)用是創(chuàng)建大型圖像。也有幾個其他重要的應(yīng)用。例如,假設(shè)我們用在飛機(jī)垂直安裝的一個的攝像機(jī)拍攝了一些圖像(釣寒江雪翻譯);然后如果我們一幀一幀配準(zhǔn)這些圖像,我們不但可以得到飛機(jī)可見的圖像,還可以呈現(xiàn)飛機(jī)的路徑,如圖Figure 12.1所示。另一個例子, 假如我們我們有一個獲取視頻的固定的攝像機(jī)。逐幀配準(zhǔn)后,我們可以估計(a)運(yùn)動物體,(b)背景,且用新的方式向觀眾呈現(xiàn)(figure 12.2)。還有個例子,我們能夠構(gòu)建圓柱面全景圖像,模仿圓柱面攝像機(jī)拍攝的圖像。甚至球面全景圖像,模擬球面球面攝像機(jī)拍攝的圖像。全景圖像的一個特性看起來像一個視角的圖像,容易查詢提取信息。特別地,容易使用全景圖像模仿攝像機(jī)旋轉(zhuǎn)聚焦點(diǎn)時之所見。
創(chuàng)建拼接式圖像配準(zhǔn)的一個重要應(yīng)用。在最簡單的例子中我們希望配準(zhǔn)兩張圖像我們先找到標(biāo)記,然后確定哪些點(diǎn)是匹配額,然后選擇轉(zhuǎn)換關(guān)系,并最小化2次匹配誤差。Brown and Lowe(2003)給出了尋找標(biāo)記的策略。他們找到感興趣點(diǎn),然后計算領(lǐng)域的SIFT特征,然后使用近似最臨近點(diǎn)方法尋找匹配對,一小組匹配點(diǎn)足以擬合映射關(guān)系。
figure 11 左圖,空中飛機(jī)拍攝的視頻幀(釣寒江雪翻譯)。這些幀被矯正并拼接到右圖,其中顯示(a)視頻中飛機(jī)飛行軌跡和(b)觀察者的飛行軌跡。注意拼接顯示了飛機(jī)移動速度(可看到每一個飛機(jī)拼接實(shí)體間距多遠(yuǎn);如果間距遠(yuǎn),說明移動快)。
這類有兩種有用的轉(zhuǎn)換關(guān)系。最簡單的例子中,攝像機(jī)是一個垂直平移的攝像機(jī),且它被平移。這意味著圖像標(biāo)記平移(釣寒江雪翻譯),因?yàn)槲覀冎恍枰烙媹D像之間的平移量,另一個復(fù)雜的例子,攝像機(jī)是一個繞其焦點(diǎn)旋轉(zhuǎn)的透視的攝像機(jī)。如果我們對該攝像機(jī)一無所知,這個I1和I2的關(guān)聯(lián)部分是一個面投影轉(zhuǎn)換關(guān)系,又稱單應(yīng)變換。了解更多關(guān)于攝像機(jī)及環(huán)境信息,能夠得到更緊的約束條件的轉(zhuǎn)換(釣寒江雪翻譯)。
在單應(yīng)坐標(biāo)中,轉(zhuǎn)換關(guān)系將點(diǎn)I1中的X1=映射到I2中的。轉(zhuǎn)換關(guān)系的形式是3x3行列式非零的矩陣。記為H。我們用平面上4個對應(yīng)點(diǎn)估計元素值。記為第I1中第i個點(diǎn),對應(yīng),現(xiàn)在我們有式
Figure 12
?
如果我們叉乘并相減,我們根據(jù)每一組映射點(diǎn)對的未知矩陣入口得到單應(yīng)線性方程,例如:
這個系統(tǒng)給出了H大小的(up to scale,原文)求解方法(我們工作在單應(yīng)坐標(biāo)系下)。這是一個根據(jù)少量點(diǎn)估計H好的方法, 但當(dāng)我們有一大堆映射點(diǎn)對時,可能得不到最準(zhǔn)確的解。這種情況下,我們應(yīng)該最小化H的函數(shù)
其中g(shù)是判別函數(shù),如果我們有外點(diǎn)的話,這不是個好主意,或者一個M估計器。這個函數(shù)值關(guān)于H的大小是不變的(意思是H矩陣的元素統(tǒng)一放大或者縮小都不影響函數(shù)值),所以我們需要一個歸一化的形式(釣寒江雪翻譯)。我們可以設(shè)置一個量為1來歸一化(不是個好主意,因?yàn)檫@帶來了偏置量),或者要求Frobenius 范數(shù)等于1。好的估計單應(yīng)矩陣的軟件已經(jīng)可以在Web上獲得。Manolis Lourakis在https://www.ics.forth.gr/~lourakis/homest/發(fā)表了一個 C/C++ 庫; there is a set of MATLAB functions for multiple view geometry at一個MATLAB多視幾何函數(shù)集,https://www.robots.ox.ac.uk/~vgg/hzbook/code/,作者是 David Capel, Andrew Fitzgibbon, Peter Kovesi, Tomas Werner, Yoni Wexler, and Andrew Zisserman.
最后,OpenCV也有單應(yīng)估計方法。
如果有超過2張圖像,配準(zhǔn)圖像到拼接圖像更有意思。想想我們有三個圖像,我們能夠配準(zhǔn)圖像1到圖像2,然后圖像2到圖像3。但是如果圖像3具有一些圖像1所具有的特征,這可能是不明智的做法。記為圖像2到圖像1的轉(zhuǎn)換關(guān)系(依次類推)。問題是可能不是圖像2到圖像1的轉(zhuǎn)換關(guān)系的好的估計。在三張圖像的情況下,誤差可能不是那么大,但是能累加?!?/a>
為了解決誤差累加的問題,我們需要使用全部的誤差值一次估計所有的配準(zhǔn)數(shù)據(jù)。這個動作叫做綁定調(diào)整(bundle adjustment),依靠分析運(yùn)動中結(jié)構(gòu)的相關(guān)項(xiàng)實(shí)施(章節(jié)8.3.3)。一個自然方法是選擇一個坐標(biāo)幀,圖像幀再其內(nèi)工作-例如,第一幀圖像,然后搜索一系列其他圖像與第一幅圖像的匹配關(guān)系,并最小化點(diǎn)對誤差平方和。例如,記為第j元組,它由圖像i中及圖像k中組成。我們可以通過最小化下式估計和,
(其中,如果沒有外點(diǎn),g是一致的,否則是M估計器),然后用轉(zhuǎn)換關(guān)系配準(zhǔn)。注意,隨著圖像數(shù)量增加,這個方法可能帶來大的和差的優(yōu)化問題(釣寒江雪翻譯),很可能出現(xiàn)局部最小值,所以需要從一個好的轉(zhuǎn)換估計值開始。配準(zhǔn)獨(dú)立圖像對能夠提供這樣的起始點(diǎn)。一旦圖像已經(jīng)配準(zhǔn)到另外一副圖像,我們能得到一單張全景圖像,然后小心地混疊像素以處理由鏡頭系統(tǒng)導(dǎo)致的空間亮度變化(圖12.5)?!?/p>
?
基于模型的視覺:使用投影配準(zhǔn)剛性物體
MODEL-BASED VISION: REGISTERING RIGID OBJECTS WITH PROJECTION我們現(xiàn)在已經(jīng)可以用圖像配準(zhǔn)剛性物體。這個問題的解決方法在實(shí)際應(yīng)用中很有用, 因?yàn)樗鼈冊试S我們根據(jù)攝像機(jī)估計圖像中已知物體的位置,方向,縮放,盡管物體身上的圖像特征有很多不確定性。這類算法能夠和世界產(chǎn)生作用,在系統(tǒng)中特別有用。例如,如果我們希望移動一個物體到特定位置,或者抓住它,根據(jù)攝像機(jī)知道它的數(shù)據(jù)真的特別有用。我們使用相同的方法來解決3D物體到3D物體的配準(zhǔn),方法重復(fù):找到一個群;恢復(fù)轉(zhuǎn)換關(guān)系;對全部源實(shí)施轉(zhuǎn)換;然后對源于目標(biāo)的相似度打分。最后我們輸出得分最好的轉(zhuǎn)換結(jié)果。更進(jìn)一步,如果最好的轉(zhuǎn)換關(guān)系得分較好,那么物體就在那兒(那兒就是估計出的位姿);如果不好,他就不是(不在那兒)?!?/p>
源由多個基于某些幾何結(jié)構(gòu)的標(biāo)記組成,而是基于幾何結(jié)構(gòu)的旋轉(zhuǎn)平移及縮放版的標(biāo)記組成。我們想得到實(shí)際的旋轉(zhuǎn),平移及縮放。通常該問題涉及很多中的外點(diǎn),因?yàn)槲覀儾恢捞卣魇欠裾娴膩碜栽撐矬w。幾乎所有的標(biāo)記都是點(diǎn)或者線段;對于,這些由物體的幾何模型決定,而對于,則來自邊緣點(diǎn)或者邊緣點(diǎn)的擬合線(我們能使用Chapter 10的這些機(jī)制獲得這些線)(釣寒江雪翻譯)。這個案例有兩個不同的特性。我們不能估計全部的轉(zhuǎn)換參數(shù)(通常也無關(guān)緊要),且它也很難得到令人滿意的源與目標(biāo)的相似度評分?!?/a>
有很多方法可以估計轉(zhuǎn)換參數(shù)。細(xì)節(jié)依賴于我們是否標(biāo)定攝像機(jī),以及我們使用了何種攝像機(jī)模型。在最簡單的案例中,我們使用了垂直的攝像機(jī),標(biāo)定基于未知的尺度,沿著Z軸俯視攝像機(jī)坐標(biāo)系。我們無法估計3D目標(biāo)的深度,因?yàn)楦淖兩疃炔桓淖儓D像。我們不能獨(dú)立于攝像機(jī)的縮放尺度判定物體的尺度,因?yàn)橥瑫r改變這兩個參數(shù)能得到相同的圖像。例如,我們放大物體一杯,同時縮小攝像機(jī)的像元,我們得到的圖像點(diǎn)具有相同的坐標(biāo)值。因此,我們不能影響上述搜索過程背后的因果關(guān)系。例如,我們建立源與目標(biāo)的正確的映射關(guān)系,然后,源標(biāo)記將停止在靠近或者在目標(biāo)標(biāo)記的上方。這意味著使用了上述RASANC風(fēng)格的方法。相似地,如果我們提供了準(zhǔn)確的轉(zhuǎn)換參數(shù)(我們能設(shè)置攝像機(jī)縮放參數(shù)為1),我們就可以估計深度。
在單個垂直攝像機(jī)的案例中,基于未知縮放值得標(biāo)定,三個映射點(diǎn)對已經(jīng)足夠估計旋轉(zhuǎn)量。兩個可觀測的平移及縮放(參考聯(lián)系,給出了另一個幀群組)。在大部分應(yīng)用中,深度在物體間的變換相對于物體的深度要小的多。這意味著,一個透視攝像機(jī)能夠能被弱透視變換近似模型來近似。這等同于單個垂直攝像機(jī),標(biāo)定到一個未知的尺度。如果攝像機(jī)的尺度已知,也就可以恢復(fù)出無圖的深度。
Figure 13 一個平面物體被配準(zhǔn)到圖像。左圖中,一個物體的圖像;中圖中,一個圖像中包含物體的兩個實(shí)例,及其他材料(聚類中常見的例子)。特征點(diǎn)被檢測了,且兩個群組-在這個案例中,三點(diǎn)集-被搜索;每個映射給出了一個從模型到圖像的變換。滿意的映射對齊了很多模型邊緣點(diǎn)與圖像邊緣點(diǎn),在左圖中,這是為什么這個方法有時候被稱為“對齊”。這個圖像來自該主題的早期的論文,但是受到當(dāng)時落后的再生技術(shù)的影響。這個圖像最早作為Figure 7發(fā)表在“Object recognition using alignment,” D.P. Huttenlocher and S. Ullman, Proc. IEEE ICCV, 1986. c IEEE, 1986.
驗(yàn)證: 比較轉(zhuǎn)換與玄然后的源圖與目標(biāo)圖
實(shí)際應(yīng)用中,用來搜索轉(zhuǎn)換關(guān)系的RANSAC-風(fēng)格的搜索算法主要的難點(diǎn)在于配準(zhǔn)3D目標(biāo)與一個圖像,一個好的評分方法比較難以得到(釣寒江雪翻譯)。計算評分函數(shù)的方法是直接的,如果我們啟用渲染,一個通用目的用于根據(jù)模型生成圖像的方法的描述,包含所有的從繪線到給圖像物理地精確地著色工作。我們獲得估計得轉(zhuǎn)換模型,應(yīng)用到模型,然后使用攝像機(jī)模型渲染轉(zhuǎn)換后的物體模型。我們實(shí)施渲染,并與圖像進(jìn)行比較。難點(diǎn)在于比較方式(這決定我們需要渲染什么)。
我們需要一個能夠說明所有已知圖像跡象的評分函數(shù)。這要能包含難以確定確定型的標(biāo)記(角點(diǎn)或者邊緣點(diǎn)),或者圖像紋理的跡象。如果我們知道所有的物體在其之下被觀測的光照條件。我們可能可以使用像素亮度(實(shí)際條件下,這幾乎行不通)。通常,關(guān)于光照我們所能知道全部就是亮度足夠時,我們能找到一些標(biāo)記,這也是為什么我們有配準(zhǔn)假設(shè)需要檢驗(yàn)。這意味著這些比較被要求在在光照變換條件下是魯棒的。顯然,實(shí)踐中,最重要的檢驗(yàn)是渲染物體的輪廓,然后比較其邊緣點(diǎn)。
一個自然檢驗(yàn)方法是根據(jù)攝像機(jī)模型疊加物體的輪廓邊緣到圖像,然后根據(jù)這些點(diǎn)與真實(shí)圖像邊緣點(diǎn)的比較對假設(shè)模型進(jìn)行評分,通常的評分是靠近的實(shí)際的邊緣點(diǎn)的預(yù)測的輪廓邊緣碎片的長度。這在攝像機(jī)框架下是旋轉(zhuǎn)平移不變性的,這是個好事,但是隨縮放因子變化,但未必是壞事。通常允許圖像邊緣點(diǎn)知在他們方向與對應(yīng)的模型邊緣方向相近時貢獻(xiàn)評價分值。這個原則是對邊緣點(diǎn)描述越詳細(xì),人們更容易知道它是否來自該物體。
在線段中包含不可見的輪廓可不是個好主意,因此,渲染需要刪除隱藏的線。由于輪廓內(nèi)邊緣在差的光照條件下可能對比度低,所以使用了輪廓。這意味著輪廓的缺失表現(xiàn)的是光照的條件而非物體的存在性。
邊緣存在性檢驗(yàn)可能很不可靠,甚至方向信息也不能真正解決該難題。當(dāng)我們投影一個模型邊界到一個圖像時,輪廓附近的邊緣的缺失是一個模型不存在于此的可靠的信號。但是輪廓附近存在邊緣卻不是關(guān)于模型存在于此的可靠的信號(釣寒江雪翻譯)。例如,在紋理區(qū)域,有很多邊緣點(diǎn)組合在一起,這意味著,多紋理區(qū)域中,每個模型的每個位姿都可能會得到高的檢驗(yàn)評分值。注意即使評分考慮邊緣方向也無濟(jì)于事。
我們能夠調(diào)整邊緣檢測器來重度平滑紋理強(qiáng)度,以期紋理區(qū)域的消失。這是個危險的規(guī)避方法,因?yàn)檫@常常會影響對比度靈敏度,從而也會導(dǎo)致物體消失。然而,這個方法在可接受的程度下有效果,被廣泛地應(yīng)用。
參考文獻(xiàn):
COMPUTER VISIONA MODERN APPROACHsecond editionDavid A. Forsyth
University of Illinois at Urbana-ChampaignJean PonceEcole Normale Supérieure
與非網(wǎng)原創(chuàng)內(nèi)容,謝絕轉(zhuǎn)載!