人臉解鎖的前世今生
作者 | 喬梁
編輯 | VincentAI前線出品| ID:ai-front
AI 前線導語:「目前市面上有很多產品,比如:支付寶,美顏相機還有人臉解鎖功能等等,很多都是應用了Face++ 的技術。本文的作者喬梁先生,將從自己作為產品專家的角度,詳細解析人臉解鎖的前世今生」。
大家好,我是喬梁,來自 Face++。我今天分享的內容可能偏乾貨多一點,主要介紹一下人臉解鎖的具體技術。
人工智慧分為兩個階段,首先是感知階段,然後是認知階段。目前整個人工智慧還在比較初級的感知階段,而最主要的兩種感知途徑就是視覺和聽覺,目前我們主要做的是視覺方向。我們公司成立於 2012 年,在視覺方向研究了很多年,一直專註以人臉為核心的方向,那麼為什麼我們會做人臉呢?在我們看來,人臉是信息量最大、商業價值最高的圖像數據,我們可以通過一張圖像知道一個人的年齡、性別、顏值、以及該人是否為他本人等等很多信息。
手機解鎖在今年終於爆發了,它其實是人臉識別多年經驗積累的最終一個落地結果。我們先看一下手機安全的發展過程。
從 2008 年第一台蘋果手機的發布到現在已有將近 10 年的時間。在 2009 年時候出現了密碼解鎖;在 2010 年的時候了出現圖形鎖之後出現了很多生物識別技術(見圖中藍色字體)。生物識別的出現,最主要目的是為了解決用戶體驗,因為時常需要輸入密碼很麻煩,畫一個圖形解鎖也很麻煩,在 2013 年有了指紋解鎖之後,大家手指一按馬上就可以解鎖了。指紋、人臉識別、虹膜都是為了解決體驗性問題。
今年有兩款代表性的手機發布,讓人臉這種生物識別技術站到了台前。第一個是上半年發布的三星 S8,三星 S8 是前置單攝的解鎖方案,也就是今年最普及的人臉解鎖方案;第二個是 iPhone 10。iPhone 10 是前置結構光雙攝的解鎖方案,這個代表著人臉解鎖的未來趨勢。
那麼是什麼因素推動了今年的人臉解鎖成為手機解鎖的主流呢?
我覺得最主要的因素是工業設計和製造工藝的提升。今年的全面屏成為工業設計上的主流趨勢,大指紋設計挪到了手機背面,指紋的用戶體驗優勢降低了。人臉不僅彌補了體驗上的不足,更重要的是,人臉只需要攝像頭就可以完成,不需要像指紋一樣佔用更多屏幕面積,所以能夠大大提高屏佔比。
第二個原因是成本和收益問題,如果廠商想要在手機那麼小的空間內裝一個指紋模組、虹膜模組,所要犧牲的手機內部空間佔用,換句話說所需要的成本是巨大的。而人臉識別不會佔用除攝像頭模組外更多的內部空間。
第三個是晶元處理能力的提升與人臉識別演算法的成熟。一些硬體層的加速方案可以讓人臉識別的演算法能在手機上跑得更快,新的活體技術可以讓刷臉變得更安全。這在後面會具體來講。
第五個原因是攝像頭模組製造工藝的突破。其實結構光在幾年前就有了,但是並沒有小型化到手機這麼小的體積內,iPhone 是第一家推出這樣設備的廠商。除了結構光之外,還包括普通的紅外 IO 攝像頭、TOF 攝像頭、攝像頭模組的小型化。
最後一個原因是用戶體驗,大家在刷臉解鎖的過程中不需要做任何的配合式操作,可以拿起手機直接解鎖。而刷臉還可以抵抗一些常見的干擾,例如暗光、側臉、小範圍遮擋等。這讓刷臉成為一種體驗更優的生物識別方案。
說到用戶體驗問題,我們來對比一下現在最常見的手機解鎖方案的體驗。
首先在底庫採集方面,人臉解鎖只需要採集一張照片就可以了,但指紋需要採集多張。虹膜相對比較快,但虹膜需要把手機舉到面前然後等幾秒鐘。從解鎖速度來看,人臉解鎖速度是最快的,拿起手機直接解鎖,而指紋需要按到感應器,虹膜也需要對齊眼部。指紋解鎖存在一些常見的干擾,比如指紋在手濕的時候完全不能解鎖,戴手套也不能解鎖。虹膜解鎖的時候,戴隱形眼鏡或者對著陽光直射也會受到干擾。人臉識別也存在干擾場景,比如說晚上家裡燈全關了,或者戴墨經、雙胞胎等等都會干擾,而我們現在解鎖已經做到通過點亮屏幕的亮度就可以進行解鎖。因此人臉在整個體驗上比較具有優勢。
說完用戶體驗,我們來說一下解刷臉這件事到底安不安全。
常見的生物識別,除了指紋、虹膜還包括指靜脈、鞏膜、視網膜等一些生物識別特徵。傳統生物識別所採集到的都是隱私的特徵,所以人臉是個比較另類的生物識別方式,它採集到的是一個沒有那麼隱私的數據,因為在我們日常生活中,你很容易暴露自己的照片。
如上圖所示,從另一個角度來講,我們人眼很難辨別這些指紋圖像是不是一個人,但我們能夠很輕鬆地知道右邊這些圖是否屬於同一個人。在我們人腦中有個區域叫梭狀回,這個區域就是用來做人臉識別的。梭狀回出了問題,就是俗稱的臉盲症,得了這個病的人就沒法做人臉識別。以上觀點是想說明人臉相比其它生物識別是缺少私密性的,而且人臉更適合由人腦來做識別。所以將人臉識別放到解鎖上來做,需要更強的鑒別真偽的手段。
那麼人臉識別背後到底用了哪些技術?我們看一下手機解鎖的流程。
第一步,我們拿起手機,採集視頻序列幀,這時候需要檢測這些幀有沒有人臉,需要找到人臉。
第二步,分析人臉上的一些屬性,包括人臉眼睛的睜閉狀態,頭的角度等情況,根據這個去判斷其到底適不適合解鎖。比如眼睛閉著的時候就不適合解鎖,因為這說明是別人在拿著我的手機對著我拍。第三個技術是活體檢測,我們需要通過畫面進行判斷你到底是本人在用手機,還是別人在拿著你的翻拍照片進行解鎖。第四項技術是人臉識別,我們通過把底庫的照片和這一幀所提取出來的人臉特徵進行比對,判斷到底是不是屬於同一個人。
人臉識別大家應該很早之前就聽說過,但是實際上這技術的歷史並不是特別長。2001 年人臉的檢測剛剛做到可以在 PC 上實時運行,但沒有用到深度學習。2005 年的時候,歐姆龍第一次把人臉檢測做到了一台相機裡面,這樣相機在拍照的時候就可以對人臉進行對焦。2012 年的時候,清華有三個同學,大家一起做了一款遊戲 APP,這個遊戲會根據你的頭上下搖動來控制遊戲里的主角,這是第一款基於人臉進行控制的遊戲。這三個同學就是我們的三位創始人。在手機上能運算人臉識別演算法,這對於之前又是一個很大的提升。2015 年的時候,馬雲在漢諾威展上展示了支付寶刷臉支付的方案。大家都知道,支付對於安全有很高的要求,在這個方案里用到了各項人臉技術,包括人臉檢測、人臉識別和各項活體檢測。但這個方案一直到今年才開始商用,在這幾年間刷臉支付得到了突飛猛進的發展。我們去年推出了一個產品,叫做 FaceID。大家在使用支付寶或者一些金融產品時,有時候手機會要求你做一些配合式動作,比如眨眼、搖頭,這就是 Face ID 做的事情。眨眼、搖頭不是用來做人臉識別的,是用來做活體檢測,判斷人是不是活人。
那什麼是活體檢測?活體檢測背後用到了哪些技術?
如果一個人有指紋、有虹膜,他是活體嗎?他不是活體,因為光有指紋和虹膜還不夠,你還需要辨別這個人是否還「活著」。比如,他的手指是熱的嗎?手指下的毛細血管里有血液在流動嗎?這就是活體要解決的問題。所以可以看到,其實任何一種生物識別方式,對活體的判別是基於人的一些先驗知識。不管是人臉,指紋還是虹膜,其實現在只能從這些先驗知識入手進行判斷,如同管中窺豹,都存在很大的局限性。
如上圖所示。大家覺得比較安全的指紋和虹膜,其實也可以被攻破。關於指紋攻擊,網上可以買到幾十元的硅膠模,只要有機會取到機主的指紋圖像,翻印成硅膠模就可以解鎖通過了,因此現在指紋模組也做了活體的優化,比如判斷當前手指的血液流速,從而證明你是活人。而關於虹膜,如果列印高清照片再配合一副隱形眼鏡,也能進行攻擊。
在刷臉的活體技術上,去年我們做過的線上金融場景,遇到過這幾類活體攻擊。第一類是換臉攻擊,比如說這個人臉上貼成另一個人的臉。第二個是屏幕翻拍攻擊,類似於今年手機解鎖攻擊。第三個是通過計算生成一張 3D 假臉進行攻擊。因為金融場景的特殊性,攻擊手段層出不窮。我們也分別做出了不同類型的活體演算法,來防禦這些攻擊。例如我們會要求用戶搖搖頭、眨眨眼,來判斷當前進行操作的對象是不是一個「活人」。
手機解鎖對活體提出了更高要求。因為解鎖需要拿起手機就完成檢驗,用戶不會願意為了解個鎖還要搖搖頭、眨眨眼。怎麼讓手機在那麼短的時間內、沒有任何配合動作的條件下,也能分辨出你的真偽呢?
上面的三張圖,大家能看出哪個是真人嗎?
上面那張還比較簡單。這張圖呢?
正確答案是最後兩張是真人。第一張其實很難分辨,但顴骨有個滑鼠指針;第二張是這個人背景虛化了,真實攝像頭是不會採集到背景虛化的人;第三個是我們將照片列印出來剪出來在攝像頭面前拍;然後第四個是屏幕翻拍。
所以在手機解鎖的場景下需要進行防範,首先需要定義攻擊場景有哪些。
手機常見的攻擊場景,第一個是屏幕翻拍攻擊,第二個是照片列印攻擊。
在這兩種攻擊場景下,會有一些漏洞被我們捕捉到。第一個是露邊框,手機屏幕在攻擊或者列印照的時候,會露出邊框;第二個是模糊問題,如果手機攻擊離得非常近,邊框沒有了,但是畫面會模糊。類似的還包括像素點、摩爾紋、手機屏反光,變形,扭曲等等問題。
剛才我們給機器提供了大量的攻擊數據讓它去訓練,機器看多了數據,它就自然能辨別哪些是攻擊數據了。所以,機器最終做到的活體防禦水平,要遠遠超過這 6 種我們肉眼也可以分辨的場景,在活體防禦上,機器要比我們的肉眼靠譜得多。
下面說幾個人臉識別中常見的誤區。
第一個,我們經常遇到一些問題,人臉識別安全程度打幾分?指紋幾分?安全標準從來不是可以用百分比數字來簡單衡量的。判斷安全的標準是成本。我們拿鎖來舉例,A 級鎖的攻擊成本是一分鐘內就可以去攻破;B 級鎖的供給成本差不多要 5 分鐘;有 C 級鎖,即金庫用的鎖,需要花三個小時才能夠把鎖給攻破。所以說安全的標準,其實是你的攻擊成本。iPhone X 的安全性更高,不是說他的人臉識別率比單攝手機高了多少百分點,而是他的攻擊成本更高。因為結構光攝像頭可以防禦所有的平面攻擊手段,攻擊者需要造出立體的人臉模型才能攻擊。
第二個,紅外攝像頭是不是更安全?
如上圖,從一張圖像的數據量來看,普通攝像頭採集到的畫面數據量要遠遠大於紅外攝像頭的數據量,所以,並不能簡單地說紅外更安全。但紅外攝像頭確實可以提高安全性,它的安全性主要體現在對 RGB 的補充上。我們肉眼只能看到 RGB 圖像,而紅外光是我們人眼不可見的光。通過紅外光圖像,我們可以有效辨別到底哪些是人臉,哪些是手機屏。另外紅外光可以輔助在暗光的場景下進行解鎖,對體驗也有幫助。
第三個,人臉關鍵點不等於人臉特徵。
如上圖所示,左邊是關鍵點。我們拿出 10 個人的關鍵點來比較,可以發現每個人的關鍵點是非常相似的,因此通過對比關鍵點非常不靠譜。人臉特徵是指對人臉的一串編碼數據,你可以想像成有一個多維空間,每張人臉是多維空間的一個點,如果採集到了你多張人臉的照片就是多個點,那麼點之間的距離越近就越可能是同一個人,越遠就越可能不是同一個人,我們的邏輯是這樣計算的。
今年除了蘋果外,所有的解鎖方面都是解鎖級的方案,遇到支付場景,還是需要依靠指紋或密碼來完成。我們認為人臉解鎖的未來是人臉支付。而在支付上,只有特定的攝像頭硬體方案才能達到這種安全水準。例如蘋果所採用的結構光。
結構光雙攝,主要的原理是通過結構光的發射器和接受器之間產生的相位差來計算出人臉的深度,並且針對這個深度來判別真偽。所以從結構光硬體本身是能夠防禦所有的 2D 攻擊手段,包括屏幕和紙張。但由於支付場景的敏感性,攻擊者可能採用 3D 列印或者硅膠膜此類成本更高的攻擊手段來竊取機主的財產。 這便需要我們這樣的演算法公司去解決該類活體問題。
前面有提到,刷臉支付在今年才真正落地。在杭州的一家肯德基門店,已經布上了一台刷臉支付機,用戶不用帶錢包和手機,只需要跑到機器前刷臉就能夠完成支付。在這台支付設備的頂上安裝的是結構光攝像頭。
為了同時解決體驗問題和安全問題,我們做出了一項新的突破性的活體技術。具體原理不方便多說,可以給大家看一下下面這張圖。
如上圖所示,大家可以看到右上角的圖,左邊的人臉是個硅膠的三維人臉,有一個真人的手裡著一張紙,紙上有列印出來的 2D 人臉。散斑結構光打在這些材質上會產生光斑,我們把採集到的結構光光斑的畫面進行運算後,可以很有效的判斷出了哪個材質是硅膠、哪個材質是人手、哪個材質是紙張。我們未來會有更多的新技術,來提升手機刷臉支付場景的安全性。
展望未來,我們認為刷臉支付的場景未來會拓展到各行各業,因為刷臉不需要配合,也不需要做任何的操作,用戶沒有感知就可以完成,所以不僅是線上可以用來做支付,線下可以在新零售、無人超市,用刷臉來解決支付問題。
問答環節
提問 1:剛剛提到人臉有 100 多個特徵,我想問問你們現在用演算法、深度學習的話,有沒有辦法可以有意識地去提取某些特徵?因為深度學習的好多學習過程我們沒法控制,有沒有什麼好的方法和辦法?就是關注演算法的學習過程,有辦法去有意識的關注某些互位嗎?
喬梁:您說的特徵應該是指人臉關鍵點。說到部位,關鍵點要不要針對某些部位做特殊的訓練,我覺得是由使用場景來定義的。舉個例子,在美妝場景,需要做唇膏的上色和眼線的上色,對於眼睛和嘴唇的關鍵點要求非常高,所以需要針對這兩個部位去增加更多的點,讓上色變得更自然、更貼合。所以演算法是由落地場景來驅動我們到底需要在哪些地方產生關鍵點,然之後再對數據進行標註、訓練,最後才產生出來。場景是源頭。
提問 2:我有兩個小問題,剛剛有介紹到識別特徵區域是輪廓、眼睛、嘴巴,其實我體驗了很多人臉識別的設備,但一般戴口罩就很難識別出來,然而有些半張臉都可以,那為什麼在戴口罩這塊的識別效果會降低很多呢?另外一個問題,剛才講到 Iphone X 是前置結構光捕捉三維動畫,那塊能詳細介紹一下嗎?
喬梁:我先回答第一個問題。先給大家解讀一個誤區,人臉關鍵點和人臉特徵值是兩個東西。關鍵點是人臉上的點位,它的應用場景通常是一些娛樂場景,比如說做貼紙、做美顏。而人臉特徵與關鍵點無關,它是針對人臉進行一串編碼,我們每張臉都有一串人臉編碼,針對這串編碼來比對當前這張臉和你是不是同一個人,所以這不是同一個東西。您看到的 「半張臉都可以」 的場景,我猜想應該是指的人臉關鍵點。關鍵點分兩步,第一步叫關鍵點的檢測、第二步叫關鍵點的跟蹤。檢測就是原來畫面里沒有人臉,後來出現了人臉,觀察能不能把關鍵點檢測出來,在檢測方面,如果你的面部有大面積的遮擋會是比較困難的,所以在檢測第一幀畫面的時候,臉部還是要盡量保持完整,跟蹤的時候關鍵點有很強的魯棒性,一旦檢測到人臉,我的臉甚至於遮住半張臉都沒有受到影響。
第二個問題,Iphone X 的前置結構光。前置結構光的基本組件有三個。第一個是 RGB 攝像頭,第二個是散斑結構光的發射器,第三個是紅外結構光攝像頭。iPhone X 的攝像頭要比我所說的還要複雜,但為了便於理解,我先從這三個組件的角度來介紹一下。第一個 RGB 攝像頭是用來捕捉人臉畫面進行人臉比對和正常拍照。另外兩個設備都和結構光有關。結構光的原理是基於往你的臉上打一些紅外光斑,並根據發射器和攝像頭之間的相位差,計算出景深信息。由於這種景深信息的精度要遠高於普通的 RGB 雙攝,所以可以防禦一些成本較低的攻擊手段。除了機構光,還有 TOF,是根據紅外光打到臉上反射回來的時間來判斷人的遠近和人臉 3D 的特性。這兩種方案是安全性比較高的攝像頭模組。
提問 3:我想問一個問題,您這邊的話對於人臉識別從傳統單攝像頭到後來的深度攝像頭以及現在這種包括結構光的攝像頭,下一階段 Face++ 關注的趨勢是什麼樣的?謝謝。
喬梁:手機攝像頭硬體方面,首先單 RGB 攝像頭是一直以來的重點,因為從應用場景來看, 70% 以上的手機都是依賴於單攝的。除了單攝之外,目前重點關注的是結構光與 TOF,即 iPhoneX 的方案。因為它能將人臉解鎖提升到支付級;另外,從攝影的角度,我們也在關注 2PD 的技術。它其實是一個單攝,但它的 sensor 將一個像素拆成了兩個次像素,所以它可以採集到兩張畫面。這兩張畫面對齊後,會發現有非常細微的角度差異,我們將角度放大之後,可以讓單攝達到類似於雙攝的效果,獲得一些景深信息。因此我們認為 2PD 會是雙攝的一種低成本替代方案,可以在一定程度上提高人像虛化的質量。
講師介紹
喬梁,Face++產品專家,先後服務於小米、酷6、MySpace等互聯網公司,負責過多款千萬量級C端產品並兩次獲得蘋果 App Store 推薦。目前在Face++負責人臉識別演算法面向各行業的產品規劃及落地,手機解鎖項目負責人。
-全文完-
人工智慧已不再停留在大家的想像之中,各路大牛也都紛紛抓住這波風口,投入AI創業大潮。那麼,2017年,到底都有哪些AI落地案例呢?機器學習、深度學習、NLP、圖像識別等技術又該如何用來解決業務問題?
2018年1月11-14日,AICon全球人工智慧技術大會上,一些大牛將首次分享AI在金融、電商、教育、外賣、搜索推薦、人臉識別、自動駕駛、語音交互等領域的最新落地案例,應該能學到不少東西。目前大會8折報名倒計時,更多精彩可點擊閱讀原文詳細了解。
http://t.cn/Rl2MftP
推薦閱讀:
※老闆來了:人臉識別+手機推送,老闆來了你立刻知道。
※vrn:基於直接體積回歸的單幅圖像大姿態三維人臉重建
※用表情包來玩「勁舞團」?這款結合人臉識別技術的遊戲,我打賭你開始了就停不下來!
※「零基礎」實現人臉表情識別
※Face ID 才是未來,別想指紋了