iT邦幫忙

2023 iThome 鐵人賽

DAY 24
0
AI & Data

電腦眼中的人臉--論近代人類都用電腦視覺技術在人臉上做了什麼系列 第 24

[第二十四夜] 人臉辨識 (Face Recognition):Loss 基礎介紹 Part.1

  • 分享至 

  • xImage
  •  

前言

在之前的 Facial landamrk 或者 EyeGaze 等等大都是使用 MSE loss 來做訓練,那要如何來做 Face recognition 呢?今天我們要介紹 Face recognition 常見的訓練 Loss

臉部識別損失函數研究法展

臉部識別的成功與否在很大程度上取決於所使用的損失函數,這是深度學習模型訓練的關鍵組件。在臉部識別中,我們希望模型能夠學習到具有區分性的臉部特徵,同時確保這些特徵在不同的光線、角度和表情變化下都能保持穩定。亦即我們希望可以達到同一個人的照片在任何情況下所壓出來 feature 都要相近,跟其他人的 feature 保持遠離!在這個領域,人類其實發展了非常久以及題出了各種有效的方法來加強模型的學習,如下圖為人類在 Face Recognition領域上所研究的 loss 發展圖:
https://ithelp.ithome.com.tw/upload/images/20231009/201205498m22RzfT8P.png

1. 交叉熵 (Softmax loss 也稱為 Cross-Entropy loss)

Softmax loss 又稱為 Cross-entropy loss(交叉熵損失),是一種非常常用的分類損失函數,就是大家一般所知的多類別分類 loss。當我們將人臉識別視為一個多類分類問題時,我們當然可以使用交叉熵損失來度量模型預測與實際身份標籤之間的差異。這個 loss 在早期常用於 Face identification(尤其是 Close-set)。對於一個樣本,交叉熵損失可以表示為:
https://ithelp.ithome.com.tw/upload/images/20231009/20120549sUUibUri7W.png

其中,x 是輸入圖像,y 是身份標籤(ID label), f 是用來壓出 featureAI模型(ex. CNN,用來壓圖片成 feature )。其中心思想可歸納為如下:

去找出不同分類之間的界線,以良好的區分每一類

但他的缺點也很明顯:

   他沒有考量 Openset 的問題,類跟類之間可能分得不夠開

2. 對比損失(Contrastive Loss)

對比損失是一種用於學習相似性的損失函數。對於每對訓練樣本,將其嵌入特徵(也就是 embedding feature,同之前提到的 CNN 壓出來的 feature)表示進行比較。他的概念上是如果樣本屬於同一個人,則希望它們的嵌入表示在嵌入空間中更加接近;如果樣本屬於不同的人,則希望它們的嵌入表示在嵌入空間中更加遠離。對比損失的一個簡單形式可以表示為:
https://ithelp.ithome.com.tw/upload/images/20231009/20120549tXi9vojm5z.png

其中,x_1x_2 是成對的樣本,y 是樣本是否屬於同一個人的標籤,f 是用來壓出 featureAI模型, m 是一個裁剪閾值,用於確保損失在遠離時為零。其中心思想可歸納為如下:

任何一組同一類的照片都應該更加靠近,不同類的則應該遠離

但他的缺點也很明顯:

   他需要兩兩比較因此會耗費大量計算資源

3. 三元損失(Triplet Loss)

三元損失是另一種用於學習相似性的損失函數,他可以視為簡化的 contrastive loss,它基於三元組(anchor,positive,negative)的概念。這種損失強調將正樣本的嵌入表示拉近,同時將負樣本的嵌入表示推遠。三元損失可以表示為:

https://ithelp.ithome.com.tw/upload/images/20231009/20120549gp5oSScRRW.png

其中,a 是錨點(anchor)樣本,p 是正樣本,n 是負樣本,f 是用來壓出 featureAI模型, alpha 是一個裁剪閾值。其中心思想可歸納為如下:

挑一組照片中,同一類的照片都應該更加靠近,不同類的則應該遠離

但他的缺點為:

   沒有做到任兩兩比較所以相比較,因此每一組中與 negative 分開的方向可能下一組中會遠離 positive

4. 中心損失(Center Loss)

中心損失旨在確保同一個人的不同表情和光線下的臉部特徵嵌入表示在嵌入空間中更加接近。中心損失的目標是將每個類別的嵌入表示拉近到其類別中心。中心損失的定義為:

https://ithelp.ithome.com.tw/upload/images/20231009/20120549fjnp85iO0e.png

其中,x 是輸入圖像,y 是身份標籤,f_c 是嵌入模型,c_y 是類別 y 的中心。其中心思想可歸納為如下:

同一類的照片都應該更加靠近

但他的缺點為:

   只考慮類別聚在一起但沒有考慮不同類別應該遠離

特徵做正規化 (Feature Noramlize)

這一時期的研究主要沒有不是提出新的 loss 形式而是人們發現 cnn 在壓出 feature 後有做 normalize 會對訓練有幫助,詳細流程可以參考如下:
https://ithelp.ithome.com.tw/upload/images/20231009/20120549PYLkY9cTGT.png
概念上我們就是把所有 feature 壓在一個高維球(hyper-sphere)上做訓練,
https://ithelp.ithome.com.tw/upload/images/20231009/20120549BGqZTSgqxv.png
那為什麼要做 feature normalize 呢?具體我們可以參考這篇論文的這個實驗:
https://ithelp.ithome.com.tw/upload/images/20231010/20120549r4q20oUArC.png
我們可以看到無論相似度比較時是用 inner product(cos similarity) or Euclidean(ex. MSE),哪一個有用 feature normalize 都會變好!而不同方法的訓練結果我們也可以參考下圖實驗,我們可以觀察到有做 normalize 的方法都變好了:
https://ithelp.ithome.com.tw/upload/images/20231009/20120549QnvITa3trb.png

結語:

這些損失函數的選擇通常取決於特定的應用場景和數據集。在實際應用中,研究人員和工程師可能會根據實際效果進行調整和選擇。深度學習模型的訓練不僅僅依賴於架構的選擇,同樣重要的是損失函數的合理選擇和調整。明晚歡迎大家再次回來!

Ref.

1.Wang, Mei, and Weihong Deng. "Deep face recognition: A survey." Neurocomputing 429 (2021): 215-244.
2.Y. Taigman, M. Yang, M. Ranzato, and L. Wolf, “Deepface: Closing the gap to human-level performance in face verification,” in Proceedings of the IEEE conference on computer vision and pattern recognition, 2014, pp. 1701–1708.
3.Sun, Yi, Xiaogang Wang, and Xiaoou Tang. "Deeply learned face representations are sparse, selective, and robust." Proceedings of the IEEE conference on computer vision and pattern recognition. 2015.
4.F. Schroff, D. Kalenichenko, and J. Philbin, “Facenet: A unified embedding for face recognition and clustering,” in Proceedings of the IEEE conference on computer vision and pattern recognition, 2015,pp. 815–823.
5.Y. Wen, K. Zhang, Z. Li, and Y. Qiao, “A discriminative feature learning approach for deep face recognition,” in European conference on computer vision. Springer, 2016, pp. 499–515.
6.Wang, Feng, et al. "Normface: L2 hypersphere embedding for face verification." Proceedings of the 25th ACM international conference on Multimedia. 2017.


上一篇
[第二十三夜] 人臉辨識(Face recognition) 簡介
下一篇
[第二十五夜] 人臉辨識 (Face Recognition):Loss 基礎介紹 Part.2
系列文
電腦眼中的人臉--論近代人類都用電腦視覺技術在人臉上做了什麼30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言