本文介紹被機器學習頂尖國際會議 AAAI 2023 接收的論文 《Improving Training and Inference of Face Recognition Models via Random Temperature Scaling》。論文創新地從機率視角出發,對分類損失函數中的溫度調節參數和分類不確定度的內在關係進行分析,揭示了分類損失函數的溫度調節因子是服從Gumbel 分佈的不確定度變量的尺度係數。從而提出一個新的被稱為 RTS 的訓練架構對特徵抽取的可靠性進行建模。基於RTS 訓練框架來訓練更可靠的辨識模型,使訓練過程更加穩定,並在部署時提供一個對樣本不確定度的度量分值,以拒識高不確定的樣本,幫助建立更穩健的視覺識別系統。大量的實驗顯示 RTS 可以穩定訓練並輸出不確定度度量值來建立穩健的視覺辨識系統。
不確定性問題:視覺辨識系統在真實場景中通常會遇到多種幹擾。例如:遮蔽(裝飾物或複雜的前景),成像模糊(焦點模糊或運動模糊),極端光照(過曝或曝光不足等)。可以把這些幹擾都歸納為雜訊的影響,此外還有誤檢圖片,通常有貓臉或狗臉等,這些誤檢測的資料被稱為 out-of-distribution(OOD)資料。對於視覺辨識來說,上述的雜訊和 OOD 資料都構成了不確定性的來源,受到影響的樣本會在基於深度模型擷取的特徵上疊加不確定性,為視覺辨識系統帶來幹擾。例如若底庫圖被不確定幹擾的樣本污染,會形成 “特徵黑洞”,為視覺辨識系統帶來隱患。因此需要對錶徵可靠性進行建模。
傳統多模型解法
傳統的在視覺識別鏈路中對可靠性進行控制的方法是透過一個獨立的品質模型完成的。典型的影像品質建模的方式如下:
1、收集標註資料進行具體影響品質因素的標註,例如清晰度如何,有無遮蔽以及姿態如何。
2、根據影響因素的標註 label 進行和 1~10 品質分數的映射,分數越高對應的品質越好,具體範例可以參考下圖左側範例。
3、前兩步驟操作得到質量分的標註後進行有序回歸訓練,從而在部署階段對質量分進行預測,如下圖右側示例。
獨立品質模型的方案在視覺辨識的連結中需引入新的模型,且訓練依賴標註訊息。
DUL
#不確定度建模的方法有「Data Uncertainty Learning in Face Recognition」,把特徵建模為高斯分佈均值和方差的加和,把包含不確定性的特徵送入之後的分類器進行訓練。從而可以在部署階段得到和影像品質相關的不確定度的分數。
DUL 用加和的方式描述不確定度,雜訊估計值的尺度也和某一類資料的特徵分佈緊密程度相關。如果資料分佈是比較緊密的,那麼 DUL 估計出的雜訊的尺度也是比較小的。在 OOD 領域的工作指出,資料分佈的密度對於 OOD 辨識來說不是一個好的度量方式。
GODIN
#OOD 領域的工作「Generalized odin: Detecting out-of-distribution image without learning from out-of-distribution data」用聯合機率分佈的形式處理OOD 數據,分別用兩個獨立的分支h( x) 和g(x) 估計分類機率值和溫度調節值。
由於溫度值被建模為機率值,範圍被限制在0-1 之間,對溫度沒有進行更好的建模。
針對上述問題和相關工作,本文從機率視角出發,對分類損失函數中的溫度調節因子和不確定度之間的關聯進行分析,提出了RTS 訓練架構。
基於機率視角對溫度調節因子進行分析
#首先對溫度調節因子和不確定度之間的關聯進行分析。 設不確定度是符合標準Gumbel 分佈的隨機變量,則機率密度函數可以寫為
,累積分佈函數為,分類為k 類別的機率值為:
##將 帶入上式可以得到:
可以看到,分類為k 類別的機率值就是符合softmax 函數的分數,同時我們可以用一個t 來調節不確定度的尺度,即,則符合標準Gumbel 分佈:
可以看到,此時分類為k 類別的機率值就是符合帶有溫度調節值為t 的softmax 函數的分值。
對溫度進行建模#
為了減少不確定度估計對分類的影響,溫度t 需要在1 附近,因此我們把溫度t 建模為個獨立gamma 分佈變數的和:式中,這樣t 服從
#,beta = frac {alpha - 1} {v})$ 分佈。 v 和對分佈的影響如下圖。
對溫度建模的約束在訓練中用下述的正則項實現
整體的演算法整理為:
更多詳細的分析和理論證明請參考論文。
在訓練階段,訓練資料只包含 face 訓練資料的。誤檢測的貓臉和狗臉的 OOD 數據,用來在測試時驗證對 OOD 數據的識別效果和測試說明 OOD 樣本不確定度在訓練過程中不同階段的動態過程。
訓練階段
#我們畫出了in-distribution 資料(face)和out-of-distribution資料(誤檢測為face 的貓臉和狗臉)在不同epoch 數的不確定度分值,從下圖可以看到初始階段所有樣本的不確定度分數都分佈在較大值的附近,隨著訓練的進行,OOD 樣本的不確定性逐漸升高,face 資料的不確定度逐漸降低,且face 品質越好,不確定度就越低。透過設定閾值可以區分 ID 數據和 OOD 數據,且透過不確定度的分數反應影像品質。
為了說明訓練階段對雜訊訓練資料的穩健性。本文對訓練集施加不同比例的噪聲,基於不同比例噪聲訓練資料的模型辨識效果如下表,可以看到 RTS 對基於噪音資料的訓練也能得到較好的辨識效果。
部署階段
下圖顯示在部署階段RTS 框架得到的不確定度分數和face 品質呈現高相關性
同時在 benchmark 上繪製了去掉低品質樣本之後的錯誤匹配曲線。根據得到的不確定度分值,按照不確定度從高到底的順序把 benchmark 中不確定度較高的樣本去除,然後繪製剩下樣本的錯誤匹配曲線。從下圖可以看到,隨著過濾的不確定性較高的樣本越多,錯誤匹配是越少的,而去掉相同數量的不確定性樣本時,RTS 的錯誤匹配更少。
為了驗證不確定度分數對OOD 樣本的辨識效果,在測試時建構in-distribution 資料集(face)和out-of-distribution 資料集(誤檢測為face 的貓臉和狗臉)。數據樣例如下。
我們從兩個方面來說明 RTS 的效果。首先繪製不確定度的分佈圖,從下圖可以看到,RTS 方法對 OOD 資料有較強的區分能力。
同時也繪製了OOD 測試集上的ROC 曲線,計算了ROC 權限的AUC 值,可以看到RTS 的不確定度分數對OOD 資料可以較好的辨識。
通用辨識能力
在benchmark 上測試通用識別能力,RTS 在不影響face 識別能力的基礎上增加了對OOD 資料的識別能力。使用 RTS 演算法可以在辨識和 OOD 資料辨識上取得一個均衡的結果。
本文模型已在modelscope 開源。另外跟大家介紹下CV 網域上的開源免費模型,歡迎大家體驗、下載(大部分手機端即可體驗):
1.https://modelscope.cn/ models/damo/cv_resnet50_face-detection_retinaface/summary
2.https://modelscope.cn/models/damo/cv_resnet101_face-detection_cvpr22papermog#/summarycv_resnet101_face-detection_cvpr22papermog#/summary#face
#3.https://modelscope.cn/models/damo/cv_manual_face-detection_tinymog/summary4.https://modelscope.cn/models/damo/cv_manual_face-detection_ulfd /summary
5.https://modelscope.cn/models/damo/cv_manual_face-detection_mtcnn/summary
#6.https:/ /modelscope.cn/models/damo/cv_resnet_face-recognition_facemask/summary
7.https://modelscope.cn/models/damo/cv_ir50_face-recognition_arc#/summary/models/damo/cv_ir50_face-recognition_arc#/summary/models
##8. https://modelscope.cn/models/damo/cv_manual_face-liveness_flir/summary
9.https://modelscope.cn/models/ damo/cv_manual_face-liveness_flrgb/summary
10.https://modelscope.cn/models/damo/cv_manual_facial-landmark-confidence_flcm/summary
#11.https://modelscope.cn/models/damo/cv_vgg19_facial-expression-recognition_fer/summary
12.https://modelscope.cn/models/damo/cv_resnet34_face -attribute-recognition_fairface/summary
#
以上是影像品質堪憂幹擾視覺識別,達摩院提出更穩健框架的詳細內容。更多資訊請關注PHP中文網其他相關文章!