[發明專利]一種基于演化卷積神經網絡的人臉識別方法有效
| 申請號: | 202010195004.5 | 申請日: | 2020-03-19 |
| 公開(公告)號: | CN111414849B | 公開(公告)日: | 2020-12-29 |
| 發明(設計)人: | 孫亞楠;李思毅 | 申請(專利權)人: | 四川大學 |
| 主分類號: | G06K9/00 | 分類號: | G06K9/00;G06N3/00;G06N3/04;G06N3/08;G06N3/12 |
| 代理公司: | 成都正華專利代理事務所(普通合伙) 51229 | 代理人: | 陳選中 |
| 地址: | 610064 四川*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 演化 卷積 神經網絡 識別 方法 | ||
1.一種基于演化卷積神經網絡的人臉識別方法,其特征在于,包括以下步驟:
S1、根據變長編碼策略,通過間接編碼方法生成N個卷積神經網絡結構,得到初始化種群,并設置迭代計數器t=1和最大迭代次數T;
S2、對初始化種群中每個個體進行訓練,并使用人臉數據進行適應度評估,根據適應度評估結果選擇N個父本;
S3、使用二進制交叉算法對父本進行交叉,獲取N個子代,將N個父本和N個子代合并為混合種群,對混合種群中個體進行變異操作;
S4、對混合種群中個體進行適應度評估,并根據混合種群的適應度評估結果,對混合種群施加環境選擇,從混合種群中選出N個新個體;
S5、判斷t是否等于T,若是,則進入步驟S6,否則將步驟S4中N個新個體作為父本,令t的計數值加一,并返回步驟S3;
S6、在N個新個體中選擇適應度最佳的個體網絡,將待檢測人臉圖像輸入適應度最佳的個體網絡,得到人臉識別結果;
所述步驟S1中根據變長編碼策略,通過間接編碼方法生成N個卷積神經網絡結構,得到初始化種群的具體步驟為:
A1、設定最大卷積層數為a、最大池化層數為b和最大全連接層數為c;
A2、將一個卷積層作為卷積神經網絡結構的輸入層,在輸入層后依次隨機添加卷積層或池化層,并設置卷積層的卷積核大小或設置池化層的過濾器大小;
A3、判斷卷積層數目是否小于a且池化層數目是否小于b,若是,則返回步驟A2,否則進入步驟A4;
A4、判斷卷積層數目是否為a,若是,添加池化層至其數目為b,并設置卷積層的卷積核大小,否則添加卷積層至其數目為a,并設置池化層的過濾器大小;
A5、添加c+1個順序連接的全連接層,并在每個卷積層后插入一個批歸一化層;
A6、在最后一個全連接層后添加一個dropout層,得到初始卷積神經網絡結構;
A7、根據步驟A1-A6所述的方法生成N個初始卷積神經網絡結構,通過間接編碼方法對初始卷積神經網絡結構進行編碼,得到初始化種群;
所述步驟A7中通過間接編碼方法對初始卷積神經網絡結構進行編碼的具體方法為:通過間接編碼對初始卷積神經網絡結構中卷積層、池化層和全連接層進行編碼;
所述卷積層的編碼信息為:過濾器寬度、過濾器高度、特征圖數目、步幅寬度、步幅高度、卷積類型、標準差以及過濾器參數平均值;
所述池化層的編碼信息為:內核寬度、內核高度、步幅寬度、步幅高度以及池化類型,所述池化類型為最大池化或平均池化;
所述全連接層的編碼信息為:神經元數目、連接權重標準差以及連接權重的平均值;
所述對初始化種群中每個個體進行訓練,并使用人臉數據進行適應度評估的具體方法為:
B1、采集若干大小相同的人臉圖像數據,并將人臉圖像數據按7:3劃分為訓練集和驗證集;
B2、采用人工標記的方法對訓練集中人臉圖像數據進行人臉標記,得到樣本標簽;
B3、設置訓練步數為30和學習率為0.0001,每一步訓練遍歷所有訓練數據,將訓練集中人臉圖像數據依次送入個體中,并計算個體的預測輸出與樣本標簽之間的損失函數值,以損失函數值最小為目標,采用Adam算法對個體參數進行優化;
B4、令采用步驟B2-步驟B3所述的方法,對初始化種群中每個個體進行訓練;
B5、將驗證集分別輸入訓練后的每個個體,并計算準確率和復雜度,根據準確率和復雜度獲取適應度;
所述適應度等于準確率減去復雜度;
所述步驟B5中準確率計算步驟為:選擇個體輸出的每個人臉的預測概率,選擇最高概率的類別作為預測類別,并判斷預測類別與對應人臉圖像數據的真實類別是否相同,若是,則記為1,否則記為0,根據個體對驗證集中人臉圖像數據預測結果獲取準確率,所述準確率P的具體計算公式為:
其中,n表示個體對驗證集中人臉圖像數據類別預測正確的個數,m表示驗證集中人臉圖像數據的總個數;
所述步驟S2中根據適應度評估結果選擇N個父本的具體方法為:
C1、設置第一閾值α和第二閾值β;
C2、從訓練后的初始化種群中隨機選擇2個個體,并判斷2個個體的準確率的差值是否大于α,若是,則選擇準確率較大的個體作為父本,否則進入步驟C3;
C3、判斷選出的2個個體復雜度差值是否小于β,若是,則選擇準確率較大的個體作為父本,否則選擇復雜度較小的個體作為父本;
C4、使用步驟C2-步驟C3所述的方法,選擇得到N個父本;
所述S3包括以下分步驟:
S3.1、根據父本中網絡結構層的排列順序,將卷積層、池化層和全連接層按照排列的先后順序分別放入三個列表中;
S3.2、采用步驟S3.1所述方法得到每個父本的三個列表;
S3.3、隨機選擇兩個父本,將兩個父本的按照卷積層、池化層和全連接層這三種類別進行兩兩對應,并且對應的兩個列表的首部對齊;
S3.4、交換對應的兩個列表中相同位置的網絡結構層,并將交換后的網絡結構層按原網絡結構的取出順序放入對應的父本中;
S3.5、使用步驟S3.3-步驟S3.4所述的方法遍歷所有父本,得到N個子代;
S3.6、將N個父本和N個子代合并為混合種群;
S3.7、對混合總群中個體進行增加、刪除或修改操作,完成對混合種群中個體進行變異操作;
所述步驟S4中混合種群施加環境選擇,從混合種群中選出N個新個體的具體方法為:
D1、從混合種群中選擇適應度最佳的10%個體,得到第一批新個體;
D2、根據松弛二進制競賽算法,從剩余個體選擇0.8*N個新個體,得到第二批新個體;
D3、將第一批新個體和第二批新個體合并為一個群體,得到N個新個體。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于四川大學,未經四川大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010195004.5/1.html,轉載請聲明來源鉆瓜專利網。





