李云紅,張 軒,李傳真,蘇雪平,聶夢瑄,畢遠(yuǎn)東,謝蓉蓉
西安工程大學(xué) 電子信息學(xué)院,西安 710048
當(dāng)前基于計(jì)算機(jī)視覺的深度學(xué)習(xí)算法[1]應(yīng)用領(lǐng)域十分廣泛,結(jié)合目標(biāo)檢測技術(shù)可用來解決一些公共場所的公共資源分配問題,以便節(jié)省人力和物力。
近年來深度學(xué)習(xí)逐漸被應(yīng)用于圖像的檢測與識別中,大大推進(jìn)了該領(lǐng)域的研究。傳統(tǒng)的檢測識別方法有方向梯度直方圖(histogram of oriented gradient,HOG)特征、局部二值模式(local binary pattern,LBP)特征以及尺度不變特征變換(scale invariant feature transform,SIFT),通過設(shè)計(jì)特征提取器獲得圖像特征,然后將提取出來的特征輸入一個可訓(xùn)練的分類器。常用分類模型有AlexNet、VGG、GoogleNet、ResNet(residual network)等。Krizhevsky等提出基于深度學(xué)習(xí)理論的深度卷積神經(jīng)網(wǎng)絡(luò)(deep convolutional neural network,DCNN)的圖像分類算法,大幅提升了圖像分類的準(zhǔn)確率,同時目標(biāo)檢測準(zhǔn)確率也得以提升[2],但運(yùn)算速度慢,帶來沉重的計(jì)算機(jī)負(fù)擔(dān)。Szegedy等將目標(biāo)檢測問題看作目標(biāo)的回歸問題,使用深度卷積神經(jīng)網(wǎng)絡(luò)作為回歸器來預(yù)測輸入圖像中的目標(biāo)[3],但對目標(biāo)特征泛化性較差,實(shí)際應(yīng)用效果不佳。Erhan等使用深度卷積神經(jīng)網(wǎng)絡(luò)對目標(biāo)的AnchorBox進(jìn)行回歸預(yù)測,并給出每個AnchorBox包含類別無關(guān)對象的置信度[4],提升了識別率,但該方法移植性較差,對特定場合目標(biāo)需要分別訓(xùn)練。He等提出了一個可看作單層的網(wǎng)絡(luò)層,稱為感興趣區(qū)域(region of interest,ROI)Pooling[5],該方法提高了檢測速率,但是對小目標(biāo)識別率較低。Liu等提出了單點(diǎn)多盒探測器(single shot multibox detector,SSD)的檢測方法[6],該方法進(jìn)一步提升了檢測速度,但對小目標(biāo)以及模糊目標(biāo)檢測效果不佳。YOLO[7]在檢測速度上優(yōu)于SSD算法,但對于相互遮擋目標(biāo)存在漏檢問題。
針對以上問題,本文提出一種基于改進(jìn)YOLOv3算法的目標(biāo)檢測方法,該方法可在快速檢測的前提下提升對小目標(biāo)、遮擋目標(biāo)的檢測準(zhǔn)確率。
YOLOv3是YOLO和YOLOv2[8]的改進(jìn),傳統(tǒng)的檢測算法對目標(biāo)識別效率相對較低且優(yōu)化困難,例如以區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(region-convolutional neural network,R-CNN)[9]為首的候選框加預(yù)測位置、分類的這種策略。R-CNN首先產(chǎn)生一些潛在的Region Proposal,然后利用分類器對每一個區(qū)域進(jìn)行分類的同時進(jìn)行目標(biāo)邊界修正,最后利用非極大值抑制(non-maximum suppression,NMS)合并、消除重復(fù)檢測框,這個過程被稱為two-stage[10],如圖1所示。YOLO系列算法的創(chuàng)新就是提出one-stage,如圖2所示。即將目標(biāo)檢測僅看作單一的回歸問題,可以直接通過對檢測圖像優(yōu)化來得到所檢測物體的邊界位置和分類。YOLOv3之所以檢測速度快正是因?yàn)槠浠诨貧w的方法來提取特征,是一種典型的端到端訓(xùn)練,目標(biāo)類別和邊框會直接在特征層回歸之后得到,相比兩步檢測類算法節(jié)省了提取邊框的時間,提升了檢測速度。
圖1 兩步法Fig.1 Two-stage method
圖2 單步法Fig.2 One-stage method
YOLOv3網(wǎng)絡(luò)采用Darknet-53網(wǎng)絡(luò)結(jié)構(gòu)(含有53個卷積層),如圖3所示。一方面采用全卷積網(wǎng)絡(luò),另一方面網(wǎng)絡(luò)結(jié)構(gòu)增添了5個殘差塊,每個殘差塊中包括兩個DBL(DarknetConv2D_BN_Leaky)單元在殘差塊中進(jìn)行殘差操作,如圖4(a)所示。其中DBL單元包含了卷積層(convolutional)、批量歸一化(batch normalization)和Leaky ReLU激活函數(shù),如圖4(b)所示。通過引入殘差結(jié)構(gòu)網(wǎng)絡(luò)架構(gòu),網(wǎng)絡(luò)深度得以增加,并且可以有效避免在數(shù)據(jù)訓(xùn)練的過程中造成的梯度爆炸和消失等問題。得益于ResNet的殘差結(jié)構(gòu),網(wǎng)絡(luò)訓(xùn)練時的難度大大減小,因此這里可以將網(wǎng)絡(luò)層數(shù)由之前的Darknet-19增加到53層,從而加強(qiáng)了網(wǎng)絡(luò)的學(xué)習(xí)能力,檢測精度較之前也有明顯提升。Darknet-53網(wǎng)絡(luò)結(jié)構(gòu)只是用來獲取圖像的特征,在圖3網(wǎng)絡(luò)結(jié)構(gòu)中可以看到經(jīng)過特征層傳入之后,該網(wǎng)絡(luò)分別進(jìn)行了兩次上采樣,經(jīng)過上采樣的堆疊可以獲取更多檢測圖像特征,提升了檢測精度。同時YOLOv3采用了多尺度訓(xùn)練,網(wǎng)絡(luò)輸出3個尺度,分別是13×13、26×26、52×52,對應(yīng)于大、中和小目標(biāo)的檢測,每個尺度之間存在著特殊聯(lián)系,增強(qiáng)了模型魯棒性。
圖3 Darknet-53結(jié)構(gòu)圖Fig.3 Darknet-53 structure diagram
圖4 結(jié)構(gòu)單元Fig.4 Structural unit
YOLOv3算法保留了之前版本的優(yōu)點(diǎn),“分而治之”就是其一,依然通過劃分單元格的方式來對目標(biāo)進(jìn)行檢測,這種方式保證了算法的檢測效率。在YOLO算法的第二代版本之后,YOLO選擇使用批量歸一化,通過這種方法有效避免了訓(xùn)練過程中的過擬合問題,同時加速了收斂。網(wǎng)絡(luò)在每一層卷積之后增加激活函數(shù)Leaky ReLU,與ReLU激活函數(shù)相比該激活函數(shù)可以保留更多圖像信息。
除此之外對于不同的類別判斷,YOLOv3使用了80個邏輯分類器,通過設(shè)置候選框閾值來判斷檢測目標(biāo)是否為同一類目標(biāo)。YOLO系列算法在目標(biāo)檢測準(zhǔn)確率和速度上一直有著很大優(yōu)勢,是圖像檢測熱門研究方法,但是該算法只通過單一方法進(jìn)行特征提取,因此在小范圍的信息上表現(xiàn)并不理想。本文通過對YOLOv3算法聚類方式的改進(jìn)來優(yōu)化解決這一問題。
在所有深度學(xué)習(xí)的目標(biāo)檢測算法中,卷積層一般只獲取目標(biāo)的特征,隨后將所獲取特征傳遞到分類器或回歸器中進(jìn)行結(jié)果預(yù)測。YOLO系列算法采用1×1的卷積核來完成對目標(biāo)的預(yù)測,這樣得到的預(yù)測圖大小與特征圖的大小相等。在YOLOv3目標(biāo)邊界框的數(shù)量為3,由預(yù)測圖中每個單元格確定,此外特征圖中包含b×(5+C)個信息。C表示類別總數(shù),b表示得到的邊界框數(shù)量,不同目標(biāo)有自己唯一的邊界框,5+C為每個邊界框的參數(shù),分別是邊界框的中心坐標(biāo)、尺寸、目標(biāo)分?jǐn)?shù)和C個類的置信度。通過以下幾個公式可以知道邊界框的預(yù)測和網(wǎng)絡(luò)輸出之間的關(guān)系:
如圖5所示,預(yù)測的中心坐標(biāo)為(b x,b y),寬度和高度分別是b w、b h,t x、t y代表預(yù)測目標(biāo)相對于中心坐標(biāo)的偏移值,通過sigmoid函數(shù)將t x、t y的值控制在[0,1]區(qū)間上。該方法保證目標(biāo)中心處于預(yù)測網(wǎng)格單元中,防止偏移過大。t w、t h為尺度縮放。網(wǎng)格原點(diǎn)在左上角,用c x和c y表示。p w和p h即為候選框的寬度和高度。
圖5 邊界框預(yù)測示意圖Fig.5 Schematic diagram of bounding box prediction
YOLOv3算法由兩部分組成,分別是訓(xùn)練和測試。在訓(xùn)練樣本時需要給模型大量數(shù)據(jù),預(yù)測過程中通過候選框判斷是否有檢測目標(biāo)落入候選框。若有目標(biāo)落入框內(nèi),則其概率為:
在對目標(biāo)進(jìn)行檢測過程中圖像大小不一,種類繁多,針對如何確定候選框初始位置,YOLOv3選擇采用K-means聚類算法對邊界框的初始位置進(jìn)行確定。Kmeans聚類算法屬于無監(jiān)督學(xué)習(xí),通過指定K值作為中心,對周圍靠近它們的對象進(jìn)行聚類操作。通過重復(fù)迭代,對聚類中心值進(jìn)行更新,當(dāng)類內(nèi)部差異越小,外部差異越大時即達(dá)到所期望效果,而“差異”大小的衡量是通過樣本點(diǎn)到所屬類質(zhì)心的距離來決定的。通常情況采用歐氏距離進(jìn)行衡量,式(6)為歐式距離衡量算法,式中x為類中樣本點(diǎn),μ為該類的質(zhì)心,n為每個類中的樣本數(shù)目,i為每個點(diǎn)標(biāo)號。
然而在K-means聚類算法中K值的選取往往難以估計(jì),且K值的選取會直接影響到聚類的效果,同時該聚類方法的聚類結(jié)果一般情況下只能保證局部最優(yōu)聚類,以及對噪聲干擾較敏感,另外K-means聚類算法對非凸型數(shù)據(jù)和大小相差較大的數(shù)據(jù)難以達(dá)到理想聚類效果。在實(shí)際情況中,圖像中的目標(biāo)個數(shù)以及類別個數(shù)一般情況下是未知的,同時目標(biāo)之間的距離也可能過于分散,因此若按照指定K值進(jìn)行聚類,則得到的中心點(diǎn)位置與實(shí)際位置相差距離太遠(yuǎn),而DBSCAN聚類算法對聚類簇的形狀沒有偏倚,同時不用輸入要劃分的聚類個數(shù)[11],僅設(shè)定目標(biāo)出現(xiàn)半徑,由密度可達(dá)進(jìn)行聚類也可以避免中心點(diǎn)和實(shí)際位置相差太遠(yuǎn)造成的影響,因此本文提出融合DBSCAN的DB-K聚類方法。該方法首先通過DBSCAN聚類算法,在忽略中心點(diǎn)的情況下得到首次較好聚類效果,得到若干已完成的類,隨后增加多尺度聚類,進(jìn)一步獲得檢測目標(biāo)的局部和整體信息,具體為對檢測目標(biāo)的輪廓信息進(jìn)行多尺度聚類。經(jīng)過多尺度聚類和卷積操作,可以獲得初代特征圖。最后將這些類作為輸入數(shù)據(jù),通過K-means算法進(jìn)行劃分聚類,這樣便可以獲得準(zhǔn)確的中心點(diǎn)位置。通過這種方法可以有效加速數(shù)據(jù)集收斂,提升小目標(biāo)分類精確度。
DBSCAN聚類算法中鄰域的樣本分布緊密程度使用參數(shù)(?,MinPts)描述,輸入樣本為:
如果子樣本集樣本個數(shù)滿足式(8):
則將子樣本加入到核心樣本集合(9)中:
隨后,核心對象通過鄰域距離閾值可查找所有的子樣本集,以便于更新當(dāng)前簇樣本集合,未訪問的樣本集合也會隨之更新,最后經(jīng)過迭代輸出,輸出結(jié)果為式(10):
YOLOv3中K-means聚類算法種子點(diǎn)是隨機(jī)選取的,這種方式增加了聚類的隨機(jī)性,會導(dǎo)致聚類效果不佳。本文提出一種減小種子點(diǎn)選取隨機(jī)性的方法。首先通過誤差平方和方法,如式(11)所示,得到K值,再經(jīng)過K-means算法得到首次聚類中心。判斷已得到的K個聚類情況,將最近的類進(jìn)行合并,減小聚類中心數(shù),當(dāng)進(jìn)行下次聚類時對應(yīng)的聚類數(shù)也會隨之減小,通過該方法可得到理想的聚類數(shù)。經(jīng)過迭代,當(dāng)評判函數(shù)收斂達(dá)到預(yù)期值,即可獲得最佳聚類效果。
實(shí)驗(yàn)通過選取400個隨機(jī)點(diǎn)分別由K-means聚類算法和本文提出的DB-K混合聚類算法進(jìn)行測試。Kmeans聚類算法中,K值指定為3,實(shí)驗(yàn)結(jié)果如圖6所示。在DB-K聚類算法中由DBSCAN聚類算法可得K值為3,實(shí)驗(yàn)結(jié)果如圖7所示。通過實(shí)驗(yàn)結(jié)果可明顯看出,本文所提出的方法有更好的聚類效果。
圖6 K-means聚類算法Fig.6 K-means clustering method
圖7 DB-K聚類算法Fig.7 DB-K clustering method
本文通過融合DBSCAN聚類算法以及對傳統(tǒng)Kmeans聚類算法改進(jìn),提升了檢測目標(biāo)在不同數(shù)據(jù)集和復(fù)雜環(huán)境下的分類效果,使目標(biāo)分類效果更佳,同時增加了抗噪聲和干擾的影響。在后期目標(biāo)識別中起到了事半功倍的目的。
將檢測圖像輸入Darknet-53網(wǎng)絡(luò)結(jié)構(gòu)中,網(wǎng)絡(luò)中卷積層對行人特征進(jìn)行提取、訓(xùn)練和預(yù)測。本文采用DBSCAN聚類算法先得到樣本子集,再通過改進(jìn)Kmeans聚類算法對數(shù)據(jù)集進(jìn)行訓(xùn)練得到聚類候選框。輸入圖像分割后得到S×S個單元格,每個單元格可預(yù)測B個候選框,同時每個候選框?qū)?yīng)5個預(yù)測參數(shù)。候選框總數(shù)為S×S×B個。式(12)為判斷是否有目標(biāo)在候選框內(nèi),若無目標(biāo)則概率為0,有目標(biāo)則概率為1。
候選框中若無預(yù)測目標(biāo)則將該候選框置信度設(shè)置為0,若存在目標(biāo)則該候選框置信度應(yīng)為式(13)所示:
IoU(intersection over union)表示預(yù)測框和實(shí)際框交集面積與并集面積之比[12],也反映了檢測目標(biāo)是否存在于候選框中,如式(14)所示:
總數(shù)為S×S×B個候選框內(nèi)有目標(biāo)存在且為行人的概率如式(15)所示:
通過式(16)將候選框置信度和所檢測目標(biāo)的存在概率相乘可以得到行人類置信度:
通過以上步驟候選邊框已經(jīng)和檢測對象對應(yīng),最后通過NMS將不合適的行人候選框剔除,僅保留最佳行人候選框。最終輸出框的內(nèi)容為[x,y,w,h,C,conf],分別為目標(biāo)框的偏移量、寬度、高度、類別及置信度。
總數(shù)為S×S×B個候選框中存在目標(biāo)且為交通工具的概率為式(17)所示:
相應(yīng)的,若不存在交通工具則置信度conf為0,若存在交通工具則置信度為式(18)所示:
最后通過與處理行人候選框相同的方法,經(jīng)過非極大值抑制后保留最佳交通工具候選框,同時給出相應(yīng)參數(shù)[x,y,w,h,C,conf]。
本文實(shí)驗(yàn)在Linux系統(tǒng)環(huán)境下完成,計(jì)算機(jī)系統(tǒng)配置為Ubuntu18.04、CUDA(compute unified device architecture)11.0、CUDNN(CUDA deep neural network library)8.0。硬件環(huán)境搭載核心數(shù)為8核Interl-CPU-10700F,顯卡選用RTX2020(Ti),計(jì)算機(jī)內(nèi)存16 GB,實(shí)驗(yàn)過程中使用GPU進(jìn)行加速訓(xùn)練。
本文數(shù)據(jù)集選用Pascal VOC 2007、2012以及MSCOCO數(shù)據(jù)集進(jìn)行訓(xùn)練。Pascal VOC為圖像識別和分類提供了一整套標(biāo)準(zhǔn)化的優(yōu)秀的數(shù)據(jù)集,從2007年到2012年該組織提供了大量圖片以及對應(yīng)的標(biāo)簽,利用這些數(shù)據(jù),實(shí)現(xiàn)圖像的分類、目標(biāo)檢測識別、圖像分割三種任務(wù)[13]。在這些圖片中,一共包含了4個大類、20個小類的物體。MS-COCO數(shù)據(jù)集是微軟團(tuán)隊(duì)獲取的一個可以用來進(jìn)行圖像識別、分割和捕捉的大型數(shù)據(jù)集[14]。該數(shù)據(jù)集主要包括日常生活中的人、交通工具、動物等類別,通過精確地分割將圖像中的目標(biāo)進(jìn)行了準(zhǔn)確的標(biāo)定。MS-COCO數(shù)據(jù)集中包含91類目標(biāo)、328 000個影像數(shù)據(jù)和2 500 000個標(biāo)簽,基本可以滿足當(dāng)前實(shí)驗(yàn)需要。
在對數(shù)據(jù)集進(jìn)行訓(xùn)練時更改YOLOv3的配置文件,包括模式選擇、網(wǎng)絡(luò)輸入的寬和高以及通道數(shù)、動量、權(quán)重衰減、飽和度、曝光度和色調(diào)等,這些更改可以對圖像進(jìn)行數(shù)據(jù)增強(qiáng)預(yù)處理,提高了數(shù)據(jù)模型的泛化能力。由于YOLOv3網(wǎng)絡(luò)的輸入圖像要求為416×416,在將圖像數(shù)據(jù)輸入到網(wǎng)絡(luò)模型時應(yīng)將圖片大小調(diào)整為該尺寸來達(dá)到最佳模型訓(xùn)練效果。
本次實(shí)驗(yàn)中設(shè)置迭代次數(shù)為30 000次,動量因子(momentum)和權(quán)重衰減分別設(shè)置為0.9和0.000 5,實(shí)驗(yàn)過程中小批量樣本數(shù)設(shè)置為32,初始學(xué)習(xí)率為0.01,為防止過擬合將正則化系數(shù)設(shè)置為0.000 5,并階段性逐級縮小為原來的1/10。同時開啟多尺度訓(xùn)練以增強(qiáng)模型對不同尺寸圖像的魯棒性。隨著迭代次數(shù)的增加損失函數(shù)逐漸收斂,當(dāng)?shù)螖?shù)達(dá)到20 000次時,損失值已接近0.03,當(dāng)訓(xùn)練次數(shù)達(dá)到28 000次左右時,損失值在0.03上下浮動,此時可以判定訓(xùn)練已達(dá)到預(yù)期效果,損失變化曲線如圖8所示。
圖8 損失變化曲線Fig.8 Loss change curve
當(dāng)訓(xùn)練次數(shù)達(dá)到30 000次時,IoU值逐漸收斂于1,實(shí)驗(yàn)結(jié)果為理想狀態(tài),平均IoU曲線如圖9所示。隨著迭代次數(shù)增加召回率逐漸趨于1,精確率和召回率曲線如圖10所示。
圖9 IoU變化曲線Fig.9 IoU change curve
圖10 Precision和Recall變化曲線Fig.10 Precision and Recall changecurve
本文選擇Faster-RCNN、SSD以及YOLOv3目標(biāo)檢測算法來做對比實(shí)驗(yàn)。Faster-RCNN屬于兩步檢測算法,先提取感興趣區(qū)域,即判斷是所檢測圖像的前景或背景,之后再對圖像中目標(biāo)進(jìn)行分類,F(xiàn)aster-RCNN目標(biāo)檢測算法由Ross Girshick團(tuán)隊(duì)在2015年提出,該算法的核心為一個RPN網(wǎng)絡(luò)。SSD結(jié)合了Faster-RCNN和YOLO的優(yōu)點(diǎn),該算法借鑒了YOLO算法,將檢測轉(zhuǎn)化為回歸機(jī)制,同時借鑒了anchor機(jī)制。SSD的anchor預(yù)測不是對目標(biāo)的每個位置進(jìn)行精確預(yù)測,而是跟YOLO一樣將輸入圖像劃分為一定數(shù)量的網(wǎng)格,然后根據(jù)每個網(wǎng)格生成預(yù)測框。
改進(jìn)后YOLOv3目標(biāo)檢測算法首先通過融合DBSCAN聚類方法得到首次聚類結(jié)果,如圖11所示,為測試圖像DBSCAN聚類結(jié)果,可得DBSCAN聚類對檢測圖像的背景和目標(biāo)信息進(jìn)行了有效分類。
圖11 DBSCAN聚類結(jié)果Fig.11 DBSCAN clustering result
然后利用多尺度聚類獲取檢測圖像中目標(biāo)的具體輪廓信息,如圖12所示,為測試圖像多尺度聚類結(jié)果。最后通過卷積網(wǎng)絡(luò)獲得輸入圖像初代特征圖,如圖13所示,為測試圖像初代特征圖。
圖12 多尺度聚類結(jié)果Fig.12 Multi-scale clustering result
圖13 初代特征圖Fig.13 Primary feature map
最終的聚類結(jié)果通過輪廓系數(shù)法(silhouette coefficient)[15]進(jìn)行評估,計(jì)算方法如式(19)所示:
式中,a(i)代表樣本與其自身所在簇中的其他樣本的相似度,b(i)樣本與其他簇中的樣本的相似度??梢缘玫絪(i)的值為0.94,接近于1,說明樣本聚類合理,結(jié)果沒有偏倚。
在目標(biāo)被遮擋情況下改進(jìn)YOLOv3算法與Faster-RCNN、SSD以及YOLOv3目標(biāo)檢測算法在VOC2007+2012數(shù)據(jù)集訓(xùn)練后的實(shí)際檢測效果圖如圖14所示,可明顯看到改進(jìn)YOLOv3算法對小目標(biāo)識別率以及識別精度較論文中對比算法有顯著提高。本文算法與對照組算法在MS-COCO數(shù)據(jù)集實(shí)際檢測效果圖如圖15所示,改進(jìn)后的YOLOv3算法提升了對小目標(biāo)以及遮擋目標(biāo)的檢測準(zhǔn)確率。
圖14 VOC數(shù)據(jù)集檢測效果對比Fig.14 Comparison of detection effects of VOC dataset
圖15 MS-COCO數(shù)據(jù)集檢測效果對比Fig.15 Comparison of detection effects of MS-COCO dataset
目標(biāo)檢測領(lǐng)域中精確率(precision)、召回率(recall)、平均精度均值(mAP)、識別耗時(s)以及F1值常被作為檢測效果的評價標(biāo)準(zhǔn)。其中精確率表示為預(yù)測為正樣本中真正的正樣本占有比例,召回率表示樣本中的正樣本被預(yù)測正確的比例。用TP代表預(yù)測和實(shí)際都為正的樣本,F(xiàn)P代表預(yù)測為正實(shí)際為負(fù)的樣本,P代表精確率,則精確率計(jì)算公式如式(20)所示:
用R代表召回率,F(xiàn)N代表預(yù)測為正樣本實(shí)際為正的樣本,則召回率計(jì)算公式如式(21)所示:
平均精度均值表示各類別平均精度的均值,它反映了全局性能指標(biāo)。其中AP表示平均精度,用來量化分類器性能。在圖10中,曲線與坐標(biāo)軸所圍成的面積即為AP值,如式(22)所示:
則平均精度均值計(jì)算方法如式(23)所示:
式中,m代表類別數(shù)。
F1值為精確率和召回率的調(diào)和平均數(shù),計(jì)算方法如式(24)所示:
改進(jìn)后YOLOv3算法與其他各模型在VOC2007+2012數(shù)據(jù)集上的檢測效果對比如表1所示。改進(jìn)后YOLOv3算法與其他各模型在MS-COCOC數(shù)據(jù)集上的檢測效果對比如表2所示。從實(shí)驗(yàn)結(jié)果可以得到,改進(jìn)后的YOLOv3算法比原算法在VOC2007+2012數(shù)據(jù)集上mAP提升14.9個百分點(diǎn),召回率提升6.5個百分點(diǎn),在MS-COCO數(shù)據(jù)集上mAP提升12.5個百分點(diǎn),召回率提升8.6個百分點(diǎn)。
表1 各模型在VOC2007+2012數(shù)據(jù)集的檢測效果對比Table 1 Comparison of detection effects of each model on VOC2007+2012 dataset
表2 各模型在MS-COCO數(shù)據(jù)集的檢測效果對比Table 2 Comparison of detection effects of each model on MS-COCO dataset
本文針對YOLOv3目標(biāo)檢測算法對小目標(biāo)、遮擋目標(biāo)識別效率不高的問題提出了相應(yīng)的改進(jìn)方法。通過融合DBSCAN聚類算法和對K-means聚類算法中種子點(diǎn)K值的合理選取分別做出了改進(jìn),并通過實(shí)驗(yàn)進(jìn)行了論證。由實(shí)驗(yàn)結(jié)果可知,改進(jìn)后的YOLOv3目標(biāo)檢測算法在VOC2007+2012數(shù)據(jù)集和MS-COCO數(shù)據(jù)集上對小目標(biāo)以及遮擋目標(biāo)的識別準(zhǔn)確率上有明顯提升,召回率分別達(dá)到81.9%和82.4%,平均精度均值分別達(dá)到70.2%和69.2%,降低了漏檢率。下一步工作將在保證檢測精度的情況下優(yōu)化Darknet-53網(wǎng)絡(luò)結(jié)構(gòu),達(dá)到節(jié)省計(jì)算機(jī)性能,同時進(jìn)一步提升檢測速度的目的。