宋艷艷,譚 勵(lì),馬子豪,任雪平
北京工商大學(xué)計(jì)算機(jī)與信息工程學(xué)院,北京100048
在日常生活中,監(jiān)控?zé)o處不在,廣場(chǎng)、火車站、住宅小區(qū)、機(jī)要室等重要場(chǎng)所,都分布著大大小小,不計(jì)其數(shù)的攝像頭,可實(shí)現(xiàn)犯罪、交通管制意外檢測(cè)和防范的作用,在社會(huì)工作安全領(lǐng)域中發(fā)揮著越來越重要的作用。隨著大數(shù)據(jù)、云計(jì)算技術(shù)在安防領(lǐng)域的應(yīng)用,深度學(xué)習(xí)技術(shù)具備了應(yīng)用條件。因此,實(shí)現(xiàn)智能分析處理視頻的關(guān)鍵在于面向視頻的目標(biāo)檢測(cè)與識(shí)別具有較高的準(zhǔn)確率和處理效率。
目標(biāo)檢測(cè)是從視頻或者圖像中提取運(yùn)動(dòng)前景或感興趣的目標(biāo),其要解決的問題就是標(biāo)記出物體的具體位置,同時(shí)檢測(cè)出物體所屬的類別。實(shí)時(shí)且準(zhǔn)確的目標(biāo)檢測(cè)可以為后續(xù)目標(biāo)跟蹤、行為識(shí)別等提供良好的條件。目前,主流的目標(biāo)檢測(cè)算法主要有:一是基于手工特征所構(gòu)建的傳統(tǒng)目標(biāo)檢測(cè)算法,如Viola-Jones檢測(cè)器[1],采用了最傳統(tǒng)的滑動(dòng)窗口檢測(cè),在圖像中的每一個(gè)尺度和像素位置進(jìn)行遍歷,逐一判斷當(dāng)前窗口是否為人臉目標(biāo);HOG 行人檢測(cè)器[2],是基于梯度方向直方圖特征的改進(jìn),通過固定檢測(cè)器的窗口大小且構(gòu)建多尺度圖像金字塔來檢測(cè)不同大小的目標(biāo);可變形部件模型[3],該算法將目標(biāo)整體檢測(cè)轉(zhuǎn)化為各部件檢測(cè)問題,然后將各部件檢測(cè)結(jié)果進(jìn)行聚合得到目標(biāo)整體檢測(cè)結(jié)果。二是基于目標(biāo)候選區(qū)域的檢測(cè)算法,通過提取候選區(qū)域,并對(duì)相應(yīng)區(qū)域進(jìn)行深度學(xué)習(xí)實(shí)現(xiàn)分類檢測(cè)結(jié)果。該類算法主要包括R-CNN[4](region-based convolution neural networks)、SPPNet(spatial pyramid pooling network)[5]、Fast R-CNN[6]、Faster R-CNN[7]、R-FCN(region-based fully convolutional network)[8]等系列方法。三是基于深度學(xué)習(xí)的回歸方法,包括YOLO(you only look once)[9]、SSD(single shot multibox detector)[10]、DenseBox[11]等方法。隨著深度學(xué)習(xí)出現(xiàn)之后,目標(biāo)檢測(cè)領(lǐng)域在特征表達(dá)能力及時(shí)間效率上取得了突破性進(jìn)展,可以輕松實(shí)現(xiàn)實(shí)時(shí)檢測(cè)速度。針對(duì)目標(biāo)檢測(cè)中處理多尺度問題,YOLOV3 檢測(cè)算法直接利用深度網(wǎng)絡(luò)在目標(biāo)對(duì)應(yīng)位置提取的特征對(duì)其邊界框進(jìn)行回歸處理,減小了計(jì)算量且設(shè)計(jì)比較簡(jiǎn)單。但由于目標(biāo)檢測(cè)中存在背景復(fù)雜,目標(biāo)尺度和姿態(tài)多樣性的問題,造成YOLOV3 算法對(duì)部分目標(biāo)檢測(cè)不準(zhǔn)確,會(huì)產(chǎn)生誤檢、漏檢或重復(fù)檢測(cè)的情況。
為解決行人目標(biāo)尺度和姿態(tài)多樣性導(dǎo)致目標(biāo)檢測(cè)不準(zhǔn)確的問題,本文借助YOLOV3 本身算法思想將前層特征和中層特征進(jìn)行融合,構(gòu)成包含不同尺度的目標(biāo)定位信息和語(yǔ)義信息的融合層。通過增加多尺度融合層,解決其對(duì)多尺度目標(biāo)的預(yù)測(cè)邊界框不夠準(zhǔn)確問題。同時(shí),利用K-means 聚類算法對(duì)數(shù)據(jù)集的目標(biāo)真實(shí)框尺寸進(jìn)行聚類分析,更改網(wǎng)絡(luò)檢測(cè)層的邊界框尺寸,以實(shí)現(xiàn)更好的目標(biāo)檢測(cè)結(jié)果。另外,針對(duì)數(shù)據(jù)集中出現(xiàn)的人與周圍目標(biāo)相互遮擋影響檢測(cè)的問題,使用斥力損失函數(shù),縮小預(yù)測(cè)框與真實(shí)邊框的聚類,增大與周圍邊框的距離,從而降低模型的錯(cuò)誤率,提高檢測(cè)效果。實(shí)驗(yàn)結(jié)果證明,本文改進(jìn)的視頻目標(biāo)檢測(cè)算法對(duì)出現(xiàn)的多尺度目標(biāo)具有很好的定位能力,并且能檢測(cè)出處于遮擋部分的行人目標(biāo),并在實(shí)驗(yàn)數(shù)據(jù)集上取得了好的目標(biāo)檢測(cè)結(jié)果。
目標(biāo)檢測(cè)是當(dāng)前計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)領(lǐng)域的研究熱點(diǎn),相對(duì)于傳統(tǒng)目標(biāo)檢測(cè)算法,R-CNN[4]將問題轉(zhuǎn)變成找出可能含有物體的區(qū)域框,這些框之間是可以相互重疊互相包含的,這樣就避免了暴力枚舉所有的框。R-CNN 目標(biāo)檢測(cè)算法利用選擇性搜索算法在圖像中取2 000 個(gè)左右可能包含物體的候選區(qū)域,然后將每個(gè)候選區(qū)域縮放成統(tǒng)一的大小,并輸入到卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)提取特征,最后將提取的特征輸入到支持向量機(jī)(support vector machine,SVM)進(jìn)行分類。He 等人針對(duì)R-CNN 進(jìn)一步改進(jìn)提出了SPPNet[5],在R-CNN網(wǎng)絡(luò)最后一個(gè)卷積層后接入了金字塔池化層,保證傳到下一層全連接層的輸入固定。因?yàn)樵赗-CNN 中存在wrap/crop 預(yù)處理,導(dǎo)致圖像出現(xiàn)拉伸變形或物體不全等問題,限制了識(shí)別精度。SPPNet 在CNN 結(jié)構(gòu)上加入了金字塔池化層,使得網(wǎng)絡(luò)的輸入圖像可以是任意尺寸,輸出是一個(gè)固定維數(shù)的向量。RCNN 目標(biāo)檢測(cè)算法對(duì)所有候選區(qū)域進(jìn)行特征提取時(shí)會(huì)有重復(fù)計(jì)算,針對(duì)這個(gè)問題,Girshick 提出了Fast R-CNN 模型[6],與R-CNN 相比,其在最后一個(gè)卷積層后添加了一個(gè)ROI(regions of interest)池化層,同時(shí)其損失函數(shù)使用了多任務(wù)損失函數(shù),將邊框回歸直接加入到CNN 網(wǎng)絡(luò)訓(xùn)練中,在保證準(zhǔn)確率的同時(shí)提升處理速度。在Fast R-CNN 目標(biāo)檢測(cè)算法中,對(duì)于選擇性搜索,找過所有的候選框,是非常耗時(shí)的。針對(duì)此問題,Ren 等人提出了Faster R-CNN 框架[7],在Fast R-CNN 中引入了區(qū)域生成網(wǎng)絡(luò)(region proposal network,RPN)代替選擇性搜索算法,同時(shí)引入錨點(diǎn)(anchor)應(yīng)對(duì)目標(biāo)形狀的變化問題。
2016 年,Redmon 等人提出了一種新的物體檢測(cè)方法YOLO[9]。他們將對(duì)象檢測(cè)作為回歸問題構(gòu)建到空間上分離的邊界框和相關(guān)的類概率。單個(gè)神經(jīng)網(wǎng)絡(luò)在一次評(píng)估中直接從完整圖像預(yù)測(cè)邊界框和類概率。該檢測(cè)算法,對(duì)于一個(gè)給定的輸入圖像,將其劃分成7×7 的網(wǎng)格。然后,對(duì)于每個(gè)網(wǎng)格,都預(yù)測(cè)2 個(gè)邊框值(包括每個(gè)邊框是目標(biāo)的置信度以及每個(gè)邊框區(qū)域在多個(gè)類別上的概率)。針對(duì)預(yù)測(cè)出的7×7×2個(gè)目標(biāo)窗口,根據(jù)閾值去除可能性比較低的目標(biāo)窗口,最后利用非極大值抑制(non-maximum suppression,NMS)去除冗余窗口。YOLO 將目標(biāo)檢測(cè)任務(wù)轉(zhuǎn)換成一個(gè)回歸問題,大大加快了檢測(cè)的速度,使得YOLO 可以每秒處理45 張圖像。但YOLO 沒有候選區(qū)域機(jī)制,只使用7×7 的網(wǎng)格回歸會(huì)使得目標(biāo)不能非常精確地定位,這也導(dǎo)致了YOLO 的檢測(cè)精度不是很高。為了提高物體定位精確性和召回率,Redmon等人在YOLO 的基礎(chǔ)上提出了改進(jìn)YOLO9000[12],相比于YOLOV1 提高了訓(xùn)練圖像的分辨率,引入了Faster R-CNN 中的候選框的思想,對(duì)網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì)進(jìn)行了改進(jìn),輸出層使用卷積層代替YOLO 的全連接層,聯(lián)合使用COCO(common objects in context)物體檢測(cè)標(biāo)注數(shù)據(jù)和ImageNet 物體分類標(biāo)注數(shù)據(jù)訓(xùn)練物體檢測(cè)模型,其效果顯示無論是在速度上還是精度上都優(yōu)于SSD[10],但是YOLOV2 在面對(duì)不同尺度的目標(biāo)時(shí),其檢測(cè)效果依然不夠理想。2018 年Redmon 等人再次提出了YOLOV3[13],其主要改進(jìn)是調(diào)整了網(wǎng)絡(luò)結(jié)構(gòu),新的網(wǎng)絡(luò)結(jié)構(gòu)darknet-53 借用了ResNet[14]的思想,在網(wǎng)絡(luò)中加入了殘差模塊,這樣有利于解決深層次網(wǎng)絡(luò)的梯度消失問題。其次,采用了多尺度檢測(cè),選擇3 個(gè)不同尺度的特征圖來進(jìn)行對(duì)象檢測(cè),能夠檢測(cè)到更加細(xì)粒度的特征。再者,YOLOV3 中預(yù)測(cè)對(duì)象類別時(shí)不使用softmax 函數(shù),改成使用logistic 的輸出進(jìn)行預(yù)測(cè),這樣能夠支持多標(biāo)簽對(duì)象。YOLOV3 雖然具有不錯(cuò)的結(jié)果,但隨著IOU(intersection over union)的增大,性能下降,說明YOLOV3不能很好地與真實(shí)框切合。因此,在YOLO算法的基礎(chǔ)上,針對(duì)不同數(shù)據(jù)集進(jìn)行創(chuàng)新優(yōu)化,提高檢測(cè)效果的相關(guān)研究逐漸增加。例如王殿偉等人[15]提出的小目標(biāo)檢測(cè)算法,葛雯[16]、孔方方[17]和Wu 等人[18]改進(jìn)的YOLOV3 算法,高宗等人[19]提出的基于YOLO網(wǎng)絡(luò)的行人檢測(cè)方法,船舶等目標(biāo)檢測(cè)[20]及手勢(shì)跟蹤等應(yīng)用[21]。
為了使YOLOV3 算法適用于行人目標(biāo)檢測(cè)數(shù)據(jù)集,本文針對(duì)YOLOV3 算法進(jìn)行以下工作:首先對(duì)行人目標(biāo)檢測(cè)數(shù)據(jù)集進(jìn)行K-means 聚類分析,根據(jù)聚類結(jié)果確定算法中邊界框尺寸;其次,增加YOLOV3 的尺度檢測(cè)層,以提高人群密集中小目標(biāo)檢測(cè)的效果;最后,在YOLOV3 的原有損失函數(shù)基礎(chǔ)之上,加入了斥力損失函數(shù)解決行人目標(biāo)檢測(cè)出現(xiàn)的遮擋問題。
YOLOV3 算法引入了anchor概念,anchor是針對(duì)不同尺度網(wǎng)絡(luò)層而確定的初始候選框。在之前的目標(biāo)檢測(cè)算法中,都是手動(dòng)挑選候選框的尺寸,這樣選取的候選框過于主觀。因此利用K-means 算法對(duì)訓(xùn)練集中的真實(shí)邊界框進(jìn)行聚類,根據(jù)聚類結(jié)果選擇出具有客觀性和代表性的候選框。
K-means 是發(fā)現(xiàn)給定數(shù)據(jù)集的K個(gè)簇的算法,每一個(gè)簇通過其質(zhì)心(centroid),即簇中所有點(diǎn)的中心來描述。一般的K-means 聚類通過度量樣本間相似性進(jìn)行聚類,通常利用歐式距離作為度量公式。在候選框聚類過程中,若使用歐式距離的標(biāo)準(zhǔn)K均值,則較大的邊界框會(huì)比較小的邊界框產(chǎn)生更多的誤差。真正想要選擇的樣本間的距離度量應(yīng)該與邊界框本身的大小無關(guān),因此對(duì)于候選框聚類的距離度量,使用以下公式進(jìn)行計(jì)算:
其中,box表示真實(shí)框的集合,centroid表示邊界框的簇中心集合,IoU(box,centroid)表示真實(shí)框與邊界框簇中心的交集與并集的比值。IoU值越大,代表兩者相關(guān)度越高,即兩者越相近。在目標(biāo)檢測(cè)中IoU計(jì)算方式如圖1 所示。
對(duì)于給定的真實(shí)框數(shù)據(jù)集,通過計(jì)算邊框間IOU值來度量邊框間的距離,避免邊界框本身大小所帶來的誤差。利用該聚類算法將數(shù)據(jù)集劃分為K個(gè)簇,通過一系列迭代使得簇內(nèi)的邊框距離盡可能小,而簇間的邊框距離盡量大,最后通過目標(biāo)函數(shù)的變化值從而確定候選框的尺寸。總的來說,K-means 聚類分析的目的,行人數(shù)據(jù)集的真實(shí)框本身存在“高瘦”的特點(diǎn),YOLOV3 檢測(cè)算法原有的候選框尺寸并不完全適用密集行人數(shù)據(jù)集。因此,通過數(shù)據(jù)集本身標(biāo)注出的真實(shí)框(包括無遮擋和遮擋的目標(biāo))的尺寸大小進(jìn)行聚類分析,選出具有客觀性、代表性的候選框,替換YOLOV3 檢測(cè)算法原有的候選框尺寸,以提高檢測(cè)的效果。
Fig.1 IoU calculation formula representation圖1 IoU 計(jì)算公式表示圖
針對(duì)行人目標(biāo)尺度和姿態(tài)多樣性導(dǎo)致目標(biāo)檢測(cè)不準(zhǔn)確的問題,借助YOLOV3 本身算法思想選擇將淺層特征和中層特征進(jìn)行融合,構(gòu)成包含不同尺度的目標(biāo)定位信息和語(yǔ)義信息的融合層。經(jīng)分析,淺層特征對(duì)小尺度目標(biāo)具有很好的細(xì)節(jié)定位能力,但語(yǔ)義表征信息弱。隨著網(wǎng)絡(luò)層的加深,深度特征圖包含豐富的語(yǔ)義信息,而經(jīng)過連續(xù)下采樣操作,小目標(biāo)定位信息丟失。因此,利用殘差思想,將淺層特征與深層特征信息進(jìn)行連接融合進(jìn)行目標(biāo)檢測(cè)。但直接利用最深層特征圖對(duì)淺層特征進(jìn)行語(yǔ)義增強(qiáng)的效果并不明顯,因此在構(gòu)建融合層時(shí),選擇通過上采樣操作將深層特征圖放大到和淺層特征圖相同的尺寸進(jìn)行連接操作。將增加融合檢測(cè)層的網(wǎng)絡(luò)模型稱為YOLOV3_104,其網(wǎng)絡(luò)結(jié)構(gòu)圖如圖2 所示。
從網(wǎng)絡(luò)結(jié)構(gòu)圖中可以看出,在原有YOLOV3 網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)上,將深層特征圖經(jīng)過上采樣操作放大到與淺層特征圖同一尺寸,之后進(jìn)行連接操作構(gòu)建了新尺度目標(biāo)檢測(cè)層。在原有網(wǎng)絡(luò)基礎(chǔ)上增加了104×104 尺度檢測(cè)層,相對(duì)其他尺度檢測(cè)層,將圖像劃分成了更精細(xì)的單元格,可以檢測(cè)出越精細(xì)的物體,對(duì)小目標(biāo)的檢測(cè)效果提升明顯。
在增加104×104 尺度檢測(cè)層的基礎(chǔ)上,將數(shù)據(jù)集真實(shí)框進(jìn)行聚類分析得到的候選框尺寸分別應(yīng)用到13×13,26×26,52×52,104×104 尺度檢測(cè)層上進(jìn)行目標(biāo)檢測(cè)。對(duì)于較大的特征圖,其感受野較小,對(duì)小目標(biāo)相對(duì)敏感,因此選用尺寸小的候選框,而較小的特征圖,其感受野較大,對(duì)大目標(biāo)相對(duì)敏感,因此選用尺寸大的候選框。
針對(duì)數(shù)據(jù)集中出現(xiàn)的人與周圍目標(biāo)互相遮擋出現(xiàn)檢測(cè)不準(zhǔn)確的問題,在YOLOV3 原有損失函數(shù)的基礎(chǔ)上,即縮小預(yù)測(cè)框與其負(fù)責(zé)回歸的標(biāo)注框的距離的同時(shí),添加了斥力損失[22]函數(shù),增大預(yù)測(cè)框與其周圍非負(fù)責(zé)標(biāo)注框及相交預(yù)測(cè)框的距離。更新后的損失函數(shù),可以使得預(yù)測(cè)框向正確的目標(biāo)靠近,遠(yuǎn)離錯(cuò)誤的目標(biāo),降低模型的誤檢率。其損失函數(shù)計(jì)算公式如下所示:
Fig.2 YOLOV3_104 network structure diagram圖2 YOLOV3_104 網(wǎng)絡(luò)結(jié)構(gòu)圖
其中,LYOLOV3表示預(yù)測(cè)框與其負(fù)責(zé)回歸的標(biāo)注框的損失計(jì)算值,沿用了YOLOV3 的中心點(diǎn)、長(zhǎng)寬、類別及置信度差方相加的損失計(jì)算方式;LPBox-GBox表示預(yù)測(cè)框向其他標(biāo)注框偏移的損失計(jì)算值;LPBox-PBox表示預(yù)測(cè)框與其他預(yù)測(cè)框靠近的損失計(jì)算值,α、β用于平衡后兩者損失值的權(quán)重。
當(dāng)預(yù)測(cè)框與其他標(biāo)注框靠得太近時(shí),使得預(yù)測(cè)框容易受非真實(shí)標(biāo)注框影響,回歸出來的預(yù)測(cè)框同時(shí)包含不同標(biāo)注框間的部分區(qū)域,出現(xiàn)檢測(cè)不準(zhǔn)確的情況。因此LPBox-GBox表現(xiàn)為斥力作用,使得預(yù)測(cè)框不受其他標(biāo)注框的干擾,其計(jì)算公式如下所示:
其中,P+表示預(yù)測(cè)框集合,BP表示候選框P所對(duì)應(yīng)的預(yù)測(cè)框,表示除了真實(shí)標(biāo)注框外具有最大IoU區(qū)域的標(biāo)注框,IoG、Smoothln計(jì)算公式如下所示:
當(dāng)不同標(biāo)注框?qū)?yīng)的預(yù)測(cè)框靠得太近時(shí),在NMS 處理中容易篩選掉IoU值大于閾值的部分預(yù)測(cè)框,出現(xiàn)漏召回的問題,因此LPBox-PBox表示為斥力作用,將不同標(biāo)注框?qū)?yīng)的預(yù)測(cè)框分開,其計(jì)算公式如下:
其中,I表示取預(yù)測(cè)框間IoU值大于0 的值進(jìn)行計(jì)算,ε為很小的常數(shù)。
本實(shí)驗(yàn)平臺(tái)為戴爾服務(wù)器PowerEdge R730,操作系統(tǒng)Ubuntu 14.04,CPU Intel?Core i3 3220,內(nèi)存64 GB,GPU NVIDIA Tesla K40m×2,顯存12 GB×2。
3.2.1 數(shù)據(jù)集
實(shí)驗(yàn)所選擇的數(shù)據(jù)集是MOT16 數(shù)據(jù)集[23]。該數(shù)據(jù)集標(biāo)注的主要是移動(dòng)中的目標(biāo),主要分為三種類別:第一是出現(xiàn)在視野中的移動(dòng)或直立的行人,包括在自行車或滑板上的人,處于彎腰、深蹲、與小孩對(duì)話或撿東西狀態(tài)的行人;第二是包括像行人的目標(biāo)(模特、出現(xiàn)人的圖片、反射的人影),不處于直立狀態(tài)的人(坐著或躺著的)和劃分為模糊目標(biāo)(不同觀察者出現(xiàn)意見變化較大的);第三種類別標(biāo)注所有的移動(dòng)車輛、非機(jī)動(dòng)車和其他存在潛在包含/遮擋關(guān)系的物體,其類別及示例標(biāo)注如圖3 所示。在實(shí)驗(yàn)開始之前,首先對(duì)MOT16 數(shù)據(jù)集提供的標(biāo)注數(shù)據(jù)按照YOLOV3 數(shù)據(jù)格式進(jìn)行調(diào)整計(jì)算,然后隨機(jī)獲取該實(shí)驗(yàn)的訓(xùn)練集和測(cè)試集數(shù)據(jù)。
3.2.2 實(shí)驗(yàn)參數(shù)
本實(shí)驗(yàn)選取的環(huán)境是Pytorch 框架,所用的模型是改進(jìn)的YOLOV3 目標(biāo)檢測(cè)算法。訓(xùn)練時(shí)批量(batch-size)設(shè)置為16,圖像大小默認(rèn)設(shè)置為416×416,輸入通道數(shù)為3,動(dòng)量值(momentum)設(shè)置為0.9,學(xué)習(xí)率(learning_rate)設(shè)置為0.001。首先,將處理好的數(shù)據(jù)集先用YOLOV3 原模型進(jìn)行目標(biāo)檢測(cè),得到一組檢測(cè)結(jié)果。然后,將聚類分析的結(jié)果應(yīng)用到改進(jìn)后的YOLOV3 模型中,并更新其損失函數(shù)后進(jìn)行目標(biāo)檢測(cè),得到的檢測(cè)結(jié)果與YOLOV3 原模型進(jìn)行實(shí)驗(yàn)對(duì)比,觀察改進(jìn)后的檢測(cè)模型針對(duì)多尺度且多姿態(tài)行人檢測(cè)中存在的問題優(yōu)化效果及性能。
Fig.3 Examples of MOT data set categories and labels圖3 MOT 數(shù)據(jù)集類別及標(biāo)注示例
3.2.3 實(shí)驗(yàn)結(jié)果
首先,針對(duì)行人檢測(cè)數(shù)據(jù)集利用K-means 算法進(jìn)行聚類分析,得到適應(yīng)于行人檢測(cè)數(shù)據(jù)集的候選框尺寸。在聚類過程中,將K-means 算法的K值設(shè)置為12,依據(jù)不同標(biāo)注框值決定的距離度量方法進(jìn)行分簇,經(jīng)過迭代后,得到數(shù)據(jù)集的候選框聚類結(jié)果。在這里選擇K=12,一是因?yàn)榫W(wǎng)絡(luò)結(jié)構(gòu)具有4 個(gè)尺度檢測(cè)層,而每個(gè)檢測(cè)層具有3 類候選框,從而在聚類分析時(shí)選擇劃分為12 類候選框。二是通過設(shè)定不同的K值進(jìn)行聚類分析,發(fā)現(xiàn)相比于YOLOV3 檢測(cè)算法的原數(shù)據(jù)集設(shè)定K=9,在MOT16 數(shù)據(jù)集上設(shè)定K=12 時(shí)經(jīng)過迭代后其損失值較小,說明進(jìn)行檢測(cè)算法前針對(duì)不同的數(shù)據(jù)集進(jìn)行K-means 聚類分析的效果是有優(yōu)勢(shì)的,具有客觀性。之后,按照特征圖越大,感受野越小,對(duì)小目標(biāo)相對(duì)敏感和特征圖越小,感受野越大,對(duì)大目標(biāo)相對(duì)敏感的原則,將得到的候選框尺寸分別應(yīng)用到網(wǎng)絡(luò)不同尺度檢測(cè)層中,其結(jié)果如表1 所示。
進(jìn)入初產(chǎn)期的柚果樹座果率低,樹體營(yíng)養(yǎng)過旺,容易促發(fā)夏梢萌發(fā)。如果沒有及時(shí)抹去夏芽,會(huì)導(dǎo)致梢果爭(zhēng)肥,引發(fā)落果。因此,控制夏芽有利于提高四季柚座果率。
Table 1 Candidate box size after clustering表1 聚類后候選框尺寸大小
從表1 中數(shù)據(jù)可以看出,相對(duì)104×104 和52×52特征圖層偏重于對(duì)數(shù)據(jù)集中小目標(biāo)的檢測(cè)力度,而26×26,13×13 則兼顧中等或較大尺寸的物體檢測(cè)。通過結(jié)合不同細(xì)粒度特征,增強(qiáng)網(wǎng)絡(luò)對(duì)多尺度行人檢測(cè)的魯棒性。
在候選框聚類結(jié)果的基礎(chǔ)上,將表1 的候選框尺寸替換原來網(wǎng)絡(luò)層的候選框尺寸,替換后的網(wǎng)絡(luò)模型稱為YOLOV3_105。為了驗(yàn)證改進(jìn)后模型的性能,將YOLOV3 網(wǎng)絡(luò)模型,增加104×104 特征檢測(cè)層的YOLOV3_104 網(wǎng)絡(luò)模型和應(yīng)用聚類得到的候選框尺寸的YOLOV3_105 網(wǎng)絡(luò)模型三者進(jìn)行實(shí)驗(yàn)對(duì)比,其在MOT16 數(shù)據(jù)集檢測(cè)結(jié)果AP(average precision)值如表2 所示。
Table 2 Comparison of detection results AP of different network models表2 不同網(wǎng)絡(luò)模型檢測(cè)結(jié)果AP 比較
從表2 中數(shù)據(jù)可以看出,相比YOLOV3 網(wǎng)絡(luò)模型,增加104×104 特征檢測(cè)層的YOLOV3_104 在該數(shù)據(jù)集上多尺度行人的檢測(cè)效果有明顯提高,但整體檢測(cè)平均準(zhǔn)確率相對(duì)提高了0.004。而增加了特征檢測(cè)層同時(shí)應(yīng)用聚類得到的候選框尺寸的YOLOV3_105 網(wǎng)絡(luò),相對(duì)YOLOV3 網(wǎng)絡(luò)模型,在MOT16 數(shù)據(jù)集上不僅提高了多尺度和多姿態(tài)行人的檢測(cè)效果,同時(shí)對(duì)該數(shù)據(jù)集的其他標(biāo)注類別檢測(cè)效果也有所提高,因此整體檢測(cè)平均準(zhǔn)確率相對(duì)提高了約0.07。由此可以看出,改進(jìn)后的YOLOV3_105網(wǎng)絡(luò)模型對(duì)多尺度和多姿態(tài)的行人檢測(cè)效果優(yōu)于YOLOV3,該網(wǎng)絡(luò)模型通過利用殘差思想和上采樣操作融合了多級(jí)特征圖,讓不同細(xì)粒度的特征參與行人檢測(cè),從而解決了該數(shù)據(jù)集中行人目標(biāo)多尺度和多姿態(tài)的問題,提高了目標(biāo)的檢測(cè)效果。
為了驗(yàn)證應(yīng)用斥力損失的損失函數(shù)能否有效解決數(shù)據(jù)集中出現(xiàn)的人與周圍目標(biāo)物體互相遮擋的問題,在YOLOV3_105 網(wǎng)絡(luò)基礎(chǔ)上,添加斥力損失更新其損失函數(shù),將該網(wǎng)絡(luò)模型稱為YOLOV3_106,其在MOT16 數(shù)據(jù)集檢測(cè)效果如表3 所示。
數(shù)據(jù)集的8、9、10 類別代表被遮擋的類別,代表數(shù)據(jù)集中部分被遮擋的目標(biāo),相比于表2 的YOLOV3檢測(cè)模型進(jìn)行數(shù)據(jù)對(duì)比,可以看出,相比于普通遮擋,引入斥力損失函數(shù)的YOLOV3_106 模型的檢測(cè)結(jié)果對(duì)比YOLOV3 模型的檢測(cè)結(jié)果并沒有體現(xiàn)出優(yōu)勢(shì),但對(duì)于嚴(yán)重遮擋情況(occluder full)來說,YOLOV3_106 模型相比于YOLOV3 模型檢測(cè)準(zhǔn)確率提高了大約0.12。并且從表中數(shù)據(jù)可以看出,增加斥力作用的損失函數(shù),整體提高了數(shù)據(jù)集的檢測(cè)準(zhǔn)確率,相比YOLOV3 網(wǎng)絡(luò)模型,其平均準(zhǔn)確率提高了大約0.1,說明在一定程度上緩解了數(shù)據(jù)集因目標(biāo)間遮擋出現(xiàn)的誤檢、漏檢或漏召回問題,提高了網(wǎng)絡(luò)模型的檢測(cè)效果。
Table 3 Detection results AP of YOLOV3_106 network表3 YOLOV3_106 網(wǎng)絡(luò)檢測(cè)結(jié)果AP
為了進(jìn)一步比較YOLOV3網(wǎng)絡(luò)模型及YOLOV3_104、YOLOV3_105、YOLOV3_106 網(wǎng)絡(luò)模型目標(biāo)檢測(cè)性能,截取訓(xùn)練過程中l(wèi)oss 值變化情況,其loss 值變化如圖4 所示。
Fig.4 Change of loss value of different network models圖4 不同網(wǎng)絡(luò)模型loss值變化
同時(shí),將YOLOV3、YOLOV3_104、YOLOV3_105及YOLOV3_106 網(wǎng)絡(luò)模型的部分目標(biāo)檢測(cè)圖片的預(yù)測(cè)框在圖中標(biāo)注出來,進(jìn)行可視化展示比較。為了驗(yàn)證各個(gè)模型的性能,首先將數(shù)據(jù)集中圖片真實(shí)邊界框的值進(jìn)行計(jì)算,并在圖中進(jìn)行標(biāo)注,得到標(biāo)注好真實(shí)框的數(shù)據(jù)集。同時(shí),利用訓(xùn)練好的YOLOV3、YOLOV3_104、YOLOV3_105 和YOLOV3_106 模型對(duì)數(shù)據(jù)集進(jìn)行檢測(cè),得到標(biāo)注好預(yù)測(cè)框的數(shù)據(jù)集,其部分檢測(cè)結(jié)果如圖5~圖8 所示。其中,圖5、圖7 表示數(shù)據(jù)集標(biāo)注的真實(shí)邊界框的圖像,圖6、圖8 表示不同網(wǎng)絡(luò)模型標(biāo)注預(yù)測(cè)框的圖像,其中圖像中標(biāo)注目標(biāo)的邊框的顏色是隨機(jī)產(chǎn)生的,同一圖像中的不同顏色代表數(shù)據(jù)集中的不同類別。
Fig.5 Real box example 1圖5 真實(shí)框示例1
Fig.6 Example 1 detection results圖6 示例1 檢測(cè)結(jié)果
Fig.7 Real box example 2圖7 真實(shí)框示例2
Fig.8 Example 2 detection results圖8 示例2 檢測(cè)結(jié)果
另外,YOLOV3_104 是在YOLOV3 模型基礎(chǔ)上添加104×104 尺度檢測(cè)層,其對(duì)小目標(biāo)檢測(cè)比較敏感,但對(duì)行人檢測(cè)數(shù)據(jù)集并不完全適應(yīng),因此在YOLOV3_104 基礎(chǔ)上進(jìn)行邊界框聚類分析后的網(wǎng)絡(luò)模型YOLOV3_105 和YOLOV3_106 對(duì)行人檢測(cè)數(shù)據(jù)集具有很好的魯棒性,能夠準(zhǔn)確檢測(cè)出圖像中的行人及遮擋目標(biāo)。從圖6 中可以看出,YOLOV3_106網(wǎng)絡(luò)模型能夠檢測(cè)出在YOLOV3 網(wǎng)絡(luò)模型中未被檢測(cè)到的遮擋的目標(biāo)(圖中虛線圈出的目標(biāo)),因?yàn)橐氲某饬p失函數(shù),在保證預(yù)測(cè)框向目標(biāo)的真實(shí)框靠近的同時(shí),還增大了預(yù)測(cè)框與其周圍非負(fù)責(zé)框的距離,尤其當(dāng)出現(xiàn)遮擋情況時(shí),使得兩遮擋目標(biāo)的預(yù)測(cè)框呈現(xiàn)盡可能遠(yuǎn)的趨勢(shì),從而降低了模型的誤檢和漏檢率。雖然在圖7 中沒有標(biāo)注遮擋嚴(yán)重的目標(biāo)(虛線標(biāo)注出的部分),但仍被訓(xùn)練好的網(wǎng)絡(luò)模型檢測(cè)并標(biāo)注,結(jié)果如圖8 所示,說明YOLOV3_105 和YOLOV3_106 具有很好的網(wǎng)絡(luò)學(xué)習(xí)能力。
針對(duì)行人目標(biāo)檢測(cè)存在的多尺度和多姿態(tài)的問題,在YOLOV3 算法的基礎(chǔ)上,通過添加104×104 尺度檢測(cè)層增加網(wǎng)絡(luò)對(duì)小目標(biāo)檢測(cè)的敏感性。之后,通過K-means 聚類分析得到適用于行人目標(biāo)檢測(cè)數(shù)據(jù)集的邊界框尺寸,用于目標(biāo)檢測(cè)以提高其網(wǎng)絡(luò)性能。同時(shí),通過利用邊界框間的斥力作用更新模型的損失函數(shù),改善目標(biāo)遮擋影響以提高檢測(cè)效果。實(shí)驗(yàn)結(jié)果證明,改進(jìn)的YOLOV3_105 和YOLOV3_106 網(wǎng)絡(luò)模型在行人檢測(cè)數(shù)據(jù)集上的準(zhǔn)確率分別為78.10%和80.53%,同YOLOV3 網(wǎng)絡(luò)模型比較,具有較好的檢測(cè)性能和魯棒性,證明了方法的有效性。