本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,特別是涉及一種用于人臉圖像高光處理的方法。
背景技術(shù):
三維虛擬試衣技術(shù)中,三維模型換臉技術(shù)是一個重要分支。由于拍攝條件的多變性和不確定性,獲取到的用戶照片質(zhì)量參差不齊,特別的,人臉照片中存在諸多高光問題。由于高光區(qū)的存在,使得三維模型換臉的效果不佳。
人臉照片的高光處理一直都是人臉圖像處理的難點。人臉高光問題可分為高光區(qū)的檢測和高光區(qū)的恢復(fù)。對于前者,現(xiàn)有的技術(shù)和方法包括:顏色統(tǒng)計分析、光線極化分析和邊緣檢測等。這些方法分別存在檢測效果差,算法復(fù)雜等弊端,不能滿足三維模型換臉的技術(shù)要求。而對于后者,現(xiàn)有的方法往往從圖像恢復(fù)的角度出發(fā),通過對圖像的亮度進行處理試圖恢復(fù)圖像。由于在相機成像時,高光區(qū)域的信息已經(jīng)丟失,使得該類方法恢復(fù)效果不佳,高光區(qū)域處理效率不高。
技術(shù)實現(xiàn)要素:
為了克服上述現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種基于序貫主分量分析的人臉高光區(qū)處理方法。對于高光區(qū)域的檢測,使用序貫主分量分析方法。對于高光區(qū)的恢復(fù),舍棄傳統(tǒng)通過亮度變換的方法,而使用臨界顏色值來填充高光區(qū)。本發(fā)明無論是在高光區(qū)域的自動檢測還是在高光區(qū)域的處理上都表現(xiàn)出很好地魯棒性。經(jīng)測試,本發(fā)明不僅能很好地檢測各種光照條件下的高光區(qū),且處理正常大小的照片所需時間在300毫秒左右,為通用型的三維模型換臉提供了技術(shù)支撐。
本發(fā)明所采用的技術(shù)方案是。
基于序貫主分量分析的人臉高光區(qū)處理方法,包含:基于序貫主分量分析的人臉高光區(qū)域檢測;人臉高光區(qū)域的自動修正。
其中,基于序貫主分量分析的人臉高光區(qū)域檢測,其特征在于,包括。
步驟11.人臉皮膚區(qū)域的提取。
步驟12.對所述人臉皮膚區(qū)域進行顏色空間轉(zhuǎn)換,由rgb顏色空間轉(zhuǎn)換為tsl顏色空間,原始數(shù)據(jù)由[ri,gi,bi]轉(zhuǎn)換為[ti,si,li]。
步驟13.序貫主分量分析提取高光區(qū)亮度閾值。
步驟14.由高光閾值提取人臉高光區(qū)域。
優(yōu)選的,所述步驟11中進步包括:
步驟111.對待處理圖像進行人臉特征點檢測操作(可借助外部算法);
步驟112.根據(jù)特征點提取人臉膚色區(qū)域,并剔除五官區(qū)域,一方面避免非皮膚區(qū)域?qū)z測結(jié)果的影響,另一方面縮小計算范圍,提高檢測速度。
優(yōu)選的,所述步驟13中進一步包括:
步驟131.對所述tsl樣本[ti,si,li]按亮度值的大小升序排列,得到新的樣本序列[ti,si,li]’;
步驟132.將所述tsl顏色空間內(nèi)的數(shù)據(jù)樣本降維到tl兩個維度內(nèi),即只提取tl值作分析,得到樣本序列[ti,li]’;
步驟133.對所述升序排列后的樣本[ti,li]’按等間隔分組,得到樣本序列組[ti,li]’1,[ti,li]’2,...,[ti,li]’n其中,n=32或其它值。
步驟134.對所述分組樣本數(shù)據(jù)進行序貫主分量分析,得到n組特征值和特征向量。求各組特征值間的前兩個特征值之比,得到n個特征值比值t1,t2,t3,...,tn。
步驟135.比較n個特征值比值的大小,得到最大比值tm=max(t1,t2,t3,...,tn);獲取索引m對應(yīng)的樣本數(shù)據(jù)組[ti,li]’m,其中m∈[1,n],并選用該組中的第一對樣本數(shù)據(jù)[t1,l1]’m中的亮度值l1’m作為人臉高光分離閾值。
其中,人臉高光區(qū)域的自動修正,其特征在于,包括:
步驟21:高光臨界點rgb值的獲??;
步驟22:加權(quán)填充高光區(qū)域。
優(yōu)選的,所述步驟21中進一步包括:
步驟211.根據(jù)所述特征值比值最大的樣本組索引m,獲取亮度閾值l1’m對應(yīng)的tsl顏色值(t1’m,s1’m,l1’m);
步驟212.尋找高光分界點對應(yīng)的rgb值,由于在原始未進行升序排序的tsl升序樣本數(shù)據(jù)[ti,si,li]中,各個顏色值的空間位置未被破壞,故在尋找高光分界點對應(yīng)的rgb值時,需遍歷所有樣本數(shù)據(jù),直到滿足條件t1’m=ti且s1’m=si且l1’m=li,其中i∈ω,其中ω為整個樣本數(shù)據(jù)集。最后記錄滿足條件的空間索引位置(c,w),即該點的行列號。
步驟213.根據(jù)所述空間索引位置(c,w),在原始rgb圖像中讀取對應(yīng)位置的rgb顏色值(rm,gm,bm),該rgb顏色值即為高光分離處理閾值。
優(yōu)選的,所述步驟22中進一步包括:
步驟221.由于高光區(qū)域的信息缺失,現(xiàn)有的通過降低亮度的方式均無法很好地處理高光區(qū)域,故直接選取高光區(qū)域分界處的皮膚顏色來填補高光區(qū),該方法的優(yōu)勢在于,高光區(qū)域被還原成皮膚區(qū)域,且由于選取分界點的皮膚顏色,還原后的圖像能平滑過渡,無需再對邊界進行平滑處理。
步驟222.為了保留高光區(qū)域的紋理特征,在使用高光分界點皮膚顏色值填充時,混合了一定比例的原始圖像顏色,最終得到的高光區(qū)域恢復(fù)效果自然?;旌瞎綖椤?/p>
其中r’、g’和b’為混合后的高光區(qū)顏色,rm、gm和bm為高光分離處理rgb顏色閾值,ri、gi和bi為圖像原始rgb值;w1和w2為混合權(quán)重因子。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是無論是在高光區(qū)域的自動檢測還是在高光區(qū)域的處理上都表現(xiàn)出很好地魯棒性,經(jīng)測試,本發(fā)明不僅能很好地檢測各種光照條件下的高光區(qū),且處理正常大小的照片所需時間在300毫秒左右,為通用型的三維模型換臉提供了技術(shù)支撐。
附圖說明
圖1為人臉高光區(qū)域檢測和處理流程圖。
圖2為序貫主分量分析各組特征值比值變化曲線圖。
圖3為各種光照條件下的人臉區(qū)域范圍檢測和恢復(fù)效果示例。
具體實施方式
為了使本發(fā)明實現(xiàn)的技術(shù)手段、創(chuàng)作特征、達成目的與功效易于明白了解,下面進一步闡述本發(fā)明。
本發(fā)明基于序貫主分量分析的人臉高光區(qū)處理方法共分為兩個部分(如圖1所示):第一部分描述基于序貫主分量分析的人臉高光區(qū)域檢測,第二部分為人臉高光區(qū)域的自動修正,
其中,基于序貫主分量分析的人臉高光區(qū)域檢測,其特征在于,包括。
步驟31.人臉皮膚區(qū)域的提取。
步驟32.對所述人臉皮膚區(qū)域進行顏色空間轉(zhuǎn)換,由rgb顏色空間轉(zhuǎn)換為tsl顏色空間,原始數(shù)據(jù)由[ri,gi,bi]轉(zhuǎn)換為[ti,si,li]。
步驟33.序貫主分量分析提取高光區(qū)亮度閾值。
步驟34.由高光閾值提取人臉高光區(qū)域。
優(yōu)選的,所述步驟31中進步包括。
步驟311.對待處理圖像進行人臉特征點檢測操作(可借助外部算法)。人臉特征點的檢測可借助人臉檢測開源庫stasm,或使用商用付費接口face++。經(jīng)測試,face++人臉檢測速度快且穩(wěn)定,能準(zhǔn)的提取人臉照片中的人臉區(qū)域和五官區(qū)域。
步驟312.根據(jù)特征點提取人臉膚色區(qū)域,并剔除五官區(qū)域,一方面避免非皮膚區(qū)域?qū)z測結(jié)果的影響,另一方面縮小計算范圍,提高檢測速度。人臉膚色區(qū)域提取的具體方案為:利用人臉識別的特征點勾勒出人臉區(qū)域ω,為了方便于人臉高光區(qū)域的計算,將人臉以外的區(qū)域設(shè)置為黑色,即rgb值設(shè)置為(0,0,0);在人臉區(qū)域ω內(nèi),同樣利用人臉識別特征點,勾勒出眼鏡(e)眉毛(eb)以及嘴唇(m)區(qū)域,這些區(qū)域為非膚色區(qū),為了避免其對高光區(qū)檢測的影響,需將其從ω中剔除,同樣將這些區(qū)域也置為黑。如此便得到了用于高光計算的區(qū)域g,其中g(shù)=ω-e–eb-m。
優(yōu)選的,所述步驟32進一步包括。
步驟321:由于在rgb空間內(nèi)對人臉高光檢測不夠敏感,根據(jù)前人的研究經(jīng)驗,tsl顏色空間有利于人體皮膚區(qū)域的提取,故先將人臉區(qū)域由rgb圖像轉(zhuǎn)換為tsl圖像,轉(zhuǎn)換公式如下。
其中,
優(yōu)選的,所述步驟33中進一步包括。
步驟331.對所述tsl樣本[ti,si,li]按亮度值的大小,進行升序排列,得到新的樣本序列[ti,si,li]’。
步驟332.將所述tsl顏色空間內(nèi)的數(shù)據(jù)樣本降維到tl兩個維度內(nèi),即只提取tl值作分析,得到樣本序列[ti,li]’,只取tl兩個維度的原因在于,皮膚的高光區(qū)和非高光區(qū)在tl二維空間內(nèi)的分布差異最明顯,其呈現(xiàn)出明顯的‘γ型’分布,主成分分析得到的兩個特征維差異明顯,有利于高光區(qū)的提取和分離。
步驟333.對所述升序排列后的樣本對[ti,li]’進行等間隔分組,得到樣本序列組[ti,li]’1,[ti,li]’2,...,[ti,li]’n其中,n=32或其它值。n的取值越大,雖然樣本分區(qū)更精細,但其也會增加計算量和計算時間,20至40為較好的取值區(qū)間。
步驟334.對所述分組樣本數(shù)據(jù)進行序貫主分量分析,得到n組特征值和特征向量。求各組特征值間的前兩個特征值之比,得到n個特征值比值t1,t2,t3,...,tn。其中,序貫主分量分析的步驟包括。
(1)選取第一組數(shù)據(jù)進行主分量分析,得到第一組特征值和特征向量。
(2)取前兩組數(shù)據(jù)作為主分量分析的總體樣本數(shù)據(jù),并進行主分量分析,得到第二組特征值和特征向量。
(3)同理,取前三組數(shù)據(jù)作為總體樣本進行主分量分析。后一組分析的數(shù)據(jù)都為前一組分析的數(shù)據(jù)后追加一組新的數(shù)據(jù)所組成。如此迭代,最終得到n組特征值和特征向量。
其中,主分量分析的原理便不再贅述,可以借助matlab預(yù)定義的主分量分析函數(shù)princomp,或使用opencv圖像處理庫中的開源方法cvcalcpca。
步驟335.比較n個比值的大小,得到最大比值tm=max(t1,t2,t3,...,tn);獲取索引m對應(yīng)的樣本數(shù)據(jù)組[ti,li]’m,其中m∈[1,n],并選用該組中的第一對樣本數(shù)據(jù)[t1,l1]’m中的亮度值l1’m作為人臉高光分離閾值。圖2為n個特征值比值的變化圖,從圖中可以看出,比值最大值位于23處,即m等于23。取[ti,li]’23中的第一對樣本數(shù)據(jù)的亮度值作為高光分離的亮度閾值。
其中,人臉高光區(qū)域的自動修正,其特征在于,包括。
步驟41:高光臨界點rgb值的獲取。
步驟42:加權(quán)填充高光區(qū)域。
優(yōu)選的,所述步驟21中進一步包括。
步驟411.根據(jù)所述特征值比值最大的樣本組索引m,獲取亮度閾值l1’m對應(yīng)的tsl顏色值(t1’m,s1’m,l1’m)。
步驟412.尋找高光分界點對應(yīng)的rgb值,由于在原始未進行升序排序的tsl升序樣本數(shù)據(jù)[ti,si,li]中,各個顏色值的空間位置未被破壞,故在尋找高光分界點對應(yīng)的rgb值時,需遍歷所有樣本數(shù)據(jù),直到滿足t1’m=ti且s1’m=si且l1’m=li,其中i∈ω,其中ω為整個樣本數(shù)據(jù)集,記錄該點的空間索引位置(c,w),即行列號。
步驟413.根據(jù)所述空間索引位置(c,w),在原始rgb圖像中讀取對應(yīng)位置的rgb顏色值(rm,gm,bm),該rgb顏色值即為高光分離處理閾值。
優(yōu)選的,所述步驟42中進一步包括。
步驟421.由于高光區(qū)域的信息缺失,現(xiàn)有的通過降低亮度的方式均無法很好地處理高光區(qū)域,故直接選取高光區(qū)域分界處的皮膚顏色來填補高光區(qū),該方法的優(yōu)勢在于,高光區(qū)域被還原成皮膚區(qū)域,且由于選取分界點的皮膚顏色,還原后的圖像過渡平滑,無需再對邊界進行平滑處理。
步驟422.為了保留高光區(qū)域的紋理特征,使用高光分界點皮膚顏色值填充時,需混合一定比例的原始圖像顏色?;旌瞎綖椤?/p>
其中r’、g’和b’為混合后的高光區(qū)顏色,rm、gm和bm為高光分離處理rgb顏色閾值,ri、gi和bi為圖像原始rgb值;w1和w2為混合權(quán)重因子。
圖3為人臉高光區(qū)檢測和處理效果圖,圖中共包括4幅被高光影響的人臉照片,其中左邊為原始圖片,中間為高光區(qū)域檢測結(jié)果(白色區(qū)域),右側(cè)為高光區(qū)處理后的結(jié)果。4幅圖像的處理平均耗時330毫秒。