用于面部圖像處理的方法和設(shè)備的制作方法
【專利摘要】本發(fā)明提供了用于圖像處理的方法、相應(yīng)設(shè)備和計算機程序產(chǎn)品。該方法包括對圖像執(zhí)行面部檢測,基于該面部檢測,獲取至少一個面部的粗糙面部分割區(qū)域和所述至少一個面部的輪廓邊界,以及基于所述輪廓邊界,調(diào)整所述粗糙面部分割區(qū)域以獲得精細面部分割區(qū)域。利用本發(fā)明的方法、相應(yīng)設(shè)備和計算機程序產(chǎn)品,圖像中的粗糙面部區(qū)域可以得到精細分割,從而為后續(xù)基于精細面部分割區(qū)域的圖像處理提供了良好的基礎(chǔ)。
【專利說明】用于面部圖像處理的方法和設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明的示例性和非限制性實施方式一般地涉及圖像處理,更具體地,本發(fā)明的實施方式涉及用于面部圖像處理的方法和設(shè)備。
【背景技術(shù)】
[0002]隨著移動照相技術(shù)的不斷發(fā)展,越來越多的用戶在每天日常生活中使用移動設(shè)備來進行拍照,并將所拍攝的照片或圖片通過無線網(wǎng)絡(luò)發(fā)送給好友和同事,或者發(fā)布于博客或社交網(wǎng)站,以便及時與好友和同事進行分享。在發(fā)布照片前,很多用戶(尤其是女性用戶)期望能夠?qū)φ掌鲆恍┟娌康膱D像處理,以期獲得各種效果。這就對當前的面部圖像處理技術(shù)提出了更高的要求。
[0003]當前的面部圖像處理技術(shù)面臨的一個主要挑戰(zhàn)是如何自動和精準的從包括面部和周邊區(qū)域的圖像中分割出面部,作為進一步面部圖像處理的基礎(chǔ)。分割出精細的面部區(qū)域有利于實現(xiàn)后續(xù)令人滿意的各種圖像處理,例如面部圖像編輯、增效等。如果在從圖像中分割面部時引入了一些背景圖像或者丟失了一些面部區(qū)域,將僅獲得例如如圖1所示出的粗糙面部圖像分割區(qū)域。
[0004]如圖1中所示出,檢測到的面部分割區(qū)域由虛線包圍。從該虛線所包括的面部分割區(qū)域可以看出,由于拍攝時的背景照明或者周邊顏色的相似度,該分割區(qū)域左側(cè)包括了非面部的小段區(qū)域,而右側(cè)則將面部靠近左耳的部分面部區(qū)域排除在面部分割區(qū)域以外。顯然,這樣的面部分割結(jié)果是粗糙的,而基于此粗糙面部分割區(qū)域進行后續(xù)處理,往往將導致得到的面部圖像嚴重失真,或者得到的效果令用戶難以接受。
[0005]實現(xiàn)精細面部區(qū)域分割的困難在于圖片中對象的多樣性、拍攝設(shè)備的多樣性以及拍攝時環(huán)境光線的多樣性。事實上,當前的大多數(shù)方案并不足以處理具有各類面部特征的圖片,例如圖片來自于白人或黑人、正面或側(cè)面、在室內(nèi)或室外拍攝、年輕人或老年人,以及具有不同的清晰度或模糊度。特別地,復雜多變的取景條件會造成面部不平衡的色彩分布并且可能看起來較為模糊,這也導致僅僅通過使用亮度信號或膚色信號對圖片進行面部分割無法得到令人滿意的效果。進一步,面部區(qū)域和背景物體之間的顏色相似度也使在分割完整的面部區(qū)域時,難以對顏色信息做到很好的區(qū)分。因此,如何獲得可靠精細的面部分割區(qū)域成為面部圖像處理需要解決的首要問題。
【發(fā)明內(nèi)容】
[0006]為了緩解或克服上面所提到的技術(shù)問題,本發(fā)明的實施方式提供了高效的面部圖像分割方案,使得粗糙面部分割區(qū)域得到進一步細化,從而得到高質(zhì)量和高準確度的精細面部分割區(qū)域?;谠摼毭娌糠指顓^(qū)域,本發(fā)明的實施方式還提出對該精細面部分割區(qū)域進行進一步的圖像處理,以滿足不同用戶對于圖片效果的需求。
[0007]為此,本發(fā)明的一個實施方式提供了一種方法。該方法包括對圖像執(zhí)行面部檢測。該方法還包括基于所述面部檢測,獲取至少一個面部的粗糙面部分割區(qū)域和所述至少一個面部的輪廓邊界。進一步,該方法包括基于所述輪廓邊界,調(diào)整所述粗糙面部分割區(qū)域以獲得精細面部分割區(qū)域。
[0008]本發(fā)明的另一實施方式提供了一種設(shè)備。該設(shè)備包括:至少一個處理器以及包含計算機程序代碼的至少一個存儲器。所述處理器以及所述存儲器被配置成利用所述處理器,使得所述設(shè)備至少執(zhí)行對圖像執(zhí)行面部檢測。所述處理器以及所述存儲器還被配置成利用所述處理器,使得所述設(shè)備至少執(zhí)行基于所述面部檢測,獲取至少一個面部的粗糙面部分割區(qū)域和所述至少一個面部的輪廓邊界。進一步,所述處理器以及所述存儲器還被配置成利用所述處理器,使得所述設(shè)備至少執(zhí)行基于所述輪廓邊界,調(diào)整所述粗糙面部分割區(qū)域以獲得精細面部分割區(qū)域。
[0009]本發(fā)明的又一實施方式提供了一種設(shè)備。該設(shè)備包括檢測裝置,用于對圖像執(zhí)行面部檢測。該設(shè)備還包括獲取裝置,用于獲取至少一個面部的粗糙面部分割區(qū)域和所述至少一個面部的輪廓邊界。進一步,該設(shè)備包括調(diào)整裝置,用于基于所述輪廓邊界,調(diào)整所述粗糙面部分割區(qū)域以獲得精細面部分割區(qū)域。
[0010]本發(fā)明的另外的實施方式提供了一種計算機程序產(chǎn)品。該計算機程序產(chǎn)品包括具有存儲于其中的計算機可讀程序代碼部分的至少一個計算機可讀存儲介質(zhì),所述計算機可讀程序代碼部分用于執(zhí)行根據(jù)本發(fā)明的實施方式的用于圖像處理的方法。
[0011]通過基于輪廓邊界來調(diào)整粗糙面部分割區(qū)域,本發(fā)明的實施方式可以顯著提高面部區(qū)域分割的精確性,從而為后續(xù)的面部圖像處理提供了良好的基礎(chǔ)。
【專利附圖】
【附圖說明】
[0012]通過參照附圖閱讀以下所作的對非限制性實施例的詳細描述,本發(fā)明的其它特征、目的和優(yōu)點將會變得更明顯。在附圖中,相同和相似的附圖標記代表相同或相似的裝置或方法步驟,其中:
[0013]圖1示例性示出了通過現(xiàn)有技術(shù)所獲得的經(jīng)粗糙面部區(qū)域分割后的圖片;
[0014]圖2是示例性示出了根據(jù)本發(fā)明的實施方式的用于面部圖像處理的方法的簡化流程圖;
[0015]圖3是示例性示出了根據(jù)本發(fā)明的實施方式的用于面部圖像處理的方法的詳細流程圖;
[0016]圖4是示例性示出了根據(jù)本發(fā)明的實施方式的用于獲得粗糙面部區(qū)域分割的操作示意圖;
[0017]圖53-5(3是分別示例性示出了根據(jù)本發(fā)明的不同實施方式對圖片進行精細處理以獲得精細面部分割區(qū)域的示意圖;
[0018]圖6是示例性示出了利用根據(jù)本發(fā)明的實施方式所獲得的精細面部分割區(qū)域?qū)γ娌繄?zhí)行白化處理的示意圖;
[0019]圖7是示例性示出了利用根據(jù)本發(fā)明的實施方式所獲得的精細面部分割區(qū)域?qū)γ娌繄?zhí)行平滑處理的示意圖;
[0020]圖8是結(jié)合具體圖片處理過程來示例性示出了根據(jù)本發(fā)明實施方式的用于面部圖像處理的整體過程的流程圖;
[0021]圖9是示例性示出了能夠?qū)崿F(xiàn)本發(fā)明的實施方式的設(shè)備的框圖;以及[0022]圖10是示例性示出了能夠?qū)崿F(xiàn)本發(fā)明的實施方式的另一設(shè)備的框圖。
【具體實施方式】
[0023]本發(fā)明的示例性實施方式提供了高效的面部區(qū)域分割的方法和設(shè)備,以及利用該方法和設(shè)備對得到的精細面部分割區(qū)域進行“美化”(包括白化和平滑)處理的方法和設(shè)備。為了獲得精細面部分割區(qū)域,本發(fā)明的示例性實施方式提出了利用面部檢測對圖像中的面部首先執(zhí)行粗糙分割,從而獲得粗糙面部分割區(qū)域。接著,對圖像中的面部進行處理以獲得面部區(qū)域的輪廓邊界。隨后,將二者進行有效的結(jié)合以獲得精細面部分割區(qū)域。
[0024]在一些實施方式中,本發(fā)明提出以輪廓邊界為基準在二維空間(橫向或縱向)上來調(diào)整粗糙面部分割區(qū)域,以使得該粗糙面部分割區(qū)域填充輪廓邊界以內(nèi)的區(qū)域,從而獲得精細面部分割區(qū)域。在另外一些實施方式中,本發(fā)明還提出當存在輪廓邊界中斷時,在中斷區(qū)域間執(zhí)行內(nèi)插操作,從而得到精細面部分割區(qū)域。
[0025]下面將結(jié)合附圖來詳細描述本發(fā)明的各個實施方式。
[0026]圖2是示例性示出根據(jù)本發(fā)明的實施方式的用于面部圖像處理的方法200的簡化流程圖。如圖2中所示,在步驟S202處,方法200對圖像執(zhí)行面部檢測。接著,在步驟S204中,方法200基于所述面部檢測,獲取至少一個面部的粗糙面部分割區(qū)域和所述至少一個面部的輪廓邊界。盡管未示出,在一個實施方式中,方法200利用至少一個面部的局部區(qū)域來建立膚色模型并且接著對該至少一個面部應(yīng)用建立的膚色模型(例如圖4中的圖片P406所示出的模型),從而獲取該至少一個面部的粗糙面部分割區(qū)域。在另一個實施方式中,方法200使用小波變換(例如Haar小波卷積算法)來確定該輪廓邊界。
[0027]應(yīng)該理解的是,上述的獲取粗糙面部分割區(qū)域和面部輪廓的處理僅僅是示例性的和說明性的,本發(fā)明的實施方式并不限于這里所公開的具體處理方式。本領(lǐng)域技術(shù)人員根據(jù)本說明書的教導,可以采取其他合適的(現(xiàn)有或未來開發(fā)的)方法來獲取粗糙面部分割區(qū)域和面部輪廓。
[0028]在獲取至少一個面部的粗糙面部分割區(qū)域和所述至少一個面部的輪廓邊界后,方法200前進到步驟S206。在該步驟中,方法200基于所述輪廓邊界,調(diào)整所述粗糙面部分割區(qū)域以獲得精細面部分割區(qū)域。在一個實施方式中,方法200以所述輪廓邊界為基準,沿橫向或縱向上的至少一個方向來調(diào)整所述粗糙面部分割區(qū)域,使得所述粗糙面部分割區(qū)域填充整個輪廓,從而獲得精細面部分割區(qū)域。
[0029]進一步,在一個實施方式中,方法200檢測粗糙面部分割區(qū)域的邊界像素點是否在預(yù)先設(shè)置的位置調(diào)整范圍以內(nèi)(例如在某個閾值范圍內(nèi))偏離所述輪廓邊界,并且當檢測到所述偏離位于所述位置調(diào)整范圍以內(nèi)時,方法200將偏離的所述邊界像素點調(diào)整到所述輪廓邊界上與其在橫向或縱向上對準的點。當檢測到所述偏離位于所述位置調(diào)整范圍以外時,方法200將該偏離視為顯著突出于輪廓邊界,并且去除該突出部分,從而獲得精細面部分割區(qū)域。
[0030]盡管在多數(shù)情況下,在步驟S204所確定的輪廓邊界是連續(xù)或封閉的,但實際操作中可能由于各種潛在原因而導致輪廓邊界存在中斷或斷開的現(xiàn)象。為此,在一個實施方式中,方法200還檢測所述輪廓邊界是否存在中斷,并且在中斷的兩個端點間執(zhí)行內(nèi)插操作,例如依輪廓邊界走向而采取線性或非線性的插值操作來填補中斷的邊界,從而獲得精細面部分割區(qū)域。
[0031]利用方法200以及其變形或擴展的上述各種實施方式,可以實現(xiàn)對圖片中的面部區(qū)域的精細分割。這樣的精細分割不僅有效的排除背景干擾信息或圖像噪聲,并且也盡可能多的保留面部細節(jié)。另外,這樣的精細面部分割區(qū)域也為本發(fā)明的后續(xù)圖像處理(包括白化和平滑處理)提供良好的素材基礎(chǔ)。
[0032]盡管沒有在圖2中具體示出,關(guān)于白化處理操作,方法200進一步確定精確面部分割區(qū)域內(nèi)的所有像素點的灰度值,并且基于灰度值將所有像素點分成至少兩類,以及以不同的等級來對每類像素點的灰度值進行調(diào)整,以實現(xiàn)對精細面部分割區(qū)域的白化處理。簡言之,方法200將對具有不同灰度值的像素點分別進行不同程度的白化處理,以達到初始灰的像素點不會變得太白,而初始白的像素點變得更白,由此增強了圖像面部的對比度。
[0033]在一個實施方式中,方法200對精細面部分割區(qū)域內(nèi)的所有像素點的灰度值進行統(tǒng)計,并基于所述統(tǒng)計,確定針對灰度值的至少一個閾值,從而根據(jù)所述至少一個閾值將所有像素點劃分為前述的至少兩類。關(guān)于至少一個閾值,在一個實施方式中,方法200對精細面部分割區(qū)域內(nèi)的所有像素點的灰度值進行排序,并按順序選取預(yù)定數(shù)量的像素點,并且對選取的像素點的灰度值求平均,從而將該平均值確定為所述的至少一個閾值。
[0034]可以看出,上述的閾值確定方式特定于各個面部,從而對于面部白化處理具有更強的針對性。另外,為了獲得不同的白化效果,在一個實施方式中,方法200還對每類像素選擇不同的(白化)等級(例如圖6的圖片?606、?608和?610所示出的不同等級的白化效果),該等級可以通過參數(shù)來調(diào)節(jié)。這樣的設(shè)置有助于向用戶提供不同的白化效果選擇,用戶可以通過預(yù)覽功能來預(yù)覽,并最終選擇自己期望的白化效果。
[0035]上面討論了對精細面部分割區(qū)域進行白化處理的操作,下面將討論對獲取的精細面部分割區(qū)域進行平滑處理。在本發(fā)明的一個實施方式中,方法200在獲取精細面部分割區(qū)域后,進一步確定所述精細面部分割區(qū)域內(nèi)的每個像素點與其相鄰區(qū)域內(nèi)的各個相鄰像素點間的灰度值差,將每個灰度值差與預(yù)定的閾值進行比較,以確定對于各個相鄰像素點,所述每個像素點所具有的平滑權(quán)重,其中所述平滑權(quán)重大小與所述灰度值差成反比,并且基于所述各個相鄰像素點的灰度值、所述平滑權(quán)重以及各個相鄰像素點與所述每個像素點之間的空間距離,調(diào)整所述每個像素點的灰度值,以實現(xiàn)對所述精細面部分割區(qū)域的平滑處理。
[0036]關(guān)于上述的平滑權(quán)重,本發(fā)明實施方式的平滑處理考慮每個像素點的灰度值及其相鄰區(qū)域內(nèi)的像素點的灰度值,當兩個像素點之間的灰度值差越大,則這兩個像素點所涉及的區(qū)域之間很有可能存在邊界,而該邊界是平滑操作所要盡量避開的區(qū)域?;诖?,可以認為該相鄰像素點對于待平滑處理的像素點的平滑操作貢獻較小,從而針對該相鄰像素點,賦予待平滑處理的像素點較小的權(quán)重。反之,則賦予較大的權(quán)重。
[0037]關(guān)于上述預(yù)定的閾值的選擇,在一個實施方式中,方法200計算所述精細面部分割區(qū)域內(nèi)所有像素點的梯度值,接著對所有像素點的梯度值進行排序并按順序選取預(yù)定數(shù)量的像素點,以及對選取的像素點的梯度值求平均,從而將該平均值設(shè)置為所述預(yù)定的閾值。與白化處理類似,這樣的閾值設(shè)置對于各個圖片具有更強的針對性和專屬性,從而可以達到更好的平滑效果。
[0038]上面討論了對精細面部分割區(qū)域進行平滑處理的操作,應(yīng)該注意的是,該平滑處理既可以在步驟3206后直接執(zhí)行,也可以在白化處理之前或之后執(zhí)行,依用戶的不同偏好或設(shè)置而定。
[0039]圖3是示例性示出根據(jù)本發(fā)明的實施方式的用于面部圖像處理的方法300的詳細流程圖。如圖3中所示,在步驟3302中,方法300對待處理的圖像進行面部檢測。如本領(lǐng)域技術(shù)人員所理解的,對于具有面部的任意給定圖像,可以通過面部檢測模型檢測到邊界框。除了檢測到邊界框以外,還有必要擴展該邊界框,以便得到的擴展框不僅包括面部區(qū)域,還包括與該面部結(jié)合的頸部區(qū)域(例如圖4的圖片?402中所示的,稍后將結(jié)合圖4描述),從而便于后續(xù)面部圖像處理。
[0040]接著,方法300前進到步驟3304。此處,方法300對檢測到的面部膚色進行建模。在獲得膚色模型后,在步驟3306處,方法300對圖像執(zhí)行粗糙面部分割,從而獲得粗糙面部分割區(qū)域。該膚色建模和粗糙面部分割的處理過程將在稍后結(jié)合圖4來具體描述。
[0041]在步驟3308處,方法300與粗糙面部分割處理步驟3304和3306并行地執(zhí)行獲取面部區(qū)域的輪廓邊界的處理。在本發(fā)明的一個示例性實施方式中,可以執(zhí)行小波變換(例如他虹小波變換)來計算得到面部的輪廓邊界,該面部的輪廓邊界接近于或與實際面部輪廓重合,盡管在某些情況下,該輪廓邊界可能由于圖像質(zhì)量或其他潛在原因而發(fā)生中斷。
[0042]正如前面所描述的,盡管使用膚色模型可以獲得粗糙面部分割區(qū)域,但該結(jié)果不足以良好地輔助面部圖像處理任務(wù)。通常,面部分割區(qū)域的粗糙性可以歸結(jié)于(1) 一些背景圖像被錯誤地歸類為皮膚;(2) —些面部區(qū)域在分割過程被丟失。事實上,復雜多變的光照條件造成面部膚色的非平衡分布是很難僅僅依靠于膚色模型的處理就可以克服的。因此,本發(fā)明的實施方式提出對得到的粗糙面部分割區(qū)域進行精細處理以獲得滿意的精細面部分割區(qū)域。
[0043]為此,在步驟3310,方法300選擇橫向(或稱X方向)或縱向(或稱7方向)中的至少一個方向來執(zhí)行精細分割面部區(qū)域(或稱細化粗糙面部分割區(qū)域)的操作。在本發(fā)明的一些實施方式中,該細化過程通過步驟3308中獲得的面部輪廓邊界上的強邊界響應(yīng)來調(diào)整步驟3306中獲得的粗糙面部分割區(qū)域。
[0044]具體地,首先在步驟3312中,方法300基于面部輪廓邊界來調(diào)整相對偏離的像素點,這里的相對偏離可以設(shè)置在一定的閾值范圍內(nèi),以便可以對超過該閾值范圍的像素點執(zhí)行步驟3314的處理。關(guān)于步驟3312的具體操作,稍后將參考圖53做示例性描述。
[0045]當方法300前進到步驟3314處時,其將檢測在經(jīng)步驟3312處理所獲得的圖片是否還存在顯著偏離于面部輪廓邊界的像素點,此處的顯著偏離表示該偏離已經(jīng)超出前述所設(shè)定的搜索范圍,即利用步驟3312已經(jīng)無法實現(xiàn)調(diào)整的情況。該顯著偏離可以是由于背景顏色與面部膚色接近而被誤認為面部區(qū)域,從而導致從面部區(qū)域明顯突出的區(qū)域。通過執(zhí)行步驟3314,可以基于輪廓邊界調(diào)整顯著相對偏離的像素點。關(guān)于步驟3314的具體操作,稍后將參考圖56做示例性描述。
[0046]當方法300前進到步驟3316處時,其將檢測輪廓邊界是否存在中斷。正如本領(lǐng)域技術(shù)人員所能理解的,在實際的輪廓邊界計算過程中,可能會發(fā)生輪廓邊界斷裂成若干個段的情況。因此,當檢測到該中斷情形時,執(zhí)行步驟3316對輪廓邊界中斷的區(qū)域執(zhí)行內(nèi)插操作以填補該中斷的區(qū)間。關(guān)于步驟3316的具體操作,稍后將參考圖5。來示例性描述。
[0047]在執(zhí)行完步驟3316后,方法300就在步驟3318獲得了精細面部分割區(qū)域,以用于后續(xù)步驟S320和S322的圖像處理使用。應(yīng)該注意的是,上面關(guān)于獲得粗糙面部分割區(qū)域和計算面部輪廓邊界的描述僅僅是示例性的,本領(lǐng)域技術(shù)人員可以采取其他任意合適的方法來實施。
[0048]在獲得精細面部分割區(qū)域后,方法300還附加地執(zhí)行圖片“美化”處理,包括步驟S320的白化處理和步驟S322的平滑處理。首先,在步驟S320處,方法300基于精細面部分割區(qū)域執(zhí)行白化(或稱“美白”)操作。關(guān)于步驟S320的具體操作,稍后將參考圖6來示例性描述。
[0049]接著,在步驟S322處,方法300還基于精細面部分割區(qū)域執(zhí)行平滑處理。為此,本發(fā)明的實施方式提出主要基于局部區(qū)域信息自適應(yīng)地來平滑每個像素,以移除面部額頭、面頰或頸部上的褶皺或斑點,同時又不弱化嘴、牙齒和眼睛等面部細節(jié)。關(guān)于步驟S322的具體操作,稍后將參考圖7來示例性描述。
[0050]上面結(jié)合圖3所示出的各個步驟描述了方法300,但應(yīng)該注意的是,該流程圖中的步驟順序僅僅是示例性的,本發(fā)明的實施方式并不受其限制,并且針對不同的面部圖像可以省略相關(guān)的步驟。例如,盡管按順序描述了步驟S312、S314和S316,當粗糙面部分割區(qū)域中不存在需要步驟S312、S314或S316處理的情形時,則相應(yīng)的步驟可以省略。另外,步驟S320和S322的順序也可以互換,例如先執(zhí)行平滑處理后進行白化處理,這可以例如根據(jù)用戶的偏好來選擇和設(shè)置。
[0051]圖4是示例性示出了根據(jù)本發(fā)明的實施方式的用于獲得粗糙面部區(qū)域分割的操作示意圖,其包括了膚色建模和粗糙面部分割的處理過程。
[0052]正如前面在方法300的步驟S302處所描述的,圖片P402中圍繞男士主要面部區(qū)域的內(nèi)框即為邊界框(或也稱面部檢測框),而擴展到包括該男士頸部的外框即為擴展框??梢钥闯?,擴展框不僅包括完整的面部區(qū)域,而且也包括了多余的背景區(qū)域,例如擴展框中男士面部后的背景以及衣領(lǐng),而這些背景區(qū)域稍后可以通過利用膚色模型來濾除。
[0053]由于利用一個通用的膚色模型來檢測所有類型的面部既不現(xiàn)實也不可行,為了使面部分割相對可靠,本發(fā)明提出針對各個面部構(gòu)建特定于該面部的膚色模型,從而盡可能獲得更有效的膚色模型。如圖4中所示,本發(fā)明提出從圖像面部檢測到的邊界框拾取一小塊面部區(qū)域(如圖4中上部的圖片P404中所示出的)作為學習區(qū)域來執(zhí)行色差信號UV的色彩空間內(nèi)的膚色模型學習過程。例如,可以通過2D高斯參數(shù)模型對相應(yīng)的皮膚分布進行建模,從而獲得圖4右上方圖片P406中所示的2D高斯膚色色差模型(即本發(fā)明的膚色模型)。該膚色模型接著可以用于對左側(cè)圖片P402的擴展框中的面部皮膚區(qū)域進行過濾以濾除背景圖像信息,從而得到如圖4中下方所示出的圖片P408。為了便于理解,下面示例性地描述該建模及過濾操作過程。
[0054]對于選定的學習區(qū)域內(nèi)的每點像素P,通過顏色變換獲得其對應(yīng)的色差信號C(P)=(up, vp) 0接著,統(tǒng)計學習區(qū)域內(nèi)所有像素的色差信號,獲得色差信號均值πιε(ρ)和方差σ c(p),從而可以建立2D高斯膚色色差模型f (c (P)) = N(c (P),mc(p),σ c(p)),其中N是以mc(p)為均值,σ c(p)為方差的2D高斯函數(shù)。此后,對于擴展框中的面部圖像區(qū)域,計算每個像素點q的色差信號c(q) = (IVVq),將其代入通過學習獲得的膚色模型中,即f(c(q)) =N(c(q),mc(p), σ c(p)) 0如果f(c(q))大于某個特定閾值(例如O?I之間的某個小數(shù)),則可以認為當前像素點為膚色,否則認為其非膚色。通過上述操作,就可以過濾背景圖像信息,獲得大致的人臉面部區(qū)域。
[0055]接著,可以對該獲得的圖片?408執(zhí)行一些圖像形態(tài)學操作,以便將圖片?408中的空洞進行填充并且去除圖像噪聲,從而獲得如圖4右下側(cè)所示出的圖片?410,這也就得到了根據(jù)本發(fā)明的一個實施方式的粗糙面部分割區(qū)域??梢钥闯觯诖植诿娌繀^(qū)域分割過程中,本發(fā)明的實施方式利用了皮膚信息作為可靠的線索來從擴展框中分割出面部皮膚區(qū)域。
[0056]圖53示出根據(jù)本發(fā)明的一個實施方式的用于對圖片的粗糙面部分割區(qū)域進行精細處理的過程,也即方法300中的步驟3312的處理。如圖53中所示,區(qū)域?502示出了當前所獲得的粗糙面部分割區(qū)域,而曲線52指示出面部的輪廓邊界,從區(qū)域?502中容易看出,該粗糙面部分割區(qū)域右側(cè)上部區(qū)域突出于輪廓邊界52以外,而右側(cè)下部區(qū)域又凹陷于輪廓邊界52以內(nèi),顯然這樣的面部區(qū)域分割是不精準的。
[0057]為此,本發(fā)明的實施方式提出,當檢測到存在上述的偏離情況時,可以對位于粗糙分割區(qū)域邊緣上的像素點(如標號54所示出的)設(shè)定一個搜索范圍。假設(shè)像素點54的二維坐標為“,50,則其橫向上的搜索范圍可以表示為如圖如中的雙向箭頭56和58所示的。類似地,其縱向上的搜索范圍可以表示為(丫-^丫+”^未示出)。此處的參數(shù)“ 8 ”的值的選擇確定了在細化過程中邊界信息的權(quán)重,值越大則更多的面部輪廓邊界點將被搜索,而值越小則有可能會減小搜索到的輪廓邊界點的數(shù)目。因此,可以通過大量學習過程來選擇一個合適的值,這樣既可以避免不必要地擴大搜索范圍,也可以避免過度縮小搜索范圍。接著,可以在該搜索范圍內(nèi)檢測面部輪廓邊界52上是否存在與該像素點54在橫向或縱向上對準的點(也稱為強邊界響應(yīng)點,其在色彩空間下獲得),如果存在這樣的點,則將該像素點調(diào)整到面部輪廓邊界上與其對準的點處。例如,當檢測到像素點54在其橫向搜索空間,即箭頭56和58之間的空間內(nèi)存在與該像素點54對應(yīng)的點58,而該點58恰好位于面部輪廓邊界52上,此時就可以將像素點54的位置更新到點58處。對于檢測到像素點恰好位于與面部輪廓邊界上的點重合的情形,如圖中所示的點60,則此時像素點的位置將保持不變。通過上述方式的位置調(diào)整,就可以得到如區(qū)域?504所示出的較為精細的面部分割區(qū)域。
[0058]為了便于理解,圖如下部以實際的圖片?506為例來示出該細化過程。當實際的圖片?506在經(jīng)過本發(fā)明前述的粗糙面部區(qū)域分割和面部輪廓計算后就分別得到了圖片?508和?510。從圖片?508中大小不同的圓形所包圍的區(qū)域可以看出,該粗糙面部分割區(qū)域?qū)⒚娌恐械妮^暗區(qū)域(如眉毛)視為非面部區(qū)域。通過本發(fā)明的實施方式,可以找到圖片?510中與之對應(yīng)的輪廓邊界(以圓形示出接著,利用上面所描述的調(diào)整方式,可以對粗糙分割的圖片?508進行處理。例如,對于凹陷于面部輪廓邊界以內(nèi)的像素點(如眉毛處),可以將其調(diào)整到位于搜索范圍以內(nèi)的、與其橫向或縱向上對準的輪廓邊界點處,從而得到如圖片?512所示出的精細面部分割區(qū)域。
`[0059]圖56示出根據(jù)本發(fā)明的一個實施方式的用于對圖片的粗糙面部分割區(qū)域進行調(diào)整的過程,也即方法300中的步驟3314的處理。如圖56所示,區(qū)域?514示出當前的粗糙面部分割區(qū)域,其邊緣上存在1 6和0三個點,而面部輪廓邊界上存在另外三個點1 (1和6,其中3點為粗糙面部分割區(qū)域和面部輪廓邊界的公共點。可以看出,在點3的相鄰區(qū)域內(nèi),由于多個粗糙分割區(qū)域邊緣上的像素點(例如6和0點)構(gòu)成的陡峭空間排列,從而相應(yīng)形成了向外伸出的顯著突起。由于|d-b|和|e-c|的空間距離要遠大于參數(shù)δ的值,因此此時利用圖5a的搜索范圍方法已經(jīng)無法將b點調(diào)整到d點的位置以及類似地將c點調(diào)整到e點的位置。
[0060]進一步,通過判斷沿面部輪廓邊界上的點之間的偏差遠小于沿粗糙分割區(qū)域邊緣上的像素點之間的偏差(數(shù)學式可以例如表達為|d_a| << b-a并且|e_a| << |c_a|,如區(qū)域P514和P516之間的幾何塊圖所繪出的),可以確定粗糙面部分割區(qū)域邊緣上向外伸出的突出部分應(yīng)該收縮到面部輪廓邊界以內(nèi)或者作為背景區(qū)域被剪切,以便移除該突起部分。以區(qū)域P514為例,該面部分割區(qū)域?qū)⒀刂娌枯喞吔琰ca、d和e延伸而非初始的像素點a、b和C,由此得到細化的精細面部分割區(qū)域,即區(qū)域P516。
[0061]同樣地,為了便于理解,圖5b下部以實際的圖片P518為例來示出該細化過程。當實際的圖片P518在經(jīng)過本發(fā)明前述的粗糙分割和面部輪廓計算后就分別得到了圖片P520和P522。從圖片P520中利用大小不同的圓形所包圍的區(qū)域可以看出,該粗糙分割將面部后方的背景區(qū)域(如與面部膚色接近的座椅)視為面部區(qū)域。通過本發(fā)明的實施方式,可以計算得到圖片P522中與之對應(yīng)的面部輪廓邊界(以圓形示出)。接著,利用上面所描述的調(diào)整方式,可以對粗糙分割的圖片P520進行處理。例如,對于明顯突出面部輪廓邊界外的像素點,可以將其調(diào)整到輪廓邊界點以內(nèi)或剪切掉,從而移除多余的背景區(qū)域,得到如圖片P524所示出的精細面部分割區(qū)域。
[0062]圖5c示出根據(jù)本發(fā)明的一個實施方式的用于對圖片的粗糙面部分割區(qū)域進行精細處理的過程,也即方法300中的步驟S316的處理。如圖5c的區(qū)域P526所示,輪廓邊界曲線59斷開成ab和Cd兩段。在根據(jù)本發(fā)明前述的方法調(diào)整該粗糙面部分割區(qū)域時,將在b和c兩個端點間產(chǎn)生空白區(qū)域。
[0063]如前所述,再經(jīng)過方法300的步驟S312和S314的處理后,突出于輪廓邊界ab段以外的粗糙面部分割區(qū)域?qū)諗坑赼b段處,而類似地,凹陷于輪廓邊界Cd段以內(nèi)的粗糙面部分割區(qū)域?qū)諗坑贑d段處?;诖?,可以合理地推導出斷開的b點和c點將被連接,以彌補在計算面部輪廓時所丟失的數(shù)據(jù)。根據(jù)本發(fā)明的一個實施方式,鑒于b和c兩點間輪廓走勢平直,可以考慮使用線性內(nèi)插(或插值)技術(shù)來計算b和c間多個點的坐標,從而實現(xiàn)b點和c點間的連接。另外,當輪廓邊界上中斷的端點間的走勢呈曲線狀,也可以考慮使用非線性內(nèi)插技術(shù),例如bsline插值算法。經(jīng)過這樣的插值操作后,就可以得到細化后的精細面部分割區(qū)域,如區(qū)域P528所示出的。
[0064]上面結(jié)合附圖5a_5c、關(guān)于粗糙面部分割區(qū)域調(diào)整的描述主要是針對橫向方向做出的,但正如前面所提到的,上述的調(diào)整方法同樣也適用于在縱向方向上的調(diào)整??傊?,本發(fā)明的實施方式通過這樣的細化過程在圖像面上沿橫向和縱向分別執(zhí)行,從而得到精細面部分割區(qū)域。
[0065]圖6是示例性示出了利用根據(jù)本發(fā)明的一個實施方式所獲得的精細面部分割區(qū)域?qū)γ娌繄?zhí)行白化處理(也即方法300中的步驟S320的處)的示意圖。
[0066]在得到如圖5中的圖片P512和P524所示出的精細面部分割區(qū)域后,很有可能需要對區(qū)域進行白化處理,以使面部清晰、美觀、便于辨認和識別。通常,直截了當?shù)姆椒ㄊ菍^(qū)域內(nèi)的所有像素以相同的幅度來增加亮度信號Y的水平。然而,這樣的方法會直接減小面部的對比度,從而使面部的細節(jié)(例如嘴部、牙齒和眼睛)模糊,這對于面部的美化處理是不利的。另外,對面部的白化處理應(yīng)該具有可調(diào)節(jié)的多個等級,從而用戶可以獲得多個不同的白化效果。因此,本發(fā)明的實施方式提出對精細面部分割區(qū)域進行灰度統(tǒng)計,并且根據(jù)統(tǒng)計結(jié)果來將面部區(qū)域分成若干個不同等級,并對于不同的等級實施不同等級的白化操作,從而得到不同的白化效果。
[0067]為了實現(xiàn)上述的效果,本發(fā)明的一個實施方式提出如下的面部皮膚白化函數(shù):
【權(quán)利要求】
1.一種方法,包括: 對圖像執(zhí)行面部檢測; 基于所述面部檢測,獲取至少一個面部的粗糙面部分割區(qū)域和所述至少一個面部的輪廓邊界;以及 基于所述輪廓邊界,調(diào)整所述粗糙面部分割區(qū)域以獲得精細面部分割區(qū)域。
2.根據(jù)權(quán)利要求1所述的方法,其中獲取至少一個面部的粗糙面部分割區(qū)域包括: 利用所述至少一個面部的局部區(qū)域來建立膚色模型;以及 對所述至少一個面部應(yīng)用所述膚色模型,以獲取所述至少一個面部的粗糙面部分割區(qū)域。
3.根據(jù)權(quán)利要求1所述的方法,其中利用小波變換來獲取所述至少一個面部的輪廓邊界。
4.根據(jù)權(quán)利要求1所述的方法,其中基于所述輪廓邊界,調(diào)整所述粗糙面部分割區(qū)域以獲得精細面部分割區(qū)域包括: 以所述輪廓邊界為基準,沿橫向或縱向上的至少一個方向來調(diào)整所述粗糙面部分割區(qū)域,使得所述粗糙面部分割區(qū)域填充整個輪廓。
5.根據(jù)權(quán)利要求4所述的方法,其中調(diào)整所述粗糙面部分割區(qū)域包括: 檢測粗糙面部分割區(qū)域的邊界像素點是否在預(yù)先設(shè)置的位置調(diào)整范圍以內(nèi)偏離所述輪廓邊界;以及 當檢測到所述偏離位于所述位置調(diào)整范圍以內(nèi)時,將偏離的所述邊界像素點調(diào)整到所述輪廓邊界上與其在橫向或縱向上對準的點。
6.根據(jù)權(quán)利要求5所述的方法,進一步包括: 檢測所述邊界像素點是否從所述輪廓邊界向外突出而超出所述位置調(diào)整范圍;以及當檢測到所述突出超出所述位置調(diào)整范圍時,去除所述粗糙面部分割區(qū)域上突出所述輪廓邊界的部分。
7.根據(jù)權(quán)利要求6所述的方法,進一步包括: 檢測所述輪廓邊界是否存在中斷;以及 當檢測到所述輪廓邊界存在中斷時,在中斷的兩個端點間執(zhí)行內(nèi)插操作。
8.根據(jù)權(quán)利要求1所述的方法,進一步包括: 確定所述精確面部分割區(qū)域內(nèi)的所有像素點的灰度值; 基于所述灰度值將所有像素點分成至少兩類;以及 以不同的等級來對每類像素點的灰度值進行調(diào)整,以實現(xiàn)對所述精細面部分割區(qū)域的白化處理。
9.根據(jù)權(quán)利要求8所述的方法,其中基于所述灰度值將所有像素點分成至少兩類包括: 對所述精細面部分割區(qū)域內(nèi)的所有像素點的灰度值進行統(tǒng)計; 基于所述統(tǒng)計,確定針對灰度值的至少一個閾值; 根據(jù)所述至少一個閾值將所有像素點劃分為至少兩類。
10.根據(jù)權(quán)利要求9所述的方法,其中確定針對灰度值的至少一個閾值包括: 對所有像素點的灰度值進行排序;按順序選取預(yù)定數(shù)量的像素點;以及 對所述選取的像素點的灰度值求平均以確定至少一個閾值。
11.根據(jù)權(quán)利要求8所述的方法,進一步包括: 對于每類像素點選擇多個不同的等級來進行所述調(diào)整,以實現(xiàn)多個相應(yīng)不同效果的白化處理。
12.根據(jù)權(quán)利要求1或8所述的方法,進一步包括: 確定所述精細面部分割區(qū)域內(nèi)的每個像素點與其相鄰區(qū)域內(nèi)的各個相鄰像素點間的灰度值差; 將每個灰度值差與預(yù)定的閾值進行比較,以確定對于各個相鄰像素點,所述每個像素點所具有的平滑權(quán)重,其中所述平滑權(quán)重大小與所述灰度值差成反比;以及 基于所述各個相鄰像素點的灰度值、所述平滑權(quán)重以及各個相鄰像素點與所述每個像素點之間的空間距離,調(diào)整所述每個像素點的灰度值,以實現(xiàn)對所述精細面部分割區(qū)域的平滑處理。
13.根據(jù)權(quán)利要求12所述的方法,其中所述預(yù)定的閾值通過以下操作來獲得: 計算所述精細面部分割區(qū)域內(nèi)所有像素點的梯度值; 對所有像素點的梯度值進行排序; 按順序選取預(yù)定數(shù)量的像素點;以及 對所述選取的像素點的梯度值求平均,以獲得所述預(yù)定的閾值。
14.一種設(shè)備,包括: 至少一個處理器以及包含計算機程序代碼的至少一個存儲器; 所述處理器以及所述存儲器被配置成利用所述處理器,使得所述設(shè)備至少執(zhí)行: 對圖像執(zhí)行面部檢測; 基于所述面部檢測,獲取至少一個面部的粗糙面部分割區(qū)域和所述至少一個面部的輪廓邊界;以及 基于所述輪廓邊界,調(diào)整所述粗糙面部分割區(qū)域以獲得精細面部分割區(qū)域。
15.根據(jù)權(quán)利要求14所述的設(shè)備,其中所述處理器以及所述存儲器被配置成利用所述處理器,使得所述設(shè)備至少執(zhí)行: 利用所述至少一個面部的局部區(qū)域來建立膚色模型;以及 對所述至少一個面部應(yīng)用所述膚色模型,以獲取所述至少一個面部的粗糙面部分割區(qū)域。
16.根據(jù)權(quán)利要求14所述的設(shè)備,其中利用小波變換來獲取所述至少一個面部的輪廓邊界。
17.根據(jù)權(quán)利要求14所述的設(shè)備,其中所述處理器以及所述存儲器被配置成利用所述處理器,使得所述設(shè)備至少執(zhí)行: 以所述輪廓邊界為基準,沿橫向或縱向上的至少一個方向來調(diào)整所述粗糙面部分割區(qū)域,使得所述粗糙面部分割區(qū)域填充整個輪廓。
18.根據(jù)權(quán)利要求17所述的設(shè)備,其中所述處理器以及所述存儲器被配置成利用所述處理器,使得所述設(shè)備至少執(zhí)行: 檢測粗糙面部分割區(qū)域的邊界像素點是否在預(yù)先設(shè)置的位置調(diào)整范圍以內(nèi)偏離所述輪廓邊界;以及 當檢測到所述偏離位于所述位置調(diào)整范圍以內(nèi)時,將偏離的所述邊界像素點調(diào)整到所述輪廓邊界上與其在橫向或縱向上對準的點。
19.根據(jù)權(quán)利要求18所述的設(shè)備,其中所述處理器以及所述存儲器被配置成利用所述處理器,使得所述設(shè)備進一步執(zhí)行: 檢測所述邊界像素點是否從所述輪廓邊界向外突出而超出所述位置調(diào)整范圍;以及當檢測到所述突出超出所述位置調(diào)整范圍時,去除所述粗糙面部分割區(qū)域上突出所述輪廓邊界的部分。
20.根據(jù)權(quán)利要求19所述的設(shè)備,其中所述處理器以及所述存儲器被配置成利用所述處理器,使得所述設(shè)備進一步執(zhí)行: 檢測所述輪廓邊界是否存在中斷;以及 當檢測到所述輪廓邊界存在中斷時,在中斷的兩個端點間執(zhí)行內(nèi)插操作。
21.根據(jù)權(quán)利要求14所述的設(shè)備,其中所述處理器以及所述存儲器被配置成利用所述處理器,使得所述設(shè)備進一步執(zhí)行: 確定所述精確面部分割區(qū)域內(nèi)的所有像素點的灰度值; 基于所述灰度值將所有像素點分成至少兩類;以及 以不同的等級來對每類像素點的灰度值進行調(diào)整,以實現(xiàn)對所述精細面部分割區(qū)域的白化處理。
22.根據(jù)權(quán)利要求21所述的設(shè)備,其中所述處理器以及所述存儲器被配置成利用所述處理器,使得所述設(shè)備至少執(zhí)行: 對所述精細面部分割區(qū)域內(nèi)的所有像素點的灰度值進行統(tǒng)計; 基于所述統(tǒng)計,確定針對灰度值的至少一個閾值; 根據(jù)所述至少一個閾值將所有像素點劃分為至少兩類。
23.根據(jù)權(quán)利要求22所述的設(shè)備,其中所述處理器以及所述存儲器被配置成利用所述處理器,使得所述設(shè)備至少執(zhí)行: 對所有像素點的灰度值進行排序; 按順序選取預(yù)定數(shù)量的像素點;以及 對所述選取的像素點的灰度值求平均以確定至少一個閾值。
24.根據(jù)權(quán)利要求21所述的設(shè)備,其中所述處理器以及所述存儲器被配置成利用所述處理器,使得所述設(shè)備至少執(zhí)行: 對于每類像素點選擇多個不同的等級來進行所述調(diào)整,以實現(xiàn)多個相應(yīng)不同效果的白化處理。
25.根據(jù)權(quán)利要求14或21所述的設(shè)備,其中所述處理器以及所述存儲器被配置成利用所述處理器,使得所述設(shè)備進一步執(zhí)行: 確定所述精細面部分割區(qū)域內(nèi)的每個像素點與其相鄰區(qū)域內(nèi)的各個相鄰像素點間的灰度值差; 將每個灰度值差與預(yù)定的閾值進行比較,以確定對于各個相鄰像素點,所述每個像素點所具有的平滑權(quán)重,其中所述平滑權(quán)重大小與所述灰度值差成反比;以及 基于所述各個相鄰像素點的灰度值、所述平滑權(quán)重以及各個相鄰像素點與所述每個像素點之間的空間距離,調(diào)整所述每個像素點的灰度值,以實現(xiàn)對所述精細面部分割區(qū)域的平滑處理。
26.根據(jù)權(quán)利要求25所述的設(shè)備,其中所述處理器以及所述存儲器被配置成利用所述處理器,使得所述設(shè)備至少執(zhí)行以下操作來獲得所述預(yù)定的閾值: 計算所述精細面部分割區(qū)域內(nèi)所有像素點的梯度值; 對所有像素點的梯度值進行排序; 按順序選取預(yù)定數(shù)量的像素點;以及 對所述選取的像素點的梯度值求平均,以獲得所述預(yù)定的閾值。
27.—種設(shè) 備,包括: 檢測裝置,用于對圖像執(zhí)行面部檢測; 獲取裝置,用于基于所述面部檢測,獲取至少一個面部的粗糙面部分割區(qū)域和所述至少一個面部的輪廓邊界;以及 調(diào)整裝置,用于基于所述輪廓邊界,調(diào)整所述粗糙面部分割區(qū)域以獲得精細面部分割區(qū)域。
28.一種計算機程序產(chǎn)品,包括具有存儲于其中的計算機可讀程序代碼部分的至少一個計算機可讀存儲介質(zhì),所述計算機可讀程序代碼部分用于執(zhí)行根據(jù)權(quán)利要求1-13的任意一項所述的方法。
【文檔編號】G06T5/00GK103839250SQ201210496169
【公開日】2014年6月4日 申請日期:2012年11月23日 優(yōu)先權(quán)日:2012年11月23日
【發(fā)明者】李江偉, 汪孔橋, 何燕 申請人:諾基亞公司