基于圖像序列的空洞填充方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種基于圖像序列的空洞填充方法,根據(jù)三維圖像變換前后的參考圖像Rt和目標(biāo)圖像Dt得到視差圖,對(duì)目標(biāo)圖像Dt進(jìn)行小空洞預(yù)處理,根據(jù)參考圖像Rt前后的一組鄰近參考圖像生成鄰近目標(biāo)圖像,計(jì)算鄰近目標(biāo)圖像與目標(biāo)圖像Dt的深度差值,對(duì)鄰近目標(biāo)圖像中的像素點(diǎn)進(jìn)行可用標(biāo)記,從鄰近目標(biāo)圖像拷貝可用像素點(diǎn)對(duì)目標(biāo)圖像Dt進(jìn)行空洞填充,然后使用鄰近參考圖像對(duì)目標(biāo)圖像Dt采用運(yùn)動(dòng)補(bǔ)償?shù)姆绞竭M(jìn)行空洞填充,此時(shí)再對(duì)小于閾值的空洞采用基于視差圖的空洞填充方法,然后選取下一組鄰近參考圖像進(jìn)行填充;最終剩下的空洞由圖像修復(fù)算法完成填充。本發(fā)明只需一路視頻,可達(dá)到較佳的圖像質(zhì)量,節(jié)省傳輸視頻數(shù)據(jù)所需的帶寬,減少硬件實(shí)現(xiàn)的時(shí)間復(fù)雜度。
【專(zhuān)利說(shuō)明】基于圖像序列的空洞填充方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于三維圖像變換【技術(shù)領(lǐng)域】,更為具體地講,涉及一種基于圖像序列的空 洞填充方法。
【背景技術(shù)】
[0002] 在3D電視系統(tǒng)中,利用基于深度圖像的繪制技術(shù)(Depth Image Based Rendering,DIBR)來(lái)生成新視圖時(shí),由于視點(diǎn)的改變等原因,有可能產(chǎn)生大的空洞 (Holes)??斩磫?wèn)題是最主要也是最難解決的問(wèn)題,它嚴(yán)重影響了新視圖的質(zhì)量??斩刺畛?問(wèn)題引起了很多研究人員的關(guān)注,相應(yīng)的也有了很多的解決方案。根據(jù)它們的技術(shù)特點(diǎn),主 要可以分成兩類(lèi):
[0003] -、基于空域的空洞填充。
[0004] 比較經(jīng)典的主要有深度圖像預(yù)處理,圖像修復(fù)等。其中深度圖像預(yù)處理通過(guò)濾 波來(lái)平滑深度圖像以減少深度值的不連續(xù)性,達(dá)到縮減空洞的目的。如:Fehn提出用高斯 濾波器平滑深度圖像,以消除合成的新視圖中較大空洞或者使之變小。之后Chen等人、 Zhang等人在濾波器的選擇以及濾波的區(qū)域方面做了改進(jìn),采用邊緣依賴(lài)深度濾波器(Edge Dependent Depth Filter),非對(duì)稱(chēng)高斯濾波器處理深度圖像,來(lái)減弱背景中垂直紋理信息 產(chǎn)生的幾何扭曲(Geometric Distortion)現(xiàn)象。圖像修復(fù)則根據(jù)空洞區(qū)域的特征用偏微 分方程或是紋理分析的方法來(lái)填充空洞。
[0005] 二、基于時(shí)空結(jié)合的空洞填充算法。
[0006] 這種算法也可以分為三種,第一種利用多個(gè)視點(diǎn)的參考圖像來(lái)繪制虛擬視點(diǎn)的視 圖,從而可以通過(guò)圖像融合有效的縮小空洞的范圍。第二種是迭代算法,如Wang等人則提 出的非對(duì)稱(chēng)邊緣自適應(yīng)濾波器(Asymmetric Edge Adaptive Filter, AEAF)對(duì)深度圖像進(jìn) 行預(yù)處理,其核心思想來(lái)自雙邊濾波(Bilateral Filter)。該算法通過(guò)運(yùn)動(dòng)估計(jì),計(jì)算當(dāng)前 幀和參考幀的對(duì)應(yīng)點(diǎn)的亮度差異,來(lái)設(shè)置掩模系數(shù)。掩模在水平方向和垂直方向的系數(shù)是 不同,需要迭代多次才能得到這些系數(shù)。這種算法太復(fù)雜,不利于硬件實(shí)現(xiàn)。
[0007] 在現(xiàn)有的兩大類(lèi)算法中,基于空域的空洞填充算法,缺乏空洞區(qū)域的場(chǎng)景信息,用 來(lái)填充的像素不是真實(shí)場(chǎng)景的像素,而是通過(guò)一定的規(guī)則模擬出來(lái)的,填充后會(huì)降低圖像 的逼真度;而基于時(shí)空結(jié)合的空洞填充算法雖然可以利用更多的場(chǎng)景信息,用多個(gè)視點(diǎn)的 參考圖像來(lái)繪制虛擬視點(diǎn)的視圖,從而得到較好的目標(biāo)圖像,但需要較高的帶寬來(lái)傳輸多 路視頻信息。迭代算法時(shí)間復(fù)雜度高,不利于硬件實(shí)現(xiàn)。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于圖像序列的空洞填充方 法,只需要傳輸一路視頻,從圖像序列中選擇場(chǎng)景信息來(lái)填充較大空洞,不需要迭代多次, 既達(dá)到較佳的圖像質(zhì)量,又減少硬件實(shí)現(xiàn)的時(shí)間復(fù)雜度。
[0009] 為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明基于圖像序列的空洞填充方法,包括以下步驟:
[0010] si :根據(jù)三維圖像變換前后的參考圖像Rt和目標(biāo)圖像Dt,計(jì)算各對(duì)應(yīng)像素點(diǎn)的視 差矢量,得到視差圖MV_D tRt ;
[0011] S2 :對(duì)目標(biāo)圖像Dt進(jìn)行小空洞預(yù)處理,包括以下步驟:
[0012] S2. 1對(duì)目標(biāo)圖像Dt進(jìn)行中值濾波,去除極小空洞;
[0013] S2. 2 :按從左往右的順序遍歷視差圖MV_DtRt,檢測(cè)空洞,除圖像邊緣的空洞以外, 當(dāng)空洞的連續(xù)空洞點(diǎn)個(gè)數(shù)小于空洞長(zhǎng)度閾值len,進(jìn)入步驟S2. 4,否則進(jìn)入步驟S2. 3 ;
[0014] S2. 3 :判斷該空洞兩端的像素點(diǎn)是否均為前景像素點(diǎn),如果是,進(jìn)入步驟S2. 4,否 則不作任何操作:
[0015] S2. 4 :對(duì)該空洞采用基于視差圖的空洞填充方法進(jìn)行填充;
[0016] S3 :基于圖像序列依次對(duì)剩余空洞進(jìn)行填充,具體步驟包括:
[0017] 33.1:設(shè)置1^=1;
[0018] S3. 2 :根據(jù)圖像序列中的參考圖像Rt_k和參考圖像Rt+k,得到目標(biāo)圖像D t_k和目標(biāo) 圖像Dt+k ;
[0019] S3. 3 :將當(dāng)前目標(biāo)圖像Dt的深度圖,分別與目標(biāo)圖像Dt_k和Dt+k的深度圖求差,得 到兩個(gè)深度差值矩陣,遍歷深度差值矩陣,當(dāng)深度差值大于〇且小于預(yù)設(shè)閾值時(shí),將目標(biāo)圖 像D t_k或Dt+k中的對(duì)應(yīng)像素點(diǎn)的可用標(biāo)記設(shè)置為1,否則設(shè)置為0 ;當(dāng)目標(biāo)圖像Dt_k或Dt+k不 存在時(shí),直接將對(duì)應(yīng)像素點(diǎn)的可用標(biāo)記設(shè)置為〇 ;
[0020] S3. 4 :按行遍歷視差圖MV_DtRt,如果檢測(cè)到Dt (u,V)為空洞點(diǎn),按以下方法進(jìn)行填 充: D,_k (u, v), ml_k(iLv) = (\m._k(u,v) = \ D,_, (u,v), --,_/. (l^v) ^ 1,(w,v) -0
[0021] Df(u,v)= < {D,_k (u,v) + v))/ 2, mt_k (u,v) = (u,v) - 1 (), /77,_/ (w, v) = 0,m,_7 (w, v) = 0
[0022] 其中,Dt(u, v)表示目標(biāo)圖像Dt的中像素點(diǎn)(u, v),Dt_k(u, v)表示目標(biāo)圖像Dt_k中 的像素點(diǎn)(U, V),mt_k(u, V)表示目標(biāo)圖像Dt_k中像素點(diǎn)(u, V)的可用標(biāo)記,Dt+k(u, V)表示目 標(biāo)圖像Dt+k中的像素點(diǎn)(u, v),mt+k(u, v)表示目標(biāo)圖像Dt+k中像素點(diǎn)(u, v)的可用標(biāo)記;
[0023] 同時(shí)將目標(biāo)圖像中行方向上距離Dt (u,v)最近的背景像素點(diǎn)的視差值和深度值作 為Dt(u,v)的視差值和深度值更新視差圖和深度圖;
[0024] S3. 5 :分別判斷參考圖像Rt_k、Rt+k與參考圖像Rt相比,前景是否相對(duì)于背景發(fā)生 運(yùn)動(dòng),如果是,則將參考圖像R t-k或Rt+k記為圖像V,對(duì)目標(biāo)圖像Dt進(jìn)行運(yùn)動(dòng)補(bǔ)償后進(jìn)入 步驟S3. 6,否則直接進(jìn)入步驟S3. 6,運(yùn)動(dòng)補(bǔ)償?shù)姆椒椋?br>
[0025] 遍歷當(dāng)前目標(biāo)圖像Dt的視差圖,得到所有空洞的非空洞端點(diǎn)中為背景像素的 端點(diǎn)集合,依次選擇端點(diǎn)集合中的各個(gè)端點(diǎn)D t(p,q),通過(guò)視差值得到參考圖像中的對(duì) 應(yīng)像素點(diǎn)Rt(P' ,q;),選取以像素點(diǎn)Rt(P',q; +ctn)為中心、邊長(zhǎng)為2n+l的圖像 塊作為當(dāng)前塊,其中η為正整數(shù),α為偏移方向指示,當(dāng)端點(diǎn)Dt(p,q)為空洞的左端點(diǎn), α = _1,當(dāng)端點(diǎn)Dt(p,q)為空洞的右端點(diǎn),α =1;在圖像V中搜索當(dāng)前塊的最佳匹 配塊,計(jì)算得到當(dāng)前塊至匹配塊的運(yùn)動(dòng)矢量?jī)?;然后?duì)目標(biāo)圖像Dt中以Dt (ρ,q- α η)為 中心、邊長(zhǎng)為η的圖像塊中的空洞點(diǎn)進(jìn)行填充,當(dāng)Dt(p+i,q_an+j)為空洞點(diǎn),其中i、j 的取值范圍分別為-η彡i彡η、-η彡j彡η,圖像V中用于填充該空洞點(diǎn)的像素點(diǎn)為 /?'(尸' + /、/十a(chǎn)" + ,/')+ m ,同時(shí)將目標(biāo)圖像中行方向上距離Dt(p+i, q-α n+j)最近的背景 像素點(diǎn)的視差值和深度值作為像素點(diǎn)Dt(u,v)的視差值和深度值更新視差圖和深度圖;
[0026] S3. 6 :遍歷視差圖MV_DtRt,檢測(cè)空洞,當(dāng)空洞的連續(xù)空洞點(diǎn)個(gè)數(shù)小于空洞長(zhǎng)度閾 值len,采用基于視差圖的空洞填充方法對(duì)該空洞進(jìn)行填充,否則不作任何操作;
[0027] S3. 7 :判斷是否k = max (a, b),其中a表示圖像序列中參考圖像Rt之前的可用圖 像數(shù)量,b表示圖像序列中參考圖像Rt之后的可用圖像數(shù)量,如果是,進(jìn)入步驟S4,否則令 k = k+Ι,返回步驟S3. 2 ;
[0028] S4 :采用圖像修復(fù)方法對(duì)步驟S3得到的目標(biāo)圖像進(jìn)行修復(fù)。
[0029] 本發(fā)明基于圖像序列的空洞填充方法,根據(jù)三維圖像變換前后的參考圖像Rt和目 標(biāo)圖像D t,得到視差圖MV_DtRt,對(duì)目標(biāo)圖像Dt進(jìn)行小空洞預(yù)處理,再基于圖像序列依次對(duì)剩 余空洞進(jìn)行填充:根據(jù)參考圖像R t前后的一組鄰近參考圖像生成鄰近目標(biāo)圖像,計(jì)算鄰近 目標(biāo)圖像與目標(biāo)圖像Dt的深度差值,根據(jù)深度差值對(duì)鄰近目標(biāo)圖像中的像素點(diǎn)進(jìn)行可用標(biāo) 記,再根據(jù)可用標(biāo)記從鄰近目標(biāo)圖像拷貝像素點(diǎn)對(duì)目標(biāo)圖像D t的空洞進(jìn)行填充,然后使用 鄰近參考圖像對(duì)目標(biāo)圖像Dt采用運(yùn)動(dòng)補(bǔ)償?shù)姆绞竭M(jìn)行空洞填充,此時(shí)再對(duì)小于閾值的空洞 采用基于視差圖的空洞填充方法,然后選取下一組鄰近參考圖像進(jìn)行填充;最終剩下的空 洞由圖像修復(fù)算法完成填充。
[0030] 本發(fā)明具有以下有益效果:
[0031] (1)只需要一路視頻,從圖像序列中選擇場(chǎng)景信息來(lái)填充較大空洞,不需要額外傳 輸其他視頻數(shù)據(jù),在保證較佳圖像質(zhì)量的前提下,節(jié)省傳輸視頻數(shù)據(jù)所需的帶寬,減少硬件 實(shí)現(xiàn)的時(shí)間復(fù)雜度;
[0032] (2)從圖像序列中獲取場(chǎng)景信息,提高了填充后的空洞區(qū)域的真實(shí)性,得到高質(zhì)量 的新視圖。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0033] 圖1是塊匹配運(yùn)動(dòng)估計(jì)原理圖;
[0034] 圖2是目標(biāo)圖像以及如后參考圖像關(guān)系不意圖;
[0035] 圖3是本發(fā)明基于圖像序列的空洞填充方法的工作流程示意圖;
[0036] 圖4是本實(shí)施例中參考圖像與目標(biāo)圖像;
[0037] 圖5是小空洞預(yù)處理的工作流程示意圖;
[0038] 圖6是中值濾波后的目標(biāo)圖像;
[0039] 圖7是空洞大小檢測(cè)不意圖;
[0040] 圖8是較大空洞分類(lèi)示意圖;
[0041] 圖9是基于圖像序列進(jìn)行空洞填充的工作流程圖;
[0042] 圖10是三個(gè)目標(biāo)圖像對(duì)應(yīng)的深度圖;
[0043] 圖11是前后兩幀目標(biāo)圖像中的可用像素標(biāo)記;
[0044] 圖12是二巾貞參考圖像;
[0045] 圖13是根據(jù)圖12中參考圖像得到的三幀目標(biāo)圖像;
[0046] 圖14是第0幀目標(biāo)圖像在基于圖像序列的空洞填充過(guò)程和結(jié)果;
[0047] 圖15是第0幀目標(biāo)圖像完全修復(fù)的結(jié)果圖;
[0048] 圖16是第0幀目標(biāo)圖像采用對(duì)比算法的修復(fù)結(jié)果圖;
[0049] 圖17是第49幀目標(biāo)圖像在基于圖像序列的空洞填充過(guò)程和結(jié)果;
[0050] 圖18是第49幀目標(biāo)圖像完全修復(fù)的結(jié)果圖;
[0051] 圖19是第49幀目標(biāo)圖像采用對(duì)比算法的修復(fù)結(jié)果圖;
[0052] 圖20是第99幀目標(biāo)圖像在基于圖像序列的空洞填充過(guò)程和結(jié)果;
[0053] 圖21是第99幀目標(biāo)圖像完全修復(fù)的結(jié)果圖;
[0054] 圖22是第99幀目標(biāo)圖像采用對(duì)比算法的修復(fù)結(jié)果圖。
【具體實(shí)施方式】
[0055] 下面結(jié)合附圖對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行描述,以便本領(lǐng)域的技術(shù)人員更好地 理解本發(fā)明。需要特別提醒注意的是,在以下的描述中,當(dāng)已知功能和設(shè)計(jì)的詳細(xì)描述也許 會(huì)淡化本發(fā)明的主要內(nèi)容時(shí),這些描述在這里將被忽略。
[0056] 為了對(duì)本發(fā)明進(jìn)行更好的說(shuō)明,下面先對(duì)本發(fā)明的相關(guān)概念進(jìn)行簡(jiǎn)單介紹。
[0057] 1、運(yùn)動(dòng)矢量
[0058] 運(yùn)動(dòng)矢量指由匹配塊與當(dāng)前塊的相對(duì)位置計(jì)算出的運(yùn)動(dòng)位移,可以用塊匹配運(yùn)動(dòng) 估計(jì)算法估計(jì)出來(lái)。通常情況下,參考幀為當(dāng)前幀的相鄰幀。圖1是塊匹配運(yùn)動(dòng)估計(jì)原理 圖。如圖1所示,為確定當(dāng)前幀R t中的塊Bt (當(dāng)前塊)的運(yùn)動(dòng)矢量,在參考幀Rt+1中尋找其 最佳匹配塊,最佳匹配塊的搜索通常在一個(gè)搜索窗內(nèi)進(jìn)行。例如待估計(jì)的塊大小為MXN, 搜索范圍為正負(fù)m,則搜索窗大小為(M+2m) X (N+2m)。通常在選取塊大小時(shí),Μ = N。最 佳匹配塊的判斷準(zhǔn)則有多種,比如最小絕對(duì)差準(zhǔn)則和最小絕對(duì)偏差和(Sum of Absolute Difference,SAD)準(zhǔn)則等。
[0059] 在前一幀中尋找匹配塊進(jìn)行的運(yùn)動(dòng)估計(jì),也稱(chēng)為前向運(yùn)動(dòng)估計(jì);相反,到后一幀中 尋找匹配塊進(jìn)行的運(yùn)動(dòng)估計(jì),相應(yīng)地稱(chēng)之為后向運(yùn)動(dòng)估計(jì)。
[0060] 2、前后向運(yùn)動(dòng)估計(jì)補(bǔ)償融合
[0061] 圖2是目標(biāo)圖像以及前后參考圖像關(guān)系示意圖。如圖2所示,通過(guò)搜索匹配塊可 得到參考圖像(當(dāng)前幀)與其相鄰的前/后參考圖像的運(yùn)動(dòng)矢量MV_RtRt+i,再求目標(biāo)圖像與 參考圖像對(duì)應(yīng)的運(yùn)動(dòng)矢量(也就是視差向量)MV_D tRt,這兩個(gè)運(yùn)動(dòng)矢量求和便可得到目標(biāo) 圖像與其前后視頻圖像的運(yùn)動(dòng)矢量MV_DtR t+i。因此,通過(guò)目標(biāo)圖像與參考圖像的視差圖,以 及前/后參考圖像的匹配塊搜索可以在前/參考圖像中得到目標(biāo)圖像像素點(diǎn)的對(duì)應(yīng)信息, 因此可以根據(jù)這些對(duì)應(yīng)信息進(jìn)行空洞填充。
[0062] 由于圖像序列里可能沒(méi)有包含填充目標(biāo)圖像空洞需要的全部信息,如需填補(bǔ)全部 空洞,還需結(jié)合中值濾波、基于視差圖的空洞填充和圖像修復(fù)等方法綜合進(jìn)行。
[0063] 實(shí)施例
[0064] 圖3是本發(fā)明基于圖像序列的空洞填充方法的工作流程示意圖。如圖3所示,本 發(fā)明基于圖像序列的空洞填充方法包括以下步驟:
[0065] S301 :計(jì)算視差圖:
[0066] 根據(jù)三維圖像變換前后的參考圖像Rt和目標(biāo)圖像Dt,計(jì)算各對(duì)應(yīng)像素點(diǎn)的視差矢 量,得到視差圖MV_DtRt。
[0067] 本實(shí)施例采用"ballet"序列中的圖像及其附帶標(biāo)定參數(shù)。參考圖像選擇由 "ballet"序列中由攝像機(jī)4捕獲的圖像作為參考圖像(左視圖)。圖4是本實(shí)施例中參考 圖像與目標(biāo)圖像。
[0068] S302 :對(duì)目標(biāo)圖像Dt進(jìn)行小空洞預(yù)處理:
[0069] 圖5是小空洞預(yù)處理的工作流程示意圖。如圖5所示,對(duì)目標(biāo)圖像Dt的小空洞預(yù) 處理包括以下步驟:
[0070] S501:中值濾波:
[0071] 如圖4所示,目標(biāo)圖像中有許多大小不同的空洞,對(duì)于尺寸很小的空洞(即所謂極 小空洞),可將其視為圖像中的噪點(diǎn),可以采用中值濾波進(jìn)行去除,以便進(jìn)行后續(xù)的操作。用 目標(biāo)圖像Dt中距離空洞點(diǎn)D t(u,v)最近的背景像素的視差值作為被填充空洞點(diǎn)Dt(u,v)的 視差值。圖6是中值濾波后的目標(biāo)圖像。如圖6所示,經(jīng)過(guò)中值濾波后,尺寸較小的空洞已 經(jīng)被去除。
[0072] S502 :檢測(cè)空洞大小,區(qū)分較大空洞和較小空洞,即判斷連續(xù)空洞是否小于空洞長(zhǎng) 度閾值len,再分別進(jìn)行處理。圖7是空洞大小檢測(cè)示意圖。如圖7所示,空洞大小檢測(cè)的具 體方法為:按從左往右的順序遍歷視差圖MV_D tRt,檢測(cè)空洞,并確定該空洞的終點(diǎn)和連續(xù) 空洞點(diǎn)的個(gè)數(shù),除圖像邊緣的空洞以外,當(dāng)空洞的連續(xù)空洞點(diǎn)個(gè)數(shù)小于空洞長(zhǎng)度閾值len, 則認(rèn)為此處是較小空洞,進(jìn)入步驟S504,則認(rèn)為此處是較大空洞,否則進(jìn)入步驟S503。
[0073] S503 :較大空洞分類(lèi):
[0074] 由于深度圖像的不準(zhǔn)確,在較大空洞邊緣(即較大空洞的邊緣區(qū)域?yàn)楸尘皶r(shí))會(huì) 產(chǎn)生匹配誤差,從而在處理較大空洞時(shí)先需要將較大空洞分類(lèi),然后再用其他填充較大空 洞的方法得到較好的圖像質(zhì)量。
[0075] 圖8是較大空洞分類(lèi)示意圖。如圖8所示,根據(jù)較大空洞兩端的像素為前景或是 背景像素,以及是否在邊界上,可以將空洞分為五種情況:A :兩端都為背景像素點(diǎn);B :左端 為背景像素點(diǎn),右端為前景像素點(diǎn);C :左端為前景像素點(diǎn),右端為背景像素點(diǎn);D :兩端都為 前景像素點(diǎn);E :為邊界空洞。
[0076] 對(duì)于D類(lèi)空洞,采用基于視差圖的空洞填充方法來(lái)進(jìn)行填充,其他ABCE類(lèi)空洞采 用基于圖像序列的空洞填充方法進(jìn)行填充。因此,判斷空洞兩端的像素點(diǎn)是否均為前景像 素點(diǎn),如果是,進(jìn)入步驟S504,否則暫不處理,即不作任何操作。
[0077] S504 :基于視差圖進(jìn)行空洞填充:
[0078] 采用基于視差圖的空洞填充方法,即直接從參考圖像Rt中拷貝像素點(diǎn)來(lái)填充目標(biāo) 圖像Dt中的空洞,即空洞點(diǎn)Dt(u,v) =Rt(u,v)+d,當(dāng)目標(biāo)圖像Dt為左視圖時(shí),d為目標(biāo)圖像 Dt中前景左邊距離空洞點(diǎn)Dt (u,v)最近的背景像素的視差值,當(dāng)目標(biāo)圖像Dt為右視圖時(shí),d 為前景右邊距離空洞點(diǎn)Dt(u,v)最近的背景像素的視差值。同時(shí)更新目標(biāo)圖像Dt的視差圖 和深度圖,將d作為被填充空洞點(diǎn)D t(u,v)的視差值,用拷貝像素點(diǎn)的深度值作為被填充空 洞點(diǎn)Dt(u,v)的深度值。
[0079] 基于視差圖進(jìn)行空洞填充的方法具體可以參見(jiàn)Liu,R.,et al.,Hole-filling Based on Disparity Map for DIBR. KSII Transactions on Internet and Information Systems (TIIS),2012. 6(10) :p. 2663-2678。
[0080] S303 :基于圖像序列進(jìn)行空洞填充:
[0081] 圖9是基于圖像序列進(jìn)行空洞填充的工作流程圖。如圖9所示,基于圖像序列進(jìn) 行空洞填充包括以下步驟:
[0082] S901 :令鄰近參考圖像序號(hào)k = 1。
[0083] S902 :根據(jù)圖像序列中的參考圖像Rt_k和參考圖像Rt+k,得到目標(biāo)圖像D t_k和目標(biāo) 圖像Dt+k,即對(duì)參考圖像Rt_ k和參考圖像Rt+k進(jìn)行三維圖像變換。為了使目標(biāo)圖像Dt_k和目 標(biāo)圖像D t+k中能夠包含更多的新場(chǎng)景信息,還可以對(duì)得到的目標(biāo)圖像Dt_k和目標(biāo)圖像D t+k采 用步驟S302中的方法進(jìn)行小空洞預(yù)處理。
[0084] S903 :計(jì)算深度差值矩陣并標(biāo)記可用像素:
[0085] 標(biāo)記可用像素的目的是確定目標(biāo)圖像Dt_k和目標(biāo)圖像D t+k的新場(chǎng)景信息。具體方 法為:將當(dāng)前目標(biāo)圖像Dt的深度圖,分別與目標(biāo)圖像Dt_ k和Dt+k的深度圖求差,得到兩個(gè)深 度差值矩陣;遍歷深度差值矩陣,當(dāng)深度差值大于〇且小于預(yù)設(shè)閾值時(shí),將目標(biāo)圖像D t_k或 Dt+k中的對(duì)應(yīng)像素點(diǎn)的可用標(biāo)記設(shè)置為1,否則設(shè)置為0 ;當(dāng)目標(biāo)圖像Dt_k或Dt+k不存在時(shí), 直接將對(duì)應(yīng)像素點(diǎn)的可用標(biāo)記設(shè)置為〇。閾值可以根據(jù)實(shí)際情況進(jìn)行設(shè)置,在本實(shí)施例中, 閾值設(shè)置為9。為了能夠盡量多地使用圖像序列中的參考圖像及其目標(biāo)圖像進(jìn)行空洞填充, 之前的參考圖像數(shù)量和之后的參考圖像數(shù)量通常不相同,有可能之前與之后的參考圖像只 存在一個(gè),因此當(dāng)目標(biāo)圖像D t_k或Dt+k不存在時(shí),肯定不存在可用像素,因此直接將對(duì)應(yīng)像 素點(diǎn)的可用標(biāo)記設(shè)置為0。
[0086] 圖10是三個(gè)目標(biāo)圖像對(duì)應(yīng)的深度圖。圖11是前后兩幀目標(biāo)圖像中的可用像素標(biāo) 記。經(jīng)過(guò)圖10中的深度圖得到深度差值矩陣后進(jìn)行可用像素標(biāo)記,圖11中以圖像形式表示 標(biāo)記表,其中白色表示可用標(biāo)記1,黑色表示可用標(biāo)記0??梢?jiàn),在一張鄰近的參考圖像中, 能夠進(jìn)行空洞填充的可用像素并不很多,因此本發(fā)明需要利用圖像序列中的多個(gè)鄰近參考 圖像來(lái)進(jìn)行空洞填充。
[0087] S904 :圖像序列像素點(diǎn)拷貝:
[0088] 經(jīng)過(guò)步驟S903進(jìn)行可用像素標(biāo)記后,就可以根據(jù)標(biāo)記將經(jīng)過(guò)處理的鄰近目標(biāo)圖 像相應(yīng)的位置拷貝場(chǎng)景信息來(lái)填充當(dāng)前幀的空洞。具體做法是:按行遍歷視差圖MV_D tRt, 如檢測(cè)到Dt(u,v)的視差值為-128,則對(duì)應(yīng)的目標(biāo)圖像中的IX (u,v)為空洞點(diǎn)。然后根據(jù) 可用標(biāo)記判斷Dt(u,v)在鄰近目標(biāo)圖像中是否有可用的新場(chǎng)景信息,也就是判定D t(u,v)的 可用標(biāo)記是否等于1,如有可用新場(chǎng)景信息則拷貝相應(yīng)的像素點(diǎn)進(jìn)行補(bǔ)償。填充方法為:
【權(quán)利要求】
1. 一種基于圖像序列的空洞填充方法,其特征在于,包括以下步驟: 51 :根據(jù)三維圖像變換前后的參考圖像Rt和目標(biāo)圖像Dt,計(jì)算各對(duì)應(yīng)像素點(diǎn)的視差矢 量,得到視差圖MV_D tRt ; 52 :對(duì)目標(biāo)圖像Dt進(jìn)行小空洞預(yù)處理,包括以下步驟: S2. 1對(duì)目標(biāo)圖像Dt進(jìn)行中值濾波; S2. 2 :按從左往右的順序遍歷視差圖MV_DtRt,檢測(cè)空洞,除圖像邊緣的空洞以外,當(dāng)空 洞的連續(xù)空洞點(diǎn)個(gè)數(shù)小于空洞長(zhǎng)度閾值len,進(jìn)入步驟S2. 4,否則進(jìn)入步驟S2. 3 ; S2. 3 :判斷該空洞兩端的像素點(diǎn)是否均為前景像素點(diǎn),如果是,進(jìn)入步驟S2. 4,否則不 作任何操作: 52. 4 :對(duì)該空洞采用基于視差圖的空洞填充方法進(jìn)行填充; 53 :基于圖像序列依次對(duì)剩余空洞進(jìn)行填充,具體步驟包括: 53. 1 :設(shè)置 k = 1 ; S3. 2 :根據(jù)圖像序列中的參考圖像Rt_k和參考圖像Rt+k,得到目標(biāo)圖像D t_k和目標(biāo)圖像 Dt+k ; S3.3 :將當(dāng)前目標(biāo)圖像Dt的深度圖,分別與目標(biāo)圖像Dt_k和Dt+k的深度圖求差,得到 兩個(gè)深度差值矩陣,遍歷深度差值矩陣,當(dāng)深度差值大于〇且小于預(yù)設(shè)閾值時(shí),將目標(biāo)圖像 Dt_k或Dt+k中的對(duì)應(yīng)像素點(diǎn)的可用標(biāo)記設(shè)置為1,否則設(shè)置為0 ;當(dāng)目標(biāo)圖像Dt_k或Dt+k不存 在時(shí),直接將對(duì)應(yīng)像素點(diǎn)的可用標(biāo)記設(shè)置為〇 ; S3. 4 :按行遍歷視差圖MV DtRt,如果檢測(cè)到Dt(u, v)為空洞點(diǎn),按以下方法進(jìn)行填充:
其中,Dt(u,v)表示目標(biāo)圖像Dt的中像素點(diǎn)(u,v),Dt_ k(u,v)表示目標(biāo)圖像Dt_k中的像 素點(diǎn)(u,V),mt_k(u,V)表示目標(biāo)圖像D t_k中像素點(diǎn)(u,v)的可用標(biāo)記,Dt+k(u,v)表示目標(biāo)圖 像D t+k中的像素點(diǎn)(u,v),mt+k(u,v)表示目標(biāo)圖像Dt+k中像素點(diǎn)(u,v)的可用標(biāo)記; 同時(shí)將目標(biāo)圖像中行方向上距離Dt(u,v)最近的背景像素點(diǎn)的視差值和深度值作為 Dt(u,v)的視差值和深度值更新視差圖和深度圖; S3. 5 :分別判斷參考圖像Rt_k、Rt+k與參考圖像Rt相比,前景是否相對(duì)于背景發(fā)生運(yùn)動(dòng), 如果是,則將參考圖像或Rt+k記為圖像R',對(duì)目標(biāo)圖像Dt進(jìn)行運(yùn)動(dòng)補(bǔ)償后進(jìn)入步驟 S3. 6,否則進(jìn)入步驟S3. 6,運(yùn)動(dòng)補(bǔ)償?shù)姆椒椋? 遍歷當(dāng)前目標(biāo)圖像Dt的視差圖,得到所有空洞的非空洞端點(diǎn)中為背景像素的端點(diǎn) 集合,依次選擇端點(diǎn)集合中的各個(gè)端點(diǎn)Dt(p,q),通過(guò)視差值得到參考圖像中的對(duì)應(yīng)像 素點(diǎn)Rt(p',q< ),選取以像素點(diǎn)Rt(p' ,q< +αη)為中心、邊長(zhǎng)為2n+l的圖像塊作 為當(dāng)前塊,其中η為正整數(shù),α為偏移方向指示,當(dāng)端點(diǎn)Dt(p,q)為空洞的左端點(diǎn),α =-1,當(dāng)端點(diǎn)Dt(p,q)為空洞的右端點(diǎn),α =1;在圖像V中搜索當(dāng)前塊的最佳匹配 塊,計(jì)算得到當(dāng)前塊至匹配塊的運(yùn)動(dòng)矢量?jī)?;然后?duì)目標(biāo)圖像Dt中以Dt(p,q-α η)為中 心、邊長(zhǎng)為η的圖像塊中的空洞點(diǎn)進(jìn)行填充,當(dāng)Dt(p+i,q_an+j)為空洞點(diǎn),其中i、j的 取值范圍分別為-η彡i彡η、-η彡j彡η,圖像V中用于填充該空洞點(diǎn)的像素點(diǎn)為 W(/? +/,</ + α/? + y) +兩,同時(shí)將目標(biāo)圖像中行方向上距尚Dt (p+i, q- a n+j)最近的背景 像素點(diǎn)的視差值和深度值作為像素點(diǎn)Dt(u,v)的視差值和深度值更新視差圖和深度圖; S3. 6 :遍歷視差圖MV_DtRt,檢測(cè)空洞,當(dāng)空洞的連續(xù)空洞點(diǎn)個(gè)數(shù)小于空洞長(zhǎng)度閾值 len,采用基于視差圖的空洞填充方法對(duì)該空洞進(jìn)行填充,否則不作任何操作; S3. 7 :判斷是否k = max (a, b),其中a表示圖像序列中參考圖像Rt之前的可用圖像數(shù) 量,b表示圖像序列中參考圖像Rt之后的可用圖像數(shù)量,如果是,進(jìn)入步驟S4,否則令k = k+1,返回步驟S3. 2 ; S4 :采用圖像修復(fù)方法對(duì)步驟S3得到的目標(biāo)圖像進(jìn)行修復(fù)。
2.根據(jù)權(quán)利要求1所述的空洞填充方法,其特征在于,所述步驟S3. 2中,還對(duì)得到的目 標(biāo)圖像Dt_k和目標(biāo)圖像Dt+k采用步驟S2中的方法進(jìn)行小空洞預(yù)處理。
【文檔編號(hào)】H04N13/00GK104065946SQ201410271105
【公開(kāi)日】2014年9月24日 申請(qǐng)日期:2014年6月17日 優(yōu)先權(quán)日:2014年6月17日
【發(fā)明者】劉然, 曹東華, 田逢春, 李博樂(lè), 黃振偉, 鄧澤坤, 賈瑞雙, 徐苗, 譚迎春, 譚偉敏 申請(qǐng)人:四川虹微技術(shù)有限公司, 重慶大學(xué)