周翔宇,曲喜悅,許杰,倪文瀚
(1.華北水利水電大學(xué),河南 鄭州 450045;2.哈爾濱工業(yè)大學(xué),黑龍江 哈爾濱 150001)
在公共場所以及一些特定的禁煙場所抽煙具有很大的危害,傳統(tǒng)的抽煙檢測方法主要依靠煙霧警報(bào)以及人力監(jiān)測,但煙霧警報(bào)主要應(yīng)用在較小的室內(nèi)封閉空間,且存在較高的誤判性,如對各種噴霧型產(chǎn)品的誤判等,不易針對抽煙行為進(jìn)行單一監(jiān)測;人力監(jiān)測則是一種成本較高的方式,且適用場所十分有限。
目前,基于機(jī)器視覺的目標(biāo)檢測已在很多領(lǐng)域取得顯著的成果[1-3],但在抽煙檢測方面的相關(guān)研究較少。當(dāng)前主流的目標(biāo)檢測網(wǎng)絡(luò)對于小目標(biāo)(如香煙)的識別具有一定局限性[4],追求針對小目標(biāo)檢測的精度,難免要加深網(wǎng)絡(luò)的結(jié)構(gòu),導(dǎo)致整體模型參數(shù)量過大,速度下降,不利于部署在實(shí)際應(yīng)用場景中成本較低的終端設(shè)備;若反之追求檢測速度,則很容易導(dǎo)致精度的大量丟失,無法滿足實(shí)際需求。
針對以上問題,本文基于YOLOV5網(wǎng)絡(luò)進(jìn)行改進(jìn),將頸部網(wǎng)絡(luò)的FPN+PAN結(jié)構(gòu)改為BiFPN結(jié)構(gòu),增強(qiáng)相同網(wǎng)絡(luò)層之間的特征信息融合與不同網(wǎng)絡(luò)層之間的特征信息傳遞。實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的YOLOV5網(wǎng)絡(luò)在抽煙檢測數(shù)據(jù)集上的檢測精度更高,且檢測速度滿足實(shí)際場景應(yīng)用需求。
YOLO[5-7]系列算法屬于單階段的目標(biāo)檢測算法,目前被廣泛應(yīng)用在各個領(lǐng)域。從YOLOV1到Y(jié)OLOV7,近年來YOLO系列算法在不斷地更新迭代,本文采用的YOLOV5相較于之前的版本,主要進(jìn)行了以下幾處優(yōu)化:
1)Input:采用Mosaic數(shù)據(jù)增強(qiáng),將4張圖片通過隨機(jī)縮放、裁剪、排布的方式拼接,豐富檢測背景,對小目標(biāo)檢測有積極作用;同時采用了自適應(yīng)anchor計(jì)算以及自適應(yīng)圖片縮放的計(jì)算方法,在一定程度上從數(shù)據(jù)處理方面提升了檢測精度與檢測速度。
2)BackBone:采用Focus結(jié)構(gòu),在一張圖片上,每隔一個像素點(diǎn)取一個值,將一張圖片分成4張,在不丟失信息的情況下將通道數(shù)擴(kuò)充為原來的4倍,即由原來的RGB三通道變?yōu)?2通道,較高地提升了檢測速度。
3)Neck:采用FPN+PAN[8]結(jié)構(gòu)。FPN和PAN分別采用自頂向下和自底向上的方式傳遞體征信息,進(jìn)行特征融合,兩者結(jié)合使得到的特征更加明顯,進(jìn)一步提升對不同尺度目標(biāo)的檢測能力。
4)Prediction:采用CIOU_loss作為回歸損失函數(shù)。近些年提出的回歸損失函數(shù)有IOU_loss, GIOU_loss、DIOU_loss以及YOLOV5采用的CIOU_loss[9]?;貧w損失函數(shù)在不斷進(jìn)行著完善, YOLOV5采用CIOU_loss作為回歸損失函數(shù),使得預(yù)測框的回歸速度和精度均有提升。
Tan[10]提出的加權(quán)雙向特征金字塔網(wǎng)絡(luò)(BiFPN)增強(qiáng)了相同網(wǎng)絡(luò)層之間的特征信息融合與不同網(wǎng)絡(luò)層之間的特征信息傳遞,能夠使目標(biāo)檢測模型具有更高的精度。
YOLOV5網(wǎng)絡(luò)中使用的FPN+PAN網(wǎng)絡(luò),在自頂向下的特征融合之后,引入了自底向上的路徑,使得底層信息更容易傳遞到高層。BiFPN結(jié)構(gòu)主要有以下幾點(diǎn)改進(jìn):
1)刪除部分節(jié)點(diǎn),將FPN+PAN結(jié)構(gòu)(圖1)中P3和P7的中間節(jié)點(diǎn)刪除,因其僅有一條輸入邊或沒有進(jìn)行特征融合,則認(rèn)為其對融合不同特征的網(wǎng)絡(luò)貢獻(xiàn)更小,故將其刪除,簡化了雙向網(wǎng)絡(luò)。
2)在有中間節(jié)點(diǎn)的相同層增加跳躍連接,越過中間節(jié)點(diǎn),將輸入節(jié)點(diǎn)與輸出節(jié)點(diǎn)進(jìn)行一個連接,因?yàn)樗鼈儗儆谕粚?所以這樣的操作并不會增加許多計(jì)算成本,卻可以融合更多的特征。
3)將每個自頂向下和自底向上的雙向路徑看作一個特征網(wǎng)絡(luò)層,且重復(fù)利用同一層,能夠?qū)崿F(xiàn)更高層次的特征融合。
4)加權(quán)特征融合,不同的輸入特征具有不同的分辨率,常用的方法是將其調(diào)整為相同的分辨率,但其對輸出特征的貢獻(xiàn)卻總是不同的,所以對每個輸入特征增加一個權(quán)重,以少量的計(jì)算量為代價(jià),獲取更好的特征融合輸出。權(quán)重公式如式(1)。
(1)
其中wi是可學(xué)習(xí)的權(quán)重,可以是向量(通道)、標(biāo)量(特征)或多維張量(像素),在其后添加ReLU激活函數(shù)確保其大于零。∈是學(xué)習(xí)率。
將YOLOV5網(wǎng)絡(luò)中的FPN+PAN結(jié)構(gòu)替換為BiFPN結(jié)構(gòu),其結(jié)構(gòu)如圖1所示。
本實(shí)驗(yàn)將選用以下幾個指標(biāo)對網(wǎng)絡(luò)模型進(jìn)行評估:
1)AP: 由Recall作為橫坐標(biāo)、Precision作為縱坐標(biāo),模型的RP曲線圖(召回率和準(zhǔn)確率的關(guān)系曲線)所圍成的面積,計(jì)算公式如式(2)。
(2)
式中,P(Precision)為準(zhǔn)確率,R(Recall)為召回率,P(R)為準(zhǔn)確率-召回率曲線函數(shù),IoU為真實(shí)框與預(yù)測框的交并比,本實(shí)驗(yàn)采用AP0.5作為評估標(biāo)準(zhǔn)。
2)Params:網(wǎng)絡(luò)模型參數(shù)量,代表網(wǎng)絡(luò)模型的大小。
3)FLOPs:每秒浮點(diǎn)運(yùn)算次數(shù),代表網(wǎng)絡(luò)模型的計(jì)算量。
4)FPS:每秒能處理的圖像數(shù)量,代表網(wǎng)絡(luò)模型的檢測速度。
圖1 使用BiFPN替換FPN+PAN示意圖
本實(shí)驗(yàn)使用的數(shù)據(jù)集為網(wǎng)上采集視頻后,分幀提取圖片,然后使用LabelImg軟件進(jìn)行數(shù)據(jù)標(biāo)注得到的,大約1800張圖片,多為影視劇場景中的手持抽煙鏡頭。數(shù)據(jù)集按8∶2劃分訓(xùn)練集和驗(yàn)證集。
實(shí)驗(yàn)基于pytorch1.10環(huán)境;NVIDIA RTX A6000顯卡一張。實(shí)驗(yàn)選取的優(yōu)化器為隨機(jī)梯度下降(SDG)算法,初始學(xué)習(xí)率為0.01,動量參數(shù)為0.937,訓(xùn)練批次大小設(shè)置為16,每個模型均訓(xùn)練200輪次。
本實(shí)驗(yàn)以YOLOV5-6.1版本作為Baseline,分別對YOLOV5-n、YOLOV5-s、YOLOV5-m、YOLOV5n-BiFPN和YOLOV5s-BiFPN這幾個網(wǎng)絡(luò)模型進(jìn)行實(shí)驗(yàn)評估,實(shí)驗(yàn)結(jié)果如表1所示。將YOLOV5-s和YOLOV5s-BiFPN作對比,可以看出,替換為BiFPN的網(wǎng)絡(luò)模型精確度明顯提高,且網(wǎng)絡(luò)模型參數(shù)量、計(jì)算量以及FPS幾乎沒有變化;再將YOLOV5n-BiFPN與YOLOV5s-BiFPN對比可知,s版本的網(wǎng)絡(luò)模型精準(zhǔn)度明顯高于n版本,參數(shù)量與計(jì)算量仍滿足部署在低成本終端設(shè)備的條件,且FPS僅下降3~4,完全滿足實(shí)際應(yīng)用場景中的實(shí)時性要求;再對比s與m版本的模型,發(fā)現(xiàn)m版本模型精度提升十分有限,且參數(shù)量與計(jì)算量大幅上升,已不適用于低成本終端設(shè)備的應(yīng)用場景。故本實(shí)驗(yàn)最終選取YOLOV5s-BiFPN作為實(shí)時抽煙檢測的算法模型。
表1 各版本網(wǎng)絡(luò)模型性能比較結(jié)果
在一般情況下,由于成本限制,實(shí)際應(yīng)用場景中終端設(shè)備的計(jì)算能力比較低,因此選用100萬像素的攝像頭及NVIDIA GeForce MX150(2G)顯卡進(jìn)行模擬實(shí)驗(yàn)。模擬實(shí)驗(yàn)分別進(jìn)行手持香煙特寫鏡頭識別、正面抽煙識別以及側(cè)面抽煙識別。實(shí)際效果如圖2所示,可以看出,本文采用的方法針對抽煙檢測具有良好的效果。
圖2 模擬實(shí)際場景的抽煙檢測效果
針對實(shí)際場景中抽煙檢測困難的問題,提出了改進(jìn)YOLOV5的模型應(yīng)用在實(shí)時抽煙檢測中的方法,將其中的FPN+PAN結(jié)構(gòu)替換為BiFPN結(jié)構(gòu)。實(shí)驗(yàn)表明,在幾乎不增加模型大小以及計(jì)算量的情況下,本文方法提升了模型的檢測精度,且滿足部署在計(jì)算能力較低的終端設(shè)備上進(jìn)行實(shí)時檢測的條件。
小目標(biāo)檢測在現(xiàn)實(shí)場景中更容易受到背景噪聲的影響,因此將來會繼續(xù)對增加注意力機(jī)制等改進(jìn)方案進(jìn)行研究,進(jìn)一步提升模型對小目標(biāo)的檢測能力。