薄景文,張春堂,樊春玲,李海菊
青島科技大學(xué) 自動(dòng)化與電子工程學(xué)院,山東 青島266100
在選礦生產(chǎn)過(guò)程中,礦石輸送是重要的一環(huán)。由于礦山井下開(kāi)采出的礦石夾雜了大量的廢舊木頭、鋼釬、塑料管、起爆線、鋼板、鋁方管等雜物,必須要清除。目前,雜物清理主要依靠人工作業(yè),工人的勞動(dòng)強(qiáng)度大,效率低,且有些雜物在現(xiàn)場(chǎng)很難被發(fā)現(xiàn),會(huì)有諸多漏揀的雜物進(jìn)入到后續(xù)破碎、選礦環(huán)節(jié),其中剛性雜物容易損壞設(shè)備,軟性雜物容易造成堵塞,給生產(chǎn)帶來(lái)嚴(yán)重的經(jīng)濟(jì)損失。因此有必要將目標(biāo)檢測(cè)技術(shù)引入到礦石輸送環(huán)節(jié),實(shí)現(xiàn)對(duì)雜物的快速準(zhǔn)確識(shí)別。
近年來(lái),基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法被初步應(yīng)用于采礦業(yè)領(lǐng)域[1-4],實(shí)現(xiàn)了人工智能技術(shù)與礦山某些特定業(yè)務(wù)的結(jié)合,推動(dòng)了智慧礦山[5]的建設(shè)。目前目標(biāo)檢測(cè)算法主要有兩類:一類是雙階段檢測(cè)算法,以RCNN[6]、Fast RCNN[7]、Faster RCNN[8]和Mask RCNN[9]等為典型代表,這類算法先通過(guò)選擇搜索(Selective Search)或候選區(qū)域生成網(wǎng)絡(luò)(Region Proposal Network)生成一系列候選框,再通過(guò)卷積神經(jīng)網(wǎng)絡(luò)對(duì)候選框內(nèi)目標(biāo)的位置和類別進(jìn)行預(yù)測(cè);另一類是單階段檢測(cè)算法,以SSD[10]、YOLO[11]和RetinaNet[12]等為代表,這類算法是一種端到端的算法,直接通過(guò)網(wǎng)絡(luò)最后的輸出層得到目標(biāo)的位置和類別信息,因此單階段算法檢測(cè)速度更快但精度低,雙階段算法則檢測(cè)精度高但速度慢。由于現(xiàn)場(chǎng)輸送帶實(shí)時(shí)運(yùn)行,對(duì)檢測(cè)速度的要求更高,因此輸送帶雜物檢測(cè)中首先考慮單階段算法。相比于其他單階段算法,YOLOv3[13]更好地平衡了檢測(cè)精度與檢測(cè)速度,但其網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,對(duì)硬件資源配置要求較高。因此本文提出一種改進(jìn)的YOLOv3算法YOLO-Ore,可以同時(shí)兼顧速度與精度,并能滿足礦石輸送帶雜物檢測(cè)的要求。
本文首先利用Mobilenetv2[14]具有的深度可分離卷積和逆殘差結(jié)構(gòu)的特點(diǎn),將其作為YOLOv3的backbone,縮減了模型容量和參數(shù)量,避免了因殘差結(jié)構(gòu)導(dǎo)致深度可分離卷積提取的特征信息減少的問(wèn)題;然后將像素級(jí)場(chǎng)景解析網(wǎng)絡(luò)PSPnet[15]的空間金字塔池化結(jié)構(gòu)PPM(Pyramid Pooling Module)添加到backbone最后一層之后,聚合了不同尺度的全局信息;接著在neck部分引入注意力機(jī)制CBAM[16](Convolution Block Attention Module),提高網(wǎng)絡(luò)對(duì)主要特征的學(xué)習(xí)能力;最后搭建實(shí)驗(yàn)平臺(tái),結(jié)合數(shù)據(jù)增廣技術(shù),構(gòu)建了包含廢舊木頭、鋼釬、塑料管、起爆線、鋼板、鋁方管6種礦石雜物的數(shù)據(jù)集。將改進(jìn)后的算法YOLO-Ore在礦石雜物數(shù)據(jù)集上進(jìn)行消融實(shí)驗(yàn),結(jié)果表明,在保證較高檢測(cè)精度的同時(shí),縮小了模型容量,提高了模型推理速度,滿足了檢測(cè)實(shí)時(shí)性。
YOLOv3的backbone是Darknet53,它是一種結(jié)構(gòu)復(fù)雜的全卷積網(wǎng)絡(luò),包含了23個(gè)殘差單元,具有較強(qiáng)的特征提取能力,但是隨著殘差單元個(gè)數(shù)和網(wǎng)絡(luò)通道數(shù)的增加,將會(huì)導(dǎo)致網(wǎng)絡(luò)參數(shù)量劇增,進(jìn)而影響模型檢測(cè)速度。對(duì)于礦石輸送帶雜物檢測(cè),更需要網(wǎng)絡(luò)實(shí)現(xiàn)快速檢測(cè),因此并不需要如此復(fù)雜的backbone。由谷歌針對(duì)移動(dòng)設(shè)備設(shè)計(jì)的輕量級(jí)網(wǎng)絡(luò)Mobilenet系列,提出用深度可分離卷積取代標(biāo)準(zhǔn)卷積,能夠有效解決模型參數(shù)量冗余的問(wèn)題。因此,本文考慮將YOLOv3的backbone由Darknet53改為Mobilenetv2。
為了驗(yàn)證Mobilenetv2的特性,首先給出標(biāo)準(zhǔn)卷積與深度可分離卷積的結(jié)構(gòu)圖,如圖1所示。
圖1 標(biāo)準(zhǔn)卷積和深度可分離卷積結(jié)構(gòu)Fig.1 Standard convolution and depth separableconvolution structure
標(biāo)準(zhǔn)卷積的計(jì)算量為:
深度可分離卷積的計(jì)算量為:
其中,H表示輸入特征圖的高度,W表示輸入特征圖的寬度,M表示輸入通道數(shù),N表示輸出通道數(shù),F(xiàn)表示卷積核的尺寸。通過(guò)上式可以得出,深度可分離卷積的計(jì)算量和標(biāo)準(zhǔn)卷積的計(jì)算量之比為:
由計(jì)算結(jié)果可以看出,深度可分離卷積使得backbone的參數(shù)量和計(jì)算量大大減少,縮小了網(wǎng)絡(luò)模型容量,有利于提高模型推理速度,同時(shí)解決了因硬件設(shè)備的限制導(dǎo)致網(wǎng)絡(luò)訓(xùn)練緩慢的問(wèn)題。
雖然深度可分離卷積可以有效降低模型參數(shù)量,但會(huì)使網(wǎng)絡(luò)層數(shù)加深,進(jìn)而出現(xiàn)梯度消失現(xiàn)象,而殘差結(jié)構(gòu)可有效解決此問(wèn)題。在Darknet53中,它雖然使用了殘差結(jié)構(gòu),然而隨著層數(shù)加深,殘差結(jié)構(gòu)將會(huì)破壞特征信息,而Mobilenetv2在保留深度可分離卷積的基礎(chǔ)上,采用一種逆殘差結(jié)構(gòu)使深度卷積能夠在高維空間提取特征,從而保留更多的特征信息。兩種結(jié)構(gòu)分別如圖2和圖3所示。圖中Conv表示標(biāo)準(zhǔn)卷積,DConv表示深度卷積,Add為元素相加操作,C表示通道數(shù),n表示通道降維的倍數(shù),m表示通道升維的倍數(shù)。其中Mobilenetv2根據(jù)卷積步長(zhǎng)的不同分為兩種Block類型。
圖2 Darknet53殘差結(jié)構(gòu)Fig.2 Darknet53 residual structure
圖3 Mobilenetv2逆殘差結(jié)構(gòu)Fig.3 Mobilenetv2 inverse residual structure
由圖2和圖3可以看出,殘差結(jié)構(gòu)是“降維-卷積-升維”的過(guò)程,逆殘差結(jié)構(gòu)是“升維-深度卷積-降維”的過(guò)程,這是由于深度可分離卷積無(wú)法像標(biāo)準(zhǔn)卷積那樣提取足夠豐富的特征信息,若降維再提取,勢(shì)必會(huì)在經(jīng)過(guò)多次殘差單元循環(huán)后,導(dǎo)致網(wǎng)絡(luò)提取的特征減少,進(jìn)而影響網(wǎng)絡(luò)性能。因此,先升維再深度卷積,可以在保證主干網(wǎng)絡(luò)提取豐富特征的同時(shí),減少參數(shù)量和計(jì)算量。
改進(jìn)YOLOv3的backbone結(jié)構(gòu)如表1所示,主干網(wǎng)絡(luò)總共有155層。類似Darknet53,可以選擇第55、117、155層(52×52×32、26×26×96、13×13×1 280)作為backbone的輸出層,但是為了獲取更多通道的特征信息,分別選取第58、120、155層(52×52×192、26×26×576、13×13×1 280)作為backbone的三個(gè)輸出層。
表1 改進(jìn)YOLOv3的backbone結(jié)構(gòu)Table 1 Backbone structure of improved YOLOv3
輕量級(jí)backbone的引入必然會(huì)損失一定的精度,為了保證檢測(cè)精度基本不變,本文提出在YOLOv3的neck部分引入金字塔池化結(jié)構(gòu)PPM和注意力機(jī)制CBAM。
基于全卷積的網(wǎng)絡(luò)不能有效處理目標(biāo)在空間位置上的信息,而傳統(tǒng)池化又會(huì)使特征圖的部分邊緣信息丟失。為了解決此問(wèn)題,語(yǔ)義分割網(wǎng)絡(luò)PSPnet提出一種空間金字塔池化模塊PPM,能夠聚合不同尺度的全局上下文特征信息。空間金字塔池化模塊PPM如圖4所示,它以1×1、2×2、3×3、6×6四種不同尺寸的感受野對(duì)輸入特征圖進(jìn)行全局平均池化,分別用1×1×(C/4)的卷積實(shí)現(xiàn)通道降維(其中C為輸入通道數(shù)),然后通過(guò)雙線性插值將拼接后的特征圖尺寸調(diào)整為原圖大小,將四個(gè)子特征圖按通道維度拼接,最后再與原圖拼接后經(jīng)過(guò)一次3×3×(C/4)的卷積得到最終輸出。
圖4 空間金字塔池化模塊PPMFig.4 Spatial pyramid pooling module PPM
注意力機(jī)制在自然語(yǔ)言處理領(lǐng)域應(yīng)用廣泛,近年來(lái)在計(jì)算機(jī)視覺(jué)領(lǐng)域逐漸取得了不錯(cuò)的成績(jī)。注意力是指讓計(jì)算機(jī)更多關(guān)注重要信息,增強(qiáng)重要信息的特征映射。不同于SEnet[17]只關(guān)注通道維度上的注意力,CBAM在空間和通道兩個(gè)維度上都實(shí)施注意力機(jī)制,通過(guò)強(qiáng)調(diào)主要特征、抑制次要特征來(lái)對(duì)特征層進(jìn)行權(quán)重再分配,從而使網(wǎng)絡(luò)在反向傳播時(shí)重點(diǎn)更新關(guān)鍵位置的權(quán)重。
CBAM如圖5所示,其中通道注意模塊CAM(Channel Attention Module)將注意力集中在通道上,判斷哪些通道具有目標(biāo)主要特征;空間注意模塊SAM(Spatial Attention Module)將注意力集中在空間位置上,判斷哪些位置上包含目標(biāo)主要信息。CAM首先對(duì)輸入特征圖同時(shí)進(jìn)行最大池化和平均池化,經(jīng)過(guò)多層感知機(jī)MLP(Multi-Layer Perception)兩次全連接后相加,再經(jīng)過(guò)sigmoid激活后得到通道維度上的權(quán)重系數(shù),與原輸入特征圖相乘得到的特征圖作為SAM的輸入;SAM對(duì)輸入在空間維度上的特征圖同時(shí)實(shí)施最大池化和平均池化,經(jīng)過(guò)卷積和sigmoid激活后得到空間維度上的權(quán)重系數(shù),再與輸入相乘得到最終輸出。CBAM不僅能給網(wǎng)絡(luò)性能帶來(lái)實(shí)質(zhì)性的提升,而且增加的計(jì)算量很少,全連接層和卷積層帶來(lái)的計(jì)算開(kāi)銷可以忽略不計(jì)。
圖5 CBAM結(jié)構(gòu)圖Fig.5 Structure diagram of CBAM
本文提出的改進(jìn)YOLOv3算法(以下簡(jiǎn)稱YOLOOre)整體網(wǎng)絡(luò)結(jié)構(gòu)如圖6(a)所示,輸入為416×416像素的RGB格式圖片,經(jīng)過(guò)主干網(wǎng)絡(luò)Mobilenetv2的5次下采樣后,分別提取52×52、26×26、13×13這三種不同尺度的特征層送入neck部分進(jìn)行FPN[18]式的特征加強(qiáng)提取,提取后的特征圖最終經(jīng)過(guò)head部分的兩次卷積后得到三種尺度的預(yù)測(cè)結(jié)果,損失函數(shù)依然保留原YOLOv3的損失函數(shù)不變。圖6(a)中,PPM為圖4所示結(jié)構(gòu),CBAM為圖5所示結(jié)構(gòu),Conv Block如圖6(b)所示。Conv Block由三次1×1×C(C為通道數(shù))的卷積組成,刪減了原來(lái)兩次3×3×2C的卷積,進(jìn)一步壓縮模型。
圖6 YOLO-Ore網(wǎng)絡(luò)結(jié)構(gòu)Fig.6 YOLO-Ore network structure
為了驗(yàn)證本文所提方法的有效性,需要進(jìn)行消融實(shí)驗(yàn),因此構(gòu)建了三種網(wǎng)絡(luò)與本文所提方法進(jìn)行對(duì)比實(shí)驗(yàn)。構(gòu)建的這三種網(wǎng)絡(luò)分別命名為YOLOv3_A、YOLOv3_B、YOLOv3_C,其中YOLOv3_A是在原來(lái)YOLOv3的基礎(chǔ)上將主干網(wǎng)絡(luò)改為Mobilenetv2;YOLOv3_B是在YOLOv3_A的基礎(chǔ)上增加了PPM結(jié)構(gòu);YOLOv3_C是在YOLOv3_B的基礎(chǔ)上增加了CBAM結(jié)構(gòu)。本文所提出的YOLO-Ore是在YOLOv3_C的基礎(chǔ)上刪減了原Conv Block中兩次3×3×2C的卷積。
根據(jù)礦場(chǎng)工藝人員的反饋,礦石輸送帶上的雜物主要有廢舊木頭、鋼釬、塑料管、起爆線、鋼板、鋁方管六種雜物,其中廢舊木頭和鋼釬等剛性雜物會(huì)對(duì)破碎機(jī)造成損壞,而起爆線等軟性雜物會(huì)對(duì)后續(xù)的浮選工藝環(huán)節(jié)造成影響。因此本文選取上述六種雜物,在實(shí)驗(yàn)室搭建輸送帶模擬運(yùn)輸環(huán)境,使用工業(yè)攝像頭對(duì)六種雜物進(jìn)行拍攝。為了模擬實(shí)際生產(chǎn)環(huán)境,對(duì)雜物分為兩種情況進(jìn)行拍攝,其中雜物表面無(wú)掩埋的情況為正常工況,雜物表面有部分被礦石掩埋的情況為復(fù)雜工況,具體情況如圖7所示。總共拍攝圖片2 000張,圖像分辨率均為1 920×1 080,使用LableImg工具對(duì)所有圖片按VOC數(shù)據(jù)集格式進(jìn)行標(biāo)注得到標(biāo)簽文件。為了防止網(wǎng)絡(luò)訓(xùn)練過(guò)擬合,采用添加高斯噪聲、亮度變化、旋轉(zhuǎn)、裁剪、平移、鏡像、隨機(jī)遮掩七種數(shù)據(jù)增廣技術(shù)進(jìn)行數(shù)據(jù)擴(kuò)充,每張圖片擴(kuò)充10倍,最終得到的數(shù)據(jù)集數(shù)量為20 000張。按6∶2∶2比例將數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,得到訓(xùn)練集12 000張(正常工況訓(xùn)練集8 100張,復(fù)雜工況訓(xùn)練集為3 900張),驗(yàn)證集4 000張(正常工況驗(yàn)證集2 700張,復(fù)雜工況驗(yàn)證集1 300張),測(cè)試集4 000張(正常工況測(cè)試集2 700張,復(fù)雜工況測(cè)試集為1 300張),數(shù)據(jù)集具體情況如表2所示。
圖7 兩種工況下的雜物示意圖Fig.7 Schematic diagram of sundries under two working conditions
表2 數(shù)據(jù)集詳情Table 2 Dataset details
本文訓(xùn)練環(huán)境為ubuntu16.04操作系統(tǒng),處理器Intel Xeon E5-2640v4,顯卡NVIDIA RTX2080Ti,內(nèi)存64 GB,顯存11 GB;測(cè)試環(huán)境為Windows10操作系統(tǒng),處理器Intel Core i7-9750H,顯卡NVIDIA RTX2060,內(nèi)存16 GB,顯存6 GB。深度學(xué)習(xí)框架為TensorFlow,解釋器為Anaconda Python3.6。
由于原YOLOv3是基于COCO數(shù)據(jù)集聚類得到9個(gè)錨框,COCO數(shù)據(jù)集物體類別多,尺寸比例豐富,不適用于本文礦石雜物數(shù)據(jù)集,因此使用默認(rèn)的錨框尺寸勢(shì)必會(huì)影響模型訓(xùn)練效果。所以在訓(xùn)練前先使用k-means算法對(duì)數(shù)據(jù)集重新聚類,得到9個(gè)新的錨框尺寸(298,298)、(378,114)、(408,397)、(553,150)、(705,225)、(791,120)、(896,269)、(1 009,170)、(1 176,216)。所有數(shù)據(jù)的邊界框聚類分布結(jié)果如圖8所示,其中9種顏色的圓點(diǎn)表示所有邊界框尺寸分布,紅色圓點(diǎn)是9個(gè)聚類中心。訓(xùn)練時(shí)使用Adam優(yōu)化器,設(shè)置初始學(xué)習(xí)率為0.001,采用余弦退火學(xué)習(xí)率衰減策略,batchsize為8,總共訓(xùn)練200個(gè)epoch,不使用預(yù)訓(xùn)練模型。
圖8 邊界框聚類分布結(jié)果Fig.8 Cluster distribution results of bounding box
本文采用平均檢測(cè)精度mAP(mean Average Precision)和檢測(cè)速度FPS(Frame Per Second)作為實(shí)驗(yàn)的主要評(píng)價(jià)指標(biāo),置信度和交并比IoU(Intersection over Union)閾值都設(shè)為0.5。在不同工況下,本文所提算法YOLO-Ore、構(gòu)建的三種網(wǎng)絡(luò),以及原有的YOLOv3的實(shí)驗(yàn)測(cè)試結(jié)果如表3和表4所示。表3是正常工況下五種網(wǎng)絡(luò)的檢測(cè)結(jié)果對(duì)比,表4是復(fù)雜工況下五種網(wǎng)絡(luò)的檢測(cè)結(jié)果對(duì)比。
表3 正常工況下五種網(wǎng)絡(luò)的檢測(cè)結(jié)果對(duì)比Table 3 Comparison of detection results of five networks under normal working conditions
表4 復(fù)雜工況下五種網(wǎng)絡(luò)的檢測(cè)結(jié)果對(duì)比Table 4 Comparison of detection results of five networks under complex working conditions
由表3可知,在正常工況下,YOLOv3_A的mAP值相較于原YOLOv3下降2.19個(gè)百分點(diǎn),但檢測(cè)速度提高了1.83倍。YOLOv3_B的mAP相比于YOLOv3_A提高1.35個(gè)百分點(diǎn),表明PPM有效地聚合了不同尺度的上下文信息,增強(qiáng)了主干網(wǎng)絡(luò)特征提取能力,但也導(dǎo)致了參數(shù)的小幅增加,使得檢測(cè)速度下降了4.58 frame/s。YOLOv3_C的mAP值比YOLOv3_B提高1.07個(gè)百分點(diǎn),檢測(cè)速度降低了0.71 frame/s,變化不大,驗(yàn)證了CBAM機(jī)制的有效性。本文所提方法YOLO-Ore相比于YOLOv3_C,其mAP僅降低了0.45個(gè)百分點(diǎn),但在檢測(cè)速度上提高了8.69 frame/s,說(shuō)明刪減掉兩次深層卷積不僅沒(méi)有降低模型學(xué)習(xí)能力,反而減少參數(shù)冗余,提升了模型推理速度。
為了進(jìn)一步驗(yàn)證刪減冗余層對(duì)網(wǎng)絡(luò)學(xué)習(xí)能力的影響,將YOLOv3_C和YOLO-Ore的Conv Block最后一層的特征圖可視化,通過(guò)熱力圖與原圖融合的方式,對(duì)刪減冗余層前后的特征圖效果進(jìn)行對(duì)比,如圖9所示。從圖9中可以看出,雖然在刪減冗余層之前,圖像的邊緣信息和目標(biāo)特征更豐富,但是刪減后的網(wǎng)絡(luò)將注意力更加聚焦于目標(biāo)的主要特征區(qū)域,即網(wǎng)絡(luò)更加關(guān)注有用區(qū)域,因此即使刪減了冗余層,對(duì)最終目標(biāo)檢測(cè)效果的影響甚微。
由表4可知,在復(fù)雜工況下,各個(gè)網(wǎng)絡(luò)的檢測(cè)速度與正常工況相比變化極小,說(shuō)明模型推理速度與檢測(cè)目標(biāo)的復(fù)雜性基本無(wú)關(guān)。從檢測(cè)精度方面來(lái)看,由于復(fù)雜工況下雜物的部分表面被礦石掩埋,因此相比于正常工況YOLOv3的mAP下降到88.13%,YOLOv3_A的mAP比YOLOv3降低1.61個(gè)百分點(diǎn),YOLOv3_B的mAP比YOLOv3_A提高1.07個(gè)百分點(diǎn),YOLOv3_C的mAP比YOLOv3_B提高1.04個(gè)百分點(diǎn),由此可體現(xiàn)所提改進(jìn)方法的有效性。與YOLOv3_C相比,YOLO-Ore的mAP降低了0.44個(gè)百分點(diǎn),檢測(cè)速度提高了8.60 frame/s。
總體分析來(lái)看,相較于YOLOv3,YOLO-Ore用檢測(cè)精度的微小犧牲換來(lái)了檢測(cè)速度的顯著提高。圖10為YOLO-Ore在兩種工況下的部分檢測(cè)結(jié)果,由圖可以看出在兩種工況下六種礦石雜物都能被檢測(cè)出來(lái)且定位準(zhǔn)確。
為了比較不同網(wǎng)絡(luò)的模型復(fù)雜度,將五種網(wǎng)絡(luò)的模型容量、參數(shù)量以及浮點(diǎn)運(yùn)算量進(jìn)行對(duì)比,結(jié)果如表5所示。
表5 五種網(wǎng)絡(luò)的模型復(fù)雜度對(duì)比Table 5 Comparison of model complexity of five networks
從表5的數(shù)據(jù)可以看出,深度可分離卷積有效減少了參數(shù)量和浮點(diǎn)運(yùn)算量,YOLOv3_A的模型容量為YOLOv3的38%。而PPM和CBAM的 引 入,使 得YOLOv3_B和YOLOv3_C的參數(shù)量和浮點(diǎn)運(yùn)算量相比YOLOv3_A又 增 加 了 約1.37倍,YOLOv3_B和YOLOv3_C的模型容量約為YOLOv3的52%。本文所提方法YOLO-Ore的參數(shù)量和浮點(diǎn)運(yùn)算量最少,模型容量減小到72.7 MB,僅為YOLOv3的31%。
結(jié)合表3、表4和表5可以看出,本文所提YOLO-Ore方法以及構(gòu)建的三種網(wǎng)絡(luò)都達(dá)到了實(shí)時(shí)檢測(cè)的需求,其中YOLO-Ore在兩種工況下,在不損失精度的前提下,檢測(cè)速度都高于原YOLOv3網(wǎng)絡(luò)和構(gòu)建的三種網(wǎng)絡(luò),且模型的容量大幅縮減,有利于模型移植到硬件條件和計(jì)算能力都較低的平臺(tái)。
為了更好地驗(yàn)證所提方法的優(yōu)越性,在兩種工況下,基于本文測(cè)試集,將本文所提方法YOLO-Ore與CenterNet[19]、M2Det[20]、RetinaNet、SSD以 及YOLOv4[21]五種單階段目標(biāo)檢測(cè)算法進(jìn)行對(duì)比,主要從檢測(cè)精度、檢測(cè)速度和模型復(fù)雜度方面進(jìn)行對(duì)比分析,結(jié)果如表6和表7所示。為保證結(jié)果的公平性,所有算法都在同樣的硬件平臺(tái)上進(jìn)行訓(xùn)練和測(cè)試。
表6 本文YOLO-Ore與其他算法的檢測(cè)結(jié)果對(duì)比Table 6 Comparison of detection results between YOLO-Ore and other algorithms
表7 本文YOLO-Ore與其他算法的模型復(fù)雜度對(duì)比Table 7 Comparison of model complexity between YOLO-Ore and other algorithms
由表6可見(jiàn),只有CenterNet、SSD和YOLO-Ore滿足檢測(cè)實(shí)時(shí)性需求,而在兩種工況下CenterNet和YOLO-Ore的檢測(cè)精度都較高且相差不大,且都明顯優(yōu)于SSD算法。從檢測(cè)速度上來(lái)看,YOLO-Ore的檢測(cè)速度是CenterNet的1.78倍,處于明顯的優(yōu)勢(shì)。因此,權(quán)衡精度和速度兩個(gè)方面,本文所提方法YOLO-Ore在大幅提高檢測(cè)速度的同時(shí)還保證了較高的檢測(cè)準(zhǔn)確性。
通過(guò)表7的對(duì)比數(shù)據(jù)可以看出,本文所提算法YOLO-Ore的模型容量、參數(shù)量和浮點(diǎn)運(yùn)算量遠(yuǎn)小于其他算法,浮點(diǎn)運(yùn)算量壓縮至M2Det的約1/13。在實(shí)際應(yīng)用場(chǎng)景中,硬件平臺(tái)的配置普遍不會(huì)很高,因此對(duì)于將模型移植在GPU算力較低的工控計(jì)算機(jī)上來(lái)說(shuō),YOLOOre具有顯著的優(yōu)越性,綜合考慮檢測(cè)精度、檢測(cè)速度、模型復(fù)雜度和模型可移植性幾個(gè)方面,YOLO-Ore的整體魯棒性更好。
本文提出了基于YOLOv3的改進(jìn)算法YOLO-Ore實(shí)現(xiàn)對(duì)礦石輸送帶上的雜物檢測(cè)。該算法以YOLOv3為基礎(chǔ),將Mobilenetv2作為主干特征提取網(wǎng)絡(luò),壓縮模型容量,提高檢測(cè)速度。引入空間金字塔池化結(jié)構(gòu)PPM和注意力機(jī)制CBAM,融合多尺度上下文信息,突出重要信息的表征,提高了模型檢測(cè)精度。刪減冗余參數(shù)網(wǎng)絡(luò)層,進(jìn)一步簡(jiǎn)化網(wǎng)絡(luò),提高了檢測(cè)速度。實(shí)驗(yàn)結(jié)果表明,YOLO-Ore在保持高精度的情況下,檢測(cè)速度提高了約2倍,符合現(xiàn)場(chǎng)實(shí)時(shí)檢測(cè)的要求,同時(shí)模型容量壓縮了69%,有利于模型移植到硬件配置低的設(shè)備平臺(tái)上。本文是在自有數(shù)據(jù)集上進(jìn)行研究實(shí)驗(yàn),算法存在一定的局限性,下一步將增加數(shù)據(jù)的多樣性和復(fù)雜性,同時(shí)進(jìn)一步改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu),提高在復(fù)雜工況下的目標(biāo)檢測(cè)精度。