王志強,苗翔宇
(華北水利水電大學(xué),河南 鄭州 450003)
近年來,隨著手機和相機拍照技術(shù)的進步,照片的像素也越來越高。臉部的各種瑕疵,比如雀斑、痘痘等都被如實記錄下來,嚴(yán)重影響了照片的美觀。現(xiàn)在人們在追求美觀、光滑、白皙面部圖像的同時,要保留頭發(fā)、耳朵等細節(jié)部位。一些美顏算法在進行美顏的時候使細節(jié)嚴(yán)重模糊。如美圖秀秀,在處理照片時,不能很好地保留細節(jié),造成畫面失真。因此,對于人臉圖像的處理美化成為圖像處理方面研究的熱點。
國內(nèi)外對自動人臉美化有了一定的研究。有一些基于多媒體的非線性濾波器[1]可以較好地處理粗糙皮膚,通過去除高頻噪聲實現(xiàn)除斑、除痘,但是算法耗時過長,且參數(shù)眾多,處理速度慢。Arakawa[2]利用ε-filter進行去除臉上瑕疵,ε-filter是一種低通濾波器,在處理皺紋時效果顯著,但是在處理痘痘、雀斑比較突出的瑕疵時略顯不足。
針對此情況,本文提出了基于膚色分割的人臉美化算法,實現(xiàn)對面部照片的美化操作,同時兼顧保留臉部細節(jié)部分,降低了照片的修改痕跡。
在數(shù)字化圖像中,皮膚平滑區(qū)域的像素值表現(xiàn)均衡。而在皮膚瑕疵部分,像素有明顯的起伏,數(shù)值波動較大。這些瑕疵在空間域表示為小振幅值,而在頻域內(nèi)則表現(xiàn)為高頻噪聲[3]。通過計算皮膚M×M區(qū)域像素灰度值的均值與方差,發(fā)現(xiàn)在較為平滑的區(qū)域像素灰度值均值相等或者差值較小。而在皮膚瑕疵的地方,圖像灰度值與灰度均值差值較大,并且遠大于該區(qū)域的方差。因此采用濾波器對圖像進行卷積運算以達到平滑人臉瑕疵部分的目的。
在實驗過程中發(fā)現(xiàn)只對圖像進行高斯濾波的情況下,人面部的一些細節(jié)無法被保留,面部輪廓和五官同樣進行了模糊,沒有達到理想效果。因此在基本的高斯濾波基礎(chǔ)上還需要加入其他影響權(quán)值的因素。
在面部輪廓區(qū)域內(nèi),相鄰的像素灰度值差值較大,從而形成了一條較為明顯的分界,在視覺上形成了面部輪廓和五官輪廓。可以根據(jù)這一特性增加領(lǐng)域內(nèi)與中心像素灰度差值較大的像素點權(quán)重,強化邊界對圖像的影響,從而實現(xiàn)邊界的保留[4]。

公式前半部分為基本的高斯濾波,以定義域為參考,距離中心點越遠所占權(quán)重越小。公式后半部分以值域作為權(quán)重的參考,與中心像素灰度的差值越大,所占的權(quán)重越大,對圖像的卷積產(chǎn)生更大的影響,同時兼顧了定義域與值域。
當(dāng)模板內(nèi)像素與模板中心像素值差越大時,該像素點所占的權(quán)重越大。在像素差值不大的區(qū)域內(nèi),即與中心像素顏色相近時,距離模板中心越小的區(qū)域像素權(quán)重較大。從而綜合考慮了距離和相似程度因素,有效地保留了邊緣信息。
保邊濾波與高斯濾波的效果對比如圖1所示。
圖像(b)是對圖像(a)只做基于定義域的濾波處理,其面部輪廓不夠明顯,眼睛和鼻子等五官變得模糊。圖像(c)是加入值域做參考處理,相比較于圖像(b)有了改善,面部五官變得清晰,同時面部的瑕疵也得到了較好的處理。

圖1 保邊濾波與高斯濾波效果對比
采用保邊濾波器對人臉圖像進行保邊操作,但是對于非皮膚部分處理得不夠理想,例如發(fā)絲也進行了模糊處理。因此采用膚色檢測進行皮膚部分和非皮膚部分的膚色分割。目前對于面部檢測研究主要有兩大方向:一種是根據(jù)人臉五官特征進行劃分,另一種是根據(jù)膚色模型分離出皮膚區(qū)域。
根據(jù)人臉五官特征劃分面部區(qū)域通常先提取人臉器官,利用幾何形狀描述人臉的面部特征。但是這些幾何參數(shù)的變化比較敏感,而人臉表情復(fù)雜多樣,所以造成算法實現(xiàn)困難。基于膚色模型的色彩識別方式是一種基于統(tǒng)計原理的分割技術(shù)[5-6],人的膚色基本可以確定在一定的范圍內(nèi),人臉膚色及頭發(fā)在色彩空間的分布滿足一定的分布規(guī)律。利用這一特性可以進行一定的閾值分割。
YCbCr色彩空間下圖像信息被分為3個部分。Y表示圖像亮度數(shù)據(jù),Cb表示圖像的藍色色彩信息,Cr表示圖像的紅色色彩信息。在RGB的色彩空間下,亮度信息和色彩信息混合,不同光照條件下臉部得到不同的檢測效果,不能很好地確認(rèn)皮膚區(qū)域。相比之下,YCbCr色彩模型中亮度和色彩被分別表示出,而人的視覺對圖像亮度的變化比色彩變化更敏銳,因此在不同光照條件下兩種色度是穩(wěn)定的。
統(tǒng)計發(fā)現(xiàn)人面部皮膚區(qū)域的Cb和Cr數(shù)值具有聚類的特點[7],膚色在不同的光照條件下,Cb和Cr分布較為集中。其中Cb分量集中在80~140,Cr分量集中在120~150。圖像在YCbCr空間中皮膚區(qū)域的色彩值表現(xiàn)得更加集聚,有明顯的區(qū)分。因此,通過一定的閾值來確定皮膚范圍,實現(xiàn)膚色分割,分割效果如圖2所示。

圖2 YCbCr色彩空間下的膚色分割
圖2是在YCbCr色彩空間下,對兩張不同亮度的圖像進行分割的效果對比,(a)圖是曝光過量的圖像,(b)圖是正常曝光的圖像,相對應(yīng)的分割效果為(c)(d)圖。可以看出亮度還是對分割產(chǎn)生了影響,在鼻梁和發(fā)絲區(qū)域存在一些偏差,但是不是很明顯。
在進行了濾波操作后,面部的一些瑕疵基本被處理掉,再進行膚色分割技術(shù),可以確定皮膚與非皮膚的區(qū)域。需要將兩種處理之后的圖像進行融合,可以實現(xiàn)保留人臉的細節(jié)和提高皮膚質(zhì)感。
采用alpha通道融合技術(shù),通過設(shè)定alpha值調(diào)整融合兩幅圖像,可以實現(xiàn)對于非皮膚部分的精確保留。alpha通道是用來表示圖像透明的通道,由[0,255]之間的數(shù)值來表示圖像的透明程度,數(shù)值255表示完全透明,數(shù)值0表示不透明。若圖像A、B進行alpha通道融合,設(shè)B圖像的透明系數(shù)為alpha,為了便于分析,將alpha取值映射到[0,1]內(nèi),數(shù)值1表示圖像完全透明,則每個通道的色彩混合公式如下[8]:

其中R(x),G(x),B(x),分別表示紅、綠、藍3個分量的數(shù)值,而alpha實際決定了兩張圖片的混合比例,通過調(diào)整alpha可以產(chǎn)生不同的混合效果。如果透明的比例按照2的N次冪來分級,可以快速運算。如果按照256級進行計算alpha=1/256,B圖的權(quán)重為(256-n)/256,根據(jù)公式(2)可以算出圖像的紅色分量融合后的數(shù)值:
R(C)=((256-n)*R(B)+n*R(A))>>8 (3)
在進行圖像融合時,若像素在皮膚區(qū)域進行alpha通道融合。經(jīng)過多次實驗發(fā)現(xiàn)alpha值在0.7~0.8時,處理的皮膚部分效果最佳,既處理了皮膚瑕疵又提升了皮膚的質(zhì)感,保證了美化效果更加自然。當(dāng)遍歷到非皮膚區(qū)域時,alpha的值為0,即去除模糊處理過的非皮膚部分,保留原始未處理的圖像。
只進行保邊濾波處理和結(jié)合膚色檢測處理的效果對比如圖3所示。進行保邊濾波操作時發(fā)根會發(fā)生模糊,而結(jié)合膚色檢測技術(shù)后發(fā)根很好地保留下來,使處理效果更加自然。
實驗中發(fā)現(xiàn),由于光照原因,圖像中的人臉會表現(xiàn)出不同的亮度,如果固定的在亮度上增加一定的數(shù)值,則有可能會造成面部圖像部分區(qū)域過曝。因此,先對人臉的所有像素的亮度進行統(tǒng)計,找到分布頻率最高亮度信息標(biāo)注為max,計算max和特定數(shù)值h之間的差d,即d=h-max。再對人臉區(qū)域所有像素亮度基礎(chǔ)上增加d,從而達到皮膚美白的效果。

圖3 保邊濾波與結(jié)合膚色檢測處理后的效果對比
經(jīng)過統(tǒng)計發(fā)現(xiàn)該面部圖像亮度信息分布,亮度值130出現(xiàn)的次數(shù)最多,計算高度提升值d=h-130,以此方式提升亮度可以解決因為光照等原因產(chǎn)生的色彩不均衡問題。
如果只對人臉皮膚區(qū)域提升亮度,在皮膚與非皮膚區(qū)域會產(chǎn)生明顯的分割,亮度變化突兀不自然,產(chǎn)生明顯的過渡現(xiàn)象。針對這一現(xiàn)象,采用自適應(yīng)模板來確認(rèn)皮膚和邊緣亮度差值d。首先根據(jù)人臉區(qū)域的大小確定處理的模板尺寸,設(shè)人臉區(qū)域長為l,寬為W,通過比對發(fā)現(xiàn)模板半徑r為max(l/30,w/30)時效果最佳。將二值圖F(x,y)中的每一像素數(shù)值與領(lǐng)域內(nèi)(2r+l)2像素點的數(shù)值進行求和得到sum,采用二次函數(shù)來處理[9],可以得到較好的改善。由此人臉區(qū)域像素提升的亮度值變?yōu)榭梢杂行П苊庵粚ζつw區(qū)域進行亮度提升而產(chǎn)生的明顯過度現(xiàn)象。
本算法美顏前后的對比如圖4所示。


圖4 本文算法與美圖秀秀對比
經(jīng)過對比發(fā)現(xiàn),本文算法對人臉美顏效果明顯,圖中雀斑基本處理掉了,皮膚質(zhì)感明顯提高,而且發(fā)絲等細節(jié)也被完整地保留,處理結(jié)果足以與美圖秀秀媲美。
針對人臉圖像皮膚瑕疵,本文首先進行高斯濾波處理,高斯濾波處理之后導(dǎo)致五官變得模糊,因此加入值域做參考,使五官變得清晰。為了保留發(fā)絲、耳朵等細節(jié)方面的真實性,在雙邊濾波的基礎(chǔ)上進行YCbCr色彩空間下的膚色檢測,以達到對皮膚部分處理,非皮膚部分保留。再將濾波操作和膚色檢測兩種處理之后的圖像進行alpha半透明圖像疊加,在提高皮膚質(zhì)感、消除瑕疵的同時保留圖像的細節(jié),使處理更加真實。最后再對圖像進行整體的美白,使圖像變得白皙亮麗。但是本文算法在處理與人臉膚色相近的區(qū)域時,會導(dǎo)致誤判,接下來將繼續(xù)研究,進一步提升美白效果。