本發明屬于圖像處理技術領域,涉及一種人臉識別方法,可用于視頻監控,人證對比,嫌疑人追蹤領域。
背景技術:
人臉做為人的一種自然屬性,具有很強的自身穩定性和個體差異性。人臉圖像的采集具有友好,直接,方便等特點,易于被用戶接受,因此人臉識別做為一種重要的生物特征識別技術得到了廣泛的研究和應用。當前人臉識別主要用在公安部門對疑犯的鑒別與跟蹤,人證對比驗證,視頻監控等領域。
人臉識別一直是很多國家和研究機構研究的熱點問題,同時也提出了很多方法。基于幾何特征的方法是較早提出的方法,其主要是通過提取口,鼻,眼等重要特征點的位置和眼睛等重要器官的幾何形狀作為分類特征,但是此方法對于側臉以及光照變化適應性較差。特征臉法利用主成分分析進行降維和提取特征。主成分分析是一種應用十分廣泛的數據降維技術,該方法選擇與原數據協方差矩陣前幾個最大特征值對應的特征向量構成一組基,已達到最佳表征原數據的目的。由主成分分析法提取的特征向量被稱為“特征臉”,有一組特征臉基準圖像組成一個特征臉空間,任何一幅人臉圖像都可投影到該子空間,得到一個權值向量。計算此權值向量和訓練集中每個人的權值向量的歐式距離,取距離最小所對應的人臉圖像的身份為測試人臉圖像身份。由于以上方法的局限性很難應用到大規模人臉識別任務中,因此近幾年基于深度學習尤其是基于卷積神經網絡的人臉識別方法得到了廣泛的應用。卷積神經網絡cnn是人工神經網絡的一種,通過卷積層、激活層、池化層和全連接層等組成一種層級結構,模仿人類大腦皮層的神經網絡功能,在卷積神經網絡中輸入的是原始自然圖像,減少了對圖像的預處理操作。卷積神經網絡將輸入圖像的一部分作為層級結構的最低層輸入,圖像信息在依次向下傳遞的過程中,不同卷積層中的若干不同卷積核對輸入進行卷積操作提取顯著特征,最后在網絡的輸出層以概率的形式輸出測試人臉圖像所屬身份類別。將卷積神經網絡應用到人臉識別問題已經取得許多值得稱贊的成績,比如香港中文大學唐曉鷗與王剛教授帶領的deepid團隊提出的deepid系列卷積神經網絡在lfw數據庫上的表現已經超過了人類。雖然卷積神經網絡在人臉識別問題上取得了不俗的成績,但是卷積神經網絡的參數量巨大不利于移植到嵌入式設備中,而且光照的變化對人臉識別精度影響依然存在。
技術實現要素:
本發明的目的在于克服上述現有技術存在的不足,提出了一種結合lbp特征圖與卷積神經網絡的人臉識別方法,以減小光照變化,提高識別精度。
為實現上述目的,本發明采取的技術方案包括如下:
(1)訓練卷積神經網絡:
(1a)利用vj人臉檢測算法,對人臉圖像進行檢測,得到人臉區域邊框位置;
(1b)利用3000fps算法,對步驟(1a)中得到的人臉邊框對應的圖像進行人臉特征點檢測,得到眼睛特征點坐標,利用特征點坐標,對人臉進行對齊,得到人臉對齊后的圖像i0;
(1c)利用vj人臉檢測算法對人臉對齊后圖像進行人臉檢測,得到人臉區域圖像i1,并將該人臉區域圖像轉換成灰度圖i2;
(1d)利用lbp特征編碼方法,對灰度圖i2進行lbp編碼,得到lbp特征圖,再將該lbp特征圖與灰度圖進行融合,得到融合后的圖像i3;
(1e)構建一個由輸入層、5層卷積池化層、2層全連接層和輸出層構成的卷積神經網絡;
(1f)將融合后的圖像i3,輸入到步驟(1e)中構建的卷積神經網絡中進行訓練,得到訓練好的卷積神經網絡;
(2)利用卷積神經網絡對人臉圖像進行識別:
(2a)利用步驟(1a)至步驟(1d)的方法,對兩張待測人臉圖像進行數據預處理,得到預處理后的兩張待測圖像i4和i5;
(2b)將預處理后的兩張待測圖像i4和i5,依次輸入步驟(1f)訓練好的卷積神經網絡中,對每張圖像進行特征提取,得到第一張待測人臉圖像的特征向量j1和第二張待測人臉圖像的特征向量j2;
(2c)對步驟(2b)中得到的人臉圖像的特征向量進行相似度計算,得到余弦相似度δ:
(2d)設定判定閾值δ0,將余弦相似度δ與判定閾值δ0進行比較:
若δ≤δ0,則表示兩張待測人臉圖像不是同一人;
若δ>δ0,則表示兩張待測人臉圖像是同一人。
本發明與現有技術相比,具有以下優點:
本發明由于在卷積神經網絡輸入數據的過程中,采用了lbp特征編碼方法將原始輸入圖像先轉換成lbp特征圖,再將原始輸入圖像與對應的lbp特征圖在顏色通道串聯合并后輸入到卷積神經網絡中,與現有的只輸入原始圖像的方法相比,有效的減少光照變化,提高了識別精度。
附圖說明
圖1是本發明的實現流程圖;
圖2是本發明中的卷積神經網絡結構示意圖;
圖3是本發明仿真使用的基準原始圖和測試原始圖;
圖4是用本發明對圖3檢測得到的人臉檢測圖;
圖5是用本發明從圖4中檢測到的人臉特征點檢測圖;
圖6是用本發明對圖5仿射變換得到的人臉對齊圖;
圖7是用本發明對圖6檢測得到的人臉區域圖;
圖8是用本發明對測試原始圖變換得到的灰度圖和lbp特征圖;
圖9是用本發明對圖8融合得到的融合圖。
具體實施方式
以下結合附圖,對本發明作進一步詳細說明:
參照圖1,本發明包括如下步驟:
步驟一,訓練卷積神經網絡。
(1a)從訓練數據集中選擇一幅人臉圖像,利用vj人臉檢測算法,對選擇的人臉圖像進行檢測,得到人臉區域邊框位置:
(1a1)設定vj人臉檢測算法中觀察窗口參數,得到固定大小的觀察窗口;
(1a2)在選擇的人臉圖像上,按照從左到右,從上到下的順序,以固定步長移動步驟(1a1)中得到的觀察窗口;
(1a3)利用“積分圖”方法,對步驟(1a2)中觀察窗口所對應的圖像區域進行處理,得到觀察窗口對應圖像區域的harr特征;
(1a4)利用級聯分類器,對步驟(1a3)中得到的harr特征進行分類,根據分類結果判斷觀察窗口對應區域是否是人臉區域:若是人臉區域,則觀察窗口位置為人臉邊框位置;若不是人臉區域,則移動觀察窗口,返回步驟(1a3);
(1a5)重新設定vj人臉檢測算法中的觀察窗口參數,重復步驟(1a1)~步驟(1a4),得到最終的邊框位置;
(1b)對步驟(1a)中得到的人臉邊框對應的圖像進行人臉對齊,得到對齊后的圖像i0:
(1b1)選定一張正臉圖像為基準圖像,利用3000fps算法,對基準圖像進行人臉特征點檢測,得到雙眼特征點坐標矩陣p;
(1b2)對步驟(1a)中得到的人臉邊框對應的圖像,利用3000fps算法進行人臉特征點檢測,得到雙眼特征點坐標矩陣p';
(1b3)利用步驟(1b1)中的p與步驟(1b2)中的p',根據如下公式,得到仿射變換矩陣m;
m=p(p')-1
其中,矩陣(p')-1為矩陣p'的逆矩陣;
(1b4)利用步驟(1b3)中得到的仿射變換矩陣m,對步驟(1a)中得到的人臉邊框對應的圖像進行仿射變換,得到人臉對齊后的圖像i0;
(1c)利用vj人臉檢測算法對人臉對齊后圖像i0進行人臉檢測,得到人臉區域圖像i1,并將該人臉區域圖像轉換成灰度圖i2;
(1d)對灰度圖i2與lbp特征圖融合,得到融合后的圖像i3:
(1d1)將圓形lbp算子中的半徑設定為1,采樣點數設定為8,得到確定的lbp編碼方法;
(1d2)利用確定的lbp編碼方法,對灰度圖i2進行lbp特征編碼,得到對應的lbp特征圖;
(1d3)將灰度圖i2與lbp特征圖在顏色維度上進行串聯,得到融合后圖像i3;
(1e)對訓練數據集中的剩余圖像,重復步驟(1a)~步驟(1d),得到新訓練數據集;
(1f)構建一個圖2所示的卷積神經網絡,其中:
圖2(a)為網絡結構圖,其包括輸入層、5層卷積池化層、2層全連接層和輸出層;
圖2(b)為卷積池化層結構圖,其包括2層卷基層、2層激活層、1層最大池化層;
(1g)將步驟(1e)得到的新訓練數據集,輸入到步驟(1f)中構建的卷積神經網絡中進行訓練,得到訓練好的卷積神經網絡。
步驟二、利用卷積神經網絡對人臉圖像進行識別。
(2a)從測試數據集中選擇兩張待測圖像,利用步驟(1a)至步驟(1d)的方法,對這兩張待測人臉圖像進行數據預處理,得到預處理后的兩張待測圖像i4和i5;
(2b)將預處理后兩張待測圖像i4和i5分別輸入到訓練好的卷積神經網絡中,通過該網絡中第一層卷積池化層結構中的不同層進行特征提取,即由卷積層對輸入圖像進行卷積操作,得到卷積特征圖f0;由激活層,對卷積特征圖f0進行非線性轉換,得到激活特征圖f1;由池化層對激活特征圖f1進行下采樣,得到池化特征圖f2;
(2c)將池化特征圖f2輸入到卷積神經網絡中,通過該網絡中第二層至第五層的卷積池化層進行特征提取,得到更精細的特征圖f3;
(2d)將特征圖f3輸入到卷積神經網絡中,通過該網絡中第一層全連接層對特征圖f3進行映射變換,得到第一張待測人臉圖像的特征向量j1和第二張待測人臉圖像的特征向量j2;
(2e)對步驟(2d)中得到的人臉圖像的特征向量j1和j2,根據如下公式進行相似度計算,得到余弦相似度δ:
(2f)設定判定閾值δ0,將余弦相似度δ與判定閾值δ0進行比較:
若δ≤δ0,則表示兩張待測人臉圖像不是同一人;
若δ>δ0,則表示兩張待測人臉圖像是同一人;
至此完成對人臉圖像的識別。
下面結合仿真實驗,對本發明的技術效果作進一步的描述。
1、仿真實驗條件:
選擇一幅大小為128×128的基準圖像,如圖3(a)所示;兩幅大小為128×128的測試圖像,如圖3(b)和圖3(c)所示;硬件平臺為:intel(r)core(tm)i7-4600u、8gbram,軟件平臺:caffe,python2.7。
2、實驗內容與結果:
仿真1,對圖3中的基準圖像和測試圖像人臉檢測過程進行仿真,結果如圖4所示,其中圖4(a)表示對圖3(a)所示基準圖像的人臉檢測后圖像,圖4(b)和圖4(c)分別表示對圖3(b)和圖3(c)所示測試圖像的人臉檢測后圖像;
從圖4可以看出,圖3(a)所示基準圖像和圖3(b)和圖3(c)所示測試圖像中的人臉區域已被檢測出,得到人臉區域邊框;
仿真2,對圖4所示的人臉特征點檢測過程進行仿真,結果如圖5所示,其中圖5(a)表示圖4(a)人臉特征點檢測后圖像,圖5(b)和圖5(c)表示對圖4(b)和圖4(c)的人臉特征點檢測后圖像;
從圖5可以看出,圖4中面部68個特征點已被全部檢測出;
仿真3,對圖5(b)和圖5(c)人臉對齊過程進行仿真,結果如圖6所示,其中圖6(a)是對圖5(b)人臉對齊后的圖像,圖6(b)是對圖5(c)人臉對齊后的圖像;
從圖6可以看出,圖5(b)和圖5(c)經仿射變換后已經與圖3(a)所示基準圖像對齊;
仿真4,對圖6人臉區域提取過程進行仿真,結果如圖7所示,其中圖7(a)是對圖6(a)人臉區域提取后圖像,圖7(b)是對圖6(b)人臉區域提取后圖像;
從圖7可以看出,圖中只保留了圖6的人臉區域圖像。
仿真5,對圖7(a)和圖7(b)的灰度圖與lbp特征圖轉換過程進行仿真,其結果如圖8所示,其中圖8(a)和圖8(c)表示圖7(a)和圖7(b)的灰度圖,圖8(b)和圖8(d)表示圖7(a)和圖7(b)的lbp特征圖。
仿真6,對圖8(a)和圖8(b),圖8(c)和圖8(d)融合過程進行仿真,結果如圖9所示,其中圖9(a)表示圖8(a)和圖8(b)融合后的圖像,圖9(b)表示圖8(c)和圖8(d)融合后的圖像;
仿真7,對利用卷積神經網絡對人臉圖像進行識別過程進行仿真,設判定閾值δ0為0.5,利用訓練完成的卷積神經網絡模型,對圖9(a)和圖9(b)進行人臉特征提取,得到兩個特征向量,計算量個特征向量的余弦相似度,得到相似度δ為0.862688,由于δ>δ0,因此判定測試圖為同一人。
從仿真5到仿真7的結果可以看出,本發明先將灰度圖與lbp特征圖融合,得到融合后圖像,再利用卷積神經網絡對融合后圖像進行人臉識別的方法,可以減小光照變化對網絡的影響,提高人臉識別精度。