郭健忠,余騰飛,崔玉定,周興林
(1.武漢科技大學(xué) 汽車(chē)與交通工程學(xué)院,湖北 武漢 430065;
2.武漢科技大學(xué) 機(jī)械自動(dòng)化學(xué)院,湖北 武漢 430065)
近幾年來(lái),隨著計(jì)算機(jī)視覺(jué)技術(shù)的快速發(fā)展,基于神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)技術(shù)不斷增強(qiáng),其在汽車(chē)行業(yè)的運(yùn)用受到了廣泛的關(guān)注和研究。目前,百度、滴滴、博世等公司已把神經(jīng)網(wǎng)絡(luò)算法運(yùn)用到汽車(chē)無(wú)人駕駛上,并取得了良好效果??梢灶A(yù)見(jiàn)的是,神經(jīng)網(wǎng)絡(luò)算法必將在無(wú)人駕駛領(lǐng)域大放光彩。
但是在實(shí)際應(yīng)用當(dāng)中,有兩個(gè)難點(diǎn)需要解決,一是車(chē)載設(shè)備的計(jì)算能力和存儲(chǔ)空間往往受到諸多限制,故算法必須對(duì)硬件資源的需求少;二是算法要對(duì)遠(yuǎn)距離上的小目標(biāo)有較強(qiáng)的檢測(cè)能力,檢測(cè)速度快,以便汽車(chē)有充足的時(shí)間應(yīng)對(duì)。采用輕量型神經(jīng)網(wǎng)絡(luò)如MobileNet可以有效降低模型對(duì)硬件的要求。2016年,Iandola等人[1]提出Squeeze Net,采用1×1卷積核對(duì)上一層的特征圖進(jìn)行卷積,主要目的是減少特征圖的維數(shù)。后來(lái),Sifre等人[2]提出了深度可分離卷積的結(jié)構(gòu),進(jìn)一步減少了網(wǎng)絡(luò)的參數(shù)量和計(jì)算量。而深度可分離卷積的本質(zhì)是使用深度卷積和逐點(diǎn)卷積將卷積操作分解為冗余信息更少的稀疏化表達(dá)。2017年,谷歌公司的Howard等人[3]發(fā)布了一種可以在手機(jī)等移動(dòng)終端運(yùn)作的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu):MobileNet,采用了深度可分離卷積的結(jié)構(gòu)。之后,Howard等人[4]嘗試對(duì)MobileNet進(jìn)行改進(jìn),提出了MobileNetv2,主要利用了線(xiàn)性瓶頸層和倒殘差對(duì)網(wǎng)絡(luò)進(jìn)行改進(jìn),明顯地提升了網(wǎng)絡(luò)的預(yù)測(cè)精度。即使如此,在車(chē)載設(shè)備的限制和要求下,MobileNetv2的檢測(cè)精度仍不令人滿(mǎn)意。為提高其檢測(cè)精度和對(duì)小目標(biāo)的檢測(cè)能力,可考慮結(jié)合其他算法,取長(zhǎng)補(bǔ)短,以期提高整體算法的性能。
卷積神經(jīng)網(wǎng)絡(luò)中因?qū)δ繕?biāo)檢測(cè)的方式不同,可把算法大致分為基于候選區(qū)域和基于回歸的目標(biāo)檢測(cè)算法兩類(lèi)[5]?;诨貧w的目標(biāo)檢測(cè)算法省略了候選區(qū)域生成步驟,直接將特征提取、目標(biāo)分類(lèi)以及目標(biāo)回歸在同一個(gè)卷積神經(jīng)網(wǎng)絡(luò)中實(shí)現(xiàn),將目標(biāo)檢測(cè)過(guò)程簡(jiǎn)化為一種端到端的回歸問(wèn)題,使基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法在速度上有了大幅度提升,這無(wú)疑比基于候選區(qū)域的算法更適合。這類(lèi)算法的代表有:YOLO系列[6-7]、SSD[8]、FPN[9]以及Retina Net[10]。其中,SSD網(wǎng)絡(luò)是當(dāng)中檢測(cè)精確度相對(duì)更高的網(wǎng)絡(luò)結(jié)構(gòu)。為提升SSD模型在中小目標(biāo)檢測(cè)方面的能力,很多學(xué)者對(duì)此進(jìn)行了研究。例如,Tang等[11]在原有SSD模型的基礎(chǔ)之上采用多視窗的方法進(jìn)行檢測(cè)從而提升準(zhǔn)確率,但是這種方法的區(qū)域劃分不固定,對(duì)于目標(biāo)檢測(cè)的準(zhǔn)確性和魯棒性產(chǎn)生了一定的影響。Jeong等[12]提出了RSSD模型,改善了SSD的特征融合方式,利用分類(lèi)網(wǎng)絡(luò)增加獲取的Feature Map之間的聯(lián)系,減少了重復(fù)框的出現(xiàn),同時(shí)增加了Feature Map的個(gè)數(shù)使得模型能夠檢測(cè)到更多尺度的目標(biāo);Fu等[13]提出了DSSD,使用Resnet-101替代原來(lái)的VGG Net,在分類(lèi)回歸之前使用殘差模塊,在輔助的SSD額外特征卷積層后面添加了幾層反卷積層,整個(gè)網(wǎng)絡(luò)呈現(xiàn)出寬窄寬的結(jié)構(gòu),提高了小目標(biāo)的檢測(cè)精度。陳幻杰等[14]對(duì)SSD模型的改進(jìn),通過(guò)小目標(biāo)特征區(qū)域進(jìn)行放大提取,額外提取多個(gè)高層特征層的信息,利用更深的網(wǎng)絡(luò)結(jié)構(gòu)改善中等目標(biāo)的檢測(cè)結(jié)果等方法,較大地提高了對(duì)中小目標(biāo)的準(zhǔn)確率,檢測(cè)速度相比原有的SSD模型下降了將近一半,在滿(mǎn)足準(zhǔn)確性的基礎(chǔ)上實(shí)時(shí)性受到了較大的影響。
該文結(jié)合MobileNetv2和SSD模型構(gòu)成MobileNetv2-SSD網(wǎng)絡(luò),并對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn),增強(qiáng)對(duì)特征的提取效果,使網(wǎng)絡(luò)對(duì)小目標(biāo)有更強(qiáng)的檢測(cè)能力,同時(shí)降低了對(duì)硬件資源的需求。實(shí)驗(yàn)表明,改進(jìn)后的網(wǎng)絡(luò)有更強(qiáng)的小目標(biāo)檢測(cè)能力。
在車(chē)輛目標(biāo)檢測(cè)階段,因需要迅速、準(zhǔn)確地識(shí)別目標(biāo),所以基于回歸的目標(biāo)檢測(cè)算法更加適合??紤]到SSD在準(zhǔn)確度和檢測(cè)速度上比其他基于回歸的目標(biāo)檢測(cè)算法更有優(yōu)勢(shì),故該文采用SSD網(wǎng)絡(luò)進(jìn)行目標(biāo)檢測(cè)。但SSD網(wǎng)絡(luò)對(duì)小目標(biāo)的檢測(cè)效果較差,而且整個(gè)模型相對(duì)較大,在實(shí)際應(yīng)用時(shí)對(duì)硬件要求高,考慮到硬件成本問(wèn)題,應(yīng)結(jié)合使用規(guī)模較小的網(wǎng)絡(luò),降低對(duì)硬件配置資源的需求,而MobileNetv2作為輕量化的較為符合需求。基于以上分析,考慮結(jié)合MobileNetv2和SSD網(wǎng)絡(luò)。結(jié)合后的網(wǎng)絡(luò)兼具SSD網(wǎng)絡(luò)檢測(cè)速度快、準(zhǔn)確度高和MobileNetv2網(wǎng)絡(luò)參數(shù)少、模型小的特點(diǎn),較為符合要求。
SSD模型是當(dāng)中檢測(cè)精確度相對(duì)較高的網(wǎng)絡(luò)結(jié)構(gòu),其在不同大小的特征圖上預(yù)測(cè)目標(biāo)。SSD網(wǎng)絡(luò)檢測(cè)目標(biāo)時(shí),以每一個(gè)網(wǎng)格為基礎(chǔ),生成多個(gè)先驗(yàn)框,之后每一個(gè)先驗(yàn)框都會(huì)檢測(cè)框內(nèi)是否有目標(biāo),若判斷出框內(nèi)有目標(biāo),就根據(jù)目標(biāo)的大小和位置,計(jì)算出每一個(gè)先驗(yàn)框的寬高偏差和中心點(diǎn)的偏移量,通過(guò)解碼得到預(yù)測(cè)框的中心和寬高。利用框中物體的置信度對(duì)框進(jìn)一步篩選,經(jīng)過(guò)非極大值抑制處理,篩選出得分最高的框,標(biāo)記在圖片上。
MobileNetv2是一種輕量化的卷積神經(jīng)網(wǎng)絡(luò),它對(duì)輸入圖像先升維、深度分解卷積、再降維,這種被稱(chēng)為倒殘差的結(jié)構(gòu)可以減少參數(shù)量和計(jì)算量。在ImageNet數(shù)據(jù)集上做實(shí)驗(yàn),MobileNet與VGG16的準(zhǔn)確率幾乎一樣,但參數(shù)量和計(jì)算量只有其1/9。
MobileNetv2-SSD網(wǎng)絡(luò)結(jié)合兩種網(wǎng)絡(luò)的優(yōu)勢(shì),檢測(cè)速度快,檢測(cè)準(zhǔn)確度高,然而它對(duì)小目標(biāo)的檢測(cè)效果不盡如人意。在目標(biāo)檢測(cè)物的在圖像中占比較小時(shí),也會(huì)存在如下問(wèn)題:
(1)小目標(biāo)呈現(xiàn)的信息量較小,導(dǎo)致檢測(cè)效果不佳,訓(xùn)練時(shí)需要反復(fù)挖掘信息。
(2)在訓(xùn)練階段,對(duì)于小物體的標(biāo)注容易存在偏差,在目標(biāo)物體較小的情況下,標(biāo)記的誤差會(huì)對(duì)檢測(cè)效果產(chǎn)生較大的影響。
(3)實(shí)際應(yīng)用場(chǎng)景中,小目標(biāo)數(shù)量較少,使得網(wǎng)絡(luò)訓(xùn)練時(shí)負(fù)樣本過(guò)多,導(dǎo)致模型的退化,嚴(yán)重制約了檢測(cè)網(wǎng)絡(luò)的性能。
為解決以上問(wèn)題,該文提出特征增強(qiáng)和特征融合的方法使網(wǎng)絡(luò)反復(fù)挖掘小目標(biāo)的信息,以加強(qiáng)網(wǎng)絡(luò)對(duì)小目標(biāo)的檢測(cè)能力。同時(shí),為了進(jìn)一步減少參數(shù)量和計(jì)算量,并使得網(wǎng)絡(luò)更符合檢測(cè)車(chē)輛特征和實(shí)際應(yīng)用的需要,對(duì)先驗(yàn)框進(jìn)行改進(jìn)。
改進(jìn)后的模型結(jié)構(gòu)如圖1所示。輸入為300×300×3的圖片,經(jīng)過(guò)一次標(biāo)準(zhǔn)卷積和兩次深度可分離卷積后進(jìn)入圖1所示結(jié)構(gòu)。用MobileNetv2網(wǎng)絡(luò)取代原本SSD中的VGG網(wǎng)絡(luò),用于多尺度特征提取,之后用特征增強(qiáng)模塊挖掘提取到的信息??紤]到大特征圖更易提取小目標(biāo),故對(duì)大特征圖進(jìn)行特征融合,以加強(qiáng)對(duì)小目標(biāo)的提取能力。然后,對(duì)增強(qiáng)或者融合后的特征圖進(jìn)行歸一化和使用leaky ReLU等操作,防止梯度消失和梯度爆炸。最后,用非極大值抑制進(jìn)行目標(biāo)分類(lèi)。
模型主要分為兩個(gè)部分,第一部分是用于提取目標(biāo)特征的MobileNetv2基礎(chǔ)模塊和SSD基礎(chǔ)模塊,一步步縮小尺度,得到不同尺度下的特征圖;第二部分是多尺度特征檢測(cè)網(wǎng)絡(luò),其作用是進(jìn)行不同尺度條件下的特征提取,并把提取到的特征進(jìn)行增強(qiáng)和融合,然后進(jìn)行歸一化處理和線(xiàn)性修正,最終得到一維向量進(jìn)行目標(biāo)檢測(cè)。從圖1可以看出,檢測(cè)模塊(detections)得到6個(gè)特征圖中目標(biāo)的置信度和坐標(biāo),通過(guò)非極大值抑制(non-maximum suppression,NMS)模塊過(guò)濾掉重復(fù)預(yù)測(cè)的目標(biāo)。通過(guò)該模型可以有效提取待識(shí)別目標(biāo)的信息,且具有準(zhǔn)確度高和檢測(cè)速度快等優(yōu)點(diǎn),對(duì)變化目標(biāo)具有較好的魯棒性。
圖1 M2-SSD網(wǎng)絡(luò)結(jié)構(gòu)
網(wǎng)絡(luò)的基本配置如表1所示。表中t是輸入通道的倍增系數(shù)(即瓶頸層中的通道數(shù)是輸入通道數(shù)的多少倍);n是該模塊重復(fù)的次數(shù);c是輸出通道數(shù);s是該模塊第一次重復(fù)時(shí)的stride(后面重復(fù)都是stride=1)。
表1 M2-SSD網(wǎng)絡(luò)基本配置
瓶頸殘塊(bottleneck residual block)是網(wǎng)絡(luò)中很重要的結(jié)構(gòu)。它把數(shù)據(jù)先升維,使用輕量級(jí)深度卷積做過(guò)濾;再應(yīng)用深度可分離卷積進(jìn)行處理。為便于實(shí)際應(yīng)用,如果維度越低,卷積層的乘法計(jì)算量就越小,想要減少運(yùn)算量,就需要盡可能將網(wǎng)絡(luò)設(shè)計(jì)成低維度的。如果整個(gè)網(wǎng)絡(luò)都是低維的,那么整體計(jì)算速度就會(huì)很快。但是如果維度太低,激活變換ReLU函數(shù)可能會(huì)濾除很多有用信息,造成信息丟失或破壞。針對(duì)這個(gè)問(wèn)題,使用linear bottleneck來(lái)代替原本的非線(xiàn)性激活變換,而在提取特征數(shù)據(jù)階段,高維張量更能提取到足夠多的信息,故先對(duì)數(shù)據(jù)進(jìn)行升維,再降維。
為了提高大特征圖對(duì)小目標(biāo)的檢測(cè)能力,豐富不同尺度特征圖的特征信息,提出了特征增強(qiáng)模塊。如圖2所示,模塊整體為一個(gè)殘差網(wǎng)絡(luò)結(jié)構(gòu),相比于學(xué)習(xí)原始的信號(hào),殘差網(wǎng)絡(luò)學(xué)習(xí)到了信號(hào)的差值,還增加了網(wǎng)絡(luò)的寬度。殘差網(wǎng)絡(luò)可以通過(guò)跳層連接,增強(qiáng)了梯度的流動(dòng),從而使得信息前后向傳播更加順暢,不對(duì)稱(chēng)的結(jié)構(gòu)使得反向傳播時(shí),錯(cuò)誤信號(hào)可以不經(jīng)過(guò)任何中間權(quán)重矩陣變換直接傳播到低層,一定程度上可以緩解梯度彌散問(wèn)題。多重1×1和3×3的卷積可以充分挖掘特征圖信息,而批量標(biāo)準(zhǔn)化可以解決梯度消失的問(wèn)題,由于小目標(biāo)的文本信息量較少,故這樣設(shè)計(jì)特征增強(qiáng)模塊可以有效增強(qiáng)對(duì)小目標(biāo)的檢測(cè)能力。
圖2 特征增強(qiáng)模塊結(jié)構(gòu)
為了加強(qiáng)各個(gè)尺度特征圖之間的聯(lián)系,增強(qiáng)檢測(cè)能力,提出特征融合模塊,結(jié)構(gòu)如圖3所示。首先,用1×1的卷積核對(duì)兩個(gè)特征圖進(jìn)行卷積,使其通道統(tǒng)一,然后采用雙線(xiàn)性插值使特征圖的大小統(tǒng)一,之后用concat函數(shù)進(jìn)行合并。特征融合能使得特征圖的語(yǔ)義更豐富,對(duì)大尺度特征圖進(jìn)行特征融合可以提高對(duì)小目標(biāo)的檢測(cè)能力。
圖3 特征融合模塊結(jié)構(gòu)
SSD模型在目標(biāo)檢測(cè)部分與圖像金字塔有著相似的結(jié)構(gòu),對(duì)圖像下采樣得到不同大小的特征圖。由于大尺寸特征圖的細(xì)節(jié)特征信息豐富,能檢測(cè)出細(xì)微輪廓,而小尺寸的特征圖丟失較多細(xì)節(jié)信息,但對(duì)較大輪廓檢測(cè)效果好,因此對(duì)不同特征層進(jìn)行融合能夠提高網(wǎng)絡(luò)語(yǔ)義信息,增強(qiáng)細(xì)節(jié)與整體之間的聯(lián)系,提高網(wǎng)絡(luò)對(duì)小目標(biāo)的檢測(cè)能力。
特征融合具體步驟如下:該文采用特征融合的思想,在以上特征增強(qiáng)的基礎(chǔ)框架上,首先對(duì)不同大小特征層,用padding=0的1×1卷積核在這些特征圖上做卷積操作,保證了融合時(shí)的通道統(tǒng)一。由于這里把不同大小的特征圖進(jìn)行融合,所以需采用雙線(xiàn)性插值操作使特征圖大小統(tǒng)一。改進(jìn)后的特征層有更豐富的語(yǔ)義信息,能更好表征目標(biāo)的特性,對(duì)車(chē)輛小目標(biāo)檢測(cè)的準(zhǔn)確率有較大幅度改善。由于SSD中的檢測(cè)模塊的特征層尺寸較小,且包含語(yǔ)義信息較強(qiáng),不再進(jìn)行特征增強(qiáng)。
傳統(tǒng)的SSD網(wǎng)絡(luò)檢測(cè)目標(biāo)時(shí),會(huì)對(duì)所有先驗(yàn)框解碼,然后進(jìn)行置信度排序,置信度低的被刪除。該文提出的改進(jìn)是在解碼前先對(duì)先驗(yàn)框進(jìn)行置信度排序,在每個(gè)同目標(biāo)類(lèi)別中去除置信度較低的先驗(yàn)框,保留一定數(shù)量的高置信度先驗(yàn)框,再進(jìn)行解碼得到真實(shí)框,如圖4所示。這樣做的目的是減少需要解碼的先驗(yàn)框個(gè)數(shù),減少了計(jì)算量。
圖4 先驗(yàn)框改進(jìn)后解碼過(guò)程
考慮到本實(shí)驗(yàn)中目標(biāo)種類(lèi)較少,且要求模型輕量化,故只保留50個(gè)同類(lèi)別的先驗(yàn)框。即對(duì)先驗(yàn)框進(jìn)行置信度排序后,同一目標(biāo)類(lèi)別中,只保留50個(gè)置信度最高的先驗(yàn)框。之后對(duì)每一類(lèi)別的50個(gè)先驗(yàn)框進(jìn)行解碼,把大小和位置修正,再?gòu)闹羞x出IOU最大的預(yù)測(cè)框作為真實(shí)框輸出。
為了提高對(duì)小目標(biāo)的檢測(cè)能力,調(diào)整先驗(yàn)框的尺寸。特征圖先驗(yàn)框的個(gè)數(shù)預(yù)測(cè)依次為4、6、6、6、4、4。先驗(yàn)框長(zhǎng)寬比依次為1∶1,2∶2,1∶2,2∶1,1∶3,3∶1,先驗(yàn)框尺度計(jì)算公式如式(1)所示。
(1)
式中,Sk表示先驗(yàn)框的尺寸相對(duì)于原圖的比例,Smin和Smax分別表示比例的最小值與最大值。為了更好地檢測(cè)小目標(biāo),將Smin和Smax的值調(diào)整為0.16和0.88,這樣能夠有效避免由于目標(biāo)過(guò)小導(dǎo)致在訓(xùn)練階段真實(shí)標(biāo)簽無(wú)法找到相應(yīng)的先驗(yàn)框與之匹配的問(wèn)題。尺寸調(diào)整后的先驗(yàn)框大小如表2所示。
表2 先驗(yàn)框尺寸
(2)
由于針對(duì)小目標(biāo)檢測(cè),正負(fù)樣本特征的不平衡,往往造成簡(jiǎn)單的負(fù)樣本主導(dǎo)網(wǎng)絡(luò)的訓(xùn)練并導(dǎo)致模型的退化,這嚴(yán)重制約了檢測(cè)網(wǎng)絡(luò)的性能。為解決此問(wèn)題,該文引入Focal Loss損失函數(shù)。具體可以表示為:
FL(pt)=-αt(1-pt)γlog(pt)
(3)
其中,αt用于控制正負(fù)樣本的權(quán)重,取比較小的值來(lái)降低負(fù)樣本的權(quán)重;(1-pt)γ用于控制難易樣本的權(quán)重,目的是通過(guò)減少易分樣本的權(quán)重,從而使得模型在訓(xùn)練的時(shí)候更加專(zhuān)注難分樣本的學(xué)習(xí);pt表示某個(gè)目標(biāo)的類(lèi)別概率。
損失函數(shù)由位置損失和分類(lèi)損失加權(quán)組成,公式如下:
(4)
其中,t*為真實(shí)的目標(biāo)類(lèi)別,t為預(yù)測(cè)目標(biāo)類(lèi)別,b*為真實(shí)的標(biāo)簽框位置坐標(biāo),b為預(yù)測(cè)目標(biāo)坐標(biāo),N表示與真實(shí)框相匹配的先驗(yàn)框的個(gè)數(shù),Lclass(t*,t)為分類(lèi)損失函數(shù),a為權(quán)重,Lloc(b*,b)為位置損失函數(shù)。
位置損失可表示為:
(5)
其中,Pos表示正樣本,m為先驗(yàn)框的位置m∈{x,y,w,h},x,y表示先驗(yàn)框的中心點(diǎn)坐標(biāo),w,h分別表示先驗(yàn)框的寬和高。SmoothL1損失函數(shù)在Fast R-CNN中被提出,主要目的是為了防止梯度爆炸。
分類(lèi)損失可表示為:
(6)
本實(shí)驗(yàn)用的計(jì)算機(jī)配置為windows10操作系統(tǒng),Intel Core(TM)i9-10900K處理器,內(nèi)存為16 GB,顯卡為NVIDIA GTX 1080,開(kāi)發(fā)環(huán)境使用的是Tensorflow1.8。
實(shí)驗(yàn)使用的是KITTI數(shù)據(jù)集,并進(jìn)行了調(diào)整。KITTI數(shù)據(jù)集是目前國(guó)際上最大的自動(dòng)駕駛場(chǎng)景下的計(jì)算機(jī)視覺(jué)算法評(píng)測(cè)數(shù)據(jù)集,該數(shù)據(jù)集包含市區(qū)、鄉(xiāng)村和高速公路等場(chǎng)景采集的真實(shí)圖像數(shù)據(jù),每張圖像中最多達(dá)15輛車(chē)和30個(gè)行人,還有各種程度的遮擋與截?cái)唷ITTI數(shù)據(jù)集有8個(gè)類(lèi)別,將標(biāo)注文件中“Van”、“Truck”、“Tram”和“Car”類(lèi)別合并為“Car”類(lèi),其他類(lèi)別作為背景。
為了增加訓(xùn)練的數(shù)據(jù)量,提高模型的泛化能力,同時(shí)增加噪聲數(shù)據(jù),提升模型的魯棒性,對(duì)數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng)。比如使用隨機(jī)縮放和旋轉(zhuǎn)對(duì)樣本做一點(diǎn)處理,隨機(jī)地縮放小目標(biāo)的size(20%以?xún)?nèi))還有隨機(jī)旋轉(zhuǎn)(15°左右),或者對(duì)樣本進(jìn)行隨機(jī)反轉(zhuǎn)、裁剪、平移、添加噪聲。
經(jīng)過(guò)數(shù)據(jù)增強(qiáng)后,數(shù)據(jù)集總共有7 600張圖片,選用其中6 200幅圖像作為訓(xùn)練集,剩下1 400幅圖像作為驗(yàn)證集。實(shí)驗(yàn)中設(shè)定沖量常數(shù)為0.9,權(quán)重衰減系數(shù)為0.000 5,學(xué)習(xí)速率為0.000 8。在訓(xùn)練集中每次迭代處理8個(gè)樣本,進(jìn)行240個(gè)迭代周期,訓(xùn)練迭代次數(shù)為54 000次。
以模型訓(xùn)練時(shí)的損失函數(shù)變化和測(cè)試時(shí)的各類(lèi)別AP的平均值作對(duì)比分析,評(píng)價(jià)模型性能的優(yōu)劣。其中,損失函數(shù)由位置損失和分類(lèi)損失加權(quán)組成,計(jì)算總損失值與迭代次數(shù)的關(guān)系,各類(lèi)別AP的平均值即mAP(mean average precision)由召回率和精確率得出。
召回率的計(jì)算方法為:
精確率的計(jì)算方法為:
式中,TP(true positive)指正樣本中預(yù)測(cè)為正的數(shù)量,F(xiàn)N(false negative)指正樣本中預(yù)測(cè)為負(fù)的數(shù)量,F(xiàn)P(false positive)指負(fù)樣本中預(yù)測(cè)為正的數(shù)量。
模型對(duì)數(shù)據(jù)增強(qiáng)后的KTTI數(shù)據(jù)集進(jìn)行檢測(cè),得到的實(shí)驗(yàn)結(jié)果如圖5所示。圖5(a)為損失函數(shù)的損失值與迭代次數(shù)之間的關(guān)系圖,訓(xùn)練完成后的損失值為0.03,圖5(b)為訓(xùn)練時(shí)改進(jìn)后的先驗(yàn)框的置信度得分和訓(xùn)練次數(shù)的關(guān)系圖。
實(shí)驗(yàn)結(jié)果表明,改進(jìn)網(wǎng)絡(luò)的損失值較小,置信度得分較高,證明了網(wǎng)絡(luò)的有效性。
圖6為改進(jìn)型MobileNetv2-SSD網(wǎng)絡(luò)的檢測(cè)效果。其中,(a)為算法對(duì)遠(yuǎn)處的多個(gè)小目標(biāo)的檢測(cè)效果;(b)為在強(qiáng)光照條件下,算法對(duì)正面目標(biāo)和背面目標(biāo)的檢測(cè)效果;(c)為算法對(duì)側(cè)面目標(biāo)和被截?cái)嗄繕?biāo)的檢測(cè)效果;(d)為目標(biāo)處在被遮擋的陰影背景下算法的檢測(cè)效果??梢钥吹剑趶?fù)雜多變的應(yīng)用場(chǎng)景下改進(jìn)后的算法仍有較好的檢測(cè)效果。但為了突出其先進(jìn)性,需與其他算法進(jìn)行對(duì)比分析。
(a)遠(yuǎn)處多重目標(biāo) (b)強(qiáng)光照目標(biāo)
(c)側(cè)身目標(biāo)和半截目標(biāo) (d)弱光照被遮擋目標(biāo)
首先與未進(jìn)行改進(jìn)的MobileNetv2-SSD網(wǎng)絡(luò)作對(duì)比。圖7(a)為原本的MobileNetv2-SSD網(wǎng)絡(luò)的檢測(cè)效果,(b)為改進(jìn)型MobileNetv2-SSD網(wǎng)絡(luò)的檢測(cè)效果。可以看出,原本的MobileNetv2-SSD網(wǎng)絡(luò)對(duì)遠(yuǎn)處的小目標(biāo)檢測(cè)有遺漏,對(duì)被截?cái)嗟哪繕?biāo)無(wú)法識(shí)別,對(duì)給較少信息的目標(biāo)檢測(cè)能力較差,而改進(jìn)型MobileNetv2-SSD網(wǎng)絡(luò)有針對(duì)性地提高了對(duì)小目標(biāo)的檢測(cè)能力,對(duì)目標(biāo)信息反復(fù)挖掘,所以檢測(cè)效果較好。
(a)原本的MobileNetv2-SSD網(wǎng)絡(luò)檢測(cè)效果 (b)改進(jìn)型MobileNetv2-SSD網(wǎng)絡(luò)檢測(cè)效果
之后是與其他算法作對(duì)比分析。表3是不同檢測(cè)算法在KITTI數(shù)據(jù)集上的檢測(cè)結(jié)果對(duì)比,F(xiàn)aster R-CNN由于把目標(biāo)識(shí)別和定位分兩步完成,導(dǎo)致模型較大,而且檢測(cè)速度較慢。其他的算法都是單步識(shí)別網(wǎng)絡(luò),同時(shí)進(jìn)行目標(biāo)的識(shí)別和定位,所以檢測(cè)速度較快。其中,YOLOv2有著最快的檢測(cè)速度,是SSD300檢測(cè)速度的兩倍,但檢測(cè)準(zhǔn)確度比不上SSD300。YOLOv3有著最高的檢測(cè)準(zhǔn)確度,達(dá)到了91.58%,但網(wǎng)絡(luò)仍比較大。而文中的檢測(cè)網(wǎng)絡(luò)在檢測(cè)速度上僅次于YOLOv2,檢測(cè)準(zhǔn)確度上僅次于YOLOv3,而且基本持平,網(wǎng)絡(luò)大小上遠(yuǎn)小于其他網(wǎng)絡(luò)。由此證明,文中的檢測(cè)網(wǎng)絡(luò)在綜合性能上有較強(qiáng)的優(yōu)越性。
表3 不同檢測(cè)網(wǎng)絡(luò)的檢測(cè)結(jié)果
基于MobileNetv2-SSD網(wǎng)絡(luò)進(jìn)行改進(jìn),針對(duì)SSD網(wǎng)絡(luò)的小目標(biāo)檢測(cè)能力不足的問(wèn)題增強(qiáng)特征的提取和運(yùn)用,為減小計(jì)算量,對(duì)先驗(yàn)框的使用過(guò)程進(jìn)行改進(jìn)。實(shí)驗(yàn)表明,改進(jìn)后的網(wǎng)絡(luò)相比原網(wǎng)絡(luò)有更高的準(zhǔn)確度,同時(shí)檢測(cè)速度更快,這在車(chē)輛小目標(biāo)檢測(cè)中有較高的應(yīng)用價(jià)值。該實(shí)驗(yàn)的進(jìn)一步研究是擴(kuò)大檢測(cè)目標(biāo)的種類(lèi),增加對(duì)行人、電動(dòng)車(chē)、摩托車(chē)等目標(biāo)的檢測(cè),以增強(qiáng)應(yīng)用價(jià)值。