佘偉偉,蘇垸玲,陳煒中,謝培權(quán),郭 磊
(廣東海洋大學(xué),廣東 湛江 524088)
社區(qū)是城市的重要組成部分,近年來,我國不斷創(chuàng)新社區(qū)管理政策和方針,積極推動智慧化社區(qū)管理的發(fā)展,“智慧社區(qū)”在多個省市自治區(qū)試點運行。目前,大多數(shù)物業(yè)仍采用傳統(tǒng)監(jiān)控管理小區(qū),這樣的監(jiān)控系統(tǒng)功能單一、安全系數(shù)較低,遇到問題既不能做到實時處理,也浪費了大量人力、物力。 針對這些問題,本文設(shè)計的基于機器視覺的智慧社區(qū)監(jiān)管系統(tǒng),可以快速識別居民是否佩戴口罩進出小區(qū),小區(qū)內(nèi)是否存在人員異常聚集,是否有外來人員非法進入小區(qū),從而實現(xiàn)對社區(qū)自動化一體化的安全管理。
智慧社區(qū)監(jiān)管系統(tǒng)包括5 個方面:佩戴口罩檢測模塊、電梯安全管理模塊、人群聚集檢測模塊、區(qū)域入侵檢測模塊、高空拋物檢測模塊。
硬件端由樹莓派、攝像頭來構(gòu)成機器視覺模塊。樹莓派可以連接局域網(wǎng),并搭載機器視覺識別算法,進行遠(yuǎn)距離智能檢測。 通過攝像頭收集圖像信息,由算法逐幀獲取并分析圖像信息,獲取目標(biāo)所在范圍區(qū)域,再由視覺識別是否具有異常行為,沒有則不反饋,有異常行為則截取并保存圖片,向監(jiān)控端發(fā)出信號,管理人員可以通過系統(tǒng)反饋的異常行為信息做出相應(yīng)的應(yīng)對措施。
佩戴口罩檢測、電梯安全管理以及區(qū)域入侵系統(tǒng)的設(shè)計,可以通過深度神經(jīng)網(wǎng)絡(luò)模型中的YOLOv5 算法實現(xiàn)。
與傳統(tǒng)的機器視覺算法相比,深度學(xué)習(xí)具有更強的優(yōu)勢。 深度神經(jīng)網(wǎng)絡(luò)基于大量的樣本數(shù)據(jù),自動提取樣本的多維特征,而不是人工設(shè)計的簡單特征,其特點是自動特征學(xué)習(xí)和大容量建模,識別效果也非常優(yōu)異,在樣本數(shù)據(jù)足夠的前提下,置信度可以達(dá)到90%以上,甚至可以高達(dá)98%。 目前,主流的深度學(xué)習(xí)目標(biāo)檢測算法可以分為兩類:一類是基于候選區(qū)域的兩階段目標(biāo)檢測方法。 該算法首先根據(jù)候選區(qū)域生成一系列候選框,然后對候選框進行分類和過濾,其中具有代表性的算法包括R-CNN,FAST R-CNN和FasterR-CNN[1]。 這些方法具有較高的檢測精度;但是候選區(qū)域的提取過程復(fù)雜,檢測時間長,進而導(dǎo)致效率較為低下。 因此,兩階段目標(biāo)檢測方法無法滿足實時檢測的要求。 另一種則是基于回歸模型的單階段目標(biāo)檢測算法。 該算法不需要提取候選區(qū)域,將目標(biāo)區(qū)域預(yù)測和目標(biāo)類別預(yù)測集成到單個卷積神經(jīng)網(wǎng)絡(luò)模型中。 代表性的單階段算法則是YOLO 算法,YOLO 算法剛提出并使用時,在預(yù)測中只使用最深的特征圖,背景假檢率低,唯一的缺點是對小目標(biāo)的檢測能力較差。 YOLO 的后續(xù)系列經(jīng)過反復(fù)改進,在提高檢測精度和速度的同時,克服了小目標(biāo)識別的不足。 在2020 年提出的YOLOv5 算法中,首次使用Pytorch 模型,Pytorch 是一個開源的Python 機器學(xué)習(xí)庫,也是最近流行的一個深度學(xué)習(xí)框架,不僅能通過GPU 加速,還能支持動態(tài)神經(jīng)網(wǎng)絡(luò),可以看成一個擁有自動求導(dǎo)功能的強大的深度神經(jīng)網(wǎng)絡(luò)[2]。 因此,這里使用YOLOv5 算法來搭建3 個模塊的識別檢測模型。
本文通過爬蟲搜集到1 763 張佩戴口罩的照片,1 589 張沒有佩戴口罩的照片,2 731 張電動自行車照片以及2 870 張人的照片。 由于圖片數(shù)據(jù)集是網(wǎng)絡(luò)爬取的,需要對圖像進行去重以及刪除無效樣本。 為了確保后續(xù)訓(xùn)練過程的順利高效進行,先進行圖片樣本尺寸的統(tǒng)一以及通道數(shù)的一致,再以Tensor 形式輸入CNN,這里使用transform 來實現(xiàn)。 再對圖像進行Mosaic 增強處理,Mosaic 算法是YOLOv4 中提出的增強樣本數(shù)據(jù)的方法。 該方法是由數(shù)據(jù)集中隨機抽取4張圖片進行組合,再將其合成一張圖片作為訓(xùn)練樣本,Mosaic 增強處理對于訓(xùn)練神經(jīng)網(wǎng)絡(luò)非常有幫助。
得到預(yù)處理后的圖片數(shù)據(jù)集之后,用圖像標(biāo)注工具labelimg 標(biāo)注標(biāo)簽,打完標(biāo)簽后,進行標(biāo)簽格式的轉(zhuǎn)化,即xml 轉(zhuǎn)成yolo 型,用python 腳本即可實現(xiàn)。根據(jù)網(wǎng)絡(luò)深度和特征圖寬度, YOLOv5 可分為YOLOv5s,YOLOv5m,YOLOv5l 和YOLOv5x 4 種模型。如表1 所示是各模型的性能詳情。
表1 YOLOv5 不同模型的性能參數(shù)
由表1 可得,YOLOv5s 的Speed v100 達(dá)到2.0 ms,處理速度最快,YOLOv5s 相較其他模型的優(yōu)勢在于:擁有自適應(yīng)圖片填充,可以有效去除圖像黑邊信息的冗余;運用CSP 結(jié)構(gòu),實現(xiàn)輕量化的同時又確保了準(zhǔn)確性;網(wǎng)絡(luò)層采用FPN+PAN 結(jié)構(gòu),FPN 為高緯度向低緯度傳遞語義信息,PAN 則相反,從低緯度向高緯度傳遞語義信息,這就優(yōu)化了大目標(biāo)與小目標(biāo)的識別精度[3]。
設(shè)定訓(xùn)練輪數(shù)為300 輪,得到訓(xùn)練結(jié)果后,用最優(yōu)權(quán)重進行推理,可以得出如圖1 所示的識別效果。
圖1 口罩識別檢測
圖1 中口罩識別置信度都達(dá)到了0.9 以上,檢測精度非常高,關(guān)于區(qū)域入侵識別,只需在推演模塊添加并鎖定圖像輸入的區(qū)域范圍即可,系統(tǒng)只會輸入并運算指定的區(qū)域,即出現(xiàn)在此區(qū)域范圍的人,確定為非法入侵。 對于電梯識別檢測模塊,由于識別角度的原因,置信水平低于口罩識別精度,不過也達(dá)到了75%,足以檢測出大多數(shù)電動自行車。 系統(tǒng)會將識別結(jié)果與預(yù)先設(shè)定的條件相對比,如果符合了檢測條件,則會將檢測結(jié)果輸入到硬件模塊,啟動響應(yīng),觸發(fā)警報裝置。
本文采用Opencv 作為高空拋物識別檢測模型的基本算法。 Opencv 是一個python 庫,其底層函數(shù)是由C 和C++編寫實現(xiàn),其中覆蓋了計算機視覺各領(lǐng)域多達(dá)五百多種函數(shù)。 Opencv 可以看作是一個“黑盒”,為用戶提供了大量的參數(shù)、返回值,可以讓用戶在不完全了解原理的情況下,也能方便地進行各種復(fù)雜的圖像處理。 Opencv 有2500 多種優(yōu)化算法,其中包含了計算機視覺和機器學(xué)習(xí)的大部分經(jīng)典算法。這些算法可以用來做圖像的底層處理,也可以對視頻中的人類行為做分類。 是當(dāng)今計算機視覺領(lǐng)域必不可少的“工具箱”,同時也被多個深度學(xué)習(xí)識別算法所運用。
相鄰幀差法也稱圖像序列差分法,當(dāng)視頻中的物體在運動時,幀與幀之間會存在較為明顯的差別,此時取兩幀圖像的灰度值之差的絕對值,將其與設(shè)定的閾值對比。 若大于閾值,則確定視頻圖像有物體在做運動,從而實現(xiàn)目標(biāo)的檢測功能。 先對圖像文件進行灰度和降噪處理。 由于視頻是逐幀輸入,則每次將幀圖像與上一幀進行差分運算,通過預(yù)先設(shè)定的閾值對比,判斷灰度差的絕對值,高于閾值即可判斷有物品在高速移動,即有墜物危險發(fā)生,此時反饋異常信息到硬件裝置,觸發(fā)警報,同時通過樹莓派局域網(wǎng)反饋信息到后臺,以方便后續(xù)溯源工作的展開。
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)是人工神經(jīng)網(wǎng)絡(luò)(ANN) 的一種特殊類型[4]。卷積神經(jīng)網(wǎng)絡(luò)主要由卷積層、池化層、激活函數(shù)組成,其中卷積層沒有完全連續(xù),并且同一卷積核之間的權(quán)重相同,即共享權(quán)重。 CNN 網(wǎng)絡(luò)通過共享權(quán)重、局部感受卷積核,大大降低了網(wǎng)絡(luò)模型的復(fù)雜程度,只需將圖像輸入卷積神經(jīng)網(wǎng)絡(luò)。 網(wǎng)絡(luò)模型可以自行從足夠的樣本數(shù)據(jù)中進行特征學(xué)習(xí),大大減少了人工的參與,并且模型準(zhǔn)確率也得到了很大的提高,被廣泛運用于計算機視覺領(lǐng)域,在圖像識別、目標(biāo)追蹤、圖像分類等領(lǐng)域都有較好應(yīng)用。
針對異常聚集人群的檢測,有兩個重要方面:(1)進行圖像的輸入,即獲取圖像數(shù)據(jù);(2)通過卷積神經(jīng)網(wǎng)絡(luò)進行人群數(shù)據(jù)的分析和統(tǒng)計。 人群數(shù)據(jù)包括人群密度、人群距離勢能以及人群分布熵。 通過這3 個數(shù)據(jù)來動態(tài)獲取人群坐標(biāo),可以將復(fù)雜圖像轉(zhuǎn)化為人群密度圖,超過閾值即可判定為人群密集。 目前傳統(tǒng)的識別網(wǎng)絡(luò)只能通過聚類算法以及人群密度估計來實現(xiàn)聚集檢測,在特定場合中,由于行人遮擋的原因,會產(chǎn)生較大誤差,而卷積神經(jīng)網(wǎng)絡(luò)模型可以有效解決此類問題,并且其中的高斯混合模型也較好地解決了針對人群分布不均、行人身高比例不同等問題。
隨著科學(xué)技術(shù)的發(fā)展,人民的物質(zhì)生活條件得到了大幅改善。 小區(qū)物業(yè)管理也要與時俱進,保障小區(qū)的安全運營,及時發(fā)現(xiàn)小區(qū)存在的安全隱患。 基于機器視覺的智慧社區(qū)監(jiān)管系統(tǒng)包括佩戴口罩檢測模塊、電梯安全管理模塊、人群聚集檢測模塊、區(qū)域入侵檢測模塊、高空拋物檢測模塊5 個方面,通過樹莓派搭載的深度學(xué)習(xí)識別算法,實現(xiàn)圖像輸入、圖像分析、圖像識別、圖像傳輸再到硬件響應(yīng)的流程。 該識別系統(tǒng)在節(jié)省大量人力的同時,也可以實現(xiàn)全天自動化識別運行。 與傳統(tǒng)監(jiān)控設(shè)備相比。 該系統(tǒng)在預(yù)防危險方面有著極高的效率,能夠避免因為監(jiān)控人員的疏忽而造成的安全事故。 基于機器視覺的智慧社區(qū)監(jiān)管系統(tǒng)給小區(qū)物業(yè)管理帶來了便利,也為居民生活安全提供了保障,為未來智慧社區(qū)的建設(shè)提供了有意義的參考。