TWI502544B - 立體影像的視差估算方法 - Google Patents
立體影像的視差估算方法 Download PDFInfo
- Publication number
- TWI502544B TWI502544B TW102108061A TW102108061A TWI502544B TW I502544 B TWI502544 B TW I502544B TW 102108061 A TW102108061 A TW 102108061A TW 102108061 A TW102108061 A TW 102108061A TW I502544 B TWI502544 B TW I502544B
- Authority
- TW
- Taiwan
- Prior art keywords
- pixel
- matching
- cost
- parallax
- pixels
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/97—Determining parameters from multiple pictures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20228—Disparity calculation for image-based rendering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
- Measurement Of Optical Distance (AREA)
Description
本發明是有關於一種立體視覺技術,且特別是有關於一種立體影像的視差估算方法。
近年來,立體視覺技術(Stereo Vision)廣泛應用於各種領域。立體視覺廣義來說包括兩個階段。前期階段利用立體匹配(stereo matching)來計算兩張影像之間的視差(disparity map)圖,再經過三角函數的運算便能得到深度圖(depth map)。後期階段則是利用深度圖來產生不同視角的影像。
於前期階段中,視差估算主要包括四個步驟:匹配成本計算(matching cost computation)、成本累積(cost aggregation)、視差選擇與最佳化、以及視差矯正。匹配成本計算是用以找出兩張影像(例如左眼影像與右眼影像)之間的差異(difference)(稱為成本值)。而於成本累積步驟中,利用成本累積方法依據鄰近像素的成本值來執行成本值調整,藉以提高像素之間的關聯性(relation)與成本值的可靠度。在獲得經由累加後的成本值之後,
即利用上述成本值來執行視差選擇與最佳化。
一般而言,於視差最佳化步驟中,目前多半使用一能量函數來進行視差最佳化。上述能量函數為E(d)=Edata
(d)+Esmooth
(d)。其中,Edata
表示成本值,Esmooth
為考慮了像素之間關係而獲得的額外成本值。而決定上述Esmooth
的主要演算法有:圖割(Graph-Cut,GC)演算法、信任傳遞(Belief Propagation,BP)演算法、動態規劃(Dynamic Programming,DP)演算法。然而,在進行視差最佳化時,計算順序為整排(row)從左至右、再從右至左計算過去,並且由上往下來進行計算。因此,在視差選擇與最佳化的計算過程中,整個影像的成本值都要載入至記憶體來進行計算。然而,由於累加後的成本值很大,因此除了需進行大量計算之外,還需要的大量的記憶體空間,造成傳統技術在追求及時運算時的龐大負擔。
本發明提供一種立體影像的視差估算方法,降低視差最佳化的運算次數,也能夠獲得較佳的匹配視差,藉此降低龐大的運算量。
本發明提供另一種立體影像的視差估算方法,透過改善掃描順序,而能夠減少記憶體緩衝區(buffer)的使用量。
本發明的立體影像的視差估算方法,用於電子裝置,上述方法包括:對第一影像與第二影像執行匹配成本演算法,藉以獲得第一影像的多個像素各自在視差搜尋範圍內對應於第二影像
的多個成本值,其中第一影像與第二影像的尺寸相同;自每一像素所對應的多個成本值中選出其中之一極值作為匹配成本值,而獲得對應於多個像素的多個匹配點,每一匹配點具有對應的匹配視差;以及依據掃描順序調整每一匹配點對應的匹配視差。而依據掃描順序調整每一匹配點對應的匹配視差的步驟包括:依據掃描順序逐一讀入每一像素對應的匹配點的視差資料,並依據目前所讀入的像素的視差資料以及與其相鄰的像素已讀入的視差資料,透過基於邊緣檢測的第一能量函數執行第一次運算;以及依據目前所處理的像素以及其相鄰的多個上述像素之間的視差資料,透過基於邊緣檢測的第二能量函數執行第二次運算。
本發明的另一立體影像的視差估算方法,用於電子裝置。上述方法包括:對第一影像與第二影像執行匹配成本演算法,藉以獲得第一影像的多個像素各自在視差搜尋範圍內對應於第二影像的多個成本值,其中第一影像與第二影像的尺寸相同;自每一像素所對應的多個成本值中選出其中之一極值作為匹配成本值,而獲得對應於多個像素的多個匹配點,每一匹配點具有對應的匹配視差;以及以x軸上的N個列作為帶狀區域,於帶狀區域中從y軸的第一行開始由上至下進行掃描,在掃描完第一行之後,由左至右逐一對下一行進行掃描,藉此依序讀入每一像素對應的匹配點的視差資料,來調整每一匹配點對應的匹配視差。
基於上述,可降低視差最佳化的運算次數,也能夠獲得較佳的匹配視差,藉此降低龐大的運算量。另外,還可透過改善
掃描順序,進一步減少記憶體緩衝區的使用量。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
410、420‧‧‧帶狀區域
R1~R3‧‧‧列
P1~P4‧‧‧像素
A1‧‧‧掃描方向
A1、A3‧‧‧箭頭
S110~S134‧‧‧第一實施例的立體影像的視差估算方法各步驟
S510~S530‧‧‧第二實施例的立體影像的視差估算方法各步驟
圖1是依據本發明第一實施例的立體影像的視差估算方法的流程圖。
圖2A~圖2F是依照本發明第一實施例的應用於累積運算(aggregation operation)之視窗範圍的示意圖。
圖3是依照本發明第一實施例的掃描順序的示意圖。
圖4A及圖4B是依照本發明第一實施例的基於帶狀掃描順序的示意圖。
圖5是依據本發明第二實施例的立體影像的視差估算方法的流程圖。
第一實施例
圖1是依據本發明第一實施例的立體影像的視差估算方法的流程圖。本方法用於具有運算功能的電子裝置。例如,電子裝置包括處理單元與儲存單元。在儲存單元中儲存有多個程式碼片段,處理單元藉由讀取這些程式碼片段來執行底下的視差估算
方法。於另一實施例中,可直接以硬體實現底下的視差估算方法,例如是將其以晶片(chip)方式實現。
請參照圖1,在步驟S110中,取得第一影像的多個像素各自在視差搜尋範圍內對應於第二影像的多個成本值。例如,對第一影像與第二影像執行匹配成本演算法,以獲得上述成本值。在此,第一影像與第二影像的尺寸相同。具體而言,處理單元在接收到第一影像與第二影像之後,將第一影像作為目標影像,將第二影像作為參考影像,並且設定一個視差搜尋範圍。其中,視差搜尋範圍中包括多個估算視差。視差搜尋範圍是為了在多個估算視差,找到兩幅影像中最佳的匹配視差。在此,可根據實際的任務來設置合適的視差範圍。例如,較小的視差搜尋範圍可以加快系統的運行速度,並降低誤匹配的機率。
而上述匹配成本演算法至少包括匹配成本計算(matching cost computation)及/或成本累積(cost aggregation)。匹配成本計算是計算兩張影像(例如左眼影像與右眼影像)之間的差異(difference),例如色彩差異,並且將上述差異稱為成本值。在計算第一影像與第二影像之間像素的差異之後,例如是計算第一影像所有的像素,可獲得H×W×DR的成本方塊(cost cube),其中H與W為影像的長度與寬度,而DR為自行定義的視差搜尋範圍。舉例來說,在成本方塊中的點(x,y,z)表示在第一影像的像素(x,y)與第二影像的像素(x-z,y)之間的相似度(likelihood);或者點(x,y,z)表示在第一影像的像素(x,y)與第二影像的像素(x+z,y)之間的相
似度。
在本實施例中,藉由匹配成本計算來計算在不同估算視差下第一影像的各像素相對於第二影像所獲得的成本值。例如,可藉由絕對差(Absolute Difference,AD)演算法、平方差(Square Difference,SD)演算法、像素異性測量、(Pixel Dissimilarity Measure,PDM)演算法、標準化交叉相關(Normalized Cross Correlation,NCC)演算法、等級(Rank)演算法、普及(Census)演算法等匹配測量(match metrics),來獲得成本方塊。
另外,為了提高像素之間的關聯性(relation)以及成本值的可靠度,在獲得各像素的多個成本值之後,還可再進一步執行成本累積步驟。而在其他實施例中,亦可不執行成本累積的動作。成本累積是用以依據鄰近像素的成本值來進行成本值調整,例如,係依據同一視窗(window)內其餘像素的成本值來執行成本值調整。舉例來說,可使用如下方程式(1)來計算:
在方程式(1)中,C(i,j,d)代表由匹配成本計算所獲得的成本值,Carrf
(x,y,d)表示經由成本累積所獲得的成本值,W(i,j)為像素(i,j)的權重,d表示視差搜尋範圍內的其中一個估算視差,而win係指在各種權重計算方式中需要被計算的鄰近像素範圍,例如是指同一視窗(window)範圍內的像素。舉例來說,圖2A~圖2F是依照本發明第一實施例的應用於累積運算(aggregation operation)
之視窗範圍的示意圖。其中,圖2A表示權重W(i,j)的計算可利用統一權重(uniform weight)、圖2B表示利用具有適應性視窗尺寸的統一權重(uniform weight with adaptive window size)來計算權重W(i,j)、圖2C表示利用高斯權重(Gaussian weight)來計算權重W(i,j)、圖2D表示利用適應性多邊形權重(adaptive polygon weight)來計算權重W(i,j)、圖2E表示利用交叉式權重(cross-based weight)來計算權重W(i,j)、圖2F表示利用適應性支持權重(adaptive support weight)來計算權重W(i,j)。舉例來說,針對fig(d),中央像素(x,y)的累積成本值係依據四個方向或八個方向的鄰近成本值來執行調整。其中win指的是在這個視窗(window)中的像素。舉例來說,若中央像素為(0,0),則W(1,0)為1,W(2,0)為1,以此類推。其中,因W(2,1)數值為0,故不會影響Carrf
(x,y,d)的數值。
在另一實施例中,係以絕對差值和(Sum of Absolute Difference,SAD)演算法來計算各像素的成本值,之後,計算時間成本的一致性(temporal cost consistency),藉此取得調整後的成本值。而於此實施例中係不執行成本累積的計算。以SAD方法取得成本值的好處係其具有較佳的效能,且相較於其它複雜的方法,其僅需較少資源。而因為不需執行成本累積的步驟,故以5×5的視窗來進行計算,如底下方程式(1-a)所示。而方程式(1-b)則是用以計算時間成本的一致性。
TEMP(x,y,d)=cost(x,y,d)+k×[Dpre
(x,y)-d]…(1-b)
其中,Itar
代表第一影像的像素值,Iref
代表第二影像的像素值。而cost(x,y,d)是由方程式(1-a)計算而得的成本值,Dpre
(x,y)代表點(x,y)的視差,k為常數(constant)。而TEMP計算出來的值則是用以進行後續計算的成本值。
在步驟S120中,自各像素所對應的多個成本值中選出其中之一極值來作為匹配成本值,例如是最小值,進而獲得對應於上述多個像素的多個匹配點。其中,各個匹配點具有對應的匹配視差。在此,依據贏者全拿(Winner-Take-All,WTA)方法,針對各個像素,在視差搜尋範圍內的所有成本值中選出最大值或最小值。例如,在本實施例中,在各像素所對應的多個成本值中選出最小值來作為匹配成本值,並以該點作為對應的匹配點。
在選出各像素對應的匹配點之後,在步驟S130中,依據掃描順序調整各匹配點對應的匹配視差。詳細來說,步驟S130至少包括兩次迭代運算,即步驟S132與步驟S134。由於位於物件邊緣的像素,其深度值算出來的可靠度相較於非物件邊緣的像素的可靠度還高,因此在本實施例中便搭配邊緣檢測(Edge detection)演算法,對屬於物件邊緣的像素與不屬於物件邊緣的像素給予不同的調整方法,據此進一步調整各匹配點對應的匹配視差。步驟S132與步驟S134如下所述。
在步驟S132中,透過基於邊緣檢測的第一能量函數執行第一次運算。在此,依據掃描順序逐一讀入各像素對應的匹配點的視差資料,並依據目前所讀入的像素的視差資料以及與其相鄰的像素已讀入的視差資料,透過基於邊緣檢測的第一能量函數執行第一次運算。例如,藉由邊緣檢測演算法判斷像素是否為物件邊緣而決定第一能量函數中的權重值。
在此,由於在進行第一次運算時,最多僅能得知在目前掃描的像素與其兩個方向所相鄰的兩個像素的視差資料,據此,第一能量函數例如底下方程式(2)所示。
E1(x,y)=cost(x,y)+H1×abs(d(x,y),d(x-1,y))+V1×abs(d(x,y),d(x,y-1))…(2)
其中,E1(x,y)代表上述像素(x,y)的第一能量值,cost(x,y)代表上述像素(x,y)的匹配成本值,d(x,y)代表上述像素(x,y)對應的匹配視差,d(x-1,y)代表上述像素(x-1,y)對應的匹配視差,d(x,y-1)代表上述像素(x,y-1)對應的匹配視差。
而函數abs()可以是任何數值運算式,例如為相鄰像素之間的匹配視差的差值運算式,因此方程式(2)即可代換成如底下方程式(2’)所示。
E1(x,y)=cost(x,y)+H1×(d(x-1,y)-d(x,y))+V1×d((x,y-1)-d(x,y))…(2’)
另外,H1、V1分別代表一權重值,其是藉由邊緣檢測演算法(例如Sobel演算法)判斷上述像素(x,y)是否為物件邊緣而決
定。在此,例如可事先設定兩組權重值,倘若像素(x,y)為物件邊緣,將H1、V1的值設定為第一組權重值;倘若像素(x,y)不為物件邊緣,則將H1、V1的值設定為第二組權重值。
或者,可利用函數來計算上述權重值H1、V1。舉例來說,因邊緣值的資訊係相當重要,故可使用線性方程式來使其對色差(color difference)的數值更靈敏;相較之下,非邊緣區域的權重則係為步階方程式,藉此使其具有相同的匹配視差(disparity)。計算權重值H1如底下方程式(3-1)、(3-2)所示,而計算權重值V1如底下方程式(4-1)、(4-2)所示。
其中,I(x,y)、I(x-1,y)及I(x,y-1)分別代表像素(x,y)、(x-1,y)及(x,y-1)的像素值。若像素(x,y)為物件邊緣,則權重值H1、V1由方程式(3-1)、(4-1)來決定;若像素(x,y)不為物件邊緣,權重值H1、V1由方程式(3-2)、(4-2)來決定。另外,在像素(x,y)不為物件邊緣時,還可進一步限定當兩個相鄰像素之間的像素值差小於16,權重值H1、V1才由方程式(3-2)、(4-2)來決定,例如是H1(x,y)=8+8×(if|I(x,y)-I(x-1,y)|<16),此時若像素值差大於16,則判定其為物件邊緣。於此雖以權重值H1、V1為相同的方程式為例來做說明,然本發明不限於此,於另一實施例中H1、V1可為不同的方程式來進行。舉例來說,權重值H1係用於I(x,y)與
I(x-1,y)之間差異的權重,而權重值V1係用於I(x,y)與I(x,y-1)之間差異的權重,於另一實施例可增加用於I(x,y)及I(x,y-1)之間差異的權重,藉以強調I(x,y)與I(x,y-1)之間差異佔E1(x,y)的比重較高,例如是V1(x,y)=9+|I(x,y)-I(x,y-1)|,edge(x,y)=true。
接著,在步驟S134中,透過基於邊緣檢測的第二能量函數執行第二次運算。在此,依據目前所處理的像素以及其相鄰的多個上述像素之間的視差資料,透過基於邊緣檢測的第二能量函數執行第二次運算。
在此,在對一列像素執行完第一次運算並且開始對下一列的像素執行第一次運算時,便可以對已完成第一次運算的列執行第二運算。而在執行第二次運算時,便可得知四個方向(即,上、下、左、右)上所相鄰的四個像素的視差資料。據此,第二能量函數例如底下方程式(5)所示。
E2(x,y)=cost(x,y)+H1×abs(d(x,y),d(x-1,y))+V1×abs(d(x,y),d(x,y-1))+H2×abs(d(x,y),d(x+1,y))+V2×abs(d(x,y),d(x,y+1))…(5)
第二能量函數與第一能量函數之間的差異在於,第一能量函數僅考慮在像素(x,y)上方與左方兩個像素(x-1,y)、(x,y-1),而在第二能量函數中更考慮了像素(x,y)下方與右方的兩個像素(x+1,y)、(x,y+1)。其中,E2(x,y)代表上述像素(x,y)的第二能量值,d(x+1,y)代表上述像素(x+1,y)對應的匹配視差,d(x,y+1)代表上述
像素(x,y+1)對應的匹配視差。
在本實施例中,以相鄰像素之間的匹配視差的差值運算式作為函數abs(),則上述方程式(5)可替換為如下方程式(5’)所示。
E2(x,y)=cost(x,y)+H1×(d(x-1,y)-d(x,y))+V1×d((x,y-1)-d(x,y))+H2×(d(x+1,y)-d(x,y))+V2×d((x,y+1)-d(x,y))…(5’)
另外,H2、V2代表權重值,其亦是藉由邊緣檢測演算法(例如Sobel演算法)判斷上述像素(x,y)是否為物件邊緣而決定。如同上述權重值H1、V1的設計,在此可事先設定兩組權重值,倘若像素(x,y)為物件邊緣,將H2、V2的值設定為第一組權重值;倘若素(x,y)不為物件邊緣,則將H2、V2的值設定為第二組權重值。或者,可利用函數來計算上述權重值H2、V2。計算權重值H2如底下方程式(6-1)、(6-2)所示,而計算權重值V2如底下方程式(7-1)、(7-2)所示。如同上述關於權重值V1、H1的描述,即,權重值H2、V2為相同的方程式為例來做說明,然本發明不限於此,於另一實施例中H2、V2可為不同的方程式來進行,在此並不限制,端視要加重哪一方向的權重,然原理皆係看是否為邊界值。
其中,I(x+1,y)及I(x,y+1)分別代表像素I(x+1,y)及(x,y+1)的像素值。若像素(x,y)為物件邊緣,則權重值H2、V2由方程式(6-1)、(7-1)來決定;若像素(x,y)不為物件邊緣,權重值H2、V2由方程式(6-2)、(7-2)來決定。另外,在像素(x,y)不為物件邊緣時,還可進一步限定當兩個相鄰像素之間的像素值差小於16,權重值H2、V2才由方程式(6-2)、(7-2)來決定。另外,倘若兩個相鄰像素之間的像素值差大於16,則判定其為物件邊緣。
下舉一實施例來說明掃描順序。圖3是依照本發明第一實施例的掃描順序的示意圖。在此,掃描順序為光柵掃描(raster scan)順序。圖3所示為部分的匹配視差圖。在此,由列(row)R1(x軸的第一列)開始,由左而右(即掃描方向A1)進行掃描,在完成列R1的掃描之後,再往下一列,即列R2,進行掃描,以此類推掃完所有的列。在本實施例中,可同時執行兩次掃描,即,在列R1掃描完畢而開始掃描列R2時,可重新對列R1進行掃描以執行第二次運算。
在此,在進行第一次掃描時,即執行第一次運算。倘若以像素P1(第一次運算)作為目前正在執行第一次運算的像素而言,在圖3中以粗黑線條所框住的部分則是代表已讀入視差資料的像素,也就是已執行過第一次運算的像素。因此,在對像素P1執行第一次運算時,僅能得知像素P1上方與左方相鄰兩個像素的視差資料,像素P1右方及下方相鄰的兩個像素的視差資料因尚未讀入,故無法得知。
而在列R1執行完第一次運算,而自列R2開始執行第一次運算時,列R1便可開始執行第二次運算。據此,第一次運算與第二次運算便能夠同時進行。例如,當第一次運算執行至像素P1時,已開始對像素P2執行第二次運算。此時,由於像素P2已執行過第一次運算,故,像素P2的上、下、左、右相鄰的四個像素的視差資料已載入至記憶體的緩衝區中,進而可根據像素P2的四個方向所相鄰的四個像素的視差資料來執行第二次運算。
據此,上述實施例中,使用光柵掃描順序並且經過兩次運算即可求出較佳的匹配視差。並且,相較於習知需儲存所有像素的資料,由於不需等待整幅影像載入後,方可進行計算,反而可利用逐列載入資料的特性進行二次運算,實際所需持續保持的像素資料數相當少,故利用上述方法能夠大幅減少緩衝區的使用空間,以及減少運算次數。而為求更進一步縮減緩衝區的使用空間,還可以基於帶狀(strip-based)掃描順序來取代上述光柵掃描順序。即,以x軸上的N個列作為一帶狀區域,於上述帶狀區域中從y軸的第一行開始由上至下進行掃描,在掃描完上述第一行之後,由左至右逐一對下一行進行掃描,其中,上述N個列的前半部分與前一個帶狀區域重疊,上述N個列的後半部分與後一個帶狀區域重疊。底下再舉例來詳細說明。
圖4A及圖4B是依照本發明第一實施例的基於帶狀掃描順序的示意圖。在本實施例中,以x軸上的8個列作為一個帶狀區域。如圖4A所示,帶狀區域410的後半部分與下一個帶狀區域
420的前半部分重疊。而帶狀區域420的前半部分與前一個帶狀區域410的後半部分重疊。也就是說,除了最前面與最後面的帶狀區域之外,每個帶狀區域中的前4列與前一個帶狀區域重疊,後4列與後一個帶狀區域重疊。並且,掃描方式為由上至下,並且由左至右,如圖4A的箭頭所示。
接著,如圖4B所示,在計算一個帶狀區域中的這些像素時,以5×5的視窗(window)依照箭頭A2、A3的順序進行計算。在此,像素P3例如為目前正在執行運算的目標,而像素P4為目前正在讀入資料的像素。
基於上述,在使用光柵掃描順序的情況下,基於視窗的計算需要列緩衝區(row buffer),並且由視窗的大小來決定需要幾個列緩衝區。而利用基於帶狀掃描順序,則可以不需要使用列緩衝區,進而減少緩衝區的使用量。
第二實施例
圖5是依據本發明第二實施例的立體影像的視差估算方法的流程圖。本方法用於具有運算功能的電子裝置。例如,電子裝置包括處理單元與儲存單元。在儲存單元中儲存有多個程式碼片段,處理單元藉由讀取這些程式碼片段來執行底下的視差估算方法。
請參照圖5,在步驟S510中,對第一影像與第二影像執行匹配成本演算法,藉以獲得第一影像的多個像素各自在視差搜尋範圍內對應於第二影像的多個成本值。第一影像與第二影像的
尺寸相同。之後,在步驟S520中,自各像素所對應的多個成本值中選出其中之一極值來作為匹配成本值,而獲得對應於上述多個像素的多個匹配點。另外,關於本實施例的步驟S510、S520的詳細說明可參照上述步驟S110、S120,在此省略不提。
之後,在步驟S530中,依據基於帶狀掃描順序,讀入各像素對應的匹配點的視差資料,來調整各匹配點對應的匹配視差。基於帶狀掃描順序為:以x軸上的N個列作為帶狀區域,於帶狀區域中從y軸的第一行開始由上至下進行掃描,在掃描完第一行之後,由左至右逐一對下一行進行掃描,藉此依序讀入各像素對應的匹配點的視差資料。另外,上述帶狀區域最少包括3個列,也就是N大於或等於3。基於帶狀掃描順序可參照圖4A及圖4B的描述。
在本實施例中,調整各匹配點對應的匹配視差的步驟,可如第一實施例所述的藉由第一能量函數與第二能量函數來進行兩次的運算,詳細說明請參照上述步驟S130,在此不再贅述。另外,亦可以使用其他現有的GC演算法、BP演算法、DP演算法等來調整匹配視差。在此並不限制。
綜上所述,本發明採用了基於邊緣檢測的能量函數,依據光柵掃描順序來調整視差。並且,基於帶狀掃描順序的設計更能讓記憶體的使用降到更小,同時帶狀架構的設計,亦能夠降低頻寬的使用。據此,透過上述實施例的方式,可以在即時與低資源使用的前提下,提供適合合成用的深度圖。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
S110~S134‧‧‧第一實施例的立體影像的視差估算方法各步驟
Claims (11)
- 一種立體影像的視差估算方法,用於電子裝置,上述方法包括:取得一第一影像的多個像素各自在一視差搜尋範圍內對應於一第二影像的多個成本值,其中上述第一影像與上述第二影像的尺寸相同;自每一上述像素所對應的上述多個成本值中選出其中之一極值作為匹配成本值,而獲得對應於上述多個像素的多個匹配點,每一上述匹配點具有對應的匹配視差;以及依據一掃描順序調整每一上述匹配點對應的匹配視差,包括:依據上述掃描順序逐一讀入每一上述像素對應的匹配點的視差資料,並依據目前所讀入的上述像素的視差資料以及與其相鄰的像素已讀入的視差資料,透過基於一邊緣檢測的一第一能量函數執行第一次運算;以及依據目前所處理的上述像素以及其相鄰的多個上述像素之間的視差資料,透過基於上述邊緣檢測的一第二能量函數執行第二次運算,其中,上述第一能量函數及上述第二能量函數是基於上述像素的上述匹配成本值及其鄰近像素的上述匹配視差及一權重值來計算,且上述權重值藉由判斷上述像素是否為物件邊緣而決定。
- 如申請專利範圍第1項所述的方法,其中執行上述第一次運算的步驟包括: 依據目前所讀入的像素(x,y)的視差資料,搭配像素(x-1,y)及像素(x,y-1)的視差資料,透過基於上述邊緣檢測的上述第一能量函數對上述像素(x,y)執行上述第一次運算;執行上述第二次運算的步驟包括:依據目前所處理的上述像素(x,y)的視差資料,搭配上述像素(x-1,y)、上述像素(x,y-1)、像素(x+1,y)以及像素(x,y+1)的視差資料,透過基於上述邊緣檢測的上述第二能量函數對上述像素(x,y)執行上述第二次運算。
- 如申請專利範圍第2項所述的方法,其中基於上述邊緣檢測的上述第一能量函數為:E1(x,y)=cost(x,y)+H1×abs(d(x,y),d(x-1,y))+V1×abs(d(x,y),d(x,y-1));基於上述邊緣檢測的上述第二能量函數為:E2(x,y)=cost(x,y)+H1×abs(d(x,y),d(x-1,y))+V1×abs(d(x,y),d(x,y-1))+H2×abs(d(x,y),d(x+1,y))+V2×abs(d(x,y),d(x,y+1));其中,E1(x,y)代表上述像素(x,y)的第一能量值,cost(x,y)代表上述像素(x,y)的匹配成本值,d(x,y)代表上述像素(x,y)對應的匹配視差,d(x-1,y)代表上述像素(x-1,y)對應的匹配視差,d(x,y-1)代表上述像素(x,y-1)對應的匹配視差,E2(x,y)代表上述像素(x,y)的第二能量值,d(x+1,y)代表上述像素(x+1,y)對應的匹配視差, d(x,y+1)代表上述像素(x,y+1)對應的匹配視差;其中,H1、V1、H2及V2分別代表一權重值,而決定上述權重值的步驟包括:藉由一邊緣檢測演算法判斷上述像素(x,y)是否為物件邊緣而決定上述權重值。
- 如申請專利範圍第3項所述的方法,其中藉由上述邊緣檢測演算法判斷上述像素(x,y)是否為上述物件邊緣而決定上述權重值的步驟包括:若上述像素(x,y)為上述物件邊緣,決定上述權重值的方程式包括:H1(x,y)=8+|I(x,y)-I(x-1,y)|;H2(x,y)=8+|I(x,y)-I(x+1,y)|;V1(x,y)=8+|I(x,y)-I(x,y-1)|;以及V2(x,y)=8+|I(x,y)-I(x,y+1)|;其中,I(x,y)、I(x-1,y)、I(x,y-1)、I(x+1,y)及I(x,y+1)分別代表上述像素(x,y)、(x-1,y)、(x,y-1)、I(x+1,y)及(x,y+1)的像素值;以及若上述像素(x,y)不為上述物件邊緣,決定上述權重值的方程式包括:H1(x,y)=8+8×(|I(x,y)-I(x-1,y)|);H2(x,y)=8+8×(|I(x,y)-I(x+1,y)|);V1(x,y)=8+8×(|I(x,y)-I(x,y-1)|);以及 V2(x,y)=8+8×(|I(x,y)-I(x,y+1)|)。
- 如申請專利範圍第1項所述的方法,其中上述掃描順序為光柵掃描順序。
- 如申請專利範圍第1項所述的方法,其中上述掃描順序為:以x軸上的N個列作為一帶狀區域,於上述帶狀區域中從y軸的第一行開始由上至下進行掃描,在掃描完上述第一行之後,由左至右逐一對下一行進行掃描,其中,上述N個列的前半部分與前一個帶狀區域重疊,上述N個列的後半部分與後一個帶狀區域重疊。
- 一種立體影像的視差估算方法,用於電子裝置,上述方法包括:對一第一影像與一第二影像執行匹配成本演算法,藉以獲得上述第一影像的多個像素各自在一視差搜尋範圍內對應於上述第二影像的多個成本值,其中上述第一影像與上述第二影像的尺寸相同;自每一上述像素所對應的上述多個成本值中選出其中之一極值作為匹配成本值,而獲得對應於上述多個像素的多個匹配點,每一上述匹配點具有對應的匹配視差;以x軸上的N個列作為一帶狀區域,於上述帶狀區域中從y軸的第一行開始由上至下進行掃描,在掃描完上述第一行之後,由左至右逐一對下一行進行掃描,藉此依序讀入每一上述像素對應的匹配點的視差資料; 依據目前所讀入的上述像素的視差資料以及與其相鄰的像素已讀入的視差資料,透過一第一能量函數執行第一次運算;以及依據目前所處理的上述像素以及其相鄰的多個上述像素之間的視差資料,透過一第二能量函數執行第二次運算,其中,上述第一能量函數及上述第二能量函數是基於上述像素的匹配成本值及其鄰近像素的上述匹配視差及一權重值來計算,且上述權重值藉由判斷上述像素是否為物件邊緣而決定。
- 如申請專利範圍第7項所述的方法,其中其中上述N個列的前半部分與前一個帶狀區域重疊,上述N個列的後半部分與後一個帶狀區域重疊,並且利用視窗區塊來調整每一上述匹配點對應的匹配視差。
- 如申請專利範圍第7項所述的方法,其中執行上述第一次運算的步驟包括:依據目前所讀入的像素(x,y)的視差資料,搭配像素(x-1,y)及像素(x,y-1)的視差資料,透過上述第一能量函數對上述像素(x,y)執行上述第一次運算;執行上述第二次運算的步驟包括:依據目前所處理的上述像素(x,y)的視差資料,搭配上述像素(x-1,y)、上述像素(x,y-1)、像素(x+1,y)以及像素(x,y+1)的視差資料,透過上述第二能量函數對上述像素(x,y)執行上述第二次運算。
- 如申請專利範圍第9項所述的方法,其中 上述第一能量函數為:E1(x,y)=cost(x,y)+H1×abs(d(x,y),d(x-1,y))+V1×abs(d(x,y),d(x,y-1));上述第二能量函數為:E2(x,y)=cost(x,y)+H1×abs(d(x,y),d(x-1,y))+V1×abs(d(x,y),d(x,y-1))+H2×abs(d(x,y),d(x+1,y))+V2×abs(d(x,y),d(x,y+1));其中,E1(x,y)代表上述像素(x,y)的第一能量值,cost(x,y)代表上述像素(x,y)的匹配成本值,d(x,y)代表上述像素(x,y)對應的匹配視差,d(x-1,y)代表上述像素(x-1,y)對應的匹配視差,d(x,y-1)代表上述像素(x,y-1)對應的匹配視差,H1、V1、H2及V2分別代表一權重值,E2(x,y)代表上述像素(x,y)的第二能量值,d(x+1,y)代表上述像素(x+1,y)對應的匹配視差,d(x,y+1)代表上述像素(x,y+1)對應的匹配視差。
- 如申請專利範圍第10項所述的方法,更包括:搭配一邊緣檢測演算法,調整每一上述匹配點對應的匹配視差,包括:依據上述邊緣檢測演算法判斷上述像素(x,y)是否為物件邊緣,藉以決定上述權重值;若上述像素(x,y)為上述物件邊緣,決定上述權重值的方程式包括:H1(x,y)=8+|I(x,y)-I(x-1,y)|; H2(x,y)=8+|I(x,y)-I(x+1,y)|;V1(x,y)=8+|I(x,y)-I(x,y-1)|;以及V2(x,y)=8+|I(x,y)-I(x,y+1)|;其中,I(x,y)、I(x-1,y)、I(x,y-1)、I(x+1,y)及I(x,y+1)分別代表上述像素(x,y)、(x-1,y)、(x,y-1)、I(x+1,y)及(x,y+1)的像素值;以及若上述像素(x,y)不為上述物件邊緣,決定上述權重值的方程式包括:H1(x,y)=8+8×(|I(x,y)-I(x-1,y)|);H2(x,y)=8+8×(|I(x,y)-I(x+1,y)|);V1(x,y)=8+8×(|I(x,y)-I(x,y-1)|);以及V2(x,y)=8+8×(|I(x,y)-I(x,y+1)|)。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102108061A TWI502544B (zh) | 2013-03-07 | 2013-03-07 | 立體影像的視差估算方法 |
US13/950,271 US9104904B2 (en) | 2013-03-07 | 2013-07-24 | Disparity estimation method of stereoscopic image |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102108061A TWI502544B (zh) | 2013-03-07 | 2013-03-07 | 立體影像的視差估算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201435802A TW201435802A (zh) | 2014-09-16 |
TWI502544B true TWI502544B (zh) | 2015-10-01 |
Family
ID=51487904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102108061A TWI502544B (zh) | 2013-03-07 | 2013-03-07 | 立體影像的視差估算方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9104904B2 (zh) |
TW (1) | TWI502544B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101622344B1 (ko) * | 2014-12-16 | 2016-05-19 | 경북대학교 산학협력단 | 적응적 영역 가중치가 적용된 센서스 변환 기반 스테레오 정합을 통한 시차 계산 방법 및 그 시스템 |
US10554947B1 (en) * | 2015-12-16 | 2020-02-04 | Marvell International Ltd. | Method and apparatus for stereo vision matching including disparity refinement based on matching merit values |
US10080007B2 (en) * | 2016-03-17 | 2018-09-18 | Texas Instruments Incorporated | Hybrid tiling strategy for semi-global matching stereo hardware acceleration |
KR102696652B1 (ko) * | 2017-01-26 | 2024-08-21 | 삼성전자주식회사 | 스테레오 매칭 방법 및 영상 처리 장치 |
CN109427043B (zh) * | 2017-08-25 | 2023-08-01 | 自然资源部国土卫星遥感应用中心 | 一种立体影像全局优化匹配的平滑项参数计算方法及设备 |
CN112765390A (zh) * | 2019-10-21 | 2021-05-07 | 南京深视光点科技有限公司 | 具备双倍搜索区间的立体匹配方法 |
TWI698836B (zh) * | 2019-10-21 | 2020-07-11 | 大陸商南京深視光點科技有限公司 | 具備雙倍搜索區間的立體匹配方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200816086A (en) * | 2006-09-29 | 2008-04-01 | Ind Tech Res Inst | A method for corresponding, evolving and tracking feature points in three-dimensional space |
US20110199462A1 (en) * | 2009-09-07 | 2011-08-18 | Panasonic Corporation | Parallax calculation method and parallax calculation device |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101311896B1 (ko) * | 2006-11-14 | 2013-10-14 | 삼성전자주식회사 | 입체 영상의 변위 조정방법 및 이를 적용한 입체 영상장치 |
US8761491B2 (en) * | 2009-02-06 | 2014-06-24 | Himax Technologies Limited | Stereo-matching processor using belief propagation |
US8737723B1 (en) * | 2010-12-09 | 2014-05-27 | Google Inc. | Fast randomized multi-scale energy minimization for inferring depth from stereo image pairs |
KR20130084850A (ko) * | 2012-01-18 | 2013-07-26 | 삼성전자주식회사 | 시차 값을 생성하는 영상 처리 방법 및 장치 |
-
2013
- 2013-03-07 TW TW102108061A patent/TWI502544B/zh active
- 2013-07-24 US US13/950,271 patent/US9104904B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200816086A (en) * | 2006-09-29 | 2008-04-01 | Ind Tech Res Inst | A method for corresponding, evolving and tracking feature points in three-dimensional space |
US20110199462A1 (en) * | 2009-09-07 | 2011-08-18 | Panasonic Corporation | Parallax calculation method and parallax calculation device |
Non-Patent Citations (2)
Title |
---|
Donghyun Kim, Seungchul Ryu, Sunghwan Choi and Kwanghoon Sohn, "Depth Boundary Reconstruction Method Using the Relations with Neighboring Pixels", 2013 IEEE International Conference on Consumer Electronics (ICCE), Pp. 466–467, 11-14 Jan. 2013 * |
Faysal Boughorbel, "A NEW MULTIPLE-WINDOWS DEPTH FROM STEREO ALGORITHM FOR 3D DISPLAYS", 2007 3DTV Conference, Pp. 1-4, 7-9 May 2007 * |
Also Published As
Publication number | Publication date |
---|---|
TW201435802A (zh) | 2014-09-16 |
US9104904B2 (en) | 2015-08-11 |
US20140254918A1 (en) | 2014-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI502544B (zh) | 立體影像的視差估算方法 | |
US9014463B2 (en) | System for real-time stereo matching | |
US9361699B2 (en) | Imaging system and method | |
US9237326B2 (en) | Imaging system and method | |
US9485495B2 (en) | Autofocus for stereo images | |
US8718328B1 (en) | Digital processing method and system for determination of object occlusion in an image sequence | |
US10321112B2 (en) | Stereo matching system and method of operating thereof | |
CN107025660B (zh) | 一种确定双目动态视觉传感器图像视差的方法和装置 | |
US9679223B2 (en) | Image processing method and apparatus | |
US9235879B2 (en) | Apparatus, system, and method for temporal domain hole filling based on background modeling for view synthesis | |
US10818018B2 (en) | Image processing apparatus, image processing method, and non-transitory computer-readable storage medium | |
US20140340486A1 (en) | Image processing system, image processing method, and image processing program | |
US11062464B2 (en) | Image processing apparatus, method, and storage medium to derive optical flow | |
US9769460B1 (en) | Conversion of monoscopic visual content to stereoscopic 3D | |
US10116917B2 (en) | Image processing apparatus, image processing method, and storage medium | |
CN107155100A (zh) | 一种基于图像的立体匹配方法及装置 | |
US9674503B2 (en) | Stereo matching apparatus using image property | |
CN108062765A (zh) | 双目图像处理方法、成像装置及电子设备 | |
KR101544156B1 (ko) | 동영상 리타겟팅 방법 및 이러한 기능이 탑재된 동영상 장치 | |
US9077963B2 (en) | Systems and methods for generating a depth map and converting two-dimensional data to stereoscopic data | |
JP2018132946A (ja) | 視差算出装置 | |
CN111383183B (zh) | 图像边缘增强方法、装置以及计算机存储介质 | |
CN112150532A (zh) | 图像处理的方法、装置、电子设备和计算机可读介质 | |
US10354400B2 (en) | Method and system for matching stereo images | |
Aysu et al. | Low cost FPGA design and implementation of a stereo matching system for 3D-TV applications |