人臉識別(不確定性)- Probabilistic Face Embeddings - 1 - 論文學習


 

https://github.com/seasonSH/Probabilistic-Face-Embeddings

Probabilistic Face Embeddings

Abstract

嵌入(embedding)方法通過在潛在語義空間中比較人臉特征,取得了成功的人臉識別。然而,在完全不受約束的人臉設置中,通過嵌入模型學習到的人臉特征可能是模糊的,甚至可能不存在於輸入人臉中,導致噪聲表征。我們提出了Probabilistic Face Embeddings (PFEs),它在潛在空間中以高斯分布表示每個人臉圖像。分布的均值估計最可能的特征值,而方差表示特征值的不確定性。利用不確定性信息,可以自然地推導出匹配和融合PFEs的概率解。通過對不同基線模型、訓練數據集和基准的實證評估表明,該方法通過將確定性嵌入轉換為PFEs,可以提高確定性嵌入的人臉識別性能。PFEs估計的不確定性也可以作為潛在匹配精度的良好指標,這對於風險控制的識別系統非常重要。

 

1. Introduction

當人們被要求描述一張人臉圖像時,他們不僅給出了面部特征的描述,還給出了與之相關的置信度。例如,如果圖像中眼睛模糊,一個人會將眼睛的大小作為不確定的信息,並關注其他特征。此外,如果圖像被完全損壞,無法識別任何屬性,受試者可能會回應說他/她無法識別這張臉。這種不確定性(或置信度)估計在人類決策中是常見且重要的。

另一方面,在最先進的人臉識別系統中使用的表征通常都是置信度無關的。這些方法依賴於一個嵌入模型(例如深度神經網絡),在潛在特征空間中為每個人臉圖像給出一個確定的點表征[27,35,20,34,4]。潛在空間中的一個點代表了模型對給定圖像中人臉特征的估計。在估計誤差有一定限制的情況下,兩點之間的距離可以有效地度量相應人臉圖像之間的語義相似度。但是在低質量輸入的情況下,在圖像中預期的面部特征是模糊的或不存在的,嵌入點的大偏移是不可避免的,導致錯誤識別(圖1a)。

 

考慮到人臉識別系統已經在相對受限的人臉識別基准上得到了較高的識別精度,例如LFW[10]和YTF[37],其中大多數面部屬性可以清楚地觀察到,近期人臉識別的挑戰已經開始考慮更多無約束的場景,包括監控視頻[12,18,23](見圖2)。在這些任務,任何類型和程度的變化都可能存在面對圖像,其中大多數由特征模型學習的期望的面部特征可能是有缺陷的。由於信息的缺乏,不太可能找到一個特征集總是能夠准確地匹配這些面孔。因此,在LFW上獲得超過99%准確性的最先進的人臉識別系統在IARPA Janus基准上的性能大幅下降[18,23,12]。

 

為了解決上述問題,我們提出了Probabilistic Face Embeddings(PFEs),它對每個輸入人臉圖像在潛在空間中進行分布估計,而不是點估計(圖1b)。分布的均值可以被解釋為最可能的潛在特征值,而分布的跨度則表示這些估計的不確定性。PFE可以從兩個方面解決無約束人臉識別問題:(1)在匹配(人臉比較)過程中,PFE懲罰不確定的特征(維度),而關注置信度高的特征。(2)對於低質量輸入,PFE估計的置信度可用於拒絕輸入或主動請求人工協助以避免錯誤識別。此外,可以推導出一種自然的解決方案,將一組人臉圖像的PFE表征集合為一個新的具有較低不確定性的分布,以提高識別性能。PFE的實現是開源的。本文的貢獻總結如下:

1. 一種感知不確定性的概率人臉嵌入(PFE)方法,它將人臉圖像表示為分布而不是點。
2. 一種基於PFE的人臉匹配和特征融合的概率框架。
3.一種將現有確定性嵌入轉換為PFEs的簡單方法,無需額外的訓練數據。
4. 綜合實驗表明,該方法能夠提高確定性嵌入的人臉識別性能,有效濾除低質量的輸入,增強人臉識別系統的魯棒性。

 

2. Related Work

為了提高判別深度神經網絡(DNNs)的魯棒性和可解釋性,深度不確定性學習受到越來越多的關注[14,5,15]。不確定性主要有兩種類型:模型不確定性和數據不確定性。模型不確定性是指訓練數據給定后,模型參數的不確定性,可以通過收集額外的訓練數據來降低[22,24,14,5]。數據不確定性解釋了輸出的不確定性,其主要來源是輸入數據的固有噪聲,因此不能用更多的訓練數據[15]來消除。本文研究的不確定度可分為數據不確定度。盡管技術已經發展到能在不同的任務中估計數據不確定性,包括分類和回歸[15],他們不適合我們的任務,因為我們的目標空間沒有明確地給定標簽(雖然我們給定了身份標簽,他們不能直接作為潛在特征空間中的目標向量)。變分自編碼器[17]也可以看作是估算數據不確定性的一種方法,但它主要用於生成。對於人臉識別,一些研究[6,16,45]利用模型的不確定性進行人臉表征的分析和學習,但據我們所知,我們是第一個利用數據的不確定性(有些文獻中也使用了術語“數據不確定性”去解決別的問題[40]))來做識別任務的。

 

Probabilistic Face Representation 將人臉建模為概率分布並不是一個新想法。在人臉模板/視頻匹配領域,有大量的文獻將人臉建模為概率分布[29,1]、子空間[3]或特征空間中的manifolds[1,11]。然而,這種方法的輸入是一組人臉圖像,而不是單一的人臉圖像,他們使用分布之間的相似度或距離度量,例如KL-divergence,用於比較,但是這種方法不會懲罰不確定性。同時,也有研究[19,9]試圖利用人臉parts的特征建立給定人臉的模糊模型。相比之下,所提出的PFE將每一張人臉圖像表示為DNNs編碼的潛在空間中的分布,我們使用感知不確定性的對數似然分數來比較這些分布。

 

Quality-aware Pooling  與上述方法相比,最近關於人臉模板/視頻匹配的工作旨在利用深度CNN嵌入的顯著性(saliency),將所有人臉的深度特征聚合成一個單一的緊湊向量[41,21,39,7]。在這些方法中,一個單獨的模塊學習去預測圖像集中每個人臉的質量,然后歸一化為特征向量的加權池。我們證明了在我們的框架下可以自然地推導出一個解決方案,這不僅為質量感知的池化方法提供了概率解釋,而且還得到了一個更一般的解決方案,其中圖像集也可以建模為PFE表征。

 

3. Limitations of Deterministic Embeddings

在本節中,我們從理論和經驗兩方面解釋確定性人臉嵌入的問題。使用表示圖像空間,表示維的潛在特征空間。一個理想的潛在空間應該僅編碼身份顯著的特征,並從與身份無關的特征中解耦出來。如此,每個身份就應該有一個獨一的本質的編碼,能夠最好地表示這個人,且每個人臉圖像是從采樣的observation。訓練人臉嵌入的過程可以看作搜索這樣一個潛在空間和學習反向映射的關聯過程。對於確定性嵌入,反向映射是一個Dirac delta函數 ,其中是嵌入函數。很明顯,對於任何空間,給定x中噪音的可能性,要恢復精確的z值是不現實的,低質量輸入的嵌入點不可避免地會偏離其固有z值(不管我們有多少訓練數據)。

問題是這種偏移是否有界,使得我們的類內距離小於類間距離。然而,這對於完全不受約束的人臉識別是不現實的,我們進行了一個實驗來說明這一點。讓我們從一個簡單的例子開始:給定一對相同的圖像,一個確定性的嵌入將總是映射到相同的點,因此他們之間的距離將永遠是0,即使這些圖像不包含一個臉。這意味着“兩張相似甚至相同的圖片並不一定意味着它們屬於同一個人的可能性很高”。

為了證明這一點,我們進行了一個實驗,通過手工降低高質量圖像,並可視化他們的相似度評分。我們從LFW數據集[10]中隨機選擇每個受試者的高質量圖像,並手動向人臉插入高斯模糊、遮擋和隨機高斯噪聲。特別地,我們線性增加高斯核的大小,遮擋比和噪聲的標准差來控制退化程度。在每個退化級別,我們使用64層CNN(trained on Ms-Celeb-1M [8] with AM-Softmax [33])去提取特征向量,該模型可與最先進的人臉識別系統相媲美。將特征歸一化到超球面嵌入空間。然后,報道了兩種類型的余弦相似度結果:(1)原始圖像對與各自退化圖像之間的相似度,(2)不同身份的退化圖像之間的相似度。如圖3所示,對於所有三種類型的退化結果,真正的相似度分數下降到0,而impostor相似度分數收斂到1.0!這表明,在完全不受約束的情況下,即使模型非常自信(非常高/低的相似度分數),也可能出現兩種類型的錯誤:

(1) false accept of impostor low-quality pairs and
(2) false reject of genuine cross-quality pairs.

 

(左圖的意思就是,在原始的確定性模型中,當屬於同一個人的清晰圖和模糊圖對比時,模糊程度越大,兩者的相似度越低(藍線表示),即越容易被判別為不是同一個人;而當不屬於同一個人的清晰圖和模糊圖對比時,模糊程度越大,兩者的相似度越高(紅線表示),即越容易被判別為是同一個人)

為了證實這一點,我們在IJB-A數據集上測試模型,發現impostor/genuine圖像對分別對應最高/最低分數。這種情況與我們假設的完全一樣(見圖4)。我們將其稱為Feature Ambiguity Dilemma,即當確定性嵌入被強制估計模糊人臉的特征時,就會出現這種情況。實驗還暗示存在一個模糊輸入映射到的dark space,且其距離度量是扭曲的。

 

4. Probabilistic Face Embeddings

為了解決上述由數據不確定性引起的問題,我們建議將不確定性編碼到人臉表征中,並在匹配時加以考慮。具體來說,我們不是建立一個在潛在空間中進行點估計的模型,而是在潛在空間中估計一個分布來表示一個人的面孔的潛在外觀(following the notations in Section 3)。具體說來,我們使用了多元高斯分布:

其中都是第i個輸入圖像通過網絡預測得到的D維向量。這里我們只考慮了一個對角協方差矩陣去減少人臉表征的復雜度。該表征應該有如下的特性:

  • 中心應該應該編碼輸入圖像最重要的人臉特征
  • 不確定性應該編碼每個特征維度的模型置信度

此外,我們希望使用單個網絡來預測分布。考慮到訓練人臉嵌入的新方法仍在開發中,我們的目標是開發一種方法,可以將現有的確定性人臉嵌入網絡以一種簡單的方式轉換為PFEs。接下來,我們首先展示了如何比較和融合PFE表征來展示它們的優勢,然后提出了我們學習PFEs的方法。

注1:由於篇幅的限制,我們在補充材料中提供了以下所有命題的證明。

 

4.1. Matching with PFEs

給定一對圖像的PFE表征,我們可以直接測量他們是同一個人(共享相同的潛在編碼)的"可能性":,其中。具體說明:

 

實際上,我們喜歡使用對數似然方法,所以解決方案將變為:

其中表示的第維,表示的第

注意,這個對稱的度量可以被視為一個輸入以另一個輸入為條件的潛在編碼的似然期望,也就是說

因此,我們稱之為mutual likelihood score(MLS)。與KL-divergence不同,這個分數是無界的,不能被視為距離度量。可以證明,平方歐式距離等價於MLS中所有不確定度都相同的一種特殊情況:

Property 1. 如果對於所有數據來說是一個固定值,且維度為,MLS就等價於scaled and shifted負平方歐式距離。

此外,當不確定度允許不同時,我們注意到MLS有一些有趣的性質,使其不同於距離度量:
1. 注意機制:公式(3)中括號中的第一項可以看作是一個加權距離,它將更大的權重賦予更小的不確定維度。
2. 懲罰機制:式(3)中括號內第二項可視為懲罰項,懲罰具有較高的不確定性的維度。

3.如果有大的不確定性,不管他們的均值之間的距離是多少,MLE的值都會比較低(因為懲罰)

4.只有當輸入有着小的不確定性,且他們的均值很接近,MLE才會高

最后的兩個特性暗示了如果網絡能夠有效地估計,PFE就能夠解決feature ambiguity dilemma

 

代碼實現:

import tensorflow as tf

def negative_MLS(X, Y, sigma_sq_X, sigma_sq_Y, mean=False):
    with tf.name_scope('negative_MLS'):
        if mean:
            D = X.shape[1].value #size為[batch_size, embedding_size]

            Y = tf.transpose(Y) #[embedding_size, batch_size],轉置才能實現輸入i-j
            XX = tf.reduce_sum(tf.square(X), 1, keep_dims=True) #對維度1求和,keep_dims=True維持了維度1, [batch_size, 1]
            YY = tf.reduce_sum(tf.square(Y), 0, keep_dims=True) #對維度0求和,keep_dims=True維持了維度0,因為Y轉置了,所以是維度0, [1, batch_size]
            XY = tf.matmul(X, Y) #[batch_size, batch_size]
            diffs = XX + YY - 2*XY #會自己廣播擴維計算

            sigma_sq_Y = tf.transpose(sigma_sq_Y) #[embedding_size, batch_size]
            sigma_sq_X = tf.reduce_mean(sigma_sq_X, axis=1, keep_dims=True) #[batch_size, 1]
            sigma_sq_Y = tf.reduce_mean(sigma_sq_Y, axis=0, keep_dims=True) #[1, batch_size]
            sigma_sq_fuse = sigma_sq_X + sigma_sq_Y #[batch_size, batch_size]

            diffs = diffs / (1e-8 + sigma_sq_fuse) + D * tf.log(sigma_sq_fuse)

            return diffs
        else:
            D = X.shape[1].value #embedding_size
            X = tf.reshape(X, [-1, 1, D]) #[batch_size, 1, embedding_size]
            Y = tf.reshape(Y, [1, -1, D]) #[1, batch_size, embedding_size]
            sigma_sq_X = tf.reshape(sigma_sq_X, [-1, 1, D]) #[batch_size, 1, embedding_size]
            sigma_sq_Y = tf.reshape(sigma_sq_Y, [1, -1, D]) #[1, batch_size, embedding_size]
            sigma_sq_fuse = sigma_sq_X + sigma_sq_Y #[batch_size, batch_size, embedding_size],就能夠得到所有i、j交叉求和的結果
            diffs = tf.square(X-Y) / (1e-10 + sigma_sq_fuse) + tf.log(sigma_sq_fuse) #等式(3)
            return tf.reduce_sum(diffs, axis=2) #返回[batch_size, batch_size]

def mutual_likelihood_score_loss(labels, mu, log_sigma_sq):

    with tf.name_scope('MLS_Loss'):

        batch_size = tf.shape(mu)[0]

        diag_mask = tf.eye(batch_size, dtype=tf.bool)
        non_diag_mask = tf.logical_not(diag_mask)

        sigma_sq = tf.exp(log_sigma_sq)
        loss_mat = negative_MLS(mu, mu, sigma_sq, sigma_sq) #返回的size為[batch_size, batch_size],每個位置ij的值表示batch_i對batch_j的結果
        
        label_mat = tf.equal(labels[:,None], labels[None,:])
        label_mask_pos = tf.logical_and(non_diag_mask, label_mat) #得到類相同的mask

        loss_pos = tf.boolean_mask(loss_mat, label_mask_pos)#得到類相同的兩個輸入計算得到的loss
    
        return tf.reduce_mean(loss_pos)#然后計算他們的均值得到最后的損失結果
View Code

 

4.2. Fusion with PFEs

在很多情況下,我們有一個人臉圖像模版(集),為了匹配,我們需要建立一個緊湊的表征。使用PFEs,可以導出用於表征融合的共軛公式(圖5)。讓表示一組來自相同身份的observations(人臉圖像),且為第n個observation后的后驗分布。然后,假設所有的observations是條件獨立的(給定潛在編碼z)。可以表示為:

 

其中是一個歸一化因子。為了簡化標注,我們在下面僅考慮一維的情況;解決方案很容易就能擴展為多變量的情況。

假設是一個無信息先驗,即是一個方差接近的高斯分布,等式(5)的后驗分布是有着更低的不確定性的新高斯分布(詳情看補充材料)。接下來,給定一個人臉圖像集,融合表征的參數能直接給出:

 

實際上,因為條件獨立假設通常不為真,如視頻幀有很多冗余,公式(7)會因集合中圖像的數量而有偏差。因此,我們取維數最小值來獲得新的不確定度。

 

該操作的代碼實現:

def aggregate_PFE(x, sigma_sq=None, normalize=True, concatenate=False):
    if sigma_sq is None:
        D = int(x.shape[1] / 2)
        mu, sigma_sq = x[:,:D], x[:,D:]
    else:
        mu = x
    attention = 1. / sigma_sq #等式(7)
    attention = attention / np.sum(attention, axis=0, keepdims=True) #等式(7)
    
    mu_new  = np.sum(mu * attention, axis=0) #等式(6)
    sigma_sq_new = np.min(sigma_sq, axis=0) #取最小值做新的不確定度

    if normalize:
        mu_new = l2_normalize(mu_new)

    if concatenate:
        return np.concatenate([mu_new, sigma_sq_new])
    else:
        return mu_new, sigma_sq_new
View Code

 

Relationship to Quality-aware Pooling 如果我們考慮第i 個輸入的所有維度共享相同的不確定性的情況,讓質量值作為網絡的輸出。然后等式(6)可以寫成:

如果我們不使用融合后的不確定性,算法將與最近用於set-to-set 人臉識別的質量感知聚合方法相同[41,21,39]。

 

4.3. Learning

注意,對於任何確定性嵌入,如果進行適當的優化,能夠切實地滿足PFEs的特性:(1)嵌入空間是一個解耦的身份顯著性潛在空間,(2)f(x)表示在潛在空間中給定輸入最可能的特征。因此,本文考慮了一種階段訓練策略:給定一個預先訓練好的嵌入模型f,固定其參數,使μ(x) = f(x),並優化一個附加的不確定性模塊來估計。當不確定性模塊在嵌入模型的同一數據集上進行訓練時,這種分階段的訓練策略比端到端學習策略能讓我們在PFE和原始嵌入f(x)之間進行更公平的比較。

不確定性模塊是由兩個全連接層組成的網絡,與bottleneck層共享相同的輸入(bottleneck層即輸出原始人臉嵌入的層)。優化准則是使所有真實對的相互似然得分最大化。形式上,損失函數最小化為:

其中是所有真實對集,s函數定義在等式(3)中。在實際應用中,損失函數在每個mini-batch中都得到了優化。憑直覺,這個損失函數可以被理解為最大化p(z | x)的替代版:如果所有可能的真實對的潛在分布有很大的重疊, 那個對於任何關聯的x,潛在目標z都應該有一個大的似然p(z|x)。注意到因為μ(x)是固定的,優化不會導致μ(x)崩潰成一個點。

 

額外:

MLE score的計算:

#sigma_sq1和sigma_sq2為輸入的兩個圖的方差的平方
def pair_MLS_score(x1, x2, sigma_sq1=None, sigma_sq2=None):
    if sigma_sq1 is None:
        x1, x2 = np.array(x1), np.array(x2)
        assert sigma_sq2 is None, 'either pass in concated features, or mu, sigma_sq for both!'
        D = int(x1.shape[1] / 2)
        mu1, sigma_sq1 = x1[:,:D], x1[:,D:]
        mu2, sigma_sq2 = x2[:,:D], x2[:,D:]
    else:
        x1, x2 = np.array(x1), np.array(x2)
        sigma_sq1, sigma_sq2 = np.array(sigma_sq1), np.array(sigma_sq2)
        mu1, mu2 = x1, x2
    sigma_sq_mutual = sigma_sq1 + sigma_sq2
    dist = np.sum(np.square(mu1 - mu2) / sigma_sq_mutual + np.log(sigma_sq_mutual), axis=1)
    return -dist
View Code

 

5. Experiments

在本節中,我們首先在標准的人臉識別協議上測試提出的PFE方法,並與確定性嵌入進行比較。然后我們進行定性分析,以獲得更多關於PFE行為的見解。由於篇幅限制,我們在補充材料中提供了實施細節。

為了綜合評價PFEs的有效性,我們在7個基准上進行實驗,包括著名的LFW[10]、YTF[37]、megface[13]和其他4個更不受約束的基准:

CFP[28]包含500名受試者的7000張正面(frontal)/側面(profile)面部照片。我們只測試了frontal-profile(FP)協議,其中包括7000對frontal-profile臉。

IJB-A[18]是一個基於模板的基准測試,包含了500個受試者的25,813張人臉圖像。每個模板包括一組靜態照片或視頻幀。與以前的基准相比,IJB-A中的人臉有更大的變化,並呈現出更不受約束的場景。

IJB-C[23]是IJB-A的擴展,具有3531個受試者的140740張面孔圖像。IJB-C的驗證協議包含了更多的impostor對,所以我們可以計算更低的False Accept Rates(FAR)下的True Accept Rates(TAR)。

IJB-S[12]是一個監控視頻基准,包含350個監控視頻,總時長30小時,5656個注冊圖像,和202個受試者的202個注冊視頻。該數據集中的許多人臉都是極端姿勢或低質量的,使其成為最具挑戰性的人臉識別基准之一(見圖2示例圖像)。

我們使用CASIA-WebFace[42]和MS-Celeb-1M[8]的cleaned版本(https://github.com/inlmouse/MS-Celeb-1M_ WashList.)作為訓練數據,從中我們刪除了同樣包含在測試數據集中的受試者(CASIA-WebFace和MS-Celeb-1M分別刪除了84和4182名受試者)

 

5.1. Experiments on Different Base Embeddings

由於我們的方法通過轉換現有的確定性嵌入來工作,我們想評估它如何與不同的base嵌入工作(即均值的那個分支使用不同的預訓練好的base嵌入,然后用來訓練不確定分支),即用不同的損失函數訓練的人臉表征。特別是,我們實現了以下最先進的損失功能:Softmax+Center Loss[35],Triplet Loss[27],A-Softmax[20]和AM-Softmax [33](我們也嘗試着實現ArcFace[4],但是在我們的例子中它並不能很好的收斂。所以我們沒有使用它)。為了與之前的工作對齊[20,34],我們在CASIA-WebFace數據集上使用各種損失函數訓練一個64層殘差網絡[20]來作為基礎模型。所有的特征都被l2歸一化到一個超球面嵌入空間。然后我們在CASIA-WebFace上對每個基本模型的不確定性模塊進行了3000個steps的訓練。在LFW[10]、YTF[37]、CFP-FP[28]和IJB-A[18]四種不同的人臉識別標准下,對其性能進行了評價。結果如表1所示。在所有情況下,PFE都優於原始表示,表明該方法在不同的嵌入和測試場景下都具有魯棒性。

  

5.2. Comparison with State-Of-The-Art

為了與最先進的人臉識別方法進行比較,我們使用了不同的基礎模型,即在MS-Celeb-1M數據集上使用AM-Softmax訓練的64層網絡。然后我們固定參數,並在同一數據集上訓練不確定性模塊,進行12000 steps的訓練。在接下來的實驗中,我們比較了3種方法:

Baseline 只使用64層確定性嵌入的原始特征和余弦相似度進行匹配。Average pooling用於模板/視頻基准測試。

PFEfuse 使用PFE中的不確定性估計σ和公式(6)來聚合模板的特征,但使用余弦相似度進行匹配。如果不確定性模塊能夠有效地估計特征的不確定性,那么通過賦予置信度大的特征更大的權重,與σ的融合應該能夠比Average pooling的效果更好。

PFEfuse+match 使用σ進行融合和匹配(與相互的似然分數)。根據式(6)和式(7)融合模板/視頻。

在表2中,我們展示了三個相對簡單的基准測試的結果:LFW、YTF和megface。雖然在LFW和YTF上的精度接近飽和,但所提出的PFE仍然提高了原始表示的性能。注意,megface是一個有偏數據集:因為所有的探頭都是來自FaceScrub的高質量圖像,所以megface中的positive對都是高質量圖像,而negative對最多只包含一個低質量圖像(驗證協議中megface的negative對僅包括探頭與干擾物之間的negative對)。

 

 

因此,由feature ambiguity dilemma(第3節)引起的這兩種錯誤都不會在MegFace中出現,因此它自然傾向於確定性嵌入。然而,在這種情況下,PFE仍然保持性能。我們也注意到這樣的bias,即目標圖庫的圖像比其他圖庫的圖像質量更高,但這種情況在現實世界的應用程序中是不存在的。

在表3和表4中,我們展示了在三個更有挑戰性的數據集上的結果:CFP、IJB-A和IJB-C。這些數據集中的圖像在姿態、遮擋等方面有更大的變化,面部特征可能更模糊。因此,我們可以看到PFE在這三個基准上取得了更顯著的改善。特別是在FAR= 0.001%的IJB-C上,PFE降低了64%的錯誤率。此外,簡單地將原始特征與學習到的不確定性(PFEfuse)融合在一起也有助於性能的提高。

 

在表5中,我們報告了最新基准測試IJB-S的三個協議的結果。同樣,在大多數情況下,PFE能夠提高性能。請注意,“Surveillance-to-stil”和“Surveillance-to-booking”中的圖庫模板都包含了高質量的正面大頭照,幾乎沒有特征的模糊性。因此,我們在這兩個協議中只看到了輕微的性能差距。但在最具挑戰性的“surveillance-to-surveillance”協議中,利用不確定性進行匹配可以實現更大的改進。PFEfuse+match在所有open-set協議上均顯著提高了性能,說明MLS對absolute pairwise score的影響大於對relative ranking的影響。

  

5.3. Qualitative Analysis

Why and when does PFE improve performance? 我們首先在第3節中使用PFE表征和MLS重復相同的實驗。這里的基本模型使用的是相同的網絡。從圖6中可以看出,盡管低質量impostor對的分數仍在增加,但它們收斂到一個低於大多數genuine分數的點。類似地,cross-quality genuine對的分數收斂到一個點,比大多數impostor的分數更高。這意味着PFE可以解決第3節中討論的兩種類型的錯誤。圖7中的IJB-A結果進一步證實了這一點。圖8顯示了LFW、IJB-A和IJB-S的估計不確定性的分布。可以看到,不確定性的“方差”按以下順序增加:LFW < IJB-A < IJB-S。對比5.2節的性能,我們可以看到PFE在圖像質量更多樣化的數據集上,性能有更大的提升。

 (左圖說明了,在我們設計的PFEs模型中,當屬於同一個人的清晰圖和模糊圖對比時,模糊程度越大,兩者的MLS相似度變低了,但是沒有變得很低(藍線表示);而當不屬於同一個人的清晰圖和模糊圖對比時,模糊程度越大,兩者的MLS相似度會變高(紅線表示),但是也沒有變得很高。證明這種計算圖像相似度的新metric在面對低質量圖片時更加魯棒)

 

 

What does DNN see and not see?  要回答這個問題,我們在原始embedding上訓練一個解碼網絡,然后通過從給定x的估計分布p(z|x)中采樣z來把它應用到PFE。高質量的圖像(圖9行1),重建的圖像往往是非常一致的沒有太多變化,暗示在這個圖像模型能夠得到非常確定的面部特征。相比之下,對於低質量的輸入(圖9第2行),可以從重構圖像中觀察到更大的變化。特別地,可以從圖像中清晰識別的屬性(例如,濃眉)仍然是一致的,而不能識別的屬性(例如,眼睛形狀)有更大的變化。對於誤檢的圖像(圖9 Row 3),重構圖像中可以觀察到明顯的變化:在給定的圖像中,模型沒有看到任何顯著的特征。

 

6. Risk-controlled Face Recognition

在許多場景中,我們可能期望系統能夠實現更高的性能,或者在面對復雜的應用程序場景時,我們可能希望確保系統的性能能夠得到控制。因此,我們希望模型能在不確定的情況下拒絕輸入圖像。一個常見的解決方案是使用質量評估工具對圖像進行過濾。我們證明PFE為這個任務提供了一個自然的解決方案。我們從LFW和IJB-A數據集獲取所有圖像,用於圖像級人臉驗證(我們在這里沒有遵循原始協議)。該系統允許“filter out”所有圖像的一部分,以保持更好的性能。然后我們報告TAR@FAR= 0.001%的“Filter Out Rate”。我們考慮兩個過濾標准:(1)MTCNN[36]的檢測分數(2)我們的不確定性模塊預測的置信度值。在這里,第i個樣本的置信度被定義為在所有維度上的harmonic均值的逆。為了公平性,兩種方法都使用了原始確定性嵌入表征和余弦相似度進行匹配。為了避免飽和的結果,我們使用了在CASIA-WebFace上訓練的模型和AM-Softmax。結果如圖11所示。可以看出,預測的置信度值可以更好地反映輸入圖像的潛在識別精度。這是一個預期的結果,因為PFE是在監督下為特定模型訓練的,而外部質量估計器不知道模型匹配使用的特征類型。具有高/低 可信度/質量分數的示例圖像如圖10所示。

 

7. Conclusion

我們提出了probabilistic face embeddings(PFEs)方法,它將人臉圖像表示為潛在空間中的分布。推導出概率解來比較和聚合人臉圖像的PFE。與確定性嵌入算法不同,PFEs算法在無約束人臉識別中不存在特征模糊問題。通過對不同設置的定量和定性分析表明,將確定性嵌入轉化為PFEs可以有效提高人臉識別性能。我們還表明,PFEs中的不確定性對人臉圖像的“判別”質量來說是一個很好的指標。在未來的工作中,我們將探索如何以端到端的方式學習PFEs,以及如何解決人臉模板中的數據依賴性。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM