0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于深度學(xué)習(xí)的人臉識別算法與其網(wǎng)絡(luò)結(jié)構(gòu)

新機(jī)器視覺 ? 來源:CSDN技術(shù)社區(qū) ? 作者:weixin_39667398 ? 2021-03-12 11:13 ? 次閱讀

度量學(xué)習(xí)

基于深度學(xué)習(xí)的人臉識別算法,如何讓神經(jīng)網(wǎng)絡(luò)從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)到有效、魯棒的生物特征是至關(guān)重要的。在這個(gè)過程中,一個(gè)良好的學(xué)習(xí)向?qū)遣豢苫蛉钡?。因此,在模型?xùn)練的過程中,通常使用度量學(xué)習(xí)的方式,將人物面部特征間的距離,作為神經(jīng)網(wǎng)絡(luò)特征學(xué)習(xí)的向?qū)?,來?shí)現(xiàn)區(qū)分不同人物的目的。

為了讓神經(jīng)網(wǎng)絡(luò)能夠更加有效的學(xué)習(xí),合理的設(shè)計(jì)損失函數(shù)來度量和映射人物特征之間的距離,成為了提高人臉識別精度的主要研究方向之一。許多在分類任務(wù)中常用的損失函數(shù),如Softmax Loss,在經(jīng)過一系列的改進(jìn)之后,更好的適應(yīng)了人臉識別的任務(wù)。像Arcface這樣的損失函數(shù)(下圖),利用了一種附加角度對cos值進(jìn)行加法約束,使得模型能夠在學(xué)習(xí)過程中合理的壓縮相同人物特征間的余弦距離的同時(shí)增大不同人物特征間的余弦距離,以此達(dá)到精準(zhǔn)區(qū)分人物的目的。

圖示展示在利用損失函數(shù)arcface訓(xùn)練一個(gè)深度卷積神經(jīng)網(wǎng)絡(luò)過程中的計(jì)算流程。其中的改進(jìn)在于,給角度加入了加性間隔m作為懲罰項(xiàng)來減小類間間距,并對其余弦值加入放縮s進(jìn)行放縮,讓網(wǎng)絡(luò)變得易于訓(xùn)練。

另一些損失函數(shù),如Triplet Loss(下圖),則是通過以特定規(guī)則從訓(xùn)練集中選擇樣例,提取特征,比較這些特征之間的距離,來達(dá)到聚類相同人物特征和離散不同人物特征的目的。可以看到,這種方法因?yàn)橐鸫伪葘x擇樣例特征之間的距離并基于此來優(yōu)化模型參數(shù),所以會(huì)延長模型訓(xùn)練的周期。但對于解決一些特殊場景下的困難樣例,會(huì)有較好的效果。

圖示為最初版本的Triplet Loss原理示意圖。訓(xùn)練過程中需要從訓(xùn)練集中選擇一個(gè)Anchor樣本以及與Anchor樣本同類的Positive樣本和與Anchor樣本異類的Negative樣本,在訓(xùn)練過程中不斷的拉近同類樣本的距離并遠(yuǎn)離異類樣本。

選擇不同的損失函數(shù),會(huì)對模型進(jìn)行識別任務(wù)時(shí)選用的距離公式(相似度計(jì)算方法)產(chǎn)生影響。例如,Triplet Loss在早期優(yōu)化的是歐氏距離,所以在后期進(jìn)行特征比對時(shí),利用歐式距離來計(jì)算特征之間相似度就是更加自然的。此外,通過對這些損失函數(shù)進(jìn)行變形,來統(tǒng)一各損失函數(shù)的優(yōu)化距離,從而使不同的損失函數(shù)能夠運(yùn)用在訓(xùn)練模型的不同階段,或?qū)⒉煌瑩p失函數(shù)對不同的樣例分配進(jìn)行結(jié)合,從而達(dá)到更高效的訓(xùn)練效率,也是目前的工作方向之一。

網(wǎng)絡(luò)結(jié)構(gòu)

根據(jù)使用場景和計(jì)算設(shè)備的不同,通常需要選擇不同規(guī)模的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。隨著人臉識別在移動(dòng)端的普及以及識別規(guī)模的增大,選用計(jì)算量更小、更高效的網(wǎng)絡(luò)結(jié)構(gòu)成為了重要的研究方向。

標(biāo)準(zhǔn)的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),以VGG16為例,通常由卷積層,池化層,全連接層和激活函數(shù)組成。該網(wǎng)絡(luò)通過反復(fù)堆疊3*3的小型卷積核和2*2的最大池化層,不斷加深網(wǎng)絡(luò)結(jié)構(gòu)來提升性能。

但隨著網(wǎng)絡(luò)結(jié)構(gòu)的進(jìn)一步加深,網(wǎng)絡(luò)參數(shù)會(huì)隨之增多,運(yùn)算開銷會(huì)變得很大,增加運(yùn)算成本。同時(shí),網(wǎng)絡(luò)結(jié)構(gòu)的加深也會(huì)讓網(wǎng)絡(luò)發(fā)生退化現(xiàn)象,以至于在進(jìn)一步訓(xùn)練時(shí)無法達(dá)到預(yù)期的精度。

為解決這些問題,設(shè)計(jì)出參數(shù)少,深度深,運(yùn)算快,易于訓(xùn)練的輕量級網(wǎng)絡(luò)網(wǎng)絡(luò),各種卷積結(jié)構(gòu)和模塊被逐步引入到了卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)構(gòu)架中。

殘差模塊:為解決加深網(wǎng)絡(luò)后的網(wǎng)絡(luò)退化問題,使深度網(wǎng)絡(luò)變得可訓(xùn)練而提出的結(jié)構(gòu)(見下圖)。這種跳躍連接的結(jié)構(gòu)讓網(wǎng)絡(luò)有能力在需要的時(shí)候擬合一個(gè)潛在的恒等映射函數(shù),從而避免了在極深網(wǎng)絡(luò)中出現(xiàn)的難以訓(xùn)練的問題。

分組卷積:在標(biāo)準(zhǔn)的卷積操作中,其參數(shù)量與輸入特征圖通道數(shù),卷積核尺寸和輸出特征圖通道數(shù)有關(guān)。如圖,若輸入特征圖尺寸為H*W*c1,卷積核尺寸為h1*w1*c1,輸出特征圖尺寸為H*W*c2,標(biāo)準(zhǔn)卷幾層的參數(shù)量則為:h1*w1*c1*c2。

若使用分組卷積(見下圖),事先將輸入的特征圖按照通道數(shù)分為g組,分組卷積的參數(shù)量為則會(huì)變成標(biāo)準(zhǔn)卷積參數(shù)量的1/g:h1*w1*c1*c2/g。

分組卷積能夠在一定程度上降低卷積的參數(shù)量,但也會(huì)減弱各通道之間的相關(guān)性。

深度可分離卷積:深度可分離卷積操作是將普通卷積拆解成深度卷積和逐點(diǎn)卷積。深度卷積負(fù)責(zé)濾波,逐點(diǎn)卷積負(fù)責(zé)轉(zhuǎn)換通道。

如圖(a),對于標(biāo)準(zhǔn)卷積,其參數(shù)量為Dk*Dk*M*N。如圖(b),對于深度卷積,其參數(shù)量為:Dk*Dk*1*M。 如圖(c),對于逐點(diǎn)卷積,其參數(shù)量為:1*1*M*N。將兩項(xiàng)操作合并,可知深度可分離卷積參數(shù)量 是標(biāo)準(zhǔn)卷積的:(1/N)+(1/Dk**2)。

cafaa5e6-82ca-11eb-8b86-12bb97331649.png

棄用池化層:池化層分為平均池化和最大池化,通過制定規(guī)則對池化核覆蓋范圍內(nèi)的像素進(jìn)行運(yùn)算,達(dá)到學(xué)習(xí)圖像邊緣及紋理結(jié)構(gòu),同時(shí)壓縮特征圖的效果。但池化層常常會(huì)導(dǎo)致較多的信息損失,因此,通常使用控制卷積核在特征圖上的滑動(dòng)步長(如設(shè)定stride=2),來達(dá)到壓縮特征圖,提取圖像特征的目的。

減少全連接層:因?yàn)槿B接層需要將每個(gè)神經(jīng)元節(jié)點(diǎn)與其前后層的神經(jīng)元分別連接,其通常會(huì)占據(jù)卷積神經(jīng)網(wǎng)絡(luò)的大部分參數(shù)。為了減少模型的參數(shù),會(huì)盡量減少全連接層的使用,通常利用全劇平均池化或大尺寸卷積核取代全連接層,來融合學(xué)到的特征。

同時(shí),為了讓模型能夠更好的提取人物面部的特征,專門的人臉識別網(wǎng)絡(luò)在這些方面進(jìn)行了優(yōu)化,例如mobilefacenet在卷積網(wǎng)絡(luò)的尾部加入7*7卷積核壓縮特征圖,直接將特征圖轉(zhuǎn)化成相應(yīng)維度的面部特征并送入全連接層這樣的操作。對于一些特殊場景下的識別任務(wù),則會(huì)根據(jù)需求,定制出相應(yīng)的結(jié)構(gòu)模塊。例如,在面對面部遮擋的任務(wù)中,融入空間注意力機(jī)制,實(shí)現(xiàn)事先為特征熱力圖的空間分布的加權(quán),就變得相對重要。
編輯:lyn

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏

    評論

    相關(guān)推薦

    深度識別算法包括哪些內(nèi)容

    :CNN是深度學(xué)習(xí)中處理圖像和視頻等具有網(wǎng)格結(jié)構(gòu)數(shù)據(jù)的主要算法。它通過卷積層、池化層和全連接層等組件,實(shí)現(xiàn)對圖像特征的自動(dòng)提取和識別。 應(yīng)
    的頭像 發(fā)表于 09-10 15:28 ?429次閱讀

    深度識別人臉識別有什么重要作用嗎

    深度學(xué)習(xí)人臉識別技術(shù)是人工智能領(lǐng)域的一個(gè)重要分支,它利用深度學(xué)習(xí)
    的頭像 發(fā)表于 09-10 14:55 ?608次閱讀

    深度識別人臉識別在任務(wù)中為什么有很強(qiáng)大的建模能力

    通過大量數(shù)據(jù)進(jìn)行訓(xùn)練,能夠自動(dòng)學(xué)習(xí)人臉的特征表示,而不需要人為設(shè)計(jì)特征提取算法。 多層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)深度
    的頭像 發(fā)表于 09-10 14:53 ?454次閱讀

    基于FPGA的人臉識別技術(shù)

    基于FPGA(現(xiàn)場可編程邏輯門陣列)的人臉識別技術(shù),是一種結(jié)合了高效并行處理能力和靈活可編程性的先進(jìn)圖像處理解決方案。這種技術(shù)在安全監(jiān)控、身份認(rèn)證、人機(jī)交互等領(lǐng)域具有廣泛應(yīng)用前景。以下將詳細(xì)介紹基于FPGA的人臉
    的頭像 發(fā)表于 07-17 11:42 ?1546次閱讀

    基于Python的深度學(xué)習(xí)人臉識別方法

    基于Python的深度學(xué)習(xí)人臉識別方法是一個(gè)涉及多個(gè)技術(shù)領(lǐng)域的復(fù)雜話題,包括計(jì)算機(jī)視覺、深度學(xué)習(xí)
    的頭像 發(fā)表于 07-14 11:52 ?1296次閱讀

    基于OpenCV的人臉識別系統(tǒng)設(shè)計(jì)

    基于OpenCV的人臉識別系統(tǒng)是一個(gè)復(fù)雜但功能強(qiáng)大的系統(tǒng),廣泛應(yīng)用于安全監(jiān)控、人機(jī)交互、智能家居等多個(gè)領(lǐng)域。下面將詳細(xì)介紹基于OpenCV的人臉識別系統(tǒng)的基本原理、實(shí)現(xiàn)步驟,并附上具體
    的頭像 發(fā)表于 07-11 15:37 ?1.3w次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)人臉識別中的應(yīng)用

    人臉識別技術(shù)作為人工智能領(lǐng)域的一個(gè)重要分支,近年來取得了顯著的發(fā)展。其核心在于通過計(jì)算機(jī)對人臉圖像進(jìn)行特征提取和識別,從而實(shí)現(xiàn)自動(dòng)的人臉身份
    的頭像 發(fā)表于 07-08 10:48 ?818次閱讀

    深度學(xué)習(xí)與nlp的區(qū)別在哪

    方法,它通過模擬人腦的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),實(shí)現(xiàn)對數(shù)據(jù)的自動(dòng)特征提取和學(xué)習(xí)。深度學(xué)習(xí)的核心是構(gòu)建多層的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),每一層都包含大量的神經(jīng)元,這些神
    的頭像 發(fā)表于 07-05 09:47 ?1002次閱讀

    深度神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)方法

    深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks, DNNs)作為人工智能領(lǐng)域的重要技術(shù)之一,通過模擬人腦神經(jīng)元之間的連接,實(shí)現(xiàn)了對復(fù)雜數(shù)據(jù)的自主學(xué)習(xí)和智能判斷。其設(shè)計(jì)方法不僅涉及網(wǎng)絡(luò)結(jié)
    的頭像 發(fā)表于 07-04 13:13 ?513次閱讀

    如何設(shè)計(jì)人臉識別的神經(jīng)網(wǎng)絡(luò)

    人臉識別技術(shù)是一種基于人臉特征信息進(jìn)行身份識別的技術(shù),廣泛應(yīng)用于安全監(jiān)控、身份認(rèn)證、智能門禁等領(lǐng)域。神經(jīng)網(wǎng)絡(luò)是實(shí)現(xiàn)
    的頭像 發(fā)表于 07-04 09:20 ?700次閱讀

    人臉識別模型訓(xùn)練是什么意思

    人臉識別模型訓(xùn)練是指通過大量的人臉數(shù)據(jù),使用機(jī)器學(xué)習(xí)深度學(xué)習(xí)
    的頭像 發(fā)表于 07-04 09:16 ?675次閱讀

    神經(jīng)網(wǎng)絡(luò)算法結(jié)構(gòu)有哪些類型

    神經(jīng)網(wǎng)絡(luò)算法深度學(xué)習(xí)的基礎(chǔ),它們在許多領(lǐng)域都有廣泛的應(yīng)用,如圖像識別、自然語言處理、語音識別
    的頭像 發(fā)表于 07-03 09:50 ?491次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)和訓(xùn)練過程

    卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)是一種在圖像識別、視頻處理、自然語言處理等多個(gè)領(lǐng)域廣泛應(yīng)用的深度學(xué)習(xí)
    的頭像 發(fā)表于 07-02 18:27 ?987次閱讀

    神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)類型和應(yīng)用實(shí)例

    神經(jīng)網(wǎng)絡(luò)模型,作為深度學(xué)習(xí)領(lǐng)域的核心組成部分,近年來在圖像識別、自然語言處理、語音識別等多個(gè)領(lǐng)域取得了顯著進(jìn)展。本文旨在深入解讀神經(jīng)
    的頭像 發(fā)表于 07-02 11:33 ?501次閱讀

    人臉識別技術(shù)的原理是什么 人臉識別技術(shù)的特點(diǎn)有哪些

    人臉檢測是人臉識別的首要步驟。其目標(biāo)是在圖像或視頻中準(zhǔn)確地定位人臉的位置。人臉檢測算法常用的方
    的頭像 發(fā)表于 02-18 13:52 ?2096次閱讀