袁小平, 馬緒起, 劉 賽
(中國(guó)礦業(yè)大學(xué)信息與控制工程學(xué)院, 徐州 221116)
據(jù)中國(guó)汽車工業(yè)協(xié)會(huì)統(tǒng)計(jì),2019年中國(guó)汽車產(chǎn)銷分別完成2 572.1萬輛和2 576.9萬輛,產(chǎn)銷量繼續(xù)蟬聯(lián)全球第一。然而過多的汽車保有量與相對(duì)落后的城市規(guī)劃、道路建設(shè)管理產(chǎn)生了沖突,導(dǎo)致城市道路擁擠不堪,交通安全隱患巨大,交通事故頻發(fā)。在現(xiàn)有道路環(huán)境下,提高道路管理水平減少行人車輛聚集擁堵成為中國(guó)乃至全世界亟待解決的問題。行人和車輛作為交通系統(tǒng)的主要參與對(duì)象,對(duì)于行人車輛的目標(biāo)檢測(cè)成為解決現(xiàn)有交通問題的基礎(chǔ)和重點(diǎn)[1-2]。
對(duì)行人車輛的檢測(cè)可以分為基于人工特征的目標(biāo)檢測(cè)算法和基于深度學(xué)習(xí)[3]的目標(biāo)檢測(cè)算法?;谌斯ぬ卣鞯臋z測(cè)算法首先從圖像中提取出人工設(shè)計(jì)的特征,然后利用機(jī)器學(xué)習(xí)方法作為分類器,對(duì)提取出的圖像特征進(jìn)行分類。代表算法包括提取出圖像的方向梯度直方圖(histogram of gradient,HOG)[4]特征,然后將HOG特征送入支持向量機(jī)(support vector machine, SVM)[5]進(jìn)行分類。
然而人工設(shè)計(jì)的特征存在計(jì)算復(fù)雜、魯棒性差等缺點(diǎn),使得基于人工特征的檢測(cè)算法的應(yīng)用受到很大的限制。隨著計(jì)算機(jī)硬件的發(fā)展和卷積神經(jīng)網(wǎng)絡(luò)理論的成熟,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法在實(shí)時(shí)性和準(zhǔn)確性方面表現(xiàn)出獨(dú)有的優(yōu)勢(shì),成為了當(dāng)前機(jī)器視覺領(lǐng)域的研究熱點(diǎn)。根據(jù)是否預(yù)生成候選框,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法又分為基于候選框生成的兩階段(two-stage)目標(biāo)檢測(cè)算法和基于回歸的一階段(one-stage)目標(biāo)檢測(cè)算法。
兩階段目標(biāo)檢測(cè)算法將目標(biāo)檢測(cè)分為兩步進(jìn)行,首先生成包含目標(biāo)的候選區(qū)域,然后對(duì)候選區(qū)域進(jìn)行分類和邊框回歸。兩階段目標(biāo)檢測(cè)算法的分類準(zhǔn)確率和定位精度較高,但網(wǎng)絡(luò)較復(fù)雜速度慢,代表算法有SPPnet[6](spatial pyramid pooling networks)以及Faster-RCNN[7](faster Regions with CNN features)系列。與兩階段目標(biāo)檢測(cè)算法不同,一階段目標(biāo)檢測(cè)算法則將分類和定位都看作回歸問題,不需要生成候選區(qū)域直接對(duì)特征進(jìn)行分類和邊框回歸。因此其檢測(cè)速度快,但分類準(zhǔn)確率不高,尤其對(duì)中小目標(biāo)的檢測(cè)效果不甚理想,代表算法有SSD(single shot multibox detector)[8]、RetinaNet[9]及YOLO(you only look once)[10-12]系列。
作為一階段檢測(cè)算法的代表,YOLOv3具有算法結(jié)構(gòu)簡(jiǎn)單、魯棒性好、檢測(cè)速度快、檢測(cè)精度較高等優(yōu)點(diǎn),然而對(duì)于中小目標(biāo)的識(shí)別準(zhǔn)確率仍然達(dá)不到理想水平。針對(duì)此問題,在YOLOv3算法的基礎(chǔ)上,提出改進(jìn)算法DX-YOLO,以期提高在行人車輛檢測(cè)任務(wù)中對(duì)中小目標(biāo)的檢測(cè)效果。
YOLOv3以YOLOv2為基礎(chǔ),使用新的卷積網(wǎng)絡(luò)Darknet-53進(jìn)行特征提取,利用多尺度特征進(jìn)行對(duì)象檢測(cè),并且在最終的對(duì)象分類環(huán)節(jié)使用Logistic取代了Softmax。上述改進(jìn)使得YOLOv3在保持速度優(yōu)勢(shì)的前提下,提升了預(yù)測(cè)精度。
與YOLOv2不同,YOLOv3使用了新的卷積網(wǎng)絡(luò)Darknet-53。如圖1所示,Darknet-53網(wǎng)絡(luò)包含 53 個(gè)卷積層,能夠提取到豐富的語(yǔ)義信息。由于使用了Resnet構(gòu)成的殘差單元[13],通過引入shortcut短路連接,解決了網(wǎng)絡(luò)加深時(shí)出現(xiàn)的網(wǎng)絡(luò)性能下降的問題。為了減少參數(shù)量,沒有使用大的卷積核,而是采用1×1卷積核降低特征通道數(shù)量,3×3卷積核進(jìn)行特征提取。同時(shí)隨著卷積層數(shù)的加深,神經(jīng)網(wǎng)絡(luò)會(huì)出現(xiàn)過擬合現(xiàn)象,為了抑制過擬合Darknet-53在卷積層后添加了批量歸一化層(batch normalization)。
Type為類型;Filters為卷積個(gè)數(shù);Size為尺寸;Output為輸出;Convolutional為卷積;Resnet unit為Resnet殘差單元;Avgpool為平均池化;Global為全局;Connected為全連接;Softmax為Softmax分類器圖1 Darknet-53特征提取網(wǎng)絡(luò)Fig.1 Feature extraction network of Darknet-53
不同尺度的感受野具有不同層次的語(yǔ)義信息,為實(shí)現(xiàn)不同細(xì)粒度的檢測(cè),YOLOv3采用FPN[14](feature pyramid networks)結(jié)構(gòu),提取出不同尺度的特征圖進(jìn)行對(duì)象檢測(cè)。對(duì)于輸入是416×416的圖片,網(wǎng)絡(luò)在79層獲得32倍下采樣13×13大小的特征圖,該特征圖的感受野大,包含抽象的語(yǔ)義信息,適合檢測(cè)大尺度的目標(biāo)。為了檢測(cè)中等目標(biāo),對(duì)79層的特征圖作上采樣,與第61層特征圖進(jìn)行拼接(concatenation),得到16倍下采樣26×26大小的特征圖。該特征圖的具有中等尺度的感受野,適合檢測(cè)中等尺度的對(duì)象。同樣的為了檢測(cè)小目標(biāo),對(duì)26×26大小的特征圖再次上采樣,并與第36層特征圖拼接(concatenation),得到8倍下采樣52×52大小的特征圖。該特征圖的感受野最小,適合檢測(cè)小尺度目標(biāo)。
YOLOv3沿用了anchor錨框機(jī)制,為每種尺度的特征圖設(shè)定3種先驗(yàn)框,在COCO數(shù)據(jù)集上9個(gè)先驗(yàn)框的大小分別為:(10×13),(16×30),(33×23),(30×61),(62×45),(59×119),(116×90),(156×198),(373×326)。由于52×52的特征圖感受野最小,為其分配(10×13),(16×30),(33×23)3種小的先驗(yàn)框。同樣地,26×26的特征圖有著中等感受野,先驗(yàn)框?yàn)?30×61),(62×45),(59×119);13×13的特征圖有最大的感受野,先驗(yàn)框?yàn)?116×90)、(156×198)、(373×326)。分配好先驗(yàn)框,在3個(gè)尺度的特征圖上進(jìn)行分類和邊框回歸。特征圖上的每個(gè)網(wǎng)格都會(huì)預(yù)測(cè)3個(gè)邊界框,每個(gè)邊界框包含4個(gè)坐標(biāo)值,1個(gè)置信度值,以及屬于k個(gè)類別的概率。因此,每個(gè)網(wǎng)格會(huì)預(yù)測(cè)輸出3×(4+1+k)維的向量。與預(yù)測(cè)得到的坐標(biāo)值、置信度值以及類別概率相對(duì)應(yīng),YOLOv3采用了多任務(wù)損失函數(shù),包括坐標(biāo)損失Lloss1、置信度損失Lloss2以及分類損失Lloss3,分別如式(1)、式(2)、式(3)所示,總的損失LlossYOLO為3個(gè)損失之和,如式(4)所示。為了平衡各項(xiàng)損失的比重,給予坐標(biāo)損失更大的權(quán)重λcoord=5,而對(duì)于不含目標(biāo)的置信度損失給予小的權(quán)重λnoobj=0.5。
(1)
(2)
(3)
LlossYOLO=Lloss1+Lloss2+Lloss3
(4)
較深的網(wǎng)絡(luò)結(jié)構(gòu)、多尺度特征融合以及錨框機(jī)制,使得YOLOv3在保持較高準(zhǔn)確率的同時(shí),具有較快的檢測(cè)速度,在MS COCO(Microsoft common objects in context)等數(shù)據(jù)集上的表現(xiàn)超過了SSD、RetinaNet等算法。然而,在中小目標(biāo)的檢測(cè)方面,YOLOv3的準(zhǔn)確率仍然達(dá)不到理想水平,因此提出改進(jìn)算法DX-YOLO。首先改進(jìn)YOLOv3的特征提取網(wǎng)絡(luò),使用ResneXt[15]殘差模塊替換原有的殘差模塊,增加卷積網(wǎng)絡(luò)的寬度,減少網(wǎng)絡(luò)復(fù)雜度;然后引入DenseNet[16]密集連接,實(shí)現(xiàn)特征重用,提升網(wǎng)絡(luò)的特征利用效率和特征提取能力。
圖2 Resnet殘差單元和ResneXt殘差單元Fig.2 Resnet residual unit and ResneXt residual unit
隨著網(wǎng)絡(luò)逐漸加深,網(wǎng)絡(luò)收斂會(huì)變得慢甚至無法收斂,網(wǎng)絡(luò)性能也會(huì)變差。為了避免上述問題,YOLOv3在特征提取網(wǎng)絡(luò)Darknet-53中,使用了23個(gè)Resnet殘差單元,具體結(jié)構(gòu)如圖2(a)所示。Resnet殘差單元在輸入和輸出之間增加shortcut短路連接,通過多個(gè)有參層學(xué)習(xí)輸入輸出之間的殘差表示,而不像一般卷積網(wǎng)絡(luò)使用有參層直接學(xué)習(xí)輸入和輸出之間的關(guān)系。這種殘差表示更容易優(yōu)化,能夠避免在網(wǎng)絡(luò)層數(shù)加深的同時(shí),出現(xiàn)無法收斂和性能下降的問題。實(shí)驗(yàn)表明學(xué)習(xí)殘差比直接學(xué)習(xí)輸入和輸出間映射要容易得多,收斂速度也更快。
Resnet殘差單元在一定程度上抑制了網(wǎng)絡(luò)加深帶來的收斂變慢等問題,然而當(dāng)網(wǎng)絡(luò)進(jìn)一步加深時(shí),仍然會(huì)出現(xiàn)梯度消失、訓(xùn)練困難的情況,并且也加大了網(wǎng)絡(luò)設(shè)計(jì)的難度和計(jì)算開銷。為了更好地解決網(wǎng)絡(luò)加深帶來的問題,進(jìn)一步提升網(wǎng)絡(luò)的特征提取能力,同時(shí)要避免網(wǎng)絡(luò)過于復(fù)雜,就需要設(shè)計(jì)新的網(wǎng)絡(luò)結(jié)構(gòu)。圖2(b)為ResneXt殘差單元,它在Resnet殘差單元的基礎(chǔ)上,增加了多個(gè)稱為Cardinality的卷積分支,使得網(wǎng)絡(luò)能夠提取出更豐富的特征信息。與Inception[17]結(jié)構(gòu)不同,ResneXt殘差單元中的卷積分支具有相同的拓?fù)浣Y(jié)構(gòu),因此減輕了網(wǎng)絡(luò)設(shè)計(jì)負(fù)擔(dān),降低了模型的復(fù)雜度,提高了網(wǎng)絡(luò)的運(yùn)行效率。Resnet與ResneXt的性能對(duì)比如表1所示,在參數(shù)量級(jí)相同的情況下,ResneXt的Top 1和Top 5錯(cuò)誤率均小于Resnet。
隨著卷積網(wǎng)絡(luò)的加深,提取出的特征也由淺變深,淺層的特征包含著具體的位置信息,深層的特征則有著抽象的語(yǔ)義信息。為了更加充分利用各個(gè)卷積層提取出的特征,確保網(wǎng)絡(luò)層之間的最大信息流,將所有層直接彼此連接,每個(gè)層從前面的所有層獲得額外的輸入,并且將自己的特征映射傳遞給后面的所有層,構(gòu)成了DenseNet密集連接網(wǎng)絡(luò),具體結(jié)構(gòu)如圖3所示。
表1 Resnet與ResneXt性能比較
圖3 DenseNet密集連接網(wǎng)絡(luò)Fig.3 Densely dense continuous network
DenseNet網(wǎng)絡(luò)中,任意兩個(gè)層之間直接相連,每層都以前面所有層的輸出作為輸入,而且前面層的輸出不是通過元素級(jí)相加的方式,而是通過在Channel維度上拼接(Concatenation)在一起作為下一層的輸入。對(duì)于網(wǎng)絡(luò)的第L層輸出,傳統(tǒng)網(wǎng)絡(luò)的輸出和DenseNet網(wǎng)絡(luò)的輸出分別如式(5)和式(6)所示。
xL=HL(xL-1)
(5)
x′L=HL([x0,x1,…,xL-1])
(6)
式中:xL、x′L分別表示傳統(tǒng)網(wǎng)絡(luò)和DenseNet網(wǎng)絡(luò)第L層的輸出;HL()表示非線性轉(zhuǎn)化函數(shù)(non-liear transformation),是一個(gè)組合操作,包括一系列的卷積,池化等操作。
從式(5)、式(6)可以看出,DenseNet通過引入密集連接,實(shí)現(xiàn)了特征重用。相比于傳統(tǒng)的卷積網(wǎng)絡(luò),DenseNet不需要重新學(xué)習(xí)冗余特征圖,這種密集連接只需要更少的參數(shù),就可以使卷積層學(xué)習(xí)到更多的特征,提升了特征利用效率。同時(shí),密集連接也改進(jìn)了網(wǎng)絡(luò)的信息流和梯度,使網(wǎng)絡(luò)易于訓(xùn)練,每個(gè)層可以直接訪問來自損失函數(shù)和原始輸入信號(hào)的梯度,帶來了隱式深度監(jiān)控。
在實(shí)際的行人車輛檢測(cè)場(chǎng)景中,不僅存在著大中型車輛等大目標(biāo),還有許多小型機(jī)動(dòng)車、自行車、行人等中小目標(biāo),尤其是行人往往會(huì)聚集在一起,產(chǎn)生互相遮擋的問題,給目標(biāo)檢測(cè)增加了很大的難度。作為一階段目標(biāo)檢測(cè)算法的代表,YOLOv3具有檢測(cè)速度快、準(zhǔn)確率高等優(yōu)點(diǎn),但對(duì)于中小目標(biāo)的檢測(cè)準(zhǔn)確率還達(dá)不到理想水平,漏檢誤檢的情況時(shí)有發(fā)生。為了提升對(duì)中小目標(biāo)的檢測(cè)效果,利用ResneXt殘差單元與密集連接改進(jìn)YOLOv3,構(gòu)建改進(jìn)算法DX-YOLO。
首先將Darknet-53網(wǎng)絡(luò)中的殘差單元替換為ResneXt殘差單元,可以使網(wǎng)絡(luò)提取出更豐富的特征信息,提升特征提取能力。當(dāng)ResneXt殘差單元的分支數(shù)量增加時(shí),網(wǎng)絡(luò)的寬度也相應(yīng)增加,分支能夠提取出包含不同信息的特征。然而,分支數(shù)量過多時(shí),參數(shù)量也相應(yīng)增加,會(huì)使得網(wǎng)絡(luò)運(yùn)行速度變慢,甚至出現(xiàn)收斂變慢、訓(xùn)練困難等問題。因此,需要限制ResneXt殘差單元中卷積分支的個(gè)數(shù),改進(jìn)后的ResneXt殘差單元如圖4所示,有4個(gè)卷積分支,在幾乎不增加參數(shù)的情況下,可以有效提升卷積網(wǎng)絡(luò)的寬度。由于卷積分支的拓?fù)浣Y(jié)構(gòu)相同,便于模型移植,并且每個(gè)分支都采用了三層卷積層構(gòu)成的Bottleneck結(jié)構(gòu),可以進(jìn)一步減少參數(shù)量。具體的,第一層使用1×1卷積核以減少通道數(shù)量,中間層使用3×3卷積核進(jìn)行特征提取,最后使用1×1卷積核恢復(fù)通道數(shù)量。
圖4 改進(jìn)后的ResneXt殘差單元Fig.4 Improved ResneXt residual unit
為進(jìn)一步提升網(wǎng)絡(luò)的特征提取能力和效率,引入密集連接,將Darknet-53網(wǎng)絡(luò)中用于提取52×52、26×26、13×13三種尺度特征圖的殘差塊,改造成密集連接塊。密集連接塊結(jié)構(gòu)如圖5所示,是由多個(gè)相同結(jié)構(gòu)的ResneXt殘差單元組成的密集連接網(wǎng)絡(luò)。具體的,用于提取13×13特征圖的密集連接塊,內(nèi)部由4個(gè)改進(jìn)后的ResneXt殘差單元以密集連接方式進(jìn)行連接;用于提取52×52、26×26特征圖的密集連接塊,內(nèi)部由8個(gè)改進(jìn)后的ResneXt殘差單元以密集連接方式進(jìn)行連接。
綜上,DX-YOLO算法的網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示。與原始的YOLOv3相比,DX-YOLO網(wǎng)絡(luò)使用了帶有卷積分支的ResneXt殘差單元,能夠提取出更豐富的特征,同時(shí)構(gòu)建了密集連接塊,使得網(wǎng)絡(luò)的特征利用效率更高,特征提取能力也更強(qiáng)。
圖5 含有ResneXt殘差單元的密集連接塊Fig.5 Dense connection block with ResneXt unit
Type為類型;Filters為卷積個(gè)數(shù);Size為尺寸;Output為輸出;Convolutional為卷積;ResneXt unit為ResneXt殘差單元;Conv為卷積;YOLO Detection為YOLO檢測(cè)網(wǎng)絡(luò)圖6 DX-YOLO網(wǎng)絡(luò)結(jié)構(gòu)Fig.6 DX-YOLO network structure
軟件環(huán)境使用Ubuntu 16.04LTS操作系統(tǒng),Darknet深度學(xué)習(xí)框架。在硬件配置上CPU使用英特爾酷睿i9-7900X; GPU為英偉達(dá)GTX 1080Ti 11G顯存。
實(shí)驗(yàn)選用Udacity數(shù)據(jù)集,該數(shù)據(jù)集采集自真實(shí)的道路場(chǎng)景,圖像中包含多種尺度的行人和車輛目標(biāo),并且有互相遮擋的目標(biāo),適合作為行人車輛檢測(cè)用的數(shù)據(jù)集,部分圖像如圖7所示。數(shù)據(jù)集含有24 420張分辨率為1 920×1 200的圖像,標(biāo)注有pedestrain(行人)、biker(騎車的人)、car(汽車)、truck(卡車)、trafficlight(交通信號(hào)燈)共5個(gè)類別。為便于統(tǒng)計(jì)分析,將其中的pedestrain(行人)、biker(騎車的人)這2類合并為person(行人)類,將car(汽車)、truck(卡車)這2類合并成car(車輛)類。
圖7 Udacity數(shù)據(jù)集Fig.7 Udacity data set
將Udacity數(shù)據(jù)集以7∶1∶2的比例分成訓(xùn)練集、驗(yàn)證集和測(cè)試集,并且利用平移、旋轉(zhuǎn)、鏡像、翻轉(zhuǎn)等方法對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行擴(kuò)充。由于算法在錨框的基礎(chǔ)上進(jìn)行分類和回歸,因此設(shè)置的錨框數(shù)量、大小和比例,將會(huì)影響檢測(cè)效果。根據(jù)Udacity數(shù)據(jù)集的特點(diǎn),采用K-means算法對(duì)數(shù)據(jù)集進(jìn)行維度聚類,得到大、中、小三種尺度共計(jì)9個(gè)錨框,大小分別為(320,180),(200,136),(155,81),(103,55),(69,44),(63,140),(46,33),(28,26),(25,63)。將前3個(gè)大的錨框分配給大尺度檢測(cè)單元,中間3個(gè)中等錨框分配給中尺度檢測(cè)單元,最后3個(gè)小錨框分配給小尺度檢測(cè)單元。
分配完錨框,開始對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。訓(xùn)練采用Adam優(yōu)化器,使用默認(rèn)參數(shù),初始學(xué)習(xí)率設(shè)置為0.001,衰減系數(shù)設(shè)置為0.000 5,批大小設(shè)置為32,當(dāng)?shù)?5 000步時(shí),將學(xué)習(xí)率衰減為0.000 1。訓(xùn)練過程的損失函數(shù)曲線如圖8所示,從圖8可以看出,隨著迭代的進(jìn)行損失逐漸收斂,在20 000步左右趨于穩(wěn)定。
圖8 DX-YOLO訓(xùn)練損失曲線Fig.8 DX-YOLO loss curve of training
3.3.1 不同算法實(shí)驗(yàn)對(duì)比
為檢驗(yàn)提出的改進(jìn)算法DX-YOLO的效果,將其與SSD、Retinanet、YOLOv3算法進(jìn)行對(duì)比,以相同的方法在Udacity數(shù)據(jù)集上訓(xùn)練和測(cè)試。以平均精度(average precision,AP)和(mean average precision,mAP)作為評(píng)價(jià)指標(biāo),AP和mAP的值越高,說明算法對(duì)目標(biāo)的檢測(cè)效果越好。實(shí)驗(yàn)結(jié)果如表2所示,可以看出,對(duì)于person(行人)類別的檢測(cè),DX-YOLO的AP值最高,達(dá)到了93.04%,比YOLOv3算法高出4.31%,比Retinanet 和SSD算法分別高出4.79%、6.06%;而對(duì)于car(車輛)類別的檢測(cè),DX-YOLO的AP也是最高,達(dá)到 92.08%,較YOLOv3算法高出2.53%;綜合person(行人)和car(車輛)兩類目標(biāo),DX-YOLO算法有著最高92.56%的mAP,比YOLOv3算法高出3.42%。由此可見,DX-YOLO 算法對(duì)行人車輛目標(biāo)的檢測(cè)效果明顯優(yōu)于YOLOv3。
3.3.2 不同尺度目標(biāo)的檢測(cè)效果對(duì)比
為檢驗(yàn)DX-YOLO算法對(duì)不同尺度目標(biāo)的檢測(cè)效果,將測(cè)試集上的行人車輛目標(biāo)按照尺度大小進(jìn)行分類,劃分為large(大)、medium(中)、small(小)三個(gè)類別。實(shí)驗(yàn)結(jié)果如表3所示,可以看出,對(duì)于大目標(biāo),DX-YOLO和YOLOv3都能取得很好的檢測(cè)效果,AP分別達(dá)到95.86%、94.32%。在中等目標(biāo)上DX-YOLO的AP比YOLOv3高出2.74%,在小目標(biāo)上比YOLOv3高出5.98%。可以看出,改進(jìn)算法DX-YOLO對(duì)于中小目標(biāo)的檢測(cè)比YOLOv3效果更好。
表2 不同算法的檢測(cè)結(jié)果
表3 不同尺度目標(biāo)的檢測(cè)結(jié)果
圖9為YOLOv3算法和DX-YOLO算法在實(shí)際場(chǎng)景中檢測(cè)效果對(duì)比,可以看出對(duì)于被遮擋的行人和車輛目標(biāo),YOLOv3存在漏檢的情況;對(duì)于遠(yuǎn)處較小的行人和車輛目標(biāo),YOLOv3也出現(xiàn)了漏檢。DX-YOLO算法則能正確檢測(cè)出行人和車輛目標(biāo),沒有出現(xiàn)漏檢的情況,檢測(cè)效果優(yōu)于YOLOv3算法。
圖9 YOLOv3與DX-YOLO實(shí)際場(chǎng)景檢測(cè)效果對(duì)比Fig.9 Comparison of detection results between YOLOv3 and DX-YOLO
針對(duì)YOLOv3對(duì)中、小目標(biāo)檢測(cè)效果不理想的問題,提出改進(jìn)算法DX-YOLO。經(jīng)過理論分析和實(shí)驗(yàn)驗(yàn)證,得出以下結(jié)論。
(1)使用ResneXt殘差模塊替換YOLOv3網(wǎng)絡(luò)中原有的殘差模塊,優(yōu)化卷積網(wǎng)絡(luò)結(jié)構(gòu),提升了網(wǎng)絡(luò)的特征提取能力。
(2)受到DenseNet的啟發(fā),引入密集連接,實(shí)現(xiàn)了特征重用,提高了提取特征的效率,同時(shí)密集連接也有利于網(wǎng)絡(luò)的訓(xùn)練和收斂。
(3)在行人車輛數(shù)據(jù)集Udacity上進(jìn)行實(shí)驗(yàn),結(jié)果表明DX-YOLO與YOLOv3相比,mAP提升了3.42%;在中等目標(biāo)和小目標(biāo)上的AP分別提升了2.74%和5.98%??梢姳疚乃惴―X-YOLO相比YOLOv3,具有更好的檢測(cè)效果。