ARFoundation之路-人臉檢測增強之一

版權聲明:Davidwang原創文章,嚴禁用於任何商業途徑,授權後方可轉載。

  在AI物體檢測識別領域,最先研究的是人臉檢測識別,目前技術發展最成熟的也是人臉檢測識別。人臉檢測識別已經廣泛應用於安防、機場車站閘機、人流控制、安全支付等衆多社會領域,也廣泛應用於直播特效、美顏、Animoji等娛樂領域。

(一)人臉檢測概念

  人臉檢測(Face Detection)是利用計算機在數字圖像或視頻中自動定位人臉的過程,人臉檢測不僅檢 測人臉在圖像視頻中的位置,還應該檢測出其大小與方向(姿態)。人臉檢測是有關人臉圖像分析應用的 基礎,包括人臉識別和驗證、監控場合的人臉跟蹤、面部表情分析、面部屬性識別(性別、年齡、微笑、 痛苦)、面部光照調整和變形、面部形狀重建、圖像視頻檢索等等。這幾年,隨着神經網絡的發展,人臉 檢測成功率與準確率大幅度提高,並逐漸開始實用化,如機場火車站人臉驗票、人臉識別身份認證等等。

  人臉識別(Face Recognition)是指利用人臉檢測技術確定兩張人臉是否對應同一個人,人臉識別技術 是對人臉檢測技術的擴展和應用,也是很多其他應用的基礎。目前,ARCore 僅提供人臉檢測,而不提供人 臉識別功能。

  人臉跟蹤(Face tracking)是指將人臉檢測擴展到視頻序列,跟蹤同一張人臉在視頻序列中的位置。理 論上來講,任何出現在視頻中的臉都可以被跟蹤,也就是說,在連續視頻幀中檢測到的人臉可以識別爲同 一個人。人臉跟蹤不是人臉識別的一種形式,它是根據視頻序列中人臉的位置和運動進行推斷人臉是否爲 同一人的技術。

   人臉檢測屬於模式識別的一類,但人臉檢測成功率受到很多因素的影響,影響人臉檢測成功率的因素主要有下表 中所述情形。

影響因素 描述
圖像大小 人臉圖像過小會影響檢測效果,人臉圖像過大會影響檢測速度,圖像大小反映在實際應用場景 就是人臉離攝像頭的距離。
圖像分辨率 越低的圖像分辨率越難檢測,圖像大小與圖像分辨率直接影響攝像頭識別距離。目前 4K 攝像 頭看清人臉的最遠距離是 10 米左右,移動手機檢測距離要更小一些。
光照環境 過亮或過暗的光照環境都會影響人臉檢測效果。
模糊程度 實際場景主要是運動模糊,人臉相對於攝像頭的移動經常會產生運動模糊。
遮擋程度 五官無遮擋、臉部邊緣清晰的圖像有利於人臉檢測。有遮擋的人臉會對人臉檢測成功率造成影響。
採集角度 人臉相對於攝像頭角度不同也會影響人臉檢測效果。正臉最有利於檢測,偏離角度越大越不利於檢測。

  隨着人工智能持續發展,在全球信息化、雲計算、大數據的支持下,人臉檢測識別技術也會越來越成 熟,同時應用面會越來越大,可以預見,由以人臉檢測爲基礎的人臉識別將會呈現網絡化、多識別融合、 雲互聯的發展趨勢。

(二)人臉檢測技術基礎

  人頭部是一個三維結構體,普通在描述人體頭部時採用歐拉角來精確的描述頭部的姿態,這裏的歐拉角源自於笛卡爾左手座標系,並規定繞 Y 軸逆時針旋轉角度爲正,繞 Z 軸順時針旋轉角度爲正,如下圖所示。在人臉檢 測中,通常把繞 Y 軸旋轉叫做 y 歐拉角,繞 Z 軸旋轉叫 r 歐拉角,我們平時做的搖頭動作就是 y 歐拉角, 而偏頭的動作就是 r 歐拉角,如下圖2 所示,繞 X 軸旋轉在人臉檢測中通常很少用到。

在這裏插入圖片描述
在這裏插入圖片描述
  人臉檢測的複雜性之一就是人體頭部是一個三維結構體,且是一個動態的三維結構體,攝像機捕捉到 的人臉很多時候都不是正面,而是有一定角度且時時處於變化中。當然,人臉檢測的有利條件是人臉有很 多特徵,如下圖所示,可以利用這些特徵做模式匹配。但在很多人臉檢測技術中(包括ARCore),人臉特徵並不是人臉 輪廓檢測的前提,換句話說,人臉檢測是獨立於人臉特徵的,且通常是先檢測出人臉輪廓再進行特徵檢測, 因爲特徵檢測需要花費額外的時間,會對人臉檢測效率產生影響。

在這裏插入圖片描述
  人臉具有對稱性,人臉特徵會分佈在 Y 軸兩側一定角度內,通常來說,人臉特徵分佈情況符合下表所示規律。

Y 歐拉角 人臉特徵
小於-36 度 左眼、左嘴角、左耳、鼻底、左臉頰
-36 度至-12 度 左眼、左嘴角、鼻底、下嘴脣、左臉頰
-12 度至 12 度 左嘴角、右嘴角、上下嘴脣、鼻底
12 度至 36 度 右眼、右嘴角、鼻底、下嘴脣、右臉頰
大於 36 度 右眼、右嘴角、右耳、鼻底、右臉頰

  人臉檢測不僅需要找出人臉輪廓,還需要檢測出人臉姿態(包括人臉位置與方向)。爲了解決人臉姿 態問題,一般的做法是製作一個三維人臉正面“標準模型”,這個模型需要非常精細,因爲它將影響到人 臉姿態估計的精度。在有了這個三維標準模型之後,對人臉姿態檢測的思路是在檢測到人臉輪廓後對標準 模型進行旋轉,以期標準模型上的特徵點與檢測到的人臉特徵點重合。從這個思路我們可以看到,對姿態 檢測其實是個不斷嘗試的過程,然後選取特徵點吻合得最好的標準模型姿態作爲人臉姿態。簡單的說就是 先製作一個人皮面具,努力嘗試將人皮面具套在人臉上,如果成功則人皮面具的姿態必定是人臉的姿態。

  如前所述,雖然人臉的結構是確定的,還有很多特徵點可供校準,但由於姿態和表情的變化、不同人 的外觀差異、光照、遮擋等影響,準確的檢測處於各種條件下的人臉仍然是較爲困難的事情。幸運的是, 隨着深度神經網絡的發展,在一般環境條件下,目前人臉檢測準確率有了非常大的提高,甚至在某些條件 下超過了人類。

參考文獻

1、《ARCore之路-Unity開發從入門到實踐》

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