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

?

基于邊緣計(jì)算的人臉識(shí)別系統(tǒng)

2020-01-07 08:07劉思馬靖瑜袁倩吳粉俠
軟件工程 2020年12期
關(guān)鍵詞:人臉識(shí)別

劉思 馬靖瑜 袁倩 吳粉俠

摘 ?要:隨著科技的發(fā)展,智能設(shè)備產(chǎn)生的大量數(shù)據(jù)給云計(jì)算處理方式帶來(lái)了巨大的壓力,進(jìn)行快速、有效地人臉識(shí)別的技術(shù)要求日益迫切。本文基于邊緣計(jì)算,采用Qt+OpenCV技術(shù)設(shè)計(jì)了人臉識(shí)別系統(tǒng),實(shí)現(xiàn)了人臉識(shí)別模塊在ARM開發(fā)板上運(yùn)行,完成了邊緣端及服務(wù)器端的開發(fā),優(yōu)先在移動(dòng)設(shè)備所處的邊緣端對(duì)圖像進(jìn)行處理,并結(jié)合了AdaBoost算法進(jìn)行識(shí)別。該系統(tǒng)可以減少圖像目標(biāo)識(shí)別的計(jì)算成本、減少網(wǎng)絡(luò)數(shù)據(jù)泄露的風(fēng)險(xiǎn)、增強(qiáng)服務(wù)響應(yīng)能力。

關(guān)鍵詞:人臉識(shí)別;AdaBoost算法;OpenCV

中圖分類號(hào):TP391.4 ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

Abstract: With the development of science and technology, large amount of data generated by intelligent devices has brought great pressure to cloud computing processes. There is an urgent demand for fast and effective face recognition technology. This paper, based on edge computing, proposes a new face recognition system by using Qt+OpenC technology. The new system enables face recognition module to run on the ARM development board and the both edge end and server end are completed. Images are firstly processed on the edge end of mobile devices, then recognized through AdaBoost algorithm. The system can reduce the computing cost of image target recognition, lower the risk of network data leakage, and improve service response.

Keywords: face recognition; AdaBoost algorithm; OpenCV

1 ? 引言(Introduction)

人臉識(shí)別是機(jī)器視覺研究的核心,隨著計(jì)算機(jī)硬件的不斷發(fā)展,人臉識(shí)別的應(yīng)用范圍更加廣泛。人臉識(shí)別最初應(yīng)用于公安部門,主要用于刑偵破案和通過(guò)照片識(shí)別罪犯,近幾年逐步應(yīng)用于國(guó)家、社會(huì)及企事業(yè)等領(lǐng)域[1]。

傳統(tǒng)的人臉識(shí)別大多是基于云計(jì)算的,云計(jì)算是數(shù)據(jù)行業(yè)的大勢(shì)所趨[2]。對(duì)于云計(jì)算來(lái)說(shuō),所有的數(shù)據(jù)都要匯總到后端的數(shù)據(jù)中心完成。在“云、管、端”三者的角色中,云計(jì)算更側(cè)重于“云”,是實(shí)現(xiàn)最終數(shù)據(jù)分析與應(yīng)用的場(chǎng)所。而基于云計(jì)算模型的人臉識(shí)別技術(shù)存在一些問(wèn)題亟待解決:①各種終端上傳的圖像、視頻等數(shù)據(jù)由于信息量大,對(duì)網(wǎng)絡(luò)帶寬要求較高,全部上傳至云端,云端壓力較大,很難保證數(shù)據(jù)處理的實(shí)時(shí)性。②存儲(chǔ)和管理大量冗余圖像數(shù)據(jù),增加了存儲(chǔ)節(jié)點(diǎn)能耗。

為了更好地規(guī)避云計(jì)算數(shù)據(jù)處理壓力過(guò)大這一問(wèn)題,邊緣計(jì)算應(yīng)運(yùn)而生。邊緣計(jì)算屬于一種分布式計(jì)算,在網(wǎng)絡(luò)邊緣側(cè)的智能網(wǎng)關(guān)上,就近處理采集到的數(shù)據(jù),而不需要將大量數(shù)據(jù)上傳到遠(yuǎn)端的核心管理平臺(tái)[3]。和云計(jì)算相比,基于邊緣計(jì)算的人臉識(shí)別,可以利用云服務(wù)器上已有的數(shù)據(jù)和計(jì)算能力,得到結(jié)果的速度更快,圖像識(shí)別時(shí),得到識(shí)別結(jié)果的響應(yīng)時(shí)間大大縮短,而且當(dāng)識(shí)別結(jié)果返回的同時(shí),將會(huì)把圖像的特征信息發(fā)送給云服務(wù)器作為新的訓(xùn)練集。

本文設(shè)計(jì)了基于邊緣計(jì)算的人臉識(shí)別系統(tǒng),在該系統(tǒng)中,攝像頭采集人臉圖像上傳至邊緣端,邊緣端根據(jù)實(shí)際情況,若需要進(jìn)行訓(xùn)練,可選擇將人臉圖像上傳至服務(wù)器端進(jìn)行訓(xùn)練,得到訓(xùn)練模型并把訓(xùn)練模型傳回邊緣端或邊緣端進(jìn)行比對(duì)識(shí)別;若需要進(jìn)行識(shí)別,則可以直接利用服務(wù)器端訓(xùn)練好的模型進(jìn)行識(shí)別,并將識(shí)別結(jié)果保存至服務(wù)器端。這一特性使該系統(tǒng)具有更高的可實(shí)現(xiàn)性[4]。

2 ? 系統(tǒng)設(shè)計(jì)(System design)

2.1 ? 體系結(jié)構(gòu)設(shè)計(jì)

基于邊緣計(jì)算的人臉識(shí)別系統(tǒng)開發(fā)主要包含兩部分:邊緣端的開發(fā)以及服務(wù)器端的開發(fā)。該系統(tǒng)通過(guò)邊緣端的攝像頭采集人臉圖像,使用智能邊緣管理運(yùn)行包進(jìn)行識(shí)別,把識(shí)別結(jié)果保存并上傳至服務(wù)器端。在服務(wù)器端通過(guò)智能邊緣管理平臺(tái)進(jìn)行人臉圖像的訓(xùn)練,將訓(xùn)練模型保存至服務(wù)器端,邊緣端根據(jù)需要從服務(wù)器端獲取訓(xùn)練模型進(jìn)行識(shí)別。本文主要開發(fā)技術(shù)包括OpenCV機(jī)器視覺的技術(shù)、Linux系統(tǒng)下的編譯和移植技術(shù),以及最終移植到開發(fā)板的相關(guān)技術(shù)。

邊緣端系統(tǒng)使用粵嵌GEC3399人工智能嵌入式開發(fā)板,搭建Ubuntu16操作系統(tǒng),同時(shí)配置ARM版OpenCV機(jī)器視覺庫(kù),其中ARM版的OpenCV庫(kù)通過(guò)交叉編譯環(huán)境調(diào)整為合適的版本。邊緣端通過(guò)攝像頭對(duì)人臉圖像進(jìn)行采集,使用服務(wù)器端訓(xùn)練好的訓(xùn)練模型進(jìn)行識(shí)別。OpenCV機(jī)器視覺庫(kù)與開發(fā)板自帶的3D圖形加速引擎配合,能夠有效增強(qiáng)圖像的處理能力。人臉圖像進(jìn)行識(shí)別前需先使用OpenCV庫(kù)對(duì)圖形進(jìn)行灰度化處理將圖形轉(zhuǎn)化為更易處理的灰度圖像,然后將其傳輸至服務(wù)器端[5]。

服務(wù)器端的主要環(huán)境配置包含Ubuntu16、Qt Creator 5.7.1、OpenCV3.3.4和交叉編譯工具鏈arm-linux-gcc-4.8.3。邊緣端和服務(wù)器端的交互通過(guò)掛載的形式來(lái)實(shí)現(xiàn)。邊緣端采集人臉圖像上傳至服務(wù)器端,服務(wù)器端對(duì)其進(jìn)行訓(xùn)練,獲得訓(xùn)練模型,將訓(xùn)練結(jié)果進(jìn)行保存并返回給邊緣端進(jìn)行識(shí)別?;谶吘売?jì)算的人臉識(shí)別系統(tǒng)框架如圖1所示。

2.2 ? 嵌入式系統(tǒng)的平臺(tái)搭建

搭建嵌入式Linux平臺(tái)就是搭建服務(wù)器端環(huán)境、邊緣端環(huán)境以及建立它們的連接。嵌入式系統(tǒng)一般沒有自舉程序,必須通過(guò)啟動(dòng)程序引導(dǎo)硬件系統(tǒng)進(jìn)入操作系統(tǒng)。首先將U-Boot植入嵌入式控制系統(tǒng),U-Boot可以引導(dǎo)操作系統(tǒng)進(jìn)行裝載和運(yùn)行,同時(shí)對(duì)系統(tǒng)的頻率、定時(shí)器進(jìn)行設(shè)置,初始化一個(gè)調(diào)試串口,通過(guò)該串口或以太網(wǎng)都可進(jìn)行數(shù)據(jù)下載。然后在服務(wù)器端安裝Linux的發(fā)行版Ubuntu16,邊緣端配置好底層的環(huán)境,同時(shí)在服務(wù)器端安裝交叉工具鏈(ARM版),用交叉工具鏈編譯程序部署到邊緣端[6]。

搭建系統(tǒng)首先需安裝軟件環(huán)境,核心步驟如下:

(1)PC機(jī)安裝虛擬機(jī),虛擬機(jī)安裝linux操作系統(tǒng)。

(2)在宿主機(jī)的Linux操作系統(tǒng)上安裝交叉編譯工具。

(3)宿主機(jī)上搭載nfs,是宿主機(jī)的文件夾可以掛載到開發(fā)板上。

(4)在宿主機(jī)上安裝串口虛擬終端(secure CRT),操作開發(fā)板。

本文以支持跨平臺(tái)運(yùn)行、易移植的Qt Creator5.7.1作為開發(fā)平臺(tái),該應(yīng)用開發(fā)嵌入式產(chǎn)品更加方便高效。具體步驟如下:

(1)Qtcreator交叉編譯,安裝圖形化界面的Qt。下載并配置源碼包qt-everywhere-opensource-src-5.7.1,通過(guò)arm-linux-gcc-4.8.3交叉編譯,設(shè)置環(huán)境變量。

(2)OpenCV3.3.4機(jī)器視覺庫(kù)交叉編譯,安裝cmake及相關(guān)依賴庫(kù),并編譯OpenCV,配置環(huán)境變量。

(3)在交叉編譯好的Qt5.7.1中導(dǎo)入交叉編譯后的OpenCV3.3.4,在Qt的.pro文件中加入動(dòng)態(tài)鏈接庫(kù)。

(4)掛載開發(fā)板下可執(zhí)行的程序,在Qt中把人臉識(shí)別程序進(jìn)行交叉編譯,掛載到開發(fā)板上執(zhí)行。

3 ? 人臉識(shí)別(Face recognition)

3.1 ? 人臉圖像的預(yù)處理

人臉圖像采集時(shí)存在光照、角度等因素的影響圖像質(zhì)量低,不利于機(jī)器識(shí)別,可以通過(guò)對(duì)采集到的圖像進(jìn)行光照補(bǔ)償、去噪等方法提高圖像質(zhì)量、加強(qiáng)有用信息,在人臉特征提取之前有選擇地進(jìn)行適當(dāng)?shù)念A(yù)處理操作。

3.1.1 ? 圖像識(shí)別預(yù)處理

攝像頭采集人臉圖像時(shí),采集環(huán)境和采集設(shè)備均存在一定的差異性,光照明暗程度、設(shè)備性能的優(yōu)劣等都會(huì)影響到人臉圖像的質(zhì)量,往往會(huì)造成噪聲、對(duì)比度低等缺點(diǎn)。同時(shí),距離問(wèn)題和焦距大小等會(huì)導(dǎo)致人臉在整幅圖像中的尺寸和定位不準(zhǔn)確。為了解決以上問(wèn)題,必須對(duì)圖像進(jìn)行預(yù)處理。

人臉圖像識(shí)別前預(yù)處理主要包括人臉圖像的增強(qiáng)。針對(duì)低質(zhì)量的圖像一般要進(jìn)行圖像增強(qiáng),圖像增強(qiáng)是為了改善人臉圖像的質(zhì)量,不僅在視覺上更加清晰圖像,而且使圖像更利于計(jì)算機(jī)的處理與識(shí)別。一般可采用暗光增強(qiáng)、超分辨率、去噪、去除運(yùn)動(dòng)模糊等方式看到更多的細(xì)節(jié),尤其是對(duì)人臉來(lái)說(shuō),增強(qiáng)后可以提升人臉的識(shí)別率。

3.1.2 ? 圖像訓(xùn)練預(yù)處理

人臉圖像訓(xùn)練預(yù)處理的過(guò)程主要包括人臉扶正和歸一化兩部分。為了得到人臉位置正確的人臉圖像,需要通過(guò)人臉關(guān)鍵點(diǎn)實(shí)現(xiàn),并根據(jù)這些關(guān)鍵點(diǎn)對(duì)人臉進(jìn)行對(duì)準(zhǔn)和校準(zhǔn)。

人臉圖像歸一化的目的是使不同環(huán)境及設(shè)備條件下拍攝的同一個(gè)人的照片具有一致性。人臉歸一化包括兩個(gè)方面的內(nèi)容:一是幾何歸一化,二是灰度歸一化,即取得圖像大小一致、灰度取值范圍相同的標(biāo)準(zhǔn)化人臉圖像。

3.2 ? 人臉圖像的檢測(cè)、采集

在進(jìn)行人臉圖像采集前,輸入用戶姓名及編號(hào),方便圖像數(shù)據(jù)的有序存儲(chǔ)。填寫完成后打開攝像頭,在圖像中準(zhǔn)確標(biāo)出人臉的位置和尺寸。人臉圖像中包含著十分豐富的模式特征,挑選其中有用的信息,并利用這些信息實(shí)現(xiàn)人臉檢測(cè)。點(diǎn)擊采集頭像按鈕,采集10張112×92(像素)人臉圖片。攝像頭采集過(guò)程中,為了提高識(shí)別的準(zhǔn)確性,盡可能進(jìn)行多角度采集圖片,例如變換不同的位置、不同的表情等[7]。

3.3 ? 對(duì)采集的圖像進(jìn)行訓(xùn)練

OpenCV下有自帶的供人臉檢測(cè)的分類器,主要是一些xml文件,利用這些分類器進(jìn)行檢測(cè)和捕捉人臉后,才能實(shí)現(xiàn)識(shí)別。首先將OpenCV官方訓(xùn)練好的人臉識(shí)別分類器文件拷貝到自己的工程目錄下,包括:haarcascade_eye.xml、haarcascade_frontalface_default.xml等。再點(diǎn)擊圖像化界面中“生成訓(xùn)練文件”的按鈕,把采集的圖像生成訓(xùn)練文件,并選擇生成的訓(xùn)練文件開始訓(xùn)練。

3.4 ? 人臉檢測(cè)、識(shí)別

大腦能準(zhǔn)確識(shí)別人臉,是因?yàn)榇竽X里存有人們熟悉的面部輪廓。人臉識(shí)別的原理也如此。人臉圖像中包含的模式特征十分豐富,人臉識(shí)別的過(guò)程就是利用從攝像頭采集到的靜態(tài)圖像,提取面部特征信息,通過(guò)這些有用的信息來(lái)進(jìn)行身份識(shí)別。在識(shí)別之前先進(jìn)行人臉檢測(cè),從復(fù)雜的背景圖像中檢測(cè)并分割出人臉,再?gòu)娜四槄^(qū)域的特征提取和特征選擇,最后再對(duì)人臉特征進(jìn)行識(shí)別,得到一個(gè)關(guān)于人臉匹配的相似度結(jié)果。

4 ? 人臉識(shí)別算法(Face recognition algorithm)

人臉識(shí)別算法的主要思想是通過(guò)攝像頭采集一張或者一系列含有未確定身份的人臉圖像,比對(duì)人臉數(shù)據(jù)集中的若干已知身份的人臉圖像及對(duì)應(yīng)的標(biāo)簽,輸出分為識(shí)別成功,表明待識(shí)別的人臉信息比對(duì)成功;不正常輸出,顯示比對(duì)失敗。人臉識(shí)別的關(guān)鍵在于特征提取的有效性,常用人臉識(shí)別算法包括特征臉法、局部二值法等,這些算法更適合于PC機(jī)端的人臉識(shí)別。

對(duì)于設(shè)備端的人臉識(shí)別,我們采用跨平臺(tái)機(jī)器視覺庫(kù)OpenCV自帶的分類器,即AdaBoost分類器[6]。AdaBoost分類器算法流程圖如圖2所示。

分類器在這里指的是對(duì)人臉和非人臉進(jìn)行分類的算法。AdaBoost分類器算法思想是通過(guò)迭代訓(xùn)練弱分類器得到一個(gè)強(qiáng)分類器,這里的弱分類器和強(qiáng)分類器即為弱學(xué)習(xí)算法和強(qiáng)學(xué)習(xí)算法。弱學(xué)習(xí)指的是一個(gè)學(xué)習(xí)算法對(duì)一組概念的識(shí)別效果比隨機(jī)識(shí)別的識(shí)別效果稍微明顯一些,強(qiáng)學(xué)習(xí)即表明一個(gè)學(xué)習(xí)算法對(duì)某一組概念的識(shí)別率能夠達(dá)到一個(gè)比較高的結(jié)果。若將兩者做比較,弱學(xué)習(xí)算法比較容易獲得,而強(qiáng)學(xué)習(xí)算法是不容易獲得的。所以AdaBoost算法[8]的思想是首先從訓(xùn)練集用初始權(quán)重訓(xùn)練出一個(gè)弱學(xué)習(xí)器1。根據(jù)弱學(xué)習(xí)的學(xué)習(xí)誤差率表現(xiàn)來(lái)更新訓(xùn)練樣本的權(quán)重,使得之前弱學(xué)習(xí)器1學(xué)習(xí)誤差率高的訓(xùn)練樣本點(diǎn)的權(quán)重變高,使得這些誤差率高的點(diǎn)在后面的弱學(xué)習(xí)器2中得到更多的重視。然后基于調(diào)整權(quán)重后的訓(xùn)練集來(lái)訓(xùn)練弱學(xué)習(xí)器2。如此重復(fù)進(jìn)行,直到弱學(xué)習(xí)器數(shù)達(dá)到事先指定的數(shù)目T,最終將這T個(gè)弱學(xué)習(xí)器通過(guò)集合策略進(jìn)行整合,得到最終的強(qiáng)學(xué)習(xí)器。目前該算法已經(jīng)廣泛用于人工智能等領(lǐng)域[9]。

5 ? 結(jié)論(Conclusion)

人臉識(shí)別在如今的社會(huì)已經(jīng)拓展到智能家居、公共安全、智慧城市等領(lǐng)域,但是隨著移動(dòng)終端設(shè)備和圖片數(shù)據(jù)的爆炸性增長(zhǎng),傳統(tǒng)的基于中心云模式的分析系統(tǒng)已經(jīng)難以滿足實(shí)時(shí)分析對(duì)低時(shí)延和高帶寬的苛刻要求,因此如何對(duì)海量數(shù)據(jù)進(jìn)行實(shí)時(shí)和高效的處理已經(jīng)成為亟待解決的問(wèn)題。

基于邊緣計(jì)算的人臉識(shí)別系統(tǒng)將圖像的識(shí)別處理從云端下移到更接近數(shù)據(jù)的邊緣端,從而降低對(duì)數(shù)據(jù)處理服務(wù)器端的依賴、減輕了網(wǎng)絡(luò)通訊的壓力,提高人臉圖像處理的速度,保證人臉識(shí)別圖像的實(shí)時(shí)性,保障用戶數(shù)據(jù)的安全和隱私。但由于受硬件的限制,需進(jìn)一步優(yōu)化算法,提高人臉識(shí)別的正確率。

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

[1] 車志宏,焦子路,劉榮.人臉識(shí)別技術(shù)研究與應(yīng)用[J].電腦編程技巧與維護(hù),2017(16):78-81.

[2] 薛健,祖央,岑丹.基于云計(jì)算的智能人臉識(shí)別借閱系統(tǒng)研究[J].吉林大學(xué)學(xué)報(bào)(信息科學(xué)版),2019,37(04):450-456.

[3] 傅耀威,孟憲佳.邊緣計(jì)算技術(shù)發(fā)展現(xiàn)狀與對(duì)策[J].科技中國(guó),2019(10):4-7.

[4] Hu Y C, Patel M, Sabella D, et al. Mobile edge computing—A key technology towards 5G[J]. ETSI White Paper, 2015,11(11):1-16.

[5] 馬忠梅,馬廣云.ARM嵌入式處理結(jié)構(gòu)與應(yīng)用基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2002.

[6] Shaohua Zhou, Volker Krueger, Roma Chellappa. Probabilistic recognition of human faces from video[J]. Computer Vision and Image Understanding, 2003(51):310-314.

[7] 鄒思軼.嵌入式Linux設(shè)計(jì)與應(yīng)用[M].北京:清華大學(xué)出版社,2002.

[8] 李盛文,鮑蘇蘇.基于PCA+AdaBoost算法的人臉識(shí)別技術(shù)[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(04):170-173.

[9] 梁武.Adaboost算法在人臉識(shí)別系統(tǒng)中的應(yīng)用[J].內(nèi)蒙古師范大學(xué)學(xué)報(bào)(自然科學(xué)漢文版),2017,46(04):576-580.

作者簡(jiǎn)介:

劉 ? 思(1998-),女,本科生.研究領(lǐng)域:嵌入式開發(fā).

馬靖瑜(1999-),女,本科生.研究領(lǐng)域:大數(shù)據(jù)開發(fā).

袁 ? 倩(1999-),女,本科生.研究領(lǐng)域:大數(shù)據(jù)開發(fā).

吳粉俠(1976-),女,碩士,副教授.研究領(lǐng)域:圖像處理.

猜你喜歡
人臉識(shí)別
人臉識(shí)別 等
揭開人臉識(shí)別的神秘面紗
基于(2D)2PCA-LBP 的人臉識(shí)別方法的研究
人臉識(shí)別在高校安全防范中的應(yīng)用
基于類獨(dú)立核稀疏表示的魯棒人臉識(shí)別
基于K-L變換和平均近鄰法的人臉識(shí)別
壶关县| 蒲城县| 七台河市| 珠海市| 龙州县| 方正县| 阿瓦提县| 德阳市| 金山区| 青神县| 巴彦县| 双柏县| 樟树市| 桃源县| 达州市| 延安市| 阿荣旗| 晋江市| 资源县| 淮阳县| 讷河市| 阿尔山市| 准格尔旗| 顺平县| 原平市| 嘉义县| 衡阳县| 林西县| 玉溪市| 西丰县| 马龙县| 红桥区| 乳山市| 曲靖市| 哈巴河县| 永仁县| 固安县| 荣成市| 邳州市| 金门县| 灯塔市|