AI如何辨認螢幕前的人是不是真人?活體辨識技術的發展與挑戰

活體辨識最主要的目的就是辨識偵測對象是否為真人,生活中最常見的情境就是指紋或臉部影像辨識,以臉部樣本的活體辨識來說,模型所要執行的任務就是判斷被偵測的臉部影像是不是真的人臉,其他狀況如帶著面具、翻拍畫面等都會被視為非活體的樣本,而這些非活體的樣本在臉部活體辨識領域通常被稱為攻擊樣本(Attack Data)。因此,要如何以人工智慧辨別眼前這張臉是活體還是攻擊,一直是學界、業界都想解決的問題。

認識臉部活體辨識四種常見的資料集:OCIM

從學術研究角度切入,早期提出的論文多半以手工打造特徵,例如使用局部二值模式(Local Binary Patterns, LBPs)搭配人工設計的數學運算進行特徵萃取,再連接支援向量機(Support Vector Machine)或是隨機森林(Random Forest)這類的機器學習模型進行分類。

當深度學習再次引起熱潮後,臉部活體辨識領域也受到影響紛紛引入相關概念;同時,隨著更多大型公開資料集發表,相關論文發表數逐年升高,模型表現不斷成長,實際應用的場域也更加多元。

在研讀臉部活體辨識的相關論文時,通常會發現以下四種資料集:(1) OULU-NPU (2) CASIA-FASD (3) SiW (4) MSU-MUSD,這四個資料集被合稱為 OCIM,也是約定俗成的評估協定,不同的模型都會以這四個資料集進行訓練並計算 Half Total Error Rate (HTER) 與 Area Under Curve(AUC)兩項評估指標。包括 OCIM 在內 ,大多的公開資料集在簽署使用者授權合約(End User License Agreement, EULA)後就能下載使用,要特別注意的是,有些資料集會限制不能作為商業用途。

如果要進行臉部活體辨識任務,網路上已經有許多公開資料集,只要簽署 EULA 就能下載。然而如果牽涉商業用途,就需特別注意合約中是否有相關限制,且在蒐集訓練資料時,也要考慮到部署環境與資料變異性,衡量是否還要再自行蒐集更多樣本。

臉部活體辨識任務的新突破與挑戰

近年的臉部活體辨識任務,模型架構都以卷積神經網路(Convolutional Neural Network, CNN)為主,並依任務類型設計不同的損失函數(Loss function),甚至近兩年也開始看到以 Vision Transformer(ViT)為基礎的模型。2022 年發表的 PatchNet,除了將樣本分類成活體或攻擊以外,更細分出是何種類別的攻擊。整體模型的輸入是由原始影像隨機切出兩塊補丁,通過以 ResNet-18 為骨幹的編碼器(Encoder)後再進行分類,這也是名稱中「Patch」這個字的由來。原文中的 Ablation Study 一詞,也說明了在訓練時使用的「Asymmetric AM-Softmax Loss」與「Self-Supervised Similarity Loss」能確實提升模型表現。由於設計模型時,大部分的研究會加入更多種損失函數來提供不同誤差資訊,造成的結果會比只使用分類誤差還要好。

同樣在 2022 年發表的 SSAN,則提出了「Content information」與「Style information」的特徵,兩者由不同的卷積層萃取出。它們分別代表臉部共通的特徵(可以想成無論是活體或攻擊樣本,都是一張人臉)與不同資料集或攻擊類別(例如翻拍、面具等等)所帶有的特徵。SSAN 除了提供常見的 OCIM 效能,也針對多達 12個資料集進行測試。結果發現,當訓練與測試資料涵蓋的資料及不重疊時,效能隨即降低。作者也提出學界和業界存在隔閡,推測可能的原因是學界常用的資料集數量較少,變化也較有限,在某些類別或資料集容易使模型過擬合,也讓學界的研究始終離商業用途還有一段距離。

近年來,由於 Transformer 席捲各個領域,連活體辨識也開始出現相關應用。2023 上半年,DiVT 以 MobileViT 作為骨幹,進行臉部活體辨識的分類任務,於 OCIM 測試的效能幾乎完勝過往的 State-of-the-art(SOTA)模型。論文中也嘗試從 MobileViT 換成其他骨幹如 ResNet-18 或 Swin Transformer 等等,但成效多半都不及 MobileViT。

基於 DiVT 的研究成果,未來可以預期會有更多以 Vision Transformer 為基礎的模型出現在臉部活體辨識。然而活體辨識的相關應用,常常牽涉金融或機敏資料,要如何達到客戶以及政府主管機關的要求,並且兼顧使用體驗,也是開發時必須思考的一環。

想了解更多活體辨識技術,請參考【AI CAFÉ 線上聽】別想騙過人工智慧!活體辨識技術的發展與挑戰