手機廠商不斷研發創新的生物識別技術,例如瞳孔辨識、人臉辨識,但這些技術一直都未有正式取代指紋辨識技術。而今次蘋果在 iPhone X 使用 Face ID 取代 Touch ID,大膽地使用 3D 人臉辦識成為手機上唯一的生物識別技術,甚至利用於電子支付的用戶驗證方式。究竟 Face ID 有何與別不同,讓蘋果可以放手一搏?日前蘋果就在自家的機械學習介紹網站上發表學術文章,詳細地講解了 Face ID 背後的運作原理,所使用的技術等等,說明 Face ID 技術為何可全面取代指紋辨識技術。
手機處理大量運算有難度
蘋果最初的人臉辨識技術是建基於名為 CIDetector 寫成的程式集,在 iOS 7 年代利用於 Photo App 的「人物」相簿,但沒有利用於人臉辨識解鎖用途。後來隨著「深度學習」(Deep Learning)的出現,電腦圖像處理應用,可令人臉辨識的準確度得到大幅提升。蘋果重新檢視人臉辨識的發展方向。然而深度學習需要使用到大量的記憶體、儲存空間,以及手機運算資源,手機並不是應用深度學習的好地方。
一般做法是把深度學習放到雲端進行處理,蘋果亦有提供 iCloud 雲端服務。但蘋果著重用戶的個人私隱,不會利用 iCloud 伺服器來做電腦圖像運算工作。故此他們必須要開發深度學習技術是能夠在用戶手上的 iPhone 機上運行,但首要條件是,要有足夠運算能力,在相對很短的時間內處理龐大的相片圖庫,而又不會過份使用電力、令到手機發熱。
開發特殊的演算法
在 2014 年蘋果開始發展深度學習的時候,深度卷積神經網絡(DCN)只能對物體進行識別,當時使用到 OverFeat 技術,使用到神經網路進行多尺度的輸入預測。例如一張圖片裁出 32×32 像素,生成適當大小的映射,例如 20×20。蘋果把不同的映射製成圖像金字塔。識別輸入數據是否含有人臉訊息,然後對輸入的人臉訊息進行邊界預測,從而實現人臉定位。
在高效的圖像分割處理之下,人臉圖像會成為大型的圖像金字塔。人臉辨識系統開始貫穿金字塔的每一層,收集用作檢測的候選圖片。再以「後處理模組」進行處理,比對原圖,以確認輸入的人臉訊息是否正確。
利用深度學習改良臉部辨識準確度
蘋果為這種運算方式再進行改良,以一種類似「老師與學生」的形式運作, 以「老師」即較為複雜的結構,去訓練「學生」(一個簡單的 3×3 卷積與層疊結構)製作更精準更複雜的臉部網絡模型,因此 Face ID 需要不斷學習,以增強內部對用戶臉部有更深入的辨識。
臉部辨識亦使用到視覺框架(Vision Framework),收集與分辨用戶不同角度、不同大小(縮放比例)、顏色的臉部資料。蘋果採用了部份二次採樣解碼技術,以及自動平鋪技術,令非一般長闊比例的映像,也能夠進行高效圖像運算。
最後蘋果需要解決的是處理器與內置儲存使用量的問題。系統使用分析計算圖來分配神經網絡的中間層,將多個圖層放到同一個緩衝區。另外在圖像金字塔上共享相同的權重與參數,減低儲存容量消耗。蘋果亦令網絡的圖片解像度動態調整到輸入圖像的解像度大小,減少處理的數量。
基於以上的數據處理,再配合高效能的 A11 Bionic 處理器,iPhone X 做到了在短時間內就能完成,能不經互聯網,直接在手機內完成的深度演算法,在用戶沒有意識之下,每秒處理數百萬個浮點的神經網絡,進行極為精確的人臉辨識,令 Face ID 能夠完全取代 Touch ID 成為 iPhone 上可用以電子支付的生物識別技術。
留意以上文言使用較淺白文字,或有較為籠統的描述,如需要理進一步技術上的解說,請參考原文:https://machinelearning.apple.com/2017/11/16/face-detection.html
資料來源:Apple