徐 城
(復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院 上海 201203)
通過(guò)對(duì)人和部分動(dòng)物的視覺(jué)原理進(jìn)行研究,人們發(fā)現(xiàn)了雙目視覺(jué),它一直是計(jì)算機(jī)視覺(jué)中的一個(gè)重要的研究方向。通過(guò)對(duì)左右兩個(gè)相機(jī)得到的不同位置的圖像進(jìn)行處理,恢復(fù)目標(biāo)場(chǎng)景的部分三維信息。雙目視覺(jué)系統(tǒng)設(shè)備簡(jiǎn)單、成本較低,因此可以被應(yīng)用在很多領(lǐng)域,如汽車(chē)的無(wú)人駕駛[1-2]、視覺(jué)現(xiàn)象研究[3]、機(jī)器人導(dǎo)航[4]等。而對(duì)雙目的研究也一直沒(méi)有中斷過(guò),目前已經(jīng)有了多種計(jì)算模型和方法,其中主要分為局部匹配法(如SAD、SSD等)和全局匹配法(如ELAS[5]、NLCA[6]等)。這些算法都有各自的優(yōu)點(diǎn)和缺點(diǎn):局部匹配算法速度快、實(shí)現(xiàn)簡(jiǎn)單,但比較依賴(lài)于圖像中的紋理特征;而全局匹配算法則相對(duì)更為復(fù)雜、耗時(shí)更多,但在圖像的低紋理區(qū)域的處理上更有優(yōu)勢(shì)。
然而在目前的雙目視覺(jué)算法中,絕大多數(shù)算法在圖片中同一個(gè)位置只會(huì)計(jì)算出一個(gè)視差,即滿(mǎn)足唯一性約束條件。這在通常情況下都是合理的,且絕大部分?jǐn)?shù)據(jù)集中也不會(huì)出現(xiàn)半透明物體,如KITTI數(shù)據(jù)集[7]和Middlebury數(shù)據(jù)集[8]。但事實(shí)上,在現(xiàn)實(shí)生活中,還是有很多的半透明物體,如帶顏色的玻璃杯、彩色的透明塑料碗、透光的薄窗簾等。人或者相機(jī)在觀(guān)察這些物體的時(shí)候,能同時(shí)觀(guān)察到被這些物體遮擋的物體。這就導(dǎo)致了在圖片中的同一個(gè)位置可能會(huì)對(duì)應(yīng)多個(gè)現(xiàn)實(shí)物體。這種情況下,絕大部分的計(jì)算模型都不適用了,包括一些有很高精度、在數(shù)據(jù)集上有較好表現(xiàn)的模型[9-10],它們對(duì)視差的計(jì)算可能會(huì)被半透明的遮擋物干擾,最終得到的視差可能因?yàn)槭艿礁蓴_而計(jì)算錯(cuò)誤。這取決于半透明遮擋物和被遮擋物體的紋理信息、半透明物體的透明度等多方面因素。
目前也存在一些對(duì)半透明物體與材質(zhì)的研究[11-12]。同時(shí)也有一些雙目條件下對(duì)半透明遮擋的研究,如基于由粗到細(xì)的視差能量模型的算法[13],但該算法依賴(lài)于由粗到細(xì)的視差能量模型[14],有神經(jīng)生物模型的普遍缺點(diǎn),受感受野大小的影響且實(shí)驗(yàn)效果并不理想。同時(shí),由于要計(jì)算各個(gè)朝向、大小的感受野響應(yīng),它的計(jì)算復(fù)雜度相對(duì)比較高。還有基于傅里葉變換、用于分離兩幅疊加圖片的算法[15],但該算法一般處理的是兩幅圖片疊加的問(wèn)題,其中每幅圖片各自的視差是相同的,因此也太不適用于處理現(xiàn)實(shí)中的半透明遮擋問(wèn)題。
針對(duì)可能存在半透明遮擋的問(wèn)題,本文進(jìn)行了研究,首先比較了部分傳統(tǒng)匹配代價(jià)函數(shù)。在存在半透明遮擋的情況下,一些僅依賴(lài)于灰度值變化的代價(jià)函數(shù)會(huì)受到較嚴(yán)重的影響,而本身就對(duì)噪聲有魯棒性的代價(jià)函數(shù)有較好的表現(xiàn)。然后,提出了一個(gè)基于歸一化互相關(guān)(NCC)的代價(jià)函數(shù)來(lái)解決雙層視差的問(wèn)題。該方法是基于對(duì)應(yīng)顏色區(qū)域的疊加實(shí)現(xiàn)的,在存在半透明遮擋和不存在半透明遮擋的情況下都適用,具有一定的魯棒性。接著,本文同時(shí)求出了以左圖像為基礎(chǔ)的兩層視差,和以右圖像為基礎(chǔ)的兩層視差,并通過(guò)對(duì)比左右視差圖去除了視差圖中的部分誤匹配點(diǎn),提升了結(jié)果的準(zhǔn)確性。最后,基于已有的雙目圖像數(shù)據(jù)集,本文模擬現(xiàn)實(shí)情況生成了部分帶半透明遮擋的數(shù)據(jù),并用這些數(shù)據(jù)來(lái)驗(yàn)證該方法的可行性。與一般雙目匹配算法相比,本文算法對(duì)傳統(tǒng)的匹配代價(jià)函數(shù)做了進(jìn)一步的改進(jìn),從原來(lái)的單層視差拓展為雙層視差,能處理存在半透明遮擋的情況,這就與普通的雙目匹配算法有了很大的不同。而與其他一些處理半透明遮擋物的雙目匹配算法比,本文算法在正確率和適用性上都有優(yōu)勢(shì)。此外,本文算法可以同時(shí)適用于存在半透明遮擋和不存在半透明遮擋的情況,這使算法在應(yīng)用方面有了更大的靈活性,可以適用于不同的場(chǎng)景。
半透明遮擋在數(shù)據(jù)集中存在較少,而在真實(shí)世界中時(shí)有發(fā)生。當(dāng)存在半透明遮擋時(shí),通過(guò)相機(jī)得到的成像顏色是原物體顏色與半透明遮擋物顏色的結(jié)合。假設(shè)被遮擋物體透明度為0%,即不透明且只有一層的半透明遮擋。同時(shí),在非半透明遮擋區(qū)域,假設(shè)存在透明度為100%的遮擋,那么在攝像機(jī)中成像的顏色計(jì)算如下:
C=C1×α+C2×(1-α)
(1)
式中:C是在照相機(jī)中成像顯示的顏色;C1是被遮擋物體顏色;C2是半透明遮擋物的顏色;α是半透明遮擋物的透明度。通過(guò)這樣的顏色疊加方法,就可以在現(xiàn)有的雙目數(shù)據(jù)圖像上疊加上半透明遮擋物,以生成實(shí)驗(yàn)數(shù)據(jù)。此外,半透明遮擋存在時(shí)的雙目成像如圖1所示,其中:OL、OR分別為左右相機(jī)的光軸中心;P1、P2表示被遮擋物體層上的點(diǎn);T1、T2、T3表示半透明遮擋層上的點(diǎn)。xL,1和xL,2表示在左圖像上的成像點(diǎn);xR,1和xR,2表示在右圖像上的成像點(diǎn)。
圖1 存在半透明遮擋的雙目系統(tǒng)
通常,雙目視差求取是基于代價(jià)函數(shù)的。圖2顯示了在隨機(jī)點(diǎn)陣的實(shí)驗(yàn)中,部分代價(jià)函數(shù)在不存在半透明遮擋和存在半透明遮擋情況下的響應(yīng)曲線(xiàn)。其中:(a)、(b)是對(duì)應(yīng)的隨機(jī)點(diǎn)陣圖片,它是一個(gè)200×200的隨機(jī)點(diǎn)陣,總體偏移為2像素,中心有一個(gè)80×80、偏移為6像素的矩形和一個(gè)120×120、偏移為10像素的半透明遮擋;(c)、(d)是SAD算法的響應(yīng)曲線(xiàn),響應(yīng)值越小表示左圖和右圖的對(duì)應(yīng)顏色塊越相似;(e)、(f)是NCC算法的響應(yīng)曲線(xiàn),響應(yīng)值越大表示左圖和右圖的對(duì)應(yīng)顏色塊越相似;(c)、(e)是不存在半透明遮擋的情況,(d)、(f)是存在半透明遮擋的情況。
圖2 隨機(jī)點(diǎn)陣圖和SAD、NCC在不存在和存在半透明遮擋下的響應(yīng)曲線(xiàn)
當(dāng)半透明遮擋不存在的時(shí)候,左圖像中的每個(gè)點(diǎn)都對(duì)應(yīng)著右圖像上的一個(gè)點(diǎn)。如圖1中,對(duì)于點(diǎn)P1,左圖中的xL,1對(duì)應(yīng)著右圖中的xR,1。當(dāng)視差取到一個(gè)較合適值的時(shí)候,左圖像上的點(diǎn)和右圖像上的點(diǎn)重合,對(duì)應(yīng)的代價(jià)函數(shù)通常有極大或極小值,如圖2中(c)和(e)。但在半透明遮擋的干擾下,左圖像中的每個(gè)點(diǎn)會(huì)對(duì)應(yīng)右圖像上的兩個(gè)點(diǎn)。如圖1,對(duì)于點(diǎn)P1,左圖中的xL,2對(duì)應(yīng)著右圖中的xR,1和xR,2。在沒(méi)有其他干擾的情況下,左圖像上的點(diǎn)與右圖像上兩個(gè)對(duì)應(yīng)點(diǎn)分別重合的時(shí)候應(yīng)該有兩個(gè)極大值或兩個(gè)極小值,如圖2中(d)和(f)。由此,可以得到一種最簡(jiǎn)單的雙層視差的求解方法:取代價(jià)函數(shù)曲線(xiàn)中最大的峰值作為第一個(gè)視差,第二大峰值作為第二個(gè)視差。這樣就可以得到兩個(gè)視差的值,兩者中較大的視差值代表半透明遮擋的視差,較小的視差值代表被遮擋物體的視差。
在使用取雙峰值的算法時(shí),使用不同的代價(jià)函數(shù)會(huì)有不同的結(jié)果。代價(jià)函數(shù)是用來(lái)表示左右兩個(gè)圖像相似性的函數(shù)。在視差計(jì)算中,通常使用的匹配代價(jià)函數(shù)有灰度值差絕對(duì)值和(SAD)、灰度值差平方和(SSD)、灰度值歸一化互相關(guān)(NCC)等。在本文的研究背景中,圖像中存在半透明區(qū)域,該區(qū)域在圖像上顯示的顏色是原物體和半透明遮擋物的結(jié)合。這就限制了很多代價(jià)函數(shù)的選擇,如SAD和SSD在使用的過(guò)程中要求左右圖像的對(duì)應(yīng)點(diǎn)灰度相同。但在實(shí)際實(shí)驗(yàn)過(guò)程中,受到半透明遮擋物的影響,相同物體在左右兩圖上的對(duì)應(yīng)灰度會(huì)有差別,這就導(dǎo)致了代價(jià)函數(shù)的可信度降低。NCC有一定的對(duì)噪聲和光照變化的魯棒性,這種特性可以在半透明遮擋的干擾下,有效地匹配物體。實(shí)驗(yàn)結(jié)果如圖3所示。圖3(a)是隨機(jī)點(diǎn)陣圖像,圖3(b)和圖3(c)分別是SAD算法得到的被遮擋物視差和半透明遮擋物視差,圖3(d)和圖3(e)分別是NCC算法得到的被遮擋物視差和半透明遮擋物視差,半透明遮擋物的透明度是50%。當(dāng)透明度合適的時(shí)候NCC算法的結(jié)果要優(yōu)于SAD算法,這顯示了它對(duì)干擾的魯棒性。因此,在之后的實(shí)驗(yàn)中,本文直接對(duì)NCC的代價(jià)函數(shù)進(jìn)行優(yōu)化,而不再考慮SAD和與SAD類(lèi)似的SSD等代價(jià)函數(shù)。
圖3 隨機(jī)點(diǎn)陣圖和SAD、NCC分別采用取雙峰值算法的雙層視差結(jié)果
取雙峰值的方法能在一定程度上求出被遮擋物的視差和半透明遮擋物的視差。但這樣的算法有一個(gè)很大的問(wèn)題,在沒(méi)有被半透明遮擋物遮擋的區(qū)域,算法仍然會(huì)去求第二個(gè)峰值,這會(huì)使結(jié)果出現(xiàn)很大的偏差。在非隨機(jī)點(diǎn)陣圖片中,這個(gè)問(wèn)題更加明顯。如圖4所示,(a)和(b)是左右兩圖,其中圖片左上部分有一塊半透明遮擋;(c)和(d)分別是求出的被遮擋物視差和半透明遮擋物視差??梢园l(fā)現(xiàn),在被遮擋區(qū)域,該算法能在一定程度上求出被遮擋物的視差和半透明遮擋物的視差。而在被遮擋的區(qū)域外,該算法的結(jié)果并不理想。
圖4 存在半透明遮擋的左右圖像和取雙峰值算法得到的雙層視差
前文中基于NCC的雙層視差計(jì)算有一個(gè)顯著的問(wèn)題,那就是對(duì)非半透明區(qū)域沒(méi)有魯棒性。即在非半透明遮擋區(qū),該算法會(huì)強(qiáng)制計(jì)算出另一個(gè)視差結(jié)果,這個(gè)視差會(huì)影響正確的視差,這是在結(jié)果中不希望看到的。因此,需要對(duì)NCC的代價(jià)函數(shù)進(jìn)行改進(jìn),使其能使用與雙層視差的求解。對(duì)NCC算法的改進(jìn)有很多種,但它們一部分是為了提高算法結(jié)果的精度[16],另外一部分都是為了加快匹配速度[17-19],這些改動(dòng)與NCC本來(lái)的性質(zhì)無(wú)關(guān)。本文在對(duì)NCC算法進(jìn)行改動(dòng)時(shí)選擇在原算法上進(jìn)行改動(dòng)。在存在半透明遮擋的情況下,左圖像上的一個(gè)點(diǎn)在右圖像上有兩個(gè)對(duì)應(yīng)點(diǎn),如圖1所示,點(diǎn)xL,2中的信息部分包含在點(diǎn)xR,1中,部分包含在點(diǎn)xR,2中。因此希望點(diǎn)xL,2能同時(shí)與xR,1和xR,2比較。本文最終把右圖像上兩個(gè)對(duì)應(yīng)點(diǎn)與它們的領(lǐng)域所對(duì)應(yīng)的圖像塊疊加,得到一個(gè)包含了右圖上兩個(gè)對(duì)應(yīng)點(diǎn)上所有信息的圖像塊:
(2)
基于這樣的想法,對(duì)NCC的代價(jià)函數(shù)進(jìn)行改進(jìn)。NCC算法的原代價(jià)函數(shù)如下:
(3)
(4)
(5)
(6)
(7)
式中:d1、d2是對(duì)應(yīng)的兩個(gè)視差,且不妨讓d1≤d2,這樣d1就代表了被遮擋物體的視差,d2就代表了半透明遮擋物的視差。由此,就得到了一個(gè)與二重視差相關(guān)的函數(shù)。固定x,遍歷d1和d2,求使Fl(x,d1,d2)最大的d1和d2,就是最后得到的視差值。
改進(jìn)結(jié)果如圖5所示,(a)和(b)兩圖像分別是被遮擋物體的視差和半透明遮擋物的視差,原圖左右圖像如圖4中(a)和(b)所示。可以看到,在存在半透明遮擋物的區(qū)域,該算法結(jié)果與直接用NCC算法取雙峰值的結(jié)果相差不大,但是在不存在半透明遮擋的區(qū)域,其結(jié)果要遠(yuǎn)優(yōu)于直接用NCC算法取雙峰值的結(jié)果。
圖5 改進(jìn)的NCC代價(jià)函數(shù)得到的基于左圖的雙層視差結(jié)果
圖5的結(jié)果是以左圖像為基礎(chǔ)得到的視差圖。同樣,可以用右圖像為基礎(chǔ)得到對(duì)應(yīng)的視差圖。在半透明遮擋的區(qū)域,右圖中的某一點(diǎn)同樣在左圖中有對(duì)應(yīng)的兩個(gè)點(diǎn)。因此,基于上文,可以得到類(lèi)似的公式:
(8)
(9)
這樣,可以得到以右圖為基礎(chǔ)的視差圖如圖6所示,(a)和(b)兩圖像分別是被遮擋物體的視差和半透明遮擋物的視差,原圖左右圖像如圖4中(a)和(b)所示。
圖6 改進(jìn)的NCC代價(jià)函數(shù)得到的基于右圖的雙層視差結(jié)果
從實(shí)驗(yàn)結(jié)果可以看到,在半透明遮擋區(qū)域,算法會(huì)分別得到被遮擋物體的視差和半透明遮擋物的視差;而在沒(méi)有被半透明物體遮擋的區(qū)域,算法會(huì)直接以原本場(chǎng)景中物體的視差為被遮擋物的視差和遮擋物的視差。這相當(dāng)于緊貼著物體有一層透明度為100%的遮擋物。另外,可以發(fā)現(xiàn)在結(jié)果圖像中仍有一些錯(cuò)誤的點(diǎn),如在部分遮擋區(qū)域,由于半透明遮擋物的特征太突出,算法沒(méi)有求出被遮擋物的視差。為了對(duì)這些錯(cuò)誤點(diǎn)進(jìn)行校正,提升結(jié)果質(zhì)量,需要對(duì)視差結(jié)果進(jìn)行校正。
圖7 根據(jù)左右校正去除不可信視差后得到的雙層視差結(jié)果
此外,根據(jù)領(lǐng)域一致性,還有一些點(diǎn)是不可信的,就是那些與鄰域點(diǎn)的視差有很大差別的點(diǎn),這些點(diǎn)雖然經(jīng)過(guò)了左右校正,但仍然可能是計(jì)算錯(cuò)誤的點(diǎn)。所以,當(dāng)某個(gè)點(diǎn)的視差遠(yuǎn)大于或遠(yuǎn)小于它周?chē)拇蟛糠贮c(diǎn)的時(shí)候,認(rèn)為這個(gè)點(diǎn)的值是不可信的。在實(shí)現(xiàn)過(guò)程中,取閾值q,當(dāng)某個(gè)點(diǎn)的鄰域內(nèi),與它視差相近的點(diǎn)的比率小于q的時(shí)候,就認(rèn)為這個(gè)點(diǎn)是不可信的。實(shí)驗(yàn)中取q=30%。去除掉這部分點(diǎn)后,結(jié)果如圖8所示。
圖8 根據(jù)鄰域一致性去除不可信視差后得到的雙層視差結(jié)果
去除了不可信的視差后,需要對(duì)去除的視差進(jìn)行填充。視差填充的方法有很多,如在DoubleBP[20]中基于顏色把圖像分塊后再進(jìn)行平面擬合的方法,另外還有基于最近可信點(diǎn)視差的填充、基于鄰域視差均值的填充等。由于存在半透明遮擋的情況,顏色信息會(huì)受到干擾,因此基于顏色分割的填充并不適用。本文結(jié)合了鄰域的顏色信息和代價(jià)函數(shù)響應(yīng)信息填充,對(duì)于一個(gè)需要填充的視差,取它鄰域內(nèi)與它顏色接近的點(diǎn)中代價(jià)函數(shù)響應(yīng)值最大的那個(gè)點(diǎn)的視差作為填充視差,填充結(jié)果如圖9所示,其結(jié)果要遠(yuǎn)優(yōu)于圖5中得到的結(jié)果。
圖9 填充后得到的雙層視差結(jié)果
除了隨機(jī)點(diǎn)陣的實(shí)驗(yàn)外,還需要其他的實(shí)驗(yàn)來(lái)驗(yàn)證本文算法的可信性,而包含有半透明遮擋的實(shí)驗(yàn)數(shù)據(jù)較難直接獲得。因此,本文基于Middlebury數(shù)據(jù)集[8]自主生成了一些實(shí)驗(yàn)數(shù)據(jù),圖4中(a)和(b)也是其中一組。生成數(shù)據(jù)的方式是在原本的圖像上疊加上一個(gè)半透明的顏色塊,并保證這個(gè)半透明顏色塊的視差要大于它所覆蓋的圖像的視差,因?yàn)樵诂F(xiàn)實(shí)生活中半透明遮擋物不會(huì)出現(xiàn)在被遮擋物的后面。然而,半透明遮擋物的選擇對(duì)結(jié)果會(huì)有很大的影響。如果遮擋物透明度過(guò)大,那么算法就會(huì)檢測(cè)不到遮擋物,最終導(dǎo)致只能得到被遮擋物的視差。如果遮擋物透明度過(guò)小,那么算法就會(huì)檢測(cè)不到被遮擋物,最終導(dǎo)致只能得到遮擋物的視差。如果遮擋物紋理過(guò)于簡(jiǎn)單,那么可能會(huì)把半透明遮擋物造成的顏色變化當(dāng)成是光線(xiàn)造成的顏色變化,從而忽略遮擋物。如果遮擋物紋理特征過(guò)于突出,又容易忽略掉背后的被遮擋物。因此,需要一個(gè)有合適透明度和合適紋理的遮擋物。在實(shí)驗(yàn)過(guò)程中,本文結(jié)合了漸變色的紋理和隨機(jī)點(diǎn)陣的紋理,生成了如下的遮擋物:
(10)
式中:It(x,y)表示半透明物體在第x行y列的顏色信息;Y_MAX是y的最大值;Random(0,1)表示隨機(jī)取0和1中的一個(gè)數(shù);β表示隨機(jī)點(diǎn)陣紋理的占比,一般讓漸變色的紋理比重更大,即讓?duì)?0.5。最后根據(jù)透明度和式(1),把它疊加在原圖像的某一個(gè)區(qū)域中,生成一個(gè)實(shí)驗(yàn)數(shù)據(jù)。
最后得到的實(shí)驗(yàn)數(shù)據(jù)如圖10所示,其中共有4大組,每大組中以一對(duì)左右圖像為基礎(chǔ),又生成4個(gè)小組,總共16個(gè)小組。在每大組中,第一個(gè)小組的數(shù)據(jù)是沒(méi)有半透明遮擋的,第2-第4個(gè)小組的數(shù)據(jù)中的半透明遮擋物的透明度分別是70%、50%和30%。從結(jié)果中可以看到,當(dāng)不存在半透明遮擋的時(shí)候得到的兩組視差雖然略有不同,但都是代表原圖的視差,這說(shuō)明該算法在沒(méi)有遮擋物的時(shí)候也適用。當(dāng)半透明遮擋物透明度是70%的時(shí)候,在被遮擋區(qū)域,算法能基本區(qū)分遮擋物和被遮擋物,并分別求出兩者的視差。當(dāng)半透明遮擋物的透明度是50%的時(shí)候,有部分被遮擋物無(wú)法識(shí)別,只能檢測(cè)到遮擋物。當(dāng)遮擋物透明度是30%的時(shí)候,基本上無(wú)法檢測(cè)到被遮擋物,而只能求出遮擋物的視差。隨著透明度的降低,遮擋物對(duì)被遮擋物的覆蓋越來(lái)越明顯,這與現(xiàn)實(shí)生活中的情況相符,一個(gè)物體越是不透明,就越難以觀(guān)察到它遮擋住的物體。本文的算法對(duì)半透明遮擋區(qū)域的存在與否有一定的魯棒性,能同時(shí)適應(yīng)存在半透明遮擋物和不存在半透明遮擋物的情況,并且在半透明遮擋物的透明度處在一個(gè)比較合適的范圍的時(shí)候,本文算法能得到一個(gè)較好的結(jié)果。
圖10 生成的實(shí)驗(yàn)數(shù)據(jù)和根據(jù)改進(jìn)代價(jià)函數(shù)得到的雙層視差結(jié)果
此外,本文實(shí)現(xiàn)了基于NCC取雙峰值的算法和基于由粗到細(xì)視差能量模型的算法[13]來(lái)與本文算法作比較,并在生成圖像上對(duì)各個(gè)算法進(jìn)行了實(shí)驗(yàn),得到了它們的平均錯(cuò)誤率,結(jié)果如表1所示。前兩列是在半透明遮擋物覆蓋率是100%的情況下各個(gè)算法的平均錯(cuò)誤率;后兩列是在半透明遮擋物覆蓋率是50%的情況下各個(gè)算法的平均錯(cuò)誤率。其中又分為半透明遮擋物的視差的錯(cuò)誤率和被遮擋物體,即背景的視差錯(cuò)誤率。
表1 各算法平均錯(cuò)誤率(%)
實(shí)驗(yàn)中半透明遮擋物的透明度在30%~70%之間。由實(shí)驗(yàn)結(jié)果可以看到,當(dāng)半透明遮擋物覆蓋率是100%時(shí),圖像上每個(gè)點(diǎn)都對(duì)應(yīng)著兩個(gè)視差,這時(shí)基于NCC的取雙峰值的算法有不錯(cuò)的結(jié)果,但當(dāng)半透明遮擋物覆蓋率下降到50%的時(shí)候,該算法的結(jié)果就產(chǎn)生了很多錯(cuò)誤。這是因?yàn)樵撍惴〞?huì)在沒(méi)有半透明遮擋的區(qū)域同樣求出兩個(gè)峰值,但該區(qū)域的物體只對(duì)應(yīng)一個(gè)視差,額外求出的峰值會(huì)對(duì)結(jié)果判斷產(chǎn)生干擾。而本文算法在半透明物體覆蓋率是100%和50%的時(shí)候都有較好的結(jié)果?;谟纱值郊?xì)視差能量模型的算法在兩種覆蓋率中的錯(cuò)誤率都高于本文算法。此外,還可以看到,在經(jīng)過(guò)視差校正后,本文方法的錯(cuò)誤率有所下降,這表明在本文算法中視差的校正是有效的。
現(xiàn)實(shí)生活中存在很多半透明物體,但目前的雙目視覺(jué)匹配算法基本不能適用于存在半透明遮擋物的情況,這會(huì)讓部分雙目視覺(jué)產(chǎn)品在實(shí)際應(yīng)用的過(guò)程中發(fā)生錯(cuò)誤。針對(duì)這個(gè)問(wèn)題,本文研究了一般代價(jià)函數(shù)在存在半透明遮擋下的情況,在隨機(jī)點(diǎn)陣中驗(yàn)證了基于代價(jià)函數(shù)取雙峰值的方法,并找到了其缺陷。之后,本文改進(jìn)了NCC算法的代價(jià)函數(shù),設(shè)計(jì)了一種能同時(shí)適應(yīng)存在遮擋物和不存在遮擋物情況的算法模型,并通過(guò)左右校正等方法對(duì)其結(jié)果進(jìn)行優(yōu)化。最后,本文通過(guò)實(shí)驗(yàn)驗(yàn)證了當(dāng)遮擋物的透明度在合適的范圍內(nèi)時(shí),該模型有較好的效果,可以被應(yīng)用在雙目視覺(jué)的各個(gè)領(lǐng)域以處理存在半透明遮擋的情況。