近期,微軟發(fā)布了一款有趣的應(yīng)用——“微軟我們”(TwinsOrNot.net),只需任意上傳兩張人物照片,就可以知道他們長的有多像,比如,測試你是否和某個明星長得很像,或者夫妻/男女朋友是不是有夫妻相等。與前一陣風(fēng)靡全球的How-Old.net相似,它們都很巧妙地將人臉識別與社交網(wǎng)絡(luò)中的人際交往結(jié)合在一起,雖然不能做到百分之百精確,但高科技加詼諧的人際交往和傳播效果,可以說是人臉識別技術(shù)和社交網(wǎng)絡(luò)發(fā)展到一定階段、自然而然的應(yīng)用創(chuàng)新。
在可以預(yù)見的未來,這樣的創(chuàng)新會越來越多,而且將不僅限于娛樂或是創(chuàng)造茶余飯后的談資。在Build 2015開發(fā)者大會上,微軟推出了基于云計算平臺Azure的牛津計劃(Project Oxford),它可以提供一系列基于機器學(xué)習(xí)的技術(shù)服務(wù),除了人臉識別,還有語音處理、計算機視覺和語言理解等智能服務(wù),賦予開發(fā)者開發(fā)人工智能應(yīng)用的能力。每個開發(fā)者都可以利用這些匯聚微軟研究院多年研究成果的API設(shè)計、開發(fā)自己的應(yīng)用,而無需成為數(shù)據(jù)科學(xué)家或者掌握相關(guān)基礎(chǔ)技術(shù)?;谂=蛴媱澋娜四樧R別API,微軟工程師僅用了幾個小時就開發(fā)出前文提到的人臉識別應(yīng)用最初的演示版。
開發(fā)者們可以用牛津計劃的API實現(xiàn)很多有趣的想法,而作為提供人臉識別技術(shù)的中國研究團隊,我們要做的除了根據(jù)用戶反饋快速迭代精進API,更要從研究本源上不斷優(yōu)化人臉識別算法。
大量”閱讀“照片學(xué)習(xí)辨識,深度學(xué)習(xí)成主流識別方式
微軟亞洲研究院在人臉識別領(lǐng)域已經(jīng)耕耘了近20年時間,從最早的子空間方法,到后來的局部描述子方法,再到現(xiàn)在的深度學(xué)習(xí)方法,我們歷經(jīng)了所有人臉識別技術(shù)的主流研究方法。
在20世紀(jì)80、90年代,人臉識別的誤差還比較大,應(yīng)用領(lǐng)域也很有限,通常在檢查證件照等特定領(lǐng)域才會使用。當(dāng)時的技術(shù)頗為簡單,通常是將圖像經(jīng)簡單的預(yù)處理后線性地映射到一個高維向量空間中。由于只是線性模型能力的不足,那時的識別準(zhǔn)確率與今天相比大概是數(shù)10倍的差距。
在2000年~2010年,局部描述子方法成為研究主流。它在人臉的局部區(qū)域(如眉、眼、鼻、嘴等)抽取局部描述子,再線性或非線性地映射到高維向量空間中去。這類方法的識別準(zhǔn)確率較上一階段的子空間方法有很大提升。不過因為特征和模型始終是人工設(shè)計的,所以仍然存在一定的局限性。
從2012年至今,深度學(xué)習(xí)方法在學(xué)術(shù)界被迅速地廣泛使用。通過深層神經(jīng)網(wǎng)絡(luò)訓(xùn)練出來的人臉識別算法極大地提高了識別精度。簡而言之,就是讓已經(jīng)在網(wǎng)絡(luò)結(jié)構(gòu)中預(yù)設(shè)了人臉識別先驗知識的神經(jīng)網(wǎng)絡(luò)大量“閱讀”很多人在各種環(huán)境(例如光照,視角,表情)下拍攝到的不同人臉照片,自動學(xué)習(xí)并提取人臉各個部位和尺度的低,中,高層特征。在大量學(xué)習(xí)之后,它便能根據(jù)所提供的監(jiān)督信息將不同的人分開。
隨著計算機技術(shù)的發(fā)展,廉價的PC+GPU的方式可以提供上千個并行的計算單元,這讓深度學(xué)習(xí)一下子在多個計算機研究領(lǐng)域異軍突起,成就了相當(dāng)多全新的研究方法。
人臉識別的基礎(chǔ)環(huán)節(jié)
How-Old.net和“微軟我們”主要是對靜態(tài)的人臉照片進行識別,這只使用了人臉識別技術(shù)中的一小部分。一個完整的人臉識別系統(tǒng),可以在含有人臉的圖片或視頻流中自動檢測和跟蹤人臉,進而達到識別目的,通常也叫做人像識別、面部識別??偟膩碚f,人臉識別系統(tǒng)可以大致分為以下四個部分:
首先,檢測人臉在哪里。首先要從照片中識別出人臉在哪里,它的大小、位置等。目前常用的是級聯(lián)分類器,可以利用人工設(shè)計的特征模型或深度學(xué)習(xí)模式進行一級一級的篩選。若要加快速度,可在前期使用人工設(shè)計的特征模型,快速篩去不是人臉的部位,后期利用深度學(xué)習(xí)去精細化地判斷每一個留下的部位是否是人臉。
其次,定位人臉和各個部位。在給定人臉之后,再確定出鼻子、眼睛、嘴巴等,這通常采用回歸預(yù)測的方法?;貧w器可以有很多種,隨機森林方法、深度學(xué)習(xí)方法都能實現(xiàn)。以深度學(xué)習(xí)為例,訓(xùn)練的時候告訴回歸器到底眼睛在哪里、鼻尖在哪里,預(yù)測值和真實值的距離越小越好,并據(jù)此不斷調(diào)整回歸器的參數(shù),用成千上萬的人臉照片反復(fù)訓(xùn)練,直到回歸器能夠準(zhǔn)確輸出人臉各個器官的準(zhǔn)確位置信息。
第三,人臉特征的匹配與識別。這個過程是將待識別的人臉特征與已經(jīng)得到的人臉特征模板進行比較,根據(jù)詳細程度對人臉的身份信息進行判斷。使用深度學(xué)習(xí)方法可以大大簡化這一過程,因為所有的特征匹配都是由神經(jīng)網(wǎng)絡(luò)自動實現(xiàn),這也是目前最有效的識別方法。
最后,人臉屬性的識別。用戶感興趣的人臉屬性可能包含很多,比如年齡(使用在How-Old.net中),性別,表情,種族,發(fā)型,是否戴眼鏡,胡子的類型。這類屬性通常使用深度學(xué)習(xí)方法可直接進行分類或回歸。
高識別率與用戶體驗
雖然經(jīng)常聽說有人臉識別算法的準(zhǔn)確率在某個特定的評測數(shù)據(jù)庫上已經(jīng)超過人類的識別率,但在實際應(yīng)用場景中,并沒有一個放之四海的基準(zhǔn)可以去衡量人臉識別算法的準(zhǔn)確率。針對不同的應(yīng)用,訓(xùn)練數(shù)據(jù)和算法共同決定了識別率和用戶體驗。
錯誤接受率是人臉識別中的一個重要指標(biāo),通常錯誤接受率越低越好。不能錯放任何一個人進去,嚴(yán)格確保安全,但同時也可能意味著真正的用戶在多次嘗試刷臉之后也進不去,這大大降低了最終的用戶體驗。所以在實際應(yīng)用中,安全與用戶體驗的謹(jǐn)慎平衡是必須要考慮的重要因素。所以,當(dāng)我們看到人臉識別應(yīng)用的巨大進步時,仍需要客觀、嚴(yán)謹(jǐn)?shù)貙Υ四樧R別算法本身,時刻提醒自己,它的局限性猶存,我們還需要不斷尋求更多、更有效的方法去提升它。
結(jié)束語
科學(xué)研究的每一次進步,都會催生多種多樣的創(chuàng)新應(yīng)用。深度學(xué)習(xí)、社交網(wǎng)絡(luò)、移動互聯(lián)網(wǎng)的興起相互交叉,加之人臉識別研究多年的積累,開啟了人臉識別應(yīng)用的創(chuàng)新潮,它們或有趣、或?qū)嵱?,并且一定會越來越多?;蛟S在不久的未來,計算機就能夠通過人類的表情和肢體語言體會人類的喜怒哀樂。
相關(guān)閱讀:令人尷尬的生物識別技術(shù):氣味、糞便、屁股