趙紅成 田秀霞 楊澤森 白萬(wàn)榮
摘要:針對(duì)現(xiàn)有施工場(chǎng)所下工人安全帽佩戴檢測(cè)模型推理耗時(shí)長(zhǎng)、對(duì)硬件要求高,且復(fù)雜多變環(huán)境下的訓(xùn) 練數(shù)據(jù)集單一、數(shù)量少導(dǎo)致模型魯棒性較差等問(wèn)題,提出了一種輕量化的安全帽佩戴檢測(cè)模型YOLO-S. 首先,針對(duì)數(shù)據(jù)集類別不平衡問(wèn)題,設(shè)計(jì)混合場(chǎng)景數(shù)據(jù)增強(qiáng)方法,使類別均衡化,提高模型在復(fù)雜施工環(huán)境 下的魯棒性;將原始YOLOv5s主干網(wǎng)絡(luò)更改為MobileNetV2,降低了網(wǎng)絡(luò)計(jì)算復(fù)雜度.其次,對(duì)模型進(jìn)行 壓縮,通過(guò)在BN層引入縮放因子進(jìn)行稀疏化訓(xùn)練,判定各通道重要性,對(duì)冗余通道剪枝,進(jìn)一步減少模型 推理計(jì)算量,提高模型檢測(cè)速度.最后,通過(guò)知識(shí)蒸餾輔助模型進(jìn)行微調(diào)得到Y(jié)OLO-S.實(shí)驗(yàn)結(jié)果表明, YOLO-S的召回率及mAP較YOLOv5s分別提高1.9%、1.4%,模型參數(shù)量壓縮為YOLOv5s的1/3,模型體 積壓縮為YOLOv5s的1/4, FLOPs為YOLOv5s的1/3,推理速度快于其他模型,可移植性較高.
關(guān)鍵詞:安全帽佩戴檢測(cè);數(shù)據(jù)增強(qiáng);模型壓縮;知識(shí)蒸餾
中圖分類號(hào):TP391?????? 文獻(xiàn)標(biāo)志碼:A?????? DOI: 10.3969/j.issn.1000-5641.2021.05.012
YOLO-S: A new lightweight helmet wearing detection model
ZHAO Hongcheng1, TIAN Xiuxia1, YANG Zesen1, BAI Wanrong2 (1. College of Computer Science and Technology, Shanghai University of Electric Power, Shanghai 200090, China; 2. S^ate Grid Gansu Electric Power Research Institute, Lanzhou 730070, China)
Abstract: Traditional worker helmet wearing detection models commonly used at construction sites suffer from long processing times and high hardware requirements; the limited number of available training data sets for complex and changing environments, moreover, contributes to poor model robustness. In this paper, we propose a lightweight helmet wearing detection model _named YOLO-S—to address these challenges. First, for the case of unbalanced data set categories, a hybrid scene data augmentation method is used to balance the categories and improve the robustness of the model for complex construction environments; the original YOLOv5s backbone network is changed to MobileNetV2, which reduces the network computational complexity. Second, the model is compressed, and a scaling factor is introduced in the BN layer for sparse training. The importance of each channel is judged, redundant channels are pruned, and the volume of model inference calculations is further reduced; these changes help increase the overall model detection speed. Finally, YOLO-S is achieved by fine-tuning the auxiliary model for knowledge distillation. The experimental results show that the recall rate of YOLO-S is increased by 1.9% compared with YOLOv5s, the mAP of YOLO-S is increased by 1.4% compared with YOLOv5s, the model parameter is compressed to 1/3 of YOLOv5s, the model volume is compressed to 1/4 of YOLOv5s,
收稿日期:2021-08-24
基金項(xiàng)目:國(guó)家自然科學(xué)基金(61772327);國(guó)網(wǎng)甘肅省電力公司電力科學(xué)研究院橫向項(xiàng)目(H2019-27(5)
通信作者:田秀霞,女,教授,碩士生導(dǎo)師,研究方向?yàn)闄C(jī)器學(xué)習(xí)與人工智能、數(shù)據(jù)安全與隱私保護(hù).
E-mail: xxtian@shiep.edu.cn
FLOPs are compressed to 1/3 of YOLOv5s, the reasoning speed is faster than other models, and the portability is higher.
Keywords: helmet-wearing detection; data augmentation; model compression; knowledge distillation
0引 言
近年來(lái),施工場(chǎng)所頻繁出現(xiàn)工人未按規(guī)章佩戴安全帽所引發(fā)的傷亡事故,使得人力、財(cái)產(chǎn)造成 了巨大損失.隨著智能監(jiān)控下安全帽佩戴檢測(cè)技術(shù)的不斷發(fā)展,施工場(chǎng)所工人作業(yè)過(guò)程得以監(jiān)督,形 成保衛(wèi)工人生命安全的一道防線.然而,面對(duì)復(fù)雜多變的施工環(huán)境,現(xiàn)有的安全帽佩戴檢測(cè)模型逐漸 顯現(xiàn)出較多問(wèn)題,如在數(shù)據(jù)量較少情況下檢測(cè)精度低,推理耗時(shí)長(zhǎng)導(dǎo)致無(wú)法實(shí)時(shí)反饋報(bào)警等.同時(shí),大 部分安全帽檢測(cè)模型對(duì)算力要求高,即所需硬件成本高.在工程建設(shè)期間,項(xiàng)目投資的實(shí)際效果決定 了企業(yè)的獲益水平%企業(yè)的經(jīng)濟(jì)發(fā)展與金融業(yè)的發(fā)展相輔相成,因此,從工人人身安全與安全建設(shè)成 本兩個(gè)角度出發(fā),研究輕量級(jí)的安全帽佩戴檢測(cè)模型,能夠保障施工人員安全作業(yè),有效減少對(duì)監(jiān)控 平臺(tái)硬件成本的固定投資,增加其他如安全建設(shè)、環(huán)保建設(shè)等投資,從而預(yù)防人力、財(cái)產(chǎn)損失,對(duì)企業(yè) 安全生產(chǎn)及經(jīng)濟(jì)發(fā)展具有重要意義,促進(jìn)企業(yè)與金融業(yè)協(xié)調(diào)發(fā)展.
目前,深度學(xué)習(xí)目標(biāo)檢測(cè)算法大致分為兩類:一是兩階段目標(biāo)檢測(cè)算法,由區(qū)域選擇算法生成候 選區(qū),輸入至卷積神經(jīng)網(wǎng)絡(luò)分類.代表性的工作有R-CNN、Fast R-CNN以及Faster R-CNN等[3-5].二 是基于回歸的一階段目標(biāo)檢測(cè)算法,如YOLO算法等,其主要思想是將圖片分為S x S個(gè)單元格, 每個(gè)單元格負(fù)責(zé)檢測(cè)中心點(diǎn)落在該單元格內(nèi)的目標(biāo),并預(yù)測(cè)出邊界框及目標(biāo)類別信息.此后,針對(duì)YOLO 算法識(shí)別精度低的問(wèn)題,SSD、YOLOv2、RetinaNet、YOLOv3、YOLOv4及YOLOv5等相繼提出_, 一階段算法的檢測(cè)精度得以提高.對(duì)比上述兩種算法,兩階段算法檢測(cè)精度較高,但一階段算法的檢 測(cè)速度明顯優(yōu)于前者,對(duì)于工業(yè)場(chǎng)景下檢測(cè)任務(wù)的高實(shí)時(shí)性要求,一階段目標(biāo)檢測(cè)算法的應(yīng)用是較為 廣泛的.因此,許多研究者提出了將YOLO算法應(yīng)用到安全帽佩戴檢測(cè)的多種改進(jìn)方法,如施輝等[12] 構(gòu)造圖像金字塔獲取安全帽多尺度特征,采用維度聚類確定目標(biāo)框參數(shù)訓(xùn)練模型;方明等1131將密集連 接方法集成到Y(jié)OLOv2模型上完成安全帽檢測(cè)任務(wù);烏民雨等[14]加入反卷積模塊來(lái)增強(qiáng)模型在安全 帽小目標(biāo)上的表達(dá)能力.同樣也有一些工作對(duì)兩階段算法做出改進(jìn),徐守坤等1151將多層卷積融入原始 Faster R-CNN網(wǎng)絡(luò),提高了安全帽佩戴檢測(cè)精度.
盡管如此,上述模型的改進(jìn)都是立足于提高模型的檢測(cè)精度,存在一些問(wèn)題:現(xiàn)有數(shù)據(jù)集并不能 較好反映施工現(xiàn)場(chǎng)的復(fù)雜多樣性,上述改進(jìn)工作并沒有從數(shù)據(jù)本身考慮,模型在復(fù)雜場(chǎng)景下的魯棒性 不是很好,特別是文獻(xiàn)[12]的簡(jiǎn)單模型;鑒于一些小型嵌入式平臺(tái)算力有限,上述大部分模型較為復(fù) 雜,對(duì)硬件要求較高,可移植性較差,不利于后期部署.同時(shí),考慮到監(jiān)控的實(shí)時(shí)性要求,文獻(xiàn)[12]增加 了多尺度特征提取層,文獻(xiàn)[15]在兩階段模型增加了特征融合層,網(wǎng)絡(luò)中存在冗余結(jié)構(gòu),文獻(xiàn)[14]反 卷積層增加了計(jì)算量,因此上述模型的檢測(cè)速度仍有提升空間.
綜上所述,針對(duì)現(xiàn)有安全帽佩戴檢測(cè)模型存在的問(wèn)題,首先,本文結(jié)合在線困難樣本挖掘策略,設(shè) 計(jì)了混合場(chǎng)景數(shù)據(jù)增強(qiáng)方法,模擬并增加復(fù)雜場(chǎng)景工人佩戴安全帽數(shù)據(jù)集,提高模型的魯棒性;其次, 提出了一種輕量級(jí)的安全帽佩戴檢測(cè)模型YOLO-S,將YOLOv5s主干網(wǎng)絡(luò)替換為MobileNetV2,由深 度可分離卷積代替原始卷積層提取特征,大幅減少網(wǎng)絡(luò)計(jì)算量;再次,為進(jìn)一步精簡(jiǎn)模型大小,在BN 層引入關(guān)于縮放系數(shù)的正則化項(xiàng)進(jìn)行稀疏訓(xùn)練,篩選出重要性較低的通道,做出剪枝處理;最后,為使 剪枝后的模型保持較高的檢測(cè)精度,采用知識(shí)蒸餾方法,以教師網(wǎng)絡(luò)輔助剪枝后的模型微調(diào)得到 YOLO-S.通過(guò)實(shí)驗(yàn)驗(yàn)證了 YOLO-S模型的有效性,降低了硬件成本,同時(shí)在低算力平臺(tái)便于部署.
1預(yù)備知識(shí)
i.i深度可分離卷積
MobileNet系列網(wǎng)絡(luò)是輕量級(jí)網(wǎng)絡(luò)的代表,被廣泛應(yīng)用于移動(dòng)終端中,其特點(diǎn)是引入了深度可分 離的卷積形式.標(biāo)準(zhǔn)卷積由一個(gè)與輸入數(shù)據(jù)具有相同通道數(shù)目的卷積核在整個(gè)特征圖通道上進(jìn)行乘 法累加運(yùn)算,而深度可分離卷積則通過(guò)因式分解的方式將標(biāo)準(zhǔn)卷積分成了深度與逐點(diǎn)卷積(1 X 1卷 積).圖1顯示了標(biāo)準(zhǔn)卷積分解為深度卷積與逐點(diǎn)卷積的過(guò)程.其中Dfc x 為卷積核的尺寸,M表 示輸入通道數(shù),N表示輸出通道數(shù).
設(shè)Dp X??? 為輸入特征圖的尺寸,那么W個(gè)卷積核在某個(gè)全卷積層上的計(jì)算成本為
Dk × Dk × N × M × DF × DF . (1)
逐點(diǎn) 1 × 1 卷積計(jì)算成本為
N × M × DF × DF , (2)
則深度可分離卷積的總計(jì)算量為
Dk x Dk x M x Dp x Dp + N x M x Dp x Dp.??????? (3)
由式(1)、(3),深度可分離卷積計(jì)算成本與標(biāo)準(zhǔn)全卷積比值為
因此,當(dāng)卷積核大小為3 x 3時(shí),隨著卷積核個(gè)數(shù)不斷增加,深度可分離卷積計(jì)算量最多可縮小為 標(biāo)準(zhǔn)卷積的1/9,同時(shí)也能保持較好的檢測(cè)精度.
1.2 MobileNetV2
MobileNetV2[16]在采用深度可分離卷積基礎(chǔ)上,使用線性瓶頸的反向殘差模塊提高特征提取能力. 如圖2所示,卷積分為步長(zhǎng)1、2兩種模式,其中,Conv 1 x 1表示使用1 x 1的卷積核進(jìn)行卷積, Dwise 3 X 3表示使用3 X 3的卷積核進(jìn)行深度可分離卷積,Linear表示線性激活,Stride = 2表示卷 積步長(zhǎng)為2.當(dāng)卷積步長(zhǎng)為1時(shí),輸入經(jīng)過(guò)跳躍相加至模塊輸出,卷積步長(zhǎng)為2時(shí)模塊輸入不經(jīng)過(guò)相加 而輸出.反向殘差模塊與殘差結(jié)構(gòu)不同的是:首先經(jīng)過(guò)1 x 1卷積操作,對(duì)通道升維,緩解Relu6激活 函數(shù)導(dǎo)致的信息丟失,再由Relu6激活函數(shù)稀疏模型,最后經(jīng)過(guò)1 x 1卷積以及線性激活函數(shù)降低為 輸入通道數(shù).
⑷步長(zhǎng)為1
1.3 YOLOv5s 模型
YOLOv5繼承了 YOLOv3、YOLOv4的優(yōu)點(diǎn),其中YOLOv5s是YOLOv5中較為輕量的網(wǎng)絡(luò),整 體結(jié)構(gòu)如圖3所示,由CBL、CSP、Focus以及SPP等組件共同構(gòu)成.其中,CBL包括卷積(Conv)、批 標(biāo)準(zhǔn)化(Batch Normalization,BN)及Leaky Relu激活;殘差單兀(Resunit)由兩個(gè)CBL以及輸入相 加而成;CSP由CBL、Resunit等組成;Focus組件采用了多個(gè)切片(slice)拼接后再經(jīng)過(guò)CBL; SPP組 件經(jīng)過(guò)CBL后,由多級(jí)最大池化以及輸入4個(gè)部分拼接構(gòu)成.YOLOv5s輸出3個(gè)不同尺度的錨框,分 別預(yù)測(cè)大、中、小目標(biāo).
2YOLO-S安全帽佩戴檢測(cè)模型
2.1混合場(chǎng)景數(shù)據(jù)增強(qiáng)
在復(fù)雜施工場(chǎng)景中,施工人員往往集中作業(yè),由于受設(shè)備、天氣等影響,模型的檢測(cè)效果較差.因 此,本文結(jié)合在線困難樣本挖掘[17],設(shè)計(jì)一種混合場(chǎng)景數(shù)據(jù)增強(qiáng)方法.分析采集的安全帽佩戴檢測(cè)數(shù) 據(jù)集,共有兩個(gè)類別:未佩戴安全帽的工人(類別id為0),佩戴安全帽的工人(類別id為(1).如圖4(a) 所示,發(fā)現(xiàn)佩戴安全帽的工人作業(yè)數(shù)據(jù)集較少;圖4(b)顯示了目標(biāo)大小情況,集中在紅色區(qū)域,小目 標(biāo)較多;圖4(c)顯示目標(biāo)位置分布情況.針對(duì)類別不平衡問(wèn)題,同時(shí)提高模型在復(fù)雜場(chǎng)景提取特征能 力,將遮擋嚴(yán)重、小目標(biāo)多的數(shù)據(jù)集混合拼接作為每批次訓(xùn)練數(shù)據(jù),增強(qiáng)過(guò)程如圖4(d)所示.
(d)混合場(chǎng)景數(shù)據(jù)增強(qiáng)
數(shù)據(jù)集增強(qiáng)具體步驟如下:
(1) 在640 x 640圖片中隨機(jī)生成參考點(diǎn):r (Xp,%),將其分為左上、右上、左下和右下4個(gè)部分.
(2)通過(guò)在線困難樣本挖掘方法選取前兄個(gè)loss較大、類別為佩戴安全帽作業(yè)的工人數(shù)據(jù)集.
(3)在K個(gè)困難樣本中隨機(jī)選取4張,進(jìn)行翻轉(zhuǎn)、縮放等基本數(shù)據(jù)增強(qiáng).
(4)將4張圖片置于640 x 640的4個(gè)部分,當(dāng)圖片大于分割部分時(shí)進(jìn)行裁剪,反之采用零填充, 使4張圖片充滿邊角.
(5)增強(qiáng)后的數(shù)據(jù)集按批次訓(xùn)練,每批次重復(fù)第3步操作,平衡了數(shù)據(jù)集類別,同時(shí)場(chǎng)景多樣性對(duì) 于提高模型魯棒性也有一定幫助.
2.2稀疏訓(xùn)練
數(shù)據(jù)集處理后,修改YOLOv5s的主干網(wǎng)絡(luò)為MobileNetV2,其計(jì)算量相較于原始網(wǎng)絡(luò)已大幅降 低.但考慮到算法部署,訓(xùn)練后的模型體積仍然較大.由于訓(xùn)練數(shù)據(jù)集類別及數(shù)量較少,卷積運(yùn)算后會(huì)存在一些冗余結(jié)構(gòu),導(dǎo)致計(jì)算效率下降,推理耗時(shí)較長(zhǎng).為了進(jìn)一步壓縮模型體積,篩選不重要通道、 采取模型剪枝操作是有必要的.剪枝方法通常分為權(quán)重剪枝與結(jié)構(gòu)剪枝.權(quán)重剪枝修剪的是網(wǎng)絡(luò)中較 小的權(quán)重連接,往往會(huì)破壞網(wǎng)絡(luò)結(jié)構(gòu),對(duì)硬件要求高.結(jié)構(gòu)剪枝是通過(guò)稀疏訓(xùn)練與結(jié)構(gòu)稀疏正則化尋 找并刪除不重要的通道層,從而減少計(jì)算量.為了保持網(wǎng)絡(luò)完整性以及減少硬件成本,本文采用結(jié)構(gòu) 剪枝方式對(duì)模型進(jìn)行壓縮.
批標(biāo)準(zhǔn)化(BN)[18]被廣泛應(yīng)用于神經(jīng)網(wǎng)絡(luò)訓(xùn)練優(yōu)化中,能夠提高訓(xùn)練效率、防止梯度爆炸等,其原理為
式 (5) 中: 與 為每批次的均值與方差, 為修正常數(shù), 為歸一化結(jié)果, 與 分別為縮放與平移因子, 為輸出結(jié)果.
將 MobileNetV2 每個(gè)卷積層后的 BN 層的γ作為縮放因子, 作為判別通道重要性的指標(biāo), 根據(jù)式(6) 第一項(xiàng)將縮放因子添加到損失函數(shù)訓(xùn)練.
式 (6) 中: 為原始損失函數(shù), 為輸入, 為目標(biāo), 為訓(xùn)練參數(shù); 為縮放因子懲罰項(xiàng);為稀疏比例因子; 為 BN 層中縮放因子全集. 由式 (6) 第二項(xiàng)對(duì)縮放因子進(jìn)行 L1 正則化操作[19], 與通道的輸出相乘, 接著聯(lián)合權(quán)重與縮放因子訓(xùn)練網(wǎng)絡(luò).
2.3通道剪枝
在經(jīng)過(guò)稀疏訓(xùn)練后,對(duì)BN層的所有縮放因子Y的絕對(duì)值排序,同時(shí)設(shè)定剪枝比例為50%,按照Y 從小到大50%位置處,再設(shè)定一個(gè)閾值^對(duì)于所有小于^的縮放因子對(duì)應(yīng)的通道剪除,若當(dāng)前所有縮 放因子均小于^則保留最大的兩個(gè)通道,以保持網(wǎng)絡(luò)結(jié)構(gòu)的完整性,從而不影響和主干網(wǎng)絡(luò)維度匹 配.剪枝過(guò)程如圖5所示,閾值^設(shè)為0.2.
2.4模型蒸餾
知識(shí)蒸餾是利用遷移學(xué)習(xí)的思想將高精度的大模型學(xué)習(xí)到的知識(shí)指導(dǎo)小模型訓(xùn)練[20],加速較小模 型的收斂.考慮到MobileNetV2為輕量級(jí)網(wǎng)絡(luò),可能存在剪枝過(guò)度導(dǎo)致模型精度下降問(wèn)題.因此對(duì)剪 枝后的模型采用知識(shí)蒸餾微調(diào),以保持較高的檢測(cè)精度.
原YOLO的損失函數(shù)包括目標(biāo)、分類以及坐標(biāo)框損失,總體損失函數(shù)為
式 (7) 中: 、 、 為學(xué)生模型對(duì)應(yīng)的目標(biāo)、類別概率、坐標(biāo)框, 、 、 為各自的真實(shí)值, 、 、 分別為目標(biāo)、分類以及坐標(biāo)框的損失函數(shù).
考慮到 YOLO 為單級(jí)檢測(cè)器, 包含了對(duì)背景邊界框的預(yù)測(cè), 標(biāo)準(zhǔn)蒸餾方法會(huì)將教師模型對(duì)背景框的預(yù)測(cè)轉(zhuǎn)移給學(xué)生模型[21], 影響后者對(duì)目標(biāo)框的訓(xùn)練. 因此, 將蒸餾損失轉(zhuǎn)化為目標(biāo)尺度函數(shù), 蒸餾時(shí)只有當(dāng)教師模型預(yù)測(cè)出的目標(biāo)值較高時(shí), 才去學(xué)習(xí)類別概率及坐標(biāo)框, 修改目標(biāo)損失函數(shù)如式 (8).
式 (8) 中: 第一項(xiàng)為目標(biāo)損失, 第二項(xiàng)為蒸餾損失, 為權(quán)重系數(shù), 為教師模型預(yù)測(cè)目標(biāo).
學(xué)生模型的分類損失函數(shù)如式 (9) 所示, 同樣地, 坐標(biāo)框損失函數(shù)如式 (10) 所示. 最終蒸餾總體損失函數(shù)如式 (11) 所示, 包含了對(duì)坐標(biāo)框、分類以及目標(biāo)的損失, 蒸餾基礎(chǔ)函數(shù)采用 L2 loss.
式 (9) 中: 第一項(xiàng)對(duì)應(yīng)原始分類損失, 第二項(xiàng)為蒸餾分類損失, 為權(quán)重系數(shù), 為更新后的教師模型預(yù)測(cè)目標(biāo).
綜上所述,如圖6所示,YOLO-S分為數(shù)據(jù)增強(qiáng)、稀疏訓(xùn)練、剪枝以及蒸餾4個(gè)階段.以YOLOv5s作為 教師模型,將MobileNetV2作為YOLOv5s主干網(wǎng)絡(luò),加載混合場(chǎng)景增強(qiáng)后的數(shù)據(jù)進(jìn)行稀疏訓(xùn)練,根 據(jù)2.3節(jié)剪枝策略對(duì)模型通道裁剪,將其作為學(xué)生模型,采用上述損失函數(shù)蒸餾,隨后微調(diào)訓(xùn)練得到最 終模型.
3實(shí) 驗(yàn)
3.1實(shí)驗(yàn)環(huán)境及數(shù)據(jù)集
本文實(shí)驗(yàn)環(huán)境:Ubuntu18.04 LTS,內(nèi)存32 GB, GeForce RTX 2080TI顯卡,深度學(xué)習(xí)框架為Pytorch. 實(shí)驗(yàn)數(shù)據(jù)集包含7581張圖片,對(duì)其進(jìn)行縮放、裁剪等預(yù)處理,同時(shí)對(duì)色度、飽和度、曝光率做了
調(diào)整,通過(guò)Labellmg工具進(jìn)行標(biāo)注,以9 : 1的比例劃分訓(xùn)練集與測(cè)試集.
3.2訓(xùn)練參數(shù)設(shè)置
圖片分辨率大小為640 x 640,訓(xùn)練批次設(shè)置為16,初始學(xué)習(xí)率為0.001, IoU閾值設(shè)置為0.5,所 有參照模型均按照此參數(shù)訓(xùn)練100個(gè)epoch.
3.3評(píng)價(jià)指標(biāo)
實(shí)驗(yàn)將參數(shù)量、召回率、模型大小、平均精度(mAP@.(5)、FLOPs以及推理時(shí)間作為各模型評(píng)估 指標(biāo),驗(yàn)證本文提出的YOLO-S安全帽佩戴檢測(cè)模型的有效性.其中,召回率計(jì)算公式為
式(12)中:R為召回率,nTP為模型檢測(cè)結(jié)果為正值的正樣本數(shù),nFN為檢測(cè)結(jié)果為負(fù)值的正樣本數(shù).
3.4稀疏訓(xùn)練過(guò)程
圖7⑷為模型稀疏訓(xùn)練前BN層7值分布情況,可以發(fā)現(xiàn)7值大小分布在1附近.圖7(b)為模型 稀疏訓(xùn)練后7值分布情況,部分層的7值已經(jīng)趨近于0,表明這些7值對(duì)應(yīng)的通道權(quán)重較小,可以考慮 被裁剪.此外,圖8⑷為YOLO-S模型稀疏訓(xùn)練前50個(gè)epoch的損失函數(shù)曲線,圖8(b)為平均精度 曲線.
3.5實(shí)驗(yàn)結(jié)果與分析
3.5.1縱向?qū)Ρ葘?shí)驗(yàn)
保持各訓(xùn)練參數(shù)一致的前提下,比較YOLO-S與SSD、RetinaNet、Faster R-CNN的召回率、平 均精度及推理時(shí)間.其中推理時(shí)間根據(jù)一段現(xiàn)場(chǎng)施工測(cè)試視頻獲得,包含252幀圖片,取推理每幀圖 片平均花費(fèi)的時(shí)間,如表1所示.
由表1得,在一階段算法中,YOLO-S的平均精度最高,并且推理速度最快.相較于Faster R- CNN, YOLO-S的召回率和平均精度與之相差不大,但是在推理速度方面,YOLO-S推理每幀視頻的 平均時(shí)間比Faster R-CNN快143 ms,達(dá)到了實(shí)時(shí)性檢測(cè)要求.
3.5.2橫向?qū)Ρ葘?shí)驗(yàn)
為了進(jìn)一步驗(yàn)證本文所提方法的有效性,對(duì)YOLO-S做了橫向?qū)Ρ葘?shí)驗(yàn),即比較其與其他YOLO 模型在平均精度、召回率、模型大小、推理時(shí)間、模型參數(shù)量及FLOPs這些客觀指標(biāo)的表現(xiàn).如表2 所示.其中,YOLO-S (without DA)表示YOLO-S模型不采用混合場(chǎng)景數(shù)據(jù)增強(qiáng),YOLO-S (without Dist)表示不采用知識(shí)蒸餾,YOLO-S (without SP)表示不采用稀疏訓(xùn)練及剪枝,YOLO-S (without PR)表示采用稀疏訓(xùn)練而不采用剪枝,YOLO-S (PR 80%)表示設(shè)置剪枝率為80% (默認(rèn)剪枝率為 50%),作為消融實(shí)驗(yàn)對(duì)比.
由表2得,YOLO-S綜合性能表現(xiàn)最佳,召回率及平均精度這兩個(gè)指標(biāo)均比YOLOv5m低1%左 右,保持了較高的檢測(cè)精度,平均每張圖片的推理時(shí)間為17 ms,分別比YOLOv3、YOLOv3-SPP、 YOLOv5m 及 MobileNetV2-YOLOv3 快 10 ms、7 ms、5 ms、2 ms. 從模型大小上來(lái)看,米用80%剪枝 率的YOLO-S模型體積最小,但其平均精度與召回率偏低.通過(guò)知識(shí)蒸餾微調(diào)后的模型雖然模型體積 及FLOPs有了一定增長(zhǎng),但召回率及平均精度分別提高了 3.5%與2.4%,推理時(shí)間不變.此外,使用 混合場(chǎng)景數(shù)據(jù)增強(qiáng)方法后,增加了佩戴安全帽的工人作業(yè)數(shù)據(jù),同時(shí)將不同困難樣本的場(chǎng)景融合到一 起訓(xùn)練,提高了模型在復(fù)雜環(huán)境下的魯棒性,召回率及平均精度提升了 2.3%與1.9%.采用稀疏訓(xùn)練 而不進(jìn)行剪枝,模型的體積和FLOPs較YOLO-S大;采用30%剪枝率后,模型的召回率和平均精度 較YOLO-S有較小提升,模型大小、推理時(shí)間較YOLO-S分別增長(zhǎng)1 MB、2 ms,F(xiàn)LOPs增長(zhǎng)0.87個(gè) BFLOPs; YOLO-S采用稀疏訓(xùn)練及50%剪枝率后,模型召回率和平均精度比不采用稀疏訓(xùn)練及剪枝 時(shí)稍有下降,模型大小減少1.5 M,推理時(shí)間快2 ms,F(xiàn)LOPs減少0.95個(gè)BFLOPs;從模型體積上看, YOLO-S 的模型體積為 13.9 M,約為 YOLOv5s 的 1/4, YOLOv3 的 1/17, YOLO-SPP 的 1/19, YOLOv5m 的 1/12,其 FLOPs 約為 YOLOv3 與 YOLOv3-SPP 的 1/32, YOLOv5m 的 1/10, YOLOv5s 的 1/3.這 對(duì)于小型嵌入式設(shè)備的模型植入是可行的,同時(shí)降低了存儲(chǔ)成本.
圖9為YOLO-S與其他YOLO模型參數(shù)量的對(duì)比,采用模型壓縮后的YOLO-S參數(shù)量最少,計(jì) 算開銷得以減少,降低了硬件成本.因此,綜合施工場(chǎng)所安全帽檢測(cè)精度與檢測(cè)實(shí)時(shí)性要求,同時(shí)考慮 后期算法的移植,YOLO-S的表現(xiàn)較好.
3.5.3低算力平臺(tái)部署
為驗(yàn)證YOLO-S模型的可移植性,在低算力平臺(tái)開發(fā)安全帽佩戴檢測(cè)系統(tǒng),將YOLO-S模型作為 后端算法嵌入,為避免模型誤檢為單獨(dú)閑置的安全帽,訓(xùn)練時(shí)融入工人標(biāo)簽,即模型只檢測(cè)出佩戴安 全帽的工人類別及未佩戴安全帽的工人類別.如表3所示,分別比較了以下輕量級(jí)模型在兩個(gè)不同低 算力平臺(tái)推理視頻每幀圖片的耗時(shí),YOLO-S推理每張圖片的速度快于其他模型.
測(cè)試效果如圖10所示.紫色框?yàn)楣と祟悇e,綠色框?yàn)榕宕靼踩钡墓と?,黃色框?yàn)槲磁宕靼踩?的工人,側(cè)面說(shuō)明本文提出的YOLO-S在低算力移動(dòng)端的部署是可行的.但YOLO-S在復(fù)雜場(chǎng)景下視 頻流中目標(biāo)過(guò)小被嚴(yán)重遮擋時(shí)存在漏檢情況,圖10中遠(yuǎn)處小目標(biāo)未檢出.
4結(jié)論
本文主要針對(duì)現(xiàn)有安全帽佩戴檢測(cè)模型推理速度慢、對(duì)硬件要求高、可移植性差,以及數(shù)據(jù)集類 別不均衡、數(shù)量少等問(wèn)題,采用混合場(chǎng)景數(shù)據(jù)增強(qiáng)方法,使類別均衡,提出了一種輕量級(jí)安全帽佩戴檢 測(cè)模型YOLO-S.實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的YOLO-S模型既保持了較高的檢測(cè)精度,同時(shí)擁有較快的 檢測(cè)速度,在低算力平臺(tái)檢測(cè)效果較好,可移植性高.但是由于施工場(chǎng)景多變,現(xiàn)有數(shù)據(jù)僅靠數(shù)據(jù)增強(qiáng) 提升不大,復(fù)雜場(chǎng)景仍存在漏檢情況,未來(lái)將采集各種場(chǎng)景下的工人佩戴安全帽作業(yè)數(shù)據(jù),提高模型 的魯棒性并部署到小型機(jī)器人移動(dòng)端,實(shí)現(xiàn)自動(dòng)巡檢.
[參考文獻(xiàn)]
[1]邊星,晉良海,陳雁高,等.施工作業(yè)人員佩戴安全帽行為意向研宄[J].中國(guó)安全科學(xué)學(xué)報(bào),2016, 26(1(1): 43-48.
[2]李海元.淺析工程建設(shè)項(xiàng)目投資管理與決策[J].商訊,2020(18): 154-155.
[3 ] GIRSHICK R,DONAHUE J,DARRELL T,et al. Rich feature hierarchies for accurate object detection and semantic segmentation [C] //Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2014: 580-587.
[4]GIRSHICK R. Fast R-CNN [C]//Proceedings of the IEEE International Conference on Computer Vision. 2015: 1440-1448.
[5]REN S,HE K,GIRSHICK R,et al. Faster R-CNN: Towards real-time object detection with region proposal networks [C] //Advances
in Neural Information Processing Systems. 2015: 91-99.
[6 ] REDMON J,DIVVALA S,GIRSHICK R,et al. You only look once: Unified,real-time object detection [C]//IEEE Conference on Computer Vision and Pattern Recognition. 2016: 779-788.
[7 ] LIU W,ANGUELOV D,ERHAN D,et al. SSD: Single shot multibox detector [C]//European Conference on Computer Visio. 2016: 21-37.
[8 ] REDMON J,F(xiàn)ARHADI A. YOLO9000: Better,faster,stronger [C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 7263-7271.
[9 ] LIN T Y,GOYAL P,GIRSHICK R,et al. Focal loss for dense object detection [J]. IEEE Transactions on Pattern Analysis & Machine Intelligence,2020,42(2): 318-327.
[10]REDMON J,F(xiàn)ARHADI A. YOLOv3: An incremental improvement [EB/OL]. (2018-04-08) [2021-06-12]. https://arxiv.org/abs/1804. 02767.
[11]BOCHKOVSKIY A,WANG C Y,LIAO H Y M. YOLOv4: Optimal speed and accuracy of object detection [EB/OL]. (2020-042(3) [2021-06-12]. https://arxiv.org/abs/2004.10934.
[12]施輝,陳先橋,楊英.改進(jìn)YOLOv3的安全帽佩戴檢測(cè)方法[J].計(jì)算機(jī)工程與應(yīng)用,2019, 55(1(1): 213-220.
[13]方明,孫騰騰,邵楨.基于改進(jìn)YOLOv2的快速安全帽佩戴情況檢測(cè)[J].光學(xué)精密工程,2019, 27(5): 1196-1205.
[14]烏民雨,陳曉輝.一種基于改進(jìn)YOLOv3的安全帽檢測(cè)方法[J].信息通信,2020(6): 12-14.
[15]徐守坤,王雅如,顧玉宛,等.基于改進(jìn)區(qū)域卷積神經(jīng)網(wǎng)絡(luò)的安全帽佩戴檢測(cè)[J].計(jì)算機(jī)工程與設(shè)計(jì),2020, 41(5): 1385-1389.
[16]SANDLER M,HOWARD A,ZHU M,et al. MobileNetV2: Inverted Residuals and Linear Bottlenecks [C] //Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 4510-4520.
[17]CHU J, GUO Z, LENG L. Object detection based on multi-layer convolution feature fusion and online hard example mining [J] . IEEE Access, 2018: 19959-19967.
[18]IOFFE S, SZEGEDY C. Batch normalization: accelerating deep network training by reducing internal covariate shift [C]//Proceedings of the 32nd International Conference on Machine Learning. 2015: 448-456.
[19]LIU Z, LI J G, SHEN Z Q, et al. Learning efficient convolutional networks through network slimming [C]//Proceedings of 2017 IEEE International Conference on Computer Vision. 2017: 2755-2763.
[20]GOU J P, YU B S, MAYBANK S J, et al. Knowledge distillation: A survey [EB/OL]. (2020-06-09) [2021-06-12]. https://arxiv.org/ abs/2006.05525.
[21]MEHTA R, OZTURK C. Object detection at 200 frames per second [EB/OL]. (2018-05-16) [2021-06-12]. https://arxiv.org/abs/1805. 06361.
(責(zé)任編輯:李萬(wàn)會(huì))