国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于OpenCV的人臉識別系統(tǒng)設(shè)計與實現(xiàn)

2022-08-31 19:18李穎聰陳貝文廖曉芳朱皓霖龔焯賢
電腦知識與技術(shù) 2022年18期
關(guān)鍵詞:人臉識別

李穎聰 陳貝文 廖曉芳 朱皓霖 龔焯賢

摘要:人臉識別是目前較為流行的一種生物特征識別技術(shù),其應(yīng)用廣泛,常被應(yīng)用于門禁、移動支付等方面。為了彌補其他生物特征識別技術(shù)在身份認證方面的缺陷,發(fā)展人臉識別技術(shù),文章立足輕量以及實用的思想,開發(fā)了一套基于Python+OpenCV的人臉識別系統(tǒng)。該系統(tǒng)分為三個部分,分別是人臉錄入、人臉訓(xùn)練和人臉識別。文章將會對系統(tǒng)的架構(gòu)、開發(fā)系統(tǒng)所采用的技術(shù)等進行詳細的介紹。

關(guān)鍵詞:人臉錄入;人臉訓(xùn)練;人臉識別;LBPH算法

中圖分類號:TP391? ? ? 文獻標識碼:A

文章編號:1009-3044(2022)18-0053-03

開放科學(xué)(資源服務(wù))標識碼(OSID):

1 引言

隨著社會的發(fā)展和科技的進步,當今世界對于快捷有效的自動身份認證有著迫切的需求。而生物特征識別技術(shù)剛好可以有效地解決身份認證的問題。生物特征識別技術(shù)是通過采集人的生物特征樣本進行人的身份識別。常見的生物特征識別技術(shù)有DNA識別、虹膜識別、指紋識別等[1]?;贒NA的身份驗證是最為準確的身份驗證方法之一。通常情況下,每個體都具有獨一無二的DNA信息,基于此通過DNA身份驗證可以準確地識別出個體的身份。但是由于該方法采集和驗證DNA信息所需的時間成本和金錢成本較高,因此該方法很難得到大規(guī)模的推廣與應(yīng)用?;诤缒さ纳矸蒡炞C具有唯一性和穩(wěn)定性,但是該方法所需的設(shè)備難以小型化,因此該方法在市面上很難得到推廣?;谥讣y的身份驗證具有穩(wěn)定性和可靠性,但是其對環(huán)境的要求較高,手指的清潔度和完整性均會對識別的結(jié)果產(chǎn)生影響[2]。相較于上述的生物特征識別技術(shù),人臉識別技術(shù)具有快捷、隱蔽、非接觸等特點。人臉識別技術(shù)的特點使得人臉驗證具有巨大的應(yīng)用潛力和研究價值。目前人臉識別技術(shù)應(yīng)用于我們身邊的各個領(lǐng)域,例如基于人臉識別的門禁、基于人臉識別的移動支付、基于人臉識別的車站驗票等[3-4]。為了彌補上述生物特征識別技術(shù)的不足,本文將基于Python+OpenCV設(shè)計一款人臉識別系統(tǒng)。該系統(tǒng)首先通過攝像頭采集人臉圖像并收集錄入者的身份信息,然后基于LBPH算法[5]對收集到的人臉進行訓(xùn)練。人臉識別階段,系統(tǒng)通過調(diào)用攝像頭對識別者進行人臉匹配,攝像頭先識別出畫面中的人臉,再將其人臉圖像與數(shù)據(jù)庫中的人臉信息進行匹配,進而確定其身份。

2 人臉識別技術(shù)的研究現(xiàn)狀

典型的傳統(tǒng)的人臉識別方法有基于模型的人臉識別方法、基于幾何特征的人臉識別方法、基于代數(shù)特征的人臉識別方法、基于局部保值映射的人臉識別方法、基于稀疏表示的人臉識別方法等。傳統(tǒng)的人臉識別方法雖然發(fā)展比較成熟,但是仍然存在一定的缺陷:一些傳統(tǒng)的人臉識別方法必須要有人為設(shè)定的特征作為幫助,但是人為設(shè)定的特征往往會給特征提取和識別過程帶來誤差;在沒有人為干預(yù)的情況下,傳統(tǒng)人臉識別方法往往不能自動地從原始圖像中提取有用的特征;傳統(tǒng)人臉識別方法產(chǎn)生的特征被認定為淺層特征,不能從原始圖像中獲取更加深入的高語義特征以及深度特征。由于非線性因素的影響,同時人臉識別自身的復(fù)雜性等條件的制約,傳統(tǒng)的人臉識別方法存在的這些缺陷,極大地降低了人臉識別的精度,因此需要更好的方法解決此類問題。

深度學(xué)習(xí)通過模擬人腦神經(jīng)系統(tǒng)來處理消息,能夠處理人臉識別中的復(fù)雜問題。在海量人臉數(shù)據(jù)時代,基于深度學(xué)習(xí)的人臉識別無論在速度還是準確性方面都已經(jīng)取得了最好的效果,對深度學(xué)習(xí)的理論研究和人臉識別的實際應(yīng)用具有重要的意義?;谏疃葘W(xué)習(xí)的人臉識別方法的流程主要包括了人臉預(yù)處理(人臉檢測、人臉對齊、標準化、數(shù)據(jù)增強等)、特征學(xué)習(xí)、特征比對等步驟,其中人臉識別的關(guān)鍵是特征學(xué)習(xí),如何提取強判別性和強魯棒性的特征是人臉識別的研究重點。本系統(tǒng)是在深度學(xué)習(xí)的基礎(chǔ)上進行開發(fā)的。

3 系統(tǒng)結(jié)構(gòu)設(shè)計

3.1 系統(tǒng)設(shè)計

基于對人臉識別場景和應(yīng)用的了解后,對系統(tǒng)的結(jié)構(gòu)和內(nèi)容進行了劃分與構(gòu)思。由于一般的系統(tǒng)設(shè)計都需要圖形化界面、系統(tǒng)功能以及相對應(yīng)的子系統(tǒng)。因此,我們基于Python的Tinker模塊設(shè)計了人臉識別的使用界面,并添加了人臉識別,人臉訓(xùn)練,人臉錄入以及視頻識別這四大功能。

1)使用界面。系統(tǒng)的使用界面采用單開窗口,即在當前界面下進行功能操作會跳轉(zhuǎn)到新的窗口,在新的窗口下完成該功能,這使得界面更加整潔,操作更加清晰。在使用界面窗口下會顯示當前時間,并在下拉選項中有使用方法介紹和團隊介紹。剩余的兩個功能選項可以讓用戶自由選擇操作,在完成當前操作可以進行后續(xù)的人臉識別功能,使用界面如圖1所示。

2)人臉錄入功能。在進行人臉識別操作前需要完成對被識別人員的信息登記和錄入。在信息錄入部分,對于首次進行信息錄入的人員,錄入信息填寫姓名處需要填寫英文字母縮寫。對于非首次進行信息錄入的人員,重復(fù)進行信息錄入會提示信息錄入失敗。錄入完信息后,系統(tǒng)將自動采取被識別者的人臉圖像,并將其保存到數(shù)據(jù)庫中。人臉錄入以及采集過程如圖2所示。

3)人臉訓(xùn)練功能。人臉訓(xùn)練功能是基于LBPH算法對圖像進行特征提取和識別。通過訓(xùn)練大量的圖片從而提高對圖像的識別的準確率和速度。該功能的主要原理為將一個圖像分為若干個區(qū)域,對每一塊區(qū)域都進行LBP特征提取,再將這些特征建立為直方圖。這樣操作的目的是縮減模型識別圖像所需要的時間。

4)人臉識別功能。人臉識別功能是系統(tǒng)的主要功能。它是將攝像頭抓拍到的人臉與人臉錄入收集到的存放到數(shù)據(jù)庫中的人臉進行匹配,若在數(shù)據(jù)庫中找到與之匹配的人臉用綠框框識人臉并且標注識別的信息;若在數(shù)據(jù)庫中未找到與之相匹配的人臉則用紅色框框識人臉并且標注為unknownface(陌生人臉)。人臉識別過程如圖3、圖4所示。

5)視頻識別功能。除了對人像采集的識別,系統(tǒng)還可以通過導(dǎo)入視頻文件對視頻畫面中出現(xiàn)的人臉進行識別偵測,并且會自動評判識別出的人臉的相似度。視頻識別結(jié)果如圖5所示。

3.2 系統(tǒng)配置信息

本人臉識別系統(tǒng)利用的是Python3語言編寫,OpenCV對應(yīng)的版本為3.4.1。使用的平臺為Anaconda 3.6版本以及Pythcharm x64位編程軟件。實驗以及執(zhí)行的電腦環(huán)境系統(tǒng)為Windows10操作系統(tǒng),運行內(nèi)存為4GB,CPU為Intel(R) Core(TM)i5-8265處理器,處理速度為1.6GHz。

3.3 系統(tǒng)采用技術(shù)介紹

本系統(tǒng)設(shè)計采用的是OpenCV,全稱Open Source Computer Vision Library,是一個開源的計算機視覺庫,可以從它的官網(wǎng)http://opencv.org免費獲取,作為一款跨平臺的計算機視覺和機器學(xué)習(xí)軟件庫,它可以運行在Linux、Windows、Android以及Mac Os操作系統(tǒng)上。OpenCV的優(yōu)點在于它輕量級而且高效——通過一系列C函數(shù)和少量C++類構(gòu)成,同時提供了Python、Ruby、MATLAB等語言的接口,實現(xiàn)了圖像處理和計算機視覺方面的多種通用算法。

OpenCV主要包含圖像處理、高層用戶交互、機器學(xué)習(xí)、目標檢測以及視頻等多種模塊。其中,系統(tǒng)主要應(yīng)用于opencv_video、opencv_objdetect、opencv_imgpro等功能,圖像處理方面主要運用了灰度圖轉(zhuǎn)換模塊,目標檢測則運用了Haar的各類特征檢測,如對人眼,耳朵,鼻子以及對手的人體檢測。視頻模塊則是采用了目標跟蹤、背景減除等方法來實現(xiàn)對視頻中提取檢測到的人臉圖像。

在本次人臉識別系統(tǒng)中,采用的是LBPH算法(局部二值模式法)。建立在LBPH基礎(chǔ)之上的人臉識別法基本思想如下:首先以每個像素為中心,判斷該像素與周圍像素灰度值大小的關(guān)系,并對其進行二進制編碼,從而獲取整幅圖像的LBP編碼圖像[2];再將LBP圖像分為gradx*grady個區(qū)域,獲取每個區(qū)域的LBP編碼直方圖[6],繼而得到整幅圖像的LBP編碼直方圖。通過比較不同人臉圖像的LBP編碼直方圖,達到人臉識別的目的,其優(yōu)點是不受光照、縮放、旋轉(zhuǎn)和平移的影響。

4 系統(tǒng)的設(shè)計與實現(xiàn)

4.1 系統(tǒng)執(zhí)行整體架構(gòu)

基于輕量實用的考慮,該人臉識別系統(tǒng)分為用戶層、控制層以及執(zhí)行層。其中,用戶層主要通過用戶一系列的指令來執(zhí)行對應(yīng)的功能,并且從中獲取相對應(yīng)的反饋??刂茖又饕菍⒂脩魝鬟_的指令,傳送到下一層即執(zhí)行層進行操作。執(zhí)行層則是執(zhí)行上一層提交的指令,然后將結(jié)果反饋給控制層。以上是本系統(tǒng)所執(zhí)行的整體架構(gòu)。

4.2 系統(tǒng)邏輯步驟

人臉識別系統(tǒng)主要分為三大結(jié)構(gòu):人臉錄入、人臉訓(xùn)練以及人臉識別。其整體的結(jié)構(gòu)邏輯步驟如圖6所示,在人臉識別系統(tǒng)首界面上選擇視頻識別或者人臉錄入后,便可進行對應(yīng)選擇的后續(xù)的訓(xùn)練模式和人臉識別模式。

圖7為人臉錄入的邏輯步驟。首先,需要輸入錄入者的身份信息。信息錄入成功后,調(diào)用本地攝像頭進行人像采集。在此過程中,系統(tǒng)會將圖像轉(zhuǎn)換成灰度圖進而簡化矩陣,這將有利于提高運算的速度,進而更快地識別出圖像中的人臉。隨后將抓拍檢測到的人臉圖像,并與錄入的信息保存到數(shù)據(jù)庫中。完成錄入后便可執(zhí)行訓(xùn)練模式或繼續(xù)進行人臉錄入。

圖8為人臉訓(xùn)練的邏輯步驟。開始訓(xùn)練前,系統(tǒng)將采樣的300張人臉圖像作為數(shù)據(jù)進行圖像訓(xùn)練。若收集到的圖像少于300張,則訓(xùn)練失敗。若被抓拍的人臉達到所對應(yīng)的要求,則系統(tǒng)將進行訓(xùn)練模式。首先加載抓取成功的圖像并進行灰度轉(zhuǎn)化,將圖像矩陣簡化,從而提高圖像的計算能力;再將其轉(zhuǎn)化為NumPy數(shù)組,并交給分類器進行進一步的處理。然后通過LBPH算法對數(shù)據(jù)進行訓(xùn)練,使機器更好地理解圖像的人臉,從而強化機器對人臉的識別。最后將訓(xùn)練的結(jié)果保存在相應(yīng)的文件中。

圖9為人臉識別的邏輯步驟。系統(tǒng)通過調(diào)用攝像頭對識別者進行人臉匹配,識別出畫面中的人臉后,再將其人臉圖像與數(shù)據(jù)庫中的人臉信息進行匹配,進而確定其身份。若識別成功,則用綠框框選人臉并標注出識別者的姓名;若識別失敗,則用紅框框選人臉并標注為陌生人臉。

5 結(jié)束語

本文設(shè)計并實現(xiàn)了一個基于Python+OpenCV的人臉識別系統(tǒng)。該系統(tǒng)可實現(xiàn)對人臉的輕松識別,其輕量便捷,使用簡單易懂。方便移植的特點也使得系統(tǒng)能夠在各個場合上隨時應(yīng)用。該系統(tǒng)對硬件的要求不高,在大多數(shù)的電腦設(shè)備上都能快速使用到該系統(tǒng)的各個功能。通過設(shè)計該系統(tǒng)的人臉識別、人臉訓(xùn)練等功能,從而能夠滿足用戶在對人員進出記錄或上班簽到等多種情景的需要,方便其管理。在該系統(tǒng)設(shè)計與實現(xiàn)的過程中,也學(xué)習(xí)到了豐富的知識和經(jīng)驗。

參考文獻:

[1] 劉永信,李琳莉,巴雅日圖.人臉識別方法綜述[J].內(nèi)蒙古大學(xué)學(xué)報(自然科學(xué)版),2009,40(4):493-498.

[2] 李成勇,王莎,陳成瑞.基于OpenCV的人臉識別系統(tǒng)設(shè)計與實現(xiàn)[J].國外電子測量技術(shù),2021,40(11):168-172.

[3] 莊薪霖.人臉識別方法綜述[J].科技創(chuàng)新與應(yīng)用,2022,12(2):130-132.

[4] 劉衛(wèi)凱,郝雅倩,鄭晗,等.人臉識別綜述[J].信息記錄材料,2018,19(7):13-14.

[5] 王振宇.面向人臉識別的特征提取技術(shù)應(yīng)用研究[D].南京:東南大學(xué),2016.

[6] 宋俊芳,馬浩軒,趙海莉,等.基于Haar級聯(lián)分類器和LBPH算法的人臉識別[J].軟件,2021,42(4):45-47.

【通聯(lián)編輯:謝媛媛】

猜你喜歡
人臉識別
人臉識別 等
揭開人臉識別的神秘面紗
人臉識別技術(shù)的基本原理與應(yīng)用
人臉識別技術(shù)在高速公路打逃中的應(yīng)用探討
基于(2D)2PCA-LBP 的人臉識別方法的研究
淺談人臉識別技術(shù)
人臉識別在高校安全防范中的應(yīng)用
巡演完美收官 英飛拓引領(lǐng)人臉識別新潮流
人臉識別在Android平臺下的研究與實現(xiàn)
基于Metaface字典學(xué)習(xí)與核稀疏表示的人臉識別方法
双鸭山市| 张家口市| 洪江市| 新宾| 舟曲县| 保定市| 兰考县| 长治县| 察雅县| 吉林市| 义马市| 托克逊县| 绥宁县| 屯昌县| 定结县| 酉阳| 吉安县| 夏津县| 汕头市| 鹤峰县| 田林县| 伊川县| 泰兴市| 隆回县| 金山区| 阿合奇县| 甘德县| 禄丰县| 新化县| 文登市| 建平县| 沅陵县| 靖州| 于都县| 绥芬河市| 广汉市| 托克逊县| 格尔木市| 九龙县| 益阳市| 双牌县|