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