賴保均 陳公興 李升凱 李家壯 邵經(jīng)緯 黎清虎
(廣東技術(shù)師范大學(xué)天河學(xué)院電氣與電子工程學(xué)院,廣東 廣州510540)
隨著社會(huì)的繁榮發(fā)展,社會(huì)安全問(wèn)題越來(lái)越得到大家的重視,治安、防火、監(jiān)護(hù)等,都是丞待解決的問(wèn)題,故此安防監(jiān)控就成為保證這些社會(huì)安全問(wèn)題的一項(xiàng)解決方案,但現(xiàn)有的大量監(jiān)控視角范圍非常小,無(wú)法全方位的監(jiān)視環(huán)境,并且只有錄像功能。文獻(xiàn)[1]針對(duì)監(jiān)控圖像直觀表達(dá)視覺(jué)圖像信息、圖像目標(biāo)變化的特點(diǎn)設(shè)計(jì)基于樹(shù)莓派管理及OpenCV 處理的智能監(jiān)控機(jī)器人系統(tǒng)設(shè)計(jì)并搭建系統(tǒng)的框架及相關(guān)模塊,引入多圖像特征融合的粒子濾波跟蹤算法,在圖像目標(biāo)輪廓獲取的基礎(chǔ)上融合灰度像素特征進(jìn)行粒子的改進(jìn)跟蹤。文獻(xiàn)[2]利用熱釋電紅外傳感器采集周圍人體紅外線通過(guò)STM32 單片機(jī)系統(tǒng)對(duì)信號(hào)進(jìn)行處理,同時(shí)控制2 個(gè)舵機(jī)組成的云臺(tái)系統(tǒng)對(duì)攝像頭的位置姿態(tài)進(jìn)行調(diào)整,使產(chǎn)生紅外信號(hào)的目標(biāo)進(jìn)入攝像頭視野范圍內(nèi),在使目標(biāo)進(jìn)入監(jiān)控范圍內(nèi)的同時(shí),該裝置可以通過(guò)GSM模塊自動(dòng)對(duì)指定手機(jī)發(fā)出信息,實(shí)現(xiàn)報(bào)警提示功能。與上述相比,區(qū)別在于我們的人臉識(shí)別算法是基于TensorFlow 訓(xùn)練模型的CNN 人臉識(shí)別分類算法。和上述的圖像處理相比, 深度學(xué)習(xí)的人臉識(shí)別算法準(zhǔn)確率更高,尤其針對(duì)采集過(guò)程中誤差較大的情況時(shí),有較好的魯棒性。我們系統(tǒng)采用圖像識(shí)別的方式進(jìn)行人體追蹤,比上述用的紅外傳感器檢測(cè)更為精確。還能把監(jiān)控畫(huà)面實(shí)時(shí)傳送到網(wǎng)絡(luò),可在手機(jī)或電腦查看監(jiān)控并控制攝像頭轉(zhuǎn)動(dòng),以及檢測(cè)到人和危險(xiǎn)氣體的泄漏,可以現(xiàn)場(chǎng)實(shí)現(xiàn)聲光報(bào)警。
圖1 系統(tǒng)方框圖
圖2 監(jiān)控外觀設(shè)計(jì)
圖3 系統(tǒng)實(shí)物圖
本系統(tǒng)主要由樹(shù)莓派3B+的ARM開(kāi)發(fā)板,攝像頭模塊,氣體傳感器模塊,備用電源模塊,舵機(jī)模塊,電源模組成,方案方框圖如圖1 所示。它能實(shí)時(shí)處理和分析視頻數(shù)據(jù)和圖像[3],加載計(jì)算機(jī)處理庫(kù)和深度學(xué)習(xí)TensorFlow 框架中的CNN 人臉識(shí)別網(wǎng)絡(luò)。在OpenCV 中,利用Haar 特征和LBP 特征進(jìn)行圖像處理,使用已訓(xùn)練好的XML 格式的分類器進(jìn)行人臉檢測(cè)。根據(jù)個(gè)性化要求,通過(guò)SketchUp 自行設(shè)計(jì)的監(jiān)控外殼,并用3D 打印實(shí)體結(jié)構(gòu),用于保護(hù)內(nèi)部電路,保證系統(tǒng)的完整性和可靠性,如圖2 所示。
機(jī)器學(xué)習(xí)就是人類定義一定的計(jì)算機(jī)算法,讓計(jì)算機(jī)根據(jù)輸入的樣本和一些人類的干預(yù)來(lái)總結(jié)并歸納其特征與特點(diǎn),并用這些特征和特點(diǎn)與一定的學(xué)習(xí)目標(biāo)形成映射關(guān)系, 進(jìn)而自動(dòng)化地做出相應(yīng)反應(yīng)的過(guò)程。深度學(xué)習(xí)采用Endo-End 的學(xué)習(xí)方式, 輸入的內(nèi)容只需要做歸一化、白化等處理就可以丟給模型去訓(xùn)練, 不需要人為提取特征,由整個(gè)深度學(xué)習(xí)的網(wǎng)絡(luò)模型實(shí)現(xiàn)完成。本系統(tǒng)采用TensorFlow 框架中的CNN 卷積神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)進(jìn)行人臉識(shí)別。卷積網(wǎng)絡(luò)的整體訓(xùn)練過(guò)程概括如下:
步驟1:用隨機(jī)值初始化所有過(guò)濾器和參數(shù)/權(quán)重。
步驟2:神經(jīng)網(wǎng)絡(luò)將訓(xùn)練圖像作為輸入,經(jīng)過(guò)前向傳播步驟(卷積,ReLU 和池化操作以在完全連接層中的前向傳播),得到每個(gè)類的輸出概率。
假設(shè)圖像的輸出概率是[0.4,0.5,0.2,0.3],但由于權(quán)重是隨機(jī)分配給第一個(gè)訓(xùn)練樣本,因此輸出概率也是隨機(jī)的。
步驟3:計(jì)算輸出層的總誤差(對(duì)所有4 個(gè)類進(jìn)行求和)。
總誤差=∑1/2(目標(biāo)概率- 輸出概率)2
步驟4:使用反向傳播計(jì)算網(wǎng)絡(luò)中所有權(quán)重的誤差梯度,并使用梯度下降更新所有過(guò)濾器值/權(quán)重和參數(shù)值,以最小化輸出誤差。
根據(jù)權(quán)重對(duì)總誤差的貢獻(xiàn)對(duì)其進(jìn)行調(diào)整。當(dāng)再次輸入相同的圖像時(shí),輸出概率可能就變成了[0.1,0.1,0.7,0.1],這更接近目標(biāo)向量[0,0,1,0]。這意味著網(wǎng)絡(luò)已學(xué)會(huì)了如何通過(guò)調(diào)整其權(quán)重/過(guò)濾器并減少輸出誤差的方式對(duì)特定圖像進(jìn)行正確分類。
表1 系統(tǒng)監(jiān)控?cái)?shù)據(jù)統(tǒng)計(jì)
過(guò)濾器數(shù)量、大小,網(wǎng)絡(luò)結(jié)構(gòu)等參數(shù)在步驟1 之前都已經(jīng)固定,并且在訓(xùn)練過(guò)程中不會(huì)改變——只會(huì)更新濾器矩陣和連接權(quán)值。
步驟5:對(duì)訓(xùn)練集中的所有圖像重復(fù)步驟2-4。
通過(guò)以上步驟就可以訓(xùn)練出卷積神經(jīng)網(wǎng)絡(luò)—— 這實(shí)際上表明了卷積神經(jīng)網(wǎng)絡(luò)中的所有權(quán)重和參數(shù)都已經(jīng)過(guò)優(yōu)化,可以對(duì)訓(xùn)練集中的圖像進(jìn)行正確分類。
系統(tǒng)用樹(shù)莓派讀取攝像頭,用OpenCV(開(kāi)源計(jì)算機(jī)視覺(jué)庫(kù))進(jìn)行圖像處理,利用人工智能中的深度學(xué)習(xí)TensorFlow神經(jīng)網(wǎng)絡(luò)框架進(jìn)行人臉識(shí)別,啟動(dòng)舵機(jī)監(jiān)控跟隨人臉轉(zhuǎn)動(dòng),監(jiān)控范圍無(wú)死角。通過(guò)手機(jī)查看畫(huà)面并控制方向,方便遠(yuǎn)程查看家庭或公司情況,360 度控制監(jiān)控方向,異常警報(bào)可及時(shí)反饋。通過(guò)氣體傳感器檢測(cè)危險(xiǎn)氣體一旦泄露則立即聲光報(bào)警并發(fā)送到手機(jī)。系統(tǒng)除了擁有紅外夜視,斷電續(xù)航等功能外,還實(shí)現(xiàn)兩種智能模式的功能。當(dāng)處于外出模式時(shí),能識(shí)別到有人進(jìn)來(lái)作案,則立即聲光報(bào)警,并通知主人及時(shí)作出處理。而日常模式實(shí)現(xiàn)跟隨人臉轉(zhuǎn)動(dòng),人數(shù)檢測(cè),男女比例及商業(yè)數(shù)據(jù)分析等的功能,有效監(jiān)控,守護(hù)監(jiān)控范圍的區(qū)域(圖3)。
根據(jù)人臉識(shí)別框圖位置確定人臉在監(jiān)控畫(huà)面的xy 坐標(biāo)信息,根據(jù)該人臉的坐標(biāo)與監(jiān)控畫(huà)面中心(0,0)的差值反饋給ARM處理器,經(jīng)過(guò)坐標(biāo)差值與實(shí)際攝像頭位置的權(quán)重?cái)?shù)據(jù)轉(zhuǎn)換,轉(zhuǎn)化為相應(yīng)的xy 差值補(bǔ)償數(shù)據(jù)通過(guò)PWM信號(hào)控制2 個(gè)自由度舵機(jī)云臺(tái)實(shí)現(xiàn)攝像頭跟蹤人臉功能。通過(guò)多次實(shí)驗(yàn)測(cè)試,系統(tǒng)監(jiān)控?cái)?shù)據(jù)如表1 所示。其中,監(jiān)控角度:120 度為廣角鏡頭的角度,270 度為攝像頭轉(zhuǎn)動(dòng)的最大角度;人流檢測(cè)為同一時(shí)刻攝像頭一張畫(huà)面檢測(cè)的最大人數(shù),500 人臉為監(jiān)控系統(tǒng)瞬時(shí)人臉識(shí)別的最大識(shí)別上限。
通過(guò)OpenCV 加載神經(jīng)網(wǎng)絡(luò)框架TensorFlow 訓(xùn)練的CNN卷積神經(jīng)網(wǎng)絡(luò)人臉識(shí)別分類算法進(jìn)行人臉識(shí)別,區(qū)別與普通監(jiān)控幀差法只能識(shí)別畫(huà)面是否移動(dòng)而不能區(qū)別是人還是非人的物體。深度學(xué)習(xí)的識(shí)別算法更加精準(zhǔn),對(duì)于較復(fù)雜的情況時(shí),有較好的魯棒性。它不會(huì)給用戶大量錯(cuò)誤的警報(bào)?;谏疃葘W(xué)習(xí)的人臉追蹤安防監(jiān)控系統(tǒng)可應(yīng)用在家庭、公司、學(xué)校、商場(chǎng)等場(chǎng)所的安防監(jiān)控,給公眾的生命財(cái)產(chǎn)安全提供更智能有效的防護(hù)。還可為商場(chǎng)、公司提供人流檢測(cè),方便進(jìn)行商業(yè)數(shù)據(jù)分析。該智能監(jiān)控系統(tǒng)填補(bǔ)了目前市場(chǎng)監(jiān)控智能領(lǐng)域的空白,在監(jiān)控、家庭安全隱患檢測(cè)等方面有著極其重要意義,有廣闊的市場(chǎng)應(yīng)用價(jià)值和研究?jī)r(jià)值,在深度學(xué)習(xí)的基礎(chǔ)上加入火災(zāi)視覺(jué)識(shí)別和人臉年齡分析系統(tǒng),完善整個(gè)安防系統(tǒng)。