王博文 宗碧 雷鎧伊 伍明亮 郭鑫偉



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