Spectraface
- Introduction
- Related work
- Dataset
- Spectraface Algorithm
-
- Training phase
- Production phase
Github: link.
Introduction
視覺人臉識别方法利用(utilize)在人類可見光譜(human-visible spectrum)中捕獲的圖像來識别個體,而個體本身受到光照變化、遮擋和模糊輪廓等外部因素的限制。[1,5]它隻能達到一雙人眼所能達到的效果。Thermal face通過捕獲更高波長的輻射資訊,緩解了視覺面面臨的大部分問題。 開發一種識别thermal faces的解決方案擴充了要識别的面部圖像的範圍。 然而,thermal face recognition有其自身的挑戰,例如分辨率較低、對皮膚溫度的變化敏感以及無法透過眼鏡看東西。
Related work
用于人臉識别的最常用算法之一是 Eigenface,它通過使用Principal Component Analysis (PCA) 實作近實時人臉識别,并将高維人臉圖像映射到低維“人臉空間”。然而,它對人臉圖像有很高的要求,使得seen image和probe image必須位于相似的環境中,否則就會開始嚴重失敗。這是由于算法本身的性質,它對人臉圖像中大量相關資訊進行了編碼。
Eigenface 啟發了 Spectraface 的發展,其本質是 Eigenface 本質(essentially)上捕獲和編碼圖像中最多樣化的特征,它可用于識别任何物體以及超出人臉範圍的thermal faces。
另一種廣泛用于識别熱人臉的方法是使用融合圖像,它由多個圖像組成,但在 Spectraface 中沒有采用(鑒于 IRIS 資料集中提供了視覺和thermal人臉,這可能是一個很好的擴充,但是,它是生産系統不太可能提供兩種類型的人臉,是以這不是這裡的優先事項)
還有一個基于生成對抗網絡的解決方案,可以從熱面生成視覺面。然而,這種方法複雜且計算成本高。本文描述的方法不僅注重準确性,還注重簡單性和速度,是以未考慮 TV-GAN 中使用的技術,而是與之進行比較。
Dataset
IRIS thermal/視覺資料庫用作測試 Spectraface 的資料集。它由 30 名受試者(28 名男性和 2 名女性,種族差異很大)和他們的面部表情組成 - 驚訝、大笑和憤怒 - 以及五種照明條件 - 左燈亮,右燈亮,雙燈亮,暗房間,兩個燈都關了。有相同數量的熱面和視覺面,分辨率均為 320x240 像素。 (嵌入椅子圖像和一些示例圖像)該資料集需要 Spectraface 對各種光譜、表情、照明、旋轉以及有遮擋的人臉進行處理。該資料集的唯一小限制是與其圖像相關的低分辨率。将更多女性作為受試者和一些 NIR 面孔會更理想。盡管 IRIS 不包括這些熱圖像屬于哪個光譜的規範,但對資料集的觀察表明它們是在中波和長波紅外之間成像的。公開的thermal人臉圖像資料庫很少(另一個是 Terravic 面部紅外資料庫)。
Spectraface Algorithm
Spectraface 圍繞兩個階段展開:training和production。 training階段涉及建立一組用于與新輸入人臉進行比較的代表性人臉,而production階段負責将現有身份配置設定給一張人臉或建立一個新身份來表示它。
Training phase
訓練階段從一組預先選擇的感興趣的身份及其 thermal/visual 人臉圖像開始(一個身份往往有多個在不同條件下拍攝的人臉圖像)。第一步是使用人臉檢測從圖像中裁剪出人臉的片段。Spectraface 中的人臉檢測是通過使用 【8】中的熱人臉資料集預訓練的神經網絡實作的,準确率幾乎達到100%。由于在檢測視覺人臉的模型 【11】上熱人臉檢測的準确性較低(約 30%),是以不得不采用該模型【8】。請注意,圖 2 和圖 4 中省略了檢測步驟。這些裁剪出來的人臉成為訓練人臉圖像。這些訓練人臉圖像的每個潛在特征都通過 PyTorch 中的 Inception Resnet V1(在 VGGFace2 上進行預訓練)模型編碼為 512 維向量。這一步有兩個目的:降噪和降維,這允許稍後對這些編碼進行平均處理。接下來,表示每個人臉圖像的每個編碼都通過均值減法進行歸一化,并且假設每個身份擁有一組人臉圖像(特征向量/編碼)它們被平均并減少到單個特征向量/編碼。現在,每個身份(經典 Eigenface 算法中正面人臉的對應物)隻有一種編碼,并由此建立協方差矩陣。從這個協方差矩陣中提取特征向量,也稱為特征面,特征值按特征值降序排列,選擇覆寫特征值95%(95%是Spectraface中使用的門檻值)的前特征向量使用來表示訓練集中的方差。現在每個特征臉都可以用來表示現有的和新的臉。與每個特征臉相關聯的特征值表示訓練集中的圖像在該方向上與平均圖像的差異程度。 [3,4] 建立一組“人臉”,即編碼,來表示訓練集中的每個身份,每個身份的編碼被投影到特征人臉集合上,以在上下文中建立所謂的“代表性人臉”。
Production phase
第二階段是生産,它不僅接受來自可見身份的人臉,也接受來自未見過身份的人臉,每當新編碼的人臉和“代表性人臉”之間的差異超過一定門檻值時,就會建立一個新身份。通道的工作原理如下:将新人臉圖像像以前一樣編碼為 512 維向量,并通過均值減法對其進行歸一化。為了找出這個新人臉是否屬于一個可見的身份,計算新人臉編碼與所有“代表性人臉”之間的歐幾裡德距離,從中傳回距離最小的“代表性人臉”。 如果最小歐幾裡德距離低于預設門檻值,則傳回對應于“代表性人臉”的身份。 但是,如果它高于該值,則會在系統中建立一個新的身份對象。 Spectraface 使用 0.3 (30%) 作為其容忍所見面孔的門檻值。 該值是根據資料集中樣本之間的最小、平均和最大歐幾裡德距離的統計資料選擇的。 一旦新身份進入系統,Training phase需要重新運作以反映的新身份。