本發(fā)明屬立體視頻舒適度增強和3D圖像處理技術(shù)領(lǐng)域,具體涉及一種垂直視差消減方法。
背景技術(shù):近年來,隨著3D技術(shù)的迅速發(fā)展,人們已經(jīng)不滿足于從二維圖像中獲得有限的信息,逐漸習(xí)慣于享受三維視覺帶來的沉浸感。雙眼視差是立體顯示技術(shù)的理論基礎(chǔ),水平視差在三維重建的過程中起著關(guān)鍵的作用,水平視差的變化使得人們對于畫面所呈現(xiàn)的事物有了立體的感知,然而垂直視差則會使人感覺疲勞。理想條件下,在拍攝的過程中所有攝相機都應(yīng)在同一條水平線上,同時要求所有攝像機的光軸平行,并且所拍攝出圖像或視頻的極線嚴格要求水平。但實際上,由于支架的形變,攝像機內(nèi)部感光元件的不一致性等工藝問題往往會造成不同程度的垂直視差,結(jié)果不僅影響了立體圖像的合成質(zhì)量,還會引起視覺疲勞。因此為了提高觀視者的舒適度,對于垂直視差消減方法的研究成為了越來越多的科研者研究的重點。國內(nèi)外對垂直視差消減技術(shù)的研究較少,并且這些方法中很多都是在處理的過程中需要較多的圖像信息或者攝像機參數(shù)。韓國的Yun-SukKang和CheonLee等人提出了針對平行相機陣列的擬合公共基線解決辦法和針對弧形相機陣列的幾何補償校正算法。但是,這個方法需要多視點相機的標(biāo)定參數(shù),無法提供脫離相機參數(shù)的獨立應(yīng)用。在無攝像機標(biāo)定情況下Loop提出了基于基本矩陣的圖像校正方法,將校正過程分解為射影變換和仿射變換兩個部分。該方法依賴于基本矩陣的精確求解,而由對應(yīng)點計算基本矩陣還沒有較為穩(wěn)定的算法。上海大學(xué)的劉利亮和安平等人提出了一種基于公共點提取的多視圖像校正的方法,該方法有效的降低了垂直視差,但是這個方法在校正垂直視差的過程中使得水平視差也發(fā)生了較大改變。
技術(shù)實現(xiàn)要素:本發(fā)明要解決的技術(shù)問題在于提供一種基于Levenberg-Marquardt算法(簡稱L-M算法)的垂直視差消減方法,通過本發(fā)明可以在不需要攝像機標(biāo)定參數(shù)的情況下,通過對變換矩陣的精確求解進一步消減垂直視差,同時降低對水平視差的影響,有效地增強觀看立體視頻的舒適度。本發(fā)明的一種垂直視差消減方法,包括下列步驟:1.1對雙目圖像中的左右視圖分別用SIFT算法進行特征點提取,并根據(jù)最近鄰和次近鄰距離比值進行匹配;1.2由垂直視差消減原理計算出匹配點的坐標(biāo),再用L-M算法進行可消減垂直視差的變換矩陣計算,包括下列步驟:1.2.1將SIFT算法提取出的特征點整理成齊次坐標(biāo)形式,左視圖-基準(zhǔn)圖的特征點坐標(biāo)為[xi,yi,1]T,右視圖的特征點坐標(biāo)為其中:i=1,…,N;N表示特征點的個數(shù);1.2.2計算二維射影變換矩陣M2D,使右視圖中的特征點[xi',yi',1]T經(jīng)校正矩陣后與左視圖中的特征點之間僅存在水平視差,不存在垂直視差,校正后的右視圖中特征點的坐標(biāo)為[xi',yi,1];1.2.3將用線性算法計算出的二維射影變換矩陣M2D作為L-M算法的初值,M2D形式為:其中:m2表示水平方向位移量;m5表示垂直方向位移量;m0、m1、m3、m4表示尺度和旋轉(zhuǎn)量;m6、m7表示水平和垂直方向的形變量;1.2.4用L-M算法迭代優(yōu)化計算出可消減垂直視差的變換矩陣,包括下列步驟:1.2.4.1給出誤差的允許值ε,常數(shù)β、μ以及初始化向量Mk;其中:μ是一個試探性參數(shù),如果能使誤差指標(biāo)函數(shù)E(M)降低,則μ降低,反之,則μ增加;Mk為第k次迭代時的M值,其中M為列向量(m0,m1,…,m7)T;1.2.4.2利用變換矩陣Mk計算目標(biāo)圖像的新坐標(biāo),并計算誤差指標(biāo)函數(shù)E(Mk)其中:E(Mk)表示第k次迭代時的E(M)值,E(M)值的計算公式為:1.2.4.3利用下式計算誤差ei(M)的Jacobian矩陣J(M):其中:誤差ei(M)的計算公式為:1.2.4.4根據(jù)公式ΔM=-[JT(M)J(M)+μI]-1JT(M)e(M)計算變換矩陣增量ΔM;1.2.4.5若E(Mk)<ε,則結(jié)束;否則計算Mk+1,并計算誤差指標(biāo)函數(shù)E(Mk+1)其中:Mk+1=Mk+ΔM;1.2.4.6若E(Mk+1)<E(Mk),則令k=k+1,μ=μ/β,轉(zhuǎn)到步驟1.2.4.2;否則不更新變換矩陣M,Mk+1=Mk,μ=μβ,轉(zhuǎn)到步驟1.2.4.4;1.3將原右視圖的每一個像素點依次與校正變換矩陣M2D相乘,得到新的右視圖即校正后視圖;1.4用后處理方法去除部分圖像中由校正變換引起的噪聲,后處理方法為對沒有像素生成的坐標(biāo)位置,將該坐標(biāo)位置點周圍8個點的像素值的均值作為該坐標(biāo)位置點像素值,得到最終改進后的右視圖,垂直視差得到消減。本發(fā)明的垂直視差消減方法與現(xiàn)有的垂直視差消減方法相比,在不需要攝像機標(biāo)定參數(shù)的情況下,通過對變換矩陣的精確求解能進一步消減垂直視差、降低對水平視差的影響,從而能有效地增強觀看立體視頻的舒適度。附圖說明圖1為垂直視差消減方法的流程圖圖2為breakdancer第1幀的1、2視點實驗效果圖圖3為ballet第7幀的3、4視點實驗效果圖圖2和圖3中:(a)表示左視圖,(b)表示右視圖,(c)表示利用參考文獻算法處理后的右視圖,(d)表示利用本發(fā)明方法處理后的右視圖具體實施方式本發(fā)明的核心內(nèi)容在于:通過使用L-M算法實現(xiàn)對可消減垂直視差變換矩陣的精確求解,將通過該方法求得的最優(yōu)化的變換矩陣作用于右視圖,生成校正后的右視圖,該方法在進一步消減垂直視差的同時,能降低對水平視差的影響。為使本發(fā)明的目的,技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖及實例做進一步的詳細敘述:本發(fā)明的一種垂直視差消減方法,包括下列步驟:1.1對雙目圖像中的左右視圖分別用SIFT算法進行特征點提取,并根據(jù)最近鄰和次近鄰距離比值進行匹配;1.2由垂直視差消減原理計算出匹配點的坐標(biāo),再用L-M算法進行可消減垂直視差的變換矩陣計算,包括下列步驟:1.2.1將SIFT算法提取出的特征點整理成齊次坐標(biāo)形式,左視圖-基準(zhǔn)圖的特征點坐標(biāo)為[xi,yi,1]T,右視圖的特征點坐標(biāo)為其中:i=1,…,N;N表示特征點的個數(shù);1.2.2計算二維射影變換矩陣M2D,使右視圖中的特征點[xi',yi',1]T經(jīng)校正矩陣后與左視圖中的特征點之間僅存在水平視差,不存在垂直視差,校正后的右視圖中特征點的坐標(biāo)為[xi',yi,1];1.2.3將用線性算法計算出的二維射影變換矩陣M2D作為L-M算法的初值,M2D形式為:其中:m2表示水平方向位移量;m5表示垂直方向位移量;m0、m1、m3、m4表示尺度和旋轉(zhuǎn)量;m6、m7表示水平和垂直方向的形變量;1.2.4用L-M算法迭代優(yōu)化計算出可消減垂直視差的變換矩陣,包括下列步驟:1.2.4.1給出誤差的允許值ε,常數(shù)β、μ以及初始化向量Mk;其中:μ是一個試探性參數(shù),如果能使誤差指標(biāo)函數(shù)E(M)降低,則μ降低,反之,則μ增加;Mk為第k次迭代時的M值,其中M為列向量(m0,m1,…,m7)T;1.2.4.2利用變換矩陣Mk計算目標(biāo)圖像的新坐標(biāo),并計算誤差指標(biāo)函數(shù)E(Mk)其中:E(Mk)表示第k次迭代時的E(M)值,E(M)值的計算公式為:1.2.4.3利用下式計算誤差ei(M)的Jacobian矩陣J(M):其中:誤差ei(M)的計算公式為:1.2.4.4根據(jù)公式ΔM=-[JT(M)J(M)+μI]-1JT(M)e(M)計算變換矩陣增量ΔM;1.2.4.5若E(Mk)<ε,則結(jié)束;否則計算Mk+1,并計算誤差指標(biāo)函數(shù)E(Mk+1)其中:Mk+1=Mk+ΔM;1.2.4.6若E(Mk+1)<E(Mk),則令k=k+1,μ=μ/β,轉(zhuǎn)到步驟1.2.4.2;否則不更新變換矩陣M,Mk+1=Mk,μ=μβ,轉(zhuǎn)到步驟1.2.4.4;1.3將原右視圖的每一個像素點依次與校正變換矩陣M2D相乘,得到新的右視圖即校正后視圖;1.4用后處理方法去除部分圖像中由校正變換引起的噪聲,后處理方法為對沒有像素生成的坐標(biāo)位置,將該坐標(biāo)位置點周圍8個點的像素值的均值作為該坐標(biāo)位置點像素值,得到最終改進后的右視圖,垂直視差得到消減。下面以具體的測試來驗證本發(fā)明提供的一種基于Levenberg-Marquardt算法的垂直視差消減方法的可行性。將本發(fā)明的方法與上海大學(xué)劉利亮、安平等人利用線性算法求解二維射影變換矩陣的垂直視差消減方法在垂直視差消減和對水平視差影響這兩個方面展開對比分析(測試樣本來自微軟提供的立體視頻測試序列)。1.工作條件:本發(fā)明的實驗平臺采用Intel(R)Core(TM)i3-2100CPU@3.10GHz3.10GHz,內(nèi)存為2GB,運行WindowsXP的PC機,編程語言為MATLAB語言。2.實驗內(nèi)容與結(jié)果分析:為了檢驗垂直視差消減的效果和對水平視差的影響,用檢測出匹配點對的垂直視差的平均值eval和水平視差的平均值hori作為校正前后的評價標(biāo)準(zhǔn):圖2是對breakdancer立體視頻序列第七幀的3、4視點進行垂直視差消減的實驗效果圖。其中:(c)是上海大學(xué)劉利亮、安平等人的方法處理后的結(jié)果圖;(d)是本發(fā)明的方法處理后的結(jié)果圖。表1是在不同參數(shù)設(shè)置情況下進行垂直視差消減前后的評價標(biāo)準(zhǔn),eval是檢測出匹配點對的垂直視差的平均值,單位為像素,用它來評價垂直視差消減的效果;hori表示檢測出匹配點對的水平視差的平均值,單位同樣為像素。在表1中,沒有進行垂直視差消減的原始圖像對在不同參數(shù)下的eval平均值是2.6583個像素、hori平均值是5.9582個像素。使用本發(fā)明方法的垂直視差消減后的eval平均值為1.4689,參考文獻中使用二維單應(yīng)性矩陣方法的垂直視差消減后的eval平均值為1.4398,可見本發(fā)明的方法的結(jié)果比參考文獻中使用二維單應(yīng)性矩陣方法的結(jié)果提高了0.0291個像素,比原始圖像對提高了1.2185個像素;使用本發(fā)明方法的垂直視差消減后的hori平均值為5.2255參考文獻中使用二維單應(yīng)性矩陣方法的垂直視差消減后的hori平均值為5.3442,可見本發(fā)明的方法的結(jié)果對水平視差的影響比參考文獻中降低了0.1187個像素。表1不同參數(shù)下breakdancer垂直視差消減前后性能評價(單位:像素)圖3是對ballet立體視頻序列的第一幀的1、2視點進行垂直視差消減的實驗效果圖。在表2中,沒有進行垂直視差消減的原始圖像對在不同參數(shù)下的eval平均值是7.7509個像素,hori平均值是32.2780個像素。使用本發(fā)明方法的垂直視差消減后的eval平均值為1.9107,參考文獻中使用二維單應(yīng)性矩陣方法的垂直視差消減后的eval平均值為1.5875,使用本發(fā)明方法的結(jié)果比參考文獻中使用二維單應(yīng)性矩陣方法提高了0.3232個像素,比原始圖像對提高了6.1634個像素;使用本發(fā)明方法的垂直視差消減后的hori平均值為29.1627,參考文獻中使用二維單應(yīng)性矩陣方法的垂直視差消減后的hori平均值為30.3018,使用本發(fā)明方法改進后的結(jié)果對水平視差的影響比參考文獻中降低了1.1391個像素。ballet圖像序列的旋轉(zhuǎn)現(xiàn)象比較嚴重,使用本發(fā)明方法改進后的結(jié)果比參考文獻中使用二維單應(yīng)性矩陣方法提高的效果優(yōu)于對breakdancer這類旋轉(zhuǎn)程度不大的圖像序列。雖然在圖2和圖3的(c)和(d)中看不出明顯的差別,但是從表1和表2中可以清晰地看出:通常情況下,選取不同參數(shù)時,在垂直視差消減和水平視差校正兩個方面使用本發(fā)明算法改進后的結(jié)果比參考文獻中使用二維單應(yīng)性矩陣方法的效果均有所提高。而且圖像的旋轉(zhuǎn)程度越大,本發(fā)明使用的方法對視差的調(diào)節(jié)越明顯。表2不同參數(shù)下ballet垂直視差消減前后性能評價(單位:像素)本發(fā)明通過在二維變換矩陣的計算中引入Levenberg-Marquardt算法,從而實現(xiàn)了變換矩陣的精確求解。在垂直視差消減方面,本發(fā)明提出的算法與參考文獻中使用二維射影變換的方法相比有了明顯的提高。同時,在對水平視差影響方面,本發(fā)明的方法與參考文獻相比,更接近于原始圖像對的水平視差。本發(fā)明的方法在垂直視差消減上比參考文獻中使用二維射影變換的方法提高了約0.0291~0.3232個像素,對水平視差的影響比參考文獻中使用二維射影變換的方法降低了約0.1187~1.1391個像素。對于旋轉(zhuǎn)變換較大的圖像,本發(fā)明的方法改進更為明顯。因此改進后的算法有利于在不影響水平視差的情況下對垂直視差的消減。