專利名稱:數(shù)字圖像處理中以任意圖像為背景的快速摳圖方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)字圖像處理中以任意圖像為背景的快速摳圖方法。
背景技術(shù):
摳圖技術(shù)是一種把任意圖像中的前景部分從背景中分離出來的一種圖像處理技術(shù)。它在電影電視特效特技制作等方面有著廣泛而深入的應(yīng)用。根據(jù)對圖像背景的有無限制,摳圖技術(shù)大致可以分為兩大類對圖像前景或背景有限制一類又可分為藍屏摳圖(blue screen matting)和差異摳圖(difference matting)。藍屏摳圖技術(shù)對圖像的背景有一定限制,背景通常是固定顏色,一般為藍色或者綠色,或者是準備多張有相同前景的圖像,利用這些圖像中的背景顏色的不同,來達到準確摳取前景的目的。差異摳圖技術(shù)需要另外準備一張背景圖像,通過比較背景圖像和原圖中相應(yīng)點的顏色差異來估計alpha值。
對圖像背景無限制一類自然圖像摳圖(natural image matting)。它對圖像的背景不做要求,且只需一張圖像。
摳圖問題可以定義為對給定圖像上任一點c,求c點的顏色C所含的前景色F和alpha值α。摳圖問題的困難在于對圖像上的任一點c,它的F和α的解并不是唯一的,我們要從無數(shù)對的解中找出最合理的解。
藍屏摳圖技術(shù)簡單,計算量小,且摳圖效果好。但是它有其致命的弱點,就是它對圖像的背景的顏色有一定限制。一般情況下背景要求是藍色或者綠色,應(yīng)用該技術(shù)時需要一個人拿著塊藍色的背景到處跑,同時它一般還要求前景的顏色的RGB分量按某種比例分布,這些使藍屏摳圖技術(shù)在具體應(yīng)用當中帶來了很大的不便。
自然圖像摳圖技術(shù)有Knockout方法、Ruzon&Tomasi方法、Hillman方法和Chuang方法。自然圖像摳圖一般可以分為三個步驟1.區(qū)域分割。一般情況下以手工分割為主。由于區(qū)域分割的精確程度對摳圖效果有很大的影響。手工分割區(qū)域可以有更好的精確度,一般一張圖像的區(qū)域分割耗時2-3分鐘左右。
2.前景和背景顏色估計。Knockout方法利用鄰近區(qū)域的點的加權(quán)平均來估計,方法簡單,計算量較?。籖uzon&Tomasi方法、Hillman方法和Chuang方法都利用了統(tǒng)計學(xué)的規(guī)律,方法復(fù)雜,計算量大。
3.Alpha值估計。利用估計出的前景和背景顏色來估計alpha值。在已知的方法中,除了Knockout方法外,其余方法都沒有對前景和背景顏色做調(diào)整。而Knockout方法所作的調(diào)整又過于粗糙,導(dǎo)致其摳圖效果不佳。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種數(shù)字圖像處理中以任意圖像為背景的快速摳圖方法。其步驟為1.手工對圖像進行區(qū)域劃分,把它劃分成三個部分前景區(qū)域,未知區(qū)域和背景區(qū)域;2.根據(jù)分割的區(qū)域,對未知區(qū)域中的任意一點c,設(shè)其顏色為C,計算出其前景和背景顏色分量F和B;3.根據(jù)估計出的前景和背景顏色分量F和B,采取顏色調(diào)整措施調(diào)整F和B的值,最后估計出c點的alpha值。
本發(fā)明具有速度塊,效果好的優(yōu)點。以前的自然圖像摳圖技術(shù)都把大部分的精力放在了第二個步驟,也即如何估計前景和背景顏色,而忽略了第三個步驟,也即alpha的估計。關(guān)注步驟2忽略步驟3的結(jié)果導(dǎo)致出現(xiàn)了各種復(fù)雜的顏色估計模型,雖然在一定程度上改進了摳圖效果,但同時也大大增加了計算量,這使得自然圖像摳圖技術(shù)在實際中的應(yīng)用受到了很大的限制。
本發(fā)明突破了這個框架,設(shè)計了一種計算量小,摳圖效果好的摳圖技術(shù)來滿足實際的需要。它的顏色估計模型非常簡單,alpha值的估計方案則別出心裁。
表1列出了不同摳圖例子在不同的機器上所需的處理時間。與當今國際上摳圖效果最好的Chuang方法相比,本發(fā)明的速度比它提高了10~12倍,而摳圖效果卻沒有降低。Chuang方法在CPU為P31.0G,RAM為512M的環(huán)境下,處理Syringe圖像需要120秒左右。使用本發(fā)明的方法在機器條件比Chuang方法略差的條件下,速度是Chuang方法的11倍左右。
表格1不同摳圖例子在不同環(huán)境下的摳圖時間
應(yīng)用本發(fā)明可以快速有效地摳出任意圖像中的前景部分。大量的例子證明,本發(fā)明很好地解決了摳圖中存在的速度和效果之間的矛盾,具有很好的實用價值。
圖1是本發(fā)明流程示意圖;圖2(a)(b)描述的是區(qū)域劃分和前景背景顏色分量的估計示意圖;圖3(a)(b)(c)(d)是顏色F、B和C在顏色空間中的幾種相對位置示意圖;圖4(a)(b)是本發(fā)明中的顏色調(diào)整方案示意圖;圖5是本發(fā)明與其他摳圖方法的關(guān)于例子Syringe圖像的效果比較示意圖;圖6是本發(fā)明與Chuang方法的關(guān)于例子Feather edge圖像的效果比較示意圖;圖7是本發(fā)明的其他一些效果示意圖。
具體實施例方式
數(shù)字圖像處理中以任意圖像為背景的快速摳圖方法的原理是對于前景和背景之間的過渡區(qū)域(也即區(qū)域分割中的未知區(qū)域)中的任意一點c,以圖像空間中離該點最近的一些前景點和背景點的顏色加權(quán)平均值F和B做為c點顏色的前景和背景顏色分量,然后采用適當?shù)腶lpha值估計方案估計出c點的alpha值α。本方法無需建立復(fù)雜的模型來求前景和背景顏色,顏色的調(diào)整方案也很簡單,因此,本方法是一種快速的摳圖方法。
首先,在本摳圖方法的第二個步驟中,計算前景顏色分量F和背景顏色分量B的模型簡單實用。本方法只計算包含在兩個圓區(qū)域內(nèi)部的輪廓線上的點,且權(quán)重的計算和這些點與c點的距離成線性關(guān)系,距離最近的點的權(quán)重最大,隨著距離的增大權(quán)重線性減小。本發(fā)明的摳圖方法在第二步的顏色估計模型盡可能地做了簡化。
其次,在第三個步驟中,本方法的顏色調(diào)整方案簡單直觀。該方案保持顏色的RGB分量的比例不變,利用人眼對顏色亮度的微小變化不甚敏感的特點,在最小程度上調(diào)整前景和背景顏色的亮度,最后利用調(diào)整后的前景和背景顏色估計出C點的alpha值。該方案的具體如下
在三維RGB顏色空間中,一點的顏色可以表示為一個點或者一個向量。在顏色三維坐標中,點O為坐標原點,它表示黑色。給定顏色空間中的任意兩點P1,P2,|P1P2|表示線段P1P2的長度。設(shè)未知區(qū)域內(nèi)任一點c,其顏色為C,估計出來的初始前景和背景顏色分量為B、F。在三維顏色空間中,為了表述方便,我們做如下定義摳圖偏差點C和線段BF之間的距離稱為摳圖偏差。在圖3(a)中,點C位于線段BF上,此時摳圖偏差為0;圖2(b)中,點C在線段BF外,做線段CC′垂直于線段BF并交于點C′,此時摳圖偏差為線段CC′的長度|CC′|。
規(guī)則點和不規(guī)則點當C點離線段BF的距離不太遠時,我們稱此時的C點為規(guī)則點,否則為不規(guī)則點。線段CC′和BF的長度的比值在一定程度上反應(yīng)了C點的規(guī)則性。
當C點剛好落在線段BF上時,這種情況是C點的最理想的情況。從顏色合成方程可以推出α=(C-B)·(F-B)||F-B||2---(1)]]>式(1)中,向量(C-B)對應(yīng)于有向線段BC,向量(F-B)對應(yīng)于有向線段BF,α則是線段BC在BF上的投影的長度和BF的長度的比值。當C點在線段BF上時,摳圖偏差為0,線段BC在BF上的投影的長度就是線段BC的長度。在絕大多數(shù)情況下,摳圖偏差不為0,應(yīng)用(1)式計算α?xí)幸欢ǖ钠?。于是問題轉(zhuǎn)化為如何盡可能合理地減小摳圖偏差的值。本發(fā)明的顏色調(diào)整方案基于以下的幾個觀察觀察1當C點為規(guī)則點時,由公式(3)計算出的alpha值的誤差可以忽略。(如圖3(b)所示);觀察2當角∠BCF為鈍角時,點C離線段BF的距離并不太遠。
觀察3當線段OC的長度介于線段OB和OF之間時,點C離線段BF的距離也不太遠。
滿足觀察2和3的C點是規(guī)則點。并非所有的規(guī)則點都滿足觀察2或者3。通過本發(fā)明介紹的方法在顏色空間中調(diào)整B和F的位置,可以把大部分不規(guī)則的C點轉(zhuǎn)化為規(guī)則點。
本發(fā)明定義lF=Fr+Fg+Fb,lB=Br+Bg+Bb,lC=Cr+Cg+Cb,比值 當 時,如果lC>lF,則把F調(diào)整為F^=(Fr×lC/lF,Fg×lC/lF,Fb×lC/lF),]]>如果lC<lB,則把B調(diào)整為B^=(Br×lC/lB,Bg×lC/lB,Bb×lC/lB);]]>當 時,如果lC<lF,則把F調(diào)整為F^=(Fr×lC/lF,Fg×lC/lF,Fb×lC/lF),]]>如果lC>lB,則把B調(diào)整為B^=(Br×lC/lB,Bg×lC/lB,Bb×lC/lB).]]>把調(diào)整后的 和 代入公式(1),計算出alpha值α。
本發(fā)明的顏色調(diào)整方案只對初始前景和背景顏色分量F和B的亮度在最小程度上做了修改,而并沒有改變它們的顏色。一般情況下,人眼對顏色的亮度的微小變化不太敏感,因此完全可以用 和 代替F和B來計算α值。這種替換保持了α估計值的連續(xù)性,不會對人眼造成很大的沖擊。用 和 計算出來的α值更為接近真實的α值。
圖1是本發(fā)明的詳細流程圖。首先,對輸入圖像進行區(qū)域劃分,共分為三個部分前景區(qū)域、背景區(qū)域和未知區(qū)域;其次,根據(jù)劃分的區(qū)域,對未知區(qū)域中的每一點,初步估計出它的前景和背景顏色分量;最后,本發(fā)明采用顏色調(diào)整方案對估計出的前景和背景顏色分量進行調(diào)整,估計出它的alpha值。
圖2(a)是本發(fā)明中區(qū)域劃分的一個例子;圖2(b)描述了在本發(fā)明中如何估計未知區(qū)域中的點的前景和背景顏色分量。其中較小的圓C1內(nèi)部包含的那段紅色的前景輪廓線上的點就是計算前景分量所需的所有點,較大的圓C2內(nèi)部所包含的那段綠色的背景輪廓線上的點就是計算背景分量所需的所有點。
圖3(a)中點C恰好在線段BF上;圖3(b)中點C在線段BF之外,但和線段BF距離很近;圖3(c)中l(wèi)C不介于lB和lF之間,但∠BCF為鈍角;圖3(d)中l(wèi)C介于lB和lF之間,但∠BCF為銳角。
圖4是本發(fā)明中的顏色調(diào)整方案示意圖。這里只討論當lB<lF時的情況。此時如果lC不介于lB和lF之間,則有兩種情況lC<lB<lF(如圖4(a)所示)和lB<lF<lC(如圖4(b)所示)。在圖4(a)中,在BF的延長線上找一點F′,使lF′=lC,這樣就有l(wèi)B<lC≤lF′,滿足觀察3,可以認為C點此時是規(guī)則點,可以應(yīng)用公式(1)計算alpha值。圖4(b)的處理與之類似。
本說明書共舉了6個實施例子。在本說明書所舉的實施例子中,參數(shù)取值都為θ=2.0,ρ=1.428。圖5,圖6為實施例子1、2,圖7包含實施例子3~6。
實施例1圖5中的放大圖1是由三部分組合而成,其中左邊是原圖,中間是灰度圖,右邊是背景為黑色的合成圖。Knockout方法在放大圖1中沒有把一些頭發(fā)絲摳出來,另外放大圖1上有一些點的結(jié)果失真。Ruzon&Tomasi方法則有一些頭發(fā)絲出現(xiàn)比較嚴重的斷裂現(xiàn)象,另外合成圖中有明顯的不連續(xù)的現(xiàn)象。Chuang方法的效果較好,但仔細觀察,可以發(fā)現(xiàn)放大圖2的底部有輕微的不連續(xù)現(xiàn)象,在放大圖1中也有些微的不連續(xù)。本發(fā)明的方法在本例子中則沒有上述的缺點。
實施例2圖6中Chuang方法在放大圖1中的兩個橢圓內(nèi)部的區(qū)域中摳圖結(jié)果錯誤或者出現(xiàn)雜質(zhì)。在上部的小橢圓內(nèi)部,一部分發(fā)絲被強行割掉,這里的摳圖結(jié)果是錯誤的,而在下面的大橢圓內(nèi)部,則出現(xiàn)了一片雜質(zhì)。本發(fā)明的方法則很好的處理了這些問題。
實施例3~6圖7中(a)圖是Gandalf例子,(b)圖是Galadriel例子,(c)圖是Tiger例子,(d)圖是Water例子。
數(shù)字圖像處理中以任意圖像為背景的快速摳圖方法的要點是1.手工進行區(qū)域劃分,確保輪廓線經(jīng)過合適的區(qū)域,并具有足夠的精度;2.顏色估計中用到的樣本點為圓內(nèi)部的輪廓線上的點,兩個圓的半徑的長度一般為最短距離的1.5~3.0倍;3.調(diào)整估計出來的前景和背景顏色,使C點轉(zhuǎn)為規(guī)則點;4.利用調(diào)整后的顏色來估計c點的alpha值。
區(qū)域劃分的精確與否對自然圖像摳圖的精度有很大的影響。摳圖時應(yīng)注意以下幾點①保證前景輪廓線內(nèi)的點全部為前景點,背景輪廓線外的點全部為背景點,不能允許有交叉,否則將大大影響交叉區(qū)域的摳圖精確度;②由于光照和空氣的影響,人眼中物體的邊界處總是有一點模糊。前景和背景輪廓線不要太靠近物體的邊界,要留有一定的余地,保證過渡區(qū)域不劃入前景或者背景區(qū)域。邊界到兩條輪廓線的距離大致相等;③盡量使輪廓線不穿過顏色突變劇烈的區(qū)域。
本發(fā)明中前景和背景顏色的估計用到的樣本點僅為輪廓線上的點,這使樣本點的個數(shù)大大減小,提高了計算速度。
本發(fā)明的顏色調(diào)整方案是整個方法的重點。它的核心就是把C點由不規(guī)則點轉(zhuǎn)化為規(guī)則點,使α的求解能夠利用公式(1)。在顏色的RGB比例不變的情況下,最小程度地調(diào)整顏色的亮度,利用人眼對顏色亮度的小范圍變化不敏感的特點,把調(diào)整后前景和背景顏色代替原來估計出的顏色,來求得更合理的alpha值。
權(quán)利要求
1.一種數(shù)字圖像處理中以任意圖像為背景的快速摳圖方法,其特征在于其步驟為1)手工對圖像進行區(qū)域劃分,把它劃分成三個部分前景區(qū)域,未知區(qū)域和背景區(qū)域;2)根據(jù)分割的區(qū)域,對未知區(qū)域中的任意一點c,設(shè)其顏色為C,計算出其初始的前景和背景顏色分量F和B;3)據(jù)估計出的初始前景和背景顏色分量F和B,采取顏色調(diào)整措施調(diào)整F和B的值,最后估計出c點的alpha值。
2.根據(jù)權(quán)利要求1所述的一種數(shù)字圖像處理中以任意圖像為背景的快速摳圖方法,其特征在于所說的區(qū)域分割是手工在圖像的前景邊緣畫兩條輪廓線,一條是前景輪廓線,處于這條輪廓線內(nèi)部的點都是前景區(qū)域的點,另一條輪廓線為背景輪廓線,處于這條輪廓線之外的點都是背景區(qū)域的點,位于這兩條輪廓線之內(nèi)的點為未知區(qū)域的點。手工畫輪廓線時,盡量使未知區(qū)域內(nèi)不包含前景區(qū)域或背景區(qū)域的點。
3.根據(jù)權(quán)利要求1所述的一種數(shù)字圖像處理中以任意圖像為背景的快速摳圖方法,其特征在于所說的前景和背景顏色分量F和B的計算是對于未知區(qū)域中的任意一點c,找出前景輪廓線和背景輪廓線上離c點距離最近的點f′和b′。假設(shè)點f′和b′離c點的距離分別為d1和d2,給定一個正實數(shù)θ(1.0<θ≤10.0),以點c為圓心,分別以θd1和θd2長為半徑,做兩個同心圓C1和C2。設(shè)在圓C1內(nèi)部且位于前景輪廓線上的所有點為f1、f2、……、fk,這些點離c點的距離為d11、d12……、d1k,在圓C2內(nèi)部且位于背景輪廓線上的所有點為b1、b2、……、bl,這些點離c點的距離為d21、d22……、d21,計算出fi(i=1,2,…,k)點顏色的加權(quán)平均值F‾=Σi=1kw1ifi,bj(j=1,2,...,l)]]>點顏色的加權(quán)平均值B‾=Σj=1lw2jbj,]]>其中w1i=θθ-1-1θ-1·d1id1(i=1,2,...,k),]]>w2j=θθ-1-1θ-1·d2jd2(j=1,2,...,l).]]>在本發(fā)明中,F(xiàn)和B就是所估計的前景和背景顏色分量F和B。
4.根據(jù)權(quán)利要求1或3所述的一種數(shù)字圖像處理中以任意圖像為背景的快速摳圖方法,其特征在于所說的alpha值估計是其步驟為1)根據(jù)圖像中前景物體和背景物體的顏色亮度差異,決定色差參數(shù)ρ的取值;2)調(diào)整F和B的值為 和 3)根據(jù)調(diào)整后的 和 估計出c點的alpha值α。
5.根據(jù)權(quán)利要求1或3所述的一種數(shù)字圖像處理中以任意圖像為背景的快速摳圖方法,其特征在于色差參數(shù)ρ的取值是當前景物體的亮度比背景物體大時,ρ的取值比較小,一般情況下,其取值范圍為1.0<ρ≤2.0;當前景物體的亮度比背景物體小時,ρ的取值比較大,一般情況下,其取值范圍為ρ>2.0。
6.根據(jù)權(quán)利要求1或3所述的一種數(shù)字圖像處理中以任意圖像為背景的快速摳圖方法,其特征在于F和B的調(diào)整是設(shè)F=(Fr,F(xiàn)g,F(xiàn)b),B=(Br,Bg,Bh),C=(Cr,Cg,Cb),其中Ar,Ag,Ab為顏色A在RGB三個通道上的分量,這里A=F,B,C。計算lF=Fr+Fg+Fb,lB=Br+Bg+Bb,lC=Cr+Cg+Cb,比值 此時分為三種情況討論①如果 且lC>lF,或者 且lC<lF,則把F調(diào)整為F^=(Fr×lC/lF,Fg×lC/lF,Fb×lC/lF),]]>B不作調(diào)整,也即B^=B‾.]]>②如果 且lC<lB,或者 且lC>lB,把B調(diào)整為B^=(Br×lC/lB,Bg×lC/lB,Bb×lC/lB),]]>F不作調(diào)整,也即F^=F‾.]]>③在其余的情況下,F(xiàn)和B均不作調(diào)整,也即F^=F‾,]]>B^=B‾.]]>
7.根據(jù)權(quán)利要求1或3所述的一種數(shù)字圖像處理中以任意圖像為背景的快速摳圖方法,其特征在于alpha值估計是根據(jù)調(diào)整后的 和 由公式α=(C-B^)·(F^-B^)||F^-B^||2]]>計算出未知區(qū)域中的一點c的alpha值α。
全文摘要
本發(fā)明公開了一種數(shù)字圖像處理中以任意圖像為背景的快速摳圖方法。其步驟為1)手工對圖像進行區(qū)域分割,把它劃分成三個部分前景區(qū)域,未知區(qū)域和背景區(qū)域;2)根據(jù)分割的區(qū)域,對未知區(qū)域中的任意一點c,設(shè)其顏色為C,計算出其前景和背景顏色分量F和B;3)根據(jù)估計出的前景和背景顏色分量F和B,采取顏色調(diào)整措施調(diào)整F和B的值,最后估計出c點的alpha值。應(yīng)用本摳圖方法可以極其有效地對圖像做摳圖處理,同時,能極大提高摳圖速度,計算開銷小,具有很好的實用價值。
文檔編號H04N5/253GK1445984SQ0311644
公開日2003年10月1日 申請日期2003年4月14日 優(yōu)先權(quán)日2003年4月14日
發(fā)明者林生佑, 石教英 申請人:浙江大學(xué)