趙艷芹, 何東來, 朱子寒
(黑龍江科技大學 計算機與信息工程學院, 哈爾濱 150022)
在煤炭開采的過程中,由于工人以及管理人員對于安全帽佩戴問題的松懈,導致人員傷亡的事故時有發(fā)生。人員未佩戴安全帽輕則礦場整頓、停止生產,影響工程效率,重則出現(xiàn)死傷事故[1]。因此,使用自動化以及數(shù)字化技術檢測安全帽佩戴情況,尤為必要。
賈峻蘇等[2]提出了尋找適合的模型載體,結合形狀顏色等特征進行構造檢測的方法,該方法雖然可以起到檢測效果,但是過程極為復雜。劉曉慧等[3]通過結合圖像的頻域信息與方向梯度值的方法用于檢測,使用支持向量機的方法進行判別,但是在一些特定情況下效果并不理想。
自2012年以來,AlexNet[4]、VGG16等[5]優(yōu)秀的深度學習模型應用于圖像分類問題,打開了深度學習研究的大門,與此同時,將深度學習運用在檢測任務中成為了一種極為有效的方案。當前學術界與工業(yè)界對于目標檢測使用性能最為優(yōu)秀的模型是基于回歸檢測的Yolo[6]家族與基于候選框區(qū)域檢測的RCNN家族,其中YoloV3[7]、Faster RCNN[8]使用最為廣泛。
圖片中待檢測物體較小不易于檢測識別是檢測問題的難點。安全帽在圖片中所占的比例本身不大,在礦井作業(yè)中,會有人物在遠景的情況,安全帽在原圖中所占像素將會變得很小。同時,因為深度學習的特性,圖片不斷地進行卷積,特征圖將會不斷縮小,在不理想的情況下,原圖中的安全帽可能在最后的特征圖中被縮小為一個像素點,甚至消失,導致整體模型檢測性能的下降。為了解決尺寸較小不易于檢測的問題同時可以提升模型的整體性能,筆者在Faster RCNN檢測模型的基礎上做出了改進。為了提升模型的遠景檢測能力,在圖像增強中模擬遠景情況,增加訓練集數(shù)量,提升模型的泛化性能。為了抑制特征圖在卷積過程中變小的趨勢,聯(lián)系殘差網絡思想[9],將RPN層的卷積使用跳躍連接結構,保存了卷積初期的圖像信息。同時結合了傳統(tǒng)機器學習的集成學習思想,多個體學習器同時監(jiān)督。
對傳統(tǒng)的重合度IOU算法進行了改進,計算方式不僅僅是兩個檢測框面積的交集值除以并集值,同時引入了最小包容框的思想,通過數(shù)學公式懲罰了空隙區(qū)間。
以Faster RCNN算法為基礎進行改進用于安全帽佩戴情況的檢測,F(xiàn)aster RCNN由兩個主要部分組成,生成候選區(qū)域建議網絡(Region proposal network,RPN)與目標分類檢測網絡, Faster RCNN檢測安全帽佩戴流程如圖1所示。
圖1 Faster RCNN流程
經過卷積后的圖片首先輸入RPN層,RPN層的作用主要是初步訓練出回歸因子,定位anthor框,方便下一層分類擬合使用。首先使用k-means算法,根據已有的安全帽圖像尺寸確定anthor框的尺寸,在原來版本的Faster RCNN模型中為3種框尺寸大小,文中設置了4種框尺寸,每種尺寸對應3種不同的長寬比例,比例分別為1∶1、2∶3、3∶2,具體設計如圖2所示。
圖2 錨檢測框
確定anthor尺寸之后使用三個大循環(huán)對于每個anthor框與真實的安全帽檢測框進行訓練擬合。三個大循環(huán)分別為,通過特征圖的長寬遍歷每個特征點,通過每個特征點遍歷12個anthor框,通過每個anthor框遍歷每個真實框。完成三個大循環(huán)以后使用IOU算法,篩選出符合閾值的anthor框,通過每個符合閾值的anthor框與真實框gtbox的尺寸與位置的差異進行擬合學習,獲得回歸因子。
RPN層訓練使用的損失函數(shù):
(1)
(2)
(3)
式中:Nα——分類的總數(shù)量;
Nβ——擬合框總數(shù)量;
pi——目標佩戴頭盔的概率;
di——真實情況與初始anthor框的位置與尺寸差值;
式中:x、y、w、h——預測框的位置與尺寸;
xa、ya、wa、ha——初始anthor框的位置與尺寸;
x*、y*、w*、h*——真實框的位置與尺寸。
通過以上損失函數(shù)計算公式迭代降低損失函數(shù)值,獲得最優(yōu)預測位置。
由于RPN層訓練好的anthor框數(shù)量太多,很多anthor框的重復度太大,訓練意義不大,因此,每幅圖通過非極大值抑制的方法(Non-Maximum suppression,NMS)篩選出400個合適的優(yōu)秀anthor框用于第二段訓練,需要注意的是要保證正樣本與負樣本的數(shù)量各占一半,即200個正樣本,200個負樣本,使用插值上采樣的方法將特征圖的anthor框映射回原圖中。
通過IOU確定200個正樣本所對應的真實框,計算出移動因子,用于回歸訓練,同時結合200個負樣本用于類別分類的訓練,訓練使用的損失函數(shù)與RPN層相同。
由于深度學習的特性,針對訓練集使用優(yōu)秀的圖像增強方案可以提升訓練的結果,提出如下改進方案進行圖像增強。
在安全帽檢測問題中,遠景的安全帽佩戴者在圖片中所占比例較小,如果沒有對于這種情況進行充足的訓練,極容易導致檢測時對于遠景目標的忽略。為了提高遠景安全帽佩戴者訓練時出現(xiàn)的次數(shù),改進了圖像增強的方法,設置了3種等比縮小長寬的比例,分別為1/2、1/3、1/4,以這些尺寸將一幅圖片的長寬隨機等比例縮小,同時準備一張與原尺寸大小相同白色背景板(即像素值全部為255),將縮小后的圖片隨機粘貼在與原圖尺寸相同的白色背景板上,以此模擬遠景佩戴者場景,如圖3所示。
圖3 模擬遠景
同時在模擬遠景的圖像增強方法基礎上,還可以通過添加隨機HSV[10]、隨機補丁、水平鏡像翻轉圖像增強方法共同提升泛化性能。
針對Faster RCNN進行了一系列的改進,改進點主要在RPN的網絡結構中,融入了集成學習的思想,在傳統(tǒng)RPN網絡的基礎上加入跳躍結構訓練層,結合集成學習的思想,進行訓練。同時改進IOU重合度算法,對空隙間隔進行了懲罰,以提升anthor框尋找對應真實框的準確度。
集成學習思想是當前比較流行的機器學習算法思想之一,將多個學習系統(tǒng)相結合,共同對模型進行訓練。通過多個個體算法進行訓練,根據實驗推測不同學習器對結果的影響,設置權重,使用某種算法將其相結合,這樣可以比單個個體的訓練得到更好的結果。集成學習的決策公式為
(4)
式中:wi——不同個體學習器的權重;
bi——各層分類器的學習結果;
θ——訓練參數(shù);
A——學習器數(shù)量。
集成學習示意如圖4所示。
圖4 集成學習
3.1.1 RPN層損失函數(shù)
筆者對RPN層進行了集成學習設計其中第一個卷積層加入了dropout層,使訓練更加具有隨機性,提升泛化能力。兩個學習器在的分類損失函數(shù)在RPN層相互結合公式為
(5)
式中:Nα——類別的總數(shù)量;
Lα1——1號學習器的類別分類損失函數(shù)值;
Lα2——2號學習器的類別分類損失函數(shù)值。
對于回歸因子的輸出使用兩個學習器回歸因子的結合方式,將每個anthor得出來的回歸因子相加求期望輸入第二階段,具體回歸因子計算方式:
(6)
式中:dx1、dy1、dw1、dh1——1號學習器RPN的輸出因子;
dx2、dy2、dw2、dh2——2號學習器的RPN的輸出因子。
3.1.2 網絡設計
由于卷積特性,圖片中很小的目標在進行卷積的過程中,尺寸會變得更加小。而運用殘差跳躍網絡,可以有效提升對于小目標的檢測,同時結合集成學習的方法不僅可以提升準確率,可以抑制特征圖變小的趨勢,設計了如圖5的網絡結構。
圖5 集成學習網絡結構
圖5中C1、C2、C3、C4、P1、P2、P3的計算公式:
(7)
(8)
式中:R——輸入的原圖;
wi——各個層卷積層的參數(shù),i=1,2,…,4;
N(·)——卷積操作,N(C1,w2),以w2為參數(shù),對C1輸出內容進行卷積操作;
F(·)——融合操作,F(xiàn)(C4,C3),對C3上采樣后與C4輸出內容同維度融合。
圖5中A、B為兩個不同的個體學習器,R為輸入的原圖。A、B兩個訓練器使用VGG16模型,將模型等分為C1、C2、C3、C44個部分。傳統(tǒng)方案直接使用圖中C4輸出結果進行擬合訓練,會出現(xiàn)檢測的安全帽太小甚至消失的問題,為了解決該問題使用殘差跳躍網絡將C4進行上采樣之后與C3融合,得到的特征圖再次上采樣與C2融合,依次類推。同時A、B兩個學習器使用兩種不同學習策略,A的特點為視野更高、B的特點為細節(jié)信息更多,使用集成學習思想相融合,兩個學習器使用不同策略的跳躍殘差網絡,模型能夠獲得不同視野深度,集成學習融合之后使得網絡在反向傳播時可以獲得更多高效的特征,提升檢測性能。
傳統(tǒng)的IOU的計算方式為anthor框與真實框的交集面積除以anthor框與真實框的并集面積,若存在兩個框面積分別為A、B,其重度度為
但是該計算方式僅僅通過交集面積與并集面積的關系進行計算,對于最優(yōu)的anthor框的挑選未必能夠達到最好。因此,引入了最小包容框的思想,提出了一種結合懲罰空隙區(qū)域的IOU算法為
(9)
式中:d——兩坐標點的歐氏距離;
b——anthor框的中心點坐標;
bgt——真實框的中心坐標;
c——兩個框的最小包容框的最遠對角距離;
λ——兩個歐氏距離的調試參數(shù)。
具體示意如圖6所示。圖中,c是真實框與anthor框的最小包容框的最遠對角距離,d是兩個框的中心點的歐氏距離。
圖6 改進的IOU
由圖6可見中空隙區(qū)域面積越大,d與c的比值越大,即式(9)中減數(shù)的值越大,ηIOU的結果越小。因此,通過該方法的改進,可以更加有效的約束重合度的最終值,尋找最優(yōu)anthor框。
實驗的軟硬件配置為:操作系統(tǒng)Windows10,搭建框架使用Pytorch,編譯器使用Pycharm,顯卡為1080ti,顯存為12 G,內存為16 G。
數(shù)據集使用的是從網上自行搜集的安全帽佩戴數(shù)據集,共計4 064張。使用labelImg對圖片進行標記轉化為XML格式,將其中的4 033張用于訓練,31張用于測試。
測試時的指標使用查準率(p)、查全率(r)、準確率(a)進行判斷,公式為:
式中:Tp——預測為正類的正樣;
Tn——預測為負類的負樣;
Fp——預測為負類的正樣;
Fn——預測為正類的負樣。
實驗共三個部分,直接訓練對比、使用圖像增強方法對比、改進的IOU算法的對比。
4.2.1 直接訓練
直接使用傳統(tǒng)的Faster RCNN、YoloV3、文中的模型三種模型進行訓練、得出的模型用于檢測,對比實驗結果如表1所示。
表1 不同模型的測試結果
從表1可以看出,文中模型相比于傳統(tǒng)的Faster RCNN模型查準率提升了4.2%,查全率提升了6.4%,準確率9.0%,相比于傳統(tǒng)YoloV3模型查準率查全率也都有所提升,準確率提升了3.0%。文中模型所使用的跳躍殘差網絡結合集成學習的思想對于檢測性能有明顯的提升。
4.2.2 添加遠景模擬圖像增強
為了觀察文中提出的遠景模擬的圖像增強方法的對檢測的提升效果,實驗設計如下:使用傳統(tǒng)Faster RCNN,不使用集成學習只添加四層殘差跳躍網絡的模型。文中對使用的集成學習模型三種模型算法進行比較,結果如表2所示。
表2 添加圖像增強結果
相比較于表1直接訓練的模型,從表2可以看出,模擬遠景情況的圖像增強對于傳統(tǒng)的Faster RCNN算法沒有明顯的提升。而文中的模型在查準率、查全率、精確度上都有了較高的提升。筆者認為,由于殘差跳躍網絡思想的應用對于遠景圖片的適應性更強,同時集成學習的思想有效提高了查全率,所以遠景模擬增強針對文中模型具有更強的適應性。
4.2.3 三種模型使用改進的IOU算法
為了觀察文中提出的改進的IOU算法對于性能提升的效果,實驗設計:使用傳統(tǒng)Faster RCNN、不使用集成學習只添加四層殘差跳躍網絡的模型、文中集成學習模型這三種模型算法進行比較,結果如表3所示。
表3 使用改進的IOU算法結果
對比表2、3可以發(fā)現(xiàn),改進的IOU算法對于文中的模型查全率沒有起到提升的作用,但是查準率得到了提升,對于負樣本的排查起到了促進作用,同時,改進的IOU算法對于整體性能起到促進作用。在進行相同圖像增強與IOU算法改進的情況下,傳統(tǒng)Faster RCNN與文中模型的檢測部分結果示意如圖7所示。
圖7 不同模型對比
圖7中,在某些遠景情況下傳統(tǒng)的Faster RCNN模型無法檢測,添加殘差網絡與文中的模型都可以檢測出來。但是文中的模型顯示的真正樣本的判定概率值相比于傳統(tǒng)網絡以及僅僅添加殘差網絡的判定概率值結果更高。
(1)對于使用Faster-RCNN算法進行安全帽檢測的問題,利用殘差跳躍網絡,保留了初始卷積特征圖的檢測目標特征的情況下,相比于傳統(tǒng)的方法準確率可以提升3.1%,同時,結合集成學習的思想,分別融入高信息與高視野的不同特征的情況下,準確率可以提升4%。
(2) 在圖像訓練的初始階段,圖像增強使用模擬遠景的改進方案相比于未添加圖像增強的傳統(tǒng)方法,準確率提升了6.2%。
(3) IOU算法的改進方案,結合了懲罰空隙面積的思想,提升了anthor框的排查效率,在使用殘差跳躍網絡的條件下準確率可以提升3%,在使用集成學習的條件下準確率可以提升4.3%。