两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種自然背景視頻摳圖方法與流程

文檔序號(hào):11953482閱讀:793來(lái)源:國(guó)知局
一種自然背景視頻摳圖方法與流程

本發(fā)明涉及視頻處理的技術(shù)領(lǐng)域,尤其是指一種自然背景視頻摳圖方法。



背景技術(shù):

摳圖是指從靜態(tài)圖像或者連續(xù)的視頻序列中精確地將感興趣的前景對(duì)象從背景中分離出來(lái)的過(guò)程。在照片編輯、影視動(dòng)畫制作、虛擬現(xiàn)實(shí)等領(lǐng)域有著廣泛的應(yīng)用。

具體地,通過(guò)估計(jì)圖像中每個(gè)像素的顏色和透明度信息來(lái)從背景中提取前景對(duì)象。像素的透明度值被稱為α值,而所有像素透明度組成的圖像被稱為α掩碼圖。摳圖的形式化描述如下:

Iz=αzFz+(1-αz)Bz (1)

其中,Iz、Fz、Bz、αz分別為像素z的觀察顏色、前景顏色、背景顏色、α值,αz∈[0,1],當(dāng)αz=0時(shí),像素z為確定背景,當(dāng)αz=1時(shí),像素z為確定前景,當(dāng)αz∈(0,1)時(shí),z為混合像素,亦即該像素的顏色值由前景和背景物體的共同作用得到。

摳圖是一個(gè)欠約束問(wèn)題,如果沒(méi)有任何附加約束,公式(1)有無(wú)窮多解。因此,大多數(shù)摳圖算法都要求用戶通過(guò)交互的方式提供已知信息作為輸入。如要求用戶為每一幅圖像指定確定的前景區(qū)、確定的背景區(qū)和待計(jì)算的未知區(qū)域,這種具有三種不同標(biāo)記區(qū)域的三元圖稱為Trimap圖?;蛘咭笥煤?jiǎn)單的筆畫標(biāo)記出圖像中的一部分前景像素和背景像素,如GrabCut摳圖、簡(jiǎn)易摳圖(Easy matting)等,但這種方式往往由于輸入太少而效果不佳。

視頻摳圖則是將前景對(duì)象的提取技術(shù)應(yīng)用到視頻序列中。最終計(jì)算得到一個(gè)α掩碼圖序列,利用該序列可以合成新的視頻。同樣地,第t幀的像素z的顏色可表示如下:

<mrow> <msubsup> <mi>I</mi> <mi>z</mi> <mi>t</mi> </msubsup> <mo>=</mo> <msubsup> <mi>&alpha;</mi> <mi>z</mi> <mi>t</mi> </msubsup> <msubsup> <mi>F</mi> <mi>z</mi> <mi>t</mi> </msubsup> <mo>+</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <msubsup> <mi>&alpha;</mi> <mi>z</mi> <mi>t</mi> </msubsup> <mo>)</mo> </mrow> <msubsup> <mi>B</mi> <mi>z</mi> <mi>t</mi> </msubsup> </mrow>

視頻摳圖就是求解所有幀中像素的前景色背景色和透明度值

視頻就是連續(xù)的圖像序列,其每一幀都是一幅圖像,且一般都是背景較為復(fù)雜的自然圖像。直觀意義上講,我們需要對(duì)每一幀圖像得到一個(gè)摳圖結(jié)果,構(gòu)成新的視頻序列。這樣的話,用戶也就需要為視頻的每一幀圖像提供Trimap圖等作為已知信息。

視頻摳圖的挑戰(zhàn)是顯而易見的:其一,視頻是由很多幀圖像組成的,數(shù)據(jù)量大,求解時(shí)需要提供更多的已知信息,即更多的用戶交互,且對(duì)算法的時(shí)間性能提出更高要求。其二,人類視覺對(duì)時(shí)間連貫性敏感,摳圖結(jié)果必須很好地保持時(shí)間上的連貫性,避免出現(xiàn)閃爍和抖動(dòng)等不連續(xù)現(xiàn)象,而逐幀獨(dú)立摳圖顯然難以保證得到的前景序列在視覺上保持空間以及時(shí)間上的連貫性。最后,需要解決高速運(yùn)動(dòng)和低時(shí)間分辨率之間的矛盾。標(biāo)準(zhǔn)攝像設(shè)備每秒拍攝30幀圖像,對(duì)高速運(yùn)動(dòng)物體來(lái)說(shuō),這樣的采樣率過(guò)低,使得構(gòu)造幀間對(duì)應(yīng)關(guān)系變得更加困難。

目前大多數(shù)的視頻摳圖算法都是在已有的圖像摳圖算法的基礎(chǔ)上進(jìn)行相應(yīng)的擴(kuò)展和優(yōu)化。如Chuang等提出的復(fù)雜場(chǎng)景的視頻摳圖及Apostoloff等提出的學(xué)習(xí)先驗(yàn)知識(shí)的貝葉斯視頻摳圖就是基于貝葉斯摳圖;Lee等提出的時(shí)間連貫的視頻摳圖及Bai等提出的保持時(shí)間連貫的視頻摳圖則是基于魯棒摳圖、隨機(jī)行走摳圖。E.Shahrian等于2012年提出的綜合顏色和紋理采樣的圖像摳圖算法也被很好的擴(kuò)展應(yīng)用到其2014年提出的時(shí)間連貫和空間精確的視頻摳圖中。其中大部分現(xiàn)有的視頻摳圖算法都采用了以下流程框架:首先,對(duì)輸入視頻通過(guò)添加適當(dāng)?shù)挠脩艚换ギa(chǎn)生每一幀的Trimap;然后,將圖像摳圖算法應(yīng)用到視頻的每一幀,產(chǎn)生α掩碼圖;最后,通過(guò)某些方式加強(qiáng)幀與幀之間的時(shí)間連貫性,得到最終的動(dòng)態(tài)前景序列。

以上這些方法大都過(guò)多的依賴于用戶交互,不但需要消耗較多的時(shí)間,還增加了視頻摳圖結(jié)果的不確定性。且一些方法在單幀上分別運(yùn)用摳圖算法,并未充分利用視頻幀與幀之間的時(shí)空相關(guān)性,使得摳圖結(jié)果缺少連貫性,在新的合成視頻中出現(xiàn)閃爍和抖動(dòng)的現(xiàn)象。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種自然背景視頻摳圖方法,可以有效的減少摳圖過(guò)程中的用戶交互,充分利用幀與幀之間的時(shí)空連貫性,提高視頻摳圖結(jié)果的時(shí)效性和準(zhǔn)確性,使最后的合成視頻更加的具有真實(shí)感。

為實(shí)現(xiàn)上述目的,本發(fā)明所提供的技術(shù)方案為:一種自然背景視頻摳圖方法,包括以下步驟:

1)關(guān)鍵幀自動(dòng)選取,通過(guò)計(jì)算幀間差異自動(dòng)地選取視頻中的關(guān)鍵幀,并根據(jù)當(dāng)前視頻運(yùn)動(dòng)情況得到一個(gè)自適應(yīng)的結(jié)果;

2)關(guān)鍵幀Trimap圖的生成,允許用戶通過(guò)手工交互提供有效信息,采用GrabCut分割算法與高斯模糊方法半自動(dòng)地生成關(guān)鍵幀上的Trimap圖;

3)中間幀Trimap圖的生成,利用雙向光流傳播生成中間各幀的Trimap圖,并利用顏色、梯度信息修正光流傳播產(chǎn)生的誤差;

4)根據(jù)所有視頻幀的Trimap圖,以及加入三維時(shí)空優(yōu)化的貝葉斯摳圖算法計(jì)算出視頻每一幀的α掩碼圖,將α掩碼圖與新的背景進(jìn)行合成,得到新的合成視頻。

在步驟1)中,所述的計(jì)算幀間差異自動(dòng)選取關(guān)鍵幀,具體如下:

假設(shè){It:t=0,1...,F-1}為給定的視頻序列,It為時(shí)刻t對(duì)應(yīng)的視頻幀,F(xiàn)為幀數(shù);It(x,y)則為像素z=(x,y)處的亮度值,假定每幀有NR行、NC列;從第二幀開始,對(duì)于每一幀圖像,按照下式計(jì)算前一幀到當(dāng)前幀的亮度差異,得到幀差圖 像Dt;

Dt(x,y)=|It(x,y)-It-1(x,y)|

然后,定義閾值T對(duì)幀差圖像Dt進(jìn)行二值化:

接下來(lái)遍歷二值圖像Bt,統(tǒng)計(jì)其中非0元的個(gè)數(shù)為At,作為當(dāng)前幀相對(duì)于前一幀的運(yùn)動(dòng)區(qū)域的面積,計(jì)算運(yùn)動(dòng)區(qū)域在整幅圖像中所占的面積比例Rt

<mrow> <msup> <mi>R</mi> <mi>t</mi> </msup> <mo>=</mo> <mfrac> <msup> <mi>A</mi> <mi>t</mi> </msup> <mrow> <msub> <mi>N</mi> <mi>R</mi> </msub> <msub> <mi>N</mi> <mi>C</mi> </msub> </mrow> </mfrac> </mrow>

然后利用運(yùn)動(dòng)區(qū)域占比,針對(duì)當(dāng)前視頻運(yùn)動(dòng)情況分布自適應(yīng)地選取關(guān)鍵幀;

所述的自適應(yīng)地選取關(guān)鍵幀,具體如下:

a)設(shè)定一個(gè)關(guān)鍵幀平均間隔tK,進(jìn)而得到需要選取的關(guān)鍵幀總數(shù)Nk=F/tK;

b)將運(yùn)動(dòng)區(qū)域面積比例序列按照從大到小的順序進(jìn)行排序;對(duì)這個(gè)排序后的序列,依次從大到小取前NK個(gè)元素的幀序號(hào)插入關(guān)鍵幀集合,其中,視頻的第一幀和最后一幀默認(rèn)為關(guān)鍵幀;

c)在物體高速運(yùn)動(dòng)時(shí),會(huì)出現(xiàn)一些連續(xù)幀的運(yùn)動(dòng)區(qū)域面積比例都較大,在取得的關(guān)鍵幀中出現(xiàn)連續(xù)幀序號(hào)的情況,導(dǎo)致冗余現(xiàn)象;為了使關(guān)鍵幀的分布更加均勻,在b)步的過(guò)程中添加了適當(dāng)?shù)財(cái)_動(dòng),對(duì)于每一個(gè)將要依序插入關(guān)鍵幀集合的幀序號(hào)t,首先查找關(guān)鍵幀集合中是否有在區(qū)間[t-r,t+r]的幀序號(hào),若沒(méi)有,則將t插入關(guān)鍵幀集合,若有,則說(shuō)明集合中已有與第t幀相鄰的幀,不插入序號(hào)t,繼續(xù)向下取幀序號(hào)。

在步驟2)中,所述的關(guān)鍵幀Trimap圖半自動(dòng)生成,具體如下:

用矩形框選出It的前景對(duì)象的大致區(qū)域,方框外均為確定背景像素,而方框 內(nèi)則為可能的前景像素;將這個(gè)矩形框的劃分結(jié)果作為輸入,利用GrabCut算法得到初始的分割結(jié)果;

根據(jù)初始分割的精確程度,作為可選操作適當(dāng)添加一些筆畫交互,標(biāo)記確定前景像素和/或確定背景像素作為補(bǔ)充信息,再進(jìn)行Grabcut得到更為精細(xì)的二值分割結(jié)果;

所述的關(guān)鍵幀Trimap圖計(jì)算區(qū)域的生成,具體如下:

為得到Trimap圖的計(jì)算區(qū)域,對(duì)二值分割圖的x和y方向上各進(jìn)行一次一維高斯模糊,從而在前景背景邊緣上產(chǎn)生模糊區(qū)域,用高斯核半徑來(lái)控制邊緣的模糊程度,進(jìn)而控制計(jì)算區(qū)域的寬度;然后計(jì)算模糊后的圖像在各個(gè)像素處的梯度的模長(zhǎng):

<mrow> <mi>G</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>=</mo> <mo>|</mo> <mo>|</mo> <mo>&dtri;</mo> <msup> <mi>I</mi> <mi>t</mi> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>|</mo> <mo>|</mo> </mrow>

記Gmax=max{G(x,y),1≤x≤NC,1≤y≤NR},如果將(x,y)置為待計(jì)算的未知像素,最后得到關(guān)鍵幀的Trimap圖;

所述的中間幀Trimap圖的生成,具體如下:

對(duì)于每一個(gè)中間幀,計(jì)算并結(jié)合兩個(gè)方向的光流:從前一個(gè)關(guān)鍵幀正向傳遞過(guò)來(lái)的光流,以及從后一個(gè)關(guān)鍵幀反向傳遞過(guò)來(lái)的光流,將關(guān)鍵幀上的Trimap圖結(jié)果逐幀傳遞到各中間幀,然后結(jié)合真實(shí)的觀察圖像來(lái)度量每個(gè)像素上方向流的準(zhǔn)確性,從而決定中間幀Trimap圖上每個(gè)像素的標(biāo)記。

在步驟3)中,所述的利用顏色、梯度信息修正光流傳播產(chǎn)生的誤差,具體如下:

根據(jù)光流得到的預(yù)測(cè)圖像和實(shí)際的觀察圖像之間在RGB空間的顏色距離分別計(jì)算光流在逐幀傳遞過(guò)程中,連續(xù)兩幀之間的正向誤差圖和反向誤差圖;

然后利用正向誤差圖和反向誤差圖,分別計(jì)算從兩個(gè)方向的關(guān)鍵幀逐幀傳遞到當(dāng)前幀所產(chǎn)生的正向累積光流誤差圖和反向累積光流誤差圖;

計(jì)算區(qū)域位于前景和背景的過(guò)渡區(qū)域,是整幅圖像中梯度變化較大的地方,因此計(jì)算區(qū)域像素的梯度值往往比較大,而相反則能夠認(rèn)為梯度較小即鄰域較為平滑的像素為未知像素的概率較小;因此能夠根據(jù)當(dāng)前像素的梯度信息來(lái)修正累積誤差,即當(dāng)某一方向傳遞過(guò)來(lái)的Trimap標(biāo)記為計(jì)算區(qū)域,且該像素的梯度小于閾值時(shí),則為這個(gè)方向的累計(jì)誤差加上一個(gè)懲罰值P;

最后,對(duì)于各中間幀上的每一個(gè)像素,選擇累計(jì)誤差較小的那個(gè)方向傳遞過(guò)來(lái)的Trimap圖的標(biāo)記作為當(dāng)前像素的標(biāo)記。

在步驟4)中,所述的根據(jù)所有視頻幀的Trimap圖,以及加入三維時(shí)空優(yōu)化的貝葉斯摳圖算法計(jì)算出視頻每一幀的α掩碼圖,具體如下:

基于貝葉斯摳圖算法完成視頻每一幀α掩碼圖的計(jì)算,并對(duì)其加入三維的時(shí)空優(yōu)化,最大化能量如下公式:

<mrow> <msub> <mi>&epsiv;</mi> <mrow> <mi>I</mi> <mi>M</mi> <mi>P</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>&epsiv;</mi> <mrow> <mi>O</mi> <mi>R</mi> <mi>G</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>&lambda;&epsiv;</mi> <mrow> <mi>A</mi> <mi>L</mi> <mi>P</mi> </mrow> </msub> <mo>=</mo> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>z</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </msubsup> <msub> <mi>&epsiv;</mi> <mrow> <mi>O</mi> <mi>R</mi> <mi>G</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>z</mi> <mo>)</mo> </mrow> <mo>+</mo> <msubsup> <mi>&lambda;&Sigma;</mi> <mrow> <mi>z</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </msubsup> <msub> <mi>&epsiv;</mi> <mrow> <mi>A</mi> <mi>L</mi> <mi>P</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>z</mi> <mo>)</mo> </mrow> </mrow>

εORG(z)=lnP(Iz|Fz,Bzz)+lnP(Fz)+lnP(Bz)

首先在顏色采樣時(shí)加入時(shí)間維的顏色樣本,在連續(xù)的三幀上分別采樣,即不僅僅在當(dāng)前幀上進(jìn)行采用,也在當(dāng)前幀的前一幀和后一幀上進(jìn)行采樣,三維顏色采樣的詳細(xì)過(guò)程如下:

a)在當(dāng)前幀中,滑動(dòng)窗口從已知區(qū)域的邊界逐漸向未知區(qū)域移動(dòng),對(duì)每一個(gè)未知像素z,在以當(dāng)前位置(xz,yz,t)為圓心的鄰域內(nèi)由內(nèi)向外逐漸擴(kuò)大采樣半徑,依次采集鄰近的已知像素和完成計(jì)算的未知像素的前景或背景顏色值當(dāng)作樣本點(diǎn),直到樣本數(shù)目達(dá)到K個(gè);

b)在當(dāng)前幀的前一幀中,在以像素z的對(duì)應(yīng)位置(xz,yz,t-1)處為圓心的鄰域內(nèi)采取a)中的同樣的策略,由內(nèi)向外逐漸擴(kuò)大采樣半徑,依次采集鄰近的已知像素和完成計(jì)算的未知像素的前景或背景顏色值,直到樣本數(shù)目達(dá)到K個(gè);

c)在當(dāng)前幀的后一幀中,在位置(xz,yz,t+1)處按照b)中的方式采集顏色樣本。

記得到的新像素集合為Ns;為每個(gè)顏色樣本點(diǎn)i∈Ns,定義權(quán)重wi,加入時(shí)間維的信息,wi定義:

<mrow> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>=</mo> <msup> <mi>&alpha;</mi> <mn>2</mn> </msup> <msup> <mi>e</mi> <mrow> <mo>-</mo> <mfrac> <mrow> <msup> <mi>d</mi> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mi>z</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mn>2</mn> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> </mrow> </mfrac> </mrow> </msup> </mrow>

<mrow> <mi>d</mi> <mrow> <mo>(</mo> <mi>z</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> <mo>=</mo> <msqrt> <mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>z</mi> </msub> <mo>-</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>z</mi> </msub> <mo>-</mo> <msub> <mi>t</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> </mrow>

同樣,對(duì)背景像素,將αi2改為(1-αi)2即可;得到前景或背景顏色值的樣本集,通過(guò)貝葉斯摳圖算法得到每個(gè)未知像素的初始前景值F和初始背景值B;

α求解算法過(guò)程如下:

a)獲取第t幀的圖像及其Trimap圖;

b)從已知區(qū)域與未知區(qū)域的邊界開始依次為每個(gè)未知像素采集三維的前景顏色樣本點(diǎn)和背景顏色樣本點(diǎn),定義每個(gè)顏色樣本點(diǎn)的權(quán)值;

c)以當(dāng)前未知像素鄰域內(nèi)的像素點(diǎn)α的均值作為αz的初始值,采用貝葉斯摳圖算法求解F,B作為初始值;

d)構(gòu)造三維平滑約束項(xiàng)εALP(z),最大化求解能量公式εIMP,得到當(dāng)前幀中每個(gè)像素的透明度值α;

e)更新αz(z=1,2,...N)的值,重新利用貝葉斯摳圖算法求解F,B;

f)當(dāng)能量公式收斂或者達(dá)到規(guī)定迭代次數(shù),跳到步驟g),否則,跳到e);

g)輸出當(dāng)前幀的αz,Fz,Bz(z=1,2...N),計(jì)算下一幀。

對(duì)每一個(gè)未知像素,加入時(shí)間維的平滑約束;將α的平滑約束由8鄰域擴(kuò)充 到26鄰域,即不僅包括當(dāng)前幀中未知像素位置處為中心的3×3窗口內(nèi)的像素,還包括其前一幀、后一幀對(duì)應(yīng)位置處3×3的窗口內(nèi)的像素;使得未知像素的α值不僅僅在當(dāng)前幀的8鄰域內(nèi)盡量保持平滑,還要與加上前一幀、后一幀的共26鄰域內(nèi)的像素α值盡可能地保持平滑,以確保摳圖結(jié)果在時(shí)間上的連貫性;

像素z的26領(lǐng)域,用N(z)來(lái)表示,對(duì)j∈N(z),定義如下權(quán)重:

<mrow> <msubsup> <mi>w</mi> <mi>j</mi> <mo>&prime;</mo> </msubsup> <mo>=</mo> <msup> <mi>e</mi> <mrow> <mo>-</mo> <mi>d</mi> <msup> <mrow> <mo>(</mo> <mi>z</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>/</mo> <mn>2</mn> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> </mrow> </msup> </mrow>

其中σ=8,這樣使得距離未知像素z更近的點(diǎn)的權(quán)重更大,且當(dāng)前幀像素的權(quán)重比前一幀和后一幀的像素點(diǎn)的權(quán)重更大,則εALP(z)定義為:

<mrow> <msub> <mi>&epsiv;</mi> <mrow> <mi>A</mi> <mi>L</mi> <mi>P</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>z</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>L</mi> <mrow> <mo>(</mo> <msub> <mi>&alpha;</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mo>-</mo> <msub> <mi>f</mi> <mi>z</mi> </msub> <msup> <mrow> <mo>(</mo> <msub> <mi>&alpha;</mi> <mi>z</mi> </msub> <mo>-</mo> <mfrac> <mn>1</mn> <mi>W</mi> </mfrac> <munder> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>&Element;</mo> <mi>N</mi> <mrow> <mo>(</mo> <mi>z</mi> <mo>)</mo> </mrow> </mrow> </munder> <msup> <mi>w</mi> <mo>&prime;</mo> </msup> <mi>&alpha;</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow>

其中,W=∑j∈N(z)w'j,使前景到背景的α值按照高斯衰減函數(shù)的曲線變化過(guò)渡,其中σf=2,dz為未知像素z到已知區(qū)域的距離;

在實(shí)際計(jì)算過(guò)程中,由于當(dāng)前幀的前一幀已經(jīng)計(jì)算完畢,而后一幀還未開始計(jì)算,當(dāng)前幀的26鄰域內(nèi)位于后一幀的像素可能包含未知像素,即其αj未知,令其權(quán)重為0,不納入計(jì)算。

本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點(diǎn)與有益效果:

1、本發(fā)明采用幀差法自適應(yīng)地選取關(guān)鍵幀,計(jì)算過(guò)程簡(jiǎn)單,效率較高,且不易受到光照變化的干擾。根據(jù)幀與幀之間的像素差異來(lái)衡量運(yùn)動(dòng)的變化,選取運(yùn)動(dòng)較大的幀作為關(guān)鍵幀,符合視頻摳圖對(duì)于關(guān)鍵幀的要求。同時(shí),本文在關(guān)鍵幀的選取過(guò)程中添加適當(dāng)?shù)財(cái)_動(dòng),可以使關(guān)鍵幀的分配相對(duì)均勻,避免出現(xiàn)相鄰過(guò)近或者相鄰過(guò)遠(yuǎn)的關(guān)鍵幀,這樣可以保證后續(xù)兩個(gè)關(guān)鍵幀之間的光流傳播更加高效和可信。

2、本發(fā)明采用關(guān)鍵幀和雙向光流傳播結(jié)合的方式,生成視頻所有幀的 Trimap圖,并充分利用圖像顏色信息、梯度信息等來(lái)對(duì)光流傳播產(chǎn)生的誤差進(jìn)行糾正,以提高Trimap圖的正確度。

3、本發(fā)明在貝葉斯摳圖算法的基礎(chǔ)上提出三維的時(shí)空優(yōu)化,加入三維顏色采樣和三維平滑約束,充分利用視頻幀與幀之間的相關(guān)性,使得摳圖結(jié)果更加的真實(shí)自然,加強(qiáng)了視頻摳圖結(jié)果的連貫性,減少了閃爍和抖動(dòng)現(xiàn)象的產(chǎn)生。

附圖說(shuō)明

圖1是視頻摳圖與合成流程圖。

圖2是關(guān)鍵幀自動(dòng)選取流程圖。

圖3是關(guān)鍵幀Trimap圖生成流程圖。

圖4是中間幀Trimap圖的自動(dòng)生成流程。

圖5是α求解及背景合成流程圖。

圖6是關(guān)鍵幀與雙向光流結(jié)合產(chǎn)生中間幀Trimap結(jié)果。

圖7是本發(fā)明與Chuang等人技術(shù)的比較。

圖8是本發(fā)明與Chuang等人技術(shù)合成結(jié)果及α圖的局部放大對(duì)比圖。

具體實(shí)施方式

下面結(jié)合具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。

本實(shí)施例所述的一種自然背景視頻摳圖方法,包括以下步驟:

1)關(guān)鍵幀自動(dòng)選取,通過(guò)計(jì)算幀間差異自動(dòng)地選取視頻中的關(guān)鍵幀,并根據(jù)當(dāng)前視頻運(yùn)動(dòng)情況得到一個(gè)自適應(yīng)的結(jié)果;

2)關(guān)鍵幀Trimap圖的生成,允許用戶通過(guò)少量的手工交互提供有效信息,采用GrabCut分割算法與高斯模糊方法半自動(dòng)地生成關(guān)鍵幀上的Trimap圖;

3)中間幀Trimap圖的生成,利用雙向光流傳播生成中間各幀的Trimap圖, 并利用顏色、梯度等信息修正光流傳播產(chǎn)生的誤差;

4)根據(jù)所有視頻幀的Trimap圖,以及加入三維時(shí)空優(yōu)化的貝葉斯摳圖算法計(jì)算出視頻每一幀的α掩碼圖,將α掩碼圖與新的背景進(jìn)行合成,得到新的合成視頻。

步驟1)中,所述的計(jì)算幀間差異自動(dòng)選取關(guān)鍵幀,具體如下:

假設(shè){It:t=0,1...,F-1}為給定的視頻序列,It為時(shí)刻t對(duì)應(yīng)的視頻幀,F(xiàn)為幀數(shù)。It(x,y)則為像素z=(x,y)處的亮度值,假定每幀有NR行、NC列。從第二幀開始,對(duì)于每一幀圖像,按照下式計(jì)算前一幀到當(dāng)前幀的亮度差異,得到幀差圖像Dt。

Dt(x,y)=|It(x,y)-It-1(x,y)|

然后,定義閾值T對(duì)幀差圖像Dt進(jìn)行二值化:

接下來(lái)遍歷二值圖像Bt,統(tǒng)計(jì)其中非0元的個(gè)數(shù)為At,作為當(dāng)前幀相對(duì)于前一幀的運(yùn)動(dòng)區(qū)域的面積,計(jì)算運(yùn)動(dòng)區(qū)域在整幅圖像中所占的面積比例Rt:

<mrow> <msup> <mi>R</mi> <mi>t</mi> </msup> <mo>=</mo> <mfrac> <msup> <mi>A</mi> <mi>t</mi> </msup> <mrow> <msub> <mi>N</mi> <mi>R</mi> </msub> <msub> <mi>N</mi> <mi>C</mi> </msub> </mrow> </mfrac> </mrow>

然后利用運(yùn)動(dòng)區(qū)域占比,針對(duì)當(dāng)前視頻運(yùn)動(dòng)情況分布自適應(yīng)地選取關(guān)鍵幀。

所述的自適應(yīng)地選取關(guān)鍵幀,具體如下:

a)設(shè)定一個(gè)關(guān)鍵幀平均間隔tK,進(jìn)而得到需要選取的關(guān)鍵幀總數(shù)Nk=F/tK;

b)將運(yùn)動(dòng)區(qū)域面積比例序列按照從大到小的順序進(jìn)行排序;對(duì)這個(gè)排序后的序列,依次從大到小取前NK個(gè)元素的幀序號(hào)插入關(guān)鍵幀集合,其中,視頻的第一幀和最后一幀默認(rèn)為關(guān)鍵幀;

c)在物體高速運(yùn)動(dòng)時(shí),會(huì)出現(xiàn)一些連續(xù)幀的運(yùn)動(dòng)區(qū)域面積比例都較大,在取得的關(guān)鍵幀中出現(xiàn)連續(xù)幀序號(hào)的情況,導(dǎo)致冗余現(xiàn)象。為了使關(guān)鍵幀的分布更加均勻,在b)步的過(guò)程中添加了適當(dāng)?shù)財(cái)_動(dòng),對(duì)于每一個(gè)將要依序插入關(guān)鍵幀集合的幀序號(hào)t,首先查找關(guān)鍵幀集合中是否有在區(qū)間[t-r,t+r](實(shí)驗(yàn)中r取3)的幀序號(hào),若沒(méi)有,則將t插入關(guān)鍵幀集合,若有,則說(shuō)明集合中已有與第t幀相鄰的幀,不插入序號(hào)t,繼續(xù)向下取幀序號(hào)。

步驟2)中,所述的關(guān)鍵幀Trimap圖半自動(dòng)生成,具體如下:

用矩形框選出It的前景對(duì)象的大致區(qū)域,方框外均為確定背景像素,而方框內(nèi)則為可能的前景像素。將這個(gè)矩形框的劃分結(jié)果作為輸入,利用GrabCut算法得到初始的分割結(jié)果。

根據(jù)初始分割的精確程度,作為可選操作適當(dāng)添加一些筆畫交互,標(biāo)記確定前景像素和/或確定背景像素作為補(bǔ)充信息,再進(jìn)行Grabcut得到更為精細(xì)的二值分割結(jié)果。

所述的關(guān)鍵幀Trimap圖計(jì)算區(qū)域的生成,具體如下:

為得到Trimap圖的計(jì)算區(qū)域,我們對(duì)二值分割圖的x和y方向上各進(jìn)行一次一維高斯模糊,從而在前景背景邊緣上產(chǎn)生模糊區(qū)域,用高斯核半徑來(lái)控制邊緣的模糊程度,進(jìn)而控制計(jì)算區(qū)域的寬度。然后計(jì)算模糊后的圖像在各個(gè)像素處的梯度的模長(zhǎng):

記Gmax=max{G(x,y),1≤x≤NC,1≤y≤NR},如果將(x,y)置為待計(jì)算的未知像素,最后得到關(guān)鍵幀的Trimap圖;

步驟3)中,所述的中間幀Trimap圖的生成,具體如下:

對(duì)于每一個(gè)中間幀,計(jì)算并結(jié)合兩個(gè)方向的光流:從前一個(gè)關(guān)鍵幀正向傳 遞過(guò)來(lái)的光流,以及從后一個(gè)關(guān)鍵幀反向傳遞過(guò)來(lái)的光流,將關(guān)鍵幀上的Trimap圖結(jié)果逐幀傳遞到各中間幀。然后結(jié)合真實(shí)的觀察圖像來(lái)度量每個(gè)像素上方向流的準(zhǔn)確性,從而決定中間幀Trimap圖上每個(gè)像素的標(biāo)記。

所述的利用顏色、梯度等信息修正光流傳播產(chǎn)生的誤差,具體如下:

根據(jù)光流得到的預(yù)測(cè)圖像和實(shí)際的觀察圖像之間在RGB空間的顏色距離分別計(jì)算光流在逐幀傳遞過(guò)程中,連續(xù)兩幀之間的正向誤差圖和反向誤差圖。

然后利用正向誤差圖和反向誤差圖,分別計(jì)算從兩個(gè)方向的關(guān)鍵幀逐幀傳遞到當(dāng)前幀所產(chǎn)生的正向累積光流誤差圖和反向累積光流誤差圖。

計(jì)算區(qū)域位于前景和背景的過(guò)渡區(qū)域,是整幅圖像中梯度變化較大的地方,因此計(jì)算區(qū)域像素的梯度值往往比較大,而相反則可以認(rèn)為梯度較小(鄰域較為平滑)的像素為未知像素的概率較小。因此可以根據(jù)當(dāng)前像素的梯度信息來(lái)修正累積誤差,即當(dāng)某一方向傳遞過(guò)來(lái)的Trimap標(biāo)記為計(jì)算區(qū)域,且該像素的梯度小于閾值(實(shí)驗(yàn)中取10)時(shí),則為這個(gè)方向的累計(jì)誤差加上一個(gè)懲罰值P(實(shí)驗(yàn)中P取50)。

最后,對(duì)于各中間幀上的每一個(gè)像素,選擇累計(jì)誤差較小的那個(gè)方向傳遞過(guò)來(lái)的Trimap圖的標(biāo)記作為當(dāng)前像素的標(biāo)記。

步驟4)中,所述的根據(jù)所有視頻幀的Trimap圖,以及加入三維時(shí)空優(yōu)化的貝葉斯摳圖算法計(jì)算出視頻每一幀的α掩碼圖,具體如下:

基于貝葉斯摳圖算法完成視頻每一幀α掩碼圖的計(jì)算,并對(duì)其加入三維的時(shí)空優(yōu)化。最大化能量如下公式:

<mrow> <msub> <mi>&epsiv;</mi> <mrow> <mi>I</mi> <mi>M</mi> <mi>P</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>&epsiv;</mi> <mrow> <mi>O</mi> <mi>R</mi> <mi>G</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>&lambda;&epsiv;</mi> <mrow> <mi>A</mi> <mi>L</mi> <mi>P</mi> </mrow> </msub> <mo>=</mo> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>z</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </msubsup> <msub> <mi>&epsiv;</mi> <mrow> <mi>O</mi> <mi>R</mi> <mi>G</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>z</mi> <mo>)</mo> </mrow> <mo>+</mo> <msubsup> <mi>&lambda;&Sigma;</mi> <mrow> <mi>z</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </msubsup> <msub> <mi>&epsiv;</mi> <mrow> <mi>A</mi> <mi>L</mi> <mi>P</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>z</mi> <mo>)</mo> </mrow> </mrow>

εORG(z)=lnP(Iz|Fz,Bzz)+lnP(Fz)+lnP(Bz)

首先在顏色采樣時(shí)加入時(shí)間維的顏色樣本,在連續(xù)的三幀上分別采樣,即不僅僅在當(dāng)前幀上進(jìn)行采用,也在當(dāng)前幀的前一幀和后一幀上進(jìn)行采樣。三維顏色采樣的詳細(xì)過(guò)程如下:

a)在當(dāng)前幀中,滑動(dòng)窗口從已知區(qū)域的邊界逐漸向未知區(qū)域移動(dòng),對(duì)每一個(gè)未知像素z,在以當(dāng)前位置(xz,yz,t)為圓心的鄰域內(nèi)由內(nèi)向外逐漸擴(kuò)大采樣半徑,依次采集鄰近的已知像素和完成計(jì)算的未知像素的前景(或背景)顏色值當(dāng)作樣本點(diǎn),直到樣本數(shù)目達(dá)到K個(gè)(實(shí)驗(yàn)中取K=85);

b)在當(dāng)前幀的前一幀中,在以像素z的對(duì)應(yīng)位置(xz,yz,t-1)處為圓心的鄰域內(nèi)采取a)中的同樣的策略,由內(nèi)向外逐漸擴(kuò)大采樣半徑,依次采集鄰近的已知像素和完成計(jì)算的未知像素的前景(或背景)顏色值,直到樣本數(shù)目達(dá)到K個(gè);

c)在當(dāng)前幀的后一幀中,在位置(xz,yz,t+1)處按照b)中的方式采集顏色樣本。

記得到的新像素集合為Ns;為每個(gè)顏色樣本點(diǎn)i∈Ns,定義權(quán)重wi,加入時(shí)間維的信息,wi定義:

<mrow> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>=</mo> <msup> <mi>&alpha;</mi> <mn>2</mn> </msup> <msup> <mi>e</mi> <mrow> <mo>-</mo> <mfrac> <mrow> <msup> <mi>d</mi> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mi>z</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mn>2</mn> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> </mrow> </mfrac> </mrow> </msup> </mrow>

<mrow> <mi>d</mi> <mrow> <mo>(</mo> <mi>z</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> <mo>=</mo> <msqrt> <mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>z</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>z</mi> </msub> <mo>-</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>z</mi> </msub> <mo>-</mo> <msub> <mi>t</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> </mrow>

同樣,對(duì)背景像素,將αi2改為(1-αi)2即可。得到前景(或背景)顏色值的樣本集,通過(guò)貝葉斯摳圖算法得到每個(gè)未知像素的初始前景值F和初始背景值B。

對(duì)每一個(gè)未知像素,加入時(shí)間維的平滑約束;將α的平滑約束由8鄰域擴(kuò)充到26鄰域,即不僅包括當(dāng)前幀中未知像素位置處為中心的3×3窗口內(nèi)的像素,還包括其前一幀、后一幀對(duì)應(yīng)位置處3×3的窗口內(nèi)的像素;使得未知像素的α值不僅僅在當(dāng)前幀的8鄰域內(nèi)盡量保持平滑,還要與加上前一幀、后一幀的共26鄰域內(nèi)的像素α值盡可能地保持平滑,以確保摳圖結(jié)果在時(shí)間上的連貫性。

像素z的26領(lǐng)域,用N(z)來(lái)表示,對(duì)j∈N(z),定義如下權(quán)重:

<mrow> <msubsup> <mi>w</mi> <mi>j</mi> <mo>&prime;</mo> </msubsup> <mo>=</mo> <msup> <mi>e</mi> <mrow> <mo>-</mo> <mi>d</mi> <msup> <mrow> <mo>(</mo> <mi>z</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>/</mo> <mn>2</mn> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> </mrow> </msup> </mrow>

其中σ=8,這樣使得距離未知像素z更近的點(diǎn)的權(quán)重更大,且當(dāng)前幀像素的權(quán)重比前一幀和后一幀的像素點(diǎn)的權(quán)重更大,則εALP(z)定義為:

<mrow> <msub> <mi>&epsiv;</mi> <mrow> <mi>A</mi> <mi>L</mi> <mi>P</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>z</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>L</mi> <mrow> <mo>(</mo> <msub> <mi>&alpha;</mi> <mi>z</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mo>-</mo> <msub> <mi>f</mi> <mi>z</mi> </msub> <msup> <mrow> <mo>(</mo> <msub> <mi>&alpha;</mi> <mi>z</mi> </msub> <mo>-</mo> <mfrac> <mn>1</mn> <mi>W</mi> </mfrac> <munder> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>&Element;</mo> <mi>N</mi> <mrow> <mo>(</mo> <mi>z</mi> <mo>)</mo> </mrow> </mrow> </munder> <msup> <mi>w</mi> <mo>&prime;</mo> </msup> <mi>&alpha;</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow>

其中,W=∑j∈N(z)w'j,使前景到背景的α值按照高斯衰減函數(shù)的曲線變化過(guò)渡,其中σf=2,dz為未知像素z到已知區(qū)域的距離;

在實(shí)際計(jì)算過(guò)程中,由于當(dāng)前幀的前一幀已經(jīng)計(jì)算完畢,而后一幀還未開始計(jì)算,當(dāng)前幀的26鄰域內(nèi)位于后一幀的像素可能包含未知像素,即其αj未知,令其權(quán)重為0,不納入計(jì)算。

本發(fā)明設(shè)計(jì)的視頻摳圖與合成的完整流程如圖1。讀取視頻文件之后,我們首先自動(dòng)地選取所需的關(guān)鍵幀;然后在關(guān)鍵幀上添加少量的手工交互,半自動(dòng)地生成關(guān)鍵幀的Trimap圖;接下來(lái),將關(guān)鍵幀的Trimap圖通過(guò)雙向光流傳播到中間幀,自動(dòng)地生成中間各幀的Trimap圖;然后,對(duì)視頻的每一幀應(yīng)用第四章中所描述的摳圖算法,生成所有幀的α掩碼圖;最后依照生成的α掩碼圖將前景序列與新的背景進(jìn)行合成,輸出并保存新的視頻。具體地:

1.關(guān)鍵幀自動(dòng)選取的流程如圖2所示。首先,對(duì)讀取的視頻,從第二幀開始計(jì)算每一幀相對(duì)于前一幀的幀差圖像;然后對(duì)每一幀的幀差圖像進(jìn)行二值化,并統(tǒng)計(jì)二值圖像中值為1(代表運(yùn)動(dòng)像素)的像素個(gè)數(shù),計(jì)算運(yùn)動(dòng)區(qū)域占比;然后將運(yùn)動(dòng)區(qū)域占比從大到小排序,依次取前NK個(gè)幀序號(hào),在取的過(guò)程中,添加適當(dāng)?shù)財(cái)_動(dòng),如圖中所示,以避免取到鄰近的幀序號(hào)。我們采用STL中的multimap關(guān)聯(lián)容器保存運(yùn)動(dòng)區(qū)域占比及其對(duì)應(yīng)的幀序號(hào),以運(yùn)動(dòng)區(qū)域占比為關(guān)鍵字,自 動(dòng)從小到大排序。使用反向迭代器,從multimap末尾開始向前依次取前NK大的元素,關(guān)鍵幀集合采用STL中的set容器保存,最后得到一個(gè)有序的關(guān)鍵幀序列。

2.關(guān)鍵幀Trimap圖生成的流程如圖3所示。首先用一個(gè)矩形框框出前景的大致區(qū)域,作為可能的前景;應(yīng)用GrabCut分割算法得到前景背景的分割結(jié)果,如果對(duì)分割不滿意,可添加手工交互指定確定的前景像素或確定的背景像素作為輸入,再進(jìn)行依次GrabCut分割,若滿意,則利用高斯模糊生成計(jì)算區(qū)域,得到Trimap圖;同樣,如果對(duì)生成的Trimap圖不滿意,我們提供畫刷工具,可直接修改前景區(qū)域、背景區(qū)域及計(jì)算區(qū)域。最終的Trimap圖,如圖6中左邊第2列第一行和第4列最后一行。

3.中間幀Trimap圖自動(dòng)生成的流程如圖4所示。在每?jī)蓚€(gè)關(guān)鍵幀區(qū)間內(nèi),分別通過(guò)正向和反向光流逐幀的傳播,為每一個(gè)中間幀生成一個(gè)正向的Trimap圖和反向的Trimap圖;在計(jì)算的過(guò)程中,利用顏色信息和梯度信息為每一個(gè)方向上的光流計(jì)算其傳播誤差,對(duì)每一個(gè)像素,選擇誤差較小的方向上傳遞過(guò)來(lái)的Trimap圖標(biāo)記作為其最終的標(biāo)記,進(jìn)而得到整幅圖像的Trimap圖。光流傳播生成的中間幀Trimap圖結(jié)果如圖6中左邊第3列所示。

4.α求解及背景合成流程如圖5所示。α求解算法過(guò)程如下:

a)獲取第t幀的圖像及其Trimap圖;

b)從已知區(qū)域與未知區(qū)域的邊界開始依次為每個(gè)未知像素采集三維的前景顏色樣本點(diǎn)和背景顏色樣本點(diǎn),定義每個(gè)顏色樣本點(diǎn)的權(quán)值;

c)以當(dāng)前未知像素鄰域內(nèi)的像素點(diǎn)α的均值作為αz的初始值,采用貝葉斯摳圖算法求解F,B作為初始值;

d)構(gòu)造三維平滑約束項(xiàng)εALP(z),最大化求解能量公式εIMP,得到當(dāng)前幀中每個(gè)像素的透明度值α;

e)更新αz(z=1,2,...N)的值,重新利用貝葉斯摳圖算法求解F,B;

f)當(dāng)能量公式收斂或者達(dá)到規(guī)定迭代次數(shù),跳到步驟g),否則,跳到e);

g)輸出當(dāng)前幀的αz,Fz,Bz(z=1,2...N),計(jì)算下一幀。

在與新背景進(jìn)行合成時(shí),視頻幀圖像f、與背景圖像b在RGB三通道上根據(jù)掩碼圖像α,按照以下公式進(jìn)行合成,得到新的圖像c:

c=α*f+(1-α)b

在實(shí)際計(jì)算過(guò)程中,將上述公式改寫為下面的形式,以減少乘法的運(yùn)算次數(shù),提高程序的效率:

c=α*(f-b)+b

新的合成結(jié)果如圖6中左邊第5列及圖7中左邊第3列。在圖7和圖8的對(duì)比中可以看到最后合成結(jié)果圖里背景到前景的過(guò)渡更加平滑與真實(shí)。新的合成視頻在播放時(shí)也更加的連貫自然。

以上所述實(shí)施例只為本發(fā)明之較佳實(shí)施例,并非以此限制本發(fā)明的實(shí)施范圍,故凡依本發(fā)明之形狀、原理所作的變化,均應(yīng)涵蓋在本發(fā)明的保護(hù)范圍內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
科技| 涞水县| 遵义县| 舟曲县| 武夷山市| 资溪县| 安阳县| 肥城市| 鲁山县| 垫江县| 营口市| 孟州市| 翼城县| 商洛市| 波密县| 句容市| 吉木萨尔县| 化隆| 长沙县| 镇安县| 海南省| 张北县| 莱阳市| 河间市| 浦县| 武定县| 米林县| 星子县| 襄城县| 专栏| 定结县| 隆子县| 洮南市| 正镶白旗| 沁阳市| 扶风县| 新野县| 亚东县| 峨眉山市| 类乌齐县| 定兴县|