一種立體圖像匹配圖計算方法與流程
2023-05-13 01:51:07 2

本發明屬於圖像處理、立體視覺技術領域,具體講本發明涉及一種用於重定向的立體圖像匹配圖計算方法。
背景技術:
與平面圖像相比,立體圖像具有的深度信息能夠為重定向帶來有價值的線索。然而,該信息的保存也為立體圖像重定向帶來了新的挑戰。立體圖像重定向不僅要減小視覺失真,還要減小視差失真。視差值的改變會影響圖像的立體感知,甚至使得立體效果完全消失。將平面圖像重定向算法直接應用到立體圖像時,由於忽視了立體圖像中像素之間的視差關係,會帶來嚴重的視差失真。為了減少視差失真,立體圖像重定向過程中需要注意保持像素之間匹配關係。
現存的方法一般用視差關係來找到匹配像素。首先計算出左視圖和右視圖的視差圖,再根據視差關係,左視圖中的像素點找到其在右視圖中的匹配點。比如離散的重定向方法中,立體線裁剪的方法就是通過去除掉左右視圖中相匹配的像素來對立體圖像進行重定向處理。該方法中,先計算出左視圖中的裁減線,再根據視差圖,找到右視圖中相匹配的裁減線。由於該方法沒有考慮到空間相關性,當需要裁剪的線較多時,會出現很嚴重的失真。連續的重定向方法,比如網格變換方法,通過調整網格頂點的坐標來對圖像進行重定向處理。這種方法中,左視圖中網格頂點或者是特徵點根據視差關係找到其在右視圖中的匹配點,再對這些匹配點做相對應的處理,得到最終的立體圖像重定向結果。由於只對一些稀疏的點進行匹配處理,其他未匹配點的變化很可能會造成嚴重的視差失真。這些方法都是先對左視圖中的像素進行處理,再通過視差圖來找到其在右視圖的匹配像素點,再做相應的處理,來保存視差關係,減小失真。由於計算錯誤或者是遮擋點的原因,有一些右視圖中的點無法與左視圖中的點相匹配。上述方法中,不需要對所有的像素進行處理,所以只找出那些能夠較好匹配地點進行處理。但是如果遇到需要對所有像素進行匹配處理的情況,直接利用視差圖進行匹配會造成嚴重的失真。
基於像素融合的圖像重定向方法需要計算每一個像素的縮放因子來得到最終的重定向圖像。如果立體圖像的視差關係計算錯誤或遇到遮擋點,左視圖中的像素不能夠與右視圖中的像素進行一對一匹配,這就導致右視圖中有些點不能夠得到匹配信息。為了給右視圖中所有的點找到相匹配的點,可以根據右視圖的視差圖來找到左視圖中與右視圖中的像素相匹配的點。但是這種方法還是會出現多對一的情況,造成失真,也不能保存空間相關性。
技術實現要素:
為克服現有技術的不足,針對單純的利用視差關係來對左右視圖中的像素進行匹配,有時會產生多個像素有相同的匹配點的情況,本發明旨在提出一種立體圖像匹配圖計算方法,為立體圖像重定向帶來較好的像素匹配結果。本發明採用的技術方案是,立體圖像匹配圖計算方法,步驟如下:
1.能量方程的建立
選擇線匹配對來表示立體圖像對之間的像素關係:首先,在線匹配像素之前進行線選擇,建立能量方程來對線選擇進行模型化處理,該能量方程同時考慮了線的選擇特性和匹配特性,定義如下:
Etotal(i,j,j±)=α·Eselect(i,j,j±)+(1-α)·Ematch(i,j),
其中i代表像素的橫坐標,j代表像素的縱坐標,j±代表第i-1行被選擇的像素的縱坐標。使用廣義上的線,也就是說,i-1行中被選擇的像素可以是該行任意一個像素,而不像連續的線那樣,i-1行中被選擇的像素必須是第i行被選擇像素的相鄰像素,也就是說j±∈{j-1,j,j+1}。α是一個權衡因子,表示線選擇特性和線匹配特性的重要性,Eselect為線選擇特性的能量方程,Ematch為線匹配的能量方程;
2.基於動態規劃的線選擇
建立了能量方程之後,根據該能量方程建立代價矩陣M,並採用動態規劃方法進行線選擇;由於被遮擋的像素沒有匹配像素點,不能被選擇,因此將這些點的代價值設為無窮M(i,j)=∞,該約束能夠避免被遮擋像素被選擇,所以代價矩陣如下:
O(i,j)是一個二值圖,代表坐標為(i,j)的像素是否被遮擋;
被選擇的線將會從代價矩陣M中移除以免重複選擇,然後重新計算代價矩陣M來選擇出下一條線,該動態規划過程將會重複直到某一行中剩下的像素全部為不能被選擇的被遮擋點為止;
3.匹配圖的建立
線選擇之後,按照選擇的順序,進行線匹配。首先,線中的像素根據視差關係尋找匹配像素得到匹配線對。然後,線匹配對被暫時移除,以避免重複匹配。接著尋找下一個線匹配對。這個過程將會持續直到每一條線都有一個匹配線;
線匹配之後,每一個線對會被分配一個ID,ID代表線匹配的順序,其值是從1到n。n是線選擇的數目,在圖像對中,除了那些被選擇的像素,剩下的被遮擋像素也會分配一個ID值,從左到右,這些像素將會按順序的分配一個ID,ID值從n+1到W,W是原圖像的寬度,通過這種方法,每一行中的每一個像素都會有一個ID值,而且右視圖中的匹配像素也會有相同的ID值,而且,被遮擋點在右視圖中也會有一個匹配像素,根據ID值,所有的像素被匹配而且獲得了匹配圖;
4.基於匹配圖的匹配關係建立
建立好匹配圖之後,用匹配圖將左右視圖的像素進行匹配,左右視圖中,ID值相同的像素就是相匹配的像素,將匹配像素做相同的處理,能夠保存左右視圖的一致性。
所建立的匹配圖是以線為單位的;結合像素之間紋理相似性和視差相似性,能夠增加匹配的準確性;建立的匹配圖是滿射圖,能夠將左右視圖像素進行一對一匹配。
其中,1)線選擇特性的能量方程
同一條線上的相鄰像素應該相似,而且線周圍的像素應該有相似的紋理特徵和深度值。考慮到這個情況,線選擇能量方程Eselect由和這兩部分組成:
代表像素之間的紋理相似度;代表像素之間的深度相似度,能量方程的定義如下:
代表同一條線上像素之間的相似性,是線周圍像素之間的相似性,的定義如下:
T(i,j)代表左視圖中坐標為(i,j)的像素的紋理特徵值。線周圍像素的坐標是由第i-1行被選擇的像素坐標決定的,分為三種情況,的定義如下:
其中
W=|T(i,j-1)-T(i,j+1)|,
表示像素之間視差相似性的能量方程的定義和相似,只是將紋理特徵換成視差特徵。
2)線匹配的能量方程
用匹配能量方程來計算像素匹配的正確性,該能量方程由兩部分組成:
Ematch(i,j)=Ediff(i,j)+Ecorrect(i,j).
Ediff代表匹配像素之間的紋理差異,定義如下:
其中D(i,j)代表坐標位置為(i,j)的像素的視差值,代表右視圖坐標位置為(i,j+D(i,j))的像素的紋理特徵值。用下面方程計算相匹配像素之間的視差失真:
代表右視圖坐標位置為(i,j+D(i,j))的像素的視差值。
本發明的特點及有益效果是:
本發明建立了一種匹配圖來代替原有的視差匹配關係,獲得所有像素之間的一對一匹配關係圖。該像素匹配是基於線的匹配,能夠增加空間相關性,將該匹配關係用於立體圖像重定向中,能夠獲得較好的結果。
附圖說明:
圖1為原始的左右視圖。
圖2為基於計算出的匹配圖獲得的重定向後的左右視圖。
圖3為流程圖。
具體實施方式
為克服現有技術的不足,本發明提供了一種立體圖像匹配圖計算方法,所述方法包括以下步驟:
1.能量方程的建立
在對立體圖像中的像素進行融合、插入、移除等處理時需要注意像素之間匹配關係的保存。線匹配對能夠顯示左右視圖之間的關係因此能夠避免立體圖像的不匹配變形。同時,線匹配能夠維持圖像的空間相關性。因此,選擇線匹配對來表示立體圖像對之間的像素關係。首先,在線匹配像素之前進行線選擇。建立能量方程來對線選擇進行模型化處理,該能量方程同時考慮了線的選擇特性和匹配特性,定義如下:
Etotal(i,j,j±)=α·Eselect(i,j,j±)+(1-α)·Ematch(i,j),
j±代表第i-1行被選擇的像素的縱坐標。使用廣義上的線,也就是說,i-1行中被選擇的像素可以是該行任意一個像素,而不像連續的線那樣,i-1行中被選擇的像素必須是第i行被選擇像素的相鄰像素,也就是說j±∈{j-1,j,j+1}。。α是一個權衡因子,表示線選擇特性和線匹配特性的重要性。
2.基於動態規劃的線選擇
建立了能量方程之後,根據該能量方程建立代價矩陣M,並採用動態規劃方法進行線選擇。能量值低的線將會被首先選擇,因為該線上的像素很有可能正確匹配並且與周圍像素有較高的相似性。特別地,左視圖中能看到而右視圖看不見的點被稱為被遮擋點。由於被遮擋的像素沒有匹配像素點,不能被選擇,因此將這些點的代價值設為無窮M(i,j)=∞,該約束能夠避免被遮擋像素被選擇。所以代價矩陣如下:
O(i,j)是一個二值圖,代表坐標為(i,j)的像素是否被遮擋。在本發明中,O(i,j)=1代表坐標位置為(i,j)的像素沒有被遮擋,是可以匹配的;O(i,j)=0代表坐標位置為(i,j)的像素被遮擋。
被選擇的線將會從代價矩陣M中移除以免重複選擇。然後,重新計算代價矩陣M來選擇出下一條線。該動態規划過程將會重複直到某一行中剩下的像素全部為不能被選擇的被遮擋點為止。
3.匹配圖的建立
線選擇之後,按照選擇的順序,進行線匹配。首先,線中的像素根據視差關係尋找匹配像素得到匹配線對。然後,線匹配對被暫時移除,以避免重複匹配。接著尋找下一個線匹配對。這個過程將會持續直到每一條線都有一個匹配線。
線匹配之後,每一個線對會被分配一個ID。ID代表線匹配的順序,其值是從1到n。n是線選擇的數目。在圖像對中,除了那些被選擇的像素,剩下的被遮擋像素也會分配一個ID值。從左到右,這些像素將會按順序的分配一個ID,ID值從n+1到W(W是原圖像的寬度)。通過這種方法,每一行中的每一個像素都會有一個ID值,而且右視圖中的匹配像素也會有相同的ID值。而且,被遮擋點在右視圖中也會有一個匹配像素。根據ID值,所有的像素被匹配而且獲得了匹配圖。
4.基於匹配圖的匹配關係建立
建立好匹配圖之後,用匹配圖將左右視圖的像素進行匹配。左右視圖中,ID值相同的像素就是相匹配的像素。將匹配像素做相同的處理,能夠保存左右視圖的一致性。而且匹配圖是滿射圖,解決了視差關係中的多對一的映射情況,從而保存了空間相干性,減小了視覺失真。
下面通過立體圖像重定向過程說明本發明的最佳實施方式:
1.能量方程的建立
在對立體圖像中的像素進行融合,插入,移除等處理時需要注意像素之間匹配關係的保存。線匹配對能夠顯示左右視圖之間的關係因此能夠避免立體圖像的不匹配變形。而且,線匹配能夠維持圖像的空間相關性。因此選擇線匹配對來表示立體圖像對之間的像素關係。首先,在線匹配像素之前,需要進行線選擇。本發明通過建立能量方程來對線選擇進行模型化處理,該能量方程同時考慮了線的選擇特性和匹配特性,定義如下:
Etotal(i,j,j±)=α·Eselect(i,j,j±)+(1-α)·Ematch(i,j),
j±代表第i-1行被選擇的像素。我們使用廣義上的線,也就是說,i-1行中被選擇的像素可以是該行任意一個像素,而不像連續的線那樣,i-1行中被選擇的像素必須是第i行被選擇像素的相鄰像素,也就是說j±∈{j-1,j,j+1}。。α是一個權衡因子,來表示線選擇特性和線匹配特性的重要性。
1)線選擇特性的能量方程
同一條線上的相鄰像素應該相似,而且線周圍的像素應該有相似的紋理特徵和深度值。考慮到這個情況,線選擇能量方程Eselect由和這兩部分組成:
代表像素之間的紋理相似度;代表像素之間的深度相似度。能量方程的定義如下:
代表同一條線上像素之間的相似性,是線周圍像素之間的相似性。的定義如下:
T(i,j)代表左視圖中坐標位置為(i,j)的像素的紋理特徵值。線周圍像素是由第i-1行被選擇的像素的坐標決定的,可以分為三種情況。的定義如下:
其中
W=|T(i,j-1)-T(i,j+1)|,
表示像素之間視差相似性的能量方程的定義和相似,只是將紋理特徵換成視差特徵。
2)線匹配的能量方程
在本發明中,像素之間的匹配是通過視差關係做到的。視差圖的錯誤能夠造成不正確的像素匹配。視差關係計算正確的像素更應該被匹配。用匹配能量方程來計算像素匹配的正確性,該能量方程由兩部分組成:
Ematch(i,j)=Ediff(i,j)+Ecorrect(i,j).
Ediff代表匹配像素之間的紋理差異,定義如下:
其中D(i,j)代表坐標位置為(i,j)的像素的視差值,代表右視圖坐標位置為(i,j+D(i,j))的像素的紋理特徵值。
顯然,正確匹配的像素之間應該有相同的是差值,因此,可以用下面方程計算相匹配像素之間的視差失真:
代表右視圖坐標位置為(i,j+D(i,j))的像素的視差值。
2.利用動態規划進行線選擇
能量方程建立好之後,根據該能量方程建立代價矩陣M,並且利用動態規劃來選擇線。能量值低的線將會被選擇,因為該線上的像素很有可能正確匹配並且與周圍像素有較高的相似性。左視圖中能看到而右視圖看不見的點被稱為被遮擋點。因為被遮擋的像素沒有匹配像素點,不能被選擇,因此將這些點的代價值設為無窮M(i,j)=∞,該約束能夠避免被遮擋像素被選擇。所以代價矩陣如下:
O(i,j)是一個二值圖,代表坐標位置為(i,j)的像素是否被遮擋。在本發明中,O(i,j)=1代表坐標位置為(i,j)的像素沒有被遮擋,是可以匹配的;O(i,j)=0代表坐標位置為(i,j)的像素被遮擋。
本發明利用動態規劃來選擇出線。首先在第一行或是最後一行選擇出能量值最小的點作為線的開端。接著選擇出下一行中能量值最小的點最為線中第二個點。需要注意的是,一般情況下,選擇出的線是連續的,所以除了第一行,其他行的像素的選擇範圍,應該是上一行的相鄰像素點,也就是說j±∈{j-1,j,j+1};但是如果相鄰像素點都是遮擋點的話,那麼選擇範圍應該擴大到整行。用上述方法,每一層選擇出一個像素點,得到最終的線。被選擇的線將會從代價矩陣M中刪除以免重複選擇。然後代價矩陣M將會被重新計算來選擇出下一條線。該動態規划過程將會重複直到某一行中剩下的像素全部為不能被選擇的被遮擋點為止。
3.匹配圖的計算
一般而言,如果立體圖像對單獨處理的話會產生嚴重的視差失真。因此,圖像對中相配的像素應該進行相匹配的處理,而且應該計算出匹配圖來表明像素之間的匹配關係。如果直接用視差圖作為匹配圖的話,明顯的視覺失真將會發生。因為不能保證通過視差關係每一個像素都有一個像素與之匹配。應該建立一個滿射的匹配圖來減少因為錯誤匹配造成的失真。
選擇好線之後,按照選擇的順序,我們進行線匹配。首先,線中的像素根據視差關係尋找匹配像素得到匹配線。接著,線匹配對將會暫時移除避免重複匹配。接著尋找下一個線匹配對。這個過程將會持續直到每一條線都有一個匹配線。
線匹配之後,每一個線對都會分配一個ID。ID代表線匹配的順序,其值是從1到n。n是線選擇的數目。在圖像對中,除了那些被選擇的像素,剩下的像素也會分配一個ID值。從左到右,這些像素將會按順序的分配一個ID,ID值從n+1到W(W是原圖像的寬度)。通過這種方法,每一行中的每一個像素都會有一個獨特的ID值,而且右視圖中的匹配像素也會有相同的ID值。而且,被遮擋點在右視圖中也會有一個匹配像素。根據ID值,所有的像素被匹配而且獲得了匹配圖。
4.基於匹配圖的匹配關係建立
建立好匹配圖之後,用匹配圖將左右視圖的像素進行匹配。左右視圖中,ID值相同的像素就是相匹配的像素。將匹配像素做相同的處理,能夠保存左右視圖的一致性。而且匹配圖是滿射圖,解決了視差關係中的多對一的映射情況,從而保存了空間相干性,減小了視覺失真。