未來(lái)即將“觸臉可及”,人臉識(shí)別技術(shù)大揭秘!
原創(chuàng)【51CTO.com原創(chuàng)稿件】昨日,《人臉識(shí)別有多牛?AIFR 技術(shù)分分鐘讓你變“明星”》一文提到面部特征隨著年齡的增長(zhǎng)產(chǎn)生變化,并圍繞 AIFR 技術(shù)的生成和判別兩大模型進(jìn)行了技術(shù)分析。
(a)輸入圖像(b)人臉變形(c)人臉變形(d)匹配的明星圖像
“你最像哪位明星?”對(duì)比照
今天,我們將從技術(shù)專家給出的流程圖切入,對(duì)“你最像哪位明星?”這張小應(yīng)用對(duì)比照背后的基本流程與算法做解析。
圖1:人臉技術(shù)的基本流程
如圖 1 所示,用戶在應(yīng)用中輸入一張圖像(例如:特朗普的圖像),人臉識(shí)別的基本流程如下:
- 通過(guò)人臉檢測(cè)技術(shù),找到輸入圖像中的人臉位置。
- 關(guān)鍵點(diǎn)定位技術(shù),將人臉中的關(guān)鍵點(diǎn)位置找到,例如:眼睛、鼻子、嘴巴以及輪廓上的關(guān)鍵點(diǎn)。
- 人臉特征提取步驟,將人臉位置進(jìn)行校正,通過(guò)特征提取方法,計(jì)算刻畫人臉的特征向量。
- 對(duì)于輸入圖像(a),可以計(jì)算得到對(duì)應(yīng)的特征向量 A;同時(shí)針對(duì)應(yīng)用的明星人臉庫(kù),可以存儲(chǔ)為人臉特征庫(kù) DB。
- 將 A 與 DB 中每一個(gè)向量逐一計(jì)算相似度,然后根據(jù)相似度排序的結(jié)果,就可以將最相似的明星臉找到,例如圖像(d)中的明星。
- 圖像變形的例子(b)和(c),則是采用計(jì)算機(jī)圖形學(xué)方法進(jìn)行人臉紋理變換的結(jié)果。
其中,人臉特征的用途可以分為特征比對(duì)和特征搜索兩種:
- 特征比對(duì):將特征向量與預(yù)先存儲(chǔ)的人臉特征數(shù)據(jù)庫(kù)進(jìn)行相似度排序,得到與輸入圖像相似度***的返回結(jié)果,一般是身份識(shí)別的結(jié)果。
- 特征搜索:在應(yīng)用人臉數(shù)據(jù)庫(kù)中,返回與輸入圖像相似的結(jié)果。
下面分別對(duì)上述各步驟所涉及的算法和應(yīng)用的技術(shù),進(jìn)行簡(jiǎn)單的介紹:
人臉檢測(cè)技術(shù)
2000 年左右,美國(guó)科學(xué)家 Paul Viola和Michael J.Jones 提出了一種可以實(shí)時(shí)運(yùn)行的人臉檢測(cè)方法,即基于 Adaboost 的人臉檢測(cè)方法。
該方法采用快速計(jì)算的 Harr 特征,通過(guò) Adaboost 算法選擇出有效特征和一系列的弱分類器(weak learner),***以線性組合的方式得到最終的強(qiáng)分類器,提高了檢測(cè)的速度和精確率。在 OpenCV 中,它有相應(yīng)的訓(xùn)練算法和模型可以調(diào)用。
以此為基礎(chǔ),人們提出了各種不同形式的改進(jìn)方法,例如基于 PixelDifference(PD)特征的檢測(cè)方法。他們采用像素間的灰度差值作為特征,可以進(jìn)一步提高檢測(cè)速度。
更進(jìn)一步,將 PD 特征進(jìn)行歸一化,提出了 Normalize Pixel Difference(NPD)特征,提高了對(duì)光照的魯棒性。這些方法計(jì)算資源消耗少、模型簡(jiǎn)單,適合應(yīng)用于移動(dòng)設(shè)備。
通過(guò)近二十年的探索,人臉檢測(cè)領(lǐng)域取得了豐富的研究成果,并在很多場(chǎng)合進(jìn)行了落地應(yīng)用。近幾年,深度學(xué)習(xí)發(fā)揮出越來(lái)越大的威力,將人臉檢測(cè)技術(shù)推向了新的高度。
例如:基于 FasterR-CNN 的人臉檢測(cè)方法,取得了在 FDDB 測(cè)試集合上的優(yōu)秀檢測(cè)效果。圖 2 給出了該方法的一些人臉檢測(cè)的示例圖。
圖 2:人臉檢測(cè)示例圖
上圖的綠色框是人工標(biāo)注位置,紅色框是算法輸出的檢測(cè)結(jié)果。
人臉關(guān)鍵點(diǎn)定位技術(shù)
人臉關(guān)鍵點(diǎn)定位的目的是在人臉檢測(cè)的基礎(chǔ)上,進(jìn)一步確定臉部特征點(diǎn)(眼睛、眉毛、鼻子、嘴巴、臉部外輪廓)的位置。
根據(jù)不同應(yīng)用,人臉關(guān)鍵點(diǎn)的數(shù)量定義各不相同,少則幾個(gè),多則上百個(gè)。這個(gè)技術(shù)的核心是如何精確計(jì)算出人臉中關(guān)鍵點(diǎn)的位置,一般涉及到的算法分成 3 種。
- ASM/AAM 經(jīng)典算法。它由英國(guó)科學(xué)家 Tim Cootes 提出,基本思路是將人臉的紋理特征和各個(gè)特征點(diǎn)之間的位置進(jìn)行約束結(jié)合。其中,Stam 開源包是 ASM 的一種實(shí)現(xiàn)方式,可以在實(shí)際中運(yùn)用。
- 基于 Boosting Tree 的算法。例如基于 Ensemble of RegressionTress(ERT)算法的人臉關(guān)鍵點(diǎn)檢測(cè)方法,學(xué)習(xí)每個(gè)關(guān)鍵點(diǎn)的局部特征,然后將特征組合起來(lái),使用線性回歸檢測(cè)關(guān)鍵點(diǎn)。
該方法檢測(cè)速度快,定位效果也不錯(cuò)。開源的 dlib 庫(kù)中(http://dlib.net/)有這個(gè)算法的完整實(shí)現(xiàn)方法。
- 基于深度學(xué)習(xí)的算法。例如香港中文大學(xué)的 Tang Xiaoou 教授所在研究組提出了 CNN 的級(jí)聯(lián)結(jié)構(gòu),在關(guān)鍵點(diǎn)定位上取得了不錯(cuò)的效果。
如圖 3 所示,是一些關(guān)鍵點(diǎn)定位的示例圖。
圖 3:人臉關(guān)鍵點(diǎn)定位的示例圖
人臉特征提取技術(shù)
經(jīng)典的特征描述方法,大都可以運(yùn)用于人臉特征提取技術(shù),包括著名的特征提取算法 SIFT (Scale-invariant Feature Transform)、HoG(Histogram of Oriented Gradient)等。
這些算法具有很強(qiáng)的特征提取能力,但是手工選取特征是一件非常費(fèi)力、啟發(fā)式(需要專業(yè)知識(shí))的方法,而且它的調(diào)節(jié)需要大量的時(shí)間。
在大數(shù)據(jù)時(shí)代,人們可以獲得海量的圖像數(shù)據(jù),采用深度學(xué)習(xí)方法,可以獲得更加高效的人臉特征。目前,深度學(xué)習(xí)成為了提取特征的主流方法,在人臉識(shí)別領(lǐng)域?qū)覄?chuàng)佳績(jī)。
人臉識(shí)別后續(xù)應(yīng)用
經(jīng)過(guò)特征提取,人臉圖像信息轉(zhuǎn)換成了高維特征向量,例如 4096 維浮點(diǎn)的深度學(xué)習(xí)特征向量。后續(xù)的應(yīng)用,就可以根據(jù)實(shí)際場(chǎng)景進(jìn)行不同的領(lǐng)域探索了,例如人臉身份識(shí)別、人臉圖像搜索、人臉支付等。
除了應(yīng)用在金融社保、教育安防行業(yè)等比較利益攸關(guān)的場(chǎng)合外,人臉識(shí)別技術(shù)也可以應(yīng)用在其他輕松娛樂(lè)的行業(yè),比如:直播美顏,視頻特效等領(lǐng)域。
- 直播美顏:現(xiàn)在的直播平臺(tái)都會(huì)提供人臉美顏的功能,讓主播的形象更加光彩照人。
- 視頻特效:通過(guò)手機(jī)拍攝,在朋友圈中分享一些豐富多彩的特效視頻,是一件很 cool 的事情。
圖 4:視頻特效
這類應(yīng)用中所涉及的底層技術(shù)(人臉檢測(cè)、關(guān)鍵點(diǎn)跟蹤)大部分都需要在手機(jī)上實(shí)時(shí)運(yùn)行,帶來(lái)的技術(shù)挑戰(zhàn)是:如何在保證準(zhǔn)確率的同時(shí)具有非常高的運(yùn)行速度,以便達(dá)到手機(jī)上實(shí)時(shí)處理的效果。
目前所采用的解決方案大部分是通過(guò)算法優(yōu)化和模型優(yōu)化的工程手段,將算法移植到手機(jī)端,例如:將基于 Adaboost 的人臉檢測(cè)算法,和基于 ERT 的關(guān)鍵點(diǎn)檢測(cè)算法相結(jié)合,分別通過(guò)樣本訓(xùn)練得到較小規(guī)模的模型,從而適合于在手機(jī)端運(yùn)行。
通過(guò)這些不同的應(yīng)用方式,人臉識(shí)別技術(shù)不但為人們的生活帶來(lái)了便利,也增添了生活的樂(lè)趣?;ヂ?lián)網(wǎng)時(shí)代,人臉識(shí)別技術(shù)應(yīng)用到很多場(chǎng)合,如何保證數(shù)據(jù)安全以及技術(shù)的合理使用,是不容忽視的課題。只有安全合理的使用,我們才能發(fā)揮好人臉識(shí)別技術(shù)的作用,為人們生活帶來(lái)福利。
張洪明
蘑菇街高級(jí)技術(shù)專家
張洪明(蘑菇街花名:民達(dá))2015 年加入蘑菇街,負(fù)責(zé)美麗聯(lián)合集團(tuán)圖像技術(shù)的研發(fā)工作,創(chuàng)建和帶領(lǐng)一個(gè)算法團(tuán)隊(duì),與工程和業(yè)務(wù)團(tuán)隊(duì)合作,為集團(tuán)提供圖像技術(shù)支持。主要工作包括:圖像搜索、圖像識(shí)別、商品圖像內(nèi)容分析等;業(yè)務(wù)涉及電商導(dǎo)購(gòu)、直播等場(chǎng)景。在加入蘑菇街之前,分別在 NEC 中國(guó)研究院、阿里巴巴集團(tuán),從事圖像技術(shù)和機(jī)器學(xué)習(xí)的研究和應(yīng)用。
參考文獻(xiàn)
[1].Viola.Paul, and MichaelJ. Jones. "Robust real-time face detection." International journal ofcomputer vision 57.2 (2004): 137-154.
[2]OpenCV
[3]Markuš N, Frljak M, Pandžić I S, et al.Object detection with pixel intensity comparisons organized in decisiontrees[J]. arXiv:1305.4537, 2013.
[4]Liao S, Jain A K, Li S Z. A fast andaccurate unconstrained face detector[J]. IEEE transactions on pattern analysisand machine intelligence, 2016, 38(2): 211-223.
[5]Huaizu Jiang, Erik Learned-Miller.FaceDetection with the Faster R-CNN.arXiv:1606.03473,2016
[6]http://personalpages.manchester.ac.uk/staff/timothy.f.cootes/
[7]http://www.milbo.users.sonic.net/stasm/index.html
[8]Kazemi V, Sullivan J. One millisecondface alignment with an ensemble of regression trees. Proceedings of the IEEEConference on Computer Vision and Pattern Recognition. 2014: 1867-1874
[9] http://dlib.net
[10]Y. Sun, X. Wang, and X. Tang. DeepConvolutional Network Cascade for Facial Point Detection.In Proceedings of IEEE Conference on Computer Vision and PatternRecognition (CVPR), 2013
[11]Taigman, Y., Yang, M., Ranzato, M. A.,& Wolf, L. (2014, June).Deepface: Closing the gap to human-levelperformance in face verification. In Computer Vision and Pattern Recognition(CVPR), 2014 IEEE Conference on (pp. 1701-1708).
[12] W. Ouyang, X. Wang, X. Zeng, S. Qiu,P. Luo, Y. Tian, H. Li, S. Yang, Z. Wang, C. C. Loy, and X. Tang,"DeepID-Net: deformable deep convolutional neural networks for objectdetection", IEEE Conf. on Computer Vision and Pattern Recognition,June 2015
[13] Florian Schroff, Dmitry Kalenichenko,James Philbin, "FaceNet: A unified embedding for face recognition andclustering", 2015 IEEE Conference on Computer Vision and PatternRecognition (CVPR), vol. 00, no. , pp. 815-823, 2015
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】