張 乾,岳詩琴,范 玉,白金華
(1. 貴州民族大學(xué)教務(wù)處,貴州 貴陽 550025;2. 貴州省模式識別與智能系統(tǒng)重點實驗室, 貴州 貴陽 550025;3. 貴州民族大學(xué)數(shù)據(jù)科學(xué)與信息工程學(xué)院,貴州 貴陽 550025)
安全帽是為了意外發(fā)生時保護人們?nèi)松踩闹饕ぞ咧唬欢捎诓糠秩巳河捎诎踩庾R淡薄從而不佩戴安全帽。當發(fā)生危險時,佩戴安全帽對人的頭部有較好的保護作用。因此,通過現(xiàn)代信息技術(shù)尤其是計算機視覺技術(shù)對某些特殊場景,例如建筑工地工人佩戴安全帽狀態(tài)進行智能實時檢測有著重要的意義。
通過人工智能技術(shù)尤其的是計算機視覺技術(shù)對人工佩戴安全帽的狀態(tài)進行實時智能檢測是成為研究成果轉(zhuǎn)化的新領(lǐng)域。工人佩戴安全帽的狀態(tài)檢測本質(zhì)上是計算機視覺中目標檢測的問題。近年來,國內(nèi)外學(xué)者對此應(yīng)用的研究開始了一些工作。第一類是基于傳統(tǒng)的模式識別方法,例如:趙震[1]將安全帽特征視為圖像Haar角點的組合,并采用AdaBoost作為分類器,通過OpenCV平臺進行模擬仿真,取得了一定成績。但由于場景特別復(fù)雜加上AdaBoost對數(shù)據(jù)敏感性很高,因此其移植性難以保證。第二類方法是基于深度學(xué)習(xí)線路的檢測方法,例如:王忠玉[2],在 Faster R-CNN基礎(chǔ)上通過融合深度卷積神經(jīng)網(wǎng)絡(luò)的特征金字塔與分層預(yù)測思想設(shè)計了一種安全帽佩戴檢測算法。但在融合金字塔與分層預(yù)測中需要人為主觀設(shè)置相應(yīng)的參數(shù),導(dǎo)致了系統(tǒng)的智能化程度不高。郝存明[3]等將深度學(xué)習(xí)模型卷積神經(jīng)網(wǎng)絡(luò)和YOLO目標檢測算法應(yīng)用于安全帽檢測。YOLO以及改進版本逐步被用于安全帽的檢測應(yīng)用之中[4-6]。但是該方法對于背景比較復(fù)雜的情況,識別率還有待提高。以上基于傳統(tǒng)圖像處理和機器學(xué)習(xí)的方法,存在手工設(shè)計特征困難、泛化能力差等問題。基于深度學(xué)習(xí)的安全帽檢測需要大量的標注安全帽圖像數(shù)據(jù)作為基礎(chǔ),并且訓(xùn)練模型的時間成本較高。隨機蕨是一種基于貝葉斯概率的決策方法,由于其理論的完備性和模型的有效性表現(xiàn)較好,近年來被廣泛應(yīng)用于計算機視覺中的目標檢測研究[7-9]。鑒于此,本文提出了一種改進的隨機蕨并將其應(yīng)用于計算機視覺中的安全帽佩戴檢測。
隨機蕨(Random Fern)的基本思想是通過多個特征組合來表達給定的對象[10]。通常情況下,在模式識別中的目標檢測問題上是通過模式的特征對其所屬的類別進行判定和決策,其形式為

(1)
其中,ci是類標簽集合中的某個類,F(xiàn)是目標特征

(2)
fi是特征某個維度上的屬性且fi∈(0,1)

(3)
I(dj1)代表位置為dj1處的灰度值。dj1和dj2是隨機生成的兩像素位置。通過概率公式有

(4)
在計算中,假設(shè)類別均衡,那么p(ci)是相同的,并且與分母p(f1,f2,…fN)是無關(guān)的。為了簡化計算這個兩個部分可以不在考慮。那么進一步簡化為

(5)
將模式的特征分成不同的組,被分成的組就被定義為蕨特征。在分組后,假設(shè)不同元組之間的特征相互獨立;同時,假設(shè)組內(nèi)任兩維特征fi和fj之間具有較高的相關(guān)性,現(xiàn)假設(shè)特征被分成M組(也即是M棵隨機蕨)那么(5)被進一步轉(zhuǎn)換成

(6)


(7)
通過上面的過程,在隨機蕨中算法的空間存儲量為了M*2S。從存儲空間的計算量來看,隨著二元測試對數(shù)S的增加,算法的空間需求量成指數(shù)級增長,給算法的計算速度帶來了很大的挑戰(zhàn)。鑒于此,本文提出了一種增強的隨機蕨方法用于目標檢測研究。
在算法的存儲空間計算中,當S=5時,25=32,然而當S=10時,210=1024。由此可以,在隨機蕨中,二元測試對數(shù)對算法的存儲空間有著關(guān)鍵的影響,然而隨著S的增加,隨機蕨的效果得到提升,但算法非常占用內(nèi)存。如何在S與隨機蕨的效果之間進行均衡是隨機蕨的關(guān)鍵問題。本文借鑒了在深度學(xué)習(xí)中較為前沿的EfficientNet和EfficientDet[11]兩種網(wǎng)絡(luò)結(jié)構(gòu)中的設(shè)計思路,提出了一種自適應(yīng)的復(fù)合模型擴張隨機蕨方法應(yīng)用于計算機視覺中的安全帽檢測研究。
在隨機蕨中,基本的單個蕨模型:
Ym=T(fm)
(8)
其中,fm是隨機蕨,T()是某類的密度估計算法,可以是概率密度估計或者是決策樹方法,Ym是密度的輸出結(jié)果。在經(jīng)過多重獨立采樣(或多組獨立特征)進行學(xué)習(xí)訓(xùn)練后形成其中隨機蕨叢。
T=T1(f1,X)⊕T2(f2,X)…TM(fM,X)
(9)
其中,Ti(fi,X)表示樣本X在隨機蕨fi情況下通過密度估計算法T()對應(yīng)的輸出,T表示整個隨機蕨叢。在訓(xùn)練過程中,可通過統(tǒng)計各類的先驗概率p(F|Ck,X(S,M)),其中F是所有特征的集合,S是每棵隨機蕨中的二元測試對數(shù),M獨立采樣次數(shù)或多組獨立特征的組數(shù)。由于在不同的設(shè)備上,實驗的環(huán)境配置存在一定差異,那么可建立自適應(yīng)的目標函數(shù)有:


(10)
其中,ACC(T(S,M))目標函數(shù),目的是搜索準備率,memory(T)表示當前隨機蕨需要的內(nèi)存資源量,get_mem_info()為當前計算機可用的內(nèi)存資源量,S和M讓表示二元測試對數(shù)和獨立采樣次數(shù)或多組獨立特征的組數(shù),因此需為整數(shù)。本文改變了傳統(tǒng)隨機蕨中通過固定S然后搜索M(固定M然后搜索S),然后反復(fù)實驗搜索到較好的S和M組對。現(xiàn)建立自適應(yīng)復(fù)合擴張法參數(shù)
No.ferns:M=「βφ?

(11)
對(11)的求解中,先初始化φ=1,然后通過網(wǎng)格搜索與交叉驗證法搜索到最優(yōu)的φ。增強隨機蕨算法可描述如下:
輸入:圖像,S,M初始值,φ=1
輸出:隨機蕨叢
1)在圖像中隨機選擇S對二元組并進行測試,得到0/1元素;
2)將得到的0/1元素組成的序列(蕨)通過密度估計T()估計其概率分布情況;
3)讀取計算機當前的內(nèi)存情況get_mem_info();
5)更新S←S,M←M;
6)當S,M為最佳狀態(tài)后,重復(fù)執(zhí)行算法中的步驟1)2)以及滿足memory(T)get_mem_info()直至算法結(jié)束;
7)集成蕨叢以及相應(yīng)的密度估計信息。
實驗環(huán)境為戴爾Inspiron 15-7560 筆記本電腦,Windows 10 64 位旗艦版操作系統(tǒng), CPU為Intel i7-7500U,GPU加速器為NVIDIA GeForce 940MX,編程語言為Pyhton 3.8.3。
在安全帽佩戴情況檢測中,公開的數(shù)據(jù)集十分稀少,根據(jù)本文實驗需要以及目前國際資源,采用 了國際上最新公開的數(shù)據(jù)集,該數(shù)據(jù)集共有7581張圖像,其中有部分為正樣本(有安全帽),大部分為圖像數(shù)據(jù)則為負樣本(圖像中無安全帽)。該安全帽檢測研究的數(shù)據(jù)集公開的有效下載鏈接為https://github.com/njvisionpower/Safety-Helmet-Wearing-Dataset(SHWD)。圖1中展現(xiàn)了該數(shù)據(jù)庫上的部分示例圖像。

圖1 安全帽檢測部分圖像示例
在SHWD中,圖像的尺寸和像素差異性很大,為了保證研究的科學(xué)性和合理性,先對圖像進行統(tǒng)一尺寸縮放處理,保證圖像具有相同的基本信息。
在訓(xùn)練階段,按照增強隨機蕨的算法流程,基于增強隨機蕨的工人安全帽佩戴檢測過程為,首先,在圖像中隨機取S對二元組像素點并對它們的像素值進行比較然后形成0/1元素的序列(隨機蕨);隨后,采用密度估計T()估計其概率分布;接著,判定計算機可用的內(nèi)存資源是否滿足隨機蕨叢所需,若否則通過式(11)對網(wǎng)格搜索與交叉驗證法搜索隨機蕨叢的參數(shù)進行調(diào)整和優(yōu)化,調(diào)整參數(shù)S和M以確保模型的準確率,通過大量的采樣,隨機蕨叢將圖像中目標和非目標的概率密度分布計算出來。在測試階段,隨機采取S對二元組像素點并對它們的像素值進行比較然后形成0/1元素的序列(隨機蕨),然后計算其對應(yīng)的十進制輸出值,分別在對應(yīng)的值維度上統(tǒng)計其輸出概率并歸一化后取最大值類別輸出,通過M次反復(fù)采用后采用集成的最大輸出概率輸出。
為了驗證本文提出的增強隨機算法在安全帽檢測應(yīng)用上的實驗效果,實驗對照了數(shù)據(jù)集上參考的YOLOV5S、YOLOV5M、YOLOV5L以及隨機蕨算法在安全帽檢測上的P、R以及mAp0.5指標,對照結(jié)果見表1。

表1 安全帽檢測P、R以及mAp0.5指標對照
通過表1可以看出,本文算法的P值為0.938,較其它算法最好結(jié)果高0.09;本文算法的R值為0.947,較其它算法最好結(jié)果高0.018;本文算法的R值為0.933,較其它算法最好結(jié)果高0.014。以上對照結(jié)果說明了本文提出算法在安全帽檢測應(yīng)用上較其基礎(chǔ)算法和深度學(xué)習(xí)中的YOLOV5算法均有競爭力。實驗結(jié)果統(tǒng)計對照如圖2所示:

圖2 實驗結(jié)果統(tǒng)計對照
二元測試的對數(shù)和蕨的數(shù)量的確定是隨機蕨中的關(guān)鍵問題,本文創(chuàng)新性地將網(wǎng)格搜索與交叉驗證法搜索用于這兩個參數(shù)的選優(yōu)問題。在參數(shù)確定過程中應(yīng)用了基于啟發(fā)式的網(wǎng)格搜索與交叉驗證法搜索到最優(yōu)的φ進而確定二元測試對數(shù)和隨機采樣重復(fù)次數(shù)。在SHWD數(shù)據(jù)庫上本文提出算法的P, R和mAp0.5分別為0.938,0.947和0.933,較YOLOV5S、YOLOV5M、YOLOV5等具有競爭力。
本文提出的啟發(fā)式的網(wǎng)格搜索與交叉驗證法搜索的有效應(yīng)用為深度學(xué)習(xí)尤其是transformer模型中自注意力模塊等提出了改進的建議方向和思路。下一步研究的內(nèi)容將包括:1)網(wǎng)格搜索與交叉驗證法搜索在transformer模型中的改進。2)隨機蕨與transformer的融合在目標檢測上的應(yīng)用和仿真。