DeepID2——强大的人脸分类算法
目錄(?)[+]
Deep Learning Face Representation by Joint Identification-Verification
轉(zhuǎn)載請(qǐng)注明:http://blog.csdn.net/stdcoutzyx/article/details/41497545
這篇文章是論文Deep Learning Face Representation by Joint Identification-Verification的筆記。
1. Main Contribution
這篇論文使用deep learning學(xué)習(xí)特征,使用聯(lián)合貝葉斯模型作為分類器,選取七組特征分別訓(xùn)練分類器,得到的結(jié)果使用SVM進(jìn)行組合,得到的最終模型在LFW(Labeled Face in the Wild)數(shù)據(jù)集上的人臉驗(yàn)證任務(wù)中,達(dá)到了99.15%的準(zhǔn)確率,目前排名第一。
2. Basic Concepts and Ideas
Face Identification,人臉識(shí)別,將一個(gè)輸入圖像進(jìn)行分類,類別集合會(huì)很大。
Face verification,人臉驗(yàn)證,對(duì)兩個(gè)圖像進(jìn)行判斷,確認(rèn)是不是同一個(gè)人的圖像。
論文的主要?jiǎng)?chuàng)新點(diǎn)就是利用deep learning學(xué)習(xí)圖像特征,具體的創(chuàng)新點(diǎn)就是通過(guò)擴(kuò)大類間距離和縮小類內(nèi)距離。
3. Pipeline
論文提出的人臉識(shí)別算法流程如下:
首先,使用SDM算法抽取人臉上的21個(gè)標(biāo)記,然后根據(jù)得到的標(biāo)記對(duì)人臉進(jìn)行對(duì)齊。通過(guò)變化位置、尺度、顏色通道,得到200個(gè)face patch,對(duì)每個(gè)face patch,使用該patch及其水平反轉(zhuǎn)的圖像進(jìn)行特征學(xué)習(xí)。所以,一共需要200個(gè)深度卷積神經(jīng)網(wǎng)絡(luò)。
注:因?yàn)長(zhǎng)FW是wild數(shù)據(jù),不像AR數(shù)據(jù)集那樣是對(duì)齊好的數(shù)據(jù),所以需要通過(guò)SDM尋找landmark來(lái)分patch;SDM算法是CVPR2013年提取的。
第二步,學(xué)習(xí)特征,論文提出一種學(xué)習(xí)特征的卷積神經(jīng)網(wǎng)絡(luò)框架,稱之為DeepID2。構(gòu)建200個(gè)DeepID2來(lái)學(xué)習(xí)上一步得到的patch。每個(gè)DeepID2都將輸入圖像表示成一個(gè)160維的向量。
第三步,對(duì)每張圖像而言,經(jīng)過(guò)200個(gè)DeepID2學(xué)習(xí)到的特征數(shù)目為200*160,特征數(shù)目太大了。所以論文中使用前向后向貪心算法來(lái)選取一些有效且互補(bǔ)的DeepID2向量,以節(jié)約時(shí)間。注意,特征選擇在每個(gè)DeepID2向量間進(jìn)行,也就是一個(gè)DeepID2輸出的向量,要么全被選中,要么全不被選中。選中的向量對(duì)應(yīng)的patch如圖。
第四步,選中25個(gè)向量后,每張圖像的維度是25*160=4000維。仍然太大,因而使用PCA進(jìn)行降維,降維后大約有180維。
第五步,對(duì)于輸出后的向量,就可以使用來(lái)進(jìn)行人臉驗(yàn)證任務(wù)了。論文構(gòu)建了一個(gè)聯(lián)合貝葉斯模型來(lái)進(jìn)行分類。聯(lián)合貝葉斯模型如下:
即使用類間距除以類內(nèi)距的對(duì)數(shù)值來(lái)衡量一個(gè)圖像對(duì)是不是同一個(gè)人。在訓(xùn)練集上可以得到一個(gè)閾值,當(dāng)結(jié)果值大于閾值時(shí),不是同一個(gè)人;當(dāng)結(jié)果值小于閾值時(shí),是同一個(gè)人。
4. DeepID2
DeepID2的創(chuàng)新點(diǎn)在于在學(xué)習(xí)特征的時(shí)候,該網(wǎng)絡(luò)不僅考慮分類準(zhǔn)確率,還考慮類間差距。具體的做法就是在目標(biāo)函數(shù)中添加一項(xiàng)類間差距。該添加的創(chuàng)新就在于類間差距是在兩個(gè)樣本間進(jìn)行衡量的,因而添加類間差距后,訓(xùn)練過(guò)程需要變化。
DeepID2所做的第二點(diǎn)小創(chuàng)新就是將卷積層的倒數(shù)第一層和倒數(shù)第二層都作為最終層的輸入。(因?yàn)樘砑恿祟愰g差距,所以最終層不能再成為是softmax層了)
DeepID2學(xué)習(xí)特征的整體卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖如下:
4.1 Details of Structure
四層卷積,前三層后面都跟著max-pooling層,第三層卷積的神經(jīng)單元的參數(shù)在2*2的局部區(qū)域內(nèi)共享;第四層卷積則是全連接,參數(shù)在神經(jīng)單元之間不共享。
第三卷積層的輸出和第四卷積層的輸出以全連接的方式連接到最后一層,最后一層也稱為DeepID2層。因?yàn)榈谒膶訉W(xué)習(xí)到的特征比第三層的更全局一些,所以這樣的連接方式被稱為是多尺度卷積神經(jīng)網(wǎng)絡(luò)。
4.2 Goal functions
在本論文中,使用DeepID2進(jìn)行學(xué)習(xí)的目的是得到輸出向量,并不是為了使識(shí)別率最大化。因而論文添加了類間距項(xiàng)。使用卷積層得到輸出向量可用函數(shù)表示:
正確分類的函數(shù)就是softmax的目標(biāo)函數(shù),目的是使交叉熵最小化。
樣本間距最大化的目標(biāo)函數(shù)如下。
該公式的作用是,當(dāng)兩個(gè)樣本相同時(shí),則需要最小化它們之間的距離,當(dāng)兩個(gè)樣本不同時(shí),則需要最小化m與它們的距離值之差,m是一個(gè)需要手動(dòng)調(diào)整的參數(shù),提出m的目的在于目標(biāo)函數(shù)需要最小化,而不是最大化。
當(dāng)樣本之間的距離函數(shù)時(shí)余弦距離時(shí),樣本間距最大化的目標(biāo)函數(shù)如下。
在最終組合目標(biāo)函數(shù)時(shí),將Ident與Verif加權(quán)。
4.3 Training process
訓(xùn)練過(guò)程如下圖。
5 Experiment
5.1 Experiment datasets
LFW是最終使用模型的數(shù)據(jù)集,共13233張臉,分屬于5749個(gè)人。但此數(shù)據(jù)集太小,所以需要引入外部數(shù)據(jù)集CelebFace+,擁有202599張臉,分屬于10177個(gè)人。
將CelebFace+數(shù)據(jù)集分為CelebFace+A數(shù)據(jù)集和CelebFace+B數(shù)據(jù)集。CelebFace+A有8192個(gè)人的數(shù)據(jù),隨機(jī)從CelebFace+中選取,用于訓(xùn)練DeepID2學(xué)習(xí)特征。CelebFace+B是剩余的1985個(gè)人的臉,用來(lái)進(jìn)行特征選取和聯(lián)合貝葉斯概率模型的學(xué)習(xí)。
在學(xué)習(xí)DeepID2的時(shí)候,CelebFace+A是訓(xùn)練集,CelebFace+B是驗(yàn)證集來(lái)確定學(xué)習(xí)速率,訓(xùn)練迭代次數(shù),目標(biāo)函數(shù)的融合參數(shù)lambda。
在特征選擇的時(shí)候,CelebFace+B中分出500個(gè)人的數(shù)據(jù)作為驗(yàn)證集。
最后,在整個(gè)CelebFace+B中訓(xùn)練聯(lián)合貝葉斯模型。
在LFW上使用訓(xùn)練好的模型進(jìn)行實(shí)驗(yàn)。
5.2 Experiment settings
論文進(jìn)行了如下幾組實(shí)驗(yàn):- 考察目標(biāo)函數(shù)融合參數(shù)lambda的效果,包括最終效果分析、方差分析、PCA降至2維時(shí)的數(shù)據(jù)分析。
- 考察信息量的影響,即通過(guò)變換訓(xùn)練集的大小(32指數(shù)增長(zhǎng)到8192),查看效果。
- 改變用于驗(yàn)證的目標(biāo)函數(shù)即Verif的距離計(jì)算方法后的實(shí)驗(yàn)效果??疾炝艘浑A范數(shù)、余弦距離等。
- 選取了七組不同的特征集合,然后將模型使用svm進(jìn)行融合,得到最終結(jié)果99.15%。
6 Reference
[1] Sun Y, Chen Y, Wang X, et al. Deep learning face representation by joint identification-verification[C]//Advances in Neural Information Processing Systems. 2014: 1988-1996.
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的DeepID2——强大的人脸分类算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 物联网产品:你需要知道的9种智能家居产品
- 下一篇: 技术向:一文读懂卷积神经网络