人臉識別之演算法理論 雙層異構深度神經網路

2021-08-25 17:35:27 字數 2523 閱讀 3234

無論我們處理何種ai的問題,資料是根本,資料是ai之源。對於人臉的場景,乙個大規模人臉資訊庫可以定義為:

對於一張人臉元素而言,具有以下內容的部分標籤或全資訊:

人臉檢測資訊 :人臉數量、 人臉 座標 ;

人臉空間資訊 :俯仰角、 旋轉角 、偏航角 ;

人臉關鍵點資訊 :眼睛、 鼻子 、嘴、臉部 輪廓座標 ;

人臉屬性資訊 :年齡、 性別 、人種 等;

人臉表情資訊:微笑、 悲傷閉眼 、驚訝 、憤怒 、正常等;

人臉遮擋資訊 :墨鏡、 帽子 、口罩等;

人臉身份資訊:姓名、 id

對於一人多張臉而言, 具有結構化的標籤人臉組合;

例如:資料庫有張三同一時間、同一地點、同一表情、不同角度的人臉集合;也有同一時間、同一地點、同一角度、不同表情的人臉集合;等等諸如此類。

多人多張的結構化人臉標籤**,構成結構化人臉資訊庫,一般都是千萬乃至億級的超大規模人臉庫。

為了解決深度神經網路需要大量資料的問題,我們提出了分層向量化多**資訊表達體系。分層向量化實際上是乙個多層的特徵編碼的過程。乙個單層的特徵編碼由以下幾個步驟組成:首先,對庫里所有的人臉影象進行分層;其次對每塊區域提取區域性特徵(如lbp、sift)形成區域性特徵描述子;然後,對所有區域性特徵進行量化形成字典;最後,根據字典資訊和人臉影象的對映,編碼形**臉影象的特徵向量,我們定義該特徵向量為人臉dna。

人臉dna特徵能夠很好的描述特定人臉的不變數,該特徵對人臉光線、角度、表情以及各種雜訊具有一定的抗干擾性,再由雙層異構深度神經網路進行優化與學習,人臉的區分性更強,識別效果更佳。

舉個例子:我們認乙個人,最簡單的從這個人的身高、體型出發、髮型等來判斷是誰(認知第一層);更深一層從這個人的人臉、骨骼、虹膜、指紋來確認這個人的身份(認知第二層);更深層次,我們可以通過這個人的dna 來確認這個人的真實身份(認知第三層)。所以認知乙個人,隨著逐層深入,一層比一層更加可靠。

人臉dna類似,在計算機人臉識別過程中,我們可以將人臉的最外在特徵眼睛大小形狀(丹鳳眼、濃眉大眼等),鼻子形狀(鷹鉤鼻、平鼻),嘴的大小形狀(櫻桃小嘴)理解成第一層;可以將眼睛的距離,五官的位置,臉的輪廓等理解成第二層;將人臉資訊更抽象,提煉出人臉不隨光照、角度、年齡等影響的特徵,就是更深的層,我們定義為人臉dna。

深度神經網路有個缺點,在於它是一種黑盒方法,其細節隱藏在連線節點(神經元)和節點之間的權值中,而這些權值卻是沒有明確現實意義的(無法確定哪些權值與哪些屬性有關,也就是說這種神經網路是同構的),這就導致了先驗資訊很難加入到網路的訓練過程中。但在實際應用中,如果知道權值與屬性之間的對應關係,將會給深度神經網路的應用帶來非常大的便利。

例如,已有乙個用於人臉身份識別的深度神經網路模型和少量具有種族標記的人臉影象資料(假設此種族的資料在之前訓練資料中沒有出現過),現在想更新網路引數並將此網路用於人臉種族識別。由於深度神經網路通常具有非常多(百萬級)的引數,當訓練資料量較少時,直接對模型進行更新(所有權值都將被更新)通常會導致過擬合,使網路效能變壞。但如果已知權值與「種族」這一屬性的對應關係,那麼就可以只對少量的權值進行更新,使模型更加適合於人臉種族識別。基於以上原因,我們提出了異構深度神經網路模型(圖1)。

異構深度神經網路不再是乙個黑盒,其中的某些權值是與具體的屬性相對應的,甚至網路中的每層也可被設定為具有明確的含義,例如其神經元的啟用值對應於某種粒度的特徵。利用大量具有屬性標記的訓練資料,採用多工學習機制並在損失函式中加入稀疏性約束,通過考察神經元對不同刺激的反饋,可建立網路單元與屬性的對映關係,實現網路結構的語義化。利用異構深度神經網路,可在人臉模型中方便地加入光照、遮擋、角度、年齡、種族等多種先驗資訊,增強了模型的適應性和特徵的表達能力。

對於跨場景人臉識別問題,例如人證比對,即驗證身份證晶元照與現場照的身份是否一致,由於兩張**失配程度較大(非同源、身份證**解析度低,兩張**年齡跨度大),會導致特徵空間中樣本分佈的差異性較大,導致比對失敗。為了將兩張**對映到同一特徵空間中進行比較,在異構深度神經網路基礎上,我們提出了雙層異構深度神經網路模型。此模型中每層都是乙個深度網路(分別以兩張**為輸入),在訓練時採用二分類損失函式並對兩個網路中對應權值的差異性進行正則化,可實現不同影象空間到相同特徵空間的對映。在特徵空間中,相同身份人臉影象的類內差異變小,而不同身份人臉影象的類間差異變大,從而增強了特徵的判別性。

以人證合一為例: 人的證件照要和現場抓拍或者普通**上的人臉進行比對,我們不能直接拿來比對, 這樣因為 年齡、光照等各種資訊影響,識別不准。我們應該將證件照送到深度神經網路的一層,現場照送到深度神經網路的另一層 ,兩張**通過兩層不同的網相互交換資訊( 年齡 差距、角度光照影響等),逐漸的去掉這些對人臉識別不利因素 ,將兩張**對映到同乙個可比的空間再進行比較。(例:要比較山東和川西的蘋果哪個好吃,最好把它們都運到同乙個地方,由同乙個人來品嚐,給出最佳答案)。

FPGrowth演算法理論

背景 頻繁項集挖掘演算法用於挖掘 經常一起出現的item集合 稱為頻繁項集 通過挖掘出這些頻繁項集,當在乙個事務中出現頻繁項集的其中乙個item,則可以把該頻繁項集的其他item作為推薦 比如經典的購物籃分析中啤酒 尿布故事,啤酒和尿布經常在使用者的購物籃中一起出現,通過挖掘出啤酒 尿布這個啤酒項集...

演算法理論 PLA

perceptron learning algrithm 二值分類問題,資料線性可分 找到一條直線wtx 0,一邊全為 1,另一邊全為 1。找到了這條線 即,向量w 就得到了分類器。每次選取分類出錯的樣本點,迭代執行 wt 1 t wt t yn t xn t t代表第t次迭代 我的問題 這裡是不是...

EM演算法理論總結

主要解決具有隱變數的混合模型的引數估計 在高斯模型中,每個聚類都服從某個概率分布,我們要做的就是利用em演算法確定這些分布的引數,對高斯模型來說就是計算均值和方差,對多項式模型那就是概率 個人的理解就是用含有隱變數的含參表示式不斷擬合,最終能收斂並擬合出不含隱變數的含參表示式 假如有人告訴你,那乙個...