鄭 曉, 王淑琴, 張文聰, 鄭京瑞, 周 游
1(天津師范大學(xué) 軟件學(xué)院, 天津 300387)
2(天津師范大學(xué) 計(jì)算機(jī)與信息工程學(xué)院, 天津 300387)
安全帽能夠有效減少頭部和頂部受到的壓力, 保護(hù)人的頭部免受侵害[1], 是不可替代的防護(hù)工具.不佩戴安全帽等不安全行為是導(dǎo)致工程現(xiàn)場(chǎng)事故發(fā)生的主要原因.因此, 長(zhǎng)期以來工人不安全行為管理一直被認(rèn)為是預(yù)防和控制工程現(xiàn)場(chǎng)生產(chǎn)事故的根本途徑[2].由于工程現(xiàn)場(chǎng)范圍較大、工作時(shí)間長(zhǎng), 使用人工方法對(duì)安全帽的佩戴情況進(jìn)行監(jiān)管, 不僅耗費(fèi)大量人力物力, 而且容易出現(xiàn)漏檢情況.
隨著計(jì)算機(jī)視覺技術(shù)的快速發(fā)展, 基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法取得了巨大的成功.基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法可劃分為兩個(gè)類別, 一類是two stage檢測(cè)器, 主要包括R-CNN[3], Fast R-CNN[4], Faster R-CNN[5]等, 首先產(chǎn)生多個(gè)可能包含待測(cè)物體候選框(proposal),再對(duì)這些候選框進(jìn)行位置的修定和目標(biāo)的分類, 得到最后的檢測(cè)結(jié)果.另一類是one stage檢測(cè)器, 以YOLO系列, SSD[6], RetinaNet[7]為代表, 不產(chǎn)生候選框, 直接在CNN網(wǎng)絡(luò)中提取特征完成目標(biāo)的分類與定位, 整個(gè)過程只需要一步, 檢測(cè)速度更快.2020年4月, Bochkovskiy等人[8]提出YOLOv4目標(biāo)檢測(cè)算法, 在YOLOv3[9]的基礎(chǔ)上加入了各種可以提升精度的tricks, 速度保持不下降的情況下, 在MS COCO數(shù)據(jù)集上達(dá)到了43.5% AP,實(shí)現(xiàn)了精度和速度的最優(yōu)平衡.
采用基于深度學(xué)習(xí)的目標(biāo)檢測(cè)方法對(duì)安全帽佩戴情況進(jìn)行檢測(cè)已成為趨勢(shì).施輝等人[10]改進(jìn)YOLOv3目標(biāo)檢測(cè)方法, 使用圖像金字塔結(jié)構(gòu)來獲取多尺度的特征圖, 進(jìn)行位置和類別的預(yù)測(cè), 從而提高安全帽的識(shí)別精度; 徐先峰等人[11]使用輕量級(jí)網(wǎng)絡(luò) MobileNet替換SSD中的特征提取網(wǎng)絡(luò)VGG, 來提高安全帽檢測(cè)的速度, 在安全帽檢測(cè)模型上進(jìn)行改進(jìn).但潘存瑞等人[12]指出: 工地現(xiàn)場(chǎng)人員組成復(fù)雜, 流動(dòng)性強(qiáng), 管理難度大, 僅進(jìn)行安全帽佩戴檢測(cè)無法實(shí)現(xiàn)對(duì)違規(guī)人員的管理, 因此一些研究人員開始致力于安全帽佩戴監(jiān)管系統(tǒng)的研究, 如樊鈺[13]設(shè)計(jì)的安全帽檢測(cè)系統(tǒng)可以對(duì)報(bào)警區(qū)域出現(xiàn)行人未佩戴安全帽進(jìn)行報(bào)警, 但無法進(jìn)行有效的違規(guī)圖片抓取、違規(guī)人數(shù)統(tǒng)計(jì)以及解決重復(fù)警告問題, 仍無法滿足當(dāng)前工程現(xiàn)場(chǎng)的實(shí)際需求.
本文設(shè)計(jì)并開發(fā)了一套安全帽智能監(jiān)管系統(tǒng).首先根據(jù)實(shí)際應(yīng)用場(chǎng)景對(duì)安全帽數(shù)據(jù)集進(jìn)行了擴(kuò)充, 對(duì)當(dāng)前主流的目標(biāo)檢測(cè)模型進(jìn)行實(shí)驗(yàn)對(duì)比, 最終選用速度和精度均具優(yōu)勢(shì)的YOLOv4目標(biāo)檢測(cè)模型, 使用K-means算法針對(duì)安全帽目標(biāo)較小的特點(diǎn)對(duì)數(shù)據(jù)集進(jìn)行聚類分析生成新的先驗(yàn)框, 并進(jìn)行訓(xùn)練得到檢測(cè)模型, 提高安全帽的識(shí)別精度, 實(shí)現(xiàn)對(duì)監(jiān)控中工人是否佩戴安全帽的精確實(shí)時(shí)檢測(cè), 并在YOLOv4檢測(cè)模型的基礎(chǔ)上結(jié)合跟蹤模型DeepSORT, 為每個(gè)檢測(cè)目標(biāo)標(biāo)記一個(gè)唯一的ID, 有效解決違規(guī)人員重復(fù)警告和無法進(jìn)行違規(guī)數(shù)據(jù)統(tǒng)計(jì), 違規(guī)圖片抓取的問題; 并結(jié)合視頻推拉流,OpenCV圖像處理, ECharts數(shù)據(jù)可視化等技術(shù), 最終制作成具有安全帽檢測(cè)、檢測(cè)視頻實(shí)時(shí)直播、違規(guī)人員實(shí)時(shí)警告、違規(guī)圖片抓取并展示、違規(guī)數(shù)據(jù)可視化監(jiān)測(cè)、查看違規(guī)歷史圖片等多功能的跨平臺(tái)移動(dòng)APP,可同時(shí)兼容IOS和安卓設(shè)備, 方便管理人員隨時(shí)隨地使用, 真正實(shí)現(xiàn)對(duì)工程現(xiàn)場(chǎng)工人不佩戴安全帽行為的有效監(jiān)管.
系統(tǒng)功能模塊如圖1所示.(1)用戶管理.用戶初次使用系統(tǒng)時(shí), 可以使用個(gè)人信息進(jìn)行注冊(cè), 注冊(cè)并登錄成功后方可使用該系統(tǒng); 若用戶忘記密碼, 可以通過修改找回密碼繼續(xù)使用系統(tǒng).(2)安全帽檢測(cè)跟蹤.對(duì)監(jiān)控視頻流中的工人進(jìn)行安全帽佩戴檢測(cè)和跟蹤.(3)狀態(tài)管理.用戶可以在APP端實(shí)時(shí)查看經(jīng)過安全帽檢測(cè)跟蹤后的監(jiān)控視頻, 若視頻中出現(xiàn)違規(guī)人員, 則自動(dòng)進(jìn)行違規(guī)圖片抓取, 并觸發(fā)彈窗警告提醒用戶, 同時(shí)可以點(diǎn)擊“歷史違規(guī)”按鈕, 查看歷史違規(guī)圖片, 將違規(guī)數(shù)據(jù)通過柱狀圖、折線圖等多種格式進(jìn)行展示, 同時(shí)可以下載導(dǎo)出違規(guī)數(shù)據(jù), 更加方便用戶監(jiān)管工程現(xiàn)場(chǎng)安全帽佩戴情況.
圖1 安全帽監(jiān)管系統(tǒng)功能模塊圖
基于深度學(xué)習(xí)的安全帽監(jiān)管系統(tǒng)的架構(gòu)如圖2所示.通過監(jiān)控?cái)z像頭, 對(duì)工程現(xiàn)場(chǎng)監(jiān)控視頻進(jìn)行采集,在本地服務(wù)器對(duì)視頻進(jìn)行安全帽檢測(cè)跟蹤處理, 并將處理中的視頻進(jìn)行實(shí)時(shí)推流以及違規(guī)數(shù)據(jù)和圖片發(fā)送至云端, 在云端進(jìn)行大數(shù)據(jù)的分析、統(tǒng)計(jì)和存儲(chǔ), 最后在跨平臺(tái)APP終端進(jìn)行展示.
圖2 安全帽監(jiān)管系統(tǒng)架構(gòu)圖
借助FFmpeg和本地服務(wù)器Nginx可以將視頻數(shù)據(jù)轉(zhuǎn)換成視頻流實(shí)時(shí)上傳至云端服務(wù)器, 在客戶端進(jìn)行拉流展示從而實(shí)現(xiàn)直播的效果, 推拉流過程如圖3所示.其中, 推流過程見圖3左側(cè)日志, 拉流過程如圖3右側(cè)視頻所示.為了在移動(dòng)APP端實(shí)時(shí)展示經(jīng)過安全帽檢測(cè)和跟蹤后的監(jiān)控視頻, 方便管理人員實(shí)時(shí)查看工程現(xiàn)場(chǎng)的狀況.本系統(tǒng)在視頻推拉流的基礎(chǔ)上, 使用OpenCV函數(shù)將監(jiān)控視頻流截取成一幀一幀的圖片放入隊(duì)列中, 調(diào)用安全帽檢測(cè)跟蹤模型, 再將檢測(cè)后的圖片以流的形式經(jīng)過FFmpeg進(jìn)行推流.
圖3 FFmpeg推流和VLC拉流過程圖
由于手機(jī)瀏覽器無Flash插件, 無法直接在移動(dòng)APP上使用video.js拉取FFmpeg推送的rtmp圖片流, 本系統(tǒng)使用開源Smart-rtmpd服務(wù)器將rtmp協(xié)議的圖片流轉(zhuǎn)換成hls協(xié)議的m3u8格式圖片流, 最終在移動(dòng)APP端成功拉流顯示, 從而實(shí)現(xiàn)監(jiān)控視頻的邊檢測(cè)邊展示.
對(duì)監(jiān)控視頻中的安全帽進(jìn)行檢測(cè)跟蹤過程中, 使用track.people_id記錄檢測(cè)結(jié)果為“person”的ID號(hào),track.track_id為當(dāng)前畫面中檢測(cè)到新目標(biāo)的ID號(hào), 如果track.track_id大于track.people_id并且當(dāng)前畫面中新目標(biāo)的標(biāo)簽class_names[0]為“person”時(shí), 則認(rèn)為畫面出現(xiàn)新的未佩戴安全帽的工人, 更新記錄違規(guī)人數(shù)unsafety_count的值, 調(diào)用OpenCV函數(shù)對(duì)當(dāng)前畫面進(jìn)行截取, 并連接數(shù)據(jù)庫將圖片保存至數(shù)據(jù)庫的違規(guī)圖片數(shù)據(jù)表中并更新數(shù)據(jù)庫中的違規(guī)數(shù)據(jù)信息.
通過編譯一組完成特定功能的SQL語句完成數(shù)據(jù)的存儲(chǔ)過程.本系統(tǒng)將數(shù)據(jù)存儲(chǔ)在云端MySQL數(shù)據(jù)庫中, 保證系統(tǒng)數(shù)據(jù)信息的安全.后端采用PHP語言進(jìn)行數(shù)據(jù)存取, 完成前后端的交互.存儲(chǔ)數(shù)據(jù)包括移動(dòng)APP的用戶信息表app_user_data, 包含用戶名和密碼,手機(jī)號(hào)以及性別等字段; 違規(guī)數(shù)據(jù)表app_illegal_data,包含未佩戴安全帽的總?cè)藬?shù), 以及違規(guī)日期等字段; 違規(guī)圖片數(shù)據(jù)表app_illegal_image, 主要包括違規(guī)圖片的ID號(hào), 存入時(shí)間, 名稱以及存放的路徑等字段.
用戶使用移動(dòng)APP時(shí), 應(yīng)用與服務(wù)器建立全雙工通道.當(dāng)服務(wù)器數(shù)據(jù)庫中違規(guī)圖片數(shù)據(jù)表發(fā)生更新時(shí),違規(guī)圖片數(shù)據(jù)表的觸發(fā)器會(huì)啟動(dòng)外部PHP函數(shù), 提取對(duì)應(yīng)的圖片數(shù)據(jù), 并使用ws.broadcast函數(shù)廣播到與服務(wù)器相連的多個(gè)用戶, 用戶端ws.onmessage函數(shù)對(duì)接收到的圖片信息進(jìn)行解析顯示, 從而實(shí)現(xiàn)違規(guī)圖片在移動(dòng)APP端的展示.
用戶查看違規(guī)數(shù)據(jù)時(shí), 移動(dòng)APP發(fā)送Ajax請(qǐng)求,服務(wù)器接收到Ajax請(qǐng)求后, 服務(wù)器啟動(dòng)PHP函數(shù)讀取數(shù)據(jù)庫中的違規(guī)數(shù)據(jù), 并將數(shù)據(jù)以JSON格式發(fā)送給用戶, 用戶端解析接收到的JSON串, 使用ECharts內(nèi)部函數(shù)將數(shù)據(jù)添加到對(duì)應(yīng)的ECharts表格函數(shù)中生成表格, 并以多種圖形形式展示違規(guī)數(shù)據(jù)分別如圖4和圖5所示, 從而實(shí)現(xiàn)違規(guī)數(shù)據(jù)可視化, 使用戶更加方便的分析工程現(xiàn)場(chǎng)近期未佩戴安全帽的數(shù)據(jù).
圖4 柱狀圖數(shù)據(jù)展示
圖5 折線圖數(shù)據(jù)展示
如圖6所示, YOLOv4使用的主干提取網(wǎng)絡(luò)CSPDarknet53是在Darknet53 (YOLOv3主干網(wǎng)絡(luò))的基礎(chǔ)上使用CSPnet結(jié)構(gòu)[14]產(chǎn)生的, 在降低計(jì)算復(fù)雜度的同時(shí)還可以保證準(zhǔn)確率.同時(shí)為了更好地提取融合特征, YOLOv4引入SPP (空間金字塔池化層)結(jié)構(gòu)和PAN (路徑聚合網(wǎng)絡(luò))結(jié)構(gòu).其中在SPP模塊中, 使用1×1, 5×5, 9×9, 13×13 的池化核進(jìn)行最大池化, 使得空間尺寸大小得以保留, 然后將不同尺度的特征圖進(jìn)行連接作為輸出, 可以更有效的增加主干特征的接收范圍, 顯著的分離上下文特征.PAN結(jié)構(gòu)則借鑒了應(yīng)用于圖像分割領(lǐng)域的PANet[15], 可以自底向上傳達(dá)強(qiáng)定位特征, 進(jìn)一步提高特征提取的能力.
圖6 YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)
針對(duì)開源安全帽數(shù)據(jù)集[16]缺乏實(shí)際應(yīng)用場(chǎng)景數(shù)據(jù)這一問題, 在原數(shù)據(jù)集的基礎(chǔ)上進(jìn)行擴(kuò)充.采集了多個(gè)工程現(xiàn)場(chǎng)的監(jiān)控視頻, 并將視頻中符合場(chǎng)景需要的圖片進(jìn)行裁剪和截取, 然后使用labelImg進(jìn)行數(shù)據(jù)標(biāo)注如圖7所示.最終選取8805張圖片作為數(shù)據(jù)集, 并隨機(jī)選取其中7924張作為訓(xùn)練數(shù)據(jù)集, 881張作為測(cè)試數(shù)據(jù)集.
圖7 安全帽數(shù)據(jù)集標(biāo)注
在安全帽數(shù)據(jù)集上使用K-means算法進(jìn)行聚類分析, 生成新的先驗(yàn)框.YOLOv4模型使用的9個(gè)先驗(yàn)框是在VOC數(shù)據(jù)集上計(jì)算得出的, 目標(biāo)大小差距很大,而安全帽數(shù)據(jù)集以小目標(biāo)為主, 原先驗(yàn)框的尺寸和數(shù)據(jù)集中目標(biāo)的尺寸差異較大, 會(huì)導(dǎo)致檢測(cè)模型的精度不高, 因此使用K-means算法對(duì)數(shù)據(jù)集進(jìn)行聚類分析,得到9個(gè)新的先驗(yàn)框分別為(7, 15), (9, 19), (11,23),(14, 29), (20, 36), (28, 49), (41, 70), (64, 110), (120, 207).并分別使用原先驗(yàn)框和新先驗(yàn)框?qū)OLOv4檢測(cè)模型進(jìn)行訓(xùn)練, 對(duì)比檢測(cè)效果如圖8所示, 檢測(cè)圖片中的藍(lán)色框?yàn)閿?shù)據(jù)集的標(biāo)注框, 紅色框和綠色框?yàn)槟P偷臋z測(cè)結(jié)果, 其中綠色框?yàn)檎_檢測(cè)的目標(biāo)框, 反之紅色框則為錯(cuò)誤檢測(cè)的目標(biāo)框.檢測(cè)結(jié)果表明, 在安全帽數(shù)據(jù)集上使用K-means算法進(jìn)行聚類分析生成新的先驗(yàn)框, 并進(jìn)行訓(xùn)練得到的YOLOv4檢測(cè)模型對(duì)安全帽的檢測(cè)更加精準(zhǔn).
圖8 使用原、新先驗(yàn)框訓(xùn)練模型后檢測(cè)效果對(duì)比
為了進(jìn)一步驗(yàn)證在YOLOv4模型使用K-means算法生成的新先驗(yàn)框的有效性, 檢測(cè)訓(xùn)練模型的性能,在相同的實(shí)驗(yàn)環(huán)境下分別使用YOLOv3、SSD、Faster R-CNN對(duì)數(shù)據(jù)集進(jìn)行訓(xùn)練, 再使用得到的訓(xùn)練模型進(jìn)行測(cè)試, 實(shí)驗(yàn)結(jié)果如圖9所示.使用經(jīng)過K-means算法聚類分析得到的新先驗(yàn)框進(jìn)行訓(xùn)練的YOLOv4檢測(cè)模型比使用原先驗(yàn)框進(jìn)行訓(xùn)練的YOLOv4模型MAP(AP表示單個(gè)檢測(cè)類別的平均精度, MAP則是多個(gè)類別AP的平均值, 即檢測(cè)的準(zhǔn)確率)提高0.81%, 且高于YOLOv3的85.08%, SSD的77.11%, 以及Faster RCNN的88.66%, FPS (每秒能檢測(cè)的幀數(shù), 即模型的檢測(cè)速度)高達(dá)24, 性能最優(yōu), 完全滿足工業(yè)需求.
圖9 各模型實(shí)驗(yàn)結(jié)果對(duì)比
目標(biāo)跟蹤SORT算法[17]使用卡爾曼濾波算法預(yù)測(cè)當(dāng)前位置, 使用匈牙利算法進(jìn)行逐幀關(guān)聯(lián), 在高幀速率下能夠取得良好的性能, 但是對(duì)于物體遮擋情況幾乎沒有處理, 容易導(dǎo)致ID切換.相比于SORT, DeepSORT算法[18]使用了更加可靠的度量來代替關(guān)聯(lián)度量, 還加入了級(jí)聯(lián)匹配以解決目標(biāo)較長(zhǎng)時(shí)間被遮擋的情況.因此本文采用DeepSORT算法對(duì)檢測(cè)目標(biāo)進(jìn)行跟蹤, 為每個(gè)人標(biāo)記一個(gè)唯一的ID, 以避免重復(fù)警告, 并能實(shí)現(xiàn)對(duì)違規(guī)人員的正確統(tǒng)計(jì).
(1) 狀態(tài)估計(jì)
DeepSORT使用一個(gè)8 維參數(shù) (u,v,r,h,x˙,y˙,r˙,h˙)來描述目標(biāo)在某時(shí)刻的運(yùn)動(dòng)狀態(tài), 前4個(gè)參數(shù)分別表示目標(biāo)檢測(cè)框的中心點(diǎn)坐標(biāo)、長(zhǎng)寬比、高度, 后4個(gè)參數(shù)為對(duì)應(yīng)在圖像坐標(biāo)系上的相對(duì)速度, 并使用具有等速運(yùn)動(dòng)和線性觀測(cè)模型的標(biāo)準(zhǔn)卡爾曼濾波器預(yù)測(cè)更新運(yùn)動(dòng)狀態(tài)(u,v,r,h).
DeepSORT使用卡爾曼濾波器預(yù)測(cè)框和目標(biāo)檢測(cè)框之間的馬氏距離來描述運(yùn)動(dòng)信息的關(guān)聯(lián)程度.計(jì)算公式為:
其中,dj表示第j個(gè)目標(biāo)檢測(cè)框,yi表示第i個(gè)跟蹤器,Si表示檢測(cè)框位置和跟蹤器預(yù)測(cè)位置之間的協(xié)方差, 如果計(jì)算得到的馬氏距離小于閥值, 則表示運(yùn)動(dòng)信息關(guān)聯(lián)成功.
如果僅使用運(yùn)動(dòng)信息進(jìn)行關(guān)聯(lián)匹配, 當(dāng)運(yùn)動(dòng)的不確定性較高時(shí)容易導(dǎo)致ID切換, 因此DeepSORT引入余弦距離對(duì)外觀信息的關(guān)聯(lián)程度進(jìn)行度量.計(jì)算公式如下:
其中,ri為每個(gè)目標(biāo)檢測(cè)框dj的特征向量,表示余弦相似度, 1-余弦相似度表示余弦距離.
DeepSORT使用運(yùn)動(dòng)信息和外觀信息兩種度量的加權(quán)作為最終度量, 計(jì)算公式為:
其中, λ是一個(gè)超參數(shù), 默認(rèn)為0.只有同時(shí)滿足兩個(gè)度量閾值條件時(shí), 才認(rèn)為第j個(gè)目標(biāo)檢測(cè)和第i個(gè)目標(biāo)跟蹤之間實(shí)現(xiàn)了正確的關(guān)聯(lián).
(2) 級(jí)聯(lián)匹配
如果一個(gè)目標(biāo)被長(zhǎng)時(shí)間遮擋, 就會(huì)大大增加卡爾曼濾波器預(yù)測(cè)的不確定性.因此為了讓目標(biāo)優(yōu)先匹配消失時(shí)間較短的跟蹤器, 首先為每個(gè)檢測(cè)器分配一個(gè)設(shè)有time_since_update 參數(shù)的跟蹤器, 如果跟蹤器順利完成匹配和更新, 則重置參數(shù)為0, 否則對(duì)參數(shù)進(jìn)行更新+1.級(jí)聯(lián)匹配就是根據(jù)這個(gè)參數(shù)進(jìn)行匹配, 參數(shù)小、消失時(shí)間較短的跟蹤器優(yōu)先匹配, 從而讓當(dāng)前目標(biāo)匹配上距離當(dāng)前時(shí)刻較近的跟蹤器.級(jí)聯(lián)匹配能夠保證較近出現(xiàn)的目標(biāo)具有較大的優(yōu)先權(quán), 從而有效解決目標(biāo)被長(zhǎng)時(shí)間遮擋的情況.
在YOLOv4目標(biāo)檢測(cè)算法的基礎(chǔ)上, 結(jié)合跟蹤算法DeepSORT, 最終實(shí)現(xiàn)安全帽的自動(dòng)檢測(cè)跟蹤, 其算法的處理流程如圖10所示, 首先獲取監(jiān)控視頻流的輸入, 對(duì)跟蹤器參數(shù)進(jìn)行初始化; 然后調(diào)用YOLOv4算法對(duì)當(dāng)前幀進(jìn)行安全帽檢測(cè)并利用NMS (非極大值抑制)算法對(duì)檢測(cè)框進(jìn)行篩選, 以及使用卡爾曼濾波器對(duì)上一幀圖片中的目標(biāo)進(jìn)行預(yù)測(cè), 然而檢測(cè)出的目標(biāo)并不能與上一幀的目標(biāo)對(duì)應(yīng)起來, 因此需要融合運(yùn)動(dòng)信息和外觀信息使用級(jí)聯(lián)匹配策略進(jìn)行數(shù)據(jù)關(guān)聯(lián), 并對(duì)未匹配的檢測(cè), 未確認(rèn)狀態(tài)和未匹配的跟蹤器進(jìn)行IOU匹配, 利用最后的匹配結(jié)果對(duì)跟蹤器和特征集等進(jìn)行更新, 繼續(xù)使用新的跟蹤器對(duì)視頻流進(jìn)行預(yù)測(cè), 同時(shí)將當(dāng)前跟蹤結(jié)果進(jìn)行輸出.
圖10 安全帽檢測(cè)跟蹤算法處理流程
使用上述安全帽檢測(cè)跟蹤算法對(duì)視頻處理的效果如圖11所示, 左上角顯示當(dāng)前檢測(cè)幀率FPS、當(dāng)前畫面中目標(biāo)的個(gè)數(shù)Current Object Counter和檢測(cè)到目標(biāo)的總個(gè)數(shù)Total Object Counter.
圖11 安全帽檢測(cè)和跟蹤后的處理效果
視頻界面如圖12所示, 可以實(shí)時(shí)展示經(jīng)過安全帽檢測(cè)和跟蹤后的監(jiān)控視頻, 并且視頻下方可以實(shí)時(shí)展示抓取的違規(guī)圖片, 方便管理人員查看.點(diǎn)擊“查看歷史”按鈕進(jìn)入違規(guī)歷史圖片如圖13所示, 查看歷史違規(guī)人員圖片.檢測(cè)視頻也可橫屏放大觀看, 當(dāng)畫面中出現(xiàn)未佩戴安全帽的人員時(shí), 就會(huì)觸發(fā)警告框進(jìn)行警告提醒, 如圖14所示.
圖12 檢測(cè)視頻直播界面
圖13 違規(guī)歷史圖片界面
圖14 違規(guī)警告界面
系統(tǒng)測(cè)試環(huán)境如下:
硬件環(huán)境: Windows 10專業(yè)版操作系統(tǒng), 16 GB內(nèi)存, 1T硬盤, i5處理器, Android 7.0手機(jī), IOS 13手機(jī).
軟件環(huán)境: HbuilderX編譯器, 夜神模擬器.
使用HbuilderX編譯器打包安卓和IOS應(yīng)用安裝包, 并分別安裝在Android 7.0和IOS 13設(shè)備上進(jìn)行測(cè)試.在聯(lián)網(wǎng)環(huán)境下對(duì)軟件進(jìn)行測(cè)試, 初次打開應(yīng)用耗時(shí)1-3 s.注冊(cè)登錄后各功能使用正常.可實(shí)時(shí)查看檢測(cè)視頻直播畫面并接收實(shí)時(shí)違規(guī)警告, 點(diǎn)擊按鈕可查看違規(guī)歷史圖片, 進(jìn)入違規(guī)數(shù)據(jù)界面可刷新違規(guī)數(shù)據(jù)、查看可視化表格以及導(dǎo)出違規(guī)數(shù)據(jù).經(jīng)測(cè)試, 系統(tǒng)運(yùn)行良好, 魯棒性強(qiáng), 各項(xiàng)功能均符合設(shè)計(jì)要求.
本文介紹了基于深度學(xué)習(xí)的安全帽智能監(jiān)管系統(tǒng),該安全帽監(jiān)管系統(tǒng)可以準(zhǔn)確快速地完成監(jiān)控視頻中安全帽的檢測(cè)和跟蹤, 若有未佩戴安全帽的違規(guī)人員出現(xiàn), 在移動(dòng)APP端可以實(shí)時(shí)發(fā)送警告信息提醒管理人員, 使管理人員可以盡快對(duì)未佩戴安全帽的人員做出提醒和處理, 以有效減少安全事故的發(fā)生; 并對(duì)違規(guī)人員進(jìn)行有效的圖片抓取, 相對(duì)于存儲(chǔ)監(jiān)控視頻, 只存儲(chǔ)違規(guī)圖片, 可以大大節(jié)省存儲(chǔ)空間, 并可以作為后期管理人員處理未佩戴安全帽人員的有效證據(jù); 實(shí)現(xiàn)違規(guī)數(shù)據(jù)的可視化展示, 可以幫助管理人員了分析工程現(xiàn)場(chǎng)違規(guī)數(shù)據(jù)的變化情況, 為管理人員做出響應(yīng)的安全決策提供有效依據(jù), 能夠真正實(shí)現(xiàn)工程現(xiàn)場(chǎng)的智慧化管理, 具有重要的推廣意義.并希望該系統(tǒng)能進(jìn)一步推廣至更多工程現(xiàn)場(chǎng), 協(xié)助管理人員保障工人的人身安全, 將發(fā)生悲劇的概率降低至零點(diǎn).