亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2018-11-28 09:08:00,,
        計(jì)算機(jī)測量與控制 2018年11期
        關(guān)鍵詞:人臉識別數(shù)據(jù)庫用戶

        ,,

        (上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 201620)

        0 引言

        21世紀(jì)是科技飛速發(fā)展的時(shí)代,科學(xué)技術(shù)已經(jīng)深深影響著人們的日常生活,并給人們帶來的極大便利。但是凡事有利有弊,高科技也帶來了很多不安全的因素,例如使用高科技手段進(jìn)行偷盜、搶劫和間諜等犯罪行為日益增多。傳統(tǒng)門禁系統(tǒng)利用密碼、磁卡等驗(yàn)證身份,已經(jīng)不能滿足現(xiàn)代安防的需求。因此建立一個(gè)具有更安全、更可靠、更便捷的身份識別的門禁系統(tǒng)來解決日益嚴(yán)重的安全問題就顯得尤為重要[1]。

        生物識別技術(shù),特別是人臉識別技術(shù)以及移動開發(fā)技術(shù)的發(fā)展使得將人臉識別技術(shù)和移動開發(fā)技術(shù)應(yīng)用到門禁系統(tǒng)中成為可能。本文主要通過研究人臉識別技術(shù)以及Android技術(shù),并將其應(yīng)用到門禁系統(tǒng)設(shè)備上,完成門禁系統(tǒng)的設(shè)計(jì),從而實(shí)現(xiàn)提高門禁系統(tǒng)的安全性的目的[2-3]。

        1 人臉識別門禁系統(tǒng)概述

        整個(gè)門禁系統(tǒng)工作原理如圖1所示,用戶在手機(jī)客戶端下載安裝本文設(shè)計(jì)的門禁APP后進(jìn)行注冊,注冊時(shí)填寫本人身份信息(用戶名,姓名,身份證號和手機(jī)號),并從本地上傳本人清晰的人臉照片,這些數(shù)據(jù)都是由服務(wù)器保存至數(shù)據(jù)庫。注冊完成后登錄到主界面,點(diǎn)擊人臉識別模塊,手機(jī)攝像頭開啟拍攝用戶人臉照片上傳至服務(wù)器并與保存在數(shù)據(jù)庫的人臉作比對,如果比對成功服務(wù)器將會發(fā)送二維碼到手機(jī)端,其中二維碼中的信息就是用戶的身份證號以及手機(jī)號,用戶用此二維碼放在二維碼掃描器上進(jìn)行掃描,掃描器讀取到二維碼的信息后傳至門禁控制器,門禁控制器將此信息傳送至后臺服務(wù)器,服務(wù)器將此信息與數(shù)據(jù)庫中保存的二維碼信息作比對,如果比對成功則發(fā)送開門信號給門禁控制器,門禁控制器驅(qū)動磁力鎖開門。

        圖1 門禁系統(tǒng)的工作原理圖

        2 人臉識別相關(guān)技術(shù)介紹

        2.1 圖像預(yù)處理

        1)灰度化:為了使后續(xù)的圖像的計(jì)算量變得少一些,需要將手機(jī)拍攝的彩色圖像轉(zhuǎn)變?yōu)榛叶葓D像?;叶葓D像與彩色圖像所描述的一樣反映了整幅圖像的整體與局部的色度和亮度等級的分布和特征,本文對彩色的圖像進(jìn)行灰度化處理直接采用的是OpenCV中的灰度算法[4]。

        2)直方圖均衡化:通過使用累積函數(shù)對灰度值進(jìn)行“調(diào)整”以實(shí)現(xiàn)對比度的增強(qiáng)減少由于光照、噪聲等因素對圖像的質(zhì)量的影響[5]。

        2.2 人臉檢測

        Adaboost算法是目前最常用的人臉檢測算法之一,它與與Haar特征相結(jié)合,可以將一個(gè)弱學(xué)習(xí)算法提升為一個(gè)強(qiáng)學(xué)習(xí)算法。Haar特征通常是由2到4個(gè)矩形組成,分別用來檢測邊界、細(xì)線和對角線特征。Haar特征值計(jì)算方法是白色矩形像素和與黑色矩形像素和的差值。為了減少特征值計(jì)算量,一般使用積分圖來計(jì)算圖像的Haar特征。通過 Adaboost 算法挑選數(shù)千個(gè)有效的haar特征來組成人臉檢測器。

        Adaboost人臉檢測方法具體過程如下:對每個(gè)特征fj,訓(xùn)練成一個(gè)弱分類器:

        (1)

        其中:θj表示閾值,pj表示不等號的方向,x則代表一個(gè)子窗口。

        為了提高檢測效率,需要篩選出分類效果比較好的少量矩形特征的集合,進(jìn)行T輪迭代,每輪篩選出一個(gè)分類誤差最小的分類器ht。更新樣本的權(quán)值,給分類錯(cuò)誤的樣本賦予比較高的權(quán)值,這樣下一輪迭代中篩選出來的分類器將錯(cuò)誤樣本分類正確的可能性就提高了。在新的樣本分布下,繼續(xù)迭代。經(jīng)過T次循環(huán)就得到T個(gè)弱分類器,將T個(gè)弱分類器按照一定的權(quán)值疊加,得到了一個(gè)強(qiáng)分類器。再將多個(gè)強(qiáng)分類器連接起來,得到了Adaboost級聯(lián)分類器[6]。

        2.3 人臉識別

        在圖像處理時(shí),因數(shù)據(jù)量太大,通常需要降低數(shù)據(jù)的維數(shù),但又希望保留貢獻(xiàn)大的特征數(shù)據(jù),而PCA就是保留主要成分的降維算法,因此本文采用的人臉識別方法是目前比較流行的特征臉方法,也被稱作PCA方法,其具體過程如下。

        1)首先讀取訓(xùn)練集下指定個(gè)數(shù)的圖像,將人臉像素值保存到一個(gè)二維數(shù)組中,將該數(shù)組按列排成列向量,即每一列表示一張圖像的像素信息,列數(shù)代表一共有多少張人臉圖像。如果有S張人臉圖像,則X=[MN,S];

        2)計(jì)算每一行的均值,再把每行的元素與均值相減,就得到了每張人臉與平人臉的差值,組成新矩陣X;

        3)計(jì)算X的協(xié)方差矩陣C,大小為MN*MN;

        4)計(jì)算出C的特征值與特征向量,共有MN個(gè)特征值,對應(yīng)于MN個(gè)特征向量;

        5)選擇主成分,將特征值按照從大到小的順序排列,選出前R個(gè)特征值并且這R個(gè)特征值占所有特征值比例90%以上,再將對應(yīng)的特征向量按行排列,則特征空間P=[R,MN];

        6)將訓(xùn)練集投影到特征空間,Y=PX=[R,S];

        7)將測試集也投影到該特征空間,假設(shè)測試集有Q張圖像,那么降維后的矩陣為[R,Q];

        8)利用歐氏距離法求出每一張圖像[R,1]與特征空間[R,S]最相近的一個(gè)圖像,識別為該類。所有測試集完成以后,最后求出識別概率。

        特征臉方法經(jīng)過K-L變換后由原來的高緯度向量轉(zhuǎn)換成低緯度向量子空間,達(dá)到了非常好的降維效果,簡單有效,而且其運(yùn)算復(fù)雜度低識別速度快,同時(shí)易于實(shí)現(xiàn),識別率高,在人臉識別這一塊得到了廣泛的應(yīng)用[7]。

        3 人臉識別門禁系統(tǒng)設(shè)計(jì)

        本文設(shè)計(jì)的人臉識別門禁系統(tǒng)分為硬件系統(tǒng)和軟件系統(tǒng),主要由移動手機(jī)端、門禁端和后臺服務(wù)器端構(gòu)成。移動客戶端采用Android系統(tǒng)的移動設(shè)備,主要進(jìn)行人臉注冊、人臉識別和獲取二維碼;門禁端主要功能是掃描用戶二維碼,接收來自服務(wù)器端的身份驗(yàn)證信息和控制開關(guān)門;服務(wù)器端主要是進(jìn)行人臉照片圖像識別,發(fā)送二維碼給用戶手機(jī)端,并且接收門禁端發(fā)送來的二維碼,并驗(yàn)證用戶二維碼中的信息成功后,發(fā)送開門的指令。

        3.1 硬件系統(tǒng)

        硬件系統(tǒng)主要包括移動客戶端設(shè)備(主要是Android手機(jī)),服務(wù)器和門禁端設(shè)備。門禁端設(shè)備有:二維碼掃描器、門禁控制器、磁力鎖和電源箱, 其中門禁端設(shè)備功能如下:

        二維碼掃描器:負(fù)責(zé)將讀取的二維碼中的信息傳送給門禁控制器處理。

        門禁控制器:是門禁端的核心部件,負(fù)責(zé)整個(gè)門禁端輸入、輸出信息的處理和存儲、控制,并且與服務(wù)器端進(jìn)行通信。

        磁力鎖:與門禁控制器相連,是門禁系統(tǒng)的執(zhí)行部件,系統(tǒng)通過對二維碼權(quán)限的判斷,決定是否打開門鎖。

        電源箱:與門禁控制器相連,負(fù)責(zé)整個(gè)系統(tǒng)的正常供電。

        3.2 軟件系統(tǒng)

        3.2.1 系統(tǒng)總體模塊結(jié)構(gòu)

        本軟件系統(tǒng)由前臺移動客戶端軟件,后臺管理員端軟件組成,主要功能模塊包括注冊登錄模塊、人臉識別模塊、獲取二維碼以及管理員模塊,系統(tǒng)總體模塊結(jié)構(gòu)如圖2所示。

        圖2 系統(tǒng)總體模塊結(jié)構(gòu)圖

        3.2.2 系統(tǒng)各模塊的功能

        移動客戶端軟件在Android開發(fā)平臺上,采用Java語言進(jìn)行開發(fā),與服務(wù)器端軟件的通信采用Web Service。本文設(shè)計(jì)的門禁APP主要提供用戶注冊(包括用戶身份信息的注冊和人臉信息的注冊)、登錄、人臉識別以及獲取二維碼的功能。

        后臺服務(wù)器:服務(wù)器端采用MVC設(shè)計(jì)模式進(jìn)行設(shè)計(jì),將系統(tǒng)分為模型層、邏輯層和表現(xiàn)層,主要負(fù)責(zé)進(jìn)行圖像的人臉識別,用戶身份驗(yàn)證,與客戶端和門禁端進(jìn)行通信。

        3.2.3 人臉檢測與識別模塊的設(shè)計(jì)

        人臉檢測與識別模塊的功能主要是對檢測到的樣本圖像進(jìn)行預(yù)處理(灰度化、直方圖均衡化)、人臉檢測、特征提取以及識別,整個(gè)模塊流程圖如圖3所示。

        圖3 人臉檢測識別模塊流程圖

        3.2.4 數(shù)據(jù)庫設(shè)計(jì)

        本系統(tǒng)設(shè)計(jì)的數(shù)據(jù)庫有三張表,分別是用戶信息表、人臉信息表和二維碼信息表,用戶信息表中的字段有用戶id、用戶名、姓名、身份證號和手機(jī)號,人臉信息表字段有用戶id、圖片對應(yīng)路徑和分配的人臉圖片編號,二維碼信息表字段有用戶id、身份證號和手機(jī)號。本系統(tǒng)采用的數(shù)據(jù)庫為SQLServer,訪問數(shù)據(jù)的操作由服務(wù)器端完成,服務(wù)器端通過JDBC與數(shù)據(jù)庫連接,進(jìn)行數(shù)據(jù)庫訪問。移動客戶端通過SQAP協(xié)議調(diào)用Web Service與服務(wù)器端進(jìn)行數(shù)據(jù)的交互,服務(wù)器端接收到調(diào)用命令后,進(jìn)行相應(yīng)的處理并將處理的結(jié)果返回給客戶端。

        4 基于Android人臉識別門禁系統(tǒng)實(shí)現(xiàn)

        4.1 硬件系統(tǒng)

        硬件系統(tǒng)采用ACM68-LAN系列門禁控制器、中控多門控制電源箱、MCM-MS100系列二維碼掃描器和280 KG雙門磁力鎖,以及Android手機(jī)。

        4.2 軟件系統(tǒng)

        4.2.1 開發(fā)環(huán)境的搭建

        本文設(shè)計(jì)的門禁APP軟件是采用Android技術(shù)進(jìn)行開發(fā),Android應(yīng)用程序是用Java語言進(jìn)行開發(fā)的。因此,在Windows系統(tǒng)下,需要安裝Android Studio開發(fā)環(huán)境。

        由于本應(yīng)用程序中涉及到大量的圖像處理,本文采用JNI技術(shù),實(shí)現(xiàn)在Java程序中調(diào)用外部的C++代碼,以完成相應(yīng)的功能,例如調(diào)用人臉識別相應(yīng)的算法。在Android平臺下,要實(shí)現(xiàn)這樣的功能,需要安裝和配置Android NDK[8]。

        4.2.2 OpenCV的應(yīng)用

        OpenCV是Intel資助的開源計(jì)算機(jī)視覺庫,它主要由一系列C函數(shù)和少量C++類構(gòu)成,同時(shí)提供了Python、Ruby、MATLAB等語言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法。它可以在Linux操作系統(tǒng)上和Windows操作系統(tǒng)上運(yùn)行,現(xiàn)在也支持Android操作系統(tǒng)環(huán)境開發(fā)。本文采用的很多圖像處理就是調(diào)用了OpenCV的相應(yīng)函數(shù),本文下載的是OpenCV-3.2.0-Android-sdk版本[9]。

        4.2.3 用戶注冊模塊的實(shí)現(xiàn)

        注冊頁面的設(shè)計(jì),用戶初次登錄門禁APP需要進(jìn)行注冊,本文人臉圖像選擇的是本地獲取的方式,在獲取到人臉圖像后,程序首先對圖像進(jìn)行處理(灰度化、直方圖均衡化),再對處理后的圖像進(jìn)行人臉檢測并將人臉圖片顯示在界面,如圖4,同時(shí)服務(wù)器將圖片保存在某個(gè)目錄中并將文件路徑和分配的編號保存至后臺數(shù)據(jù)庫的人臉信息表中由管理員統(tǒng)一管理。人臉檢測是直接通過Java端調(diào)用detectMultiScale函數(shù)來完成的,檢測前需要將OpenCV目錄下的cascade文件加載,先將這個(gè)xml文件放在Android工程項(xiàng)目的raw文件夾下,程序運(yùn)行的時(shí)候就將這個(gè)文件寫入到該apk運(yùn)行時(shí)創(chuàng)建的項(xiàng)目文件夾中,然后利用OpenCV自帶的cascade加載器對這個(gè)訓(xùn)練文件夾進(jìn)行加載,加載成功后把這個(gè)文件刪除。用戶填寫好身份信息后點(diǎn)擊注冊按鈕,服務(wù)器端首先接收到用戶身份信息將其保存至后臺數(shù)據(jù)庫中的用戶信息表,再從數(shù)據(jù)庫的人臉信息表中讀取到所有圖片的路徑和編號來進(jìn)行訓(xùn)練,最后保存訓(xùn)練模型方便下次直接調(diào)用,其中訓(xùn)練函數(shù)都是寫在JNI層,由Android NDK編譯成動態(tài)鏈接庫,再通過java端來調(diào)用,訓(xùn)練部分主要函數(shù)如下。

        Ptrmodel=createEigenFaceRecognizer();//建立特征人臉識別器;

        model->train(images,labels);//訓(xùn)練人臉圖片,labels:標(biāo)簽,

        model->save(“Train_model.xml”);//保存訓(xùn)練模型,供下次直接調(diào)用[10]。

        圖4 注冊界面

        4.2.4 人臉識別模塊的實(shí)現(xiàn)

        點(diǎn)擊人臉識別按鈕,會進(jìn)入拍照界面(如圖5所示),系統(tǒng)調(diào)用內(nèi)置相機(jī)程序,對返回的照片傳送到JNI層進(jìn)行處理(灰度化、直方圖均衡化),處理好的圖片傳送到JNI層的識別函數(shù)進(jìn)行識別,識別時(shí)首先將圖片傳送給矩陣,然后加載保存的訓(xùn)練模型,最后返回一個(gè)整數(shù)值,此時(shí)如果返回的整數(shù)值對應(yīng)于訓(xùn)練模型中的那個(gè)label,服務(wù)器將根據(jù)這個(gè)label到后臺數(shù)據(jù)庫的用戶信息表將這個(gè)用戶的身份信息回顯到手機(jī)端界面(如圖6所示),當(dāng)用戶點(diǎn)擊獲取二維碼按鈕便可得到服務(wù)器發(fā)送過來的二維碼(如圖7所示),二維碼中的信息就是用戶身份證號與手機(jī)號以及對應(yīng)的用戶id,同時(shí)服務(wù)器將二維碼中的信息保存至數(shù)據(jù)庫的二維碼信息表中,二維碼將作為刷碼開門的標(biāo)識。其中識別函數(shù)如下。

        Jint*cbuf=env->GetIntArrayElements(buf,0);//獲取傳遞過來的人臉圖像;

        Mat pic(h,w,CV_8UC4,(unsigned char*)cbuf);//傳遞給矩陣;

        Ptrmodel=createEigenFaceRecognizer();//建立特征人臉識別器;

        model->load(“Train_model.xml”);//加載保存的訓(xùn)練模型;

        Int predict=model->predit(pic);//預(yù)測人臉[10];

        圖5 人臉識別界面 圖6 識別結(jié)果

        圖7 獲取二維碼

        4.2.5 服務(wù)器端的實(shí)現(xiàn)

        服務(wù)器端采用JavaEE編程,通過JDBC與數(shù)據(jù)庫連接,進(jìn)行數(shù)據(jù)庫訪問。移動客戶端通過SQAP協(xié)議調(diào)用Web Service與服務(wù)器端進(jìn)行數(shù)據(jù)的交互,服務(wù)器端接收到調(diào)用命令后,進(jìn)行相應(yīng)的處理并將處理的結(jié)果返回給客戶端。本文后臺服務(wù)器主要負(fù)責(zé)對移動客戶端發(fā)送過來的命令進(jìn)行處理,比如將用戶身份信息保存至數(shù)據(jù)庫、接收用戶人臉注冊照片訓(xùn)練并存放到指定文檔、接受用戶登錄照片進(jìn)行人臉識別以及授權(quán)發(fā)送二維碼。

        4.3 測試結(jié)果分析

        為了驗(yàn)證本文實(shí)現(xiàn)的基于 Android的人臉識別門禁系統(tǒng)的性能指標(biāo),本文采集了40張不同的人臉建成人臉庫進(jìn)行訓(xùn)練測試,采集設(shè)備是華為P9,系統(tǒng)版本EMUI4.1兼容Android6.0,CPU八核華為麒麟955,內(nèi)存3G。系統(tǒng)測試結(jié)果如表1所示。

        以上的結(jié)果表明,在Android系統(tǒng)上本設(shè)計(jì)達(dá)到了預(yù)期設(shè)計(jì)標(biāo)準(zhǔn),有較好的人臉識別率和實(shí)時(shí)性,樣本中大部分的人臉圖像都有著正確的識別,但是由于人臉識別率受所處環(huán)境的光照、人臉表情和膚色相類似的背景以及拍攝角度等因素影響,所以會有一定的錯(cuò)誤率。

        表1 系統(tǒng)測試結(jié)果

        本文采用人臉識別技術(shù)和移動開發(fā)技術(shù)設(shè)計(jì)了基于Android系統(tǒng)的人臉識門禁系統(tǒng),為一些高安全等級場所提供安全保證。在安全性方面,采用了人臉識別和二維碼雙重驗(yàn)證,大大增加了門禁系統(tǒng)的安全性,為智能門禁提出了新方案。測試結(jié)果表明:本系統(tǒng)具有良好的易用性、安全性,并且識別速度快識別率高,彌補(bǔ)傳統(tǒng)門禁的缺陷與不足。

        猜你喜歡
        人臉識別數(shù)據(jù)庫用戶
        人臉識別 等
        揭開人臉識別的神秘面紗
        數(shù)據(jù)庫
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        數(shù)據(jù)庫
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        基于類獨(dú)立核稀疏表示的魯棒人臉識別
        老子影院午夜精品无码| 青青草免费高清视频在线观看| 日本伦理视频一区二区| 亚洲不卡高清av在线| 亚洲乱码中文字幕在线| 无码毛片内射白浆视频| 欧美黑寡妇特a级做爰| 国产精品无套内射迪丽热巴| 亚洲无毛片| 一本久久精品久久综合桃色| 日本一区二区三区四区啪啪啪| 日韩美女av二区三区四区| 无码熟熟妇丰满人妻啪啪 | 国精品无码一区二区三区在线看| 日本精品啪啪一区二区| 成人av毛片免费大全| 性刺激的大陆三级视频| 国产熟妇搡bbbb搡bbbb搡| 久久亚洲精品成人综合| 国产三级精品三级在专区中文| 中文字幕综合一区二区三区| 特级精品毛片免费观看| 欧美aⅴ在线| 久久精品网站免费观看| 久久精品国产9久久综合| 中文字幕亚洲精品久久| 永久免费av无码入口国语片| 国产精品18久久久久久不卡中国 | 同性男男黄g片免费网站| 亚洲日产国无码| 老熟女富婆激情刺激对白| 欧美激情肉欲高潮视频| 日韩国产成人无码av毛片蜜柚 | 中文亚洲第一av一区二区| 亚洲av福利院在线观看| 中文字幕肉感巨大的乳专区| 不卡视频一区二区三区| 蜜桃视频一区二区三区| 中文字幕人妻伦伦| 亚洲精品无码av片| 精品福利一区|