收稿日期:2007-12-11;
修回日期:2008-03-06
基金項(xiàng)目:國家自然科學(xué)基金資助項(xiàng)目(60772057); 北京科技新星計(jì)劃基金資助項(xiàng)目(2005B54)
作者簡介:傅冠華(1981-),男,碩士,主要研究方向?yàn)橹悄苋藱C(jī)交互、數(shù)字娛樂計(jì)算(fuguanhua@ict.ac.cn);
陳益強(qiáng),副研究員,博士,主要研究方向?yàn)閿?shù)據(jù)挖掘、機(jī)器學(xué)習(xí)、移動(dòng)多媒體技術(shù);
劉軍發(fā),博士研究生,主要研究方向?yàn)閳D像處理、人臉動(dòng)畫、數(shù)字娛樂計(jì)算;
周經(jīng)野,教授,碩士,主要研究方向?yàn)樽匀徽Z言處理;
李鵬飛,碩士,主要研究方向?yàn)橹悄苋藱C(jī)交互、圖像處理.
(1.湘潭大學(xué) 信息工程學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)系, 湖南 湘潭 411105;
2.中國科學(xué)院 計(jì)算技術(shù)研究所 前瞻研究中心, 北京 100190)
摘要:
基于圖切分理論,提出了一種自動(dòng)分割人臉的方法。對于一幅人臉圖像,首先通過人臉檢測算法,確定人臉圖像的大致前景和背景區(qū)域;然后利用高斯混合模型建立其前景和背景區(qū)域的顏色模型;最后迭代地運(yùn)用圖切分算法準(zhǔn)確地分割出人臉目標(biāo)。該方法創(chuàng)新之處在于實(shí)現(xiàn)了人臉圖像前景目標(biāo)的全自動(dòng)分割。實(shí)驗(yàn)結(jié)果說明了該方法的有效性。
關(guān)鍵詞:自動(dòng)分割; 人臉檢測; 圖切分; 混合高斯模型
中圖分類號(hào):TP391.41
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2008)10-3060-03
Method of extracting faces automatically
FU Guan-hua1,2, CHEN Yi-qiang2, LIU Jun-fa2, ZHOU Jing-ye1, LI Peng-fei2
(1.Dept.of Computer Science Technology, College of Information Engineering, Xiangtan University, Xiangtan Hunan 411105, China;
2.Research Center for Advanced Computing, Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100190, China)
Abstract:
This paper presented a method of extracting faces automatically based on graph cut. For a face image, firstly, identified the approximate face region by the algorithm of the face detection. Then, built the color model for background and foreground utilizing the GMM(Gaussian mixture model). Lastly, extracted successfully the accurate face region using the iterative graph cut. The innovation of the method lies in that can extract the special foreground object full-automatically from a face-image. Experimental results indicate that the method has application values.
Key words:automatic extraction; face detection; graph cut; Gaussian mixture model(GMM)
如何從源圖像中準(zhǔn)確地分割出用戶感興趣的目標(biāo)物體是數(shù)字圖像研究領(lǐng)域一個(gè)重要的研究課題。目前,主要有三種方法:a)Intelligent scissors[1]。首先指定目標(biāo)物體,然后在其內(nèi)部任意選擇幾個(gè)種子點(diǎn),再在目標(biāo)輪廓附近選定一些控制點(diǎn),通過計(jì)算種子點(diǎn)和控制點(diǎn)的最優(yōu)路徑得到目標(biāo)的輪廓線。該方法缺點(diǎn)是交互操作較多、速度較慢。b)Snakes或active contours[2]。首先指定目標(biāo)的粗略輪廓線,然后根據(jù)圖像的梯度和輪廓線的特征信息建立一個(gè)能量函數(shù),再逐步移動(dòng)輪廓線,直至能量函數(shù)至最小,則認(rèn)為此時(shí)的輪廓線為目標(biāo)的輪廓。該方法的缺點(diǎn)仍是交互較復(fù)雜、結(jié)果不夠精確。c)圖切分。其最近被廣泛地應(yīng)用于計(jì)算機(jī)視覺領(lǐng)域,且取得了很好的效果[3,4]。將圖像分割問題等價(jià)于圖的劃分問題,用畫筆簡單指定目標(biāo)和背景如lazy snap[5],或者畫一個(gè)包含目標(biāo)的矩形框如grab cut[6];然后分別建立前景和背景的顏色模型;最后計(jì)算文獻(xiàn)[7]中的能量函數(shù)最小值獲得分割結(jié)果。該方法交互簡單、速度較快且準(zhǔn)確性較高。
上述三種方法都在各自的應(yīng)用領(lǐng)域取得了很好的效果,但這些方法都需要或多[1,2]或少[8]的人工交互操作。目前在一些涉及到終端服務(wù)的應(yīng)用中對分割目標(biāo)物體提出了自動(dòng)化的需求,那么能否在無須任何人工交互操作的前提下,自動(dòng)分割出用戶感興趣的目標(biāo)物體呢?分析得出,一方面,雖然目前計(jì)算機(jī)自動(dòng)檢測和識(shí)別任意物體還沒有一個(gè)泛化的方法,但是人臉檢測和特征點(diǎn)定位的研究已取得了顯著的成果;另一方面,相對于文獻(xiàn)[1,2]中的算法,圖切分算法只需在指定若干圖像背景或前景像素的前提下(無須指定目標(biāo)物體輪廓和計(jì)算圖像梯度),快速地分割出物體目標(biāo)。基于以上兩點(diǎn)分析,本文提出自動(dòng)分割人臉的方法,并通過以下兩步實(shí)現(xiàn)分割的自動(dòng)化:a)利用人臉檢測和定位算法代替以往方法中人工指定圖像的初始前景及背景;b)利用迭代計(jì)算圖切分算法中能量值的方法代替以往方法中人工反復(fù)調(diào)整圖像的前景和背景。該方法具體實(shí)現(xiàn)分為以下三步:通過人臉檢測及定位算法,確定人臉大致區(qū)域,以獲得圖像前景和背景的初始區(qū)域;利用GMM對未知區(qū)域和背景區(qū)域分別建立對應(yīng)的顏色模型;迭代調(diào)用圖切分算法,直至所計(jì)算的能量值收斂。
1確定人臉圖像的初始區(qū)域
已有的圖像分割方法大都是通過用戶的交互操作指定圖像的初始區(qū)域,然后根據(jù)初始區(qū)域的先驗(yàn)知識(shí)計(jì)算出準(zhǔn)確的圖像前景和背景區(qū)域。本文方法利用人臉檢測及定位算法代替交互操作,自動(dòng)確定圖像的初始區(qū)域。
人臉檢測及定位技術(shù)已經(jīng)研究了很多年。其中,ASM是最常用人臉定位的一種方法之一。筆者參考了MPEG-4中人臉定義參數(shù)和人臉動(dòng)畫參數(shù)的標(biāo)準(zhǔn),定義了具有118個(gè)特征點(diǎn)的人臉面部網(wǎng)格,盡可能地覆蓋整個(gè)人臉,以得到人臉大致輪廓,如圖1(a)所示。根據(jù)人臉輪廓和各五官特征點(diǎn)的位置信息,運(yùn)用簡單的圖形學(xué)方法很容易將最外圍輪廓特征點(diǎn)(圖1(b)中的較大點(diǎn))組成的閉合曲線進(jìn)行相應(yīng)的擴(kuò)張,以致擴(kuò)張后得到的區(qū)域包含全部人臉,如圖1(b)所示。擴(kuò)張的方法是先計(jì)算外圍輪廓點(diǎn)的幾何中心點(diǎn),然后以此點(diǎn)為標(biāo)準(zhǔn)所有外輪廓點(diǎn)向外放大R倍。根據(jù)實(shí)驗(yàn)經(jīng)驗(yàn),R取0.5比較合適。
把圖1(b)中較小點(diǎn)連成的曲線(簡稱C1)組成的閉合區(qū)域外的區(qū)域叫做背景區(qū)域Rb;較大點(diǎn)連成的曲線(簡稱C2)組成的閉合區(qū)域叫做前景區(qū)域Rf;兩者之間的區(qū)域叫做未知區(qū)域Ru。按此定義計(jì)算后,發(fā)現(xiàn)最終并不能得到好的分割效果。經(jīng)過分析發(fā)現(xiàn),Rf區(qū)域大多數(shù)時(shí)候都沒有包含頭發(fā)部分相近的顏色信息,所以給算法輸入了不完備或錯(cuò)誤的先驗(yàn)知識(shí)。為了避免這種錯(cuò)誤,筆者修改了初始區(qū)域的定義:初始未知區(qū)域Ru定義為C1包含的區(qū)域;初始前景區(qū)域Rf為空;初始背景區(qū)域Rb定義保持不變。實(shí)驗(yàn)說明在此定義下算法取得了較好的分割效果。
由于C2曲線所包含的區(qū)域必定是最終的人臉目標(biāo)部分,無論最后分割結(jié)果如何,在實(shí)驗(yàn)最后筆者都將其作為人臉目標(biāo)的一部分輸出。背景區(qū)域Rb只需包含離C1曲線較近的區(qū)域帶,這樣,參加計(jì)算的圖像像素會(huì)減少,算法運(yùn)行速度提高,但不會(huì)減少圖像分割的先驗(yàn)信息,所以也就不會(huì)降低人臉分割的效果。
2基于圖切分算法的人臉分割
2.1利用圖切分算法分割圖像
根據(jù)圖切分算法,給定一幅人臉圖像I(xiàn),建立如圖2(a)所示的無向帶權(quán)圖G={V,ξ}。圖中頂點(diǎn)V是所有圖像像素和終端節(jié)點(diǎn)S、T組成的集合;ξ是n-link(所有相鄰像素連成的邊,n可理解為當(dāng)前像素有n個(gè)相鄰像素與之相連)和t-link(像素與終端節(jié)點(diǎn)連成的邊)組成的集合。分割圖像前景和背景就是求解圖的最小切分。為了更好地描述,定義向量-α ,對于圖像中每一個(gè)像素點(diǎn)i∈V,當(dāng)αi=0時(shí),表示像素i屬于背景;αi=1時(shí),表示像素i屬于前景。在本文的方法中,當(dāng)像素i∈Ru,αi=1;i∈Rb,αi=0(原因見第1章)。很顯然,本文的目標(biāo)是求解最終的-α 值,使人臉目標(biāo)從背景中精確分割出來。
為了求出-α 的值,根據(jù)圖切分理論[7]代價(jià)能量的定義,有如下能量公式:
式(1)中將代價(jià)能量定義為如下兩部分:E1稱做概率能量,表示像素屬于前景或背景的概率的全局代價(jià)能量,如果像素屬于前景(背景)的概率大,說明該像素與前景(背景)顏色更接近,該部分等價(jià)于圖中頂點(diǎn)到終端頂點(diǎn)邊的權(quán)值;E2稱做先驗(yàn)?zāi)芰浚硎鞠噜徬袼叵嗨贫鹊木植看鷥r(jià)能量,如果當(dāng)前像素周圍的像素都屬于前景(背景),則該像素屬于前景(背景)的可能性較大,該部分等價(jià)于相鄰像素連成邊的權(quán)值。λ≥0指概率能量E1和先驗(yàn)?zāi)芰縀2對于能量貢獻(xiàn)的重要性的相對比重。N是i和所有與它相鄰的像素連接成的邊組成的集合(在本文方法中采用八鄰域計(jì)算)。文獻(xiàn)[7]中證明了最小圖切分問題等價(jià)于圖像的最優(yōu)分割問題,所以通過最小圖切分問題的算法,可以估算出-α 值,最終使圖像前景和背景能夠被最優(yōu)地分割。
2.2顏色建模
計(jì)算能量E需要建立圖像初始區(qū)域的顏色模型。研究表明[7],直方圖對灰度圖像顏色的描述能夠取得較好的效果,而彩色圖像由于顏色信息量大,用直方圖描述效果較差,而且會(huì)增加運(yùn)算量。GMM是由多個(gè)高斯模型的加權(quán)平均組成的概率數(shù)據(jù)模型,能夠平滑地近似任意形狀的概率分布。研究和本文的實(shí)驗(yàn)證明,GMM能夠較好地表示彩色圖像顏色空間分布。GMM具體定義為
πk是每一個(gè)高斯模型的權(quán)值,且滿足∑Kk=1πk=1;μk、σk分別是第k個(gè)高斯模型的均值和方差。
在本文方法中,將圖像當(dāng)前Ru和Rb區(qū)域的所有像素當(dāng)做訓(xùn)練樣本,分別創(chuàng)建k個(gè)高斯模型(一共創(chuàng)建2k個(gè)高斯模型)。為了得到好的GMM模型,分別將Ru和Rb區(qū)域的像素按其顏色信息(RGB值)聚成k類。Binary tree quantization算法[9]利用每個(gè)區(qū)域顏色協(xié)方差矩陣的特征向量來聚類,能夠保證每個(gè)區(qū)域中的顏色方差盡可能小(即能夠使聚類得到的每個(gè)類中的顏色盡可能相似,且與其他類顏色盡可能大的區(qū)別),以致能夠建立較好的顏色模型。因此,在本文方法中采用該方法作為顏色聚類算法。為了區(qū)分Ru和Rb中各個(gè)不同的聚類類別及其對應(yīng)的各個(gè)高斯模型,引入向量k={k1,…,ki,…,kN},ki∈{1,…,K}。若αi=0,ki=n,則說明像素i屬于Rb區(qū)域的第n類或Rb區(qū)域?qū)?yīng)的第n個(gè)高斯模型。
該算法是不斷迭代的過程,每一次迭代都會(huì)產(chǎn)生新的類別,生成K個(gè)類別后迭代結(jié)束。另外,每一次迭代過程中都會(huì)計(jì)算當(dāng)前每個(gè)類中顏色的協(xié)方差矩陣 Σ及其對應(yīng)的均值μ和方差σk,所以該算法終止前,只需計(jì)算出每個(gè)類別的權(quán)值π(該區(qū)域每個(gè)類別中像素?cái)?shù)與總像素?cái)?shù)的比值),就得到了每個(gè)高斯模型中的參數(shù)值及GMM的所有參數(shù)值,也就建立了GMM顏色模型。
2.3能量計(jì)算
建立Ru,Rb區(qū)域的GMM模型后,筆者能夠通過式(1)計(jì)算概率能量:
i,k)]T∑(αi,k)-1[zi-μ(αi,k)]/2}}(3)
式中:E1(i,αi)表示像素i∈Ru(αi=1)或i∈Rb(αi=0)的概率,等價(jià)于圖切分中頂點(diǎn)i連接終端節(jié)點(diǎn)s或t的t-link邊的權(quán)值;zi是像素i的RGB顏色值;π(αi,k)是Ru或Rb區(qū)域中第k個(gè)高斯模型的權(quán)值;∑(αi,k)是Ru或Rb區(qū)域中顏色協(xié)方差矩陣;μ(αi,k)是其對應(yīng)的均值。
先驗(yàn)?zāi)芰縿t可通過以下公式計(jì)算:
E2(i, j)=|αi-αj|×[1/dist(i, j)]e-β‖zi-zj‖2(4)
其中:E2(i, j)表示相鄰像素i、 j局部能量代價(jià),對應(yīng)于圖切分中的n-link權(quán)值;dist(i, j)是相鄰像素i、 j之間的顏色歐式距離;β是常量參數(shù),具體定義可參見文獻(xiàn)[10]。從式(4)可以看出,當(dāng)兩個(gè)相鄰像素距離越近,顏色越相似,能量E2會(huì)越大,也越不易被分割。
最后采用文獻(xiàn)[7]中定義的最大流最小切分算法(min-cut/max-flow)可以求解能量E(α)的最小值,同時(shí)估算α的各分量值。
2.4算法總體流程
與交互式分割的方法一樣,本文方法第一次計(jì)算后得到的結(jié)果不理想。交互分割方法大都通過對圖像前景和背景像素反復(fù)調(diào)整提高效果。本文方法則采用迭代的方法代替反復(fù)的人工交互操作,不斷求解E(α)及α值,直至能量值收斂。圖3是本文算法執(zhí)行的總體流程。
每次迭代后,對于新得到的兩類顏色區(qū)域需要重新建立GMM模型,所以,每次迭代中,能量E1都需要重新計(jì)算,而由于圖像相鄰像素的關(guān)系不會(huì)發(fā)生改變,E2只需計(jì)算一次即可。
3實(shí)驗(yàn)及分析
筆者測試了大量來自數(shù)碼相機(jī)、PC攝像頭、手機(jī)攝像頭拍攝的,以及網(wǎng)上收集的各種尺寸的人臉圖片。實(shí)驗(yàn)結(jié)果表明,其中有85%左右取得了較好的分割效果。圖4是其中的幾個(gè)例子。其中第一行是原始人臉圖片,圓點(diǎn)表示用本文中的人臉檢測及定位算法計(jì)算獲得的人臉各五官特征點(diǎn);第二行表示人臉圖像的初始區(qū)域,最外圍點(diǎn)連接成的閉合曲線C1是兩類初始區(qū)域的分界線;第三行是自動(dòng)分割出的人臉目標(biāo);第四行是完成每幅人臉圖像分割對應(yīng)的算法迭代次數(shù)。
為了進(jìn)一步驗(yàn)證本文方法的有效性,筆者同時(shí)設(shè)計(jì)了一個(gè)交互式分割圖像前景目標(biāo)的軟件ImageCutOut 1.0。為了便于比較,該軟件采用圖切分算法計(jì)算能量,利用GMM建立顏色模型。通過實(shí)驗(yàn)發(fā)現(xiàn):a)在大多數(shù)情況下,自動(dòng)分割方法最終得到的實(shí)驗(yàn)效果與交互分割相當(dāng);b)自動(dòng)分割的迭代次數(shù)只與圖像的顏色分布有關(guān)(一般在3~10次后即可收斂),而交互分割操作的次數(shù)則依賴于用戶使用類似軟件的經(jīng)驗(yàn)(一般需要4~8次交互才能取得理想的結(jié)果),顯然自動(dòng)分割操作更簡單;c)相對于交互分割,自動(dòng)分割每次得到的結(jié)果總能包含完整的人臉面部圖像。圖5是任選的一個(gè)例子。第一行是用戶前四次的交互操作,深色曲線表示背景,淺色曲線表示前景;第二行是前四次交互得到的分割結(jié)果;第三行是本文方法前四次計(jì)算的結(jié)果。可以看出四次迭代計(jì)算后獲得的結(jié)果與第四次交互操作獲得的結(jié)果相當(dāng)。
另外,對較差結(jié)果進(jìn)行分析發(fā)現(xiàn),導(dǎo)致較差結(jié)果的原因有:a)原始圖片中人臉姿態(tài)、光照不佳,使人臉檢測算法無法正確定位人臉特征點(diǎn),以致無法得到正確的圖像初始區(qū)域以指導(dǎo)圖像分割;b)人臉目標(biāo)與背景交界處顏色相互融合、難以區(qū)分,使得自動(dòng)區(qū)分前景和背景較為困難。
4結(jié)束語
本文提出了一種人臉自動(dòng)分割方法。該方法首先引入人臉檢測及定位算法,自動(dòng)確定出圖像初始區(qū)域,解決了需人工指定圖像初始區(qū)域的問題;然后利用高斯混合模型在顏色描述方面的優(yōu)勢建立人臉圖像前景和背景區(qū)域的顏色分布模型;最后,采用迭代計(jì)算能量值的方法解決了以往圖像分割算法中需要反復(fù)的人工交互操作的問題,分割出準(zhǔn)確的人臉目標(biāo)。該方法的最大優(yōu)點(diǎn)在于無須任何人工交操作而實(shí)現(xiàn)特定目標(biāo)的分割。本文的下一步研究工作包括兩方面:a)提高自動(dòng)分割人臉的效果;b)拓展人臉自動(dòng)分割方法的思想,結(jié)合目前其他物體(如汽車、樹等)的檢測算法,對自然界更多對象的自動(dòng)分割方法進(jìn)行研究。
參考文獻(xiàn):
[1]MORTENSEN F N, BARRETT W A. Intelligent scissors for image composition[C]//Proc of the 22nd of ACM SIGGRAPH International Conference on Computer Graphics and Interactive Techniques. 1995.
[2]KASS M, WITKIN A,TERZOLPOULOS D. Snakes: active contour models[J]. International Journal of Computer Vision, 1998,1(4):321-331.
[3]賈云濤,胡事民.基于圖切分的交互式圖像染色算法[J].計(jì)算機(jī)學(xué)報(bào),2006,29(3):508-513.
[4]劉則毅,徐高奎,丁雅斌.一種新的圖像合成方法[J].中國圖象圖形學(xué)報(bào),2007,12(3):432-437.
[5]LI Yin, SUN Jian, CHI K. Lazy snapping[C]//Proc of ACM SIGGRAPH. 2004.
[6]ROTHER C, KOLMOGOROV V, BLAKE A. Grabcut-interactive foreground extraction using iterated graph cuts[C]//Proc of SIGGRAPH. 2004.
[7]BOYKOV Y, MARIE-PIERRE J. Interactive graph cuts for optimal boundary and region segmentation of objects in N-D images[C]//Proc of IEEE International Conference on Computer Vision. 2001.
[8]CASELLES V, KIMMEL R, SAPIRO G. Geodesic active contours[C]//Proc of IEEE International Conference on Computer Vision. 1995.
[9]ORCHARD M, BOUMAN C. Color quantization of images[J]. IEEE Trans on Signal Processing, 1991,139(12):2677-2690.
[10]BOYKOV Y, KOLMOGOROV Y. An experimental comparison of min-cut/max-flow algorithms for energy minimization in vision[J]. IEEE Trans on Pattern Analysis and Machine Intelligence, 2004,26(9):1124-1137.