程學(xué)珍, 趙振國(guó), 劉興軍, 李繼明, 趙 猛
(1.山東科技大學(xué) a.電氣與自動(dòng)化工程學(xué)院;b.電子信息工程學(xué)院,山東 青島 266590;2.中國(guó)工商銀行股份有限公司臨沂分行,山東 臨沂 276000)
煤礦粉塵的降塵處理是清潔、環(huán)保、安全地使用煤炭資源的重要保障,而自動(dòng)粉塵檢測(cè)是實(shí)現(xiàn)降塵過(guò)程的前提。傳統(tǒng)的塵霧圖像檢測(cè)算法主要是基于塵霧的形狀、色彩、紋理、飄動(dòng)等特征進(jìn)行識(shí)別。例如Genovese等[1-3]分別將塵霧的不同特征用于檢測(cè),但是檢測(cè)模型存在難以充分提取特征的不足,在塵霧區(qū)域較小時(shí),檢測(cè)效果較差。
近年來(lái),深度學(xué)習(xí)算法在目標(biāo)識(shí)別與檢測(cè)領(lǐng)域取得了突破性進(jìn)展[4],塵霧圖像檢測(cè)方面,目前應(yīng)用比較廣泛的是基于區(qū)域與基于回歸兩種算法?;趨^(qū)域的算法又稱為兩階段目標(biāo)檢測(cè)算法,如CNN[5-8],F(xiàn)ast RCNN[9],F(xiàn)aster RCNN[10-12]等。Frizzi等[6-7]分別將卷積神經(jīng)網(wǎng)絡(luò)用于塵霧圖像檢測(cè),取得了比傳統(tǒng)方法更好的效果;富雅捷等[8]使用卷積神經(jīng)網(wǎng)絡(luò)作為特征提取器,利用支持向量機(jī)訓(xùn)練;Zhang等[11-12]利用Faster R-CNN提取塵霧特定的詳細(xì)特征,提高塵霧檢測(cè)率。此類方法檢測(cè)精度高,但檢測(cè)速度較慢?;诨貧w的算法又被稱為一階段目標(biāo)檢測(cè)算法,如YOLOv4[13-14]、SSD[15]等。李海濱等[14]采用YOLOv4-tiny檢測(cè)煤塵濃度,提高了檢測(cè)速度;劉麗娟等[15]利用SSD對(duì)塵霧圖像進(jìn)行識(shí)別。此類方法運(yùn)算速度更快,但檢測(cè)精度略低于兩階段算法。由于煤礦井下粉塵圖像背景復(fù)雜,現(xiàn)有算法中的卷積神經(jīng)網(wǎng)絡(luò)受到粉塵圖像空間多樣性的影響,不能同時(shí)兼顧檢測(cè)精度與速度。
本文針對(duì)粉塵圖像背景復(fù)雜性提出了將擁有較高檢測(cè)速度的YOLOv4算法進(jìn)行優(yōu)化,以得到與YOLOv4檢測(cè)速度相當(dāng)?shù)珯z測(cè)精度更高的模型方法:添加空間變換網(wǎng)絡(luò)(STN)優(yōu)化原始特征圖,使網(wǎng)絡(luò)具備空間不變性;采用仿射變換對(duì)特征圖實(shí)施空間變換;選擇雙線性插值進(jìn)行像素點(diǎn)精確采樣。優(yōu)化后的檢測(cè)模型具備學(xué)習(xí)平移、縮放、旋轉(zhuǎn)等扭曲特性的能力,在檢測(cè)速度與精度上實(shí)現(xiàn)較好的平衡,可以提高算法魯棒性。
YOLOv4網(wǎng)絡(luò)模型由CSPDarknet53、SPP、PANet、YOLO Head四部分組成,其中CSPDarknet53為主干特征提取網(wǎng)絡(luò),輸出特征圖;SPP與PANet構(gòu)成多尺度特征融合網(wǎng)絡(luò),輸出有效特征層;YOLOHead為預(yù)測(cè)網(wǎng)絡(luò),利用有效特征層輸出預(yù)測(cè)結(jié)果(見(jiàn)圖1)。
圖1 YOLOv4網(wǎng)絡(luò)模型
雖然YOLOv4網(wǎng)絡(luò)使用卷積和池化操作使算法在一定程度上具備了平移不變性,但是這種人為設(shè)定的變換規(guī)則使神經(jīng)網(wǎng)絡(luò)過(guò)度依賴先驗(yàn)知識(shí),同時(shí)神經(jīng)網(wǎng)絡(luò)對(duì)于旋轉(zhuǎn)、扭曲等未人為設(shè)定變換規(guī)則的幾何變換缺少空間不變性。而煤塵顆粒具有運(yùn)動(dòng)特性,導(dǎo)致煤礦井下圖像中的粉塵區(qū)域不規(guī)則?;谏鲜鲈颍琘OLOv4網(wǎng)絡(luò)對(duì)煤礦井下粉塵圖像檢測(cè)效果不佳。
為了增強(qiáng)YOLOv4算法的空間不變性,提高煤礦井下粉塵圖像檢測(cè)模型的檢測(cè)識(shí)別能力,本文在YOLOv4算法的多尺度特征融合網(wǎng)絡(luò)之前插入空間變換網(wǎng)絡(luò),優(yōu)化后的檢測(cè)模型如圖2所示。
圖2 優(yōu)化YOLO-v4算法的粉塵圖像檢測(cè)模型流程圖
優(yōu)化后的算法整體流程為:輸入1張尺寸為416×416的粉塵訓(xùn)練圖像,先經(jīng)過(guò)主干特征提取網(wǎng)絡(luò),使特征層的寬和高不斷壓縮,通道數(shù)不斷擴(kuò)張,得到3個(gè)不同尺度的特征圖;再送入空間變換網(wǎng)絡(luò)進(jìn)行仿射變換;最后在多尺度特征融合網(wǎng)絡(luò)中進(jìn)行特征堆疊,得到3個(gè)尺度的有效特征層,送入特征預(yù)測(cè)網(wǎng)絡(luò)進(jìn)行網(wǎng)絡(luò)訓(xùn)練,循環(huán)達(dá)到預(yù)定迭代次數(shù)后,得到粉塵檢測(cè)權(quán)重模型。
空間變換網(wǎng)絡(luò)是一種動(dòng)態(tài)網(wǎng)絡(luò)機(jī)制,可以插入到現(xiàn)有卷積網(wǎng)絡(luò)模型中,將輸入變換為下一層網(wǎng)絡(luò)期望的形式,在訓(xùn)練的過(guò)程中自動(dòng)選擇感興趣的區(qū)域特征,對(duì)各種形變數(shù)據(jù)進(jìn)行空間變換??臻g變換網(wǎng)絡(luò)可以插入到已有的卷積神經(jīng)網(wǎng)絡(luò)中,主動(dòng)進(jìn)行空間特征映射,并且不需要額外的訓(xùn)練監(jiān)督或修改。能夠更好的簡(jiǎn)化后續(xù)圖像的分類識(shí)別任務(wù),提升卷積神經(jīng)網(wǎng)絡(luò)的魯棒性和目標(biāo)特征提取、目標(biāo)檢測(cè)識(shí)別能力。
如圖3所示,空間變換網(wǎng)絡(luò)由3部分組成:定位網(wǎng)絡(luò)、網(wǎng)格生成器及采樣器。首先輸入特征圖U,通過(guò)定位網(wǎng)絡(luò)訓(xùn)練得到空間變換參數(shù);然后利用網(wǎng)格生成器根據(jù)目標(biāo)特征圖的坐標(biāo)生成新的網(wǎng)格點(diǎn),存放仿射變換后的圖像;最后采樣器將變換后的像素點(diǎn)復(fù)制到V中。
圖3 空間變換網(wǎng)絡(luò)結(jié)構(gòu)
定位網(wǎng)絡(luò)將特征圖作為輸入:U∈RH×W×C,其中:H為輸入特征圖的高度;W為輸入特征圖的寬度;C為輸入特征圖的通道數(shù)。經(jīng)過(guò)全連接層、卷積網(wǎng)絡(luò)、回歸層,輸出空間變換參數(shù)θ=floc(U),θ決定了輸入特征圖的必要旋轉(zhuǎn)角度、要完成的平移量以及聚焦于感興趣的區(qū)域所需的比例因子。
仿射變換對(duì)點(diǎn)、線、面具有一定的保持性,變換后特征圖中的某些比例關(guān)系保持不變,所以網(wǎng)格生成器利用空間變換參數(shù)進(jìn)行仿射變換,通過(guò)矩陣運(yùn)算的方式,確定輸出特征圖V中的每個(gè)坐標(biāo)在輸入特征圖U中對(duì)應(yīng)的坐標(biāo)位置。變換關(guān)系可表示為
(1)
采樣器根據(jù)V的坐標(biāo)點(diǎn)取得對(duì)應(yīng)U中坐標(biāo)點(diǎn)的像素值進(jìn)行填充,但這時(shí)求得的U中的坐標(biāo)點(diǎn)可能為非整數(shù),因此在原始特征圖U中利用雙線性插值進(jìn)行采樣。由于雙線性插值是可導(dǎo)的,可以將輸出圖像的非整數(shù)坐標(biāo)點(diǎn)映射到整數(shù)位置,從而得到仿射變換結(jié)果V:
(2)
粉塵圖像識(shí)別方法以YOLOv4算法網(wǎng)絡(luò)結(jié)構(gòu)為基礎(chǔ),分別在CSPDarket53網(wǎng)絡(luò)輸出的3個(gè)不同尺度的特征圖后插入空間變換網(wǎng)絡(luò),進(jìn)行仿射變換,并將優(yōu)化后的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行訓(xùn)練和測(cè)試,優(yōu)化后的粉塵檢測(cè)模型如圖4所示。具體流程:① 將數(shù)據(jù)集中的粉塵圖像進(jìn)行預(yù)處理,把分辨率統(tǒng)一調(diào)整到416×416,作為輸入圖像進(jìn)行模型的訓(xùn)練;② 在CSPDarknet-53網(wǎng)絡(luò)中進(jìn)行特征提取,通過(guò)不斷地壓縮特征層和擴(kuò)張通道數(shù),最終得到3個(gè)不同尺度的特征圖,再由空間變換網(wǎng)絡(luò)進(jìn)行仿射變換;③ 首先將經(jīng)過(guò)卷積與上采樣的尺度1特征圖與經(jīng)過(guò)卷積的尺度2特征圖堆疊;然后進(jìn)行卷積和上采樣,并與第3尺度特征圖堆疊;最后通過(guò)5層卷積得到尺度3有效特征層,輸入給YOLO Head;④ 首先對(duì)尺度3有效特征層下采樣,然后與第67層特征層進(jìn)行堆疊,最后通過(guò)5層卷積得到尺度2有效特征層;⑤ 首先對(duì)尺度2有效特征層下采樣,然后與經(jīng)過(guò)卷積的尺度1特征圖堆疊,最后通過(guò)5層卷積得到尺度1有效特征層;⑥ 將上述3個(gè)尺度的有效特征層送入YOLO Head;⑦ 循環(huán)整個(gè)網(wǎng)絡(luò),直到達(dá)到預(yù)定迭代次數(shù),最終得到粉塵檢測(cè)權(quán)重模型。
圖4 優(yōu)化后的粉塵檢測(cè)模型
實(shí)驗(yàn)數(shù)據(jù)集來(lái)自井下采煤現(xiàn)場(chǎng)實(shí)地采集的視頻,首先對(duì)原始粉塵圖像和無(wú)塵圖像進(jìn)行圖像增強(qiáng)、去噪、平移、翻轉(zhuǎn)等預(yù)處理,預(yù)處理后的實(shí)驗(yàn)數(shù)據(jù)集樣本如圖5所示。然后參照VOC2007的標(biāo)準(zhǔn)數(shù)據(jù)集格式對(duì)粉塵圖像進(jìn)行標(biāo)注,生成包含物體類別與目標(biāo)框坐標(biāo)信息的.xml文件。最終得到7 440張實(shí)驗(yàn)數(shù)據(jù)集圖像,無(wú)塵圖像與標(biāo)注粉塵圖像各3 720張,其中80%用作訓(xùn)練集,余下的20%作為測(cè)試集。
圖5 預(yù)處理后的實(shí)驗(yàn)數(shù)據(jù)集圖像
實(shí)驗(yàn)配置如下:CPU為 Intel Core i7-8700k;顯卡為英偉達(dá)GTX 1070Ti;內(nèi)存為16 GB;深度學(xué)習(xí)框架為Darknet。模型整體采用Pytorch框架搭建。設(shè)置訓(xùn)練模型的初始學(xué)習(xí)率為0.001,最大迭代次數(shù)為40 000次,每批次訓(xùn)練16個(gè)樣本。
模型訓(xùn)練使用YOLOv4的預(yù)訓(xùn)練權(quán)重,對(duì)優(yōu)化后的網(wǎng)絡(luò)進(jìn)行權(quán)重參數(shù)調(diào)整。迭代訓(xùn)練分兩階段進(jìn)行,第1階段為粗調(diào)階段,調(diào)整除主干特征網(wǎng)絡(luò)CSPDarkNet53外的網(wǎng)絡(luò)參數(shù),選擇更適合用來(lái)訓(xùn)練較小的自定義數(shù)據(jù)集的Adam優(yōu)化函數(shù);第2階段為微調(diào)階段,調(diào)整主干特征網(wǎng)絡(luò)的權(quán)重參數(shù),依然選擇Adam優(yōu)化函數(shù)。經(jīng)過(guò)迭代訓(xùn)練,最終得到粉塵圖像檢測(cè)效果相對(duì)最好的權(quán)重參數(shù)。
優(yōu)化后的粉塵圖像檢測(cè)模型在粉塵圖像測(cè)試集上進(jìn)行評(píng)估,同時(shí)為了驗(yàn)證算法的有效性,將提出的粉塵檢測(cè)算法與Faster-RCNN算法、YOLOv4算法進(jìn)行實(shí)驗(yàn)對(duì)比。實(shí)驗(yàn)選取了采煤工作處一段視頻共665幀圖像進(jìn)行測(cè)試,各類算法的實(shí)驗(yàn)結(jié)果如表1所示。
表1 不同檢測(cè)算法的對(duì)比評(píng)價(jià)
由表1可以看出,優(yōu)化YOLOv4算法的召回率與準(zhǔn)確率要優(yōu)于其他兩種算法,分別達(dá)到了88.63%和93.21%,而檢測(cè)速度比YOLOv4算法降低了7幀/s,能夠滿足實(shí)時(shí)在線檢測(cè)的需求。Faster-RCNN算法在準(zhǔn)確率、召回率和處理速度上與提出算法都存在差距。
圖6所示為YOLOv4算法優(yōu)化前后部分檢測(cè)結(jié)果的對(duì)比。
從圖6可以看出,優(yōu)化后的算法無(wú)論在目標(biāo)分類還是目標(biāo)定位方面都取得了更好的效果,對(duì)粉塵圖像識(shí)別具有更高的準(zhǔn)確率。引入空間變換網(wǎng)絡(luò)后,優(yōu)化的YOLOv4網(wǎng)絡(luò)強(qiáng)化了算法的特征提取能力和空間變換能力,實(shí)現(xiàn)了粉塵圖像識(shí)別端到端的優(yōu)化。
本文提出了一種基于圖像的優(yōu)化YOLOv4煤礦井下粉塵檢測(cè)算法,利用空間變換網(wǎng)絡(luò)對(duì)特征圖進(jìn)行仿射變換,強(qiáng)化了算法的特征提取能力和空間變換能力,優(yōu)化后的YOLOv4網(wǎng)絡(luò)提高了粉塵檢測(cè)精度、降低了漏檢率。該算法能夠大體識(shí)別出圖像粉塵的位置,這對(duì)于實(shí)現(xiàn)煤礦采煤處自動(dòng)噴水除塵或其他方法除塵具有重要作用,不僅可以節(jié)省人工降塵的成本,而且對(duì)煤礦安全高效生產(chǎn)有重要意義。但是本文算法仍然存在一些問(wèn)題,在實(shí)驗(yàn)過(guò)程中發(fā)現(xiàn),算法對(duì)于圖像粉塵不明顯、低濃度的情況,容易出現(xiàn)漏檢和誤檢。對(duì)于煤礦井下復(fù)雜的環(huán)境,沒(méi)有驗(yàn)證該算法是否具有普適性,后續(xù)這將是主要研究方向,以達(dá)到適應(yīng)煤礦環(huán)境變化所帶來(lái)的影響。