小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

人臉關(guān)鍵點檢測的數(shù)據(jù)集與核心方法發(fā)展綜述

 極市平臺 2021-01-26

前言:本文作者為深度學(xué)習(xí)領(lǐng)域資深專家言有三。作者近期發(fā)布新書《深度學(xué)習(xí)之人臉圖像處理:核心技術(shù)與案例實踐》,由淺入深、全面系統(tǒng)地介紹人臉圖像的各個研究方向和應(yīng)用場景,包括但不限于基于深度學(xué)習(xí)的各個方向的核心技術(shù)。本書理論體系完備,講解時提供大量實例,可供讀者實戰(zhàn)演練。



本文內(nèi)容節(jié)選自言有三新書《深度學(xué)習(xí)之人臉圖像處理:核心技術(shù)與案例實踐》,重點闡述人臉關(guān)鍵點任務(wù),包括其關(guān)鍵點檢測數(shù)據(jù)集的發(fā)展、核心算法以及未來展望。

1、什么是關(guān)鍵點檢?

人臉關(guān)鍵點檢測是指給定人臉圖像,定位出人臉面部的關(guān)鍵點,包括眉毛、眼睛、鼻子、嘴巴、臉部輪廓區(qū)域的點,由于受到姿態(tài)和遮擋等因素的影響,人臉關(guān)鍵點檢測是一個富有挑戰(zhàn)性的任務(wù)。
人臉關(guān)鍵點是人臉各個部位的重要特征點,通常是輪廓點與角點,下圖是使用OpenCV Dlib庫對一張正臉圖像的68個面部關(guān)鍵點檢測結(jié)果。
其中點代表位置,數(shù)字代表序號。人臉關(guān)鍵點可以有以下主要應(yīng)用:
(1) 人臉姿態(tài)對齊,人臉識別等算法都需要對人臉的姿態(tài)進行對齊從而提高模型的精度。
(2) 人臉美顏與編輯,基于關(guān)鍵點可以精確分析臉型、眼睛形狀、鼻子形狀等,從而對人臉的特定位置進行修飾加工,實現(xiàn)人臉的特效美顏,貼片等娛樂功能,也能輔助一些人臉編輯算法更好地發(fā)揮作用。
(3)人臉表情分析,基于關(guān)鍵點可以對人的面部表情進行分析,從而用于互動娛樂,行為預(yù)測等場景。

2、人臉關(guān)鍵點標(biāo)注點數(shù)發(fā)展

關(guān)鍵點能夠反映各個部位的臉部特征,隨著技術(shù)的發(fā)展和對精度要求的增加,人臉關(guān)鍵點的數(shù)量經(jīng)歷了從最初的5個點到如今超過200個點的發(fā)展歷程,在人臉等算法上擁有領(lǐng)先技術(shù)優(yōu)勢的商湯科技先后定出過106個關(guān)鍵點等行業(yè)標(biāo)準(zhǔn)。
2.1 4點、5點、6點標(biāo)注
人臉面部最關(guān)鍵的有5個點,分別為左右兩個嘴角,兩個眼的中心,鼻子,這5個關(guān)鍵點屬于人臉內(nèi)部關(guān)鍵點,根據(jù)它們就可以計算出人臉的姿態(tài)。當(dāng)然早期也有標(biāo)注4個點以及6個點的方案。
2005年發(fā)布的 FRGC-V2(Face Recognition Grand Challenge Version2.0)中標(biāo)注了雙眼、鼻子、嘴巴、下巴共5個關(guān)鍵點。
2007年發(fā)布的Caltech 10000 Web Faces數(shù)據(jù)集中標(biāo)注了雙眼、鼻子和嘴巴共4個關(guān)鍵點。
2013年的AFW數(shù)據(jù)集中標(biāo)注了雙眼、鼻子、嘴唇共6個關(guān)鍵點,其中嘴唇有3個點。
2014年發(fā)布的MTFL/MAFL數(shù)據(jù)集中標(biāo)注了雙眼、鼻子和2個嘴角共5個關(guān)鍵點。
2.2 21點,29點標(biāo)注
2011年發(fā)布的AFLW(Annotated Facial Landmarks in the wild)數(shù)據(jù)集是一個人臉關(guān)鍵點檢測領(lǐng)域里非常重要的評測基準(zhǔn),它包含多姿態(tài)、多視角,有25993幅從Flickr網(wǎng)站采集的人臉圖像,其中每個人臉標(biāo)定21個關(guān)鍵點。
這21個關(guān)鍵點的描述如下:
眼睛和眉毛相關(guān)的總共有12個點:左眉毛左角(Left Brow Left Corner)、左眉毛中心(Left Brow Center)、左眉毛右角(Left Brow Right Corner)、右眉毛左角(Right Brow Left Corner)、右眉毛中心(Right Brow Center)、右眉毛右角(Right Brow Right Corner)、左眼睛左角(Left Eye Left Corner)、左眼睛中心(Left Eye Center)、左眼睛右角(Left Eye Right Corner)、右眼睛左角(Right Eye Left Corner)、右眼睛中心(Right Eye Center)、右眼睛右角(Right Eye Right Corner)。
嘴唇相關(guān)的有3個,左嘴角(Mouth Left Corner)、右嘴角(Mouth Center)、嘴角中心(Mouth Right Corner)。
鼻子相關(guān)的有3個,左鼻角(Nose Left)、鼻尖中心(Nose Center)、右鼻角(Nose Right)。
耳朵相關(guān)的有3個,左邊耳垂下方(Left Ear)、右邊耳垂下方(Right Ear)。
下巴相關(guān)的有1個,下巴最低點。
從這個標(biāo)注我們可以看出,相對于5點,分別增強了眼睛、鼻子、嘴巴的標(biāo)注,將原來的只標(biāo)注人臉內(nèi)部拓展到了邊界,同時增加了對耳朵,下巴的定位。如果某些點看不見,則不進行標(biāo)注。
還有一些與AFLW標(biāo)注點數(shù)和規(guī)則類似的數(shù)據(jù)集,簡介如下:
1998年發(fā)布的AR Face數(shù)據(jù)集包含了130個人,13種不同表情的3000幅圖像,標(biāo)注了22個關(guān)鍵點,不同之處在于對耳朵,眉毛等處的標(biāo)注。
2011年發(fā)布的LFPW人臉數(shù)據(jù)庫有1132幅訓(xùn)練人臉圖像和300幅測試人臉圖像,大部分為正面人臉圖像,每個人臉標(biāo)定29個關(guān)鍵點。
對于左右眼睛,LFPW各自標(biāo)注了5個關(guān)鍵點,此時區(qū)分了眼瞼的上下位置,眼睛的定位更加的準(zhǔn)確,因此眼睛共5×2=10個點。
對于眉毛,各自標(biāo)注了4個關(guān)鍵點,分別是左右上下,所以眉毛的定位相對于21個點其實也更加準(zhǔn)確,眉毛共4×2=8個點。
對于鼻子,標(biāo)注了4個關(guān)鍵點,分別為左右上下,考慮了鼻尖和鼻底。
對于嘴巴,標(biāo)注了6個關(guān)鍵點,分別是左右嘴角,以及上嘴唇的上下位置,下嘴唇的上下位置。
同時也標(biāo)注了下巴關(guān)鍵點,如果再加上左右耳朵的上下中總共6個位置,就發(fā)展成了35個關(guān)鍵點。
COFW人臉數(shù)據(jù)庫包含LFPW人臉數(shù)據(jù)庫訓(xùn)練集中的845幅人臉圖像以及其他500幅
遮擋人臉圖像,而測試集為507幅嚴(yán)重遮擋(同時包含姿態(tài)和表情的變化)的人臉圖像,每個人臉標(biāo)定29 個關(guān)鍵點。
2.3 68點標(biāo)注
68點標(biāo)注是現(xiàn)今最通用的一種標(biāo)注方案,早期在1999年的Xm2vtsdb數(shù)據(jù)集中就被提出,300W數(shù)據(jù)集和XM2VTS等數(shù)據(jù)集也都采用了68個關(guān)鍵點的方案,被OpenCV中的Dlib算法中所采用。
68個關(guān)鍵點的標(biāo)注也有一些不同的版本,這里我們介紹最通用的Dlib中的版本,它將人臉關(guān)鍵點分為內(nèi)部關(guān)鍵點和輪廓關(guān)鍵點,內(nèi)部關(guān)鍵點包含眉毛、眼睛、鼻子、嘴巴共計51個關(guān)鍵點,輪廓關(guān)鍵點包含17個關(guān)鍵點。
Dlib所采用的68個人臉關(guān)鍵點標(biāo)注可以看上圖,單邊眉毛有5個關(guān)鍵點,從左邊界到右邊界均勻采樣,共5×2=10個。
眼睛分為6個關(guān)鍵點,分別是左右邊界,上下眼瞼均勻采樣,共6×2=12個。
嘴唇分為20個關(guān)鍵點,除了嘴角的2個,分為上下嘴唇。上下嘴唇的外邊界,各自均勻采樣5個點,上下嘴唇的內(nèi)邊界,各自均勻采樣3個點,共20個。
鼻子的標(biāo)注增加了鼻梁部分4個關(guān)鍵點,而鼻尖部分則均勻采集5個,共9個關(guān)鍵點。
臉部輪廓均勻采樣了17個關(guān)鍵點。
如果把額頭部分也加上去,就可以得到更多,比如81個關(guān)鍵點。
2.4 96/98點標(biāo)注
公開的數(shù)據(jù)集比較少超過68個關(guān)鍵點,其中比較有名的是Wider Facial Landmark in the Wild(WFLW),它提供了98個關(guān)鍵點。
WFLW 包含了 10000 張臉,其中 7500 用于訓(xùn)練,2500 張用于測試。除了關(guān)鍵點之外,還有遮擋、姿態(tài)、妝容、光照、模糊和表情等信息的標(biāo)注。
2.5. 106與186點標(biāo)注
106個關(guān)鍵點標(biāo)注是商湯科技提出的在業(yè)內(nèi)被廣泛采用的方案,包括Face++等企業(yè)開放的API多采用這個標(biāo)注方式,具體信息如下:
外輪廓,33個均勻采樣點,比Dlib更加密集。
嘴巴20個關(guān)鍵點,與Dlib標(biāo)注的相同。
鼻子15個關(guān)鍵點,與Dlib相比增加了兩側(cè)鼻梁部位。
眼睛20個關(guān)鍵點,每只眼睛輪廓點共8個,眼球中心點2個。
眉毛18個關(guān)鍵點,區(qū)分了上眉毛邊界。
后續(xù)又在106個關(guān)鍵點的基礎(chǔ)上提出了更加稠密的186個關(guān)鍵點,如今各個開發(fā)團隊使用的點數(shù)可能會有差異,比如百度使用過72和150個點的方案。
除了以上這些常用的方案,還有很多的數(shù)據(jù)集也有自己的標(biāo)注標(biāo)準(zhǔn),比如BioID Face Dataset包含20個關(guān)鍵點,BUHMAP-DB包含52個關(guān)鍵點,MUCT包含76個關(guān)鍵點,PUT大部分圖像包含30個關(guān)鍵點,其中正面人臉包括了194個點。
2.6 1000個以上關(guān)鍵點
前面介紹的關(guān)鍵點標(biāo)注都是針對二維人臉圖像,超過200個點的標(biāo)注已經(jīng)是非常的密集,而對于3D人臉圖像,相關(guān)的開源三維人臉數(shù)據(jù)集以及Face++,美圖等企業(yè)都使用了超過1000個以上的稠密關(guān)鍵點,相關(guān)內(nèi)容在三維人臉重建章節(jié)會詳細講述。

3、深度學(xué)習(xí)關(guān)鍵點檢測方法

2013年,基于CNN模型的深度學(xué)習(xí)方法被研究者首次應(yīng)用到人臉關(guān)鍵點檢測任務(wù),從此深度學(xué)習(xí)算法在關(guān)鍵點檢測上的性能遠超傳統(tǒng)算法。目前基于深度學(xué)習(xí)的人臉關(guān)鍵點檢測算法有幾個重要的思路。
3.1 級聯(lián)框架
2013年,研究者首次將 CNN 應(yīng)用到人臉關(guān)鍵點檢測,提出了一種級聯(lián)的框架。作者通過精心設(shè)計擁有三個層級的級聯(lián)卷積神經(jīng)網(wǎng)絡(luò),不僅改善了初始不當(dāng)容易導(dǎo)致模型陷入局部最優(yōu)的問題,而且借助于CNN強大的特征提取能力,獲得了更為精準(zhǔn)的關(guān)鍵點檢測,框架流程如下圖。
DCNN由三個Level構(gòu)成。Level-1由3個CNN 組成,Level-2由10個CNN組成(每個關(guān)鍵點采用兩個CNN),Level-3同樣由10個CNN組成。
Level-1包括3個CNN,分別是F1(Face 1)、EN1(Eye,Nose)、NM1(Nose,Mouth)。F1輸入尺寸為39×39,輸出5個關(guān)鍵點的坐標(biāo);EN1輸入尺寸為39×31,輸出3個關(guān)鍵點的坐標(biāo);NM1輸入尺寸為39×31,輸出3個關(guān)鍵點。Level-1的輸出是由三個CNN輸出取平均得到,可以看出EN1和NM1的輸入大小不同,一個是取了人臉偏上的位置,一個是取了人臉偏下的位置。
Level-2由10個CNN構(gòu)成,輸入尺寸均為15×15,每兩個組成一對,一對CNN對一個關(guān)鍵點進行預(yù)測,預(yù)測結(jié)果同樣是采取平均。
Level-3與Level-2一樣,由10個CNN構(gòu)成,輸入尺寸均為15×15,每兩個組成一對。Level-2和Level-3是對Level-1得到的粗定位進行微調(diào),得到精細的關(guān)鍵點定位。
Level-1之所以比Level-2和Level-3的輸入要大,是因為作者認為,由于人臉檢測器的原因,邊界框的相對位置可能會在大范圍內(nèi)變化,再加上面部姿態(tài)的變化,最終導(dǎo)致輸入圖像的多樣性,因此在Level-1應(yīng)該需要有足夠大的輸入尺寸。
Level-1與Level-2和Level-3還有一點不同之處在于,Level-1采用的是局部權(quán)值共享(Lcally Sharing Weights),全局權(quán)值共享是考慮到某一特征可能在圖像中任何位置出現(xiàn),然而對于類似人臉這樣具有固定空間結(jié)構(gòu)的圖像而言,全局權(quán)值共享并不有效,作者采用局部權(quán)值共享的實驗證明了它可以給網(wǎng)絡(luò)帶來性能提升。
DCNN采用級聯(lián)回歸的思想,從粗到精地逐步得到了精確的關(guān)鍵點位置,最終的檢測結(jié)果是三個網(wǎng)絡(luò)的融合,第一個網(wǎng)絡(luò)檢測絕對值,后面兩個網(wǎng)絡(luò)預(yù)測偏移量。
DCNN不僅設(shè)計了三級級聯(lián)的卷積神經(jīng)網(wǎng)絡(luò),還引入局部權(quán)值共享機制,從而提升了網(wǎng)絡(luò)的定位性能,最終在數(shù)據(jù)集BioID和LFPW上均獲得當(dāng)時最優(yōu)結(jié)果。2013年Face++在DCNN模型上進行改進,實現(xiàn)了68個人臉關(guān)鍵點的高精度定位。
類似的框架還有DAN,大家可以去閱讀書籍。
3.2 多任務(wù)聯(lián)合框架
人臉關(guān)鍵點檢測任務(wù)常與其他的任務(wù)進行聯(lián)合,比如MTCNN框架就可以同時進行人臉檢測和關(guān)鍵點檢測,不過這里我們介紹專門用于人臉關(guān)鍵點檢測的框架。
2014 年Zhang等人提出了TCDCN(Tasks-Constrained Deep Convolutional Network),作者認為在進行人臉關(guān)鍵點檢測任務(wù)時,結(jié)合一些輔助信息可以幫助更好的定位關(guān)鍵點,這些信息包括性別,是否帶眼鏡,是否微笑和臉部的姿勢,這些子任務(wù)結(jié)合起來構(gòu)成了一個多任務(wù)學(xué)習(xí)框架,如下圖所示。
網(wǎng)絡(luò)輸入為40×40的灰度圖,經(jīng)過CNN最終得到2×2×64的特征圖,再通過一層含100 個神經(jīng)元的全連接層提取特征。該特征為所有任務(wù)共享,對于關(guān)鍵點檢測問題,采用線性回歸模型,對于分類問題,則采用邏輯回歸模型。
在多任務(wù)學(xué)習(xí)中,往往不同任務(wù)的學(xué)習(xí)難易程度不同,若采用相同的損失權(quán)重,會導(dǎo)致學(xué)習(xí)任務(wù)難以收斂。因此在該多任務(wù)學(xué)習(xí)框架中,作者提出了帶權(quán)值的目標(biāo)函數(shù),由于關(guān)鍵點檢測是主任務(wù),相應(yīng)的權(quán)重更大。
針對多任務(wù)學(xué)習(xí)的另外一個問題,即各任務(wù)收斂速度不同,該框架中提出了簡單的經(jīng)驗準(zhǔn)則。當(dāng)某個子任務(wù)達到最好表現(xiàn)以后,就停止該任務(wù)的訓(xùn)練。
人臉的邊緣信息和人臉關(guān)鍵點有很明顯的關(guān)系,因此基于邊緣感知的人臉關(guān)鍵點檢測算法Boundary-Aware Face Alignment也被提出,它將13條人臉邊緣線所描述的結(jié)構(gòu)信息融入到關(guān)鍵點檢測中,極大地提升了算法在大側(cè)臉、夸張表情、遮擋、模糊等極端情況下的檢測精度,其整個流程圖如下。
Boundary-Aware Face Alignment的整體思想是使用hourglass網(wǎng)絡(luò)初步估計經(jīng)過人臉檢測后的輸入人臉邊緣熱圖,然后使用一般級連回歸模型進行關(guān)鍵點預(yù)測。
人臉輪廓線共包括13條:即外輪廓、左眉、右眉、鼻梁、鼻邊界、左上眼皮、左下眼皮、右上眼皮、右下眼皮、上嘴唇上邊、上嘴唇下邊、下嘴唇上邊、下嘴唇下邊?;谳喞€可以產(chǎn)生邊緣熱圖,具體的方式就是首先對離散的關(guān)鍵點進行插值得到密集線條和對應(yīng)的二進制邊界特征圖,然后計算周圍像素到非零邊界像素的高斯距離得到距離變換圖,最后根據(jù)閾值得到邊緣熱圖。
為了更好的利用邊緣信息,在回歸模型中分步多次將邊緣熱圖添加到特征層進行特征融合,其融合模型(Feature Map Fusion)如下圖:
可以看出首先將邊界熱圖進行下采樣,然后與特征圖進行相加,經(jīng)過一個hourglass子網(wǎng)絡(luò)T將通道變換到特征圖相同,然后經(jīng)過Sigmoid函數(shù)歸一化得到概率,對背景區(qū)域進行弱化。將概率圖與輸入特征逐個像素相乘后得到新的特征,最后與原輸入特征進行通道拼接得到改進后的特征。
關(guān)鍵點檢測任務(wù)和姿態(tài)估計問題是一脈相承的,因此姿態(tài)信息也常被用于輔助關(guān)鍵點檢測。2019年騰訊AILab提出的PFLD框架使用了3維的位姿信息作為輔助,同時對樣本不平衡進行了損失函數(shù)的優(yōu)化,其框架示意圖如下。
因為輸入模型的人臉已經(jīng)被中心化和歸一化,所以只需要3個角度信息作為監(jiān)督。關(guān)鍵點檢測任務(wù)中一個典型能夠處理不平衡樣本的損失函數(shù)設(shè)計如下:
其中M表示人臉樣本的數(shù)量,N表示每張人臉預(yù)設(shè)的需要檢測的特征點數(shù)目,??表示權(quán)重,d表示關(guān)鍵點的距離。
PFLD框架綜合了幾何約束和數(shù)據(jù)不平衡問題后提出了如下的損失函數(shù):
這里的c表示不同類別的人臉: 包括正臉、側(cè)臉、抬頭、低頭、表情以及遮擋等類,采用分類的倒數(shù)??cn作為權(quán)重。??表示yaw、pitch、roll 三種角度之間的偏差,角度越大其 cos值越小,權(quán)重則越大,說明要給大姿態(tài)的人臉更多的權(quán)重。

4、小結(jié)

深度學(xué)習(xí)技術(shù)的出現(xiàn)使得人臉關(guān)鍵點算法性能不斷提升,但是還存在一些難點,其中最經(jīng)典的就是人臉姿態(tài)和遮擋。雖然近年來出現(xiàn)了一些處理該問題的方法,但目前在實際應(yīng)用中,尤其在實時低圖像質(zhì)量條件下,當(dāng)姿態(tài)發(fā)生劇烈改變,以及遮擋比例較大時,現(xiàn)有方法的精度距離實際應(yīng)用還有較大差距,需要進一步研究和提升。
另外,光照、表情、妝造也會對人臉關(guān)鍵點定位精度造成一定的影響,當(dāng)前除了豐富數(shù)據(jù)集中各類樣本外,也有使用生成對抗網(wǎng)絡(luò)模型來增強模型泛化能力的一些研究思路。
人臉關(guān)鍵點檢測是很多人臉任務(wù)的基礎(chǔ),在工業(yè)應(yīng)用中往往還需要進行跟蹤以提升關(guān)鍵點的穩(wěn)定性,目前對人臉關(guān)鍵點進行跟蹤有兩個主要的思路。第一個就是基于一些傳統(tǒng)的跟蹤算法,如卡爾曼濾波等進行平滑跟蹤,第二個就是基于深度學(xué)習(xí)模型直接預(yù)測視頻人臉關(guān)鍵點,相關(guān)的技術(shù)就留待讀者去自行拓展學(xué)習(xí)。

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多