本申請涉及用于人臉識別的系統及其方法。
背景技術:
近來,深度學習在人臉識別方面取得巨大成功并且明顯優于使用低級特征的系統。有兩個值得注意的突破。第一個是利用深度神經網絡的大規模人臉識別。通過將人臉圖像分類成數千或甚至數百萬個身份,最后的隱藏層形成對身份具有高度鑒別性的特征。第二個是利用識別和驗證任務來監督深度神經網絡。驗證任務將同一身份的特征之間的距離最小化,并且減小個人內部的變化。通過組合從很多人臉區域學習的特征,聯合的識別-驗證在最廣泛評估的lfw人臉識別數據集上實現當前現有技術水平的99.15%人臉驗證準確性。
已經致力于首先學習屬性分類器,隨后使用屬性預測進行人臉識別。此外,已經廣泛地研究了基于稀疏表示(sparserepresentation-based)的分類并在具有遮擋(occlusions)的情況下進行的人臉識別。還已經提出了魯棒玻爾茲曼機來區別損壞的像素并且學習潛在表示(representation)。這些方法設計明確地處理遮擋的部件。
技術實現要素:
目前已有的是首先學習屬性分類器,隨后使用屬性預測進行人臉識別,但本申請嘗試相反過程:首先預測身份,隨后使用學習的身份相關特征來預測屬性。可以觀察到,神經網絡的較高層中的特征對身份和身份相關屬性(諸如,性別和種族)具有高度選擇性。當呈現身份(其可以在訓練數據之外)或屬性時,可以識別不斷被激勵的特征的子集,并且也可以識別不斷被抑制的特征的另一子集。這兩個子集中的任一子集的特征有力地指示該身份或屬性的存在/不存在,并且本申請表明僅單個特征對特定身份或屬性的識別也具有較高的準確性。換言之,深度神經網絡中的特征在身份和屬性上具有稀疏性。盡管并沒有教導本申請中的深度神經網絡在訓練期間區分屬性,但它們已經隱式地學習此類高級概念。和廣泛使用的手工制作的特征(諸如,高維lbp(局部二值模式))相比,直接使用由深度神經網絡學習的特征在身份相關屬性方面具有高得多的分類準確性。
與傳統的基于稀疏表示的分類相反,本申請表明,在訓練期間未添加人工遮擋模式(pattern)的情況下,由神經網絡人臉圖像訓練的深度神經網絡對遮擋具有隱式編碼不變性。
在本申請中觀察到,由深度神經網絡學習的特征的稀疏性是適度的。針對輸入的人臉圖像,激活頂部隱藏層中的特征的大約一半。另一方面,在大約一半的人臉圖像上激活每個特征。此類稀疏性分布可以最大化深度神經網絡的鑒別能力以及圖像之間的距離。不同身份激活特征的不同子集。同一身份的兩個圖像具有類似激活模式。這激勵本申請將深度神經網絡的頂部隱藏層中的實值特征二值化,并且使用二進制代碼進行識別。結果取得了預料不到的效果。lfw的驗證準確性只稍微下降少于1%。它對因海量存儲而造成的大規模人臉搜索產生顯著影響,并且節省了計算時間。這也表明,二值激活模式比深度神經網絡中的激活幅度重要。
在本申請的一方面,公開用于人臉識別的設備。所述設備可以包括特征提取器和識別單元。特征提取器被配置成具有多個級聯的特征提取模塊,其中特征提取模塊中的每個包括:卷積層,所述卷積層用于從輸入人臉圖像中或者從在多個級聯的特征提取模塊中的前一特征提取模塊中提取的特征中提取局部特征;以及全連接層,全連接層連接到相同特征提取模塊中的卷積層并且從提取的局部特征中提取全局特征。根據提取的全局特征之間的距離,識別器用于確定:輸入圖像中的兩個人臉圖像是否來自同一身份,或者輸入圖像中作為搜索人臉圖像(probefaceimage)的一個圖像與包括所述輸入圖像的人臉圖像冊中的其中一個圖像是否屬于同一身份。
在本申請的一個實施例中,級聯的特征提取模塊中的第一特征提取模塊中的卷積層連接到輸入人臉圖像,并且后續的特征提取模塊中的每個的卷積層連接到前一特征提取模塊中的卷積層。每個特征提取模塊中的全連接層連接到同一特征提取模塊中的卷積層。
所述設備還可以包括訓練器,所述訓練器被配置成通過將識別監督信號和驗證監督信號反向傳播通過級聯的特征提取模塊來更新同一特征提取模塊中的每個卷積層與對應全連接層之間的連接上的神經元權值。
更新的過程可以包括:分別將兩個人臉圖像輸入到神經網絡,得到兩個人臉圖像中的每個的特征表示;通過將神經網絡的每個全連接層中的、每個人臉圖像的特征表示分類到多個身份中的一個來計算識別誤差;通過驗證每個全連接層中的兩個人臉圖像的各自特征表示是否來自同一身份來計算驗證誤差,識別誤差和驗證誤差分別被視作識別監督信號和驗證監督信號;以及將所有的識別監督信號和驗證監督信號反向傳播通過神經網絡,以便更新同一特征提取模塊中的每個卷積層與對應全連接層之間的連接的神經元權值。
本申請發現并且證明在之后的特征提取模塊中提取的特征的三個性質,即,稀疏性、選擇性和穩健性,它們對人臉識別都很關鍵,其中在每個人臉圖像的特征具有大約一半零值和一半正值以及每個特征在所有的人臉圖像上具有大約一半的時間為零并且一半的時間為正,在這種意義上說特征具有稀疏性;對于給定身份或含有給定身份相關屬性的所有人臉圖像,具有取正值(被激活)或零值(被抑制)的特征,在這個意義上說,特征對于身份和身份相關屬性(諸如,性別和種族)具有選擇性;特征對于圖像損壞(諸如,遮擋)具有穩健性,其中在適度圖像損壞的情況下,特征值大部分保持不變。
附圖說明
下文參考附圖描述本發明的示例性非限制實施例。附圖是說明性的,并且一般不按確切比例。不同圖上的相同或類似元件引用相同的附圖標號。
圖1是示出符合一些公開實施例的用于人臉識別的設備的示意圖。
圖2是示出在之后的特征提取模塊中提取的特征的稀疏性、選擇性和穩健性的示意圖。
圖3是示出特征提取器中的級聯特征提取模塊的結構以及訓練器中的輸入人臉圖像和監督信號的示意圖。
圖4是示出單獨人臉圖像上的激活特征(神經元)的稀疏性以及在所有人臉圖像上激活的單獨特征(神經元)的稀疏性的示意直方圖。
圖5是示出特定身份的人臉圖像上的選擇性激活和抑制的示意直方圖。
圖6是示出含有特定屬性的人臉圖像上的選擇性激活和抑制的示意直方圖。
圖7是示出用來測試由特征提取器提取的特征對圖像損壞的穩健性的具有隨機塊遮擋的人臉圖像的示意圖。
圖8是示出在各種程度的隨機塊遮擋的情況下單獨身份的人臉圖像上的平均特征激活的示意圖。
圖9是示出符合一些公開實施例的如圖1所示的訓練器的示意流程圖。
圖10是示出符合一些公開實施例的如圖1所示的特征提取器的示意流程圖。
圖11是示出符合一些公開實施例的如圖1所示的識別器的示意流程圖。
具體實施方式
現在將詳細地參考本發明的一些具體實施例,包括發明人預期的用于實施本發明的最佳模式。附圖中示出這些具體實施例的示例。盡管結合這些具體實施例描述本發明,但應理解,并不意味著將本發明限于這里描述的實施例。相反,意圖涵蓋可以包括在如所附權利要求書限定的本發明的精神和范圍內的替代方案、修改和等效物。以下描述中列出了許多具體細節,以便提供對本申請的全面理解。可以在沒有這些具體細節中的一些或全部的情況下實踐本發明。在其他情況下,沒有詳細地描述公知的過程操作,以免不必要地使對本發明的理解產生障礙。
本文中使用的術語僅僅是出于描述特定實施例的目的,而不意圖限制本發明。除非上下文另有明確指出,否則本文中使用的單數形式“一”、“一個”和“所述”也可以包括復數形式。還應理解,本說明書中使用的術語“包括”和/或“包括”用于說明存在所述特征、整數、步驟、操作、元件和/或部件,但并不排除存在或添加一個或多個其他特征、整數、步驟、操作、元件、部件和/或它們的組合。
如本領域的技術人員將了解,本發明可以體現為系統、方法或計算機程序產品。因此,本發明可以采用以下形式:全硬件實施例、全軟件實施例(包括固件、常駐軟件、微碼等),或者將在本文中通常都可稱為“電路”、“裝置”、“模塊”或“系統”的軟件和硬件方面組合起來的實施例。此外,本發明可以采用計算機程序產品的形式,所述計算機程序產品體現在任何有形的表達介質中,所述介質具有體現在介質中的計算機可用程序代碼。
還應理解,諸如第一和第二等等相關術語(若有的話)單獨使用,以將一個實體、項目或動作與另一個區分開來,而未必要求或暗示這些實體、項目或動作之間的任何實際關系或順序。
本發明功能中的很多功能和本發明原理中的很多原理在實施時由軟件或集成電路(ic)最好地支持,諸如,數字信號處理器和軟件或者專用ic。盡管存在可能大量的努力和由例如可用時間、當前技術和經濟考慮因素激勵的很多設計選擇,但預期本領域的技術人員在由本文中公開的概念和原理引導時將容易能夠利用最少的實驗生成此類軟件指令或ic。因此,為了簡潔并且最小化模糊根據本發明的原理和概念的任何風險,此類軟件和ic的進一步論述(若有的話)將限于優選實施例所使用的必要原理和概念。
圖1是示出符合一些公開實施例的用于人臉識別的示例性設備100的示意圖。如圖所示,設備100可以包括特征提取器10和識別器20。特征提取器10被配置成從輸入人臉圖像中提取特征。在本申請的一個實施例中,特征提取器10可以包括神經網絡,該神經網絡可以構造成具有多個級聯的特征提取模塊。級聯中的每個特征提取模塊包括卷積層和全連接層。級聯的特征提取模塊可以由軟件、集成電路(ic)或它們的組合實施。圖3示出特征提取器10中的級聯的特征提取模塊的結構的示意圖。如圖所示,級聯的特征提取模塊中的第一特征提取模塊中的卷積層連接到輸入人臉圖像,并且后續的每個特征提取模塊中的卷積層連接到前一特征提取模塊中的卷積層。每個特征提取模塊中的全連接層連接到同一特征提取模塊中的卷積層。
參考圖1,為了使神經網絡能夠有效地工作,設備100還包括訓練器30,訓練器30被配置成通過將識別監督信號和驗證監督信號反向傳播通過級聯的特征提取模塊來更新用于以下連接的神經權值:
第一特征提取模塊中的卷積層與含有輸入人臉圖像的輸入層之間的連接;
第二到最后特征提取模塊中的每個卷積層與前一特征提取模塊中的對應卷積層之間的連接;以及
同一特征提取模塊中的每個卷積層與對應全連接層之間的連接,
從而使得在級聯的特征提取模塊中的最后/最高特征提取模塊中提取的特征具有稀疏性、選擇性和穩健性,這將在之后論述。
識別器20可由軟件、集成電路(ic)或它們的組合實施,并且被配置成計算從不同的人臉圖像中提取的特征之間的距離,以確定兩個人臉圖像是否來自同一身份以用于人臉驗證,或者輸入圖像中作為搜索人臉圖像的其中一個圖像與包括所述輸入圖像的人臉圖像冊中的一個圖像是否屬于同一身份。
特征提取器10
特征提取器10含有多個級聯的特征提取模塊,并且操作以分層次地從輸入人臉圖像中提取特征。圖3示出特征提取器10中的級聯的特征提取模塊的結構的示例,例如,所述特征提取器包括四個級聯的特征提取模塊,每個特征提取模塊包括卷積層conv-n和全連接層fc-n,其中n=1、……、4。特征提取器10的第一特征提取模塊中的卷積層conv-1連接到輸入人臉圖像,作為輸入層,而特征提取器10的后續的每個特征提取模塊中的卷積層conv-n(n>1)連接到前一特征提取模塊中的卷積層conv-(n-1)。特征提取器10的每個特征提取模塊中的全連接層fc-n連接到同一特征提取模塊中的卷積層conv-n。
圖10是示出特征提取器10中的特征提取過程的示意流程圖。在步驟101中,特征提取器10將輸入人臉圖像前向傳播通過特征提取器10的所有特征提取模塊中的卷積層。隨后,在步驟102中,特征提取器10將卷積層中的每個的輸出前向傳播到同一特征提取模塊內的對應全連接層。最后,在步驟103中,它將來自全連接層中的最后一個全連接層的輸出/表示作為特征,如下文論述。
特征提取器10中的卷積層被配置成從輸入圖像(用于第一卷積層)或特征圖(如本領域已知的那樣,其是前一卷積層(其后面是最大池化)的輸出特征圖)中提取局部人臉特征(即,從輸入圖像或輸入特征的局部區域中提取的特征),以形成當前卷積層的輸出特征圖。每個特征圖是以2d組織的某一種特征。在前一卷積層(緊接著是最大池化)和當前卷積層中相應的輸入特征圖與輸出特征圖之間具有相同的神經連接權值集合w的情況下,相同輸出特征圖中或相同特征圖的局部區域中的特征從輸入特征圖中提取。每個卷積層中的卷積操作可以表示為:
其中xi和yj分別是第i個輸入特征圖和第j個輸出特征圖。kij是第i個輸入特征圖與第j個輸出特征圖之間的卷積核。*表示卷積。bj是第j個輸出特征圖的偏差。在本文中,將relu非線性函數y=max(0,x)用于神經元。convnets的較高卷積層中的權值是局部共享的。r表示共享權值的局部區域。
每個卷積層之后可以是最大池化,最大池化用公式表示成:
其中第i個輸出特征圖yi中的每個神經元在第i個輸入特征圖xi中的s×s非重疊局部區域上池化。
特征提取器10中的全連接層中的每個被配置成從獲取自同一特征提取模塊上的卷積層的特征圖中提取全局特征(從輸入特征圖的整個區域中提取的特征)。換言之,全連接層fc-n從卷積層conv-n中提取全局特征。全連接層也用作在訓練期間接收監督信號并且在特征提取期間輸出特征的接口。全連接層可以用公式表示成:
其中xi表示前一卷積層(緊接著是最大池化)中的第i個神經元的輸出。yj表示當前的全連接層中的第j個神經元的輸出。wi,j是前一卷積層(緊接著是最大池化)中的第i個神經元與當前的全連接層中的第j個神經元之間的連接上的權值。bj是當前的全連接層中的第j個神經元的偏差。max(0,x)是relu非線性。
在特征提取器10的最后/最高特征提取模塊中提取的特征(例如,如圖3所示的fc-4層中的那些)具有稀疏性、選擇性和穩健性:在每個人臉圖像的特征具有大約一半零值和一半正值以及每個特征在所有的人臉圖像上具有大約一半的時間為零并且一半的時間為正,從這兩點上說特征具有稀疏性;對于給定身份或含有給定身份相關屬性的所有人臉圖像具有取正值(被激活)或零值(被抑制)的特征,在這個意義上說特征對于身份和身份相關屬性(諸如,性別和種族)具有選擇性;特征對于圖像損壞(諸如,遮擋)具有穩健性,其中在適度圖像損壞的情況下,特征值大部分保持不變。稀疏特征可以通過與閾值進行比較而轉換成二進制代碼,其中二進制代碼可以用于人臉識別。
圖2示出在fc-4層中提取的特征的三個性質:稀疏性、選擇性和穩健性。圖2左側示出布什(bush)的三個人臉圖像和鮑威爾(powell)的一個人臉圖像上的特征。布什的第二個人臉圖像部分損壞。在本申請的一個實施例中,fc-4層中有512個特征,圖2示出了從這些特征中對32個進行二次抽樣,以示作示例。特征在每個人臉圖像上稀疏地激活,其中大約一半的特征為正并且一半為零。同一身份的人臉圖像的特征具有類似激活模式,而針對不同身份則不同。特征的穩健性在于:當呈現遮擋時,如在布什的第二個人臉上示出,特征的激活模式大部分保持不變。圖2右側示出所有人臉圖像(作為背景)、屬于布什的所有圖像、具有屬性“男性”的所有圖像和具有屬性“女性”的所有圖像上的一些選擇特征的激活直方圖,特征通常在約一半的人臉圖像上被激活。但對于屬于特定屬性身份的所有圖像,這些特征可以持續地被激活(或不激活)。在這個意義上說,特征對身份和屬性具有稀疏性和選擇性。
圖像上的適度稀疏性使不同身份的人臉可最大程度地區分開,而特征上的適度稀疏性使它們具有最大鑒別能力。圖4左側示出驗證數據集中的46594個(例如)人臉圖像中的每個的被激活(正)特征數量的直方圖,并且圖4右側示出每個特征被激活(為正)的圖像的數量的直方圖。評估基于由fc-4層提取的特征。在本申請的一個實施例中,與fc-4層中的全部512個(例如)特征相比,圖像上的被激活的神經元的數量的平均和標準偏差是292±34,而與全部46594個驗證圖像相比,每個特征被激活的圖像的數量的平均標準偏差是26565±5754,它們都大約在所有特征/圖像的一半上居中。
激活模式(即,特征是否被激活(具有正值))比精確的激活值更重要。通過取閾值來將特征激活轉換成二進制代碼只犧牲了少于1%的人臉驗證準確性。這表明特征的激勵或抑制狀態已含有大多數的辨別性信息。二進制代碼對存儲而言比較經濟并且快速用于圖像搜索。
圖5和圖6分別示出給定的身份和屬性的特征的激活直方圖的示例。給定的身份的直方圖呈現出較強的選擇性。針對給定的身份,一些特征持續被激活,其中直方圖分布在大于零的值中,如圖5中的前兩行所示;而一些其他特征持續被抑制,其中直方圖累積在零或較小值處,如圖5中的后兩行所示。至于屬性,圖7的每行示出一些相關屬性(與性別、種族和年齡相關的那些屬性)上的單個特征的直方圖。在每一行左側給定的每個屬性上,所選擇的特征是被激活的。如圖6所示,特征對性別、種族和某些年齡(諸如,兒童和老年人)呈現出較強的選擇性,其中特征針對給定的屬性被有力地激活,而針對相同種類的其他屬性被抑制。針對一些其他屬性,諸如,青年和中年人,選擇性較弱,其中沒有單獨針對這些屬性的每個激活特征,這是因為年齡并不確切地對應于身份。例如,在人臉識別中,特征對于在青年和中年拍攝的同一身份具有不變性。
圖7和圖8示出在后續特征提取模塊(fc-4層)中提取的特征對圖像損壞的穩健性。人臉圖像被從10×10到70×70的各種大小的隨機塊遮擋,如圖7所示。圖8示出具有隨機塊遮擋的圖像上的平均特征激活,其中每一列示出了在其頂部給定的單個身份的人臉圖像上的平均激活,其中每一行的左側給定各種程度的遮擋。特征值映射到顏色圖,其中暖色表示正值并且冷色表示零或較小值。每一列中的圖中的特征的順序分別由每個身份的原始人臉圖像上的特征激活值分類。如可以在圖8中看出,激活模式大部分保持不變(其中多數被激活的特征仍被激活并且多數被抑制的特征仍被抑制),直到出現較大程度的遮擋為止。
識別器20
識別器20操作以計算由特征提取器10的全連接層提取的不同人臉圖像的全局特征之間的距離,以確定兩個人臉圖像是否來自同一身份以用于人臉驗證,或者確定輸入圖像中作為搜索人臉圖像的其中一個圖像與包括輸入圖像的人臉圖像冊中的其中一個圖像是否屬于同一身份,以用于人臉識別。圖10是示出識別器20的識別過程的示意流程圖。在步驟201中,識別器20計算由特征提取器10從不同的人臉圖像中提取的特征(即,由全連接層提取的不同人臉圖像的全局特征)之間的距離。最后,在步驟202,識別器20確定兩個人臉圖像是否來自同一身份以用于人臉驗證,或者在步驟203中,確定輸入圖像中作為搜索人臉圖像的其中一個圖像與包括輸入圖像的人臉圖像冊中的其中一個圖像是否屬于同一身份,以用于人臉識別。
在識別器20中,如果兩個人臉圖像的特征距離小于閾值,則確定它們屬于同一身份;或者與該搜索人臉圖像到所有其他人臉圖像冊的特征距離相比,如果搜索人臉圖像和人臉圖像冊中的一個的特征距離是最小的,則確定它們屬于同一身份。其中,由識別器20確定的特征距離可以是歐幾里得距離、聯合貝葉斯距離、余弦距離、漢明距離或者任何其他距離。
在本申請的一個實施例中,將聯合貝葉斯距離用作特征距離。聯合貝葉斯已經成為人臉的普及相似性度量,它用兩個獨立的高斯變量之和來表示所提取的人臉特征x(減去均值之后):
x=μ+ò,(5)
其中μ~n(0,sμ)表示人臉身份并且ò~n(0,sò)表示個人內部的變化。在給定個人內部或外部變化假設p(x1,x2∣hi)和p(x1,x2∣he)的情況下,聯合貝葉斯對兩個人臉的聯合概率進行建模。從等式(5)中易于表明,這兩個概率也是分別具有下列變化的高斯分布:
和
可以利用em算法送數據中學習sμ和sò。在測試中,計算出似然比:
它具有封閉解并且有效。
訓練器30
訓練器30用來通過輸入特征值提取器10的卷積層和全連接層的神經元之間的連接的初始權值、多個識別監督信號和多個驗證監督信號,更新特征提取器10的卷積層和全連接層的神經元之間的連接的權值w,使得在提取器中的級聯特征提取模塊中的最后一個提取模塊提取的特征具有稀疏性、選擇性和穩健性。
如圖3所示,訓練器30中的識別監督信號和驗證監督信號(分別表示為“id”和“ve”)同時添加到特征提取器10中的每個特征提取模塊的全連接層fc-n中的每個全連接層,其中n=1、……、4,并且分別反向傳播到輸入人臉圖像,以更新所有的級聯特征提取模塊的神經元之間的連接的權值。
通過將單個人臉圖像的所有全連接層表示/輸出(即,公式(4))分類為n個身份的一個,從而生成用于訓練器30的識別監督信號“id”,其中將分類誤差用作識別監督信號。
通過在每個特征提取模塊中分別驗證兩個比較的人臉圖像的全連接層表示,確定兩個比較的人臉圖像是否屬于同一身份,從而生成訓練器30中的驗證監督信號,其中將驗證誤差用作驗證監督信號。給定一對訓練人臉圖像,特征提取器10分別從每個特征提取模塊的兩個人臉圖像中提取兩個特征矢量fi和fj。如果fi和fj是同一身份的人臉圖像的特征,那么驗證誤差是
圖9是示出訓練器30的訓練過程的示意流程圖。在步驟101中,訓練器30對兩個人臉圖像取樣并且分別將它們輸入到特征提取器10,以得到特征提取器10的所有全連接層中的、兩個人臉圖像的特征表示。隨后,在步驟102中,訓練器30通過將每個全連接層中的、每個人臉圖像的特征表示分類為多個(n個)身份中的一個來計算識別誤差。同時,在步驟103中,訓練器30通過驗證每個全連接層中的、兩個人臉圖像的相應特征表示是否來自同一身份來計算驗證誤差。分別將識別誤差和驗證誤差用作識別監督信號和驗證監督信號。在步驟104中,訓練器30同時將所有的識別監督信號和驗證監督信號反向傳播通過特征提取器10,以更新特征提取器10中的神經元之間的連接的權值。將同時添加到全連接層fc-n(其中n=1、2、3、4)的識別監督信號和驗證監督信號(或誤差)反向傳播通過特征提取模塊的級聯,直到傳播到輸入圖像。在反向傳播之后,將特征提取模塊的級聯中的每層中得到的誤差累加。根據誤差的大小來更新特征提取器10中的神經元之間的連接上的權值。最后,在步驟105中,訓練器30評估訓練過程是否收斂,并且如果沒有達到收斂點,則重復步驟101到104。
所附權利要求書中的所有構件或步驟加上功能元件的對應結構、材料、動作和等效物旨在包括:用于與特別要求保護的、其他要求保護的元件相結合執行功能的任何結構、材料或動作。上面對本發明的描述僅僅是出于說明和描述的目的,而并非是窮舉的以及并非是將本發明限于所公開的形式。在不脫離本發明的范圍和精神的情況下,本領域的技術人員應該清楚許多更改和變化。通過選擇并描述上述的實施方式,目的在于最好地闡釋本發明的原理和實際應用,并且使本領域的技術人員能夠以適于預期的特定用途的各種實施例和各種更改來理解本發明。