鄭利華;張亞紅
【摘 要】基于HSV色彩空間模型,分析比較了彩色照片中人臉正常膚色特征和高光特征,采用自動設置相關參數(shù)的方法,提出了一種HSV三個分量同時矯正的高光修正方案,并對方案的修正效果進行實驗驗證.該方案首先根據(jù)人臉膚色特征對相片中人臉區(qū)域進行分割,得到正常皮膚區(qū)域HSV三分量的平均值,然后根據(jù)皮膚高光程度對高光區(qū)各分量進行恰當?shù)奶幚?實現(xiàn)人臉彩色照片的高光修正.實驗結果表明:該算法在消除了圖像的高光后,極大改善了圖像的視覺效果.
【期刊名稱】《桂林航天工業(yè)學院學報》
【年(卷),期】2012(017)003
【總頁數(shù)】4頁(P243-246)
【關鍵詞】照片;膚色檢測;高光;修正
【作 者】鄭利華;張亞紅
【作者單位】桂林航天工業(yè)學院信息工程系,廣西 桂林1004;桂林航天工業(yè)學院信息工程系,廣西 桂林1004
【正文語種】中 文
【中圖分類】TP391.41
人臉高光是使用單閃光燈攝影中常出現(xiàn)的問題,適量的高光可以體現(xiàn)臉部的凹凸從而使照片具有立體感。但在使用相機內置閃光燈或一般的閃光燈時,油膩的皮膚由于鏡面反射,局部產(chǎn)生的高光嚴重影響相片的視覺效果。圖像中的高光還經(jīng)常是導致圖像分割、識別以及匹配產(chǎn)生錯誤的重要原因。因此,高光修正是許多人臉相片,尤其是證件相片在后期處理上的一個重要環(huán)節(jié)。
在一般的攝影中,由于拍攝時使用的閃光燈距離鏡頭很近,當拍攝對象臉有油膩時,臉上一些區(qū)域會出現(xiàn)鏡面反射造成的高光,對照片的視覺效果影響極大。由于這些高光區(qū)域已經(jīng)完全丟失了色彩信息,所以一般的軟件很難對這些高反光區(qū)域進行有效處理,達到去除高光并恢復色彩的目的。
文獻[5]提出的修正方案需要用戶設置最大的修改半徑并且要由用戶在圖像中點擊鼠標以確定修正中心,文獻[1]將圖像由RGB顏色空間轉換到YUV顏色空間,在YUV顏色空間里,通過一個5次多項式只對亮度信息y進行轉換,這個多項式對圖像的不同亮度區(qū)域使用不同的轉換率。在亮度值較強區(qū)域使用較大的轉換變化率來反映原圖像的紋理,在亮度值較低的區(qū)域使用較低的轉換率,以保持原有圖像的特征。
本文基于HSV色彩空間,分析正常人臉的膚色特征和皮膚高光特征,提出基于HSV彩色分量補償?shù)母吖庑拚桨?,對H、S、V三個分量分別矯正。實驗表明,本文的方法
在去除了高光的同時,不僅可以得到漫反射光的明暗變化,而且圖像整體色彩真實、自然。
1 HSV顏色空間
RGB色彩空間主要用于設備獲得和表示色彩,但是R、G、B數(shù)值和色彩的屬性沒有直接的聯(lián)系,不能揭示色彩之間的關系。并且R、G、B三個分量是高度相關的,當物體的亮度改變時,R、G、B三個分量會同時發(fā)生改變,所以RGB色彩空間很不適合色彩分析和處理。
本文采用的是HSV(色相hue,飽和度sat uration,明度value)色彩空間,它采用的是用戶直觀的色彩描述方法,直接使用色彩的三要素,即色相hue、飽和度saturation、明度value來描述色彩,與人眼的色彩感知特性吻合。更重要的是HSV顏色空間消除了R、G、B分量間的相關性,比較適合本文的算法。
HSV顏色空間的模型在概念上可以被認為是顏色的倒圓錐體。在這種表示中,色相H被表示為繞圓錐中心軸的角度,紅色對應于角度0°,綠色對應于角度120°,藍色對應于角度240°。飽和度S被表示為從圓錐的橫截面的圓心到這個點的距離,取值范圍從0到1,它表示成所選顏色的純度和該顏色最大的純度之間的比率。當S=0時,只有灰度。明度V被表示為從圓錐的橫截面的圓心到頂點的距離,表示色彩的明亮程度,黑點在下頂點,白色在上底面圓心,范圍從0到1。
RGB轉化到HSV的算法:
將變換后的 H歸一化,則 H,S,V∈[0,l]。HSV空間是RGB空間的非線性變換,它將原本相關性很強的R、G、B值轉換為相關性較弱的 H、S、V值,H和S分量與人感受色彩的方式相一致。在HSV空間中彩色圖像的每一個均勻性色彩區(qū)域都對應一個相對一致的色相(Hue),使得色相能夠單獨用來進行彩色區(qū)域的分割。
2 膚色特征分析
雖然人的皮膚顏色因人而異,但特定的一個人的皮膚顏色是單一的,而眼睛、頭發(fā)等部位的色相和皮膚有明顯的區(qū)別,這是本文確定膚色區(qū)域的算法基礎。我們將圖像由RGB色彩空間轉化到HSV顏色空間,以下的分析和處理都在HSV顏色空間進行。
2.1 人臉皮膚區(qū)域的劃分
圖1是人像中正常皮膚部分某一行的H、S、V曲線圖,上方照片中的暗線為被分析的行。
圖1 正常皮膚一行的HSV曲線
通過對圖像HSV曲線分析,我們可以得出正常皮膚在HSV色彩空間的特征:
1.色相H基本保持穩(wěn)定,波動很小,與明暗變化無關;
2.皮膚的明暗變化使得明度V曲線在一定的范圍內變化;
3.飽和度S也在一定的范圍內變化。
2.2 高光膚色特征
圖2是人像中高光區(qū)域某行的H、S、V曲線圖,上部圖片中的暗線為被分析的行。從圖中可以看出,高光區(qū)域所呈現(xiàn)的明度值V明顯要高于周圍像素的明度值,因此對高光區(qū)域膚色的辨別可基于像素的明度。從圖2中還可以看到高光區(qū)域的飽和度S分量也有明顯的特征:飽和度低于正常皮膚區(qū)域,即高光區(qū)域的飽和度比較低,過低的飽和度意味著這些像素點已經(jīng)失去了色彩信息,可稱之為“死白”。
圖2 高光皮膚一行的HSV曲線
通過對高光區(qū)域和正常區(qū)域的分析和比較,得出高光皮膚在HSV色彩空間的特征:
1.明度V很高;
2.飽和度S很低;
3.色度H有較大的波動。
3 高光修正方案
根據(jù)高光區(qū)域的特點,本文提出的修正方案是:對高光區(qū)域中超過閾值的亮度進行動態(tài)范圍壓縮,使其不致過高;對高光區(qū)域中低于閾值的飽和度進行動態(tài)范圍壓縮,使其不
致過低;對高光區(qū)域中的色相H進行調整,使其與正常區(qū)域的色相相近。
3.1 獲得正常皮膚的平均值
首先要找出圖像中的正常皮膚區(qū)域,以獲得正常皮膚區(qū)域H、S、V分量的平均值作為下一步修正的基準。曝光準確的人像人臉膚色會集聚在色彩空間中某個特定的區(qū)域內,即皮膚色相H應該在一個較小的范圍內波動。文獻[4]分析比較了多個人臉膚色分布規(guī)律,將人臉圖像變換到HSV空間 ,觀察其H直方圖,絕大部分直方圖中H值均勻、集中地分布在0.015~0.09的范圍內,也有一大部分的H值僅僅集中分布在0.055~0.09范圍內,還有一部分的H分布在0.08~0.136的范圍內,最后選取用作膚色分割的H閾值為0.03~0.128。也就是說,不同人的膚色H值其實是在一個大的范圍內波動。實際上,不同的攝影設備,或由于白平衡不準確,或拍攝時受環(huán)境燈光的影響,或對于不同膚色的人種,皮膚的色相范圍會很寬,所以不宜在一個事先固定的色相范圍內找尋皮膚。本文采用的方法是:對每一幅人像在一定范圍內尋找H直方圖的最大峰,這個峰對應的色相值就是人臉皮膚的色相H中心值most_H。凡是色相H值落在此中心值上下一定范圍內的像素點確定為皮膚,這樣可以從圖像中除去背景、嘴唇、眼睛、頭發(fā)、鼻孔和高光部位,剩下的就是臉部正常的皮膚。之后算出臉部正常皮膚明度V的平均值Mean V和飽和度S的平均值MeanS,作為下一步自動修正的基準。
3.2 V分量的修正
通過一個多項式函數(shù)用新的亮度值V替換掉原來的亮度v,該多項式函數(shù)的設計目標是:只將高光部分對應的大V值壓縮,中低亮度的V值不受影響。用Matlab的polyfit
函數(shù)進行曲線擬合,多項式函數(shù)擬合形式為:polyfit(xdata,ydata,n),其中n表示多項式的最高階數(shù),xdata,ydata為將要擬合的數(shù)據(jù),它是用數(shù)組的方式輸入,輸出參數(shù)為擬合多項式的系數(shù)。出于運算量和精度的折中考慮,通過反復試驗和比較,最終設計出下面的3次多項式方程:
式中,v表示原亮度值,V表示轉換后的亮度值。
圖3 明度轉換特性
圖3 是該多項式的轉換特性。可以看出,本文設計的轉換方程只對超過一定范圍的v進行了動態(tài)范圍的壓縮,對中、低明度幾乎沒有影響。這樣可以做到在去除圖像中高光的同時,保證中、低亮度正常像素的亮度基本不發(fā)生變化,從而保護圖像正常部分的原始信息,使圖像的總體不發(fā)生大的變化。
3.3 H分量的修正
由于高光區(qū)域的色度H有較大的波動,也就是說,高光區(qū)域的色度H嚴重偏離了正常皮膚的色度。所以需要將這一區(qū)域的色度值復原,方法是用前面得到的色相H的平均值Mean H代替高光區(qū)域的色度。為了使高光區(qū)域的色相更逼真,我們還加了一個隨機量。Matlab程序如下:
式中的most_H是在整個圖像的色相H的直方圖中找尋最大峰,這個峰對應的色相值就是人臉皮膚的色相H中心值。
L(i,j)是先前標定出的高光區(qū)域,L(i,j)=1說明此像素點是高光像素,需要進行色相調整。高光區(qū)域的確定是依據(jù)像素點的亮度值V,當超過一個閾值就認定為高光,rand這個函數(shù)能產(chǎn)生[0,1]之間的隨機數(shù)。
3.4 分量的修正
飽和度S的修正至關重要,如果用平均飽和度MeanS來替代高光區(qū)域各像素的飽和度,則在修正后圖像的高光區(qū)域會明被一大塊單一顏色的區(qū)域代替,照片很不自然。所以,本文采用的算法是將低于平均飽和度MeanS的像素的飽和度按照下面算法進行處理,既減緩降低的程度,又保留變化趨勢,可以表明亮度的不同。
算法如下
實驗表明,本文的方法可以保留漫反射光的明暗變化,并得到比直接應用補色方法更好的結果。
4 實驗效果
為驗證本方案對高光區(qū)的修正效果,選取了一些不同相機實際拍攝的照片,這些照片由于拍攝時使用了閃光燈,當拍攝對象的臉上油比較多時,出現(xiàn)了鏡面反光造成的高光區(qū)域。通過本文算法的處理,直觀上看,照片中臉上的高光完全消失,并且亮度、顏色過渡自然,看不出有修改過的痕跡,效果令人滿意。結果如圖4所示。
圖4 處理前后的效果比較
表1 處理前后各分量標準差比較H S V 0.2752 0.1331 0.3217處理后處理前0.2736 0.0808 0.2952
表1是處理前后各分量標準差比較,可以看出,處理后飽和度S和明度V的標準差有明顯的減少,表明高光部分得到了有效的改善;色相H沒有明顯的改變,說明本文算法對色相沒有明顯的改變,保持了源圖像的色相。
5 結束語
本文采用的基于膚色補償?shù)男拚桨赣嬎愫唵?,采用自動設置相關參數(shù)的方法,提出了一種HSV三個分量同時矯正的高光修正方案。因為皮膚的修正基色可根據(jù)實際人像的膚色來自動獲取值,所以在實際應用中,該方案對大多數(shù)人臉彩色照片均能取得令人滿意的高光修正效果。在一些實驗中我們還發(fā)現(xiàn),一些照片的高光區(qū)即使亮度不是很高,但仍然十分刺眼,原因是這些高光區(qū)的飽和度低,色彩上顯得突兀。今后的工作是對這類圖片也能自動處理。
參考文獻
[1] 王超群,朱方文.一種去除單張圖片中高光的方法[J].上海大學學報:自然科學版,2007,13(2):151-1.
[2] 陳鍛生,劉政凱.彩色圖像人臉高光區(qū)域的自動檢測與校正方法[J].軟件學報,2003,14(11):1900-1906.
[3] 林開顏,吳軍輝,徐立鴻.彩色圖像分割方法綜述[J].中國圖象圖形學報,2005,10(1):1-8.
[4] 田巍,莊鎮(zhèn)泉.基于 HSV色彩空間的自適應膚色檢測[J].計算機工程與應用 ,2004,40(14):81-85.
[5] 江玉珍.基于膚色補償?shù)娜四槻噬掌吖庑拚桨福跩].廣西科學院學報,2008,24(2):95-97.
因篇幅問題不能全部顯示,請點此查看更多更全內容
Copyright ? 2019- 91gzw.com 版權所有 湘ICP備2023023988號-2
違法及侵權請聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市萬商天勤律師事務所王興未律師提供法律服務