張璠璠
(四川大學(xué)計(jì)算機(jī)學(xué)院,成都 610065)
染發(fā)仿真及基于人臉檢測(cè)的發(fā)型配準(zhǔn)
張璠璠
(四川大學(xué)計(jì)算機(jī)學(xué)院,成都 610065)
提出將人臉檢測(cè)用于發(fā)型自動(dòng)配準(zhǔn)以及發(fā)型染色的算法,通過(guò)灰度投影及Susan邊緣檢測(cè)和角點(diǎn)提取獲得人臉的特征點(diǎn),再和發(fā)型相對(duì)應(yīng)的特征點(diǎn)匹配以達(dá)到發(fā)型配準(zhǔn);再通過(guò)三段折線式染色算法進(jìn)行染色,既能使頭發(fā)的顏色達(dá)到預(yù)期的目標(biāo),又能盡量保持原發(fā)型的亮度變化層次,達(dá)到有層次感的、自然的、不失真的染色效果。
人臉檢測(cè);灰度投影;角點(diǎn)檢測(cè);發(fā)型配準(zhǔn);染發(fā)仿真
隨著人們對(duì)于自身外部美的不斷重視,發(fā)型合適與否也變得越來(lái)越重要,一款合適的發(fā)型往往能為自身加分不少。但礙于與理發(fā)師的言語(yǔ)交流中缺少實(shí)際效果的展示以及宣傳畫冊(cè)與實(shí)際情況差距較大的原因,往往選擇的發(fā)型會(huì)與初衷有所出入?,F(xiàn)階段的發(fā)型設(shè)計(jì)軟件較少,且已有的方法多為人工拖動(dòng)縮放、移動(dòng),不是很便利。因此本文提出了一種基于人臉檢測(cè)的發(fā)型配準(zhǔn)方法,可以根據(jù)人臉圖像的特征自動(dòng)縮放、旋轉(zhuǎn)、移動(dòng)發(fā)型;還提出了一種染色方法,在保持原發(fā)型亮度變化層級(jí)的基礎(chǔ)上達(dá)到效果較好的自然染發(fā)效果。
1.1 圖像預(yù)處理
由于外部因素的影響,往往使得圖像的質(zhì)量不太理想,如噪聲較多、光照不均勻等,因此要先對(duì)圖像進(jìn)行一定的預(yù)處理。本文采用了圖像的灰度變換,灰度變換使得圖像的灰度從一個(gè)較窄的灰度域擴(kuò)展到整個(gè)的灰度域中,以利于圖片的特征識(shí)別。
1.2 圖像積分投影
目前有大量的人臉檢測(cè)方法[1~2],本文選擇積分投影方法。由于人的頭發(fā)、眼睛、鼻子、嘴巴等的灰度值與其他區(qū)域的灰度值不同,對(duì)圖像進(jìn)行積分投影可以確定人臉邊界的位置和臉部特征點(diǎn)的大致區(qū)域。垂直積分投影反映了圖像在水平方向上的灰度變化[3],通過(guò)分析找出圖像垂直積分投影曲線上的梯度值最大點(diǎn)和梯度值最小點(diǎn),這兩點(diǎn)所在的列就為臉部的左右邊界點(diǎn)。在臉部左右邊界區(qū)域內(nèi),再對(duì)圖像進(jìn)行水平積分投影,水平積分投影反映了圖像在垂直方向上的灰度變化,分析水平積分投影曲線可獲得頭頂、眼睛、下巴在垂直方向上的坐標(biāo)點(diǎn)[4]。相比較其他地方,頭發(fā)的灰度值較低,因此水平積分投影曲線中的第一個(gè)極小值點(diǎn)為頭頂點(diǎn)。再根據(jù)一定的人臉先驗(yàn)知識(shí),劃定出眼睛和下頜點(diǎn)在垂直方向上的大致搜索區(qū)域,由于眼睛和周邊區(qū)域的灰度值相差較大且眼部的灰度值低,因此在眼部區(qū)域,水平積分投影曲線會(huì)有較大的梯度變化。
1.3 眼角點(diǎn)定位
根據(jù)獲取的人臉的邊界及眼部在垂直方向上的坐標(biāo)點(diǎn),進(jìn)一步細(xì)分出眼部的檢測(cè)范圍,在眼部區(qū)域灰度圖的基礎(chǔ)上,以滿足類間方差與各類方差的比值為最大作為二值化閾值選取的原則,獲得眼部區(qū)域的二值化圖像。在此基礎(chǔ)上再利用Susan算子對(duì)眼部圖像進(jìn)行邊緣檢測(cè)和角點(diǎn)提取[5],獲取眼角點(diǎn)[6]。
Susan算子[7]的原理為:用一個(gè)圓形模板在圖像上移動(dòng),模板半徑為r(本文中r取3.4),把模板內(nèi)的每一個(gè)像素與中心點(diǎn)像素進(jìn)行比較,計(jì)算每點(diǎn)處的USAN值:
Susan算子不僅具有很好的邊緣檢測(cè)性能,而且對(duì)角點(diǎn)檢測(cè)也具有很好的效果。通過(guò)控制閾值t和g的大小,對(duì)于不同質(zhì)量或者對(duì)比度的圖像均有較好的檢測(cè)效果。
1.4 發(fā)型與人臉的配準(zhǔn)
根據(jù)檢測(cè)得到的眼角點(diǎn),可計(jì)算得到人臉的偏轉(zhuǎn)角度,為和人臉圖像相配準(zhǔn),需將發(fā)型庫(kù)中的發(fā)型圖像標(biāo)注相對(duì)應(yīng)的特征點(diǎn),如原發(fā)型臉部邊界和眼角點(diǎn)等,再根據(jù)人臉及發(fā)型圖像的各自特征點(diǎn)計(jì)算出發(fā)型圖像相對(duì)于人臉的縮放比例、旋轉(zhuǎn)角度及移動(dòng)的距離,再將發(fā)型和人臉配準(zhǔn)。
圖1
發(fā)型本身就具有不同的亮度變化層次,在對(duì)發(fā)型進(jìn)行染色時(shí),不僅要調(diào)整圖像整體的亮度值達(dá)到或接近目標(biāo)顏色的亮度,同時(shí)還需要保留反映原圖環(huán)境光照和發(fā)質(zhì)的亮度變化層次,這樣才能做到有層次感的、自然而不失真染色效果。本文的染色算法采用的是HSL色彩空間,其中H:Hue/色相,S:Saturation/飽和度,L:Lightness/亮度,因?yàn)橄鄬?duì)于三原色光模式即RGB模型來(lái)說(shuō),HSL模型更加直觀、更加貼近于人類感知顏色的方式。在HSL色彩空間中,選擇一個(gè)新的顏色進(jìn)行染色時(shí),對(duì)于這個(gè)顏色來(lái)說(shuō),H、S、L的值是固定的,發(fā)型上的不同的明暗效果變化就在于L(亮度)的值的變化。因此如何確定發(fā)型上L的變化是染色最重要的問(wèn)題。此外,染色時(shí)也不可單純地保留原發(fā)型的亮度值,而只改變色相和飽和度的值,以黑發(fā)情況為例,若不調(diào)整圖像亮度L,而只調(diào)整色相H和飽和度S的話,因?yàn)樵紙D像的亮度較低,就會(huì)在視覺(jué)效果上導(dǎo)致一種圖像未被染色,還是保持原始黑色的感覺(jué)。
本文提出一種三段式折線亮度變化法,既能使圖像的平均亮度達(dá)到預(yù)期的目標(biāo),又能保留原發(fā)型的亮度變化情況,使發(fā)型達(dá)到一種有層次感的染色效果。此方法具體內(nèi)容如下:
對(duì)于給定的染色值,轉(zhuǎn)換到HSL顏色空間后,其中L值就設(shè)為染色后發(fā)型圖像的平均亮度值,為避免L值過(guò)于偏大或偏小,對(duì)其進(jìn)行一定的調(diào)整,設(shè)調(diào)整系數(shù)為α,即:wishL=HALFLUMINANCE+α(L-HALFLUMINANCE),wishL為調(diào)整后的期望亮度值;HALFLUMINANCE為亮度變化區(qū)域的中間點(diǎn),即為常值120,經(jīng)過(guò)實(shí)驗(yàn)測(cè)試,本文中α取0.8。以亮度增加的情況為例,在整個(gè)亮度范圍中(0-MAXL)設(shè)定兩個(gè)點(diǎn)k1和k2,使得增加后的亮度曲線轉(zhuǎn)為三段式,當(dāng)發(fā)型的亮度不發(fā)生改變時(shí),此映射線為45度的直線,如圖2:
圖2 三段式亮度折線圖
此時(shí),整個(gè)亮度范圍就劃分為三個(gè)區(qū)域:[0,k1)、[k1,k2]、(k2,MAXL],其中MAXL為最大亮度值240。不同的區(qū)域中,亮度值的變化有不同的計(jì)算方法。以區(qū)域[0,k1)為例:
其中Δl1是區(qū)域[0,k1)上的亮度總變化值;wi為圖像中亮度為i的像素點(diǎn)個(gè)數(shù)在整幅圖像像素個(gè)數(shù)中所占的比例;Δi為亮度在i處變化的亮度值;為k1點(diǎn)變化后的亮度值。由此可推出[k1,k2]、(k2,MAXL]上的亮度變化值Δl2和Δl3,即:
此時(shí)dl=Δl1+Δl2+Δl3,即三個(gè)區(qū)域上亮度差值的總和就為染發(fā)后的平均亮度和原發(fā)型平均亮度的差值dl。對(duì)于給定了k1和k2來(lái)說(shuō),未知量為,設(shè)為Δk1和Δk2。在本文的具體應(yīng)用中,k2定為原發(fā)型圖的平均亮度值點(diǎn),k1的確定方法為:當(dāng)染色的目標(biāo)亮度值比原發(fā)型圖像的平均亮度值高時(shí),k1定為最小亮度值0;反之,k1定為最大亮度值240。
圖3 區(qū)域[0,k1)亮度變化
①Δk1和Δk2的值呈線性關(guān)系:
線性中可得Δk1和Δk2的比例關(guān)系,即Δk1/Δk2=(kt-k1)/(kt-k2),其中kt是k1和k2點(diǎn)變化方向上的亮度極值,k0是k1和k2點(diǎn)變化方向反方向上的亮度極值,Δk1是k1點(diǎn)處的亮度變化值,Δk2是k2點(diǎn)處的亮度變化值。由上述dl=Δl1+Δl2+Δl3可得線性情況下Δk1和Δk2的值。
圖4 線性比例亮度變化圖
②Δk1和Δk2的值呈非線性關(guān)系
由線性關(guān)系圖中可以看出,線性方式會(huì)造成某一區(qū)域,這里是[0,k1)區(qū)域的亮度變化過(guò)于劇烈,為了平衡這種現(xiàn)象,現(xiàn)再引入非線性的方式。仍以亮度增加的情況來(lái)說(shuō)明,k2點(diǎn)處能增加的最大值就為(kt-k2),設(shè)定一個(gè)調(diào)整系數(shù)x,使得k2點(diǎn)處的亮度變化值為(kt-k2)x, 0≤x≤1,若按照線性方式,此時(shí)k1點(diǎn)處的變化值就為(kt-k1)x,為了避免線性情況下此點(diǎn)的變化過(guò)于劇烈,設(shè)定Δk1=(kt-k1)x2。自然此處可以取為x3或x4等,但此處取值為x2已滿足需要。再根據(jù)dl=Δl1+Δl2+Δl3可計(jì)算出系數(shù)x的值,繼而求出Δk1和Δk2的值。
圖5 線性非線性亮度對(duì)比曲線圖
如圖5,以增加亮度dl為例,三段式折線圖是非線性方式下的亮度變化曲線,二段式折線圖是線性方式下的亮度變化曲線,在[0,k1)區(qū)域中,線性方式的亮度變化會(huì)比非線性的方式變化劇烈,但在[k1,k2]區(qū)域,線性方式的亮度變化反而比非線性的方式變化平緩。為了平衡兩者的影響,本文中取線性、非線性各自占一半的比例以協(xié)調(diào)兩者的關(guān)系。由計(jì)算獲得的最終Δk1和Δk2值以及不同亮度區(qū)域內(nèi)的不一樣的亮度計(jì)算方法,替換整幅圖像中像素點(diǎn)的H、S、L的值,達(dá)到染色的最終結(jié)果。
圖6 染色效果及對(duì)應(yīng)的色塊
本文將人臉檢測(cè)與發(fā)型匹配相結(jié)合,根據(jù)檢測(cè)得到特征點(diǎn)與原發(fā)型圖的特征點(diǎn)相匹配,實(shí)現(xiàn)發(fā)型的配準(zhǔn)。并提出一種染色算法,既能使圖像的平均亮度達(dá)到預(yù)期的目標(biāo),又能保留原發(fā)型的亮度變化情況,使發(fā)型達(dá)到一種有層次感的染色效果,實(shí)驗(yàn)證明效果較好。但對(duì)于有較大偏轉(zhuǎn)角度的臉部圖像,檢測(cè)和配準(zhǔn)的效果會(huì)下降,此外背景過(guò)于復(fù)雜或者有強(qiáng)烈的側(cè)光等因素也會(huì)影響到檢測(cè)結(jié)果,這是下一步亟待研究的問(wèn)題。
[1] 梁路宏,艾海舟,徐光佑.人臉檢測(cè)研究綜述.計(jì)算機(jī)學(xué)報(bào),2002,25(5):449~456
[2] 劉海,朱小平.一種人臉檢測(cè)方法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2010年,19(7):210~212
[3] 徐來(lái),周德龍.人眼檢測(cè)技術(shù)的方法研究[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2010(06):226~232
[4] 徐鋒,趙懷勛,涂強(qiáng).基于膚色檢測(cè)和人眼定位的人臉檢測(cè)方法[J],計(jì)算機(jī)系統(tǒng)應(yīng)用;2010,19(2):177~179
[5] 顧華,蘇光大,杜成.人臉識(shí)別中的眼角定位和預(yù)處理[A].2003年中國(guó)智能自動(dòng)化會(huì)議論文集(上冊(cè))[C],2003
Dye Hair Simulation and Hairstyle Registration Based on Face Detection
ZHANG Fan-fan
(College of Computer Science,Sichuan University,Chengdu 610065)
Proposes the face detection for the automatic registration of hair and hair dyed algorithm.Facial feature points obtained by the gray-level projection and Susan edge detection and corners match the corresponding feature points of hair to achieve the hairstyle registration. Through the dyeing algorithm of three sections of broken line type,can make the hair color to achieve the desired goal,and tries to keep the brightness of the original hairstyle change level to keep the administrative levels feeling,natural,undistorted dyeing effect.
Face Detection;Gray-Level Projection;Corner Detection;Hair Registration;Dye Hair Simulation
1007-1423(2015)02-0058-04
10.3969/j.issn.1007-1423.2015.02.015
張璠璠(1991-),女,安徽宿州人,碩士研究生,研究方向?yàn)閳D形圖像
2014-12-04
2014-12-25