Data-Driven Face Cartoon Stylization(2014)

給定肖像圖像,咱們將面部分解爲分離的面部成分並搜索相應的卡通, 經過要素匹配數據集中的組件。 卡通組件組合在一塊兒構成卡通臉。 咱們很容易 經過使用咱們的框架,生成不一樣風格的卡通面孔並進行藝術美化。算法

系統的框架如圖2所示。它包含脫機階段和運行時階段框架

咱們首先將輸入面解析爲其語義面部組件。對於每一個組件,咱們提取其形狀特徵並按功能查找數據集中最類似的實際組件 匹配。而後,咱們使用相應的風格化面部組件來構成卡通臉。最後,咱們自動調整面部組成的卡通面部,更天然,更有吸引力函數

數據驅動的先驗知識提取學習

  • 三個數據集:真實面部數據集,真實面部組件數據集以及卡通面部組件的數據集。 真實面部數據集P.由從互聯網下載的表明性肖像照片組成,包含300個男性面部和220個女性主體面部。 咱們精心挑選照片,以確保有各類不一樣形狀的面部組件。咱們從P中的面部提取全部面部組件以構建 現實面部組件數據集Fr.而後,咱們選擇了20個下巴,30個眉毛,30個眼睛,16個鼻子的表明性成分, 來自Fr的男性和女性照片的30個嘴和75種頭髮,並用它們來構建面部的數據集。經過讓藝術家爲每一個人繪製風格化版原本實現組件Fc(表明性現實成分),對於每一個真實的眼睛,咱們分別繪製了單眼皮和雙眼皮的版本。 在P中經過選擇和組合與真實面部上的組件相似的風格化面部組件,這樣作,Fr中的每一個面部成分都用來自Fc的最接近的程式化面部成分標記。優化

  • 調整面部成分,面部成分的良好組合將使卡通臉看起來天然而有吸引力。 咱們採用ε-SVR方法[Chang and Lin 2011]讓系統學習如何調整卡通臉的面部構圖,以創造更美麗的效果。 對於P中的粗糙卡通面,咱們要求藝術家調整每一個組件的位置和大小,以便爲每一個面部達到良好的構圖。動畫

  • 面部構圖被定義爲從面部地標提取的特徵向量。 假設臉是對稱的。 咱們定義一個座標系,其中心位於眼睛之間。 穿過眼睛的線是水平軸,鼻子上的垂線是垂直軸。 如圖3所示,面部構圖由13維向量x∈R13表示,包括左眉的座標和長度,左眼的座標和長度,鼻子的縱座標和寬度,嘴巴的縱座標和寬度,下巴的縱座標和寬度,臉頰的縱座標。lua

座標系的原點:兩個眼睛位置的中點O;座標系的Y軸:O點與鼻子的中心的連線的方向。根據建立的座標系,咱們定義一個十三維的特徵向量X=(x1,x2,……,x13),其中: (x1,x2,x3)=(左眉毛位置的x座標,左眉毛位置的y座標,眉毛的長度);

(x4,x5,x6)=(左眼睛位置的x座標,左眼睛位置的y座標,左眼睛的長度);spa

(x7,x8)=(鼻子位置的y座標,鼻子的寬度);.net

(x9,x10)=(嘴巴位置的y座標,嘴巴的寬度);3d

(x11,x12)=(臉頰位置的y座標,臉頰的寬度);(圖中淺藍色的線)

(x13)=(下巴位置的y座標);(人臉特徵點的最下點)

根據P的卡通圖,咱們能夠獲得以下訓練數據:,其中X爲卡通圖的特徵,Z爲卡通圖的風格數據。

學習自動進行五官比例、位置等調整。
複製代碼

採用ε-SVR算法(參考文獻:Libsvm: a library for support vector machines)進行訓練學習。簡單理解就是算法經過SVM算法,進行五官位置比例的預測擬合。由於咱們要五官自動重組,使得重組後的模型更美觀。所以咱們能夠經過輸入訓練數據,獲得相關的擬合函數的參數。 而後當咱們輸入一個新的模型後,咱們就能夠進行擬合預測出新模型。

這一步具體算法的實現參考paper中的:Adjustment of facial compositions 給定大於零的參數C>0、ε>0,ε-SVR歸結爲求解以下最小優化問題: 尋找最類似的器官。

W就是咱們須要經過訓練數據,獲得的參數。Φ(xi)表示映射變換函數。公式(1)的拉格朗日對偶問題爲:

Paper中,徑向基函數K選擇高斯核函數,即:

經過求得上面的拉格朗日乘子,ɑ、ɑ*,咱們就能夠進行預測了,ε-SVR的預測公式以下:

尋找最類似的器官
複製代碼

1.Face detection and alignment
複製代碼

咱們將面部卡通化表示爲優化問題,試圖在輸入面的類似性和卡通表示的天然性/吸引力之間取得平衡。用戶經過建立肖像照片做爲系統的輸入來開始卡通化會話。咱們使用[Viola and Jones 2004]中的方法進行面部檢測,並選擇圖像中第一個檢測到的面部做爲輸入面。咱們在[Cao et al。 2014]找到面部地標。咱們使用經常使用的88個面部標誌來表示面部形狀,並將輸入面分解爲單獨的組件,如眼睛,眉毛,鼻子,嘴巴和下巴。經過使用其地標的邊界框來提取眼睛,眉毛和鼻子的區域。口和下巴直接由他們的地標(下巴的21個標誌和嘴的22個標誌)表明。而後,對於每一個組件,咱們在真實面部組件Fr的數據集中搜索最類似的組件。

2.Eyes and nose
複製代碼

眼瞼形狀是區分一隻眼睛與其餘眼睛的強烈特徵。 咱們使用HoG描述符[Dalal和Triggs 2005]來提取眼睛的圖像特徵。 得到2304維特徵向量,而且歐幾里德距離用於計算面部描述之間的距離。 咱們使用相同的匹配方案從Fr中找到最類似的鼻子。 咱們將Fr眼睛和眼睛的輸入圖像標準化爲62×100,鼻子的輸入圖像標準化爲71×200

3.Eyebrows
複製代碼

因爲眉毛與其周圍皮膚之間一般沒有明確的邊界,咱們首先對眉毛區域進行高斯歸一化。 而後,咱們將歸一化區域劃分爲6×20個補丁,並對每一個補丁的像素強度求和。 最後,關於小塊的全部求和都鏈接到被視爲眉毛的特徵向量的向量。 咱們將Fr的輸入眉毛和眉毛標準化爲66×200。

4.Chin and mouth
複製代碼

使用形狀信息,下巴和嘴巴的匹配能夠得到良好的效果。 兩個選定的下巴標誌與兩個固定點對齊。 對齊的地標是 結合到描述矢量,該矢量是下巴或嘴巴的特徵向量。

一旦特徵提取完成,咱們將從數據集中搜索每一個面部組件的K個最近鄰居。 因爲每一個真實組件都鏈接到卡通表示,咱們爲每一個面部組件得到K個風格化組件。 這些組件能夠在搜索結果中共享兩個或更多個卡通組件。 咱們選擇最常出現的最佳匹配。

5.Hair
複製代碼

頭髮與圖像顏色的聚類方法匹配 直方圖。 左:對齊的面部圖像和聚類結果。 頭髮區域標記爲綠色。 右:最匹配的卡通頭髮及其二值圖像。 咱們知道,前面咱們建立的卡通動畫的髮型,包含75種髮型。對於髮型的類似度計算,paper也是以HOG算子做爲特徵,計算歐式距離。具體它分爲兩個步驟:局部匹配、全局匹配。髮型識別的細節比較多,這裏只講大致的流程。

第一步過程,獲得K近鄰髮型。這一步跟上面眉毛部位的計算方法相似:首先就是對卡通圖和真實圖進行閾值分割,獲得二值化圖像,並進行圖像大小歸一化,具體歸一化的圖片大小文章沒有具體詳細說明;最後對歸一化圖像進行分塊,統計每一個塊的顏色信息總和xi,並以(x1,x2……xn)做爲特徵向量,計算特徵向量間的歐式距離。這樣咱們能夠獲得k近鄰髮型,。

第二步過程,這一步就是要從k近鄰中,尋找最接近的髮型了。這一步的計算方法與眼睛的計算方法相似,也是經過計算HOG特徵,做爲特徵向量,並計算歐式距離。這樣咱們就能夠從這K個近鄰中找到最類似的髮型了。

6.Gender classification
複製代碼

文獻參考《Evaluation of gender classification methods with automatically detected and aligned faces》的方法,總的過程,是經過SVM訓練一個分類器,而後進行男女性別的分類判別。

7.Glass detection
複製代碼

對因而否戴眼鏡,paper首先在眼鏡的中間位置取一塊區域,而後對把這一塊區域轉換成灰度圖像,最後計算垂直方向上的梯度值。

根據梯度值,獲得上下梯度值最大的像素集A、B(圖中紅色的像素點),而後統計A、B的方差:

最後根據sum of var(A)、var(B)的大小,進行閾值判斷其是否戴眼鏡。根據文獻的最後幾句話:The glass color is obtained from the region between two set of pixels。好像也能夠經過A、B的顏色信息,進行判斷眼鏡邊框的顏色

8.Eyelid detection
複製代碼

眼瞼的類型(雙眼或單眼)是眼睛的一個顯着特徵。 咱們使用精確邊緣檢測來得到左眼和右眼的二進制圖像。 若是在其梯度圖像的左上部檢測到兩個脈衝,則左眼是雙眼皮。右眼部分被檢測爲右眼

9.Warping
複製代碼

對於某些輸入面,可能不存在合適的程式化面部組件,所以卡通面看起來與真實面不一樣。在咱們的實驗中,咱們發現下巴和眼睛的形狀是明顯影響的重要因素 卡通臉與輸入臉的類似度。爲了解決這個問題,咱們採用了 [Schaefer et al. 2006]改變經過特徵匹配得到的卡通下巴和卡通眼睛的形狀。該方法須要兩組控制點,一組做爲源點,另外一組做爲目標點,這樣便於將圖像扭曲成所需的點。可是,結果中會出現一些失真。實驗代表,控制點的數量和均勻性以及曲線的平滑度對結果有影響。平滑度起着最重要的做用。所以,咱們在曲線上等距地對控制點進行採樣,並平滑新的控制點以找出問題。咱們經過使用具備比例因子的高斯濾波器來平滑曲線以控制平滑程度。

參考文獻:

《Data-Driven Face Cartoon Stylization》CSDN

參看文章2014年

相關文章
相關標籤/搜索