人臉驗證產品怎麼做?

編輯導語:人臉驗證產品我們應該都很熟悉了,不少人都在用人臉進行解鎖或者支付。然而,我們對人臉驗證的瞭解僅限於在使用層面上,但是對於其開發卻少有人瞭解。今天,在本篇文章中,作者透過自己親身接觸的人臉驗證產品的開發流程,為我們關於人臉驗證產品怎麼做進行了總結。

人臉驗證產品怎麼做?

在業務中,有幸深度接觸了人臉驗證這款產品,為及時沉澱總結,所以有了這篇文章。需先說明,本文人臉驗證指的是驗證當前操作者是不是使用者本人。

一、梳理端和場景1. 開始前,產品首先需要先梳理好端和場景

舉例:

人臉驗證產品怎麼做?

為什麼要先梳理端和業務場景呢?

2. 業務場景不同,業務策略不同

舉例:金融場景,安全係數要求更高,在保證一定使用者體驗的時候,寧可誤殺,不可錯放。

登入場景,則相對要求低一些;另外,不同場景,輔以不同錯誤次數限制、彌補措施等,業務流程邏輯不同。

3. 硬體配置不同,採集到的資料不同

軟體產品,關注手機攝像頭配置。

比如說安卓千元機,一般都是普通RGB攝像頭,只能獲取到使用者臉部的2D資訊,比如色彩梯度等,而蘋果手機X及以上配置了3D深度攝像頭。

所以蘋果的面容ID是基於3D結構光的人臉識別方案,透過紅外光將大約3萬個點陣投射到物體上,用數量龐大的點陣得到物體的深度資訊,精度高,可以較好地防範各類攻擊(目前同樣採取3D結構光的安卓手機,點陣數量遠小於蘋果,相對而言,獲取的資料也就更少)。

另外,蘋果的成像是利用紅外不可見光,所以可以不受環境光的影響,支援使用者在黑暗環境下正常使用。因此如果識別到使用者手機型號為蘋果X及以上,App可考慮申請呼叫系統自帶的面容ID。

iPhone11起,還為FaceID增加一個多角度感測器,可以捕捉更寬的視野,讓使用者可以不用臉部太靠近攝像頭就可以完成解鎖(https://support.apple.com/zh-hk/HT208108 Face ID官方介紹,感興趣的可以看一下)。

人臉驗證產品怎麼做?

硬體產品,則要考慮攝像頭選型,一般都是選深度相機。

主流的深度相機方案是3D 結構光(3D Structure Light)和時間飛行法(TOF, Time of Flight)。怎麼選?要結合實際採集資料的場景來定。

其中,3D結構光就像上述所說,精度高,但有效距離有限。距離越遠,物體上投射到的光點越大,精度也就越差;所以3D結構光更適合應用在近距離的人臉識別,手勢識別。像支付寶的線下刷臉支付終端就用的是3D結構光攝像頭。

而遠距離的時候,就適合TOF,比如AR.VR場景更適合用TOF。TOF,ime of Flight,簡單來說就是透過光的飛行時間來計算距離。透過紅外發射器發射調製過的光脈衝,遇到物體反射後,用接收器接收反射回來的光脈衝,並根據光脈衝的往返時間計算與物體之間的距離。

二、人臉核身操作流程

一般來說分為三步:

1. 採集資料

這一步的目的是為模型採集到質量合格的人臉圖片/影片流,並按照採集要求傳輸給後端。

1)明確要求

首先需要明確要求,包括人臉影象要求和前端採集要求。

人臉影象要求:影象要求,需要產品綜合業務需求和模型技術需求,進行確認,人臉比對要求一般包括以下:

  • 有大小合適的整個人臉
  • 光線充足,不反光
  • 人臉無遮擋
  • 人臉角度正
  • 人臉不模糊

活體檢測要求:要根據業務上希望達到的效果和技術採用的方案綜合確認。技術原理不同意,則差異很大。

前端採集要求:同樣,需要整合活體檢測和人臉比對的前端採集要求,形成一套完整的前端採集方案。

舉例:

人臉驗證產品怎麼做?

2)人臉檢測

“人臉檢測是指對於任意一幅給定的影象,採用一定的策略對其進行搜尋以確定其中是否含有人臉,如果是則返回臉的位置、大小和姿態。”人臉識別第一步,是檢測到影象中人臉的存在。

就像人的認知一樣,先認識到有人的存在,在判斷這個人是誰。

注意點:

  • 如果採用的技術方案是分類,可同時找出影象中的所有人臉,策略上要確認檢測到多張人臉時,以哪張人臉為準,如以最大人臉為目標人臉。
  • 如果用的是遍歷,技術上簡單來說指的是在影象中遍歷人臉,若將影象全部遍歷完,耗時較長,可定策略找到一張符合大小的人臉就結束,如果檢測的人臉小於要求,則繼續遍歷。

3)IQA(影象質量評價)

在影象識別中,所採集到的影象質量直接影響識別結果的準確性和可靠性。好比我遠遠看到有個人和我打招呼,但是隔得太遠,我看不清具體的五官,所以無法判斷他是誰。

因此,人臉識別,需要過濾掉不符合人臉識別質量要求的人臉影象,所以需要在採集時做IQA。

在採集時,實時校驗人臉的光照條件,姿態角度、遮擋、清晰度,符合質量條件的才會透過進入下一步。採集過程中,影象不符合要求時,根據檢測結果提示使用者正確的操作。

2.欺詐人臉檢測

欺詐人臉檢測,指的檢測影象是否是欺詐人臉,紙張列印人臉圖,人臉照片,電子裝置螢幕中的人臉數字影象或者是人臉面具等。

這裡說一點,業務側一般用活體檢測這個詞,但學術其實說的是Face spoof detection欺詐人臉檢測。字面上理解活體檢測,指的是檢測這個人是不是活體。

比如說帶著面具的人,模型應該是判斷成活體還是非活體,對於這個問題,用活體或者非活體來定義是有些模糊,用欺詐人臉和非欺詐人臉會更準確。

簡單介紹幾種常見方法:

  1. 基於圖片紋理差異:無需使用者進行繁瑣的臉部動作,只要求使用者實時拍攝,傳入模型一張照片即可,是基於影象紋理差異(摩爾紋、成像畸形等)來做判斷,可有效防止螢幕二次翻拍等作弊攻擊;
  2. 基於運動資訊:需要使用者隨機進行眨眼,搖頭,抬頭等動作。基於使用者運動資訊,可有效防止紙張,照片等作弊攻擊。 因為動作策略是隨機的,需要欺詐人臉在極短時間內進行正確的反應,所以對3D建模類攻擊也有一定的防範作用。除了眨眼,搖頭類,也有讀數字的,透過聲紋+唇語的方式來判斷。缺點是檢測耗時長,對使用者不夠友好;
  3. 基於面部閃爍 :由於真實人臉與欺騙人臉的材質不同,導致了成像系統反射率有差異。透過螢幕來發射不同顏色和強度的光線,一般是紅藍綠,可有效防止紙張,照片,螢幕等作弊攻擊;
  4. 基於紅外:也是因為材質不同,成像系統反射率有差異,但可見光下,區別不是很顯著,而紅外波段會明顯不同。紅外活體檢測就利用了這一點,可有效防止紙張,照片,螢幕等作弊攻擊。 但依賴特殊硬體來發射近紅外光。需要特殊硬體;
  5. 基於3D結構光:前面提過,不贅述。需要特殊硬體;
  6. 基於TOF:前面提過,不贅述。需要特殊硬體。
3. 人臉1:1比對

比對的時候,同時會對影象做一些預處理。(需要對影象二次加工的產品,則一般有單獨的預處理模型。具體,也視公司資源而言…)

使用者在拍攝時,難免會受到外在因素的干擾,比如光線、表情、陰影遮擋等,導致影象質量不夠好。雖然在採集的時候,我們已經過濾了部分低質量的影象,但為了使用者體驗,不可能用很嚴苛的標準。

所以比對的時候,會對採集到的人臉影象做一些處理,比如說摳出影象裡的人臉,避免圖片裡非人像的部分造成影響,調整光線、旋轉、降噪尺寸歸一化,然後提取出人臉特徵,找出關鍵點,將輸入人臉和樣本人臉對齊,最後計算出相似度。

4. 業務策略

前面所述大部分都是技術上的流程,這裡總結一下,業務上產品能做些什麼呢?

注意:以下非必要,需要產品結合業務需求和技術能力權衡確定。

1)限流策略

操作頻繁限制。

2)採集超時策略

在xx時間內若採集不到符合要求的影象,則結束採集。

3)使用者操作指引

開始採集前,按照人臉影象要求,給使用者一定的互動提示,可對後面的影象採集質量有一定正向作用。

如請勿遮擋面部,請保持正視螢幕,保持不動,請保持光線充足。疫情期間,視模型要求和業務要求,可增加“請摘下口罩”指引。

4)螢幕亮度調節

進入採集流程,透過調節螢幕亮度,白底UI等,降低光線對圖片成像的影響。注意,這裡僅針對RGB成像方案,使用非RGB攝像頭就不需要考慮環境光的影響。

5)確認影象採集標準

前文已說,不贅述。

6)檢測到多個人臉

人臉比對時,檢測到多個人臉,一般以最大人臉為目標人臉;活體檢測時,則根據場景考慮是否,有任一非活體人臉則判斷不透過。

7)閾值策略

不同場景,閾值標準不一樣。

人臉驗證產品怎麼做?

上圖是騰訊人臉比對API介面的返回引數之一,借這個介紹一下。

這裡返回值裡面提供了千分之一、萬分之一、十萬分之一不同的誤識率,不同的誤識率下對應不同的閾值。

如果業務上能接受千分之一的誤識率下,那麼分數大於 40 分,就可以認為是同一個人;但十萬分之一誤識率要求下,90分以下的就認為他們可能不是同一個人。所以產品要根據業務屬性決定以哪個閾值為合格標準。

8)驗證失敗,彌補策略

演算法是概覽,也會出錯。為了良好的使用者體驗,可以在人臉驗證失敗,給使用者提供其他驗證方式。

9)建立使用者個人人臉庫,增加比對樣本

當人臉識別失敗,使用者轉而用其他方式進行驗證,驗證通過後,我們可以記錄下之前的人臉資料,豐富這位使用者的個人人臉庫。因為使用者的面部是會發生變化,如果一直用一張樣本照片,隨著時間推移,差異會越來越大,識別會越來不準。

10)注視感知

蘋果FaceID的注視感知功能。它能識別使用者的眼睛有沒有睜開,是否看向手機。只有使用者眼睛睜開,且看向攝像頭時,才能解鎖裝置。

這樣,其他人就難以在使用者不知情的情況下(如在睡著時)解鎖裝置。這裡其實考慮的是生物特徵的開放性。相比傳統密碼,生物特徵每天都暴露在公眾場合,而且一旦被竊取,就是終生被竊取,不像傳統密碼一樣。

三星部分機型,雖然沒有精細到注視感知,不過支援有無睜眼的判斷。但注視感知功能,會對部分眼睛有疾病的使用者造成困擾,如斜視的使用者,所以蘋果也提供了關閉這個功能的選項。

簡單延伸一下生物特徵安全性的問題,怎麼樣才能防範竊取?

  • 首先:要減少不必要的生物特徵採集,儲存。政府層面應當規範生物特徵的採集、儲存、傳輸。
  • 其次:要讓欺詐無利可圖。不斷髮展相關技術,讓欺詐成本遠高於收益,比如活體檢測,可以檢測出紙張,照片,影片等欺詐攻擊。而3D面具成本高,且不具備批次複製性質,材質和人臉的區別也可被檢測出來。

感謝閱讀,持續學習中,如有錯誤的地方,請不吝賜教。

作者:石青;微信公眾號:shiqingzixishi

本文由 @石青 原創釋出於人人都是產品經理。未經許可,禁止轉載

題圖來自 Pexels,基於 CC0 協議

版權宣告:本文源自 網路, 於,由 楠木軒 整理釋出,共 4100 字。

轉載請註明: 人臉驗證產品怎麼做? - 楠木軒