安海平 馬行 穆春陽 尹誠
摘 ?要: 文中設(shè)計(jì)一種遠(yuǎn)程智能視頻監(jiān)控系統(tǒng),通過加入人臉識別技術(shù),對視頻中感興趣的人臉進(jìn)行提取并識別??紤]到使用便利性以及成本節(jié)約,系統(tǒng)采用嵌入式微處理器平臺,并使用Linux作為操作系統(tǒng)。在底層利用V4L2來驅(qū)動攝像頭輸入,利用TCP/IP網(wǎng)絡(luò)通信協(xié)議進(jìn)行傳輸。系統(tǒng)采用的是B/S架構(gòu),通過瀏覽器的形式可以查看實(shí)時(shí)視頻監(jiān)控畫面。為了改進(jìn)普通視頻監(jiān)控的局限性,加入人臉識別技術(shù)使其可以自主地篩選出視頻中出現(xiàn)人員的信息。采用Adaboost算法檢測出人臉,然后通過訓(xùn)練人臉模型庫,利用LBP算法對檢測出的人臉進(jìn)行識別。傳統(tǒng)的被動視頻監(jiān)控系統(tǒng)存在視頻數(shù)據(jù)利用率不高、資源浪費(fèi)、增加人工成本等問題。與之相比,基于人臉識別的視頻監(jiān)控系統(tǒng)能夠主動地識別視頻中人員信息,保存識別的人臉數(shù)據(jù),用戶可以方便查看視頻中出現(xiàn)的人員信息,有著較好的實(shí)用性。
關(guān)鍵詞: 人臉識別; 智能監(jiān)控系統(tǒng); 視頻監(jiān)控; V4L2; B/S架構(gòu); Adaboost算法
中圖分類號: TN948.64?34 ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識碼: A ? ? ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2019)12?0176?04
Abstract: A remote intelligent video monitoring system is designed in this paper to extract and recognize the interested human faces in the video by adding the human face recognition technology. Taking the usage convenience and cost savings into account, the embedded microprocessor platform and operating system Linux are adopted for the system. In the bottom layer, the V4L2 is used to drive the camera input, and the TCP/IP network communication protocol is used for transmission. The B/S architecture is adopted for the system. The real?time video monitoring screen can be viewed in the form of browser. The human face recognition technology is added to make it possible to autonomously filter the personnel information appearing in the video, so as to improve the limitations of ordinary video monitoring. The human faces are detected by using the Adaboost algorithm, and then recognized by training the human face model library and using the LBP algorithm. In comparison with the traditional passive video monitoring system which has the problems of low utilization rate of video data, waste of resources, and increase of labor costs, the video monitoring system based on human face recognition can actively recognize the personnel information in the video, save the recognized human face data, and make users conveniently view the personnel information appearing in the video, which has a good practicality.
Keywords: human face recognition; intelligent monitoring system; video monitoring; V4L2; B/S architecture; Adaboost algorithm
近年來,隨著視頻監(jiān)控在越來越多的場合被使用,視頻監(jiān)控市場也呈現(xiàn)了爆發(fā)式的增長。隨著社會的發(fā)展,人們安全意識的提高,視頻監(jiān)控帶了極大的便利性,越來越受到廣泛的關(guān)注,它可以應(yīng)用在公共場所、民宅、軍用、農(nóng)業(yè)大棚監(jiān)控等各個(gè)領(lǐng)域。隨著現(xiàn)代技術(shù)的提高,傳統(tǒng)的視頻監(jiān)控已經(jīng)不能滿足人們的需求。傳統(tǒng)視頻監(jiān)控技術(shù)單一,導(dǎo)致大量資源浪費(fèi)。美國圣地亞哥國家實(shí)驗(yàn)室針對視頻監(jiān)控做了一項(xiàng)研究,人們在查看視頻畫面22 min后時(shí),正常肉眼對視頻里95%以上的信息基本都是忽略的[1] 。
當(dāng)出現(xiàn)事故需要查看視頻時(shí),人們關(guān)注的都是關(guān)鍵信息,這會浪費(fèi)非常多的人力、時(shí)間。智能視頻監(jiān)控技術(shù)出現(xiàn)后,就很好地解決了這一問題。利用計(jì)算機(jī)視覺技術(shù)對視頻中關(guān)鍵信息進(jìn)行處理,并利用相關(guān)算法進(jìn)行目標(biāo)檢測、目標(biāo)跟蹤、目標(biāo)識別、行為分析[2?4]。人臉識別技術(shù)能有效地對比人員信息實(shí)現(xiàn)高效的智能人員分析過濾[5] 。人臉檢測Adaboost算法相當(dāng)于人臉識別的預(yù)處理,即將人臉特征區(qū)域提取出來[6] ,人臉識別算法有利于PCA對人臉區(qū)域降維處理,再用LBP二值模式提取人臉樣本特征值,最后使用支持向量機(jī)SVM訓(xùn)練出人臉數(shù)據(jù)庫[7] 。文獻(xiàn)[8]利用融合LSH和LOG特征改進(jìn)光照變化對人臉識別的影響。
本系統(tǒng)結(jié)合嵌入式技術(shù)、人臉識別技術(shù)、網(wǎng)絡(luò)通信技術(shù),設(shè)計(jì)一個(gè)遠(yuǎn)程智能監(jiān)控系統(tǒng)。相比于傳統(tǒng)的布線視頻監(jiān)控,本文采用TCP/IP網(wǎng)絡(luò)通信協(xié)議,應(yīng)用B/S模式實(shí)現(xiàn)了遠(yuǎn)程視頻監(jiān)控,在保證實(shí)時(shí)性的情況下,加入了人臉識別算法對人員進(jìn)行篩選,系統(tǒng)可以識別出陌生的人臉,并且拍照保存下來,用戶可以隨時(shí)查看非法人員。
1 ?系統(tǒng)方案設(shè)計(jì)
本文基于嵌入式微處理器平臺,設(shè)計(jì)一個(gè)使用便利、經(jīng)濟(jì)實(shí)用、性能穩(wěn)定的遠(yuǎn)程智能視頻監(jiān)控系統(tǒng)。系統(tǒng)可以遠(yuǎn)程實(shí)時(shí)查看監(jiān)控視頻信息,并且能夠自動對人臉進(jìn)行識別篩選。其主要有以下幾種功能:
1) 采用B/S模式,用戶可以通過上網(wǎng)的形式,實(shí)時(shí)查看攝像頭的監(jiān)控視頻信息。一般傳統(tǒng)的視頻監(jiān)控都是通過布線方式實(shí)現(xiàn)的,布線方式成本較高,在一些特殊領(lǐng)域也無法實(shí)現(xiàn),采用局域網(wǎng)形式,安裝方便、成本較低,對用戶來說使用更加方便。
2) 在視頻監(jiān)控中加入人臉識別技術(shù),達(dá)到智能化的視頻監(jiān)控體系。傳統(tǒng)視頻監(jiān)控存儲大、篩選重要信息困難,造成大量資源浪費(fèi)。本系統(tǒng)中,可以對監(jiān)控視頻中的人員進(jìn)行篩選,如果識別到的是陌生人,則拍照保存下來,用戶可以方便查看陌生闖入人員。
3) 系統(tǒng)采用嵌入式微處理器平臺。嵌入式系統(tǒng)成本低廉、性能穩(wěn)定,方便在各種場合安裝使用,它有著豐富的外圍接口,可以根據(jù)需求拓展更多的功能。
系統(tǒng)總體方案結(jié)構(gòu)如圖1所示,首先是底層加載驅(qū)動使攝像頭采集視頻數(shù)據(jù),數(shù)據(jù)經(jīng)過處理后通過TCP/IP網(wǎng)絡(luò)協(xié)議傳輸?shù)椒?wù)器,用戶通過輸入IP地址和端口號方式進(jìn)行查看實(shí)時(shí)視頻信號。同時(shí)加入了人臉識別算法,先使用Adaboost算法對監(jiān)控區(qū)域內(nèi)進(jìn)行人臉檢測,對出現(xiàn)人臉的幀畫面進(jìn)行標(biāo)定,再使用LBP算法對人臉進(jìn)行識別,通過建立人臉庫,如果識別到的是庫的人臉,則不做任何處理,如果識別到的是非庫里的人臉,則認(rèn)定為非法闖入人員,保存闖入人員的信息,用戶可以點(diǎn)擊按鈕事件來查看闖入人員信息。
2 ?遠(yuǎn)程視頻監(jiān)控設(shè)計(jì)
系統(tǒng)使用的是Cortex?A8架構(gòu)的ARM處理器,移植基于Linux 2.6內(nèi)核的系統(tǒng)到ARM開發(fā)板,設(shè)置系統(tǒng)環(huán)境,使得開發(fā)板功能可以作為一個(gè)小型PC機(jī)使用。由于涉及到對人臉特征的識別,因此需要移植Opencv函數(shù)庫至系統(tǒng)環(huán)境。它占用系統(tǒng)的內(nèi)存比較大,所以在移植之前需要用fdisk命令將外接TF卡擴(kuò)展為系統(tǒng)的使用內(nèi)存,系統(tǒng)使用的是Opencv 2.4.9版本。
使用V4L2驅(qū)動USB攝像頭實(shí)現(xiàn)視頻數(shù)據(jù)采集。在V4L2中,視頻設(shè)備被看作一個(gè)文件,使用阻塞或非阻塞模式打開攝像頭[9]。如果使用非阻塞模式調(diào)用視頻設(shè)備,則即使未捕獲到信息,驅(qū)動依舊會把緩存(DQBUFF)里的東西返回給應(yīng)用。打開視頻設(shè)備后,可以對該視頻設(shè)備的默認(rèn)參數(shù)進(jìn)行修改,得到想要的輸出結(jié)果。
利用Socket套接字實(shí)現(xiàn)服務(wù)器與客戶之間的遠(yuǎn)程通信。Socket源于Unix,是一種特殊的文件,是應(yīng)用層與TCP/IP協(xié)議通信的中間軟件抽象層[10] 。其通信原理類似于打電話的原理,通過一系列相關(guān)的作用函數(shù)來實(shí)現(xiàn)地址綁定、監(jiān)聽、建立連接。服務(wù)器端在沒有連接請求之前會一直處于阻塞狀態(tài),從而能夠節(jié)省資源。在網(wǎng)絡(luò)協(xié)議上選用TCP作為通信協(xié)議,它相對于UDP協(xié)議有著比較好的數(shù)據(jù)發(fā)送安全性,不會丟失相應(yīng)的視頻數(shù)據(jù)。為了滿足多個(gè)用戶進(jìn)行查看信息,系統(tǒng)采用多線程技術(shù),每新增一個(gè)用戶請求就會創(chuàng)建一個(gè)線程,可以同時(shí)進(jìn)行多用戶查看數(shù)據(jù)。
3 ?人臉識別設(shè)計(jì)
人臉識別算法目前主要有PCA算法、卷積神經(jīng)網(wǎng)絡(luò)算法、LBP算法等方法。由于系統(tǒng)使用的是嵌入式微處理器平臺,考慮到人臉識別的實(shí)時(shí)性、識別率、穩(wěn)定性等因素,最終選用LBP算法,它的算法時(shí)間復(fù)雜度較低,識別率較高,有著較好的魯棒性。
在進(jìn)行人臉識別之前首先需要檢測出人臉,因此選擇使用了Adaboost算法檢測出人臉。Adaboost也稱為自適應(yīng)增強(qiáng)器,由若干個(gè)分類器迭代而來,它的自適應(yīng)在于前一個(gè)基本分類器被錯(cuò)誤分類的樣本的權(quán)值會增大,而正確分類的樣本的權(quán)值會減少,并再次用來訓(xùn)練下一個(gè)基本分類器,直到達(dá)到預(yù)期可以接受的錯(cuò)誤率之下才停止,并得到最終的強(qiáng)分類器。在檢測時(shí),用Haar?Like特征來進(jìn)行特征匹配,每一幅圖像基本有幾十萬個(gè)以上的Haar?Like特征,因此采用積分圖來進(jìn)行加速特征匹配,從而提高人臉檢測的效率。
在人臉識別上,系統(tǒng)采用的是LBP算法。LBP即局部二值模式,它擁有較好的旋轉(zhuǎn)不變性和灰度不變性。通過提取人臉局部的紋理特征來識別人臉,使用閾值分割法對人臉進(jìn)行均等分塊,使用LBP算法計(jì)算出每個(gè)小分塊的LBP值得到人臉對應(yīng)的直方圖。如圖2所示為LBP方法對人臉特征提取過程。
通過圖2過程可以得到人臉的LBP紋理特征。得到人臉特征后,則需要對人臉進(jìn)行匹配,可以使用最近鄰方法來對特征進(jìn)行分類。這里使用的是chi平方統(tǒng)計(jì)數(shù)學(xué)公式如下:
4 ?實(shí)時(shí)性優(yōu)化
由于本系統(tǒng)使用的是嵌入式微處理器平臺,其運(yùn)算處理速度相對要弱于PC機(jī)。人臉識別算法的運(yùn)算時(shí)間復(fù)雜度比較高,如果不加以優(yōu)化,在測試中識別人臉的延時(shí)將會達(dá)到400 ms,這個(gè)延時(shí)是比較大的。
系統(tǒng)中分別從軟硬件上對程序運(yùn)行速度進(jìn)行了優(yōu)化。在硬件上,由于使用的是嵌入式平臺,可以直接為程序分配一個(gè)專用內(nèi)存,嵌入式板直接為本系統(tǒng)所使用的話,可以為程序分配大量資源以提高運(yùn)行效率。通過測試后,人臉識別的延時(shí)減少到180 ms左右。在軟件上,由于人臉識別是通過遍歷一幅圖像的每一個(gè)像素點(diǎn)進(jìn)行特征匹配,因此圖像的輸入大小嚴(yán)重影響了人臉識別效率,系統(tǒng)在圖像輸入上,將默認(rèn)的輸入中將近30萬個(gè)像素點(diǎn)的圖像通過轉(zhuǎn)換,變?yōu)?萬多個(gè)像素點(diǎn)的圖像輸出,由此會極大減少特征匹配的運(yùn)算量。通過測試后,最終的延時(shí)減少到了約87 ms,這個(gè)延時(shí)時(shí)長是可以被用戶接受的。
5 ?實(shí)驗(yàn)結(jié)果及分析
如圖3所示,連接好電源線、網(wǎng)線后,設(shè)置好開發(fā)板IP地址。通過PC端或手機(jī)端瀏覽器輸入開發(fā)板IP地址及端口號,即可登錄到客戶端。實(shí)時(shí)監(jiān)控畫面見圖4。
利用HTML5+CSS+JS搭建了用戶界面,可以在客戶端查看實(shí)時(shí)視頻信號,并且可以進(jìn)行拍照保存操作。在實(shí)時(shí)監(jiān)控的同時(shí),在后臺運(yùn)行人臉識別算法,通過點(diǎn)擊“查看識別人員”按鈕可以調(diào)出識別出的相關(guān)人員信息。圖5為通過LBP算法所訓(xùn)練的人臉匹配庫,這里為匹配庫進(jìn)行了從1開始的數(shù)字標(biāo)簽。圖6是將視頻中出現(xiàn)的人臉與訓(xùn)練庫進(jìn)行匹配,通過貼標(biāo)簽的方式來準(zhǔn)確顯示人員信息,由于圖中兩個(gè)人均在人臉庫中,系統(tǒng)顯示出他們的數(shù)字標(biāo)簽為35,37。在人臉識別率上,雖然本系統(tǒng)使用的是嵌入式微處理器平臺,但是在識別率上也是相當(dāng)不錯(cuò)的,通過測試,系統(tǒng)的人臉識別率達(dá)到87.4%。實(shí)驗(yàn)結(jié)果顯示,系統(tǒng)有著較好的穩(wěn)定性,在視頻監(jiān)控系統(tǒng)中,能夠有效地識別出人員信息。
6 ?結(jié) ?語
本文系統(tǒng)以嵌入式微處理器作為平臺,實(shí)現(xiàn)了基于人臉識別的遠(yuǎn)程智能監(jiān)控系統(tǒng)。通過測試,系統(tǒng)能夠很好地將人臉識別技術(shù)運(yùn)用到視頻監(jiān)控系統(tǒng)中,可以在查看實(shí)時(shí)視頻畫面的同時(shí),并且能高效地查看過往視頻中出現(xiàn)非法闖入的人員信息,整個(gè)系統(tǒng)有著較好的魯棒性。
參考文獻(xiàn)
[1] WOJEK C, DOLLAR P, SCHIELE B, et al. Pedestrian detection: an evaluation of the state of the art [J]. IEEE transactions on software engineering, 2012, 34(4): 743?761.
[2] 黃凱奇,陳曉棠,康運(yùn)鋒,等.智能視頻監(jiān)控技術(shù)綜述[J].計(jì)算機(jī)學(xué)報(bào),2015,38(6):1093?1118.
HUANG Kaiqi, CHEN Xiaotang, KANG Yunfeng, et al. Intelligent visual surveillance: a review [J]. Chinese journal of computers, 2015, 38(6): 1093?1118.
[3] 吳群,王田,王漢武,等.現(xiàn)代智能視頻監(jiān)控研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2016,33(6):1601?1606.
WU Qun, WANG Tian, WANG Hanwu, et al. Survey on modern intelligent video surveillance [J]. Application research of computers, 2016, 33(6): 1601?1606.
[4] Markets and Markets. Video surveillance market?global forecast & analysis [EB/OL]. [2014?11?01]. http://www.marketsandmarkets.com/Market?Reports/video?surveillance?market?645.html.
[5] 王海峰.傳統(tǒng)報(bào)警與視頻智能結(jié)合及報(bào)警聯(lián)網(wǎng)發(fā)展方向探討[J].中國安防,2017(3):87?91.
WANG Haifeng. Discussion on intelligent combination of traditional alarm and video and development direction of alarm networking [J]. China security & protection, 2017(3):87?91.
[6] 葉劍鋒,王化明.AdaBoost檢測結(jié)合SOM的自動人臉識別方法[J].哈爾濱工程大學(xué)學(xué)報(bào),2018,39(1):129?134.
YE Jianfeng, WANG Huaming. An automatic face recognition method using AdaBoost detection and SOM [J]. Journal of Harbin Engineering University, 2018, 39(1): 129?134.
[7] 朱黎,胡濤,羅鋒,等.基于自適應(yīng)LBP人臉識別的身份驗(yàn)證[J].計(jì)算機(jī)工程與科學(xué),2014,36(11):2217?2222.
ZHU Li, HU Tao, LUO Feng, et al. Identity authentication based on adaptive LBP face recognition [J]. Computer engineering & science, 2014, 36(11): 2217?2222.
[8] 曹潔,朱晶晶,李偉,等.融合LSH和LoG特征的人臉識別[J].計(jì)算機(jī)工程與應(yīng)用,2018,54(17):158?163.
CAO Jie, ZHU Jingjing, LI Wei, et al. Face recognition based on fusing LSH and LoG feature [J]. Computer engineering and applications, 2018, 54(17): 158?163.
[9] LI H. Design and implementation of mobile video surveillance system based on V4L2 [J]. International journal of signal processing, image processing and pattern recognition, 2016, 9(1): 409?416.
[10] 陳金超,謝東亮.無線網(wǎng)絡(luò)TCP擁塞控制算法研究綜述[J].軟件,2015,36(1):82?87.
CHEN Jinchao, XIE Dongliang. Survey on TCP optimization in wireless network [J]. Computer engineering & software, 2015, 36(1): 82?87.