姓名:賈軼名? ? 學(xué)號(hào):21011210011? ? ?學(xué)院:通信工程學(xué)院
【嵌牛導(dǎo)讀】目標(biāo)檢測(cè)在現(xiàn)實(shí)中的應(yīng)用很廣泛购对,我們需要檢測(cè)數(shù)字圖像中的物體位置以及類(lèi)別啡浊,它需要我們構(gòu)建一個(gè)模型觅够,模型的輸入一張圖片胶背,模型的輸出需要圈出圖片中所有物體的位置以及物體所屬的類(lèi)別。在深度學(xué)習(xí)浪潮到來(lái)之前喘先,目標(biāo)檢測(cè)精度的進(jìn)步十分緩慢钳吟,靠傳統(tǒng)依靠手工特征的方法來(lái)提高精度已是相當(dāng)困難的事。而ImageNet分類(lèi)大賽出現(xiàn)的卷積神經(jīng)網(wǎng)絡(luò)(CNN)——AlexNet所展現(xiàn)的強(qiáng)大性能苹祟,吸引著學(xué)者們將CNN遷移到了其他的任務(wù)砸抛,這也包括著目標(biāo)檢測(cè)任務(wù)评雌,近年來(lái)树枫,出現(xiàn)了很多目標(biāo)檢測(cè)算法。
【嵌牛鼻子】計(jì)算機(jī)視覺(jué)
【嵌牛提問(wèn)】如何理解目標(biāo)檢測(cè)算法——YOLOv1
【嵌牛正文】
原文鏈接:https://blog.csdn.net/qq_29893385/article/details/81177912
1景东、YOLOv1基本思想
YOLO的核心思想就是將目標(biāo)邊框定位問(wèn)題轉(zhuǎn)化為回歸問(wèn)題砂轻,利用整張圖作為網(wǎng)絡(luò)輸入,直接在輸出層回歸bounding box (邊界框)的位置和bounding box 所屬的類(lèi)別斤吐。YOLO將輸入圖像分成SxS個(gè)格子搔涝,若某個(gè)物體 Ground truth 的中心位置的坐標(biāo)落入到某個(gè)格子,那么這個(gè)格子就負(fù)責(zé)檢測(cè)出這個(gè)物體和措。
簡(jiǎn)單說(shuō)一下YOLOv1的檢測(cè)步驟:
(1) 給個(gè)一個(gè)輸入圖像庄呈,首先將圖像劃分成7 * 7的網(wǎng)格。
(2) 對(duì)于每個(gè)網(wǎng)格派阱,每個(gè)網(wǎng)格預(yù)測(cè)2個(gè)bouding box(每個(gè)box包含5個(gè)預(yù)測(cè)量)以及20個(gè)類(lèi)別概率诬留,總共輸出7×7×(2*5+20)=1470個(gè)tensor
(3) 根據(jù)上一步可以預(yù)測(cè)出7 * 7 * 2 = 98個(gè)目標(biāo)窗口,然后根據(jù)閾值去除可能性比較低的目標(biāo)窗口贫母,再由NMS去除冗余窗口即可文兑。
總結(jié):YOLO的CNN網(wǎng)絡(luò)將輸入的圖片分割成的網(wǎng)格,每個(gè)單元格會(huì)預(yù)測(cè) B個(gè)邊界框(bounding box)腺劣、邊界框的置信度(confidence score)以及C個(gè)類(lèi)別概率值绿贞,最終預(yù)測(cè)值為大小的張量。bbox信息(x,y,w,h)為物體的中心位置相對(duì)格子位置的偏移及寬度和高度,均被歸一化.置信度反映是否包含物體以及包含物體情況下位置的準(zhǔn)確性,定義為Pr(Object)×IOU????,其中Pr(Object)∈{0,1}.
2.YOLOv1網(wǎng)絡(luò)結(jié)構(gòu)
YOLOv1網(wǎng)絡(luò)借鑒了GoogLeNet分類(lèi)網(wǎng)絡(luò)結(jié)構(gòu)橘原,包含24個(gè)卷積層和2個(gè)全連接層籍铁。不同的是,YOLO未使用inception module趾断,而是使用1x1卷積層(此處1x1卷積層的存在是為了跨通道信息整合)+3x3卷積層簡(jiǎn)單替代寨辩。
YOLOv1網(wǎng)絡(luò)在最后使用全連接層進(jìn)行類(lèi)別輸出,因此全連接層的輸出維度是 S×S×(B×5+C)S×S×(B×5+C)歼冰。
YOLOv1網(wǎng)絡(luò)比VGG16快(浮點(diǎn)數(shù)少于VGG的1/3),準(zhǔn)確率稍差靡狞。
缺餡:
輸入尺寸固定:由于輸出層為全連接層,因此在檢測(cè)時(shí)隔嫡,YOLO訓(xùn)練模型只支持與訓(xùn)練圖像相同的輸入分辨率甸怕。其它分辨率需要縮放成該分辨率.
占比較小的目標(biāo)檢測(cè)效果不好.雖然每個(gè)格子可以預(yù)測(cè)B個(gè)bounding box甘穿,但是最終只選擇只選擇IOU最高的bounding box作為物體檢測(cè)輸出,即每個(gè)格子最多只預(yù)測(cè)出一個(gè)物體梢杭。當(dāng)物體占畫(huà)面比例較小温兼,如圖像中包含畜群或鳥(niǎo)群時(shí),每個(gè)格子包含多個(gè)物體武契,但卻只能檢測(cè)出其中一個(gè)募判。
3.YOLOv1損失函數(shù)
YOLO全部使用了均方和誤差作為loss函數(shù).由三部分組成:坐標(biāo)誤差、IOU誤差和分類(lèi)誤差咒唆。
簡(jiǎn)單相加時(shí)還要考慮每種loss的貢獻(xiàn)率,YOLO給coordErr設(shè)置權(quán)重λcoord=5λcoord=5.在計(jì)算IOU誤差時(shí)届垫,包含物體的格子與不包含物體的格子,二者的IOU誤差對(duì)網(wǎng)絡(luò)loss的貢獻(xiàn)值是不同的全释。若采用相同的權(quán)值装处,那么不包含物體的格子的confidence值近似為0,變相放大了包含物體的格子的confidence誤差在計(jì)算網(wǎng)絡(luò)參數(shù)梯度時(shí)的影響浸船。為解決這個(gè)問(wèn)題妄迁,YOLO 使用λnoobj=0.5 λnoobj=0.5修正iouErr。(此處的‘包含’是指存在一個(gè)物體李命,它的中心坐標(biāo)落入到格子內(nèi))登淘。對(duì)于相等的誤差值,大物體誤差對(duì)檢測(cè)的影響應(yīng)小于小物體誤差對(duì)檢測(cè)的影響封字。這是因?yàn)榍荩嗤奈恢闷钫即笪矬w的比例遠(yuǎn)小于同等偏差占小物體的比例。YOLO將物體大小的信息項(xiàng)(w和h)進(jìn)行求平方根來(lái)改進(jìn)這個(gè)問(wèn)題周叮,但并不能完全解決這個(gè)問(wèn)題辩撑。
綜上,YOLO在訓(xùn)練過(guò)程中Loss計(jì)算如下式所示:
其中有寶蓋帽子符號(hào)(x^,y^,w^,h^,C^,p^x^,y^,w^,h^,C^,p^)為預(yù)測(cè)值,無(wú)帽子的為訓(xùn)練標(biāo)記值仿耽。1objij1ijobj表示物體落入格子i的第j個(gè)bbox內(nèi).如果某個(gè)單元格中沒(méi)有目標(biāo),則不對(duì)分類(lèi)誤差進(jìn)行反向傳播;B個(gè)bbox中與GT具有最高IoU的一個(gè)進(jìn)行坐標(biāo)誤差的反向傳播,其余不進(jìn)行.
4.訓(xùn)練過(guò)程
1)預(yù)訓(xùn)練合冀。使用 ImageNet 1000 類(lèi)數(shù)據(jù)訓(xùn)練YOLO網(wǎng)絡(luò)的前20個(gè)卷積層+1個(gè)average池化層+1個(gè)全連接層。訓(xùn)練圖像分辨率resize到224x224项贺。
2)用步驟1)得到的前20個(gè)卷積層網(wǎng)絡(luò)參數(shù)來(lái)初始化YOLO模型前20個(gè)卷積層的網(wǎng)絡(luò)參數(shù)君躺,然后用 VOC 20 類(lèi)標(biāo)注數(shù)據(jù)進(jìn)行YOLO模型訓(xùn)練。檢測(cè)通常需要有細(xì)密紋理的視覺(jué)信息,所以為提高圖像精度开缎,在訓(xùn)練檢測(cè)模型時(shí)棕叫,將輸入圖像分辨率從224 × 224 resize到448x448。
訓(xùn)練時(shí)B個(gè)bbox的ground truth設(shè)置成一樣的.
5.YOLOv1優(yōu)缺點(diǎn)
最后有必要總結(jié)一下YOLO的優(yōu)缺點(diǎn)奕删。首先是優(yōu)點(diǎn)俺泣,YOLO采用一個(gè)CNN網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)檢測(cè),是單管道策略,其訓(xùn)練與預(yù)測(cè)都是end-to-end伏钠,所以YOLO算法比較簡(jiǎn)潔且速度快(這是最大的優(yōu)點(diǎn))横漏。第二點(diǎn)由于YOLO是對(duì)整張圖片做卷積,所以其在檢測(cè)目標(biāo)有更大的視野熟掂,它不容易對(duì)背景誤判缎浇。另外,YOLO的泛化能力強(qiáng)赴肚,在做遷移時(shí)素跺,模型魯棒性高。
最后不得不談一下YOLO的缺點(diǎn)誉券,首先YOLO各個(gè)單元格僅僅預(yù)測(cè)兩個(gè)邊界框指厌,而且屬于一個(gè)類(lèi)別。對(duì)于小物體横朋,YOLO的表現(xiàn)會(huì)不如人意仑乌。另外YOLO對(duì)于在物體的寬高比方面泛化率低百拓,就是無(wú)法定位不尋常比例的物體琴锭。當(dāng)然YOLO的定位不準(zhǔn)確也是很大的問(wèn)題。