王博文 宗碧 雷鎧伊 伍明亮 郭鑫偉
摘? 要:文章對于一種基于Linux系統(tǒng)和樹莓派開發(fā)的智能監(jiān)控攝像頭進(jìn)行了研究。面對人員情況復(fù)雜,布置環(huán)境多種多樣的應(yīng)用條件,這種攝像頭具有無線化、小型化、智能化的特點,減少了對布置環(huán)境的要求以及對相關(guān)人員的需求;結(jié)合視覺信息處理、云臺舵機(jī)控制,可以自動進(jìn)行人臉識別、人臉驗證、識別顏色等;并且在識別特征的基礎(chǔ)上持續(xù)跟拍目標(biāo),適合緊急布置,識別特定目標(biāo)并跟拍的任務(wù)。
關(guān)鍵詞:監(jiān)控;人臉識別;特征檢測
中圖分類號:TP277? ? ? ?文獻(xiàn)標(biāo)識碼:A 文章編號:2096-4706(2020)07-0089-04
Research on Intelligent Monitoring Camera
——Based on Dlib,OpenCV and Pan Tilt Camera with Double Steering Engines
WANG Bowen,ZONG Bi,LEI Kaiyi,WU Mingliang,GUO Xinwei
(China University of Mining and Technology,Xuzhou? 221116,China)
Abstract:This paper studies an intelligent surveillance camera based on Linux system and Raspberry Pi. In the face of the complex personnel situation and various application conditions of the layout environment,this kind of camera has the characteristics of wireless,miniaturization and intelligence,which reduces the requirements of the layout environment and related personnel requirements;combined with the visual information processing and the control of the pan tilt steering gear,it can automatically carry out face recognition,face verification,recognition color,etc.;and on the basis of recognition features,it can continue to following target,suitable for emergency arrangement,identification of specific target and following task.
Keywords:monitoring;face recognition;feature detection
0? 引? 言
隨著我國城市化進(jìn)程的不斷加快,城市人口不斷增加,安防工作的重要性不斷提高。面對著更復(fù)雜的治安情況,傳統(tǒng)攝像頭已經(jīng)不能滿足使用需要。在大數(shù)據(jù)和人工智能技術(shù)的發(fā)展下,“智慧城市”需要全新的“感知層”——智能攝像頭,來實現(xiàn)對整個城市運轉(zhuǎn)情況的數(shù)據(jù)化。新型的攝像頭需要具備回傳有效數(shù)據(jù)、分布式計算、存儲、自主追蹤特征物體等能力。文章描述了一種新型智能攝像頭的設(shè)計方案。
此方案中采用Linux系統(tǒng)。Linux系統(tǒng)有以下優(yōu)點:(1)工作穩(wěn)定。Linux的內(nèi)核相當(dāng)穩(wěn)定,可以常年工作而不宕機(jī);(2)病毒免疫。Linux系統(tǒng)自帶安全監(jiān)測、防火墻等安全設(shè)
置,從固定的軟件源安裝和下載程序,并且可以很容易地進(jìn)行補丁升級,所以二進(jìn)制病毒難以在系統(tǒng)中傳播;(3)跨平臺能力強。Linux一方面采用了可移植的Unix標(biāo)準(zhǔn)應(yīng)用程序接口,可以支持許多系統(tǒng)平臺;另一方面其網(wǎng)絡(luò)功能相當(dāng)完善,可以方便地收發(fā)數(shù)據(jù)。在圖像處理方面,主要采用機(jī)器視覺庫OpenCV以及深度學(xué)習(xí)Dlib庫進(jìn)行處理。OpenCV是一個功能強大的機(jī)器視覺庫,底層代碼使用C++編寫,運算速度快,處理性能好。Dlib庫是集機(jī)器學(xué)習(xí)、計算機(jī)視覺、圖像處理為一體的函式庫,提供Python的API,便于開發(fā)。在控制方面,采用了較為常用的PI算法。
1? 國內(nèi)外研究情況
國際上,相關(guān)研究討論開展得較早。在2000年左右,計算機(jī)視覺方面的權(quán)威期刊IJCV和IEEE T-PAMI就開始關(guān)注利用計算機(jī)視覺進(jìn)行視頻監(jiān)控的技術(shù),并且相繼出版了相關(guān)???。而在實際應(yīng)用方面,英國雷丁大學(xué)計算機(jī)系的VIEWS項目組研究出一種可用于監(jiān)控系統(tǒng)的新技術(shù),該技術(shù)依靠監(jiān)視反常行為來識別嫌疑人,例如扒手、搶劫犯等等,這種技術(shù)的應(yīng)用有助于消除公共場所的安全隱患。美國國防部于1997年成立了VSAM項目,該系統(tǒng)可以實現(xiàn)對戰(zhàn)爭以及民用區(qū)域的軍事安全監(jiān)控。英國Reading大學(xué)和法國INRIA科研院合作開發(fā)出名為“AVITRAC”的智能視頻監(jiān)控系統(tǒng),該系統(tǒng)應(yīng)用于人流量極大的機(jī)場,通過分析機(jī)場行人的異常行為,可以提前預(yù)警,有助于提升機(jī)場的安防能力。除此之外,國外的VisioWave、ObjectVideo和Vident等公司不斷推出市場化的智能監(jiān)控產(chǎn)品,擠占新興市場智能監(jiān)控的份額。
在國內(nèi),對于智能監(jiān)控的研究討論也有了很大進(jìn)展。2002年5月在北京召開了第一屆全國智能視覺監(jiān)控學(xué)術(shù)會議,該會議可以說是國內(nèi)重視智能監(jiān)控的開端;中科院自動化研究所成立了智能視覺監(jiān)控研究組,致力于研究視覺監(jiān)控技術(shù)并推向?qū)嵱肹1];截至2018年9月,中國已在20多個省市實現(xiàn)了“天網(wǎng)系統(tǒng)”和公安系統(tǒng)的對接,該監(jiān)控系統(tǒng)基于人臉識別和大數(shù)據(jù),可以在3 s內(nèi)完成嫌疑人的身份確認(rèn),進(jìn)一步保障了城市治安。除此之外,百度、華為集團(tuán)等企業(yè)也推出了智能監(jiān)控系統(tǒng),促進(jìn)了智能監(jiān)控技術(shù)的商品化。
2? 系統(tǒng)總述
2.1? 硬件平臺
該系統(tǒng)采用Raspberry Pi 3B+作為圖像處理與控制云臺的核心。Raspberry Pi 3B+是一款微型計算機(jī),計算能力較強,并且配有I/O口,可以實現(xiàn)對小功率器件的直接控制。在攝像頭方面,本系統(tǒng)采用大景深攝像頭,通過USB2.0接口直接接入樹莓派,具有傳輸穩(wěn)定、抗干擾能力強的優(yōu)點。與攝像頭相配合的云臺為兩自由度雙舵機(jī)云臺,采用PWM波占空比對應(yīng)轉(zhuǎn)軸角度的設(shè)計,例如輸入占空比為12.5的PWM波,可以使舵機(jī)轉(zhuǎn)軸轉(zhuǎn)至180°方向。云臺可實現(xiàn)在水平方向旋轉(zhuǎn)180°、豎直方向旋轉(zhuǎn)90°,該結(jié)構(gòu)使用D-H方法,在控制方法部分會進(jìn)行詳細(xì)分析。以上由Raspberry Pi 3B+、云臺、攝像頭構(gòu)成的系統(tǒng)通過無線局域網(wǎng)相連,可以與監(jiān)控臺通信,顯示實時畫面。
2.2? 軟件平臺
Raspberry Pi支持Linux系統(tǒng),在該項目中采用官方優(yōu)化版Raspbian系統(tǒng)。Raspbian是由Mike Thompson與Peter Green基于Debian系統(tǒng)重建而成的[2],正是他們完成了巨大的工作量,才有了這款性能強大、用戶友好度高的微型計算機(jī)。在此方案中,利用Raspbian系統(tǒng)部署Python-OpenCV-Dlib環(huán)境,為圖像處理的過程帶來了優(yōu)化與便利,并利用深度學(xué)習(xí)的工具,實現(xiàn)了對目標(biāo)的檢測。在控制程序中,主要采用Rpi.Gpio庫編程,該庫函數(shù)提供了Python接口,可以通過程序直接控制樹莓派的I/O口輸出PWM波,通過改變PWM波的占空比來控制舵機(jī)的角度,從而實現(xiàn)對目標(biāo)物體的追蹤;然而攝像頭反饋的坐標(biāo)差并不能直接用于調(diào)整占空比的大小,該問題的解決將在控制算法部分詳述。另外,為了與監(jiān)控臺實現(xiàn)回傳畫面的功能,本系統(tǒng)使用了MJPG-Streamer流視頻項目的局域網(wǎng)視頻流服務(wù)。
2.3? 系統(tǒng)實現(xiàn)
通過圖像處理算法,我們可以獲取目標(biāo)的特征信息,例如臉部特征以及身體的顏色特征,建立一個獨立文件來標(biāo)定目標(biāo);在接收到被標(biāo)定目標(biāo)的坐標(biāo)后,云臺控制算法使攝像頭持續(xù)自動跟蹤目標(biāo),將信息回傳監(jiān)控臺并發(fā)出警告。通過軟件平臺與硬件平臺的配合,從而實現(xiàn)整個系統(tǒng),智能監(jiān)控系統(tǒng)整體結(jié)構(gòu)圖如圖1所示。
3? 圖像處理方法
3.1? 圖像預(yù)處理
在Raspbian系統(tǒng)中,利用Python+OpenCV可以輕松地對攝像頭捕捉到的圖片進(jìn)行預(yù)處理以及讀取、存儲。圖片的預(yù)處理由降噪、圖片的形態(tài)學(xué)變換、色彩空間的轉(zhuǎn)化等部分組成[3],預(yù)處理后的圖片可以讓后續(xù)的檢測與識別進(jìn)行得更好。降噪的一般方法有線性的均值濾波、高斯濾波以及非線性的中值濾波、雙邊濾波[4]。在該系統(tǒng)中,采用高斯濾波進(jìn)行降噪。高斯濾波使用離散化窗口滑窗卷積的方式對圖片進(jìn)行平滑化處理,在平滑去噪的同時又盡可能地保留了圖像的總體灰度分布特征,能夠更好地配合人臉檢測中基于Dlib機(jī)器視覺庫的HOG算法的實現(xiàn)。圖片的形態(tài)學(xué)變換主要利用了腐蝕操作。腐蝕操作利用了OpenCV中的erode函數(shù),該函數(shù)可以將一像素點替換為對應(yīng)鄰域上最小的像素值,可以讓圖片的輪廓更鮮明。另外,由于攝像頭返回了RGB格式的圖像,這種格式并不能良好地展示圖片的全部特征,因此利用OpenCV的cvtColor函數(shù)可以將RGB圖像轉(zhuǎn)化為HSV格式,通過色調(diào)、飽和度、明度更好地展現(xiàn)圖片的特點。另外,該方法也可用于得到灰度化圖片。另外,由于樹莓派的計算能力限制,如果處理數(shù)據(jù)過大,其實時性就會不可避免地受到影響。在該系統(tǒng)中,為了減小計算量,采用了resize函數(shù)中的雙線性內(nèi)插值方式縮小圖片,可以保證圖像盡量不失真,并且大大減小了計算量。
3.2? 色彩識別
色彩檢測的算法利用了inRange函數(shù),通過限定三個通道的閾值,只通過想要的顏色,就可以得到去除掉背景的圖像。得到目標(biāo)色彩的圖像后再利用threshold函數(shù)獲取輪廓檢測的最佳閾值,從而使用findContours函數(shù)找到該物體的輪廓,在fingContours中采用cv2.CHAIN_APPROX_SIMPLE模式,即可迅速地獲取目標(biāo)物體的矩特征點。再進(jìn)行簡單處理即可標(biāo)識出物體。該方法在實際運用中識別性能好,對樹莓派計算量要求不高。但其缺點也顯而易見:沒有足夠的智能可以識別具體的行人,因此可以在緊急情況下與行人檢測配合使用,從而更精確地識別行人。
3.3? 人臉檢測、編碼與識別
人臉檢測、編碼和識別算法是基于優(yōu)化后的Dlib庫實現(xiàn)的。Dlib是一個領(lǐng)先的開源深度學(xué)習(xí)庫。該深度學(xué)習(xí)庫具備了快速、精確的特點。在算法選擇上,由于CNN的運算需求過大,樹莓派的計算能力無法滿足,因此采用較為成熟且準(zhǔn)確度較高的HOG算法來進(jìn)行檢測。HOG算法的步驟為:(1)歸一色彩空間。由于求取方向梯度不需要彩色圖片,因此使用灰度圖片即可,并且為了盡量放大圖片特點,在色彩空間歸一化之后應(yīng)進(jìn)行一次校正。圖片預(yù)處理的方法已在圖像預(yù)處理部分說明,此處不再贅述;(2)梯度運算。對于歸一化后的圖片進(jìn)行梯度計算,即找出圖片的變暗的程度與方向,就得到了梯度及其梯度方向;(3)對雜亂的梯度值進(jìn)行標(biāo)準(zhǔn)化,也就是將一個區(qū)域以中心為原點劃分為多個區(qū)域,將每個小區(qū)域中的梯度向量標(biāo)準(zhǔn)化,這樣就將每個小區(qū)域中的梯度向量化為了9個特征向量(bin);(4)此時利用滑窗(block)再將上述小區(qū)域中的特征向量進(jìn)行標(biāo)準(zhǔn)化,就得到了原始圖片的HOG特征圖。那么將此特征圖與大量人臉數(shù)據(jù)提取出的HOG特征圖進(jìn)行對比,即可找出人臉。在圖像預(yù)處理部分,我們提到了圖像的縮小,所以在這里找到的人臉數(shù)據(jù)相比于原圖像中的人臉也正好相差了縮小的比例,因此我們再將所找的人臉坐標(biāo)乘以相應(yīng)的比例,就可以在原圖像中標(biāo)出人臉。
將得到的人臉圖與由DCNN(Deep Convolutional Neural Networks)即深度卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練好的模型進(jìn)行對比,可以在圖中找出128個特征點,根據(jù)這128個特征點,在向量機(jī)(SVM)的幫助下,即可找出與之最接近的人臉,從而實現(xiàn)人臉識別的功能。該思路也可用于識別行人。
4? 控制方法
首先,我們對云臺結(jié)構(gòu)進(jìn)行簡要說明。該云臺裝配了兩個舵機(jī),形成了兩個轉(zhuǎn)動自由度,分別為水平轉(zhuǎn)動180°以及豎直向上轉(zhuǎn)動90°。在對其結(jié)構(gòu)的研究過程中采用D-H坐標(biāo)系(Denavit-Hartenberg)標(biāo)準(zhǔn)版進(jìn)行建模。該建模方法可以方便地計算出每個關(guān)節(jié)的角度參數(shù)變化對于末端執(zhí)行器(攝像頭)的影響。圖2為MATLAB建模結(jié)果。
控制算法采用穩(wěn)定性好、動態(tài)響應(yīng)迅速、可消除靜差的PI算法即比例積分算法實現(xiàn),控制系統(tǒng)結(jié)構(gòu)框圖如圖3所示。
通過視覺處理部分反饋,即目標(biāo)物體與攝像頭Z軸(D- H坐標(biāo)系中)的坐標(biāo)差,就得到了偏差量e(k),但控制系統(tǒng)中云臺的控制信號必須為一定占空比的PWM波,因此我們必須將e(k)轉(zhuǎn)化為相應(yīng)的占空比變化量再進(jìn)行控制。
在實際使用時,由于不希望舵機(jī)抖動造成磨損,在控制算法中加入了死區(qū)環(huán)節(jié)。死區(qū)環(huán)節(jié)表現(xiàn)在實際過程中即為當(dāng)目標(biāo)物體中心坐標(biāo)處于攝像頭拍攝畫面中間部分一個固定大小的圓內(nèi)時,云臺舵機(jī)停止運行。
5? 實驗仿真及結(jié)果分析
作者利用圖4中的完整硬件系統(tǒng)完成了本次試驗,并利用無線網(wǎng)傳輸了監(jiān)控畫面。圖5中采用OpenCV中的Haar級聯(lián)器實現(xiàn)快速的人臉識別,實時性可以滿足,但精度不高;在圖6中配合Dilb與HOG算法,我們得到了十分準(zhǔn)確的人臉驗證。
6? 結(jié)? 論
本文介紹了基于Dlib與OpenCV的智能攝像頭,以及其硬件及軟件平臺的搭建,該系統(tǒng)可以實現(xiàn)人臉的檢測、識別,以及對于特定物體的持續(xù)跟蹤拍攝。該系統(tǒng)基于Linux系統(tǒng),以Raspberry Pi 3B+作為處理核心,采用無線連接的方式。實現(xiàn)了無線布置監(jiān)控、實時回傳畫面的功能。
在研究過程中,也發(fā)現(xiàn)了該方案存在的一些問題。首先,由于處理器性能的限制,在處理過程中必須降低圖片質(zhì)量,較少運算量才可以得到比較流暢地處理圖片流。第二,在舵機(jī)的控制過程中,由于舵機(jī)本身的性能和算法誤差的影響,非常容易產(chǎn)生抖動,導(dǎo)致拍攝畫面不好,難以識別。最后,由于未進(jìn)行防水處理等措施,不能裸機(jī)在特殊天氣工作。
安防措施是保證人民人身財產(chǎn)安全的重要屏障。在智慧城市的建設(shè)過程中,智能攝像頭應(yīng)該擁有更快的運算速度,并且以更高的網(wǎng)速進(jìn)行信息回傳,并結(jié)合主機(jī)進(jìn)行大數(shù)據(jù)挖掘、數(shù)據(jù)分析,對整個城市的安防狀況包括人流量、車流量等,作出統(tǒng)計、分析與預(yù)測,并采取相關(guān)預(yù)防措施。我們相信,通過安防人的不懈努力,未來這些問題都將得到解決。
參考文獻(xiàn):
[1] 葉克秋.基于全景攝像機(jī)的智能視頻監(jiān)控系統(tǒng)研究 [D].杭州:浙江大學(xué),2012.
[2] 付靜飛.健康監(jiān)測與服務(wù)系統(tǒng)研究與開發(fā) [D].西安:西安理工大學(xué),2017.
[3] 張齊.圖像處理系統(tǒng)的設(shè)計與實現(xiàn) [D].南京:南京郵電大學(xué),2018.
[4] 黃窈蕙.智能駕駛汽車視覺圖像處理技術(shù) [J].公路交通科技(應(yīng)用技術(shù)版),2018,14(8):323-326.
作者簡介:王博文(1998.05—),男,漢族,內(nèi)蒙古敖漢旗人,本科,主要研究方向:自動化。