長安大學(xué)信息與網(wǎng)絡(luò)管理處 荀偉
近年來,大數(shù)據(jù)與人工智能技術(shù)的迅速發(fā)展,為安防監(jiān)控系統(tǒng)的升級和改進提供了新的思路和可能性。本研究將探討基于CBAM[1]算法搭建一個CBAM-RCNN模型:即C-R-M,借助人臉和人體識別技術(shù)的支持,智能安防監(jiān)控系統(tǒng)具備實時報警功能,還能有效監(jiān)測和管理非法入侵事件。模型可協(xié)助生成巡邏路徑,管理人員能夠?qū)崟r監(jiān)測巡邏人員的路徑,也可以事后檢索并還原巡邏人員的行程,提高了巡檢監(jiān)管的效率和準(zhǔn)確性[2,3]。
CBAM-RCNN 是一個基于深度學(xué)習(xí)的算法,需要使用大量的數(shù)據(jù)和計算資源進行訓(xùn)練和推理,可以實現(xiàn)人員檢測、人員識別和軌跡跟蹤等多種功能。在人員檢測方面,CBAM-RCNN 可以識別圖像中的物體并標(biāo)出其位置和類別,從而實現(xiàn)對視頻監(jiān)控中物體的實時區(qū)分。應(yīng)用CBAM 模塊可增強特征的表征效能和差異性,從而提升人員檢測的速度和精確性。
CBAM-RCNN 可以檢測圖像中的物體,并標(biāo)出它們的位置和類別。在模型訓(xùn)練過程中,模型會學(xué)習(xí)從圖像中提取特征,然后利用這些特征來生成邊界框和類別預(yù)測,基于這樣的特性,可以用CBAM-RCNN 實時區(qū)分視頻監(jiān)控里的物體類型,是人還是物。
由于CBAM-RCNN 不僅可以檢測物體,還可以將物體分為不同的類別。在訓(xùn)練過程中,模型會學(xué)習(xí)從圖像中提取特征,在輸入基礎(chǔ)數(shù)據(jù)集后(即包含全校教職工以及學(xué)生的頭像信息),就可以利用模型區(qū)分人員是教職工、學(xué)生還是臨時人員,進而可進行校內(nèi)人員風(fēng)險等級分類和預(yù)測[4]。使用CBAM 模塊可以提高特征的表征能力和可區(qū)分性,從而提高分類的準(zhǔn)確性。
結(jié)合CBAM-RCNN 分類的準(zhǔn)確性以及快速處理的特性,本研究創(chuàng)新地將CBAM-RCNN 用于物體跟蹤。通過在連續(xù)的幀之間跟蹤物體的運動,CBAM-RCNN可以生成準(zhǔn)確的人員軌跡圖。在校園監(jiān)控和安全管理等方面具有較強的可行性以及廣泛的應(yīng)用前景。
如圖1 所示是本研究數(shù)據(jù)預(yù)處理步驟,由此可提高視頻和圖片數(shù)據(jù)質(zhì)量。
通過圖1 中的數(shù)據(jù)預(yù)處理,可以使視頻和圖片數(shù)據(jù)更好地適應(yīng)后續(xù)數(shù)據(jù)處理的需求,進而提高目標(biāo)檢測模型的性能和精度,最終獲得更好的預(yù)測與分類結(jié)果。
3.1.1 CBAM
(1)CBAM 是由Woo 于2018 年提出的一種多重關(guān)注機制,能夠同時聚焦通道和空間,從而實現(xiàn)更卓越的性能表現(xiàn)。(2)通道注意力機制:對輸出的特征依次進行求和操作,通過應(yīng)用Sigmoid 函數(shù)進行激活,得到通道注意力特征的權(quán)重。接下來,將這些特征權(quán)重與輸入的特征進行逐元素相乘操作,從而生成空間注意力模塊所需的特征。(3)空間注意力機制:對輸入的特征圖進行基于通道的全局最大池化和全局平均池化運算,然后將獲得的特征圖進行通道級別的合并。這樣的設(shè)計有助于模型更好地關(guān)注重要的空間區(qū)域,從而提高模型性能。
3.1.2 殘差網(wǎng)絡(luò)
經(jīng)過第一層線性變換和激活函數(shù)后的輸出為F(x),第二層是在這個輸出和輸入x之間進行的。在進行第二層的線性變換和激活函數(shù)之前,將輸入x添加到了路徑中,創(chuàng)建了一個shortcut。最終的輸出是在應(yīng)用激活函數(shù)后獲得的σ(F(x)+x)。
3.1.3 卷積神經(jīng)網(wǎng)絡(luò)
將圖片或信號作為初始輸入傳遞給卷積神經(jīng)網(wǎng)絡(luò)。網(wǎng)絡(luò)使用卷積核對輸入數(shù)據(jù)進行掃描和卷積運算,以計算數(shù)據(jù)的權(quán)重和偏差。接下來,通過激活函數(shù)引入非線性變換,以擬合相關(guān)的映射關(guān)系,從而建立故障數(shù)據(jù)與故障狀態(tài)之間的連接,如式(1)所示:
式(1)中:xl+1為當(dāng)前層的輸出,xl為當(dāng)前層的輸入,kl為卷積核,bl為偏置,f(*)為激活函數(shù)。
在本研究中,選擇用如式(2)所示的ReLU 函數(shù):
ReLU 函數(shù)在輸入值小于0 時梯度為0,這可以避免出現(xiàn)函數(shù)值過小導(dǎo)致梯度消失的問題,從而加快訓(xùn)練過程。在卷積層中,輸出數(shù)據(jù)會進行批量歸一化(即BN,Batch Normalization)。本研究中使用的BN 公式如式(3)、式(4)所示:
式(3)中:μB為數(shù)據(jù)的均值,σB2為方差,為歸一化后的值;式(4)中:γ,β為BN重構(gòu)參數(shù)。
經(jīng)過多次卷積和批量歸一化處理后,特征數(shù)據(jù)將被全局平均池化,再將池化層的輸出通過Softmax 分類器進行分類,最終輸出結(jié)果。
3.1.4 CBAM-RCNN 模型結(jié)構(gòu)
本研究提出了一種基于CBAM-RCNN 算法的模型,該模型主要由卷積網(wǎng)絡(luò)、CBAM 和殘差塊組成。CBAM和殘差塊被融合進卷積網(wǎng)絡(luò)中,以實現(xiàn)最佳的故障診斷效果,如式(5)所示:
式(5)中:xl+1為當(dāng)前輸出,xl為上層輸出、當(dāng)前輸入,kl為核,bl為偏置,f(*)為激活函數(shù),BN 為函數(shù)BatchNorm。
3.1.5 CBAM-RCNN 模型訓(xùn)練與驗證
為評估CBAM-RCNN 模型的特征提取和分類預(yù)測性能,我們采用了交叉熵損失函數(shù)作為評價指標(biāo),度量實際值與模型輸出值之間的誤差。鑒于視頻幀或圖像中人體部位像素分布不均,為更準(zhǔn)確評估模型分類預(yù)測,我們采用分層k 折交叉驗證方法驗證模型。
將所有樣本隨機分成k 個相等子樣本集,同時保持各類別比例。然后,使用k-1 個子樣本集進行模型訓(xùn)練,剩余1 個子樣本集用于驗證。這有效評估模型在不同數(shù)據(jù)子集上的性能,全面了解其表現(xiàn)。我們重復(fù)這個過程k 次,每次選擇不同的子樣本集作為驗證集,然后將k 次得到的結(jié)果取平均值作為最終的驗證結(jié)果。
用CBAM-RCNN 算法實現(xiàn)檢測、識別和追蹤需要實現(xiàn)以下幾個步驟:(1)數(shù)據(jù)預(yù)處理:根據(jù)已經(jīng)準(zhǔn)備好的人員頭像數(shù)據(jù)集,使用OpenCV 庫中的函數(shù)對圖片進行裁剪、縮放和歸一化操作。使用cv2.resize()函數(shù)將圖片調(diào)整到指定大小,再使用cv2.cvtColor()函數(shù)將圖片轉(zhuǎn)換為灰度圖像。(2)模型構(gòu)建:使用CBAM-RCNN 算法構(gòu)建目標(biāo)檢測模型,本研究中用PyTorch、TensorFlow等深度學(xué)習(xí)框架搭建CBAM-RCNN 模型。(3)模型訓(xùn)練:使用準(zhǔn)備好的頭像數(shù)據(jù)集,通過反向傳播算法對模型進行訓(xùn)練和優(yōu)化,以提高模型的準(zhǔn)確率和魯棒性。(4)模型測試:使用測試數(shù)據(jù)集對模型進行測試,評估模型的準(zhǔn)確率和性能。(5)應(yīng)用部署:將訓(xùn)練好的模型部署到監(jiān)控系統(tǒng)中,實現(xiàn)人員檢測、人員識別和軌跡跟蹤功能。
為了構(gòu)建模型,本研究選擇了基于Python 語言的Pytorch 框架。計算機使用的是Windows 10 操作系統(tǒng),硬件配置為8GB 內(nèi)存。優(yōu)化算法選擇了Adam,并采用了學(xué)習(xí)率的一種衰減策略:OneCycleLR,當(dāng)中,學(xué)習(xí)率最大值設(shè)置為:0.001。模型的具體參數(shù)設(shè)置如表1、表2 所示。
表1 模型訓(xùn)練參數(shù)設(shè)置Tab.1 Model training parameter settings
表2 模型網(wǎng)絡(luò)參數(shù)設(shè)置Tab.2 Model network parameter settings
為了保證本研究的可靠性,采用分層4 折交叉驗證策略。隨機選擇所有樣本的3/4(共75 個樣本)作為訓(xùn)練集,并使用剩余1/4 的樣本(共25 個)作為驗證樣本,將整個過程重復(fù)進行4 次,并將4 次驗證結(jié)果的均值作為模型最終預(yù)測的準(zhǔn)確率,每折訓(xùn)練200 次。
為驗證本文所構(gòu)建的模型在軌跡預(yù)測與風(fēng)險等級分析方面的性能,我們創(chuàng)建了卷積神經(jīng)網(wǎng)絡(luò)(CNN)和基于CBAM 的卷積網(wǎng)絡(luò),其參數(shù)設(shè)置與該模型相同。具體而言,我們將CNN 網(wǎng)絡(luò)的層數(shù)設(shè)置為4 層,卷積核數(shù)分別設(shè)置為8、16、32、64。CBAM-CNN 模型的卷積層有5 層,相對于以上CBAM-RCNN 模型,只缺失了殘差塊的部分。我們使用相同的樣本進行訓(xùn)練,包括41個正常樣本、23 個人體數(shù)目較少的樣本和49 個人體數(shù)目較多的樣本。此外,我們還使用相同的驗證方法對這些模型進行驗證,如表3 所示。
表3 模型驗證結(jié)果對比Tab.3 Comparison of model verification results
針對每個狀態(tài)的樣本,CBAM-RCNN 模型的準(zhǔn)確率比CNN 模型更高。與CBAM-CNN 模型相比,CBAMRCNN 模型在正常、人數(shù)較少和人數(shù)較多的樣本中表現(xiàn)更好。CBAM-RCNN 模型的總準(zhǔn)確率為88.33%,CBAMRCNN 模型表現(xiàn)出了比CNN 和CBAM-CNN 模型更高的準(zhǔn)確率,分別超過了它們22%和15%。這些驗證結(jié)果充分驗證了CBAM-RCNN 模型的有效性。
為了改進卷積網(wǎng)絡(luò)的性能,本文引入了CBAM 和殘差塊,構(gòu)建了CBAM-RCNN 模型,將其應(yīng)用于智慧安防領(lǐng)域,并對其進行了測試對比。以下是本文的研究工作和結(jié)論:(1)數(shù)據(jù)預(yù)處理階段,通過對基礎(chǔ)視頻和圖片數(shù)據(jù)進行圖片增強,包括縮放、標(biāo)準(zhǔn)化和去噪等操作,將處理后的數(shù)據(jù)作為模型的輸入。這種預(yù)處理方法能夠有效提高視頻和圖像中人體人臉特征的有效性,并增強模型的魯棒性。(2)在CBAM-RCNN 模型中,引入了多注意力機制,使用CBAM 來優(yōu)化網(wǎng)絡(luò)參數(shù)設(shè)置,實現(xiàn)任務(wù)關(guān)鍵信息聚焦。同時,采用殘差塊以防止模型梯度爆炸和梯度消失問題,從而提升網(wǎng)絡(luò)訓(xùn)練的穩(wěn)定性。根據(jù)實驗驗證結(jié)果,相對于單獨使用CNN 模型或CBAM-CNN模型,CBAM-RCNN 模型的準(zhǔn)確率有明顯提高。(3)為了避免模型的過擬合,本文采用全局平均池化層替代卷積神經(jīng)網(wǎng)絡(luò)中的全連接層,這一策略有效減輕了模型的過擬合問題,同時減少了模型的參數(shù)數(shù)量,提高了模型的運行速度。
綜上所述,CBAM-RCNN 模型由于能有效提升監(jiān)控中人體識別的性能、具有較高的準(zhǔn)確率和穩(wěn)定性且能避免過擬合的問題,所以在輔助實現(xiàn)校內(nèi)人員軌跡預(yù)測和外來人員風(fēng)險等級評估方面有顯著效果,進而為實現(xiàn)校內(nèi)智慧安防提供了一種新的思路。通過實時對校內(nèi)人員的軌跡和外來人員的行為進行分析和評估,提高了安防監(jiān)控系統(tǒng)的準(zhǔn)確性和實時性,為當(dāng)前安防監(jiān)控系統(tǒng)的升級和改進提供了參考。