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

?

基于單片機與OpenCV的門禁系統(tǒng)

2022-05-27 17:03徐杰李捍東
計算機時代 2022年5期
關(guān)鍵詞:人臉檢測門禁系統(tǒng)人臉識別

徐杰 李捍東

摘? 要: OpenCV作為一個廣為人知的跨平臺計算機視覺庫,應(yīng)用于各種領(lǐng)域,但是其在門禁系統(tǒng)上的應(yīng)用還比較罕見[1],本文主要研究了Adaboost與MTCNN算法,并以O(shè)penCV視覺庫與STC89c51單片機作為核心,采用MFC構(gòu)建了整個人臉識別門禁系統(tǒng),實現(xiàn)了實時的人臉檢測與識別功能,使用單片機開發(fā)板模擬門鎖的運轉(zhuǎn)。

關(guān)鍵詞: OpenCV; 單片機; MFC; 人臉檢測; 人臉識別; 門禁系統(tǒng)

中圖分類號:TP317.4? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A? ? ?文章編號:1006-8228(2022)05-63-03

Access control system based on MCU and OpenCV

Xu Jie, Li Handong

Abstract: As a well-known cross-platform computer vision library, OpenCV is used in various fields, but its application in access control systems is relatively rare. In this paper, Adaboost and MTCNN algorithms are studied. With the OpenCV vision library and STC89c51 microcontroller as the core, the face recognition access control system is built with MFC, and the real-time face detection and recognition function is realized. A simulation system was developed.

Key words: OpenCV; MCU; MFC; face detection; face recognition; access control system

引言

21世紀(jì),傳統(tǒng)的門鎖已不能滿足人們對于安防的需求,且隨著生物特征識別技術(shù)與計算機視覺技術(shù)的發(fā)展,可以通過特征提取算法提取人臉的信息,人臉檢測與識別成為門禁系統(tǒng)的一種實現(xiàn)方案[2,3]。

生物特征提取即通過相應(yīng)的光、聲音傳感器,采集生物的視覺與聲音信息,并用一組能特征向量來表示它的特征信息,方便計算機進行識別。目前由特征提取發(fā)展而來的識別方式有:虹膜識別、掌形識別、指紋識別、視網(wǎng)膜識別、基因識別、人臉識別等。其中指紋識別、虹膜識別成本較高,不利于商業(yè)化,人臉識別作為一個高效且低成本的方式被廣泛接受。而單片機作為一個低成本的控制器,支持各種復(fù)雜外設(shè),是門禁控制的不二選擇[4]。

本文通過FERET人臉數(shù)據(jù)庫來分析研究Haar、MTCNN算法,比較它們的檢測率與實時性,選擇一個最優(yōu)的算法,并配合MFC框架與STC89C51核心板實現(xiàn)人臉識別門禁系統(tǒng)。

1 人臉檢測分析與研究

人臉檢測就是對任意給定的一副圖像,通過某種算法對它進行檢索,查找其中是否含有人臉,如果含有人臉,就裁剪出人臉區(qū)域并返回該人臉區(qū)域圖像。如今最流行的人臉檢測算法有基于Haar特征的Adaboost算法與基于神經(jīng)網(wǎng)絡(luò)的MTCNN算法。

1.1 Haar-Adaboost算法

Adaboost算法是一種多項式級的算法,將弱分類器疊加成為一個強分類器。這種方法是將大量的弱分類器集成在一起,并給每個分類器增加權(quán)重值,使得分類器能夠自動調(diào)整預(yù)設(shè)假設(shè)的錯誤率,從而使得系統(tǒng)能夠自動選擇最優(yōu)的檢測路徑。經(jīng)過多次迭代之后,把弱分類器集成為一種強分類器。該算法有較高的實時性和精確度,其性能已經(jīng)在某些商業(yè)系統(tǒng)中得到證實[5]。

1.2 Haar-Adaboost算法原理

1.2.1 初始化樣本與分類器

分配給每個樣本相同的權(quán)值。例如有N個樣本,那么分配給每個樣本的初始權(quán)值為1/N,并使樣本集通過學(xué)習(xí)訓(xùn)練得到初始的弱分類器,初始弱分類器為:

1.2.2 訓(xùn)練弱分類器

將樣本分類,被正確分類的樣本權(quán)值會下降,而沒有被正確分類的樣本權(quán)值會上升。權(quán)值越高的樣本在下一次訓(xùn)練中權(quán)重就越高,相反就越低。如前述,要訓(xùn)練許許多多的弱分類器。在第一個弱分類器訓(xùn)練完成后,第二個弱分類器就根據(jù)改變了的樣本權(quán)值繼續(xù)訓(xùn)練分類器,如此迭代下去。公式⑵、公式⑶分別表示被錯誤分類的權(quán)值與被正確分類的權(quán)值:

1.2.3 構(gòu)造強分類器

將各個弱分類器組合在一起,構(gòu)建最終的決策分類器。訓(xùn)練弱分類器時,生成的弱分類器被分配了相應(yīng)的話語權(quán)。如果一個分類器的錯誤率高,那么它的話語權(quán)就低,如果一個分類器的錯誤率低,那么它的話語權(quán)就高。話語權(quán)決定了該弱分類器在構(gòu)造強分類器時占的比例,其構(gòu)造方法為:

1.3 MTCNN算法

MTCNN算法,全稱Multi-task Convolutional neural Networks,多任務(wù)卷積神經(jīng)網(wǎng)絡(luò)。將人臉的區(qū)域檢測和人臉檢測集成在一起,能夠同時實現(xiàn)人臉檢測和人臉對齊,是一種基于cascade框架的算法。采用了P-Net、R-Net、O-Net三個級聯(lián)網(wǎng)絡(luò)與許多卷積神經(jīng)網(wǎng)絡(luò)模型,用較小的卷積核代替了最初使用的大卷積核,擁有較好的運算速度[6]。

1.4 MTCNN算法原理

1.4.1 P-Net

把圖像金字塔傳入該建議網(wǎng)絡(luò),使用FCN對圖像進行粗略的邊框標(biāo)定與特征提取,并進行Bounding-Box Regression與NMS,對窗口調(diào)整并過濾掉大部分不準(zhǔn)確的邊框,把特征信息與三個卷積核卷積初步判斷該區(qū)域是否存在人臉,生成人臉候選框,并把數(shù)據(jù)傳入改進網(wǎng)絡(luò)R-Net。

1.4.2 R-Net

圖像經(jīng)過P-Net后,留下了許多預(yù)測窗口。把這些預(yù)測窗口輸送到R-Net,進行候選框的過濾,R-Net擁有128個全連接層,能夠更加細(xì)致地過濾掉非人臉區(qū)域。過濾后再繼續(xù)Bounding-Box Regression與NMS,進一步對候選框進行優(yōu)化,并將結(jié)果傳給O-Net。

1.4.3 O-Net

Output Network,輸出網(wǎng)絡(luò),是MTCNN算法的最后一個步驟。它是一個比較復(fù)雜的卷積神經(jīng)網(wǎng)絡(luò),用于甄選出最終的人臉框與人臉特征。甄選結(jié)束后依然進行Bounding-Box Regression與NMS進行窗口過濾與調(diào)整第三層輸出網(wǎng)絡(luò)O-Net,作為最終輸出層網(wǎng)絡(luò),它的卷積核是最為復(fù)雜的,通過人臉判別、人臉區(qū)域邊框回歸、人臉特征定位,最終輸出左上角和左下角的兩個坐標(biāo)與五個人臉區(qū)域的特征點,作為最終輸出。

1.5 人臉檢測算法的選取

根據(jù)人臉識別門禁系統(tǒng)的需要,我們必須甄選出一個合適的檢測算法。只有保證了人臉檢測的準(zhǔn)確性,才能為下一步的人臉識別打好基礎(chǔ)。Haar算法是傳統(tǒng)的人臉檢測算法,一直被當(dāng)做人臉檢測的一個核心算法。而MTCNN是近年來發(fā)展起來的一種新型的神經(jīng)網(wǎng)絡(luò)算法。以下將在這兩種算法中甄選出一個比較優(yōu)等的算法。

這里用FERET人臉數(shù)據(jù)庫的部分圖片進行測試,比較兩種算法哪一種速度更快、準(zhǔn)確率更高。FERET是由FERET項目創(chuàng)建的,這個圖像集合包含了大量的人臉圖。在圖像中,每個人的姿態(tài)、年齡、光照情況都不同。FERET是目前人臉識別領(lǐng)域應(yīng)用比較廣泛的一種人臉數(shù)據(jù)庫。圖1、圖2為同一張圖片用兩種算法分別檢測的結(jié)果。

MTCNN算法的檢測精度優(yōu)于Haar算法的,幾乎整張圖片人臉數(shù)據(jù)都能被檢測到,所以本設(shè)計選擇MTCNN算法來進行人臉檢測。

2 人臉識別門禁系統(tǒng)軟件設(shè)計

2.1 上位機軟件設(shè)計

本設(shè)計基于MFC構(gòu)建GUI頁面,并配合OpenCV實現(xiàn)人臉的檢測與識別,人臉檢測與識別流程圖如圖3所示,先做圖像的預(yù)處理,并根據(jù)人臉檢測算法檢測出人臉區(qū)域,并提取特征,與數(shù)據(jù)庫數(shù)據(jù)特征進行對比,如果檢測到人臉數(shù)據(jù)庫里的人臉數(shù)據(jù),則發(fā)送數(shù)據(jù)給底層單片機控制器。

2.2 單片機軟件設(shè)計

單片機主要用來控制門禁的運行。本設(shè)計通過步進電機來模擬門禁的運行。通過串口接收程序,接收PC上位機發(fā)來的識別數(shù)據(jù),識別成功則控制步進電機運轉(zhuǎn),多次識別失敗,則啟動報警程序,軟件設(shè)計流程如圖4所示。

[開始][串口,變量初始化][等待][結(jié)束][串口中斷開始][保存串口數(shù)據(jù),

標(biāo)志位清零

] [如果接收數(shù)據(jù)

等于“1”] [如果接收數(shù)據(jù)

等于“0”][串口中斷結(jié)束][步進電機運行][FLAG++] [if(FLAG>2)][報警,F(xiàn)LAG清零] [是] [是] [是]

3 系統(tǒng)測試與結(jié)果分析

選擇寢室室友作為測試對象,檢測系統(tǒng)的實時性與穩(wěn)定性,上位機應(yīng)用與門禁的模擬測試結(jié)果如圖5、圖6所示。

經(jīng)實驗,該設(shè)計能夠?qū)崿F(xiàn)人臉檢測與識別,精確度達(dá)到基本要求,識別時間大約為2秒,報警與開關(guān)門功能均正常運行。

4 結(jié)束語

基于FERET人臉數(shù)據(jù)庫研究對比了Adaboost與MTCNN的檢測識別率,選擇MTCNN作為人臉檢測算法,采用MFC設(shè)計GUI界面,實現(xiàn)了人臉檢測與識別,并把檢測結(jié)果傳輸給STC89C51開發(fā)板,模擬了門禁的旋轉(zhuǎn)與報警。經(jīng)過系統(tǒng)測試,驗證了該套系統(tǒng)的可行性,可以滿足日常對門禁系統(tǒng)的基本需求。

參考文獻(xiàn)(References):

[1] 李丕峰,付光健,朱光亞,等.智能門禁群控系統(tǒng)[J].市場周刊

(理論研究),2013(10):132

[2] 孔令釗,唐文靜.基于PCA的人臉識別系統(tǒng)的研究與實現(xiàn)[J].

計算機仿真,2012,29(6):27

[3] 楊明中,楊平先.基于低秩特征臉與協(xié)同表示的人臉識別

算法[J].液晶與顯示,2017,32(8):650

[4] 王靜霞.單片機應(yīng)用技術(shù)(第4版)[M].電子工業(yè)出版社,2019

[5] 邢益銘,野瑩瑩,程立英,等.基于Haar-AdaBoost人臉檢測

算法的研究[J].裝備制造技術(shù),2020(3):67

[6] 賈小碩,曾上游,潘兵,等.基于改進MTCNN網(wǎng)絡(luò)的目標(biāo)人臉

快速檢測[J].計算機工程與科學(xué),2020,42(7):1262

收稿日期:2021-10-27

作者簡介:徐杰(1995-),男,貴州安順人,貴州大學(xué)電氣工程學(xué)院碩士研究生,主要研究方向:圖像處理。

通訊作者:李捍東(1966-),男,貴州貴陽人,碩士,貴州大學(xué)電氣工程學(xué)院教授,主要研究方向:計算機控制技術(shù)、嵌入式系統(tǒng)。

猜你喜歡
人臉檢測門禁系統(tǒng)人臉識別
基于多種生物特征識別的RFID門禁系統(tǒng)設(shè)計
人臉識別 等
揭開人臉識別的神秘面紗
基于AI智慧人臉門禁系統(tǒng)的硬件系統(tǒng)設(shè)計
基于單片機的安全門禁系統(tǒng)研究設(shè)計
基于人臉特征定位的SNS網(wǎng)站應(yīng)用組件研究與設(shè)計
基于Android平臺的人臉識別系統(tǒng)設(shè)計與實現(xiàn)
基于Matlab的人臉檢測實驗設(shè)計
基于單片機的小區(qū)門禁系統(tǒng)設(shè)計
基于類獨立核稀疏表示的魯棒人臉識別