收稿日期:2007-12-11;
修回日期:2008-03-06
基金項目:國家自然科學基金資助項目(60772057); 北京科技新星計劃基金資助項目(2005B54)
作者簡介:傅冠華(1981-),男,碩士,主要研究方向為智能人機交互、數字娛樂計算(fuguanhua@ict.ac.cn);
陳益強,副研究員,博士,主要研究方向為數據挖掘、機器學習、移動多媒體技術;
劉軍發,博士研究生,主要研究方向為圖像處理、人臉動畫、數字娛樂計算;
周經野,教授,碩士,主要研究方向為自然語言處理;
李鵬飛,碩士,主要研究方向為智能人機交互、圖像處理.
(1.湘潭大學 信息工程學院 計算機科學與技術系, 湖南 湘潭 411105;
2.中國科學院 計算技術研究所 前瞻研究中心, 北京 100190)
摘要:
基于圖切分理論,提出了一種自動分割人臉的方法。對于一幅人臉圖像,首先通過人臉檢測算法,確定人臉圖像的大致前景和背景區域;然后利用高斯混合模型建立其前景和背景區域的顏色模型;最后迭代地運用圖切分算法準確地分割出人臉目標。該方法創新之處在于實現了人臉圖像前景目標的全自動分割。實驗結果說明了該方法的有效性。
關鍵詞:自動分割; 人臉檢測; 圖切分; 混合高斯模型
中圖分類號:TP391.41
文獻標志碼:A
文章編號: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)
如何從源圖像中準確地分割出用戶感興趣的目標物體是數字圖像研究領域一個重要的研究課題。目前,主要有三種方法:a)Intelligent scissors[1]。首先指定目標物體,然后在其內部任意選擇幾個種子點,再在目標輪廓附近選定一些控制點,通過計算種子點和控制點的最優路徑得到目標的輪廓線。該方法缺點是交互操作較多、速度較慢。b)Snakes或active contours[2]。首先指定目標的粗略輪廓線,然后根據圖像的梯度和輪廓線的特征信息建立一個能量函數,再逐步移動輪廓線,直至能量函數至最小,則認為此時的輪廓線為目標的輪廓。該方法的缺點仍是交互較復雜、結果不夠精確。c)圖切分。其最近被廣泛地應用于計算機視覺領域,且取得了很好的效果[3,4]。將圖像分割問題等價于圖的劃分問題,用畫筆簡單指定目標和背景如lazy snap[5],或者畫一個包含目標的矩形框如grab cut[6];然后分別建立前景和背景的顏色模型;最后計算文獻[7]中的能量函數最小值獲得分割結果。該方法交互簡單、速度較快且準確性較高。
上述三種方法都在各自的應用領域取得了很好的效果,但這些方法都需要或多[1,2]或少[8]的人工交互操作。目前在一些涉及到終端服務的應用中對分割目標物體提出了自動化的需求,那么能否在無須任何人工交互操作的前提下,自動分割出用戶感興趣的目標物體呢?分析得出,一方面,雖然目前計算機自動檢測和識別任意物體還沒有一個泛化的方法,但是人臉檢測和特征點定位的研究已取得了顯著的成果;另一方面,相對于文獻[1,2]中的算法,圖切分算法只需在指定若干圖像背景或前景像素的前提下(無須指定目標物體輪廓和計算圖像梯度),快速地分割出物體目標?;谝陨蟽牲c分析,本文提出自動分割人臉的方法,并通過以下兩步實現分割的自動化:a)利用人臉檢測和定位算法代替以往方法中人工指定圖像的初始前景及背景;b)利用迭代計算圖切分算法中能量值的方法代替以往方法中人工反復調整圖像的前景和背景。該方法具體實現分為以下三步:通過人臉檢測及定位算法,確定人臉大致區域,以獲得圖像前景和背景的初始區域;利用GMM對未知區域和背景區域分別建立對應的顏色模型;迭代調用圖切分算法,直至所計算的能量值收斂。
1確定人臉圖像的初始區域
已有的圖像分割方法大都是通過用戶的交互操作指定圖像的初始區域,然后根據初始區域的先驗知識計算出準確的圖像前景和背景區域。本文方法利用人臉檢測及定位算法代替交互操作,自動確定圖像的初始區域。
人臉檢測及定位技術已經研究了很多年。其中,ASM是最常用人臉定位的一種方法之一。筆者參考了MPEG-4中人臉定義參數和人臉動畫參數的標準,定義了具有118個特征點的人臉面部網格,盡可能地覆蓋整個人臉,以得到人臉大致輪廓,如圖1(a)所示。根據人臉輪廓和各五官特征點的位置信息,運用簡單的圖形學方法很容易將最外圍輪廓特征點(圖1(b)中的較大點)組成的閉合曲線進行相應的擴張,以致擴張后得到的區域包含全部人臉,如圖1(b)所示。擴張的方法是先計算外圍輪廓點的幾何中心點,然后以此點為標準所有外輪廓點向外放大R倍。根據實驗經驗,R取0.5比較合適。
把圖1(b)中較小點連成的曲線(簡稱C1)組成的閉合區域外的區域叫做背景區域Rb;較大點連成的曲線(簡稱C2)組成的閉合區域叫做前景區域Rf;兩者之間的區域叫做未知區域Ru。按此定義計算后,發現最終并不能得到好的分割效果。經過分析發現,Rf區域大多數時候都沒有包含頭發部分相近的顏色信息,所以給算法輸入了不完備或錯誤的先驗知識。為了避免這種錯誤,筆者修改了初始區域的定義:初始未知區域Ru定義為C1包含的區域;初始前景區域Rf為空;初始背景區域Rb定義保持不變。實驗說明在此定義下算法取得了較好的分割效果。
由于C2曲線所包含的區域必定是最終的人臉目標部分,無論最后分割結果如何,在實驗最后筆者都將其作為人臉目標的一部分輸出。背景區域Rb只需包含離C1曲線較近的區域帶,這樣,參加計算的圖像像素會減少,算法運行速度提高,但不會減少圖像分割的先驗信息,所以也就不會降低人臉分割的效果。
2基于圖切分算法的人臉分割
2.1利用圖切分算法分割圖像
根據圖切分算法,給定一幅人臉圖像I,建立如圖2(a)所示的無向帶權圖G={V,ξ}。圖中頂點V是所有圖像像素和終端節點S、T組成的集合;ξ是n-link(所有相鄰像素連成的邊,n可理解為當前像素有n個相鄰像素與之相連)和t-link(像素與終端節點連成的邊)組成的集合。分割圖像前景和背景就是求解圖的最小切分。為了更好地描述,定義向量-α ,對于圖像中每一個像素點i∈V,當αi=0時,表示像素i屬于背景;αi=1時,表示像素i屬于前景。在本文的方法中,當像素i∈Ru,αi=1;i∈Rb,αi=0(原因見第1章)。很顯然,本文的目標是求解最終的-α 值,使人臉目標從背景中精確分割出來。
為了求出-α 的值,根據圖切分理論[7]代價能量的定義,有如下能量公式:
式(1)中將代價能量定義為如下兩部分:E1稱做概率能量,表示像素屬于前景或背景的概率的全局代價能量,如果像素屬于前景(背景)的概率大,說明該像素與前景(背景)顏色更接近,該部分等價于圖中頂點到終端頂點邊的權值;E2稱做先驗能量,表示相鄰像素相似度的局部代價能量,如果當前像素周圍的像素都屬于前景(背景),則該像素屬于前景(背景)的可能性較大,該部分等價于相鄰像素連成邊的權值。λ≥0指概率能量E1和先驗能量E2對于能量貢獻的重要性的相對比重。N是i和所有與它相鄰的像素連接成的邊組成的集合(在本文方法中采用八鄰域計算)。文獻[7]中證明了最小圖切分問題等價于圖像的最優分割問題,所以通過最小圖切分問題的算法,可以估算出-α 值,最終使圖像前景和背景能夠被最優地分割。
2.2顏色建模
計算能量E需要建立圖像初始區域的顏色模型。研究表明[7],直方圖對灰度圖像顏色的描述能夠取得較好的效果,而彩色圖像由于顏色信息量大,用直方圖描述效果較差,而且會增加運算量。GMM是由多個高斯模型的加權平均組成的概率數據模型,能夠平滑地近似任意形狀的概率分布。研究和本文的實驗證明,GMM能夠較好地表示彩色圖像顏色空間分布。GMM具體定義為
πk是每一個高斯模型的權值,且滿足∑Kk=1πk=1;μk、σk分別是第k個高斯模型的均值和方差。
在本文方法中,將圖像當前Ru和Rb區域的所有像素當做訓練樣本,分別創建k個高斯模型(一共創建2k個高斯模型)。為了得到好的GMM模型,分別將Ru和Rb區域的像素按其顏色信息(RGB值)聚成k類。Binary tree quantization算法[9]利用每個區域顏色協方差矩陣的特征向量來聚類,能夠保證每個區域中的顏色方差盡可能?。茨軌蚴咕垲惖玫降拿總€類中的顏色盡可能相似,且與其他類顏色盡可能大的區別),以致能夠建立較好的顏色模型。因此,在本文方法中采用該方法作為顏色聚類算法。為了區分Ru和Rb中各個不同的聚類類別及其對應的各個高斯模型,引入向量k={k1,…,ki,…,kN},ki∈{1,…,K}。若αi=0,ki=n,則說明像素i屬于Rb區域的第n類或Rb區域對應的第n個高斯模型。
該算法是不斷迭代的過程,每一次迭代都會產生新的類別,生成K個類別后迭代結束。另外,每一次迭代過程中都會計算當前每個類中顏色的協方差矩陣 Σ及其對應的均值μ和方差σk,所以該算法終止前,只需計算出每個類別的權值π(該區域每個類別中像素數與總像素數的比值),就得到了每個高斯模型中的參數值及GMM的所有參數值,也就建立了GMM顏色模型。
2.3能量計算
建立Ru,Rb區域的GMM模型后,筆者能夠通過式(1)計算概率能量:
i,k)]T∑(αi,k)-1[zi-μ(αi,k)]/2}}(3)
式中:E1(i,αi)表示像素i∈Ru(αi=1)或i∈Rb(αi=0)的概率,等價于圖切分中頂點i連接終端節點s或t的t-link邊的權值;zi是像素i的RGB顏色值;π(αi,k)是Ru或Rb區域中第k個高斯模型的權值;∑(αi,k)是Ru或Rb區域中顏色協方差矩陣;μ(αi,k)是其對應的均值。
先驗能量則可通過以下公式計算:
E2(i, j)=|αi-αj|×[1/dist(i, j)]e-β‖zi-zj‖2(4)
其中:E2(i, j)表示相鄰像素i、 j局部能量代價,對應于圖切分中的n-link權值;dist(i, j)是相鄰像素i、 j之間的顏色歐式距離;β是常量參數,具體定義可參見文獻[10]。從式(4)可以看出,當兩個相鄰像素距離越近,顏色越相似,能量E2會越大,也越不易被分割。
最后采用文獻[7]中定義的最大流最小切分算法(min-cut/max-flow)可以求解能量E(α)的最小值,同時估算α的各分量值。
2.4算法總體流程
與交互式分割的方法一樣,本文方法第一次計算后得到的結果不理想。交互分割方法大都通過對圖像前景和背景像素反復調整提高效果。本文方法則采用迭代的方法代替反復的人工交互操作,不斷求解E(α)及α值,直至能量值收斂。圖3是本文算法執行的總體流程。
每次迭代后,對于新得到的兩類顏色區域需要重新建立GMM模型,所以,每次迭代中,能量E1都需要重新計算,而由于圖像相鄰像素的關系不會發生改變,E2只需計算一次即可。
3實驗及分析
筆者測試了大量來自數碼相機、PC攝像頭、手機攝像頭拍攝的,以及網上收集的各種尺寸的人臉圖片。實驗結果表明,其中有85%左右取得了較好的分割效果。圖4是其中的幾個例子。其中第一行是原始人臉圖片,圓點表示用本文中的人臉檢測及定位算法計算獲得的人臉各五官特征點;第二行表示人臉圖像的初始區域,最外圍點連接成的閉合曲線C1是兩類初始區域的分界線;第三行是自動分割出的人臉目標;第四行是完成每幅人臉圖像分割對應的算法迭代次數。
為了進一步驗證本文方法的有效性,筆者同時設計了一個交互式分割圖像前景目標的軟件ImageCutOut 1.0。為了便于比較,該軟件采用圖切分算法計算能量,利用GMM建立顏色模型。通過實驗發現:a)在大多數情況下,自動分割方法最終得到的實驗效果與交互分割相當;b)自動分割的迭代次數只與圖像的顏色分布有關(一般在3~10次后即可收斂),而交互分割操作的次數則依賴于用戶使用類似軟件的經驗(一般需要4~8次交互才能取得理想的結果),顯然自動分割操作更簡單;c)相對于交互分割,自動分割每次得到的結果總能包含完整的人臉面部圖像。圖5是任選的一個例子。第一行是用戶前四次的交互操作,深色曲線表示背景,淺色曲線表示前景;第二行是前四次交互得到的分割結果;第三行是本文方法前四次計算的結果。可以看出四次迭代計算后獲得的結果與第四次交互操作獲得的結果相當。
另外,對較差結果進行分析發現,導致較差結果的原因有:a)原始圖片中人臉姿態、光照不佳,使人臉檢測算法無法正確定位人臉特征點,以致無法得到正確的圖像初始區域以指導圖像分割;b)人臉目標與背景交界處顏色相互融合、難以區分,使得自動區分前景和背景較為困難。
4結束語
本文提出了一種人臉自動分割方法。該方法首先引入人臉檢測及定位算法,自動確定出圖像初始區域,解決了需人工指定圖像初始區域的問題;然后利用高斯混合模型在顏色描述方面的優勢建立人臉圖像前景和背景區域的顏色分布模型;最后,采用迭代計算能量值的方法解決了以往圖像分割算法中需要反復的人工交互操作的問題,分割出準確的人臉目標。該方法的最大優點在于無須任何人工交操作而實現特定目標的分割。本文的下一步研究工作包括兩方面:a)提高自動分割人臉的效果;b)拓展人臉自動分割方法的思想,結合目前其他物體(如汽車、樹等)的檢測算法,對自然界更多對象的自動分割方法進行研究。
參考文獻:
[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].計算機學報,2006,29(3):508-513.
[4]劉則毅,徐高奎,丁雅斌.一種新的圖像合成方法[J].中國圖象圖形學報,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.