深入解析人臉解鎖的前世今生

  人工智能分爲兩個階段,首先是感知階段,然後是認知階段。目前整個人工智能還在比較初級的感知階段,而最主要的兩種感知途徑就是視覺和聽覺,目前我們主要做的是視覺方向。我們公司成立於 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 假臉進行***。因爲金融場景的特殊性,***手段層出不窮。我們也分別做出了不同類型的活體算法,來防禦這些***。例如我們會要求用戶搖搖頭、眨眨眼,來判斷當前進行操作的對象是不是一個“活人”。

  手機解鎖對活體提出了更高要求。因爲解鎖需要拿起手機就完成檢驗,用戶不會願意爲了解個鎖還要搖搖頭、眨眨眼。怎麼讓手機在那麼短的時間內、沒有任何配合動作的條件下,也能分辨出你的真僞呢?


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章