姓名:張萌? ? ? ? ? 學(xué)號(hào)17021211113
轉(zhuǎn)自:http://mp.weixin.qq.com/s/CvdeV5xgUF0kStJQdRst0w
【嵌牛導(dǎo)讀】:人臉關(guān)鍵點(diǎn)檢測是人臉識(shí)別和分析領(lǐng)域中的關(guān)鍵一步经窖,它是諸如自動(dòng)人臉識(shí)別、表情分析穴亏、三維人臉重建及三維動(dòng)畫等其它人臉相關(guān)問題的前提和突破口玫锋。近些年來,深度學(xué)習(xí)方法由于其自動(dòng)學(xué)習(xí)及持續(xù)學(xué)習(xí)能力权薯,已被成功應(yīng)用到了圖像識(shí)別與分析姑躲、語音識(shí)別和自然語言處理等很多領(lǐng)域睡扬,且在這些方面都帶來了很顯著的改善。因此黍析,本文針對(duì)深度學(xué)習(xí)方法進(jìn)行了人臉關(guān)鍵點(diǎn)檢測的研究卖怜。
【嵌牛鼻子】:人臉關(guān)鍵點(diǎn);人臉特征點(diǎn)阐枣;人臉對(duì)齊马靠;卷積神經(jīng)網(wǎng)絡(luò)
【嵌牛提問】:人臉檢測關(guān)鍵點(diǎn)是什么?
【嵌牛正文】:目錄
一蔼两、引言
二甩鳄、人臉關(guān)鍵點(diǎn)檢測方法
2.1 ASM (Active Shape Models)
2.2 AAM(Active Appearance Models)
2.3 CPR(Cascaded pose regression)
2.4 DCNN
2.5 Face++版 DCNN
2.6 TCDCN
2.7 MTCNN
2.8 TCNN(Tweaked Convolutional Neural Networks)
2.9 DAN(Deep Alignment Networks)
三、結(jié)語
參考文獻(xiàn)
一额划、引言
人臉關(guān)鍵點(diǎn)檢測也稱為人臉關(guān)鍵點(diǎn)檢測妙啃、定位或者人臉對(duì)齊,是指給定人臉圖像俊戳,定位出人臉面部的關(guān)鍵區(qū)域位置揖赴,包括眉毛、眼睛抑胎、鼻子燥滑、嘴巴、臉部輪廓等和人臉檢測類似阿逃,由于受到姿態(tài)和遮擋等因素的影響铭拧,人臉關(guān)鍵點(diǎn)檢測也是一個(gè)富有挑戰(zhàn)性的任務(wù)。
人臉關(guān)鍵點(diǎn)檢測是人臉識(shí)別任務(wù)中重要的基礎(chǔ)環(huán)節(jié)盆昙,人臉關(guān)鍵點(diǎn)精確檢測對(duì)眾多科研和應(yīng)用課題具有關(guān)鍵作用羽历,例如,人臉姿態(tài)矯正淡喜、姿態(tài)識(shí)別秕磷、表情識(shí)別、疲勞監(jiān)測炼团、嘴型識(shí)別等澎嚣。因此,如何獲取高精度人臉關(guān)鍵點(diǎn)瘟芝,一直以來都是計(jì)算機(jī)視覺易桃、模式識(shí)別、圖像處理等領(lǐng)域的熱點(diǎn)研究問題锌俱。
人臉關(guān)鍵點(diǎn)檢測方法大致分為三種晤郑,分別是基 ASM(Active Shape Model)[1] 和 AAM (Active Appearnce Model)[2,3] 的傳統(tǒng)方法;基于級(jí)聯(lián)形狀回歸的方法 [4];基于深度學(xué)習(xí)的方法 [5-10]造寝。若是按照參數(shù)化與否來分磕洪,可分為參數(shù)化方法和非參數(shù)化方法,ASM诫龙、AAM 和 CLM[11] 就屬于參數(shù)化方法析显,而級(jí)聯(lián)回歸和深度學(xué)習(xí)方法屬于非參數(shù)化方法∏┰撸基于參數(shù)化形狀模型的方法可依據(jù)其外觀模型的不同谷异,可進(jìn)一步分為,基于局部的方法 [12-14] 和基于全局的方法 [15-17]锦聊;對(duì)于非參數(shù)化進(jìn)一步可分為基于樣例的方法 [18,19]歹嘹、基于圖模型的方法 [20,21]、基于級(jí)聯(lián)回歸的方法 [4,22,23] 和基于深度學(xué)習(xí)的方法 [24-26]括丁。更為詳細(xì)的劃分請(qǐng)參考文獻(xiàn) [27]荞下。目前伶选,應(yīng)用最廣泛史飞,效果精度最高的是基于深度學(xué)習(xí)的方法,因此本文主要針對(duì)深度學(xué)習(xí)在人臉關(guān)鍵點(diǎn)檢測上的應(yīng)用進(jìn)行研究仰税。
人臉關(guān)鍵點(diǎn)定位方法中具有里程碑式的有如下五種方法:
1) 1995 年构资,Cootes 的 ASM(Active Shape Model)。
2) 1998 年陨簇,Cootes 的 AAM(Active Appearance Model) 算法吐绵。
3) 2006 年,Ristinacce 的 CLM(Constrained Local Model)算法河绽。
4) 2010 年己单,Rollar 的 cascaded Regression 算法。
5) 2013 年耙饰,Sun 開創(chuàng)深度學(xué)習(xí)人臉關(guān)鍵點(diǎn)檢測的先河纹笼,首次將 CNN 應(yīng)用到人臉關(guān)鍵點(diǎn)定位上。
定量評(píng)價(jià)方面苟跪,目前主要的衡量標(biāo)準(zhǔn)是算法所獲取的關(guān)鍵點(diǎn)位置與真實(shí)關(guān)鍵點(diǎn)位置之間的偏差廷痘。在評(píng)價(jià)偏差時(shí),由于不同人臉圖像的實(shí)際大小難免會(huì)有所差異件已,為便于在同樣的尺度下比較算法性能笋额,需要采用一定的數(shù)據(jù)歸一化策略. 目前主流的方法是基于兩眼間的距離進(jìn)行人臉大小的標(biāo)準(zhǔn)化,即:
篷扩,其中分子表示估計(jì)值與真實(shí)值的歐式距離兄猩,分母表示雙眼距離,即兩眼中心的歐式距離。也有采用邊界框?qū)蔷€作為歸一化因子來評(píng)價(jià)偏差枢冤,如文獻(xiàn) [20]援岩。
傳統(tǒng)人臉關(guān)鍵點(diǎn)檢測數(shù)據(jù)庫為室內(nèi)環(huán)境下采集的數(shù)據(jù)庫,比如 Multi-pie掏导、Feret享怀、Frgc、AR趟咆、BioID 等人臉數(shù)據(jù)庫添瓷。而現(xiàn)階段人臉關(guān)鍵點(diǎn)檢測數(shù)據(jù)庫通常為復(fù)雜環(huán)境下采集的數(shù)據(jù)庫.LFPW 人臉數(shù)據(jù)庫有 1132 幅訓(xùn)練人臉圖像和 300 幅測試人臉圖像,大部分為正面人臉圖像值纱,每個(gè)人臉標(biāo)定 29 個(gè)關(guān)鍵點(diǎn)鳞贷。AFLW 人臉數(shù)據(jù)庫包含 25993 幅從 Flickr 采集的人臉圖像,每個(gè)人臉標(biāo)定 21 個(gè)關(guān)鍵點(diǎn)虐唠。COFW 人臉數(shù)據(jù)庫包含 LFPW 人臉數(shù)據(jù)庫訓(xùn)練集中的 845 幅人臉圖像以及其他 500 幅遮擋人臉圖像搀愧,而測試集為 507 幅嚴(yán)重遮擋(同時(shí)包含姿態(tài)和表情的變化)的人臉圖像,每個(gè)人臉標(biāo)定 29 個(gè)關(guān)鍵點(diǎn)疆偿。MVFW 人臉數(shù)據(jù)庫為多視角人臉數(shù)據(jù)集咱筛,包括 2050 幅訓(xùn)練人臉圖像和 450 幅測試人臉圖像,每個(gè)人臉標(biāo)定 68 個(gè)關(guān)鍵點(diǎn)杆故。OCFW 人臉數(shù)據(jù)庫包含 2951 幅訓(xùn)練人臉圖像(均為未遮擋人臉)和 1246 幅測試人臉圖像(均為遮擋人臉)迅箩,每個(gè)人臉標(biāo)定 68 個(gè)關(guān)鍵點(diǎn)。
二处铛、人臉關(guān)鍵點(diǎn)檢測方法
人臉關(guān)鍵點(diǎn)檢測方法根據(jù)是否需要參數(shù)化模型可分為以下兩類饲趋,基于參數(shù)化形狀模型的方法和基于非參數(shù)形狀模型的方法。目前撤蟆,最為常用的是基于非參數(shù)形狀模型的深度學(xué)習(xí)方法奕塑,因此本文討論深度學(xué)習(xí)方法。但是家肯,為了更好的理解人臉關(guān)鍵點(diǎn)的發(fā)展和歷史龄砰,本文也簡單介紹了最為經(jīng)典的人臉關(guān)鍵點(diǎn)檢測方法:ASM 和 AAM。
2.1 ASM (Active Shape Models)
ASM(Active Shape Model)[1] 是由 Cootes 于 1995 年提出的經(jīng)典的人臉關(guān)鍵點(diǎn)檢測算法息楔,主動(dòng)形狀模型即通過形狀模型對(duì)目標(biāo)物體進(jìn)行抽象寝贡,ASM 是一種基于點(diǎn)分布模型(Point Distribution Model, PDM)的算法。在 PDM 中值依,外形相似的物體圃泡,例如人臉、人手愿险、心臟颇蜡、肺部等的幾何形狀可以通過若干關(guān)鍵點(diǎn)(landmarks)的坐標(biāo)依次串聯(lián)形成一個(gè)形狀向量來表示价说。ASM 算法需要通過人工標(biāo)定的方法先標(biāo)定訓(xùn)練集,經(jīng)過訓(xùn)練獲得形狀模型风秤,再通過關(guān)鍵點(diǎn)的匹配實(shí)現(xiàn)特定物體的匹配鳖目。
ASM 主要分為兩步:第一步:訓(xùn)練。首先缤弦,構(gòu)建形狀模型:搜集 n 個(gè)訓(xùn)練樣本(n=400)领迈;手動(dòng)標(biāo)記臉部關(guān)鍵點(diǎn);將訓(xùn)練集中關(guān)鍵點(diǎn)的坐標(biāo)串成特征向量碍沐;對(duì)形狀進(jìn)行歸一化和對(duì)齊(對(duì)齊采用 Procrustes 方法)狸捅;對(duì)對(duì)齊后的形狀特征做 PCA 處理。接著累提,為每個(gè)關(guān)鍵點(diǎn)構(gòu)建局部特征尘喝。目的是在每次迭代搜索過程中每個(gè)關(guān)鍵點(diǎn)可以尋找新的位置。局部特征一般用梯度特征斋陪,以防光照變化朽褪。有的方法沿著邊緣的法線方向提取,有的方法在關(guān)鍵點(diǎn)附近的矩形區(qū)域提取无虚。第二步:搜索缔赠。首先:計(jì)算眼睛(或者眼睛和嘴巴)的位置,做簡單的尺度和旋轉(zhuǎn)變化骑科,對(duì)齊人臉橡淑;接著,在對(duì)齊后的各個(gè)點(diǎn)附近搜索咆爽,匹配每個(gè)局部關(guān)鍵點(diǎn)(常采用馬氏距離),得到初步形狀置森;再用平均人臉(形狀模型)修正匹配結(jié)果斗埂;迭代直到收斂。
ASM 算法的優(yōu)點(diǎn)在于模型簡單直接凫海,架構(gòu)清晰明確呛凶,易于理解和應(yīng)用,而且對(duì)輪廓形狀有著較強(qiáng)的約束行贪,但是其近似于窮舉搜索的關(guān)鍵點(diǎn)定位方式在一定程度上限制了其運(yùn)算效率漾稀。
2.2 AAM(Active Appearance Models)
1998 年,Cootes 對(duì) ASM 進(jìn)行改進(jìn)建瘫,不僅采用形狀約束崭捍,而且又加入整個(gè)臉部區(qū)域的紋理特征,提出了 AAM 算法 [2]啰脚。AAM 于 ASM 一樣殷蛇,主要分為兩個(gè)階段,模型建立階段和模型匹配階段。其中模型建立階段包括對(duì)訓(xùn)練樣本分別建立形狀模型 (Shape Model) 和紋理模型 (Texture Model)粒梦,然后將兩個(gè)模型進(jìn)行結(jié)合亮航,形成 AAM 模型。
2.3 CPR(Cascaded pose regression)
2010 年匀们,Dollar 提出 CPR(Cascaded Pose Regression, 級(jí)聯(lián)姿勢回歸)[4]缴淋,CPR 通過一系列回歸器將一個(gè)指定的初始預(yù)測值逐步細(xì)化,每一個(gè)回歸器都依靠前一個(gè)回歸器的輸出來執(zhí)行簡單的圖像操作泄朴,整個(gè)系統(tǒng)可自動(dòng)的從訓(xùn)練樣本中學(xué)習(xí)宴猾。
人臉關(guān)鍵點(diǎn)檢測的目的是估計(jì)向量
,其中 K 表示關(guān)鍵點(diǎn)的個(gè)數(shù)叼旋,由于每個(gè)關(guān)鍵點(diǎn)有橫縱兩個(gè)坐標(biāo)仇哆,所以 S 得長度為 2K。CPR 檢測流程如圖所示夫植,一共有 T 個(gè)階段讹剔,在每個(gè)階段中首先進(jìn)行特征提取,得到, 這里使用的是 shape-indexed features详民,也可以使用諸如 HOG延欠、SIFT 等人工設(shè)計(jì)的特征,或者其他可學(xué)習(xí)特征(learning based features)沈跨,然后通過訓(xùn)練得到的回歸器 R 來估計(jì)增量ΔS( update vector)由捎,把ΔS 加到前一個(gè)階段的 S 上得到新的 S,這樣通過不斷的迭代即可以得到最終的 S(shape)饿凛。
2.4 DCNN
2013 年狞玛,Sun 等人 [5] 首次將 CNN 應(yīng)用到人臉關(guān)鍵點(diǎn)檢測,提出一種級(jí)聯(lián)的 CNN(擁有三個(gè)層級(jí))——DCNN(Deep Convolutional Network)涧窒,此種方法屬于級(jí)聯(lián)回歸方法心肪。作者通過精心設(shè)計(jì)擁有三個(gè)層級(jí)的級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò),不僅改善初始不當(dāng)導(dǎo)致陷入局部最優(yōu)的問題纠吴,而且借助于 CNN 強(qiáng)大的特征提取能力硬鞍,獲得更為精準(zhǔn)的關(guān)鍵點(diǎn)檢測。
如圖所示戴已,DCNN 由三個(gè) Level 構(gòu)成固该。Level-1 由 3 個(gè) CNN 組成;Level-2 由 10 個(gè) CNN 組成(每個(gè)關(guān)鍵點(diǎn)采用兩個(gè) CNN)糖儡;Level-3 同樣由 10 個(gè) CNN 組成伐坏。
Level-1 分 3 個(gè) CNN,分別是 F1(Face 1)休玩、EN1(Eye著淆,Nose)劫狠、NM1(Nose,Mouth)永部;F1 輸入尺寸為 39*39独泞,輸出 5 個(gè)關(guān)鍵點(diǎn)的坐標(biāo);EN1 輸入尺寸為 39*31苔埋,輸出是 3 個(gè)關(guān)鍵點(diǎn)的坐標(biāo)懦砂;NM11 輸入尺寸為 39*31,輸出是 3 個(gè)關(guān)鍵點(diǎn)组橄。Level-1 的輸出是由三個(gè) CNN 輸出取平均得到荞膘。
Level-2,由 10 個(gè) CNN 構(gòu)成玉工,輸入尺寸均為 15*15羽资,每兩個(gè)組成一對(duì),一對(duì) CNN 對(duì)一個(gè)關(guān)鍵點(diǎn)進(jìn)行預(yù)測遵班,預(yù)測結(jié)果同樣是采取平均屠升。
Level-3 與 Level-2 一樣,由 10 個(gè) CNN 構(gòu)成狭郑,輸入尺寸均為 15*15腹暖,每兩個(gè)組成一對(duì)。Level-2 和 Level-3 是對(duì) Level-1 得到的粗定位進(jìn)行微調(diào)翰萨,得到精細(xì)的關(guān)鍵點(diǎn)定位脏答。
Level-1 之所以比 Level-2 和 Level-3 的輸入要大,是因?yàn)樽髡哒J(rèn)為亩鬼,由于人臉檢測器的原因殖告,邊界框的相對(duì)位置可能會(huì)在大范圍內(nèi)變化,再加上面部姿態(tài)的變化辛孵,最終導(dǎo)致輸入圖像的多樣性丛肮,因此在 Level-1 應(yīng)該需要有足夠大的輸入尺寸。Level-1 與 Level-2 和 Level-3 還有一點(diǎn)不同之處在于魄缚,Level-1 采用的是局部權(quán)值共享(Lcally Sharing Weights),作者認(rèn)為傳統(tǒng)的全局權(quán)值共享是考慮到焚廊,某一特征可能在圖像中任何位置出現(xiàn)冶匹,所以采用全局權(quán)值共享。然而咆瘟,對(duì)于類似人臉這樣具有固定空間結(jié)構(gòu)的圖像而言嚼隘,全局權(quán)值共享就不奏效了。因?yàn)檠劬褪窃谏厦嫣徊停亲泳褪窃谥虚g飞蛹,嘴巴就是在下面的谤狡。所以作者借鑒文獻(xiàn) [28] 中的思想,采用局部權(quán)值共享卧檐,作者通過實(shí)驗(yàn)證明了局部權(quán)值共享給網(wǎng)絡(luò)帶來性能提升墓懂。
DCNN 采用級(jí)聯(lián)回歸的思想,從粗到精的逐步得到精確的關(guān)鍵點(diǎn)位置霉囚,不僅設(shè)計(jì)了三級(jí)級(jí)聯(lián)的卷積神經(jīng)網(wǎng)絡(luò)捕仔,還引入局部權(quán)值共享機(jī)制,從而提升網(wǎng)絡(luò)的定位性能盈罐。最終在數(shù)據(jù)集 BioID 和 LFPW 上均獲得當(dāng)時(shí)最優(yōu)結(jié)果榜跌。速度方面,采用 3.3GHz 的 CPU盅粪,每 0.12 秒檢測一張圖片的 5 個(gè)關(guān)鍵點(diǎn)钓葫。
2.5 Face++版 DCNN
2013 年,F(xiàn)ace++在 DCNN 模型上進(jìn)行改進(jìn)票顾,提出從粗到精的人臉關(guān)鍵點(diǎn)檢測算法 [6]础浮,實(shí)現(xiàn)了 68 個(gè)人臉關(guān)鍵點(diǎn)的高精度定位。該算法將人臉關(guān)鍵點(diǎn)分為內(nèi)部關(guān)鍵點(diǎn)和輪廓關(guān)鍵點(diǎn)库物,內(nèi)部關(guān)鍵點(diǎn)包含眉毛霸旗、眼睛、鼻子戚揭、嘴巴共計(jì) 51 個(gè)關(guān)鍵點(diǎn)诱告,輪廓關(guān)鍵點(diǎn)包含 17 個(gè)關(guān)鍵點(diǎn)。
針對(duì)內(nèi)部關(guān)鍵點(diǎn)和外部關(guān)鍵點(diǎn)民晒,該算法并行的采用兩個(gè)級(jí)聯(lián)的 CNN 進(jìn)行關(guān)鍵點(diǎn)檢測精居,網(wǎng)絡(luò)結(jié)構(gòu)如圖所示。
針對(duì)內(nèi)部 51 個(gè)關(guān)鍵點(diǎn)潜必,采用四個(gè)層級(jí)的級(jí)聯(lián)網(wǎng)絡(luò)進(jìn)行檢測靴姿。其中,Level-1 主要作用是獲得面部器官的邊界框磁滚;Level-2 的輸出是 51 個(gè)關(guān)鍵點(diǎn)預(yù)測位置佛吓,這里起到一個(gè)粗定位作用,目的是為了給 Level-3 進(jìn)行初始化垂攘;Level-3 會(huì)依據(jù)不同器官進(jìn)行從粗到精的定位维雇;Level-4 的輸入是將 Level-3 的輸出進(jìn)行一定的旋轉(zhuǎn),最終將 51 個(gè)關(guān)鍵點(diǎn)的位置進(jìn)行輸出晒他。針對(duì)外部 17 個(gè)關(guān)鍵點(diǎn)吱型,僅采用兩個(gè)層級(jí)的級(jí)聯(lián)網(wǎng)絡(luò)進(jìn)行檢測。Level-1 與內(nèi)部關(guān)鍵點(diǎn)檢測的作用一樣陨仅,主要是獲得輪廓的 bounding box津滞;Level-2 直接預(yù)測 17 個(gè)關(guān)鍵點(diǎn)铝侵,沒有從粗到精定位的過程,因?yàn)檩喞P(guān)鍵點(diǎn)的區(qū)域較大触徐,若加上 Level-3 和 Level-4咪鲜,會(huì)比較耗時(shí)間。最終面部 68 個(gè)關(guān)鍵點(diǎn)由兩個(gè)級(jí)聯(lián) CNN 的輸出進(jìn)行疊加得到锌介。
算法主要?jiǎng)?chuàng)新點(diǎn)由以下三點(diǎn):(1)把人臉的關(guān)鍵點(diǎn)定位問題嗜诀,劃分為內(nèi)部關(guān)鍵點(diǎn)和輪廓關(guān)鍵點(diǎn)分開預(yù)測,有效的避免了 loss 不均衡問題孔祸;(2)在內(nèi)部關(guān)鍵點(diǎn)檢測部分隆敢,并未像 DCNN 那樣每個(gè)關(guān)鍵點(diǎn)采用兩個(gè) CNN 進(jìn)行預(yù)測,而是每個(gè)器官采用一個(gè) CNN 進(jìn)行預(yù)測崔慧,從而減少計(jì)算量拂蝎;(3)相比于 DCNN,沒有直接采用人臉檢測器返回的結(jié)果作為輸入惶室,而是增加一個(gè)邊界框檢測層(Level-1)温自,可以大大提高關(guān)鍵點(diǎn)粗定位網(wǎng)絡(luò)的精度。
Face++版 DCNN 首次利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行 68 個(gè)人臉關(guān)鍵點(diǎn)檢測皇钞,針對(duì)以往人臉關(guān)鍵點(diǎn)檢測受人臉檢測器影響的問題悼泌,作者設(shè)計(jì) Level-1 卷積神經(jīng)網(wǎng)絡(luò)進(jìn)一步提取人臉邊界框,為人臉關(guān)鍵點(diǎn)檢測獲得更為準(zhǔn)確的人臉位置信息夹界,最終在當(dāng)年 300-W 挑戰(zhàn)賽上獲得領(lǐng)先成績馆里。
2.6 TCDCN
2014 年,Zhang 等人將 MTL(Multi-Task Learning)應(yīng)用到人臉關(guān)鍵點(diǎn)檢測中可柿,提出 TCDCN(Tasks-Constrained Deep Convolutional Network)[7]鸠踪。作者認(rèn)為,在進(jìn)行人臉關(guān)鍵點(diǎn)檢測任務(wù)時(shí)复斥,結(jié)合一些輔助信息可以幫助更好的定位關(guān)鍵點(diǎn)营密,這些信息如,性別目锭、是否帶眼鏡评汰、是否微笑和臉部的姿勢等等。作者將人臉關(guān)鍵點(diǎn)檢測(5 個(gè)關(guān)鍵點(diǎn))與性別痢虹、是否帶眼鏡键俱、是否微笑及臉部的姿勢這四個(gè)子任務(wù)結(jié)合起來構(gòu)成一個(gè)多任務(wù)學(xué)習(xí)模型,模型框架如圖所示世分。
網(wǎng)絡(luò)輸出為 40*40 的灰度圖,經(jīng)過 CNN 最終得到 2*2*64 的特征圖缀辩,再通過一層含 100 個(gè)神經(jīng)元的全連接層輸出最終提取得到的共享特征臭埋。該特征為所有任務(wù)共同享用踪央,對(duì)于關(guān)鍵點(diǎn)檢測問題,就采用線性回歸模型瓢阴;對(duì)于分類問題成福,就采用邏輯回歸脆粥。
在傳統(tǒng) MLT 中,各任務(wù)重要程度是一致的,其目標(biāo)方程如下:
其中霜大,表示與權(quán)值矩陣相乘之后輸入到函數(shù),表示損失函數(shù)瘦材,是正則項(xiàng)尸疆。可以看到對(duì)于各任務(wù) t 而言硼被,其重要性是相同的示损,但是在多任務(wù)學(xué)習(xí)中,往往不同任務(wù)的學(xué)習(xí)難易程度不同嚷硫,若采用相同的損失權(quán)重检访,會(huì)導(dǎo)致學(xué)習(xí)任務(wù)難以收斂。文章針對(duì)多任務(wù)學(xué)習(xí)中仔掸,不同學(xué)習(xí)難度問題進(jìn)行了優(yōu)化脆贵,提出帶權(quán)值的目標(biāo)函數(shù):
其中,第一項(xiàng)表示主任務(wù)的損失函數(shù)起暮,即人臉關(guān)鍵點(diǎn)檢測的損失函數(shù)卖氨,第二項(xiàng)表示其余各子任務(wù)的損失函數(shù),其中表示任務(wù) a 的重要性鞋怀。針對(duì)人臉關(guān)鍵點(diǎn)檢測任務(wù)双泪,本文結(jié)合了四個(gè)子任務(wù),分別是:性別密似、是否帶眼鏡焙矛、是否微笑和臉部的姿勢,目標(biāo)函數(shù)為:
其中残腌,第一項(xiàng)是平方和誤差村斟,表示人臉關(guān)鍵點(diǎn)損失函數(shù),第二項(xiàng)是分類任務(wù)抛猫,采用的是交叉熵誤差蟆盹,第三項(xiàng)即正則項(xiàng)。
針對(duì)多任務(wù)學(xué)習(xí)的另外一個(gè)問題——各任務(wù)收斂速度不同闺金,本文提出一種新的提前停止(Early Stopping)方法逾滥。當(dāng)某個(gè)子任務(wù)達(dá)到最好表現(xiàn)以后,這個(gè)子任務(wù)就對(duì)主任務(wù)已經(jīng)沒有幫助败匹,就可以停止這個(gè)任務(wù)寨昙。文章給出自動(dòng)停止子任務(wù)的計(jì)算公式讥巡,如下:
其中,表示訓(xùn)練的誤差舔哪,表示驗(yàn)證的誤差欢顷,為閾值,第一項(xiàng)表示訓(xùn)練誤差的趨勢捉蚤,第二項(xiàng)表示泛化誤差與訓(xùn)練誤差之比抬驴,當(dāng)兩項(xiàng)之積大于閾值,則該任務(wù)停止缆巧。
TCDCN 采用多任務(wù)學(xué)習(xí)方法對(duì)人臉關(guān)鍵點(diǎn)進(jìn)行檢測布持,針對(duì)多任務(wù)學(xué)習(xí)在人臉關(guān)鍵點(diǎn)檢測任務(wù)中的兩個(gè)主要問題——不同任務(wù)學(xué)習(xí)難易程度不同以及不同任務(wù)收斂速度不同,分別提出了新目標(biāo)函數(shù)和提前停止策略加以改進(jìn)盅蝗,最終在 AFLW 和 AFW 數(shù)據(jù)集上獲得領(lǐng)先的結(jié)果鳖链。同時(shí)對(duì)比于級(jí)聯(lián) CNN 方法,在 Intel Core i5 cpu 上墩莫,級(jí)聯(lián) CNN 需要 0.12s芙委,而 TCDCN 僅需要 17ms,速度提升七倍有余狂秦。
代碼鏈接: https://github.com/zhzhanp/TCDCN-face-alignment
2.7 MTCNN
2016 年灌侣,Zhang 等人提出一種多任務(wù)級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)(MTCNN, Multi-task Cascaded Convolutional Networks)[9] 用以同時(shí)處理人臉檢測和人臉關(guān)鍵點(diǎn)定位問題。作者認(rèn)為人臉檢測和人臉關(guān)鍵點(diǎn)檢測兩個(gè)任務(wù)之間往往存在著潛在的聯(lián)系裂问,然而大多數(shù)方法都未將兩個(gè)任務(wù)有效的結(jié)合起來侧啼,本文為了充分利用兩任務(wù)之間潛在的聯(lián)系,提出一種多任務(wù)級(jí)聯(lián)的人臉檢測框架堪簿,將人臉檢測和人臉關(guān)鍵點(diǎn)檢測同時(shí)進(jìn)行痊乾。
MTCNN 包含三個(gè)級(jí)聯(lián)的多任務(wù)卷積神經(jīng)網(wǎng)絡(luò),分別是 Proposal Network (P-Net)椭更、Refine Network (R-Net)哪审、Output Network (O-Net),每個(gè)多任務(wù)卷積神經(jīng)網(wǎng)絡(luò)均有三個(gè)學(xué)習(xí)任務(wù)虑瀑,分別是人臉分類湿滓、邊框回歸和關(guān)鍵點(diǎn)定位。網(wǎng)絡(luò)結(jié)構(gòu)如圖所示:
MTCNN 實(shí)現(xiàn)人臉檢測和關(guān)鍵點(diǎn)定位分為三個(gè)階段舌狗。首先由 P-Net 獲得了人臉區(qū)域的候選窗口和邊界框的回歸向量叽奥,并用該邊界框做回歸,對(duì)候選窗口進(jìn)行校準(zhǔn)痛侍,然后通過非極大值抑制(NMS)來合并高度重疊的候選框朝氓。然后將 P-Net 得出的候選框作為輸入,輸入到 R-Net,R-Net 同樣通過邊界框回歸和 NMS 來去掉那些 false-positive 區(qū)域膀篮,得到更為準(zhǔn)確的候選框嘹狞;最后,利用 O-Net 輸出 5 個(gè)關(guān)鍵點(diǎn)的位置誓竿。
在具體訓(xùn)練過程中,作者就多任務(wù)學(xué)習(xí)的損失函數(shù)計(jì)算方式進(jìn)行相應(yīng)改進(jìn)谈截。在多任務(wù)學(xué)習(xí)中筷屡,當(dāng)不同類型的訓(xùn)練圖像輸入到網(wǎng)絡(luò)時(shí),有些任務(wù)時(shí)是不進(jìn)行學(xué)習(xí)的簸喂,因此相應(yīng)的損失應(yīng)為 0毙死。例如,當(dāng)訓(xùn)練圖像為背景(Non-face)時(shí)喻鳄,邊界框和關(guān)鍵點(diǎn)的 loss 應(yīng)為 0扼倘,文中提供計(jì)算公式自動(dòng)確定 loss 的選取,公式為:
其中除呵,表示任務(wù)的重要程度再菊,在 P-Net 和 R-Net 中,
, 在 R-Net 中颜曾,由于要對(duì)關(guān)鍵點(diǎn)進(jìn)行檢測纠拔,所以相應(yīng)的增大任務(wù)的重要性,泛豪。作為樣本類型指示器稠诲。
為了提升網(wǎng)絡(luò)性能,需要挑選出困難樣本(Hard Sample)诡曙,傳統(tǒng)方法是通過研究訓(xùn)練好的模型進(jìn)行挑選臀叙,而本文提出一種能在訓(xùn)練過程中進(jìn)行挑選困難的在線挑選方法。方法為价卤,在 mini-batch 中劝萤,對(duì)每個(gè)樣本的損失進(jìn)行排序,挑選前 70% 較大的損失對(duì)應(yīng)的樣本作為困難樣本荠雕,同時(shí)在反向傳播時(shí)稳其,忽略那 30% 的樣本,因?yàn)槟?30% 樣本對(duì)更新作用不大炸卑。
實(shí)驗(yàn)結(jié)果表明既鞠,MTCNN 在人臉檢測數(shù)據(jù)集 FDDB 和 WIDER FACE 以及人臉關(guān)鍵點(diǎn)定位數(shù)據(jù)集 LFPW 均獲得當(dāng)時(shí)最佳成績。在運(yùn)行時(shí)間方面盖文,采用 2.60GHz 的 CPU 可以達(dá)到 16fps嘱蛋,采用 Nvidia Titan Black 可達(dá) 99fps。
代碼實(shí)現(xiàn):
Matlab:https://github.com/kpzhang93/MTCNN_face_detection_alignment
Caffe:https://github.com/dlunion/mtcnn
Python:https://github.com/DuinoDu/mtcnn
2.8 TCNN(Tweaked Convolutional Neural Networks)
2016 年,Wu 等人研究了 CNN 在人臉關(guān)鍵點(diǎn)定位任務(wù)中到底學(xué)習(xí)到的是什么樣的特征洒敏,在采用 GMM(Gaussian Mixture Model, 混合高斯模型)對(duì)不同層的特征進(jìn)行聚類分析龄恋,發(fā)現(xiàn)網(wǎng)絡(luò)進(jìn)行的是層次的,由粗到精的特征定位凶伙,越深層提取到的特征越能反應(yīng)出人臉關(guān)鍵點(diǎn)的位置郭毕。針對(duì)這一發(fā)現(xiàn),提出了 TCNN(Tweaked Convolutional Neural Networks)[8]函荣,其網(wǎng)絡(luò)結(jié)構(gòu)如圖所示:
上圖為 Vanilla CNN显押,針對(duì) FC5 得到的特征進(jìn)行 K 個(gè)類別聚類,將訓(xùn)練圖像按照所分類別進(jìn)行劃分傻挂,用以訓(xùn)練所對(duì)應(yīng)的 FC6K乘碑。測試時(shí),圖片首先經(jīng)過 Vanilla CNN 提取特征金拒,即 FC5 的輸出兽肤。將 FC5 輸出的特征與 K 個(gè)聚類中心進(jìn)行比較,將 FC5 輸出的特征劃分至相應(yīng)的類別中绪抛,然后選擇與之相應(yīng)的 FC6 進(jìn)行連接资铡,最終得到輸出。
作者通過對(duì) Vanilla CNN 中間層特征聚類分析得出的結(jié)論是什么呢睦疫?又是如何通過中間層聚類分析得出靈感從而設(shè)計(jì) TCNN 呢害驹?
作者對(duì) Vanilla CNN 中間各層特征進(jìn)行聚類分析,并統(tǒng)計(jì)出關(guān)鍵點(diǎn)在各層之間的變化程度蛤育,如圖所示:
從圖中可知宛官,越深層提取到的特征越緊密,因此越深層提取到的特征越能反應(yīng)出人臉關(guān)鍵點(diǎn)的位置瓦糕。作者在采用 K=64 時(shí)底洗,對(duì)所劃分簇的樣本進(jìn)行平均后繪圖如下:
從圖上可發(fā)現(xiàn),每一個(gè)簇的樣本反應(yīng)了頭部的某種姿態(tài)咕娄,甚至出現(xiàn)了表情和性別的差異亥揖。因此可推知,人臉關(guān)鍵點(diǎn)的位置常常和人臉的屬性相關(guān)聯(lián)圣勒。因此為了得到更準(zhǔn)確的關(guān)鍵點(diǎn)定位费变,作者使用具有相似特征的圖片訓(xùn)練對(duì)應(yīng)的回歸器,最終在人臉關(guān)鍵點(diǎn)檢測數(shù)據(jù)集 AFLW,AFW 和 300W 上均獲得當(dāng)時(shí)最佳效果圣贸。
2.9 DAN(Deep Alignment Networks)
2017 年挚歧,Kowalski 等人提出一種新的級(jí)聯(lián)深度神經(jīng)網(wǎng)絡(luò)——DAN(Deep Alignment Network)[10],以往級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)輸入的是圖像的某一部分吁峻,與以往不同滑负,DAN 各階段網(wǎng)絡(luò)的輸入均為整張圖片在张。當(dāng)網(wǎng)絡(luò)均采用整張圖片作為輸入時(shí),DAN 可以有效的克服頭部姿態(tài)以及初始化帶來的問題矮慕,從而得到更好的檢測效果帮匾。之所以 DAN 能將整張圖片作為輸入,是因?yàn)槠浼尤肓岁P(guān)鍵點(diǎn)熱圖(Landmark Heatmaps)痴鳄,關(guān)鍵點(diǎn)熱圖的使用是本文的主要?jiǎng)?chuàng)新點(diǎn)瘟斜。DAN 基本框架如圖所示:
DAN 包含多個(gè)階段,每一個(gè)階段含三個(gè)輸入和一個(gè)輸出夏跷,輸入分別是被矯正過的圖片哼转、關(guān)鍵點(diǎn)熱圖和由全連接層生成的特征圖,輸出是面部形狀(Face Shape)槽华。其中,CONNECTION LAYER 的作用是將本階段得輸出進(jìn)行一系列變換趟妥,生成下一階段所需要的三個(gè)輸入猫态,具體操作如下圖所示:
從第一階段開始講起,第一階段的輸入僅有原始圖片和 S0披摄。面部關(guān)鍵點(diǎn)的初始化即為 S0亲雪,S0 是由所有關(guān)鍵點(diǎn)取平均得到,第一階段輸出 S1疚膊。對(duì)于第二階段义辕,首先,S1 經(jīng)第一階段的 CONNECTION LAYERS 進(jìn)行轉(zhuǎn)換寓盗,分別得到轉(zhuǎn)換后圖片 T2(I)灌砖、S1 所對(duì)應(yīng)的熱圖 H2 和第一階段 fc1 層輸出,這三個(gè)正是第二階段的輸入傀蚌。如此周而復(fù)始基显,直到最后一個(gè)階段輸出 SN。文中給出在數(shù)據(jù)集 IBUG 上善炫,經(jīng)過第一階段后的 T2(I)撩幽、T2(S1)和特征圖,如圖所示:
從圖中發(fā)現(xiàn)箩艺,DAN 要做的「變換」窜醉,就是把圖片給矯正了,第一行數(shù)據(jù)尤為明顯艺谆,那么 DAN 對(duì)姿態(tài)變換具有很好的適應(yīng)能力榨惰,或許就得益于這個(gè)「變換」。至于 DAN 采用何種「變換」擂涛,需要到代碼中具體探究读串。
接下來看一看聊记,St 是如何由 St-1 以及該階段 CNN 得到,先看 St 計(jì)算公式:
其中是由 CNN 輸出的恢暖,各階段 CNN 網(wǎng)絡(luò)結(jié)構(gòu)如圖所示:
該 CNN 的輸入均是經(jīng)過了「變換」——的操作排监,因此得到的偏移量是在新特征空間下的偏移量,在經(jīng)過偏移之后應(yīng)經(jīng)過一個(gè)反變換還原到原始空間杰捂。而這里提到的新特征空間舆床,或許是將圖像進(jìn)行了「矯正」,使得網(wǎng)絡(luò)更好的處理圖像嫁佳。
關(guān)鍵點(diǎn)熱度圖的計(jì)算就是一個(gè)中心衰減挨队,關(guān)鍵點(diǎn)處值最大,越遠(yuǎn)則值越小蒿往,公式如下:
為什么需要從 fc1 層生成一張?zhí)卣鲌D盛垦?文中提到「Such a connection allows any information learned by the preceding stage to be transferred to the consecutive stage.」其實(shí)就是人為給 CNN 增加上一階段信息。
總而言之瓤漏,DAN 是一個(gè)級(jí)聯(lián)思想的關(guān)鍵點(diǎn)檢測方法腾夯,通過引入關(guān)鍵點(diǎn)熱圖作為補(bǔ)充,DAN 可以從整張圖片進(jìn)行提取特征蔬充,從而獲得更為精確的定位蝶俱。
代碼實(shí)現(xiàn):
Theano:https://github.com/MarekKowalski/DeepAlignmentNetwork
TensorFlow:https://github.com/kpzhang93/MTCNN_face_detection_alignment
三、結(jié)語
深度學(xué)習(xí)技術(shù)的出現(xiàn)饥漫,有效促進(jìn)了不同尺度和不同任務(wù)信息之間的融合榨呆,使得信息的結(jié)合方式由平面開始向立體方法發(fā)展,對(duì)于人臉關(guān)鍵點(diǎn)提取模型的發(fā)展庸队,具有突出的實(shí)際意義积蜻。正因?yàn)槿绱耍疚膶?duì)目前人臉關(guān)鍵點(diǎn)檢測任務(wù)中常用的深度學(xué)習(xí)方法進(jìn)行綜述皿哨。
盡管深度學(xué)習(xí)方法在人臉關(guān)鍵點(diǎn)檢測任務(wù)上已經(jīng)獲得了長足的發(fā)展浅侨,算法性能不斷提升,與實(shí)際應(yīng)用的要求也越來越接近证膨。然而如输,該任務(wù)的研究還遠(yuǎn)未結(jié)束,目前還有一些關(guān)鍵性難題亟待解決央勒。在此總結(jié)三點(diǎn):
(1)缺乏統(tǒng)一的方法集成框架不见。近年來,隨著深度學(xué)習(xí)崔步、回歸分析等技術(shù)的應(yīng)用稳吮,人臉關(guān)鍵點(diǎn)檢測技術(shù)的方法模型更為豐富。但若要完全解決關(guān)鍵點(diǎn)檢測問題井濒,還需要建立一個(gè)統(tǒng)一的綜合性方法框架灶似。因此列林,如果要實(shí)現(xiàn)任意情況下的高精度人臉關(guān)鍵點(diǎn)提取,就需要建立一個(gè)集成各類情況下最優(yōu)方法的綜合方法框架酪惭。
(2)缺少簡潔模型希痴。近年來出現(xiàn)的方法正變得越來越復(fù)雜、參數(shù)越來越多春感、其所綜合利用的信息和技術(shù)也越來越繁雜砌创。遵循奧卡姆剃刀原理,過于復(fù)雜的模型鲫懒,必然難以成為最優(yōu)解決方案. 目前的人臉關(guān)鍵點(diǎn)提取研究嫩实,迫切需要發(fā)展能夠以簡單清晰的模型和方法解決問題的合理思路。
(3)多變的人臉姿態(tài)和遮擋窥岩。姿態(tài)和遮擋是人臉關(guān)鍵點(diǎn)檢測所面臨的經(jīng)典難題甲献,近年來也出現(xiàn)了很多處理這兩方面問題的思路和方法,但目前在實(shí)際應(yīng)用中颂翼,尤其在實(shí)時(shí)低圖像質(zhì)量條件下竟纳,對(duì)于這兩類難題的處理還難以令人滿意. 尤其當(dāng)姿態(tài)發(fā)生快速和劇烈改變,以及遮擋比例較大時(shí)疚鲤,現(xiàn)有方法的精度距離實(shí)際應(yīng)用的要求還有較大差距,需要進(jìn)一步研究和提升缘挑。
本文針對(duì)近年人臉關(guān)鍵點(diǎn)檢測方法中的深度學(xué)習(xí)方法進(jìn)行了綜述研究集歇。本文對(duì)人臉關(guān)鍵點(diǎn)檢測任務(wù)進(jìn)行了詳細(xì)描述,并將具有代表性的深度學(xué)習(xí)網(wǎng)絡(luò)模型语淘,從模型設(shè)計(jì)思路到模型框架均進(jìn)行較為深入的探究诲宇。在所面臨的挑戰(zhàn)性問題和開展相關(guān)研究所需的基礎(chǔ)知識(shí)方面,本文亦拋磚引玉惶翻,希望本文能對(duì)相關(guān)科研人員了解人臉關(guān)鍵點(diǎn)檢測問題并開展相關(guān)研究起到微薄的作用姑蓝。
參考文獻(xiàn)
[1] T.F. Cootes, C.J. Taylor, D.H. Cooper, et al. Active Shape Models-Their Training and Application[J]. Computer Vision and Image Understanding, 1995, 61(1):38-59.
[2] G. J. Edwards, T. F. Cootes, C. J. Taylor. Face recognition using active appearance models[J]. Computer Vision—Eccv』, 1998, 1407(6):581-595.
[3] Cootes T F, Edwards G J, Taylor C J. Active appearance models[C]// European Conference on Computer Vision. Springer Berlin Heidelberg, 1998:484-498.
[4] Dollár P, Welinder P, Perona P. Cascaded pose regression[J]. IEEE, 2010, 238(6):1078-1085.
[5] Sun Y, Wang X, Tang X. Deep Convolutional Network Cascade for Facial Point Detection[C]// Computer Vision and Pattern Recognition. IEEE, 2013:3476-3483.
[6] Zhou E, Fan H, Cao Z, et al. Extensive Facial Landmark Localization with Coarse-to-Fine Convolutional Network Cascade[C]// IEEE International Conference on Computer Vision Workshops. IEEE, 2014:386-391.
[7] Zhang Z, Luo P, Chen C L, et al. Facial Landmark Detection by Deep Multi-task Learning[C]// European Conference on Computer Vision. 2014:94-108.
[8] Wu Y, Hassner T. Facial Landmark Detection with Tweaked Convolutional Neural Networks[J]. Computer Science, 2015.
[9] Zhang K, Zhang Z, Li Z, et al. Joint Face Detection and Alignment Using Multitask Cascaded Convolutional Networks[J]. IEEE Signal Processing Letters, 2016, 23(10):1499-1503.
[10] Kowalski M, Naruniec J, Trzcinski T. Deep Alignment Network: A Convolutional Neural Network for Robust Face Alignment[J]. 2017:2034-2043.
[11] Cristinacce D, Cootes T F. Feature Detection and Tracking with Constrained Local Models[C]// British Machine Vision Conference 2006, Edinburgh, Uk, September. DBLP, 2006:929-938.
[12] Lucey S, Wang Y, Cox M, et al. Efficient Constrained Local Model Fitting for Non-Rigid Face Alignment[J]. Image & Vision Computing, 2009, 27(12):1804.
[13] Wang Y, Lucey S, Cohn J F. Enforcing convexity for improved alignment with constrained local models[C]// IEEE Conference on Computer Vision & Pattern Recognition. Proc IEEE Comput Soc Conf Comput Vis Pattern Recognit, 2008:1.
[14] Saragih J M, Lucey S, Cohn J F. Deformable Model Fitting by Regularized Landmark Mean-Shift[M]. Kluwer Academic Publishers, 2011.
[15] Papandreou G, Maragos P. Adaptive and constrained algorithms for inverse compositional Active Appearance Model fitting[C]// Computer Vision and Pattern Recognition, 2008. CVPR 2008. IEEE Conference on. IEEE, 2014:1-8.
[16] Matthews I, Baker S. Active Appearance Models Revisited[J]. International Journal of Computer Vision, 2004, 60(2):135-164.
[17] Amberg B, Blake A, Vetter T. On compositional Image Alignment, with an application to Active Appearance Models[C]// Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on. IEEE, 2009:1714-1721.
[18] Smith B M, Zhang L, Brandt J, et al. Exemplar-Based Face Parsing[C]// Computer Vision and Pattern Recognition. IEEE, 2013:3484-3491.
[19] Zhou F, Brandt J, Lin Z. Exemplar-Based Graph Matching for Robust Facial Landmark Localization[C]// IEEE International Conference on Computer Vision. IEEE Computer Society, 2013:1025-1032.
[20] Coughlan J M, Ferreira S J. Finding Deformable Shapes Using Loopy Belief Propagation[C]// European Conference on Computer Vision. Springer-Verlag, 2002:453-468.
[21] Liang L, Wen F, Xu Y Q, et al. Accurate Face Alignment using Shape Constrained Markov Network[C]// IEEE Computer Society Conference on Computer Vision and Pattern Recognition. IEEE Computer Society, 2006:1313-1319.
[22] Wei Y. Face alignment by Explicit Shape Regression[C]// IEEE Conference on Computer Vision and Pattern Recognition. IEEE Computer Society, 2012:2887-2894.
[23] Xiong X, Torre F D L. Supervised Descent Method and Its Applications to Face Alignment[C]// Computer Vision and Pattern Recognition. IEEE, 2013:532-539.
[24] Tang X, Wang X, Luo P. Hierarchical face parsing via deep learning[C]// IEEE Conference on Computer Vision and Pattern Recognition. IEEE Computer Society, 2012:2480-2487.
[25] Wu Y, Wang Z, Ji Q. Facial Feature Tracking Under Varying Facial Expressions and Face Poses Based on Restricted Boltzmann Machines[C]// Computer Vision and Pattern Recognition. IEEE, 2013:3452-3459.
[26] Zhang J, Shan S, Kan M, et al. Coarse-to-Fine Auto-Encoder Networks (CFAN) for Real-Time Face Alignment[C]// European Conference on Computer Vision. Springer, Cham, 2014:1-16.
[27] Wang N, Gao X, Tao D, et al. Facial Feature Point Detection: A Comprehensive Survey[J]. Neurocomputing, 2017.
[28] Learnedmiller E, Lee H, Huang G B. Learning hierarchical representations for face verification with convolutional deep belief networks[C]// Computer Vision and Pattern Recognition. IEEE, 2012:2518-2525.