賴保均 陳公興 李升凱 李家壯 邵經緯 黎清虎
(廣東技術師范大學天河學院電氣與電子工程學院,廣東 廣州510540)
隨著社會的繁榮發展,社會安全問題越來越得到大家的重視,治安、防火、監護等,都是丞待解決的問題,故此安防監控就成為保證這些社會安全問題的一項解決方案,但現有的大量監控視角范圍非常小,無法全方位的監視環境,并且只有錄像功能。文獻[1]針對監控圖像直觀表達視覺圖像信息、圖像目標變化的特點設計基于樹莓派管理及OpenCV 處理的智能監控機器人系統設計并搭建系統的框架及相關模塊,引入多圖像特征融合的粒子濾波跟蹤算法,在圖像目標輪廓獲取的基礎上融合灰度像素特征進行粒子的改進跟蹤。文獻[2]利用熱釋電紅外傳感器采集周圍人體紅外線通過STM32 單片機系統對信號進行處理,同時控制2 個舵機組成的云臺系統對攝像頭的位置姿態進行調整,使產生紅外信號的目標進入攝像頭視野范圍內,在使目標進入監控范圍內的同時,該裝置可以通過GSM模塊自動對指定手機發出信息,實現報警提示功能。與上述相比,區別在于我們的人臉識別算法是基于TensorFlow 訓練模型的CNN 人臉識別分類算法。和上述的圖像處理相比, 深度學習的人臉識別算法準確率更高,尤其針對采集過程中誤差較大的情況時,有較好的魯棒性。我們系統采用圖像識別的方式進行人體追蹤,比上述用的紅外傳感器檢測更為精確。還能把監控畫面實時傳送到網絡,可在手機或電腦查看監控并控制攝像頭轉動,以及檢測到人和危險氣體的泄漏,可以現場實現聲光報警。

圖1 系統方框圖

圖2 監控外觀設計

圖3 系統實物圖
本系統主要由樹莓派3B+的ARM開發板,攝像頭模塊,氣體傳感器模塊,備用電源模塊,舵機模塊,電源模組成,方案方框圖如圖1 所示。它能實時處理和分析視頻數據和圖像[3],加載計算機處理庫和深度學習TensorFlow 框架中的CNN 人臉識別網絡。在OpenCV 中,利用Haar 特征和LBP 特征進行圖像處理,使用已訓練好的XML 格式的分類器進行人臉檢測。根據個性化要求,通過SketchUp 自行設計的監控外殼,并用3D 打印實體結構,用于保護內部電路,保證系統的完整性和可靠性,如圖2 所示。
機器學習就是人類定義一定的計算機算法,讓計算機根據輸入的樣本和一些人類的干預來總結并歸納其特征與特點,并用這些特征和特點與一定的學習目標形成映射關系, 進而自動化地做出相應反應的過程。深度學習采用Endo-End 的學習方式, 輸入的內容只需要做歸一化、白化等處理就可以丟給模型去訓練, 不需要人為提取特征,由整個深度學習的網絡模型實現完成。本系統采用TensorFlow 框架中的CNN 卷積神經網絡網絡進行人臉識別。卷積網絡的整體訓練過程概括如下:
步驟1:用隨機值初始化所有過濾器和參數/權重。
步驟2:神經網絡將訓練圖像作為輸入,經過前向傳播步驟(卷積,ReLU 和池化操作以在完全連接層中的前向傳播),得到每個類的輸出概率。
假設圖像的輸出概率是[0.4,0.5,0.2,0.3],但由于權重是隨機分配給第一個訓練樣本,因此輸出概率也是隨機的。
步驟3:計算輸出層的總誤差(對所有4 個類進行求和)。
總誤差=∑1/2(目標概率- 輸出概率)2
步驟4:使用反向傳播計算網絡中所有權重的誤差梯度,并使用梯度下降更新所有過濾器值/權重和參數值,以最小化輸出誤差。
根據權重對總誤差的貢獻對其進行調整。當再次輸入相同的圖像時,輸出概率可能就變成了[0.1,0.1,0.7,0.1],這更接近目標向量[0,0,1,0]。這意味著網絡已學會了如何通過調整其權重/過濾器并減少輸出誤差的方式對特定圖像進行正確分類。

表1 系統監控數據統計
過濾器數量、大小,網絡結構等參數在步驟1 之前都已經固定,并且在訓練過程中不會改變——只會更新濾器矩陣和連接權值。
步驟5:對訓練集中的所有圖像重復步驟2-4。
通過以上步驟就可以訓練出卷積神經網絡—— 這實際上表明了卷積神經網絡中的所有權重和參數都已經過優化,可以對訓練集中的圖像進行正確分類。
系統用樹莓派讀取攝像頭,用OpenCV(開源計算機視覺庫)進行圖像處理,利用人工智能中的深度學習TensorFlow神經網絡框架進行人臉識別,啟動舵機監控跟隨人臉轉動,監控范圍無死角。通過手機查看畫面并控制方向,方便遠程查看家庭或公司情況,360 度控制監控方向,異常警報可及時反饋。通過氣體傳感器檢測危險氣體一旦泄露則立即聲光報警并發送到手機。系統除了擁有紅外夜視,斷電續航等功能外,還實現兩種智能模式的功能。當處于外出模式時,能識別到有人進來作案,則立即聲光報警,并通知主人及時作出處理。而日常模式實現跟隨人臉轉動,人數檢測,男女比例及商業數據分析等的功能,有效監控,守護監控范圍的區域(圖3)。
根據人臉識別框圖位置確定人臉在監控畫面的xy 坐標信息,根據該人臉的坐標與監控畫面中心(0,0)的差值反饋給ARM處理器,經過坐標差值與實際攝像頭位置的權重數據轉換,轉化為相應的xy 差值補償數據通過PWM信號控制2 個自由度舵機云臺實現攝像頭跟蹤人臉功能。通過多次實驗測試,系統監控數據如表1 所示。其中,監控角度:120 度為廣角鏡頭的角度,270 度為攝像頭轉動的最大角度;人流檢測為同一時刻攝像頭一張畫面檢測的最大人數,500 人臉為監控系統瞬時人臉識別的最大識別上限。
通過OpenCV 加載神經網絡框架TensorFlow 訓練的CNN卷積神經網絡人臉識別分類算法進行人臉識別,區別與普通監控幀差法只能識別畫面是否移動而不能區別是人還是非人的物體。深度學習的識別算法更加精準,對于較復雜的情況時,有較好的魯棒性。它不會給用戶大量錯誤的警報?;谏疃葘W習的人臉追蹤安防監控系統可應用在家庭、公司、學校、商場等場所的安防監控,給公眾的生命財產安全提供更智能有效的防護。還可為商場、公司提供人流檢測,方便進行商業數據分析。該智能監控系統填補了目前市場監控智能領域的空白,在監控、家庭安全隱患檢測等方面有著極其重要意義,有廣闊的市場應用價值和研究價值,在深度學習的基礎上加入火災視覺識別和人臉年齡分析系統,完善整個安防系統。