• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      人臉關(guān)鍵點(diǎn)檢測

      2015-05-30 17:41:51章樂
      中國新通信 2015年20期
      關(guān)鍵詞:方根關(guān)鍵點(diǎn)線性

      章樂

      【摘要】 人臉關(guān)鍵點(diǎn)檢測又稱臉部關(guān)鍵點(diǎn)定位。在機(jī)器學(xué)習(xí)的領(lǐng)域里,人臉關(guān)鍵點(diǎn)檢測技術(shù)有著其獨(dú)特的應(yīng)用價值,因為該技術(shù)是眾多臉部圖片處理的先序步驟,這些應(yīng)用包括但不限于人臉識別,臉部表情分析,臉部變形動畫。本文嘗試了四種不同的機(jī)器學(xué)習(xí)模型來實(shí)現(xiàn)人臉關(guān)鍵點(diǎn)的檢測,并利用Kaggle數(shù)據(jù)庫對各模型的檢測效果進(jìn)行橫向?qū)Ρ?。其中卷積神經(jīng)網(wǎng)絡(luò)模型擬合效果最好,其Kaggle測試均方根誤差僅為3.21。

      【關(guān)鍵字】 Kaggle 人臉關(guān)鍵點(diǎn)檢測 線性回歸 支持向量機(jī) 前饋神經(jīng)網(wǎng)絡(luò) 卷積神經(jīng)網(wǎng)絡(luò)

      一、Kaggle數(shù)據(jù)庫簡介

      Kaggle數(shù)據(jù)庫一共提供了7049張96x96像素的訓(xùn)練灰度圖。對于每個樣本點(diǎn),數(shù)據(jù)庫提供15個關(guān)鍵點(diǎn)的x, y坐標(biāo)(關(guān)鍵點(diǎn)坐標(biāo)允許部分缺失),即30個訓(xùn)練特征(feature)。對于測試數(shù)據(jù)集,Kaggle提供了1783臉部灰度圖。模型預(yù)測坐標(biāo)將被用于與Kaggle內(nèi)置的臉部關(guān)鍵點(diǎn)坐標(biāo)進(jìn)行比對,其相應(yīng)的均方根誤差(RMSE)為模型得分。

      二、線性回歸

      2.1 線性回歸模型存在的問題

      對于線性回歸模型,9216個像素灰度值將被作為輸入特征,而相應(yīng)的15個人臉關(guān)鍵點(diǎn)(位于眼、鼻、嘴等處)的X,Y坐標(biāo)將被視為目標(biāo)變數(shù)(variable)。為解決模型的過度擬合問題(overfitting),我們采取了部分特征抽樣的方法以減少輸入特征。

      2.2 特征提取

      在給定特征抽樣比例時,我們?nèi)孕鑼?216個輸入特征進(jìn)行篩選。分段啟發(fā)函數(shù)(stepwise methods)是一個普適的特征選擇方法[1],但隨機(jī)性過強(qiáng)的分段方法并沒有充分考慮臉部關(guān)鍵點(diǎn)坐標(biāo)間存在的聯(lián)系 。

      與一般機(jī)器學(xué)習(xí)問題不同,關(guān)鍵點(diǎn)定位存在很直觀的特征提取啟發(fā)策略—我們可僅提取眼、鼻、嘴處的像素值。實(shí)驗中,我們采用了以健壯性著稱的方向梯度直方圖HOG(Histogram of Oriented Gradients)來探測并截取其對應(yīng)區(qū)域的像素,如圖1所示[2]。

      2.3 模型復(fù)雜度控制

      我們從左右眼、鼻及嘴區(qū)域截取了長寬分別是H,W的像素塊作為線性回歸模型的輸入特征,通過調(diào)整像素塊的大小來控制模型的復(fù)雜度。當(dāng)H與W增大時,模型復(fù)雜度隨之增加。在實(shí)驗中我們發(fā)現(xiàn),檢驗方差及訓(xùn)練方差(Validation and traning MSE)隨著像素塊的增大而減小。這說明我們得到的線性回歸模型仍處于欠擬合區(qū)域(Underfitting)。然而,我們無法進(jìn)一步增大提取像素塊,否則像素塊邊界將會產(chǎn)生越界現(xiàn)象。通過觀測,最佳的像素塊長寬均為32(像素)。對于該大小的像素塊得到的最終線性回歸模型,其Kaggle測試均方根誤差約為4.6367。

      三、 支持向量機(jī)(support vector machine)

      支持向量機(jī)(SVM)是廣泛應(yīng)用于機(jī)器學(xué)習(xí)分類以及回歸的抽象模型,因此存在眾多成熟的工具包。在實(shí)驗中,我們采用了著名的LIBSVM [3]來對數(shù)據(jù)進(jìn)行擬合。我們利用9216個像素值作為輸入特征分別訓(xùn)練30個向量機(jī),每個向量機(jī)輸出15個臉部關(guān)鍵點(diǎn)的X或Y坐標(biāo)。這樣的簡化處理并忽略了坐標(biāo)間存在的內(nèi)部聯(lián)系,卻成功避免了引入多目標(biāo)變數(shù)向量機(jī)(SVM struct [4]),使代碼大為簡化。

      3.1線性卷積核

      對于輸入特征較多,訓(xùn)練樣本較小的機(jī)器學(xué)習(xí)問題,線性卷積核是一個合理的選擇。在LIBSVM工具包中,我們?nèi)孕柽x取合適的正則參數(shù)C(regularization parameter)。對于線性卷積核,搜索得到的最佳正則參數(shù)C為0.1,其對應(yīng)模型的方差由默認(rèn)參數(shù)的10.663降至10.454,Kaggle測試均方根誤差為4.35512。

      3.2 多項式卷積核

      對于多項式卷積核的SVM模型,其最重要的調(diào)諧參數(shù)是多項式的最高次冪。在交叉檢驗中(Cross-validation),我們發(fā)現(xiàn)均方差與多項式核的最高次數(shù)呈正相關(guān),即檢驗均方差從線性核(P=1)時便開始增大,說明多項式卷積核的SVM在P=1時就已經(jīng)出現(xiàn)了過度擬合的現(xiàn)象。

      3.3徑向基函數(shù)核與參數(shù)調(diào)諧

      由于徑向基函數(shù)核(Radial Basis Kernel)能夠非線性地將輸入特征映射到更高維空間,因此它能夠處理絕大部分目標(biāo)參數(shù)與輸入特征存在非線性關(guān)系的機(jī)器學(xué)習(xí)問題。更為巧妙的是,當(dāng)徑向基函數(shù)核的懲罰參數(shù)C (不同于正則參數(shù))及核參數(shù)γ為某一特定組合時,其SVM模型的擬合效果將完全等同于與線性核SVM模型 [5]。邏輯回歸卷積核與徑向基卷積核SVM也有類似的關(guān)系[6]。

      四、 前饋神經(jīng)網(wǎng)絡(luò)

      4.1 基本結(jié)構(gòu)

      常見的神經(jīng)網(wǎng)絡(luò)(Neural Network)結(jié)構(gòu)包括前饋神經(jīng)網(wǎng)絡(luò)(feed-forward),遞歸神經(jīng)網(wǎng)絡(luò)(recurrent)以及對稱連通網(wǎng)絡(luò)(symmetrically connected)等等。在該論文中,我們采用了實(shí)際應(yīng)用較廣的前饋神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。

      根據(jù)[7]的論述,在給定相同數(shù)量的神經(jīng)元,擁有更深結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)模型擁有更強(qiáng)的表達(dá)能力。因此,一個典型的前饋神經(jīng)網(wǎng)絡(luò)應(yīng)至少包含三個層次-----輸入層,輸出層以及在這兩層之間的隱藏層。對于臉部關(guān)鍵點(diǎn)檢測問題,輸入層一共有9216個神經(jīng)元,輸出層將由30個神經(jīng)元組成。

      4.2 模型的參數(shù)設(shè)定

      如前所述,神經(jīng)網(wǎng)絡(luò)模型復(fù)雜度主要取決于隱藏層的層數(shù),每層擁有的神經(jīng)元個數(shù)以及迭代次數(shù)(epochs)。在該實(shí)驗中,我們使用了目前較為先進(jìn)的機(jī)器學(xué)習(xí)工具包 Theano[http://deeplearning.net/software/theano/]。

      4.2.1 隱藏層層數(shù)、每層神經(jīng)元數(shù)量及迭代次數(shù)的選取

      由于特征值域映射問題,Theano的顯示誤差為均方差的千分之一。由圖2知,當(dāng)層間神經(jīng)元數(shù)量超過300時,交叉檢驗誤差顯著上升,模型出現(xiàn)了過度擬合現(xiàn)象。在實(shí)際Kaggle測試中,我們嘗試了三個不同隱藏層層數(shù)(1,2及3層),其對應(yīng)的均方根誤差為3.82109, 3.85388以及3.81652。這一結(jié)果顯示了隱藏層數(shù)的改變并不會對擬合結(jié)果有顯著的影響。顯然,當(dāng)?shù)螖?shù)增加時模型復(fù)雜度也隨之增加。由圖2(右)知,迭代次數(shù)設(shè)置為1000是一個較為合適的選擇。

      4.3 集成學(xué)習(xí)4.3.1 Bagging對于神經(jīng)網(wǎng)絡(luò)模型,我們可以采取兩種不同Bagging策略。

      (1)從訓(xùn)練數(shù)據(jù)中抽樣選取部分樣本點(diǎn)。我們分別訓(xùn)練了10個不同的神經(jīng)網(wǎng)絡(luò),其輸入樣本為從訓(xùn)練數(shù)據(jù)中隨機(jī)抽取的1940個樣本點(diǎn)。最終的臉部關(guān)鍵點(diǎn)坐標(biāo)取這10個模型預(yù)測結(jié)果的算術(shù)平均值,其Kaggle測試均方根誤差為3.67293。

      (2)從每個樣本點(diǎn)(臉部圖片)中選取部分輸入特征,每個樣本點(diǎn)的輸入特征為隨機(jī)抽取的8000個像素點(diǎn)。相應(yīng)模型的Kaggle均方根誤差為3.62655

      4.3.2 混合模型

      同樣地,我們可以采取如下兩種不同的混合策略。

      (1)我們分別訓(xùn)練三個僅有1層,2層以及3層隱層的神經(jīng)網(wǎng)絡(luò),并取其預(yù)測的臉部關(guān)鍵點(diǎn)坐標(biāo)算術(shù)均值作為預(yù)測結(jié)果。該模型Kaggle測試均方根誤差降至3.62702。

      (2)混合由(1)中的神經(jīng)網(wǎng)絡(luò)以及Bagging的第二種模型(部分特征抽樣)。這兩種目前表現(xiàn)最佳的神經(jīng)網(wǎng)絡(luò)的結(jié)合進(jìn)一步降低了均方根誤差。該模型的測試均方根誤差約為3.58884。

      4.4 總結(jié)

      在論文的本節(jié)中,我們嘗試了一系列參數(shù)各異的神經(jīng)網(wǎng)絡(luò)和集成學(xué)習(xí)模型,使得均方根誤差由最初的3.8降至了3.58884。模型及其相應(yīng)的均方根誤差如表1所示。

      五、卷積神經(jīng)網(wǎng)絡(luò)

      5.1 模型結(jié)構(gòu)

      卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural networks, CNN)是一種較為新型、直到90年代末才被成熟開發(fā)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。在沒有犧牲模型的普適性前提下,卷積神經(jīng)網(wǎng)絡(luò)有效地利用了局部像素間關(guān)聯(lián)性,縮短了機(jī)器學(xué)習(xí)訓(xùn)練周期。對于卷積神經(jīng)網(wǎng)絡(luò),每一層神經(jīng)元將構(gòu)成三維結(jié)構(gòu)(傳統(tǒng)神經(jīng)網(wǎng)絡(luò)是二維平面結(jié)構(gòu)),而層間的神經(jīng)元只與前一層的神經(jīng)網(wǎng)絡(luò)的局部神經(jīng)元存在激勵、反饋聯(lián)系,這一特性稱為局部感知。

      5.2 訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)

      在本論文中,我們嘗試了一系列參數(shù)各異的神經(jīng)網(wǎng)絡(luò)模型,并使用NVIDA GTX-650顯卡與1GB內(nèi)存對模型進(jìn)行訓(xùn)練。在訓(xùn)練過程中,我們將Kaggle提供的訓(xùn)練數(shù)據(jù)庫分成訓(xùn)練數(shù)據(jù)及檢驗數(shù)據(jù),其規(guī)模之比為4:1。

      5.2.1 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)

      實(shí)驗中使用的模型參數(shù):輸入層一層,由9216個神經(jīng)元組成;卷積層(Convolution)及最大值池化層(Max Poolling)各四層,每一層的卷積濾窗大小為3x3,池化過濾窗大小為2x2,位移步長為2。卷積核數(shù)從第一層至第四層分別為32, 64, 128以及256;全連通卷積層一層,包含500個隱藏神經(jīng)元;輸出層一層,由30個神經(jīng)元組成。神經(jīng)元的激勵函數(shù)采用的是RELU非線性函數(shù),輸出層輸出將取決于全連通層激勵信號的線性組合。為了提高訓(xùn)練速率,我們將學(xué)習(xí)速率(training rate)設(shè)置為一較大值并隨迭代次數(shù)線性減??;動量項(momentum)隨迭代次數(shù)線性增加。為了避免可能的內(nèi)存問題,斯托克斯數(shù)據(jù)包大小(stochastic batch size)設(shè)定為64. 從圖5.1可以看出,上述的改進(jìn)大大加快了均方差的收斂速度,縮短了訓(xùn)練周期。

      5.2.2 數(shù)據(jù)擴(kuò)充

      對于圖片類型數(shù)據(jù),我們可以垂直翻轉(zhuǎn)圖片實(shí)現(xiàn)數(shù)據(jù)擴(kuò)充。由于訓(xùn)練數(shù)據(jù)庫規(guī)模變大,我們將迭代次數(shù)上線由600增至700。

      利用數(shù)據(jù)擴(kuò)充的策略,從圖5.1中可以清晰地看到不僅訓(xùn)練誤差明顯降低,檢驗誤差也隨之下降,意味著卷積神經(jīng)網(wǎng)絡(luò)得到正確的優(yōu)化。

      5.2.3 激勵摒棄(dropout)

      激勵摒棄(dropout)是避免過度擬合的又一新型策略,其在卷積神經(jīng)網(wǎng)絡(luò)中的應(yīng)用直到最近幾年才被關(guān)注并被開發(fā)。激勵摒棄是在每一卷積層隨機(jī)選取一定數(shù)量的激勵神經(jīng)元,并將其激勵人為地置零。對于不同的訓(xùn)練圖片,歸零的激勵神經(jīng)元也需重新選取。激勵摒棄可以有效地抑制神經(jīng)元間的過強(qiáng)聯(lián)系。

      利用激勵摒棄的策略,我們將迭代次數(shù)增至1000,此時Kaggle測試均方根誤差降至3.45;若將迭代次數(shù)增3000,其相應(yīng)的Kaggle均方根誤差降至3.21。當(dāng)我們進(jìn)一步增大迭代次數(shù)時,均方根誤差下降已十分緩慢。

      六、結(jié)語

      在本篇論文里,我們嘗試了一系列健壯的機(jī)器學(xué)習(xí)模型并系統(tǒng)地比較了他們的擬合效果。由于缺乏有效的特征選取及模型復(fù)雜度控制機(jī)制,基于計算機(jī)視覺的線性回歸模型并不能取得很好的效果。

      而卷積核的靈活性使得支持向量機(jī)SVM在前者的基礎(chǔ)上有了明顯的進(jìn)步。然而前饋神經(jīng)網(wǎng)絡(luò)以及卷積神經(jīng)網(wǎng)絡(luò)能夠更為有效地控制了高維模型的復(fù)雜度。

      其中,專門用于圖片機(jī)器學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)在Kaggle的測試中有著極佳的表現(xiàn),經(jīng)優(yōu)化后其均方根誤差僅為3.21959。

      參 考 文 獻(xiàn)

      [1] Efroymson, M. A. “Multiple regression analysis.” Mathematical methods for digital computers 1 (1960): 191-203.

      [2] Dalal, Navneet, and Bill Triggs. ?Histograms of oriented gradients for human detection.? Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE Computer Society Conference on. Vol. 1. IEEE, 2005.

      [3] Chang, Chih-Chung, and Chih-Jen Lin. ?LIBSVM: a library for support vector machines.? ACM Transactions on Intelligent Systems and Technology (TIST)2.3 (2011): 27.

      [4] Joachims T, Finley T, Yu C N J. Cutting-plane training of structural SVMs[J]. Machine Learning, 2009, 77(1): 27-59.[5] Keerthi S S, Lin C J. Asymptotic behaviors of support vector machines with Gaussian kernel[J]. Neural computation, 2003, 15(7): 1667-1689.

      [6] Lin, Hsuan-Tien, and Chih-Jen Lin. ?A study on sigmoid kernels for SVM and the training of non-PSD kernels by SMO-type methods.? submitted to Neural Computation (2003): 1-32.

      [7] Suykens J A K, Vandewalle J. Least squares support vector machine classifiers[J]. Neural processing letters, 1999, 9(3): 293-300.

      猜你喜歡
      方根關(guān)鍵點(diǎn)線性
      方根拓展探究
      漸近線性Klein-Gordon-Maxwell系統(tǒng)正解的存在性
      聚焦金屬關(guān)鍵點(diǎn)
      肉兔育肥抓好七個關(guān)鍵點(diǎn)
      線性回歸方程的求解與應(yīng)用
      二階線性微分方程的解法
      均方根嵌入式容積粒子PHD 多目標(biāo)跟蹤方法
      揭開心算方根之謎
      醫(yī)聯(lián)體要把握三個關(guān)鍵點(diǎn)
      數(shù)學(xué)魔術(shù)
      池州市| 赤壁市| 岳西县| 都安| 阳曲县| 林州市| 阿图什市| 教育| 永吉县| 边坝县| 从化市| 九江县| 沙坪坝区| 抚远县| 乡城县| 桐柏县| 彝良县| 泰来县| 阳泉市| 塘沽区| 武宁县| 灵丘县| 平安县| 体育| 余干县| 湖北省| 宁武县| 舟山市| 北京市| 乐亭县| 榆社县| 宜川县| 拉孜县| 江源县| 宜春市| 澜沧| 瓮安县| 大渡口区| 略阳县| 肃北| 焉耆|