人臉識(shí)別是如何實(shí)現(xiàn)的?揭sir幫你解答!
近日
維識(shí)科技智能工程教育中心
開展了一場(chǎng)別開生面的
人臉識(shí)別技術(shù)知識(shí)公開課
本次公開課主講人為
維識(shí)教育科技金牌講師
揭李迪
揭sir本科畢業(yè)于谷歌首席科學(xué)家Geoffrey Hinton(圖靈獎(jiǎng)獲得者,被稱為“神經(jīng)網(wǎng)絡(luò)之父”、“深度學(xué)習(xí)鼻祖”)的母校愛丁堡大學(xué)(Edinburgh University)。研究生師從香港浸會(huì)大學(xué)(HKBU)國際電子電氣工程協(xié)會(huì)(IEEE)院士劉繼明(jiming LIU)。曾經(jīng)擔(dān)任融鏈科技項(xiàng)目總監(jiān)、金力軟件項(xiàng)目經(jīng)理。參與了公安部旗下與商湯競(jìng)標(biāo)的閉路攝像頭人臉檢測(cè)項(xiàng)目。精通物體檢測(cè)語義分割NLP自然語言處理與AI項(xiàng)目全棧落地WANN無權(quán)重機(jī)器人等國內(nèi)外領(lǐng)先技術(shù)。
揭sir簡介
人臉識(shí)別
其實(shí)是對(duì)人臉特征進(jìn)行分析計(jì)算
并進(jìn)行身份識(shí)別的一種生物識(shí)別技術(shù)
即用攝像機(jī)或攝像頭采集
含有人臉的照片或視頻
對(duì)其中的人臉進(jìn)行檢測(cè)和跟蹤
進(jìn)而達(dá)到識(shí)別、辨認(rèn)人臉的目的
人臉識(shí)別技術(shù)發(fā)展到今天
主要有兩種用途
①
人臉驗(yàn)證
人臉驗(yàn)證做的是1:1的比對(duì)。也就是說我們先告訴人臉識(shí)別系統(tǒng),我是張三,然后用來驗(yàn)證站在機(jī)器面前的“我”到底是不是張三。
②
人臉識(shí)別
人臉識(shí)別做的是1:N的比對(duì)。也就是說系統(tǒng)采集了我的一張照片之后,從數(shù)萬人或者數(shù)百萬人的庫里自動(dòng)找出“我是誰”。
而“刷臉”
只是人臉識(shí)別中
比較具體可感的一部分
事實(shí)上人臉識(shí)別
能夠給大家?guī)淼?/p>
遠(yuǎn)遠(yuǎn)不僅是“刷臉”付款這么簡單
目前
人臉識(shí)別在
金融、安防、交通
電子商務(wù)、娛樂、醫(yī)療等領(lǐng)域
均有著廣泛應(yīng)用
了解了什么是人臉識(shí)別之后
那么問題來了
它是怎么實(shí)現(xiàn)的呢?
關(guān)于人臉識(shí)別
目前有很多經(jīng)典的算法
基于幾何特征法、局部特征分析法
基于彈性模型法、特征臉法
及神經(jīng)網(wǎng)絡(luò)法等
神經(jīng)網(wǎng)絡(luò)方法在人臉識(shí)別上的應(yīng)用比起前述幾類方法來有一定的優(yōu)勢(shì),因?yàn)閷?duì)人臉識(shí)別的許多規(guī)律或規(guī)則進(jìn)行顯性的描述是相當(dāng)困難的,而神經(jīng)網(wǎng)絡(luò)方法則可以通過學(xué)習(xí)的過程獲得對(duì)這些規(guī)律和規(guī)則的隱性表達(dá),它的適應(yīng)性更強(qiáng),一般也比較容易實(shí)現(xiàn)。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)的前級(jí)包含了卷積和池化操作,可以實(shí)現(xiàn)圖片的特征提取和降維,最近幾年由于計(jì)算機(jī)算力的提升,很多人都開始轉(zhuǎn)向這個(gè)方向。
所以
本次公開課
揭sir以CNN為技術(shù)背景
介紹了人臉識(shí)別的基本思路
先用人臉檢測(cè)方法檢測(cè)出人臉位置,然后根據(jù)返回的坐標(biāo)、尺寸把臉用數(shù)組切片的方法截取下來,然后把截取的小圖片送進(jìn)訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)模型,得出人臉的分類結(jié)果,最后在原圖片上打上包圍框并且把結(jié)果寫在包圍框的上端。
當(dāng)然
實(shí)現(xiàn)以上步驟的前提是
有一個(gè)訓(xùn)練好的可以做人臉識(shí)別的模型
因?yàn)橛?xùn)練的好壞直接影響識(shí)別的準(zhǔn)確度
所以
本次課程的重點(diǎn)放在了訓(xùn)練上
揭sir通過簡述
從LeNet到VGG-Net的網(wǎng)絡(luò)架構(gòu)演進(jìn)
①
LeNet
亮點(diǎn)
定義了CNN的基本架構(gòu)
卷積層、池化層、全連接層
是CNN的鼻祖
②
AlexNet
亮點(diǎn)
更深的網(wǎng)絡(luò)
數(shù)據(jù)增廣
ReLU
dropout
LRN
③
ZF-Net
亮點(diǎn)
網(wǎng)絡(luò)結(jié)構(gòu)沒什么改進(jìn)
只是調(diào)了調(diào)參
性能較AlexNet提升了不少
④
VGG-16
亮點(diǎn)
卷積層使用更小的filter尺寸和間隔。與AlexNet相比,可以看出VGG-Nets的卷積核尺寸還是很小的,比如AlexNet第一層的卷積層用到的卷積核尺寸就是11*11,這是一個(gè)很大卷積核了。而反觀VGG-Nets,用到的卷積核的尺寸無非都是1×1和3×3的小卷積核,可以替代大的filter尺寸。
他指出:CNN從90年代的LeNet開始,21世紀(jì)初沉寂了10年,直到12年AlexNet開始又再煥發(fā)第二春,從ZF-Net到VGG-Nets,網(wǎng)絡(luò)越來越深,架構(gòu)越來越復(fù)雜,解決反向傳播時(shí)梯度消失的方法也越來越巧妙。但萬變不離其宗的是CNN基本架構(gòu)為:卷積層、池化層與全連接層。層數(shù)發(fā)生變化,但CNN的流程并沒有變化。因此,充分理解了卷積層、池化層與全連接層,就可以找到入門CNN的訣竅了。
卷積層
(Convolution)
關(guān)于卷積層我們先來看什么叫
卷積操作
上圖較大網(wǎng)格表示一幅圖片,有顏色填充的網(wǎng)格表示一個(gè)卷積核,卷積核的大小為3*3。假設(shè)我們做步長為1的卷積操作,表示卷積核每次向右移動(dòng)一個(gè)像素(當(dāng)移動(dòng)到邊界時(shí)回到最左端并向下移動(dòng)一個(gè)單位)。卷積核每個(gè)單元內(nèi)有權(quán)重,上圖的卷積核內(nèi)有9個(gè)權(quán)重。在卷積核移動(dòng)的過程中將圖片上的像素和卷積核的對(duì)應(yīng)權(quán)重相乘,最后將所有乘積相加得到一個(gè)輸出。上圖經(jīng)過卷積后形成一個(gè)6*4的圖。
在了解了卷積操作后
我們來看下卷積層的特點(diǎn)
局部感知
在傳統(tǒng)神經(jīng)網(wǎng)絡(luò)中每個(gè)神經(jīng)元都要與圖片上每個(gè)像素相連接,這樣的話就會(huì)造成權(quán)重的數(shù)量巨大造成網(wǎng)絡(luò)難以訓(xùn)練。而在含有卷積層的的神經(jīng)網(wǎng)絡(luò)中每個(gè)神經(jīng)元的權(quán)重個(gè)數(shù)都是卷積核的大小,這樣就相當(dāng)于沒有神經(jīng)元只與對(duì)應(yīng)圖片部分的像素相連接。這樣就極大的減少了權(quán)重的數(shù)量。同時(shí)我們可以設(shè)置卷積操作的步長,假設(shè)將上圖卷積操作的步長設(shè)置為3時(shí)每次卷積都不會(huì)有重疊區(qū)域(在超出邊界的部分補(bǔ)自定義的值)。
局部感知的直觀感受如下圖
ps:使用局部感知的原因是一般人們認(rèn)為圖片中距離相近的部分相關(guān)性較大,而距離比較遠(yuǎn)的部分相關(guān)性較小。在卷積操作中步長的設(shè)置就對(duì)應(yīng)著距離的遠(yuǎn)近。但是步長的設(shè)置并無定值需要使用者嘗試。
參數(shù)共享
在介紹參數(shù)共享前我們應(yīng)該知道卷積核的權(quán)重是經(jīng)過學(xué)習(xí)得到的,并且在卷積過程中卷積核的權(quán)重是不會(huì)改變的,這就是參數(shù)共享的思想。這說明我們通過一個(gè)卷積核的操作提取了原圖的不同位置的同樣特征。簡單來說就是在一幅圖片中的不同位置的相同目標(biāo),它們的特征是基本相同的。
其過程如下圖
多核卷積
如權(quán)值共享的部分所說我們用一個(gè)卷積核操作只能得到一部分特征可能獲取不到全部特征,這么一來我們就引入了多核卷積。用每個(gè)卷積核來學(xué)習(xí)不同的特征(每個(gè)卷積核學(xué)習(xí)到不同的權(quán)重)來提取原圖特征。
上圖的圖片經(jīng)過三個(gè)卷積核的卷積操作得到三個(gè)特征圖。需要注意的是,在多核卷積的過程中每個(gè)卷積核的大小應(yīng)該是相同的。
池化層
(Pooling)
池化層降低了各個(gè)特征圖的維度,但可以保持大部分重要的信息。
池化層夾在連續(xù)的卷積層中間,壓縮數(shù)據(jù)和參數(shù)的量,減小過擬合,池化層并沒有參數(shù),它只不過是把上層給它的結(jié)果做了一個(gè)降采樣(數(shù)據(jù)壓縮)。
降采樣有兩種常用的方式
①
Max pooling
選取最大的
我們定義一個(gè)空間鄰域
并從窗口內(nèi)的修正特征圖中取出最大的元素
最大池化被證明效果更好一些
②
Average pooling
平均的
我們定義一個(gè)空間鄰域
并從窗口內(nèi)的修正特征圖算出平均值
無論是max pool
還是average pool
都有分信息被舍棄
那么部分信息被舍棄后
會(huì)損壞識(shí)別結(jié)果嗎?
因?yàn)榫矸e后的Feature Map中
有對(duì)于識(shí)別物體不必要的冗余信息
我們降采樣就是
為了去掉這些冗余信息
所以并不會(huì)損壞識(shí)別結(jié)果
全連接層
(Fully connected)
在全連接層中所有神經(jīng)元都有權(quán)重連接,通常全連接層在卷積神經(jīng)網(wǎng)絡(luò)尾部。當(dāng)前面卷積層抓取到足以用來識(shí)別圖片的特征后,接下來的就是如何進(jìn)行分類。通常卷積網(wǎng)絡(luò)的最后會(huì)將末端得到的長方體平攤成一個(gè)長長的向量,并送入全連接層配合輸出層進(jìn)行分類。比如,在下面圖中我們進(jìn)行的圖像分類為四分類問題,所以卷積神經(jīng)網(wǎng)絡(luò)的輸出層就會(huì)有四個(gè)神經(jīng)元。
四分類問題
我們從卷積神經(jīng)網(wǎng)絡(luò)的卷積層、池化層以及全連接層來講解卷積神經(jīng)網(wǎng)絡(luò),我們可以認(rèn)為全連接層之間的在做特征提取,而全連接層在做分類,這就是卷積神經(jīng)網(wǎng)絡(luò)的核心。
而三者與卷積神經(jīng)網(wǎng)絡(luò)的關(guān)系
可以這么理解
卷積神經(jīng)網(wǎng)絡(luò)在形式上有一點(diǎn)點(diǎn)像
咱們的“人民代表大會(huì)制度”
卷積核的個(gè)數(shù)相當(dāng)于候選人
圖像中不同的特征
會(huì)激活不同的“候選人”(卷積核)
池化層
(僅指最大池化)
起著類似于“合票”的作用
不同特征在對(duì)不同的
“候選人”有著各自的喜好
全連接相當(dāng)于是“代表普選”
所有被各個(gè)區(qū)域選出的代表
對(duì)最終結(jié)果進(jìn)行“投票”
全連接保證了receiptive field是整個(gè)圖像
既圖像中各個(gè)部分(所謂所有代表)
都有對(duì)最終結(jié)果影響的權(quán)利
舉個(gè)栗子
以VGG-16為例
對(duì)224x224x3的輸入
最后一層卷積可得輸出為7x7x512
如后層是一層含4096個(gè)神經(jīng)元的FC
則可用卷積核為
7x7x512x4096的全局卷積
來實(shí)現(xiàn)這一全連接運(yùn)算過程
它把特征representation整合到一起
輸出為一個(gè)值
這樣做
有一個(gè)什么好處就是
大大減少特征位置對(duì)分類帶來的影響
再舉個(gè)簡單的栗子
從上圖我們可以看出
貓?jiān)诓煌奈恢?/p>
輸出的feature值相同
但是位置不同
對(duì)于電腦來說
特征值相同
但是特征值位置不同
那分類結(jié)果也可能不一樣
這時(shí)
全連接層filter的作用就相當(dāng)于
貓?jiān)谀奈也还?/p>
我只要貓
于是我讓filter去把這個(gè)貓找到
實(shí)際就是把feature map
整合成一個(gè)值
這個(gè)值大,有貓
這個(gè)值小,那就可能沒貓
和這個(gè)貓?jiān)谀年P(guān)系不大了
魯棒性有大大增強(qiáng)
因?yàn)榭臻g結(jié)構(gòu)特性被忽略了
所以全連接層不適合用于
在方位上找Pattern的任務(wù)
比如segmentation
全連接層中一層的一個(gè)神經(jīng)元
就可以看成一個(gè)多項(xiàng)式
我們用許多神經(jīng)元去擬合數(shù)據(jù)分布
但是只用一層fully connected layer
有時(shí)候沒法解決非線性問題
而如果有兩層
或以上fully connected layer
就可以很好地解決非線性問題了
我們都知道
全連接層之前的作用是提取特征
全理解層的作用是分類
我們現(xiàn)在的任務(wù)是去區(qū)別一圖片是不是貓
假設(shè)這個(gè)神經(jīng)網(wǎng)絡(luò)模型已經(jīng)訓(xùn)練完了
全連接層已經(jīng)知道
當(dāng)我們得到以上特征
我就可以判斷這個(gè)東東是貓了
因?yàn)槿B接層的作用主要就是實(shí)現(xiàn)分類
從下圖
我們可以看出
紅色的神經(jīng)元表示這個(gè)特征被找到了
(激活了)
同一層的其他神經(jīng)元
要么貓的特征不明顯
要么沒找到
當(dāng)我們把這些找到的特征組合在一起
發(fā)現(xiàn)最符合要求的是貓
OK
我認(rèn)為這是貓了
貓頭有這么些個(gè)特征
于是我們下一步的任務(wù)
就是把貓頭的這么些子特征找到
比如眼睛、耳朵
道理和區(qū)別貓一樣
當(dāng)我們找到這些特征
神經(jīng)元就被激活了
(上圖紅色圓圈)
這細(xì)節(jié)特征又是怎么來的
就是從前面的卷積層,池化層來的
全連接層參數(shù)特多
(可占整個(gè)網(wǎng)絡(luò)參數(shù)80%左右)
ps:至于VGG-Nets之后GoogLeNet引入Inception結(jié)構(gòu)代替單純卷積+激活的傳統(tǒng)操作,中間層的輔助LOSS單元,后面的全連接層全部替換為簡單的全局平均pooling;ResNet在網(wǎng)絡(luò)結(jié)構(gòu)上做了較大創(chuàng)新等發(fā)展,本次公開課并未做過多闡述,有興趣的童鞋可自行查閱相關(guān)資料了解。
最后,揭sir
以Facenet與Face Recognition為訓(xùn)練模型
讓童鞋們實(shí)操了一把人臉識(shí)別的全流程

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長度6~500個(gè)字
最新活動(dòng)更多
-
6月20日立即下載>> 【白皮書】精準(zhǔn)測(cè)量 安全高效——福祿克光伏行業(yè)解決方案
-
7月3日立即報(bào)名>> 【在線會(huì)議】英飛凌新一代智能照明方案賦能綠色建筑與工業(yè)互聯(lián)
-
7月22-29日立即報(bào)名>> 【線下論壇】第三屆安富利汽車生態(tài)圈峰會(huì)
-
7.30-8.1火熱報(bào)名中>> 全數(shù)會(huì)2025(第六屆)機(jī)器人及智能工廠展
-
7月31日免費(fèi)預(yù)約>> OFweek 2025具身機(jī)器人動(dòng)力電池技術(shù)應(yīng)用大會(huì)
-
免費(fèi)參會(huì)立即報(bào)名>> 7月30日- 8月1日 2025全數(shù)會(huì)工業(yè)芯片與傳感儀表展
推薦專題
- 1 AI 眼鏡讓百萬 APP「集體失業(yè)」?
- 2 大廠紛紛入局,百度、阿里、字節(jié)搶奪Agent話語權(quán)
- 3 深度報(bào)告|中國AI產(chǎn)業(yè)正在崛起成全球力量,市場(chǎng)潛力和關(guān)鍵挑戰(zhàn)有哪些?
- 4 上海跑出80億超級(jí)獨(dú)角獸:獲上市公司戰(zhàn)投,干人形機(jī)器人
- 5 國家數(shù)據(jù)局局長劉烈宏調(diào)研格創(chuàng)東智
- 6 下一代入口之戰(zhàn):大廠為何紛紛押注智能體?
- 7 百億AI芯片訂單,瘋狂傾銷中東?
- 8 Robotaxi新消息密集釋放,量產(chǎn)元年誰在領(lǐng)跑?
- 9 格斗大賽出圈!人形機(jī)器人致命短板曝光:頭腦過于簡單
- 10 一文看懂視覺語言動(dòng)作模型(VLA)及其應(yīng)用