麗臺教學(xué) | 利用 NVIDIA Jetson Nano 制作人臉識別“門(mén)禁系統” 第一部分
來(lái)源:麗臺科技 編輯:lsy631994092 2021-01-14 08:34:53 加入收藏
深度學(xué)習目前應用最廣泛的即屬影像辨識相關(guān)應用,例如自動(dòng)駕駛系統、保安監控系統、工業(yè)瑕疵檢測應用、工廠(chǎng)安全監測系統及醫療影像檢測應用等。其中人臉辨識技術(shù)算是發(fā)展最久且應用范圍最廣。人臉辨識技術(shù)可結合多種不同產(chǎn)業(yè)的應用,如配合公司人員數據庫可開(kāi)發(fā)門(mén)禁系統,整合犯罪數據庫可開(kāi)發(fā)保安監控系統,配合商場(chǎng)可做為后續市場(chǎng)分析應用。人臉辨識整合進(jìn)數據庫,辨識出特定人員后,再整合控制即可衍生出很多應用。
人臉辨識主要流程分為三個(gè)步驟:
· 人臉檢測(Face Detection)
· 人臉對齊(Face Alignment)
· 人臉特征表征(Feature Representation)
傳統機器學(xué)習的人臉辨識中,一般可分為高維度人工特征提取(例如 : LBP, Gabor)和降維(例如 : PCA, LDA)兩個(gè)步驟。不過(guò)透過(guò)深度學(xué)習,可以從原始圖像直接學(xué)習人臉表征。主要三步驟如下:
找到所有臉孔
Step 1
現行常用的臉孔搜尋方法為2005年由Navneet Dalal及Bill Triggs所開(kāi)發(fā)的,稱(chēng)為定向梯度直方圖(Histogram of Oriented Gradient,簡(jiǎn)稱(chēng)HOG)。
HOG臉孔特征搜尋
臉孔特征點(diǎn)定位
Step 2
找到臉孔位置后,接下來(lái)則是進(jìn)一步找到臉孔上各部位的特征點(diǎn),此處使用的是2014年Vahid Kazemi和Josephine Sullivan開(kāi)發(fā)的方法。即便每個(gè)人的臉孔輪廓會(huì )有不同,但在人臉上基本都可以找到這68個(gè)定位點(diǎn)。若能訓練模型準確定位,不論臉孔位置如何改變,都可以準確的找到臉孔各部位的相對位置。
臉孔特征點(diǎn)定位
臉孔編碼
Step 3
此部分如同我們在訓練一組卷積神經(jīng)網(wǎng)絡(luò )(CNN),不過(guò)并非訓練整張臉孔,而是訓練一個(gè)模型讓每個(gè)臉部可以生成128個(gè)測量值。主要程序分別為載入已知人物的臉孔影像、載入同一位已知人物的另一張臉孔影像、載入完全不同的人物的臉孔影像。透過(guò)臉孔比對128個(gè)測量值,由于同一個(gè)人的任10張測量值都應該大致相同,所以系統透過(guò)此方法可以快速比對及識別身份。此方法是由Google研究人員Florian Schroff、Dmitry Kalenichenko及James Philbin在2015年研發(fā)出來(lái)的。
臉孔編碼對比
上述簡(jiǎn)單介紹人臉辨識的概念及理論。接下來(lái)就透過(guò)簡(jiǎn)易的實(shí)操讓大家了解人臉辨識技術(shù)的導入其實(shí)并不難。
以下是所有的材料,當然需要另行自備屏幕。NVIDIA Jetson Nano的顯示界面為HDMI。
除了房子模型外,其他裝置都可以很容易取得,請發(fā)揮創(chuàng )意制作好模型。
組裝完成后的成品如下圖,這里小麗還另外加裝一組按鈕,方便開(kāi)關(guān)機。
馬達則安裝在下方門(mén)軸處。
大家可以發(fā)揮巧思,例如馬達軸心如果安裝在嘴巴處,就可以讓骷髏模型做嘴巴開(kāi)合的動(dòng)作。
組裝完成后,接下來(lái)就是Jetson Nano要載入人臉辨識的模型,小麗這里不僅導入人臉辨識模型,也導入包含情緒、年齡及性別共四個(gè)模型。
模型的參考資料如下:
人臉識別:
https://github.com/ageitgey/face_recognition
情緒識別:
https://github.com/amineHorseman/facial-expression-recognition-using-cnn
年齡以及性別識別:
https://github.com/dpressel/rude-carnie
大家可以參考一下上述的網(wǎng)址,這里小麗就先賣(mài)個(gè)關(guān)子,下篇中會(huì )繼續介紹如何組裝及導入四個(gè)模型進(jìn)行辨識。
評論comment