一種基于人臉語義分析的人物照片顏色風(fēng)格轉(zhuǎn)換方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計算機(jī)圖像處理技術(shù)領(lǐng)域,具體涉及一種基于人臉語義分析的人物照 片顏色風(fēng)格轉(zhuǎn)換方法。
【背景技術(shù)】
[0002] 在日常生活中,隨著相機(jī)、手機(jī)等設(shè)備的日益增多,人們拍攝照片也變得更加頻繁 和方便了。同時,隨著社交網(wǎng)絡(luò)的發(fā)展,越來越多的人喜歡利用照片來分享他們的日常生 活。但是,由于人們?nèi)狈z影師的專業(yè)技能,所以拍出的照片會存在缺乏層次,曝光不足,色 彩飽和度低等問題。為了使照片看起來精致且具有藝術(shù)效果,一些圖像處理軟件被用來處 理照片。但對大多數(shù)的圖像處理軟件來說,它們操作復(fù)雜,需要具備一定的專業(yè)技能才能夠 使用。同時,目前已有的圖像處理軟件無法實現(xiàn)將用戶的照片按照某張由用戶指定的藝術(shù) 照片風(fēng)格進(jìn)行轉(zhuǎn)換。
[0003] 為了解決這一問題,計算機(jī)圖形學(xué)領(lǐng)域的研宄者們對圖像顏色風(fēng)格轉(zhuǎn)換方法進(jìn)行 了探宄,以追求最好的顏色風(fēng)格轉(zhuǎn)換效果,但對于人物照片的顏色風(fēng)格轉(zhuǎn)換方法則關(guān)注甚 少,效果一般。
[0004] 先前工作大多是基于圖像顏色統(tǒng)計的方法,主要通過提取兩個圖像中各種顏色 的統(tǒng)計數(shù)據(jù),建立特定的映射函數(shù),使得源圖像的顏色與參考圖像的顏色一致。如色彩 自動轉(zhuǎn)換算法,由Reinhard等人首先提出,參見Reinhard E,Ashikhmin M,Gooch B,et al. Color transfer between images[J]. IEEE Computer graphics and applicatio ns, 21(5), 34-41(2001) 〇
[0005] Tai等人把圖像顏色分布建模為高斯混合模型,并利用期望最大化解決了 區(qū)域顏色轉(zhuǎn)換問題。參見 Tai Y W, Jia J, Tang C K. Local color transfer via probabilistic segmentation by expectation - maximization[C]. Computer Vision and Pattern Recognition,2005. CVPR 2005. IEEE Computer Society Conference on. IEEE, I, 747-754(2005)。
[0006] Piti6等人提出了顏色自動分級方法,該方法利用一個N維概率分布函數(shù)進(jìn) 車專換° 參見 Piti6F,Kokaram A C, Dahyot R. Automated colour grading using colour distribution transfer [J]. Computer Vision and Image Understandi ng, 107(1),123-137(2007)。
[0007] Pouli和Reinhard提出了一種直方圖矯形技術(shù),它允許用戶選擇源圖像最佳的 匹配目標(biāo)° 參見 Pouli T, Reinhard E. Progressive color transfer for images of arbitrary dynamic range[J]. Computers and Graphics, 35 (I), 67-80 (2011)〇
[0008] 但在許多情況下,單純的色彩統(tǒng)計信息并不能充分地描述圖像的內(nèi)容,某些區(qū)域 可能在映射過程中被錯誤地著色。
[0009] 為了避免這樣的錯誤,一些交互方法利用用戶指定的色彩筆觸,來確保不同 圖像區(qū)域之間的顏色能夠被正確的轉(zhuǎn)換,以達(dá)到期望的目標(biāo)。如Luan等人提出了一 種用戶使用筆觸指定源圖像和參考圖像顏色轉(zhuǎn)換區(qū)域的方法。參見Luan Q,Wen F,Xu Y Q.Color Transfer Brush[C]. Pacific Conference on Computer Graphics and Applications. 465-468(2007)。
[0010] Wen等人用筆觸在源圖像和參考圖像的多個區(qū)域間進(jìn)行顏色轉(zhuǎn)換。參 見 Wen C L,Hsieh C H, Chen B Y, et al.Example-based Multiple Local Color Transfer by Strokes[C]. Computer Graphics Forum.Blackwell Publishing Ltd, 27 (7), 1765-1772(2008)〇
[0011] An和Pellacini利用非線性約束的參數(shù)模型,在筆觸定義的圖像區(qū)域之間進(jìn)行 顏色轉(zhuǎn)換。參見 An X,Pellacini F. User-Controllable Color Transfer [C]· Computer Graphics Forum. Blackwell Publishing Ltd, 29 (2), 263-271 (2010)〇
[0012] 但是,非專業(yè)人員可能很難控制這些筆觸。另一個問題是,在進(jìn)行顏色轉(zhuǎn)換的過程 中,沒有考慮空間分布特征,這可能會影響視覺的連貫性,甚至失去重要的色彩特征。
[0013] 利用Alpha混合用于圖像拼合,參見Holten D. Hierarchicaledge bundles!Visualization of adjacency relations in hierarchical d ata[J]. Visualization and Computer Graphics, IEEE Transactions on,2006, 12 (5):741-748。
[0014] 基于上述兩種方法的缺點(diǎn)以及人物照片顏色風(fēng)格轉(zhuǎn)換的需要,希望能夠開發(fā)出一 種更準(zhǔn)確高效且減少人工操作的人物照片顏色風(fēng)格轉(zhuǎn)換方法。
【發(fā)明內(nèi)容】
[0015] 本發(fā)明提供了一種基于人臉語義分析的人物照片顏色風(fēng)格轉(zhuǎn)換方法,轉(zhuǎn)換的過程 中,保留了源圖像的內(nèi)容,很好的獲得了參考圖像的顏色空間分布,具有良好的視覺連貫 性,轉(zhuǎn)換過程準(zhǔn)確高效且易于操作。
[0016] -種基于人臉語義分析的人物照片顏色風(fēng)格轉(zhuǎn)換方法,包括以下步驟:
[0017] (1)輸入需要被轉(zhuǎn)換風(fēng)格的源圖像和作為風(fēng)格參照的參考圖像;
[0018] (2)對參考圖像進(jìn)行人臉檢測,并根據(jù)檢測結(jié)果進(jìn)行摳圖,得到分離的場景語義信 息和人臉細(xì)部語義信息;
[0019] (3)對源圖像進(jìn)行人臉檢測,并根據(jù)檢測結(jié)果進(jìn)行摳圖,得到分離的場景語義信息 和人臉細(xì)部語義信息;
[0020] (4)根據(jù)參考圖像各語義信息的顏色風(fēng)格,調(diào)整源圖像中的對應(yīng)語義信息的顏色 風(fēng)格;
[0021] (5)將經(jīng)過步驟⑷調(diào)整的源圖像的各語義信息重新拼合,得到目標(biāo)圖像。
[0022] 本發(fā)明中,將人物照片,即需要被轉(zhuǎn)換風(fēng)格的源圖像和作為風(fēng)格參照的參考圖像 的場景語義信息和人臉細(xì)部語義信息分離出來,之后進(jìn)行一一對應(yīng)的顏色轉(zhuǎn)換,有效保留 了源圖像的內(nèi)容,準(zhǔn)確獲得參考圖像的顏色空間分布,使轉(zhuǎn)化后的源圖像且具有較強(qiáng)的視 覺連貫性,提高照片顏色風(fēng)格轉(zhuǎn)換效果。
[0023] 其中,場景語義信息包括背景、人像的頭發(fā)和衣服,人臉細(xì)部語義信息包括人像的 眼睛、眉毛、嘴巴、牙齒和臉部。
[0024] 參考圖像可以是用戶自行選定,為了使用方便,也可以自動生成與原圖像相似度 高的參考圖像,優(yōu)選的,步驟(1)中,輸入的參考圖像根據(jù)源圖像的內(nèi)容自動生成,具體過 程包括以下步驟:
[0025] a、建立參考圖像數(shù)據(jù)庫;
[0026] b、將源圖像與參考圖像數(shù)據(jù)庫內(nèi)的圖像進(jìn)行人臉匹配,將與源圖像相似度最大的 圖像作為風(fēng)格參照的參考圖像。
[0027] 其中作為風(fēng)格參照的參考圖像可以選取一張,為了給用戶更多的風(fēng)格選擇,可以 選取相似度最大的多張圖像供用戶選擇,并將選擇的圖片作為最終的作為風(fēng)格參照的參考 圖像。
[0028] 在進(jìn)行人臉匹配之前需要對源圖像和參考圖像人臉上的關(guān)鍵點(diǎn)進(jìn)行檢測,以此來 獲取人臉特征,通過調(diào)用Face++提供的API函數(shù)進(jìn)行人臉檢測,本發(fā)明利用landmark API 進(jìn)行人臉關(guān)鍵點(diǎn)檢測,landmark API用于檢測給定人臉相應(yīng)的面部輪廓,五官等關(guān)鍵點(diǎn)位 置,包括25點(diǎn)和83點(diǎn)兩種模式,為了提高面部檢測的精細(xì)程度,本發(fā)明采用83點(diǎn)模式。
[0029] 本發(fā)明所述的源圖像在參考圖像數(shù)據(jù)庫中進(jìn)行人臉匹配的方法如下:利用 Face++提供的identify API進(jìn)行人臉匹配。identify API用于對于一個待查詢的人臉, 在參考圖像數(shù)據(jù)庫中查詢與之相似度最大的幾張人臉。其主要功能是當(dāng)給定一張含有人臉 的源圖像后,程序會在已構(gòu)建的參考圖像數(shù)據(jù)庫的相應(yīng)分組中,查找出匹配度最大的幾張 人臉,并返回匹配的相似程度。
[0030] 為了減小本發(fā)明方法的運(yùn)算效率,優(yōu)選的,在步驟a建立參考圖像數(shù)據(jù)庫時,即對 所有參考圖像數(shù)據(jù)庫內(nèi)的圖像進(jìn)行步驟(2)的操作,并將信息儲存,在步驟(1)中輸入?yún)⒖?圖像時,同時得到該參考圖像的場景語義信息和人臉細(xì)部語義信息。將所有參考圖像的場 景語義信息和人臉細(xì)部語義信息(包括眼睛、眉毛、嘴巴、牙齒、臉部等)預(yù)先計算并儲存, 從而在確認(rèn)參考圖像后就可以得到場景語義信息和人臉細(xì)部語義信息,有效提高運(yùn)算效 率。
[0031] 為了提高參考圖像的識別效率,優(yōu)選的,在步驟a建立參考圖像數(shù)據(jù)庫時,利用人 臉識別工具,根據(jù)人臉特征,將所有圖像分組,在步驟b中,先對源圖像進(jìn)行人臉識別,根據(jù) 源圖像的人臉特征,選取具有對應(yīng)人臉特征的圖像組內(nèi)的圖像與源圖像進(jìn)行人臉匹配。
[0032] 人臉數(shù)據(jù)需要有效反映出一個人的臉部特征,因此在建立參考圖像數(shù)據(jù)庫時考慮 了多方面的情況,包括不同的性別、年齡、種族、情緒、臉部姿勢、微笑程度、是否配戴眼鏡、 是否有胡子等等人臉特征。利用這些不同的特征,可以幫助我們得到更佳的匹配效果,同時 以此來提高源圖像與參考圖像的匹配速度,在一些計算受限的移動設(shè)備上也可以起到很好 的效果。
[0033] 優(yōu)選的,步驟(2)和(3)中,根據(jù)人臉檢測結(jié)果,對經(jīng)檢測的圖像(源圖像或者參 考圖像)進(jìn)行摳圖操作的具體步驟包括:
[0034] A、根據(jù)人臉檢測,得到各人臉細(xì)部特征的關(guān)鍵點(diǎn);
[0035] 通過調(diào)用landmark API,F(xiàn)ace++會將識別出的人臉語義信息以Json格式反饋回 來。在返回的Json中,landmark項中保存了人臉上各個部位的關(guān)鍵點(diǎn),包括眉毛,眼睛,鼻 子,嘴巴,臉等細(xì)部的關(guān)鍵點(diǎn),每一個細(xì)部位上有多個關(guān)鍵點(diǎn),用X,y表示這些關(guān)鍵點(diǎn)的位 置。
[0036] B、將各細(xì)部上的關(guān)鍵點(diǎn)連線,得到人臉細(xì)部輪廓(背景設(shè)置為黑色,連線設(shè)置為 白色);
[