寧波市鎮(zhèn)海蛟川書院 錢昱成 符水波
為解決工地場所人員的安全隱患問題,提出了一種基于計算機視覺技術(shù)與人工智能技術(shù)相結(jié)合的安全帽檢測系統(tǒng)。設計了一種與特征圖深度融合的改進YOLOv3算法,它能夠捕捉到原圖像中更多中小型目標物體的圖像信息,使得系統(tǒng)模型更加關(guān)注、學習這一塊圖像信息,進而能夠更好的完成對安全帽佩戴檢測這一任務。實驗結(jié)果表明,該系統(tǒng)能夠?qū)さ刂械墓と诉M行實時、高效檢測,有效的減少工地場所安全隱患。
據(jù)2020年的全國安全生產(chǎn)數(shù)據(jù)分析,其發(fā)現(xiàn)生產(chǎn)安全事故中有94%的原因是作業(yè)技術(shù)人員的不安全行為所導致,如越權(quán)限進入工地場所、違規(guī)操作、未正確佩戴安全保護設備、操作失誤等行為。在施工過程中,正確佩戴安全帽是一項基本規(guī)定。由于缺乏監(jiān)督,工人不戴安全帽所造成的安全事故時有發(fā)生。為了解決施工人員的安全隱患,有必要對施工人員的安全帽進行檢查,降低因不正確佩戴安全帽而造成的事故發(fā)生率。
生產(chǎn)安全問題一直是一個社會關(guān)注度極高的話題。實現(xiàn)智能視頻監(jiān)控安全帽佩戴是安全生產(chǎn)環(huán)節(jié)必不可少的。胡恬等人使用YCbCr模型,利用不同人群膚色差異進行定位、采取小波變換進行數(shù)據(jù)預處理,通過訓練神經(jīng)網(wǎng)絡檢測圖像中人員是否佩戴安全帽。楊莉瓊利用SVM分類器對臉部上方是否有安全帽進行判斷,進而實現(xiàn)對工人安全帽佩戴行為的實時檢測和預警。與上述傳統(tǒng)方法不同,本文利用基于卷積神經(jīng)網(wǎng)絡,設計了一種安全帽檢測系統(tǒng),能夠高效、準確的檢測出未佩戴安全帽的工人并給予警告。
檢測系統(tǒng)由兩塊組成,第一塊主要用于對人員的安全帽進行檢測,第二塊實現(xiàn)人員的移動檢測。如何更好的實現(xiàn)兩者是主要的研究工作,檢測流程如下:
(1)現(xiàn)場監(jiān)控設備捕獲人員信息,將視頻流通過網(wǎng)絡傳送至管理系統(tǒng)。
(2)管理系統(tǒng)收到視頻后,通過目標檢測網(wǎng)絡進行安全帽檢測。
(3)若檢測到人員未帶安全帽進行相關(guān)信息保存,保留當前幀圖片并通知管理人員。
(4)管理人員收到警告信息,糾正違反安全生產(chǎn)行為。
安全帽佩戴檢測模塊采用YOLOv3為基礎框架,該方法能夠自主學習目標特征,減少手工特征等人為因素干擾,從而能夠具有較高識別性能,對復雜場景下的不同方向、不同形狀以及不同顏色的安全帽檢測都可以呈現(xiàn)較好的泛化能力和魯棒性。同時還在網(wǎng)絡框架中引入了多尺度預測,在特征圖大小分別為13×13,26×26,52×52上進行圖像檢測。由于不同尺度特征圖對不同物體的識別能力有所區(qū)別,通過多尺度預測和特征融合的方式能夠有效提高圖像中物體的檢測能力,進而有效的提升整個系統(tǒng)的檢測性能??傮w框架如圖1所示。
圖1 總體框架圖
文本中YOLOv3的特征提取網(wǎng)絡使用的是Darknet-53。與YOLOv2中的Darknet-19不同之處在于多了殘差單元模塊,和連續(xù)的1×1和3×3卷積層。該網(wǎng)絡結(jié)構(gòu)共包含了53個卷積層以及5個Max-Pooling層。其中,為了防止過擬合現(xiàn)象的產(chǎn)生,在每個卷積層后都會添加歸一化(BN)操作和dropout隨機線性失活操作。
YOLOv3是采用多個不同尺度融合的方式進行預測,結(jié)合不同特征圖對不同尺寸目標的檢測能力不同,將不同尺度檢測效果最好的特征圖進行融合的方式能夠提高整體的檢測性能。在YOLOv3中,使用的是維度聚類的方式獲取先驗框從而預測邊界框。通過K-means方法對目標框坐標進行維度聚類,進而得到多個不同大小的先驗框,然后將其分配到多個不同尺度的特征圖上,使得每個特征圖都有著更合適的特征先驗框。在本文訓練過程中,利用二值交叉熵損失進行類別預測。
YOLOv3在目標檢測領(lǐng)域的檢測效果已經(jīng)很不錯,但是針對本文中的安全帽數(shù)據(jù)集,仍需要一些改進使其更適應此檢測任務。改進方法如圖2所示。
圖2 方法框架圖
在現(xiàn)實場景中,由于攝像機角度的不同,視頻中的目標物體大小也不一致。因此為了更好的檢測不同尺寸的安全帽,在YOLOv3的基礎上,提出了多尺度圖像金字塔融合、k均值聚類和多尺度訓練算法改進??紤]到不同尺度適合不同尺寸大小物體的檢測,使用多尺度特征預測更能捕捉到圖像全面,深層次的信息。為了使圖像中的目標更好的檢測出來,盡可能的不漏檢,在網(wǎng)絡進行特征提取后,加入一個更大的卷積層,實現(xiàn)不同尺度大小的物體檢測。多尺度融合指的是將不同層次的特征圖融合連接操作,得到最終的三組預測特征圖,然后在這三組預測特征圖上做定位和分類。在實驗中,先通過k均值聚類算法在本文自制的工人數(shù)據(jù)集上得到預測先驗框維度。YOLOv3算法中的先驗框維度是原先基于COCO數(shù)據(jù)集上訓練得到,這種方式不能很好的滿足于我們特定的安全帽佩戴檢測任務上,為此需要針對工人安全帽數(shù)據(jù)集進行聚類操作,來獲取對應的聚類中心。
在實際應用場景中,人員都是流動的,攝像頭需要不斷的捕獲人員,有些場景下攝像頭拍攝角度不是固定不變的。因此為了更好的定位人員,設計了人員跟蹤算法Deep SORT。在實驗中初步采用了SORT算法,但由于該算法使用的相關(guān)指標只有在狀態(tài)估計的不確定性較低的情況下才能表現(xiàn)出較好的性能,并且在使用過程中容易引起ID切換,因此在遮擋的情況下SORT算法無法跟蹤。而Deep SORT使用更可靠的度量而不是關(guān)聯(lián)度量,并使用卷積神經(jīng)網(wǎng)絡對不同行人的數(shù)據(jù)集進行預訓練,提取行人特征,以增加網(wǎng)絡的魯棒性,從而大大減少了SORT中的ID switches。通過實驗驗證該算法能夠有效減少ID switches,同時在不同場景下的視頻流中也能達到很好的檢測效果。
在本系統(tǒng)中,采用了基于YOLOv3的模型,開發(fā)工具為pycharm,開發(fā)語言主要為python。Keras是目前主流的深度學習開發(fā)框架之一,集成了Tensorflow更方便開發(fā)人員使用。在特定的開發(fā)環(huán)境下,使用該語言,能夠極大的縮短開發(fā)時間,其優(yōu)點如下:
(1)語法簡便,開發(fā)環(huán)境容易搭建。
(2)封裝多個神經(jīng)網(wǎng)絡模塊,能夠快速搭建網(wǎng)絡。
(3)做到CPU與GPU資源切換。
通過設計安全帽檢測系統(tǒng),在工地場景下的工人進行安全帽檢測。當監(jiān)控攝像頭下存在未佩戴安全帽的工人時,系統(tǒng)做出警報。為確保系統(tǒng)的實時性,在GPU環(huán)境中進行了測試。在實時獲取到視頻流時,可能由于網(wǎng)絡環(huán)境等因素的影響造成檢測延時,因此使用GPU測試實時性更好。系統(tǒng)接收工地實時監(jiān)控視頻流,然后通過YOLOv3檢測視頻流中工人是否佩戴安全帽,將檢測的結(jié)果實時展示在檢測視頻方框中。實驗結(jié)果證明本文的系統(tǒng)對于工地場景下的安全帽檢測達到了不錯的效果,人員是否佩戴安全帽基本上都能被本文所提出的系統(tǒng)所檢測出來。系統(tǒng)測試效果如圖3所示。
圖3 檢測效果圖
總結(jié):本文提出的特征圖深度融合的改進YOLOv3的安全帽檢測系統(tǒng),它能夠更加關(guān)注于圖像的中小型目標,同時能夠構(gòu)建4種不同尺度的特征金字塔,不同尺度的特征可以更全面的捕獲到圖像中不同尺寸大小的物體,和深層次的語義信息,使得在檢測中更為準確的定位安全帽。在實時檢測中能夠滿足快速、準確的要求。