一. 前言
到目前為止,我的雙目立體匹配系列文章已經(jīng)完成了接近經(jīng)典視差優(yōu)化算法的介紹,讓我們觀察一下現(xiàn)在的進(jìn)度:
今天的文章,我們先從回顧立體匹配的評(píng)價(jià)指標(biāo)開(kāi)始,MiddleBurry立體匹配排行榜的評(píng)價(jià)指標(biāo):
MiddleBurry立體匹配評(píng)價(jià)指標(biāo) 這些評(píng)價(jià)指標(biāo)大概包括:
在全圖上計(jì)算視差圖和理想視差圖之間的均方根誤差,及錯(cuò)誤像素占比
在無(wú)紋理區(qū)域,有紋理區(qū)域,遮擋區(qū)域,非遮擋區(qū)域,深度不連續(xù)區(qū)域共5個(gè)區(qū)域計(jì)算和理想視差圖之間的均方根誤差,及錯(cuò)誤像素占比
在不同視角下進(jìn)行反向變換,計(jì)算變換后的投影誤差,即所謂預(yù)測(cè)誤差
在我介紹其他的數(shù)據(jù)集里,基本上采用了類(lèi)似的評(píng)價(jià)指標(biāo)。我不知道你想過(guò)沒(méi)有,這些評(píng)價(jià)指標(biāo)有什么特點(diǎn)? 事實(shí)上,這些指標(biāo)都在強(qiáng)調(diào)視差圖在視差方向上的準(zhǔn)確性,卻沒(méi)有怎么強(qiáng)調(diào)視差圖與原圖之間的貼合性——或者說(shuō),它們都在強(qiáng)調(diào)Z方向的準(zhǔn)確性,卻沒(méi)有重視其在X/Y方向上的準(zhǔn)確性。 對(duì)于很多三維重建的應(yīng)用,比如測(cè)距、尺寸測(cè)量、甚至自動(dòng)駕駛中的障礙物檢測(cè)識(shí)別,似乎這也沒(méi)有構(gòu)成很大的問(wèn)題。然而有一類(lèi)應(yīng)用,對(duì)重建后的深度或視差在X/Y方向上的準(zhǔn)確性確有很高很高的要求,虛化渲染類(lèi)應(yīng)用——事實(shí)上我認(rèn)為絕大多數(shù)像素級(jí)渲染類(lèi)的應(yīng)用,都對(duì)場(chǎng)景模型和圖像紋理之間的貼合度有很高的要求,而這也意味著我們要求深度圖中的內(nèi)容和原始的彩色圖之間也需要緊密貼合。
虛化渲染對(duì)邊緣貼合有很高要求 如果不能做到這點(diǎn),我們渲染的結(jié)果就會(huì)出現(xiàn)非常突兀的瑕疵,比如下面這樣的:
邊緣不貼合出錯(cuò) 或是這樣的:
邊緣不貼合出錯(cuò) 很顯然,一般的基于MiddleBurry類(lèi)數(shù)據(jù)集評(píng)價(jià)指標(biāo)開(kāi)發(fā)的立體匹配算法是無(wú)法滿足這種需求的。我們所需要的算法,必須要從原理上能夠保證這種貼邊,今天我將要展示的算法就做到了這一點(diǎn)。按照作者的說(shuō)法,根據(jù)這種算法的原理你甚至無(wú)法生成不貼邊的視差圖! 在正式介紹今天的算法之前,讓我們先來(lái)看看效果。首先我們來(lái)看看一對(duì)輸入的經(jīng)過(guò)立體校正的圖像,及其局部(下方):
然后我們看看普通的SGM算法得到的視差圖,以及用這種視差圖進(jìn)行淺景深虛化渲染的結(jié)果。你可以很清楚的看到細(xì)節(jié)部分出現(xiàn)了嚴(yán)重的不貼邊現(xiàn)象:
SGM算法結(jié)果和渲染圖 下面則是我今天將要介紹的算法的結(jié)果。真是不怕不識(shí)貨,就怕貨比貨啊,從渲染的結(jié)果看上去明顯好了很多!
本文算法結(jié)果和渲染圖 下面是另外一個(gè)場(chǎng)景,注意看原圖中雕塑的細(xì)節(jié)部分。由于上采樣看細(xì)節(jié)的緣故,小圖顯得不那么清晰,可以忽略這一點(diǎn)。
輸入原始圖 我們先看看一個(gè)叫做SPS-StFI的算法結(jié)果:
SPS-StFI算法渲染結(jié)果 表面上看起來(lái)視差圖還OK,但我們看看渲染的細(xì)節(jié),很明顯在雕塑的邊緣處出現(xiàn)了奇怪的瑕疵,你可以和上面的原圖對(duì)比一下,這顯然是由于視差圖中的邊緣錯(cuò)誤導(dǎo)致的
SPS-StFI算法渲染結(jié)果細(xì)節(jié) 現(xiàn)在來(lái)看看本文將要介紹的算法的結(jié)果:
本文算法結(jié)果 看細(xì)節(jié),很明顯主體和虛化背景的邊界非常自然,沒(méi)有出現(xiàn)上面SPS-StFI算法的邊緣瑕疵:
本文算法渲染細(xì)節(jié) 小結(jié)一下我們現(xiàn)在得到的信息: 傳統(tǒng)的基于類(lèi)似MiddleBurry這樣的數(shù)據(jù)集的評(píng)價(jià)指標(biāo)來(lái)設(shè)計(jì)的雙目立體匹配算法,大多數(shù)側(cè)重于視差值或者深度值的準(zhǔn)確性,卻對(duì)視差圖貼合原圖物體邊緣的程度不夠重視,不適合圖形圖像渲染類(lèi)應(yīng)用。而有一類(lèi)算法,比如說(shuō)我今天將要介紹這種算法,特別強(qiáng)調(diào)視差圖與原圖目標(biāo)邊緣的貼合程度,從而比較適合產(chǎn)生渲染類(lèi)應(yīng)用所需要的視差圖(深度圖)。 那么是什么樣的算法能夠從原理上保證這一點(diǎn)呢?它是如何做到的呢?讓我請(qǐng)出今天的主角吧:
對(duì),就是Jon Barron,有的朋友可能已經(jīng)知道他了。如果我再提及他參與提出的NeRF(神經(jīng)輻射場(chǎng)),就肯定有更多人會(huì)哇哦了。 我們今天要談的是Jon Barron在2015年CVPR上演講展示的一篇文章Fast Bilateral-Space Stereo for Synthetic Defocus
它首先從原理上保證了視差圖的貼邊,而且速度還大大超越其他算法,在下圖中我們看到它比之前最快的算法還快十幾倍!
本文算法速度非???那么,它是如何做到的呢?要回答這個(gè)問(wèn)題,我們需要先回顧一下立體匹配的全局優(yōu)化法的思想。
二. 全局優(yōu)化算法的思想
在我的文章72. 三維重建7-立體匹配3,立體匹配算法中的視差優(yōu)化中,我曾經(jīng)講過(guò),立體匹配的全局代價(jià)優(yōu)化法的思想是希望尋找到每個(gè)像素的最優(yōu)視差結(jié)果,使得全局的、整體的匹配代價(jià)最小,這一步被稱(chēng)為視差優(yōu)化(Disparity Optimization)。于是這個(gè)過(guò)程就變成了一個(gè)最優(yōu)化某個(gè)能量函數(shù)的過(guò)程,該函數(shù)通常寫(xiě)成如下的形式:
等號(hào)右邊第1項(xiàng)是數(shù)據(jù)項(xiàng),它衡量計(jì)算出的視差與實(shí)際輸入圖像關(guān)系的差異。一般來(lái)說(shuō),可以用下面的式子來(lái)表示,其中C表示代價(jià)函數(shù)。
這一項(xiàng)用于約束全局代價(jià)最小化。但是代價(jià)函數(shù)中通常含有噪聲和錯(cuò)誤,直接最小化求得的結(jié)果也會(huì)有很多問(wèn)題,所以還需要第2項(xiàng)平滑項(xiàng)。這一項(xiàng)一般用于給出某些額外的約束條件,比如通常假設(shè)整個(gè)圖像的視差是平滑變化的。這樣視差的大變化只會(huì)在場(chǎng)景內(nèi)視差邊緣處產(chǎn)生,一般也和圖像內(nèi)物體邊緣高度相關(guān)。 很顯然,這個(gè)全局代價(jià)的優(yōu)化是非常困難和復(fù)雜的問(wèn)題。比如,一幅1024x1024的圖像,如果其有效視差范圍為128,那么上面的數(shù)據(jù)項(xiàng)就是一個(gè)有著1024x1024x128=134217728個(gè)元素的巨大的立方體。這還沒(méi)有算上后面的平滑項(xiàng)的復(fù)雜度。 其實(shí),雖然如此復(fù)雜,但似乎也不是不可以接受,無(wú)非就是多花些時(shí)間吧。然而,在有些應(yīng)用場(chǎng)景下,我們需要高速進(jìn)行深度重建,甚至實(shí)時(shí)深度重建,比如我提到的手機(jī)上的各種渲染應(yīng)用就是如此。你想象一下,你拿起手機(jī)要給女朋友/男朋友拍一張人像照,肯定是希望所見(jiàn)即所得,并且按下快門(mén)立馬得到結(jié)果,而不是等上幾分鐘都看不到效果吧。 所以,總結(jié)下Jon Barron要想解決的問(wèn)題:用極高的速度解決立體匹配的全局代價(jià)優(yōu)化問(wèn)題 在計(jì)算機(jī)科學(xué)中,甚至在所有門(mén)類(lèi)的科學(xué)中,有一種思想是問(wèn)題的轉(zhuǎn)換。我們不是說(shuō)上面的全局代價(jià)函數(shù)的規(guī)模太大,導(dǎo)致優(yōu)化復(fù)雜嗎?那么,就先把這種大規(guī)模的全局代價(jià)函數(shù)轉(zhuǎn)換成小規(guī)模的全局代價(jià)函數(shù)吧,這樣求解起來(lái)不就簡(jiǎn)單了嗎?
我們接著來(lái)看看Jon是如何一步步做到這種轉(zhuǎn)換的。
三. 視差圖的平滑性與雙邊濾波
現(xiàn)在重新想想我們的視差圖需要滿足什么樣的特性:視差圖總體上是平滑變化的,視差的突然變化只會(huì)在場(chǎng)景內(nèi)物體的邊緣處產(chǎn)生。你想到什么了嗎?這和什么算法有相通之處? 是的,這和我之前講過(guò)的雙邊濾波有非常大的相似之處,讓我們回憶下4. 數(shù)碼相機(jī)內(nèi)的圖像處理-更多圖像濾波中的內(nèi)容: 高斯濾波只使用了空間距離來(lái)衡量像素的權(quán)重,而雙邊濾波則在空間距離的基礎(chǔ)上,加入了像素亮度距離。而由于邊緣兩邊的亮度值差異很大,因此越過(guò)邊緣的像素的濾波權(quán)重很小,這就是雙邊濾波能夠保持邊緣的秘訣。 雙邊濾波的圖示如下:
雙邊濾波有這種優(yōu)異的性質(zhì),但其計(jì)算量卻非常大,這也促使了人們想了各種各樣的辦法來(lái)快速計(jì)算雙邊濾波。其中有一種稱(chēng)為雙邊網(wǎng)格的方法特別有意思,這是2007年Chen Jiawen等人提出的。
我們看下面的圖,這就是Bilateral Grid(雙邊網(wǎng)格)的思想。一幅2D的灰度圖像中的每個(gè)像素,按照其x坐標(biāo)、y坐標(biāo)、灰度值,被分組放到了一個(gè)3D的立方體中,每一小組就是一個(gè)格子。這樣,原本在2D空間中相鄰的像素,到了雙邊網(wǎng)格空間中,就不相鄰了,至少被放到了不同的格子里。
利用這種思想,我們實(shí)際上是對(duì)原始圖像進(jìn)行了降維,并且使得灰度值差異較大的像素不會(huì)相互污染:
利用這種思想,可以實(shí)現(xiàn)快速的雙邊濾波,我們以一個(gè)一維圖像來(lái)舉例。首先,我們用剛才的思想把圖像投射到 雙邊網(wǎng)格中。接下來(lái),我們?cè)陔p邊網(wǎng)格空間中進(jìn)行高斯濾波。最后再把濾波后的雙邊網(wǎng)格重新投射回原始的圖像,如下圖所示:
由于雙邊網(wǎng)格的規(guī)模大大小于原始圖像,比如一幅八百萬(wàn)像素的圖像投射到雙邊網(wǎng)格中可能只有70*70*10=49000個(gè)格子。而高斯濾波又比雙邊濾波的計(jì)算量低很多,并且很容易通過(guò)GPU來(lái)并行計(jì)算。因此通過(guò)這樣的方式,就可以實(shí)現(xiàn)非??焖俚碾p邊濾波了。 比如Chen JiaWen等在演講中提到,一幅兩百萬(wàn)像素的圖像,如果用原始的CPU上實(shí)現(xiàn)的雙邊濾波需要10分鐘,而用他們的雙邊網(wǎng)格思想在2006年的G80 GPU上實(shí)現(xiàn),只需要9毫秒!這就是將難解問(wèn)題轉(zhuǎn)換成易解問(wèn)題的威力,讓我們?cè)倏匆槐檫@個(gè)圖,即便你研究的領(lǐng)域并非立體匹配,并非圖像濾波,今天這篇文章的其他內(nèi)容你都可以忘記,但我希望你記住這幅圖:
在相關(guān)文獻(xiàn)中,把從原始圖像到雙邊空間的過(guò)程稱(chēng)為Splat,在雙邊空間中進(jìn)行濾波稱(chēng)為Blur,把濾波后的結(jié)果轉(zhuǎn)換到原始圖像像素空間中的過(guò)程稱(chēng)為Slice。Splat-Blur-Slice,就是這類(lèi)方法的三個(gè)重要步驟。由于高斯濾波是可以分解的,在雙邊網(wǎng)格中的高斯濾波可以變換為每個(gè)維度上(對(duì)于1維圖像來(lái)說(shuō)是space和intensity兩個(gè)維度)分別進(jìn)行的一維濾波相加的結(jié)果(這是一種近似)
那么,這對(duì)我們今天講的立體匹配全局代價(jià)函數(shù)優(yōu)化有什么啟示呢? Jon Barron在演講材料中寫(xiě)道:
什么意思?前人的工作是將圖像信號(hào)投射(Splat)到雙邊空間,在雙邊空間中濾波(Blur),再反投射(Slice)濾波后的圖像信號(hào)到原始像素空間。而Jon Barron的工作則是將所要求解的最小化問(wèn)題投射(Splat)到雙邊空間,在雙邊空間中求解(Solve)該問(wèn)題,再將求解結(jié)果重新投射(Slice)到原始空間。 由于雙邊空間中的問(wèn)題規(guī)模大大小于原始問(wèn)題,因此問(wèn)題求解就變得很快速很容易了。我們?cè)谙乱还?jié),進(jìn)一步看看Jon是如何做到的。
四. 利用雙邊空間優(yōu)化全局代價(jià)函數(shù)
我們看看下面Jon構(gòu)建的代價(jià)函數(shù),加號(hào)前面一項(xiàng)是平滑項(xiàng),后面一項(xiàng)是數(shù)據(jù)項(xiàng),我們就是要最小化這個(gè)式子,
全局匹配代價(jià)函數(shù)
4.1 平滑項(xiàng)
平滑項(xiàng) 平滑項(xiàng)中的di和dj是一幅視差圖中不同位置的像素的視差值。這個(gè)時(shí)候,我們要把視差圖看作展開(kāi)的一維向量。一個(gè)寬高分別為W和H的視差圖,展開(kāi)后就是WHx1的一維向量,于是i和j就是不同像素的編號(hào),或者坐標(biāo)值。 最神秘的是這里的矩陣,為了理解它,我們首先得重新回到雙邊濾波器的矩陣表達(dá),如果x是一個(gè)一維表示的尺寸為WHx1的圖像,我們可以用下面的公式來(lái)表示雙邊濾波,等號(hào)坐標(biāo)是濾波后的圖像y,尺寸還是WHx1:
雙邊濾波矩陣表示法 這里的矩陣A是一個(gè)對(duì)稱(chēng)的矩陣,尺寸是WHxWH。對(duì)于彩色圖像的雙邊濾波,A矩陣的每個(gè)元素如下:
雙邊濾波權(quán)重 它實(shí)際上是表示第j個(gè)像素和第i個(gè)像素間的在空間和顏色上的相似度。如果兩個(gè)像素越靠近,并且顏色越相似,其對(duì)應(yīng)的A元素就越大,當(dāng)然如果是單色圖像那么就只是計(jì)算空間和亮度上的相似度。 我們看看下面這個(gè)3x3的小圖像(我們假設(shè)其中存儲(chǔ)的就是對(duì)應(yīng)像素的視差)
3x3的小圖像 按照上面的公式很容易計(jì)算得到其雙邊濾波矩陣如下
權(quán)重矩陣A示意 利用這個(gè)矩陣,可以把任何我們認(rèn)為相鄰的像素的視差值加權(quán)平均到一起,得到最后的濾波結(jié)果。而我們前面數(shù)據(jù)項(xiàng)中的矩陣則是雙邊濾波矩陣A的某種特殊歸一化形式,其最大特點(diǎn)是每一行和每一列的和都為1。 4.2 平滑項(xiàng)轉(zhuǎn)換到雙邊網(wǎng)格空間 我們可以用下面的公式表示雙邊網(wǎng)格算法,其中S矩陣代表我最開(kāi)始提到的Splat操作,將像素值投射到雙邊空間。B矩陣代表雙邊空間中進(jìn)行的模糊操作,而ST矩陣則代表上面提到的Slice操作,將雙邊空間中的濾波結(jié)果重新投射到原始像素空間。在雙邊網(wǎng)格的構(gòu)造過(guò)程中,每個(gè)網(wǎng)格的頂點(diǎn)采用了最近鄰方式采樣,所以這種方式是對(duì)原始雙邊濾波的一種近似:
雙邊網(wǎng)格是矩陣分解過(guò)程 進(jìn)行變量替換后,雙邊濾波就變成了下面這樣:
在雙邊空間中進(jìn)行濾波 而作者最精妙的一點(diǎn)是,把匹配代價(jià)中的平滑項(xiàng)按照類(lèi)似的方法,投射到了雙邊空間。為了做到這一點(diǎn),首先是把原始的平滑項(xiàng)寫(xiě)成矩陣表達(dá)形式, 再通過(guò)變量替換轉(zhuǎn)換到雙邊空間
下面對(duì)雙邊網(wǎng)格中的各個(gè)變量作出解釋?zhuān)?qǐng)注意在雙邊空間中的這些矩陣和向量的規(guī)模都是大大低于像素空間中的對(duì)應(yīng)實(shí)體的,這也為之后的快速求解打下了基礎(chǔ)。
你可能對(duì)為什么Jon Barron能夠把原始像素空間中的平滑項(xiàng)做上面所說(shuō)的轉(zhuǎn)換感興趣。這里面有非常復(fù)雜的數(shù)學(xué)推導(dǎo)過(guò)程,都記錄在了其論文的附加材料里面。不過(guò)很多人直接閱讀此份附加材料也是看不懂的(也許你就在這些人里面 )。如果你對(duì)此感興趣的話,可以私聊我。如果咨詢的人足夠多,我還打算在我的知識(shí)星球中做更詳細(xì)的講解,包括針對(duì)代價(jià)做細(xì)致的分析。
4.2 數(shù)據(jù)項(xiàng)
現(xiàn)在我們來(lái)看看數(shù)據(jù)項(xiàng)。正如前面所說(shuō),數(shù)據(jù)項(xiàng)表示的是像素點(diǎn)的匹配代價(jià)
數(shù)據(jù)項(xiàng) 我們把它也要投射到雙邊空間中——每個(gè)雙邊網(wǎng)格所對(duì)應(yīng)的代價(jià)值是多個(gè)原始像素代價(jià)值的加權(quán)平均:
編號(hào)為j的網(wǎng)格對(duì)應(yīng)的匹配代價(jià) 比如,這里j代表第j個(gè)雙邊網(wǎng)格中的格子,其中包含了多個(gè)以下標(biāo)i表示的原始像素,w代表像素的權(quán)重。這樣就把像素空間中的代價(jià)fi轉(zhuǎn)換成了雙邊空間中的代價(jià)gj 現(xiàn)在我們匯總一下,原始的代價(jià)函數(shù)為:
像素空間全局代價(jià)函數(shù) 在雙邊空間中的代價(jià)函數(shù)為:
雙邊空間全局代價(jià)函數(shù) 為了讓計(jì)算盡可能簡(jiǎn)單,而且可優(yōu)化,這就需要g是一個(gè)連續(xù)函數(shù),且可導(dǎo),這也意味著f是一個(gè)連續(xù)可導(dǎo)的函數(shù),現(xiàn)在我們必須寫(xiě)出g函數(shù)。 我在之前的文章中介紹過(guò)了很多種不同的匹配代價(jià)函數(shù),而作者選擇的是下面這個(gè)滿足所謂Birchfield-Tomasi 標(biāo)準(zhǔn)的函數(shù):
我先在下面給出作者論文中的圖示,然后用人話給你解釋一下:
單像素匹配代價(jià)示意 什么意思?如果兩個(gè)像素通過(guò)某種標(biāo)準(zhǔn)判斷是匹配的,那么其匹配代價(jià)為0. 否則,其匹配代價(jià)正比于代價(jià)值偏離匹配范圍的大小。對(duì)任何一個(gè)像素i,在水平極線上都有可能有多個(gè)匹配的像素。其第1個(gè)匹配的像素對(duì)應(yīng)的視差我們稱(chēng)為li, 最后一個(gè)匹配的像素對(duì)應(yīng)的視差值我們稱(chēng)為ui。所以只要di在[li,ui]之間,我們認(rèn)為是匹配的,代價(jià)為0,否則匹配代價(jià)將位于斜率為1或-1的直線上。在實(shí)際操作中,我們需要記錄每個(gè)像素的匹配視差的上下值,其過(guò)程我這里略過(guò),感興趣的私聊我吧。 相比我之前介紹的很多匹配代價(jià)函數(shù),這是一種很弱的匹配代價(jià)函數(shù)。作者選擇它并非因?yàn)樗惺裁瓷衿娴牡胤?,僅僅是因?yàn)樗浅8咝?,特別是當(dāng)我們需要最小化之前提到的全局代價(jià)函數(shù)時(shí)這一點(diǎn)尤為重要。
4.3 在雙邊空間中進(jìn)行優(yōu)化
希望你還沒(méi)有暈掉 我們已經(jīng)得到了雙邊空間中的數(shù)據(jù)項(xiàng)和平滑項(xiàng)了,為了進(jìn)行優(yōu)化我們需要將數(shù)據(jù)項(xiàng)表示為連續(xù)可導(dǎo)的函數(shù)。所以這里采用了線性插值的方法,將在雙邊空間中離散的g函數(shù)變?yōu)檫B續(xù)的,原論文公式如下:
雙邊空間中的全局代價(jià)函數(shù) 最優(yōu)化問(wèn)題有很多求解方法,作者采用的是一種叫做L-BFGS的方法,這是一種在有限的內(nèi)存空間中進(jìn)行的優(yōu)化算法,是Broyden,Fletcher,Goldfarb,Shanno這幾位數(shù)學(xué)家發(fā)明的,他們名字的首字母組合就是BFGS
BFGS 我們不需要了解算法的細(xì)節(jié),只需要記住許多最優(yōu)化問(wèn)題求解的一般流程如下:
優(yōu)化算法過(guò)程 所以我們?cè)侔焉鲜龃鷥r(jià)函數(shù)的梯度表達(dá)出來(lái),原論文的梯度公式如下
有了上面的(15)和(16)兩個(gè)式子,我們就可以進(jìn)行優(yōu)化求解了。首先用下面的(17)式,我們求解雙邊空間中的視差值v*,然后把v*重新投射到像素空間中,得到最終的視差值
Solve/Splice
五. 實(shí)驗(yàn)和討論
我已經(jīng)在文章開(kāi)頭展示了作者演示的效果,我總體上的感覺(jué)是這種算法在當(dāng)目標(biāo)和背景的顏色不一致時(shí),視差邊緣很貼合目標(biāo)的邊緣,我將作者給出的視差圖和原始彩色圖疊到一起給你看看,很明顯能看出來(lái)。
不過(guò),由于作者采用的數(shù)據(jù)項(xiàng)中匹配代價(jià)函數(shù)過(guò)于簡(jiǎn)單,這也就使得數(shù)據(jù)項(xiàng)誤差較大,導(dǎo)致算法會(huì)出現(xiàn)過(guò)平滑的現(xiàn)象。表現(xiàn)在結(jié)果上,就是會(huì)在結(jié)果視差圖中帶入很多原圖的紋理。我們來(lái)看幾張網(wǎng)上的高人實(shí)現(xiàn)算法后跑出的結(jié)果(參考資料4):
六. 總結(jié)
今天我們學(xué)習(xí)的這種叫做Fast Bilateral-Space Stereo的算法與之前介紹的其他立體匹配算法有很大的不同。它并不追求深度重建結(jié)果在Z方向的絕對(duì)精確,反而更強(qiáng)調(diào)其在X/Y方向的貼邊。因此其結(jié)果更適合在圖形圖像渲染領(lǐng)域中使用,而非在對(duì)尺寸、距離等有嚴(yán)格要求的三維重建領(lǐng)域。該算法速度很快,因此一經(jīng)推出,就在Google的Camera應(yīng)用中得到了應(yīng)用,該功能被稱(chēng)為L(zhǎng)ens Blur,專(zhuān)用于淺景深虛化,也就是現(xiàn)在大家熟悉的手機(jī)上的人像虛化模式。
我們從作者的思路中學(xué)到的最關(guān)鍵的洞見(jiàn)是:一個(gè)復(fù)雜大規(guī)模的問(wèn)題可以通過(guò)空間轉(zhuǎn)換,變換為小規(guī)模的問(wèn)題。求解完小規(guī)模的問(wèn)題后,再重新映射回原始的問(wèn)題空間,得到想要的解。
實(shí)際上,關(guān)于這篇文章還有很多可以講的,但限于篇幅原因我不得不略過(guò)了。但有兩大內(nèi)容,我非常建議讀者進(jìn)一步學(xué)習(xí):
雙邊網(wǎng)格的原理和具體實(shí)現(xiàn)方法,這是本文的基礎(chǔ),也是我接下來(lái)還會(huì)描述的另外一個(gè)算法的基礎(chǔ)。而且快速雙邊濾波在很多領(lǐng)域都有用,因此我覺(jué)得掌握雙邊網(wǎng)格很有用。
本文所略過(guò)的Jon Barron的匹配代價(jià)平滑項(xiàng)、數(shù)據(jù)項(xiàng)轉(zhuǎn)換到雙邊空間的具體推導(dǎo)過(guò)程。這是本算法背后的精髓所在,理解了它對(duì)理解我下一篇文章也很有幫助。
上面兩點(diǎn),我都會(huì)給出公開(kāi)的參考資料。但坦率說(shuō),這些論文和公式你不就是不愿意自己讀嘛所以,如果你真的感興趣,可以加入我創(chuàng)建的知識(shí)星球咨詢,咱們通過(guò)付費(fèi)學(xué)習(xí)的方式把這些重要的問(wèn)題搞懂,豈不甚好O(∩_∩)O 現(xiàn)在來(lái)看看咱們?cè)陔p目立體匹配上的學(xué)習(xí)進(jìn)度:
你可能會(huì)想,怎么視差優(yōu)化算法還沒(méi)有完?是的,因?yàn)槲覀兿乱淮螌W(xué)習(xí)Jon Barron等在2016年ECCV上發(fā)表的算法The Fast Bilateral Solver,簡(jiǎn)稱(chēng)FBS,它是The Fast Bilateral-Space Stereo算法的自然衍生,但里面的數(shù)學(xué)知識(shí)和優(yōu)化方法都有了很多擴(kuò)展,得到的效果也很不錯(cuò)。而且,除了立體匹配,還能用于包括圖像分割、畫(huà)筆繪制等在內(nèi)的很多計(jì)算機(jī)視覺(jué)問(wèn)題。讓我們拭目以待吧 下面是我的文章涉及的領(lǐng)域
這是我最近正在創(chuàng)作攝影圖像后期處理和優(yōu)化課程的部分內(nèi)容提綱:
七. 參考資料
1、Jon Barron主頁(yè):jonbarron.info/ 2、原始論文:Fast Bilateral-Space Stereo for Synthetic Defocus 作者的附加材料,給出了推導(dǎo)過(guò)程,很難懂 3、很好的一份國(guó)外大神的解讀:Ugo Capeto. On fast bilateral-space stereo for synthetic defocus bybarron et al. dropbox.com/s/ke46mg8pk stereo.pdf?dl=0. Accessed September 28, 2016. 4、雙邊網(wǎng)格的論文:Jiawen Chen, Sylvain Paris, and Frédo Durand. Real-time edge-aware image processing with the bilateral grid. In ACM Transactions on Graphics (TOG), volume 26, page 103. ACM, 2007 5、三維重建9-立體匹配5,解析MiddleBurry立體匹配數(shù)據(jù)集
審核編輯 :李倩
-
算法
+關(guān)注
關(guān)注
23文章
4592瀏覽量
92524 -
圖像
+關(guān)注
關(guān)注
2文章
1080瀏覽量
40378 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1201瀏覽量
24622
原文標(biāo)題:雙目視覺(jué)經(jīng)典視差優(yōu)化算法:Fast Bilateral-Space Stereo
文章出處:【微信號(hào):3D視覺(jué)工坊,微信公眾號(hào):3D視覺(jué)工坊】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論