999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于歸一化互相關的半透明遮擋視差估計

2022-01-28 03:00:56
計算機應用與軟件 2022年1期

徐 城

(復旦大學計算機科學技術學院 上海 201203)

0 引 言

通過對人和部分動物的視覺原理進行研究,人們發現了雙目視覺,它一直是計算機視覺中的一個重要的研究方向。通過對左右兩個相機得到的不同位置的圖像進行處理,恢復目標場景的部分三維信息。雙目視覺系統設備簡單、成本較低,因此可以被應用在很多領域,如汽車的無人駕駛[1-2]、視覺現象研究[3]、機器人導航[4]等。而對雙目的研究也一直沒有中斷過,目前已經有了多種計算模型和方法,其中主要分為局部匹配法(如SAD、SSD等)和全局匹配法(如ELAS[5]、NLCA[6]等)。這些算法都有各自的優點和缺點:局部匹配算法速度快、實現簡單,但比較依賴于圖像中的紋理特征;而全局匹配算法則相對更為復雜、耗時更多,但在圖像的低紋理區域的處理上更有優勢。

然而在目前的雙目視覺算法中,絕大多數算法在圖片中同一個位置只會計算出一個視差,即滿足唯一性約束條件。這在通常情況下都是合理的,且絕大部分數據集中也不會出現半透明物體,如KITTI數據集[7]和Middlebury數據集[8]。但事實上,在現實生活中,還是有很多的半透明物體,如帶顏色的玻璃杯、彩色的透明塑料碗、透光的薄窗簾等。人或者相機在觀察這些物體的時候,能同時觀察到被這些物體遮擋的物體。這就導致了在圖片中的同一個位置可能會對應多個現實物體。這種情況下,絕大部分的計算模型都不適用了,包括一些有很高精度、在數據集上有較好表現的模型[9-10],它們對視差的計算可能會被半透明的遮擋物干擾,最終得到的視差可能因為受到干擾而計算錯誤。這取決于半透明遮擋物和被遮擋物體的紋理信息、半透明物體的透明度等多方面因素。

目前也存在一些對半透明物體與材質的研究[11-12]。同時也有一些雙目條件下對半透明遮擋的研究,如基于由粗到細的視差能量模型的算法[13],但該算法依賴于由粗到細的視差能量模型[14],有神經生物模型的普遍缺點,受感受野大小的影響且實驗效果并不理想。同時,由于要計算各個朝向、大小的感受野響應,它的計算復雜度相對比較高。還有基于傅里葉變換、用于分離兩幅疊加圖片的算法[15],但該算法一般處理的是兩幅圖片疊加的問題,其中每幅圖片各自的視差是相同的,因此也太不適用于處理現實中的半透明遮擋問題。

針對可能存在半透明遮擋的問題,本文進行了研究,首先比較了部分傳統匹配代價函數。在存在半透明遮擋的情況下,一些僅依賴于灰度值變化的代價函數會受到較嚴重的影響,而本身就對噪聲有魯棒性的代價函數有較好的表現。然后,提出了一個基于歸一化互相關(NCC)的代價函數來解決雙層視差的問題。該方法是基于對應顏色區域的疊加實現的,在存在半透明遮擋和不存在半透明遮擋的情況下都適用,具有一定的魯棒性。接著,本文同時求出了以左圖像為基礎的兩層視差,和以右圖像為基礎的兩層視差,并通過對比左右視差圖去除了視差圖中的部分誤匹配點,提升了結果的準確性。最后,基于已有的雙目圖像數據集,本文模擬現實情況生成了部分帶半透明遮擋的數據,并用這些數據來驗證該方法的可行性。與一般雙目匹配算法相比,本文算法對傳統的匹配代價函數做了進一步的改進,從原來的單層視差拓展為雙層視差,能處理存在半透明遮擋的情況,這就與普通的雙目匹配算法有了很大的不同。而與其他一些處理半透明遮擋物的雙目匹配算法比,本文算法在正確率和適用性上都有優勢。此外,本文算法可以同時適用于存在半透明遮擋和不存在半透明遮擋的情況,這使算法在應用方面有了更大的靈活性,可以適用于不同的場景。

1 一般代價函數

1.1 存在半透明遮擋的雙目系統

半透明遮擋在數據集中存在較少,而在真實世界中時有發生。當存在半透明遮擋時,通過相機得到的成像顏色是原物體顏色與半透明遮擋物顏色的結合。假設被遮擋物體透明度為0%,即不透明且只有一層的半透明遮擋。同時,在非半透明遮擋區域,假設存在透明度為100%的遮擋,那么在攝像機中成像的顏色計算如下:

C=C1×α+C2×(1-α)

(1)

式中:C是在照相機中成像顯示的顏色;C1是被遮擋物體顏色;C2是半透明遮擋物的顏色;α是半透明遮擋物的透明度。通過這樣的顏色疊加方法,就可以在現有的雙目數據圖像上疊加上半透明遮擋物,以生成實驗數據。此外,半透明遮擋存在時的雙目成像如圖1所示,其中:OL、OR分別為左右相機的光軸中心;P1、P2表示被遮擋物體層上的點;T1、T2、T3表示半透明遮擋層上的點。xL,1和xL,2表示在左圖像上的成像點;xR,1和xR,2表示在右圖像上的成像點。

圖1 存在半透明遮擋的雙目系統

1.2 求取視差

通常,雙目視差求取是基于代價函數的。圖2顯示了在隨機點陣的實驗中,部分代價函數在不存在半透明遮擋和存在半透明遮擋情況下的響應曲線。其中:(a)、(b)是對應的隨機點陣圖片,它是一個200×200的隨機點陣,總體偏移為2像素,中心有一個80×80、偏移為6像素的矩形和一個120×120、偏移為10像素的半透明遮擋;(c)、(d)是SAD算法的響應曲線,響應值越小表示左圖和右圖的對應顏色塊越相似;(e)、(f)是NCC算法的響應曲線,響應值越大表示左圖和右圖的對應顏色塊越相似;(c)、(e)是不存在半透明遮擋的情況,(d)、(f)是存在半透明遮擋的情況。

圖2 隨機點陣圖和SAD、NCC在不存在和存在半透明遮擋下的響應曲線

當半透明遮擋不存在的時候,左圖像中的每個點都對應著右圖像上的一個點。如圖1中,對于點P1,左圖中的xL,1對應著右圖中的xR,1。當視差取到一個較合適值的時候,左圖像上的點和右圖像上的點重合,對應的代價函數通常有極大或極小值,如圖2中(c)和(e)。但在半透明遮擋的干擾下,左圖像中的每個點會對應右圖像上的兩個點。如圖1,對于點P1,左圖中的xL,2對應著右圖中的xR,1和xR,2。在沒有其他干擾的情況下,左圖像上的點與右圖像上兩個對應點分別重合的時候應該有兩個極大值或兩個極小值,如圖2中(d)和(f)。由此,可以得到一種最簡單的雙層視差的求解方法:取代價函數曲線中最大的峰值作為第一個視差,第二大峰值作為第二個視差。這樣就可以得到兩個視差的值,兩者中較大的視差值代表半透明遮擋的視差,較小的視差值代表被遮擋物體的視差。

在使用取雙峰值的算法時,使用不同的代價函數會有不同的結果。代價函數是用來表示左右兩個圖像相似性的函數。在視差計算中,通常使用的匹配代價函數有灰度值差絕對值和(SAD)、灰度值差平方和(SSD)、灰度值歸一化互相關(NCC)等。在本文的研究背景中,圖像中存在半透明區域,該區域在圖像上顯示的顏色是原物體和半透明遮擋物的結合。這就限制了很多代價函數的選擇,如SAD和SSD在使用的過程中要求左右圖像的對應點灰度相同。但在實際實驗過程中,受到半透明遮擋物的影響,相同物體在左右兩圖上的對應灰度會有差別,這就導致了代價函數的可信度降低。NCC有一定的對噪聲和光照變化的魯棒性,這種特性可以在半透明遮擋的干擾下,有效地匹配物體。實驗結果如圖3所示。圖3(a)是隨機點陣圖像,圖3(b)和圖3(c)分別是SAD算法得到的被遮擋物視差和半透明遮擋物視差,圖3(d)和圖3(e)分別是NCC算法得到的被遮擋物視差和半透明遮擋物視差,半透明遮擋物的透明度是50%。當透明度合適的時候NCC算法的結果要優于SAD算法,這顯示了它對干擾的魯棒性。因此,在之后的實驗中,本文直接對NCC的代價函數進行優化,而不再考慮SAD和與SAD類似的SSD等代價函數。

圖3 隨機點陣圖和SAD、NCC分別采用取雙峰值算法的雙層視差結果

取雙峰值的方法能在一定程度上求出被遮擋物的視差和半透明遮擋物的視差。但這樣的算法有一個很大的問題,在沒有被半透明遮擋物遮擋的區域,算法仍然會去求第二個峰值,這會使結果出現很大的偏差。在非隨機點陣圖片中,這個問題更加明顯。如圖4所示,(a)和(b)是左右兩圖,其中圖片左上部分有一塊半透明遮擋;(c)和(d)分別是求出的被遮擋物視差和半透明遮擋物視差。可以發現,在被遮擋區域,該算法能在一定程度上求出被遮擋物的視差和半透明遮擋物的視差。而在被遮擋的區域外,該算法的結果并不理想。

圖4 存在半透明遮擋的左右圖像和取雙峰值算法得到的雙層視差

2 改進的代價函數

前文中基于NCC的雙層視差計算有一個顯著的問題,那就是對非半透明區域沒有魯棒性。即在非半透明遮擋區,該算法會強制計算出另一個視差結果,這個視差會影響正確的視差,這是在結果中不希望看到的。因此,需要對NCC的代價函數進行改進,使其能使用與雙層視差的求解。對NCC算法的改進有很多種,但它們一部分是為了提高算法結果的精度[16],另外一部分都是為了加快匹配速度[17-19],這些改動與NCC本來的性質無關。本文在對NCC算法進行改動時選擇在原算法上進行改動。在存在半透明遮擋的情況下,左圖像上的一個點在右圖像上有兩個對應點,如圖1所示,點xL,2中的信息部分包含在點xR,1中,部分包含在點xR,2中。因此希望點xL,2能同時與xR,1和xR,2比較。本文最終把右圖像上兩個對應點與它們的領域所對應的圖像塊疊加,得到一個包含了右圖上兩個對應點上所有信息的圖像塊:

(2)

基于這樣的想法,對NCC的代價函數進行改進。NCC算法的原代價函數如下:

(3)

(4)

(5)

(6)

(7)

式中:d1、d2是對應的兩個視差,且不妨讓d1≤d2,這樣d1就代表了被遮擋物體的視差,d2就代表了半透明遮擋物的視差。由此,就得到了一個與二重視差相關的函數。固定x,遍歷d1和d2,求使Fl(x,d1,d2)最大的d1和d2,就是最后得到的視差值。

改進結果如圖5所示,(a)和(b)兩圖像分別是被遮擋物體的視差和半透明遮擋物的視差,原圖左右圖像如圖4中(a)和(b)所示。可以看到,在存在半透明遮擋物的區域,該算法結果與直接用NCC算法取雙峰值的結果相差不大,但是在不存在半透明遮擋的區域,其結果要遠優于直接用NCC算法取雙峰值的結果。

圖5 改進的NCC代價函數得到的基于左圖的雙層視差結果

圖5的結果是以左圖像為基礎得到的視差圖。同樣,可以用右圖像為基礎得到對應的視差圖。在半透明遮擋的區域,右圖中的某一點同樣在左圖中有對應的兩個點。因此,基于上文,可以得到類似的公式:

(8)

(9)

這樣,可以得到以右圖為基礎的視差圖如圖6所示,(a)和(b)兩圖像分別是被遮擋物體的視差和半透明遮擋物的視差,原圖左右圖像如圖4中(a)和(b)所示。

圖6 改進的NCC代價函數得到的基于右圖的雙層視差結果

從實驗結果可以看到,在半透明遮擋區域,算法會分別得到被遮擋物體的視差和半透明遮擋物的視差;而在沒有被半透明物體遮擋的區域,算法會直接以原本場景中物體的視差為被遮擋物的視差和遮擋物的視差。這相當于緊貼著物體有一層透明度為100%的遮擋物。另外,可以發現在結果圖像中仍有一些錯誤的點,如在部分遮擋區域,由于半透明遮擋物的特征太突出,算法沒有求出被遮擋物的視差。為了對這些錯誤點進行校正,提升結果質量,需要對視差結果進行校正。

3 視差校正

3.1 去除不可信視差

圖7 根據左右校正去除不可信視差后得到的雙層視差結果

此外,根據領域一致性,還有一些點是不可信的,就是那些與鄰域點的視差有很大差別的點,這些點雖然經過了左右校正,但仍然可能是計算錯誤的點。所以,當某個點的視差遠大于或遠小于它周圍的大部分點的時候,認為這個點的值是不可信的。在實現過程中,取閾值q,當某個點的鄰域內,與它視差相近的點的比率小于q的時候,就認為這個點是不可信的。實驗中取q=30%。去除掉這部分點后,結果如圖8所示。

圖8 根據鄰域一致性去除不可信視差后得到的雙層視差結果

3.2 視差填充

去除了不可信的視差后,需要對去除的視差進行填充。視差填充的方法有很多,如在DoubleBP[20]中基于顏色把圖像分塊后再進行平面擬合的方法,另外還有基于最近可信點視差的填充、基于鄰域視差均值的填充等。由于存在半透明遮擋的情況,顏色信息會受到干擾,因此基于顏色分割的填充并不適用。本文結合了鄰域的顏色信息和代價函數響應信息填充,對于一個需要填充的視差,取它鄰域內與它顏色接近的點中代價函數響應值最大的那個點的視差作為填充視差,填充結果如圖9所示,其結果要遠優于圖5中得到的結果。

圖9 填充后得到的雙層視差結果

4 驗證實驗

除了隨機點陣的實驗外,還需要其他的實驗來驗證本文算法的可信性,而包含有半透明遮擋的實驗數據較難直接獲得。因此,本文基于Middlebury數據集[8]自主生成了一些實驗數據,圖4中(a)和(b)也是其中一組。生成數據的方式是在原本的圖像上疊加上一個半透明的顏色塊,并保證這個半透明顏色塊的視差要大于它所覆蓋的圖像的視差,因為在現實生活中半透明遮擋物不會出現在被遮擋物的后面。然而,半透明遮擋物的選擇對結果會有很大的影響。如果遮擋物透明度過大,那么算法就會檢測不到遮擋物,最終導致只能得到被遮擋物的視差。如果遮擋物透明度過小,那么算法就會檢測不到被遮擋物,最終導致只能得到遮擋物的視差。如果遮擋物紋理過于簡單,那么可能會把半透明遮擋物造成的顏色變化當成是光線造成的顏色變化,從而忽略遮擋物。如果遮擋物紋理特征過于突出,又容易忽略掉背后的被遮擋物。因此,需要一個有合適透明度和合適紋理的遮擋物。在實驗過程中,本文結合了漸變色的紋理和隨機點陣的紋理,生成了如下的遮擋物:

(10)

式中:It(x,y)表示半透明物體在第x行y列的顏色信息;Y_MAX是y的最大值;Random(0,1)表示隨機取0和1中的一個數;β表示隨機點陣紋理的占比,一般讓漸變色的紋理比重更大,即讓β<0.5。最后根據透明度和式(1),把它疊加在原圖像的某一個區域中,生成一個實驗數據。

最后得到的實驗數據如圖10所示,其中共有4大組,每大組中以一對左右圖像為基礎,又生成4個小組,總共16個小組。在每大組中,第一個小組的數據是沒有半透明遮擋的,第2-第4個小組的數據中的半透明遮擋物的透明度分別是70%、50%和30%。從結果中可以看到,當不存在半透明遮擋的時候得到的兩組視差雖然略有不同,但都是代表原圖的視差,這說明該算法在沒有遮擋物的時候也適用。當半透明遮擋物透明度是70%的時候,在被遮擋區域,算法能基本區分遮擋物和被遮擋物,并分別求出兩者的視差。當半透明遮擋物的透明度是50%的時候,有部分被遮擋物無法識別,只能檢測到遮擋物。當遮擋物透明度是30%的時候,基本上無法檢測到被遮擋物,而只能求出遮擋物的視差。隨著透明度的降低,遮擋物對被遮擋物的覆蓋越來越明顯,這與現實生活中的情況相符,一個物體越是不透明,就越難以觀察到它遮擋住的物體。本文的算法對半透明遮擋區域的存在與否有一定的魯棒性,能同時適應存在半透明遮擋物和不存在半透明遮擋物的情況,并且在半透明遮擋物的透明度處在一個比較合適的范圍的時候,本文算法能得到一個較好的結果。

圖10 生成的實驗數據和根據改進代價函數得到的雙層視差結果

此外,本文實現了基于NCC取雙峰值的算法和基于由粗到細視差能量模型的算法[13]來與本文算法作比較,并在生成圖像上對各個算法進行了實驗,得到了它們的平均錯誤率,結果如表1所示。前兩列是在半透明遮擋物覆蓋率是100%的情況下各個算法的平均錯誤率;后兩列是在半透明遮擋物覆蓋率是50%的情況下各個算法的平均錯誤率。其中又分為半透明遮擋物的視差的錯誤率和被遮擋物體,即背景的視差錯誤率。

表1 各算法平均錯誤率(%)

實驗中半透明遮擋物的透明度在30%~70%之間。由實驗結果可以看到,當半透明遮擋物覆蓋率是100%時,圖像上每個點都對應著兩個視差,這時基于NCC的取雙峰值的算法有不錯的結果,但當半透明遮擋物覆蓋率下降到50%的時候,該算法的結果就產生了很多錯誤。這是因為該算法會在沒有半透明遮擋的區域同樣求出兩個峰值,但該區域的物體只對應一個視差,額外求出的峰值會對結果判斷產生干擾。而本文算法在半透明物體覆蓋率是100%和50%的時候都有較好的結果。基于由粗到細視差能量模型的算法在兩種覆蓋率中的錯誤率都高于本文算法。此外,還可以看到,在經過視差校正后,本文方法的錯誤率有所下降,這表明在本文算法中視差的校正是有效的。

5 結 語

現實生活中存在很多半透明物體,但目前的雙目視覺匹配算法基本不能適用于存在半透明遮擋物的情況,這會讓部分雙目視覺產品在實際應用的過程中發生錯誤。針對這個問題,本文研究了一般代價函數在存在半透明遮擋下的情況,在隨機點陣中驗證了基于代價函數取雙峰值的方法,并找到了其缺陷。之后,本文改進了NCC算法的代價函數,設計了一種能同時適應存在遮擋物和不存在遮擋物情況的算法模型,并通過左右校正等方法對其結果進行優化。最后,本文通過實驗驗證了當遮擋物的透明度在合適的范圍內時,該模型有較好的效果,可以被應用在雙目視覺的各個領域以處理存在半透明遮擋的情況。

主站蜘蛛池模板: 日本在线国产| 黄色网在线| 草草线在成年免费视频2| 中文国产成人精品久久一| 91精品久久久无码中文字幕vr| 色亚洲激情综合精品无码视频 | 日本久久免费| 有专无码视频| 狠狠v日韩v欧美v| 色婷婷亚洲综合五月| 亚洲区第一页| 日韩A级毛片一区二区三区| 国产最新无码专区在线| 99在线免费播放| 亚洲国产成人精品无码区性色| 啪啪啪亚洲无码| 成人精品视频一区二区在线| a级毛片免费网站| 国产另类视频| 日韩区欧美区| 久久久噜噜噜久久中文字幕色伊伊 | 国产第二十一页| 国产情侣一区二区三区| 亚洲欧美在线看片AI| 欧美日韩精品在线播放| 黄色在线不卡| 日本五区在线不卡精品| 91福利一区二区三区| 亚洲精品成人片在线观看| 亚洲一区第一页| 91精品视频网站| 国产美女无遮挡免费视频| 亚洲视频免| 亚洲欧美在线综合一区二区三区| 国产门事件在线| 亚洲人成网18禁| 伊人查蕉在线观看国产精品| 欧美精品影院| 午夜啪啪网| 波多野结衣在线se| 国产拍在线| 福利在线不卡一区| 国产尤物在线播放| 国产成人一区在线播放| 最新国产精品鲁鲁免费视频| 亚洲成人手机在线| 国产成人精品高清在线| 国产肉感大码AV无码| 免费三A级毛片视频| 国产一二视频| 亚洲日韩第九十九页| 亚洲av无码专区久久蜜芽| 久久一本日韩精品中文字幕屁孩| 天堂成人av| 亚洲最大综合网| 亚洲视频免费在线| 欧美日韩福利| AV网站中文| 国产在线第二页| 亚洲黄网在线| 亚洲女同欧美在线| 日韩国产亚洲一区二区在线观看| 日韩高清欧美| 九色在线观看视频| 国产九九精品视频| 在线观看av永久| 久久精品中文无码资源站| 中文字幕2区| 91欧美在线| 国产男女免费完整版视频| a毛片免费看| 欧美亚洲一区二区三区在线| 亚洲无码视频喷水| 97精品久久久大香线焦| 日韩精品专区免费无码aⅴ| 亚洲人成影视在线观看| 九九线精品视频在线观看| 亚洲国产av无码综合原创国产| 国产视频a| 亚洲va在线∨a天堂va欧美va| 一本视频精品中文字幕| 欧美福利在线|