本發(fā)明涉及計算機(jī)視覺技術(shù)領(lǐng)域,特別涉及一種圖像摳圖方法及裝置。
背景技術(shù):
圖像摳圖技術(shù)是一種利用算法對圖像中的前景目標(biāo)進(jìn)行提取的技術(shù)。摳圖技術(shù)在影視制作,圖像合成中具有非常廣泛的應(yīng)用。
該技術(shù)通常需要用戶給予一定的交互,比如用一個矩形框粗略標(biāo)記出物體所在位置;或者在前景,背景上勾勒出一定得形狀。通過交互,就可以給出粗略的前景,背景信息,然后放入算法中,就可以得到相對較為精細(xì)的前景提取結(jié)果。目前,圖像摳圖技術(shù)在算法實(shí)時性,魯棒性,正確性上存在許多可改進(jìn)的空間。特別是在對顏色以及光照變化方面精度較低。因此如何提高摳圖在顏色,光照變化方面的魯棒性和精確性,是本領(lǐng)域技術(shù)人員需要解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種圖像摳圖方法、裝置,對顏色,光照變化具有更好的魯棒性,且精度較高,只需少量用戶交互即可得到較好的摳圖結(jié)果。
為解決上述技術(shù)問題,本發(fā)明提供一種圖像摳圖方法,包括:
獲取輸入的圖像以及目標(biāo)框,并構(gòu)建目標(biāo)框?qū)?yīng)圖像的深度信息;
利用高斯混合模型對rgbd建模形成的圖割算法對所述目標(biāo)框?qū)?yīng)圖像進(jìn)行粗分割,獲取目標(biāo)區(qū)域;其中,d為所述深度信息;
對所述目標(biāo)區(qū)域進(jìn)行腐蝕膨脹操作,獲得三元圖;
確定所述三元圖的透明度值,獲得前景精確提取結(jié)果。
可選的,利用高斯混合模型對rgbd建模形成的圖割算法對所述目標(biāo)框?qū)?yīng)圖像進(jìn)行粗分割,獲取目標(biāo)區(qū)域,包括:
構(gòu)建所述目標(biāo)框?qū)?yīng)圖像的s-t圖;
利用高斯混合模型對所述s-t圖中每一個像素點(diǎn)的rgbd進(jìn)行建模得到對應(yīng)的rgbd值,并根據(jù)所述s-t圖中每一條邊對應(yīng)的兩個像素點(diǎn)的rgbd值的差值賦予所述s-t圖中每一條邊的權(quán)重;
根據(jù)所述s-t圖中每一條邊的權(quán)重,利用最大流算法進(jìn)行分割,并對分割后的圖像進(jìn)行輪廓檢測,確定面積最大輪廓;
對所述面積最大輪廓進(jìn)行填充獲得目標(biāo)區(qū)域。
可選的,對所述目標(biāo)區(qū)域進(jìn)行腐蝕膨脹操作,獲得三元圖,包括:
對所述目標(biāo)區(qū)域,利用所述目標(biāo)框的寬的5%以及高的5%的像素參數(shù),進(jìn)行腐蝕膨脹操作,獲得三元圖。
可選的,確定所述三元圖的透明度值,包括:
利用共享樣本點(diǎn)算法計算所述三元圖的透明度值。
可選的,本方案還包括:
根據(jù)輸入的修正框,迭代執(zhí)行所述利用高斯混合模型對rgbd建模形成的圖割算法對所述目標(biāo)框?qū)?yīng)圖像進(jìn)行粗分割,獲取目標(biāo)區(qū)域的步驟。
可選的,獲取輸入的圖像,包括:
獲取雙攝像頭圖像采集裝置采集的圖像。
本發(fā)明還提供一種圖像摳圖裝置,包括:
圖像獲取模塊,用于獲取輸入的圖像以及目標(biāo)框;
深度信息構(gòu)建模塊,用于構(gòu)建目標(biāo)框?qū)?yīng)圖像的深度信息;
圖像粗分割模塊,用于利用高斯混合模型對rgbd建模形成的圖割算法對所述目標(biāo)框?qū)?yīng)圖像進(jìn)行粗分割,獲取目標(biāo)區(qū)域;其中,d為所述深度信息;
三元圖獲取模塊,用于對所述目標(biāo)區(qū)域進(jìn)行腐蝕膨脹操作,獲得三元圖;
圖像精確提取模塊,用于確定所述三元圖的透明度值,獲得前景精確提取結(jié)果。
可選的,所述深度信息構(gòu)建模塊,包括:
s-t圖構(gòu)件單元,用于構(gòu)建所述目標(biāo)框?qū)?yīng)圖像的s-t圖;
權(quán)重賦值單元,用于利用高斯混合模型對所述s-t圖中每一個像素點(diǎn)的rgbd進(jìn)行建模得到對應(yīng)的rgbd值,并根據(jù)所述s-t圖中每一條邊對應(yīng)的兩個像素點(diǎn)的rgbd值的差值賦予所述s-t圖中每一條邊的權(quán)重;
輪廓確定單元,用于根據(jù)所述s-t圖中每一條邊的權(quán)重,利用最大流算法進(jìn)行分割,并對分割后的圖像進(jìn)行輪廓檢測,確定面積最大輪廓;
目標(biāo)區(qū)域確定單元,用于對所述面積最大輪廓進(jìn)行填充獲得目標(biāo)區(qū)域。
可選的,所述圖像精確提取模塊,包括:
透明度值計算單元,用于利用共享樣本點(diǎn)算法計算所述三元圖的透明度值。
可選的,本方案還包括:
迭代模塊,用于根據(jù)輸入的修正框,迭代執(zhí)行所述圖像粗分割模塊。
本發(fā)明所提供的一種圖像摳圖方法,包括:獲取輸入的圖像以及目標(biāo)框,并構(gòu)建目標(biāo)框?qū)?yīng)圖像的深度信息;利用高斯混合模型對rgbd建模形成的圖割算法對目標(biāo)框?qū)?yīng)圖像進(jìn)行粗分割,獲取目標(biāo)區(qū)域;其中,d為深度信息;對目標(biāo)區(qū)域進(jìn)行腐蝕膨脹操作,獲得三元圖;確定三元圖的透明度值,獲得前景精確提取結(jié)果;
可見,該方法相比于傳統(tǒng)摳圖方法,對顏色,光照變化具有更好的魯棒性,且精度較高,只需少量用戶交互即可得到較好的摳圖結(jié)果;本發(fā)明還提供了一種圖像摳圖裝置,具有上述有益效果,在此不再贅述。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例所提供的圖像摳圖方法的流程圖;
圖2為本發(fā)明實(shí)施例所提供的構(gòu)建目標(biāo)框?qū)?yīng)圖像的s-t圖的示意圖;
圖3為本發(fā)明實(shí)施例所提供的圖像摳圖方法的流程示意圖;
圖4為本發(fā)明實(shí)施例所提供的圖像摳圖方法的效果示意圖;
圖5為本發(fā)明實(shí)施例所提供的圖像摳圖系統(tǒng)的結(jié)構(gòu)框圖。
具體實(shí)施方式
本發(fā)明的核心是提供一種圖像摳圖方法、裝置,對顏色,光照變化具有更好的魯棒性,且精度較高,只需少量用戶交互即可得到較好的摳圖結(jié)果。
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
隨著移動互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,圖像中物體的深度信息計算已經(jīng)比較成熟,且許多終端已經(jīng)具備雙攝像頭。利用雙攝像頭拍攝的圖像可以獲取物體的深度信息,結(jié)合深度信息就可以獲得更好的前景提取結(jié)果。具體請參考圖1,圖1為本發(fā)明實(shí)施例所提供的圖像摳圖方法的流程圖;該方法可以包括:
s100、獲取輸入的圖像以及目標(biāo)框,并構(gòu)建目標(biāo)框?qū)?yīng)圖像的深度信息。
具體的,該步驟主要為了獲取圖像的深度信息,以及用戶在圖像中框出的前景所在位置的目標(biāo)框。本實(shí)施例并不限定具體的獲取圖像,以及計算該圖像深度信息的方法,只要可以得到采集到的圖像的深度信息即可。且本實(shí)施例并不限定目標(biāo)框的形狀,例如通常的情況下,該目標(biāo)框?yàn)榫匦慰颉?/p>
其中,為了方便構(gòu)建圖像的深度信息,這里的圖像可以利用雙攝像頭進(jìn)行圖像的采集,即可選的,利用雙攝像頭圖像采集裝置采集圖像,這里的雙攝像頭圖像采集裝置可以是具有雙攝像頭的手機(jī),即利用手機(jī)的雙攝像頭采集圖像,并根據(jù)采集的圖像重構(gòu)出圖像的深度信息。深度信息的獲取方法不止于此,當(dāng)然也可以是利用單目獲取多幀圖像,重建出深度信息也是完全可以的。
s110、利用高斯混合模型對rgbd建模形成的圖割算法對目標(biāo)框?qū)?yīng)圖像進(jìn)行粗分割,獲取目標(biāo)區(qū)域;其中,d為深度信息。
具體的,該步驟主要完成圖像的粗分割。目前圖像分割方法種類繁多。大體可以分為幾類:基于閾值的分割方法,基于邊緣的分割方法,基于區(qū)域的分割方法,基于圖論的分割方法,基于能量泛函的分割方法,基于深度學(xué)習(xí)的方法。目前應(yīng)用比較多且成熟的算法有:均值漂移算法,分水嶺算法,圖割算法,深度學(xué)習(xí)算法。本實(shí)施例采用圖割算法進(jìn)行圖像粗分割,因?yàn)樵撍惴ɡ酶咚够旌夏P?即gmm)對rgb建模。這使得該算法對顏色復(fù)雜情況下不具備較好的分割能力。但是本申請為了在此基礎(chǔ)上進(jìn)一步提高對光照變化等其他因素的分割能力,因此在本實(shí)施例中對傳統(tǒng)的圖割算法進(jìn)行改進(jìn);具體的利用gmm對rgbd建模,d表示深度信息,結(jié)合深度信息之后,圖像的分割效果就會有很大的提升。
優(yōu)選的,利用高斯混合模型對rgbd建模形成的圖割算法對目標(biāo)框?qū)?yīng)圖像進(jìn)行粗分割,獲取目標(biāo)區(qū)域可以包括:
構(gòu)建目標(biāo)框?qū)?yīng)圖像的s-t圖;
具體的,構(gòu)建的s-t圖的效果可以參考圖2,s-t圖有一個源結(jié)點(diǎn)s和一個終端節(jié)點(diǎn)t。其他節(jié)點(diǎn)表示圖像中的每一個像素點(diǎn)。
利用高斯混合模型對s-t圖中每一個像素點(diǎn)的rgbd進(jìn)行建模得到對應(yīng)的rgbd值,并根據(jù)s-t圖中每一條邊對應(yīng)的兩個像素點(diǎn)的rgbd值的差值賦予s-t圖中每一條邊的權(quán)重;
具體的,該步驟主要實(shí)現(xiàn)對s-t圖的每一條邊賦以權(quán)重。即利用gmm對每一個像素點(diǎn)的rgbd進(jìn)行建模,如果兩像素點(diǎn)之間的rgbd值相近則賦以大的權(quán)值,表示分開兩個像素的代價較大。如果rgbd值相差很大,則賦以較小的權(quán)值,表示分開兩個像素的代價較小。本實(shí)施例中并不具體限定兩個像素點(diǎn)的rgbd值的差值與權(quán)重值的對應(yīng)關(guān)系。
根據(jù)s-t圖中每一條邊的權(quán)重,利用最大流算法進(jìn)行分割,并對分割后的圖像進(jìn)行輪廓檢測,確定面積最大輪廓;對面積最大輪廓進(jìn)行填充獲得目標(biāo)區(qū)域。
具體的,對每一條邊都賦以權(quán)值之后,利用最大流算法(即maxflow)尋找分割代價最低的分割方法,完成分割。分割完成之后,對圖像進(jìn)行輪廓檢測,并檢測出最大輪廓,以此作為初步的目標(biāo)所在區(qū)域,對此區(qū)域進(jìn)行填充,即可得到目標(biāo)區(qū)域。
s120、對目標(biāo)區(qū)域進(jìn)行腐蝕膨脹操作,獲得三元圖;
具體的,該步驟主要為了獲得三元圖(即trimap)。即圖像摳圖有一個先決條件,那就是必須有圖像對應(yīng)的三元圖。目前,大部分的三元圖都由人工描繪進(jìn)行獲取。人工描繪獲取三元圖十分麻煩,對應(yīng)比較精細(xì)的物體諸如頭發(fā)絲則需要浪費(fèi)很多時間。也有提出利用tof相機(jī)獲取深度圖并生成三元圖。但是傳統(tǒng)的利用tof相機(jī)獲取深度圖并生成三元圖的方式只考慮了深度信息,具有很多缺陷,對于深度信息差不多的前景目標(biāo)無法實(shí)現(xiàn)精確提取,而且閾值參數(shù)設(shè)置也比較困難。因此為了克服上述缺陷,本實(shí)施例提出利用步驟s110生成的目標(biāo)區(qū)域,對其邊界進(jìn)行腐蝕膨脹獲得三元圖。例如用戶所給矩形框?qū)?yīng)寬,高的5%的像素,可以實(shí)現(xiàn)自動三元圖生成。即優(yōu)選的,對目標(biāo)區(qū)域,利用目標(biāo)框的寬的5%以及高的5%的像素參數(shù),進(jìn)行腐蝕膨脹操作,獲得三元圖。本實(shí)施例中給出的5%的數(shù)值僅為一個較好的效果,并不對該數(shù)值進(jìn)行限定。
s130、確定三元圖的透明度值,獲得前景精確提取結(jié)果。
具體的,該步驟不要實(shí)現(xiàn)對圖像的精確提取。由于圖割算法得到的是硬分割的結(jié)果,因此存在邊界不平滑,結(jié)果不精細(xì)等一些問題。所以,為了使得到的結(jié)果更加精細(xì),平滑,所以采用軟分割算法,以確定圖像的透明度值。本實(shí)施例中并不限定具體的軟分割算法。只要可以確定三元圖的透明度值即可。目前,計算圖像透明度值的算法較多,如經(jīng)典的closedform摳圖,貝葉斯摳圖算法。
進(jìn)一步,本實(shí)施例考慮到實(shí)用性,算法運(yùn)行時間以及提取效果,優(yōu)選的,采用共享樣本點(diǎn)方法進(jìn)行圖像透明度值計算,當(dāng)然除了共享樣本點(diǎn)算法外,其他摳圖算法也完全可以作為替代品。這里共享樣本點(diǎn)方法是一個效果較好的,實(shí)用性較強(qiáng)的算法。即可選的,確定三元圖的透明度值可以包括:
利用共享樣本點(diǎn)算法計算三元圖的透明度值。
具體的,共享樣本點(diǎn)算法通過對未知區(qū)域中的每一個像素尋找一對前景,背景像素點(diǎn),之后基于下面的公式:
cp=αpfp+(1-αp)bp
其中,cp是未知區(qū)域像素p的rgb值,fp,bp是前景背景像素對。αp是透明度值。根據(jù)上述公式以及前景背景樣本點(diǎn)對就可以計算出未知區(qū)域像素的透明度值。
本實(shí)施例中進(jìn)行圖像摳圖方法的具體流程可以包括圖像獲取,圖像粗分割,三元圖生成,圖像精確提取。具體請參考圖3。整個過程只需要用戶框選一個目標(biāo)框,之后整個過程全自動執(zhí)行。具有交互少的優(yōu)點(diǎn)。此外,對圖像計算透明度值也對于圖像的精確提取起到了十分關(guān)鍵的作用。整個過程有粗到細(xì),逐步實(shí)現(xiàn)前景目標(biāo)的精確提取。具體實(shí)現(xiàn)效果可以參考圖4。
基于上述技術(shù)方案,本發(fā)明實(shí)施例提供的圖像摳圖方法,只需用于給出一個前景所在位置的目標(biāo)框,不需要太多用戶交互操作就可以實(shí)現(xiàn)圖像前景提取。具體利用計算機(jī)視覺和機(jī)器學(xué)習(xí)技術(shù)實(shí)現(xiàn)目標(biāo)的高精度提取。相比于傳統(tǒng)方法對顏色,光照變化更加魯棒,且精度較高,只需少量用戶交互即可得到較好的結(jié)果。因此該方法可以在圖像合成,影視制作等其他計算機(jī)視覺應(yīng)用中得到廣泛應(yīng)用。
基于上述實(shí)施例,為了進(jìn)一步提高精度,可以根據(jù)用戶的交互,多次迭代,改進(jìn)步驟s110得到的結(jié)果,達(dá)到目標(biāo)的完美提取。即可選的,本實(shí)施例中還可以包括:
根據(jù)輸入的修正框,迭代執(zhí)行利用高斯混合模型對rgbd建模形成的圖割算法對目標(biāo)框?qū)?yīng)圖像進(jìn)行粗分割,獲取目標(biāo)區(qū)域的步驟。
具體的,該步驟的交互迭代過程可以根據(jù)用戶是否需要進(jìn)行選擇。這里的修正框即用戶進(jìn)行交互迭代時輸入的,根據(jù)此可以得到更加準(zhǔn)確的目標(biāo)區(qū)域,進(jìn)而可以得到更加精確的三元圖,最終得以實(shí)現(xiàn)圖像摳圖的精確提取。
基于上述技術(shù)方案,本發(fā)明實(shí)施例提供的圖像摳圖方法,對顏色,光照變化具有更好的魯棒性,且精度較高,只需少量用戶交互即可得到較好的摳圖結(jié)果。且可以根據(jù)用戶選擇進(jìn)行迭代計算,得到更優(yōu)的摳圖效果,且提高用戶的自主性,提高用戶體驗(yàn)。
下面對本發(fā)明實(shí)施例提供的圖像摳圖裝置進(jìn)行介紹,下文描述的圖像摳圖裝置與上文描述的圖像摳圖方法可相互對應(yīng)參照。
請參考圖5,圖5為本發(fā)明實(shí)施例所提供的圖像摳圖系統(tǒng)的結(jié)構(gòu)框圖;該系統(tǒng)可以包括:
圖像獲取模塊100,用于獲取輸入的圖像以及目標(biāo)框;
深度信息構(gòu)建模塊200,用于構(gòu)建目標(biāo)框?qū)?yīng)圖像的深度信息;
圖像粗分割模塊300,用于利用高斯混合模型對rgbd建模形成的圖割算法對目標(biāo)框?qū)?yīng)圖像進(jìn)行粗分割,獲取目標(biāo)區(qū)域;其中,d為深度信息;
三元圖獲取模塊400,用于對目標(biāo)區(qū)域進(jìn)行腐蝕膨脹操作,獲得三元圖;
圖像精確提取模塊500,用于確定三元圖的透明度值,獲得前景精確提取結(jié)果。
基于上述實(shí)施例,所述深度信息構(gòu)建模塊200可以包括:
s-t圖構(gòu)件單元,用于構(gòu)建目標(biāo)框?qū)?yīng)圖像的s-t圖;
權(quán)重賦值單元,用于利用高斯混合模型對s-t圖中每一個像素點(diǎn)的rgbd進(jìn)行建模得到對應(yīng)的rgbd值,并根據(jù)s-t圖中每一條邊對應(yīng)的兩個像素點(diǎn)的rgbd值的差值賦予s-t圖中每一條邊的權(quán)重;
輪廓確定單元,用于根據(jù)s-t圖中每一條邊的權(quán)重,利用最大流算法進(jìn)行分割,并對分割后的圖像進(jìn)行輪廓檢測,確定面積最大輪廓;
目標(biāo)區(qū)域確定單元,用于對面積最大輪廓進(jìn)行填充獲得目標(biāo)區(qū)域。
基于上述任意實(shí)施例,所述圖像精確提取模塊500可以包括:
透明度值計算單元,用于利用共享樣本點(diǎn)算法計算三元圖的透明度值。
基于上述任意實(shí)施例,該系統(tǒng)還可以包括:
迭代模塊,用于根據(jù)輸入的修正框,迭代執(zhí)行所述圖像粗分割模塊。
說明書中各個實(shí)施例采用遞進(jìn)的方式描述,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個實(shí)施例之間相同相似部分互相參見即可。對于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
專業(yè)人員還可以進(jìn)一步意識到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲器(ram)、內(nèi)存、只讀存儲器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤、可移動磁盤、cd-rom、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
以上對本發(fā)明所提供的一種圖像摳圖方法及裝置進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。