基於深度神經網路的人臉識別相關問題

bujidao1128發表於2024-05-30

基於深度神經網路的人臉識別相關問題

1、DNN與CNN的關係
CNN可以看作是一種特殊的DNN,它們之間的關係是包含和被包含的關係。CNN 的核心是卷積層,該層可以有效地識別影像中的區域性模式,並使用池化層來減少特徵對映的維度。此外,CNN 還包括其他型別的層,例如全連線層和啟用函式層,用於將卷積層輸出的特徵對映轉換為最終的分類結果。

2、DNN與SSD的關係
在DNN中使用單次多框檢測器SSD來實現目標檢測的功能
雖然DNN本身可以用於許多工,包括影像分類和人臉識別,但當涉及到需要同時檢測影像中多個目標位置和類別時,SSD更加適合
將SSD整合到DNN中,可以使DNN在處理需要目標檢測的任務時更加高效。在人臉識別系統中,使用DNN提取人臉特徵的同時,可以使用SSD來檢測影像中的人臉位置,從而實現更全面的人臉識別功能

3、深度神經網路人臉識別的原理
人臉識別主要透過人臉檢測模型和人臉識別模型實現
首先,輸入層接收人臉影像,人臉檢測模型會檢測到人臉的部位,並把人臉的部位擷取出來
然後,透過卷積層對輸入影像進行卷積運算,提取特徵,啟用函式建立卷積層內相鄰層節點之間的函式關係,使模型更加靈活,隨著卷積層的加深,提取的特徵從最初的低階特徵發展到複雜的特徵
然後,透過池化層用單個點替換特徵值的鄰域,進一步提取和過濾卷積得到的特徵,完成人臉關鍵點檢測,得到人臉的眼睛、鼻子、嘴角共5個關鍵點,進行人臉的對齊。人臉對齊之後,透過人臉識別模型得到128位的特徵向量,即128個數
然後,透過全連線層進行分類,損失函式估計模型預測值和真實值之間的差值
最後,輸出層給出最終準確的結果。基於深度神經網路人臉識別的流程圖如圖3.5所示。

人臉識別主要透過人臉檢測模型和人臉識別模型實現。透過FaceDetectorYN函式建立人臉檢測模型,以便實現人臉檢測。人臉檢測模型會檢測到人臉的部位,並把人臉的部位擷取出來。然後進行關鍵點檢測與對齊,對人臉眼睛、鼻子、嘴角共5個點進行提取,進行人臉的對齊。人臉對齊之後,透過人臉識別模型得到128位的特徵向量,即128個數。基於深度神經網路人臉識別的流程圖如圖1所示。

圖1 基於深度神經網路人臉識別的流程圖
在得到128個特徵向量後,進行特徵向量的比對。到預先準備好的人臉識別資料庫當中進行搜尋,資料庫中也是128位的特徵向量,利用歐氏距離方法和餘弦距離方法來計算兩組特徵向量之間的相似度,可以用這兩種度量的方法來進行比較,如果檢測到的人臉和資料庫裡面的人臉一致,則查詢到對應的人臉。基於深度神經網路人臉識別的原理如圖2所示。

圖2 基於深度神經網路人臉識別的原理圖

4、各個層的作用是什麼?
輸入層,接收原始資料
隱藏層,進行非線性變換
輸出層,則給出最終結果
卷積層,對輸入影像進行卷積運算,提取特徵
啟用函式,建立卷積層內相鄰層節點之間的函式關係,使模型更加靈活
池化層,用單個點替換特徵值的鄰域,進一步提取和過濾卷積得到的特徵
全連線層,進行分類
損失函式,估計模型預測值和真實值之間的差值

人臉檢測模型,會檢測到人臉的部位
人臉識別模型,得到128位的特徵向量

5、人臉遮擋起來之後為什麼還會顯示出關鍵點?
因為人臉關鍵點檢測是透過深度神經網路級聯迴歸的方法進行的,該方法級聯了三層卷積神經網路,透過第一層卷積神經網路後,會預測出人臉部位5個關鍵點的大致區域,然後透過第二、三層卷積神經網路後會進一步確定關鍵點的區域,每透過一層都會對關鍵點的預測位置進行調整,以得到精細的關鍵點定位,所以即便是被遮擋了也會顯示出預測的大致位置的關鍵點。
檢測到人臉就會進行關鍵點的預測,如果遮擋了,依然能夠進行關鍵點的預測,只是無法準確預測。

圖3 DNN級聯迴歸方法
為什麼遮擋了之後還是會顯示人臉關鍵點,可以從DNN級聯迴歸的方法進行關鍵點檢測與對齊方面的解釋,但是要把原理說清楚
(1)Level-1分為3個CNN,分別是Deep CNN F1(Face1)、Deep CNN EN1(Eye,Nose)、Deep CNN NM1(Nose,Mouth);Deep CNN F1輸入尺寸為39×39,輸出5個關鍵點的座標;Deep CNN EN1和Deep CNN NM1輸入尺寸均為39×31,輸出均是3個關鍵點的座標。Level-1的輸出由三個CNN輸出取平均得到。
(2)Level-2由10個CNN構成,輸入尺寸均為15×15,每兩個組成一對,一對CNN對一個關鍵點進行預測,預測結果同樣是採取平均。
(3)Level-3與Level-2一樣,由10個CNN構成,輸入尺寸均為15×15,每兩個組成一對, Level-3是在Level-2得到預測點位置的基礎上,重新進行裁剪。由Level-2的網路,可以進一步得到5個關鍵點的位置,離正確的點越近了,然後利用Level-2的預測位置,重新進行裁剪,然後再重新進行預測。Level-2和Level-3是對Level-1得到的粗定位進行微調,得到精細的關鍵點定位。

6、人臉識別人臉部位的5個關鍵點(landmark)是怎麼取的,跟識別的關係是什麼,五個點之間的距離跟不同的人的關係是什麼?
關鍵點檢測與對齊。把人臉部位擷取出來,進行關鍵點檢測與定位,即對人臉眼睛、鼻子、嘴角共5個點進行提取,進行人臉的對齊。
透過深度神經網路級聯迴歸的方法進行人臉的關鍵點檢測,級聯了三個層級,該方法可以自動識別人臉影像中的關鍵點位置。
首先,它們可以用來表示人臉的形狀和結構資訊,從而幫助識別演算法更好地理解和區分不同的人臉。
其次,這些關鍵點可以用於計算不同人臉之間的距離和相似度,從而實現人臉比對和識別的功能。
五個關鍵點之間的距離與不同的人之間存在一定的關係。每個人的面部結構都是獨特的,因此不同人之間的五個關鍵點之間的距離也會有所差異。這些距離資訊可以用於構建人臉特徵向量或者模型,進而用於人臉識別任務中的比對和匹配。
從對齊後的人臉影像中提取出具有區分性的特徵,使用深度卷積神經網路模型,透過多層卷積和池化操作,提取人臉影像中的高階特徵表示。這些特徵可以捕捉到人臉的細節、紋理和結構等資訊。

7、創新點在哪裡?
(1)與傳統的人臉識別演算法相比,本文采用基於深度神經網路的人臉識別方法,具有較高的準確性和魯棒性
(2)本文將VS2017,OpenCV和Qt相結合,實現了人臉識別門禁模擬系統的圖形介面的視覺化開發

8、看演算法裡面的函式具體用的是什麼人臉識別資料庫
基於深度神經網路的人臉識別在實踐中需要大規模的人臉資料集來進行訓練和評估,本文使用的人臉識別資料庫是LFW,因為LFW具有真實性,多樣性,標註質量好,影像清晰度高和資料格式簡單明瞭等特點,所以本文選用LFW的人臉識別資料庫。

相關文章