物體檢測(cè)之YOLO系列(v1-v2-v3)小結(jié)

業(yè)界對(duì)于目標(biāo)檢測(cè)的熱度只增不減,但目前的框架也難于逾越RCNN系列、SSD卿闹、YOLO系列這三座大山褐墅,很多新的方法也是在此基礎(chǔ)上做一些改進(jìn)金刁,所以有必要做一些整理,方便自己后續(xù)查看,這里先對(duì)YOLO系列做一些整理。沒看過文章的可以回頭細(xì)細(xì)品味下yolo-v1(發(fā)表于2016.5)长酗、yolo-v2(發(fā)表于2016.12)yolo-v3(發(fā)表于2018.4)

這是繼RCNN系列(two-stage)后針對(duì)目標(biāo)檢測(cè)速度問題提出的另一種框架(one-stage)桐绒,所以其在速度上具有一定優(yōu)勢(shì)夺脾。

YOLO-v1

YOLO-v1 網(wǎng)絡(luò)結(jié)構(gòu)

1.核心思想

YOLO v1的核心思想在于將目標(biāo)檢測(cè)作為回歸問題解決,采用一個(gè)單獨(dú)的CNN模型實(shí)現(xiàn)end-to-end的目標(biāo)檢測(cè)茉继,利用整張圖作為網(wǎng)絡(luò)的輸入咧叭,直接在輸出層回歸 bounding box(邊界框) 的位置及其所屬的類別,不同于faster-RCNN中的proposal+classifier 的思想

2.實(shí)現(xiàn)方法

image

a.將一幅圖像分成 SxS 個(gè)網(wǎng)格(grid cell)烁竭,如果哪個(gè) object 的中心落在這個(gè)網(wǎng)格中菲茬,則這個(gè)網(wǎng)格就負(fù)責(zé)預(yù)測(cè)這個(gè) object;

b.每個(gè)網(wǎng)格要預(yù)測(cè) B 個(gè) bounding box派撕,每個(gè) bounding box 除了要回歸自身的位置之外婉弹,還要附帶預(yù)測(cè)一個(gè) confidence 值;

c.這個(gè)confidence 代表了所預(yù)測(cè)的 box 中含有 object 的置信度和這個(gè) box 預(yù)測(cè)的有多準(zhǔn)這兩重信息腥刹,值計(jì)算如下:


image

若object落在grid cell 里马胧,則Pr(Object)取1,否則為0衔峰,第二項(xiàng)是predicted bounding box 和實(shí)際的 groundtruth 之間的 IoU 值

d.每個(gè) bounding box 要預(yù)測(cè) 位置(x, y, w, h) 和 confidence( 針對(duì)bounding box)共5個(gè)值,每個(gè)網(wǎng)格還要預(yù)測(cè)一個(gè)class信息(針對(duì)grid cell,每個(gè)網(wǎng)格最多只能預(yù)測(cè)一個(gè)類別垫卤,只會(huì)選擇與groundtruth IOU 最高的 bounding box 作為物體檢測(cè)輸出威彰,這也是yolo1不能很好預(yù)測(cè)有物體重疊情況的原因之一),記為 C 類穴肘。則 SxS個(gè) 網(wǎng)格歇盼,每個(gè)網(wǎng)格要預(yù)測(cè) B (文獻(xiàn)中為2)個(gè) bounding box 還要預(yù)測(cè) C (PASCAL VOC為20類)個(gè) 類別,輸出shape就是 S x S x (5*B+C) 评抚;

e.在 test 的時(shí)候豹缀,每個(gè)網(wǎng)格預(yù)測(cè)的 class 信息和 bounding box 預(yù)測(cè)的 confidence信息相乘,就得到每個(gè) bounding box 的 class-specific confidence score:


image

等式左邊第一項(xiàng)就是每個(gè)網(wǎng)格預(yù)測(cè)的類別信息慨代,第二邢笙、三項(xiàng)就是每個(gè) bounding box 預(yù)測(cè)的 confidence。這個(gè)乘積即 encode 了預(yù)測(cè)的 box 屬于某一類的概率侍匙,也有該 box 準(zhǔn)確度的信息氮惯。

實(shí)現(xiàn)細(xì)節(jié):
a.PASCAL VOC數(shù)據(jù)集中5B+C=52+20=30,每個(gè)grid有30維想暗,其中2*4=8維是box坐標(biāo)妇汗,2維是box的 confidence,20維是類別;

b.坐標(biāo)的 x, y 用對(duì)應(yīng)網(wǎng)格的 offset 歸一化到 0-1 之間说莫,w, h 用圖像的 width 和 height 歸一化到 0-1 之間;

損失函數(shù):
設(shè)計(jì)原則:坐標(biāo)誤差杨箭、bounding box confidence、類別誤差要處理平衡

設(shè)計(jì)實(shí)現(xiàn):采用 sum-squared error loss

但是單純采用 sum-squared error loss 會(huì)存在以下幾個(gè)問題:

a.8維位置誤差储狭、2維bounding box confidence告唆、20維classification error看做同等重要顯然不合理
b.若grid cell中沒有物體中心,則confidence 會(huì)置0晶密,實(shí)際中會(huì)存在大量沒有物體中心的grid cell擒悬,會(huì)造成失衡,網(wǎng)絡(luò)不穩(wěn)定甚至發(fā)散稻艰;

解決方法:
a.更重視8維的坐標(biāo)預(yù)測(cè)懂牧,給這些損失前面賦予更大的 loss weight, 記為在 pascal VOC 訓(xùn)練中取 5;

b.對(duì)沒有 object 的 box 的 confidence loss,賦予小的 loss weight尊勿,記為在 pascal VOC 訓(xùn)練中取 0.5僧凤;

c.有 object 的 box 的 confidence loss 和類別的 loss 的 loss weight 正常取 1;

d.對(duì)不同大小的 box 預(yù)測(cè)中,相比于大 box 預(yù)測(cè)偏一點(diǎn)元扔,小 box 預(yù)測(cè)偏一點(diǎn)肯定更不能被忍受的躯保。而 sum-square error loss 中對(duì)同樣的偏移 loss 是一樣,為了緩和這個(gè)問題,作者用了一個(gè)比較取巧的辦法澎语,就是將 box 的 width 和 height 取平方根代替原本的 height 和 width;

e.一個(gè)網(wǎng)格預(yù)測(cè)多個(gè) box途事,希望的是每個(gè) box predictor 專門負(fù)責(zé)預(yù)測(cè)某個(gè) object验懊。具體做法就是看當(dāng)前預(yù)測(cè)的 box 與 ground truth box 中哪個(gè) IoU 大,就負(fù)責(zé)哪個(gè)尸变。這種做法稱作 box predictor 的 specialization;

最后整個(gè)的損失函數(shù)如下所示:


image

這個(gè)損失函數(shù)中:

a.只有當(dāng)某個(gè)網(wǎng)格中有 object 的時(shí)候才對(duì) classification error 進(jìn)行懲罰义图;

b.只有當(dāng)某個(gè) box predictor 對(duì)某個(gè) ground truth box 負(fù)責(zé)的時(shí)候,才會(huì)對(duì) box 的 coordinate error 進(jìn)行懲罰召烂,而對(duì)哪個(gè) ground truth box 負(fù)責(zé)就看其預(yù)測(cè)值和 ground truth box 的 IoU 是不是在那個(gè) cell 的所有 box 中最大;

注:
a.YOLO 方法模型訓(xùn)練依賴于物體識(shí)別標(biāo)注數(shù)據(jù)碱工,因此,對(duì)于非常規(guī)的物體形狀或比例奏夫,YOLO 的檢測(cè)效果并不理想;

b.YOLO 采用了多個(gè)下采樣層怕篷,網(wǎng)絡(luò)學(xué)到的物體特征并不精細(xì),因此也會(huì)影響檢測(cè)效果;

c. YOLO 的損失函數(shù)中酗昼,大物體 IOU 誤差和小物體 IOU 誤差對(duì)網(wǎng)絡(luò)訓(xùn)練中 loss 貢獻(xiàn)值接近(雖然采用求平方根方式廊谓,但沒有根本解決問題)。因此仔雷,對(duì)于小物體蹂析,小的 IOU 誤差也會(huì)對(duì)網(wǎng)絡(luò)優(yōu)化過程造成很大的影響,從而降低了物體檢測(cè)的定位準(zhǔn)確性;

3.YOLO的缺點(diǎn)

a.YOLO 對(duì)相互靠的很近的物體碟婆,還有很小的群體檢測(cè)效果不好电抚,這是因?yàn)橐粋€(gè)網(wǎng)格中只預(yù)測(cè)了兩個(gè)框,并且只屬于一類;

b.同一類物體出現(xiàn)的新的不常見的長寬比和其他情況時(shí)竖共,泛化能力偏弱;

c.由于損失函數(shù)的問題蝙叛,定位誤差是影響檢測(cè)效果的主要原因。尤其是大小物體的處理上公给,還有待加強(qiáng);

YOLO-v2

YOLO-v2:當(dāng)時(shí)物體檢測(cè)的state-of-art借帘,它的速度在一定程度上要快過于當(dāng)時(shí)的FasterR-CNN、SSD(SSD可以把原作者中基礎(chǔ)網(wǎng)絡(luò)VggNet替換為MobileNet加速)淌铐,使用者可以在速度和精度之間權(quán)衡肺然。
YOLO-9000:基于YOLO-v2,可以檢測(cè)超過9000種物體分類腿准,這歸功于使用了WordTree來混合物體檢測(cè)數(shù)據(jù)集和類別數(shù)據(jù)集的數(shù)據(jù)际起。

目前的物體檢測(cè)都是基于相關(guān)數(shù)據(jù)集,如PascalVOC吐葱、COCO等街望,如下:

目標(biāo)檢測(cè)數(shù)據(jù)集

此類數(shù)據(jù)集大多數(shù)分類標(biāo)簽信息較少,數(shù)量也少于分類數(shù)據(jù)集ImageNet弟跑,訓(xùn)練物體檢測(cè)中類別信息時(shí)灾前,數(shù)據(jù)量偏小。

文章提出了一種新的訓(xùn)練方法-聯(lián)合訓(xùn)練方法孟辑,思路是:同時(shí)在檢測(cè)數(shù)據(jù)集和分類數(shù)據(jù)集上訓(xùn)練物體檢測(cè)器(Object Detectors )哎甲,用監(jiān)測(cè)數(shù)據(jù)集的數(shù)據(jù)學(xué)習(xí)物體的準(zhǔn)確位置蔫敲,用分類數(shù)據(jù)集的數(shù)據(jù)來增加分類的類別量、提升魯棒性烧给。即YOLO9000 使用 COCO 檢測(cè)數(shù)據(jù)集學(xué)習(xí)檢測(cè)圖片中的物體的位置燕偶,使用 ImageNet 分類數(shù)據(jù)集學(xué)習(xí)類別分類喝噪。

YOLO-9000相對(duì)于YOLO-v1提到了better础嫡、faster、stronger酝惧,這也是對(duì)YOLO-v1的進(jìn)一步改進(jìn)榴鼎。

1.更準(zhǔn)(Better)
YOLO 一代有很多缺點(diǎn),作者希望改進(jìn)的方向是改善 recall晚唇,提升定位的準(zhǔn)確度巫财,同時(shí)保持分類的準(zhǔn)確度。

目前計(jì)算機(jī)視覺的趨勢(shì)是更大更深的網(wǎng)絡(luò)哩陕,更好的性能表現(xiàn)通常依賴于訓(xùn)練更大的網(wǎng)絡(luò)或者把多種模型綜合到一起平项。但是 YOLO v2 則著力于簡化網(wǎng)絡(luò)。具體的改進(jìn)見下表:


image

Batch Normalization

使用 Batch Normalization 對(duì)網(wǎng)絡(luò)進(jìn)行優(yōu)化悍及,讓網(wǎng)絡(luò)提高了收斂性闽瓢,同時(shí)還消除了對(duì)其他形式的正則化(regularization)的依賴。通過對(duì) YOLO 的每一個(gè)卷積層增加 Batch Normalization心赶,最終使得 mAP 提高了 2%扣讼,同時(shí)還使模型正則化。使用 Batch Normalization 可以從模型中去掉 Dropout缨叫,而不會(huì)產(chǎn)生過擬合椭符。

High resolution classifier

目前業(yè)界標(biāo)準(zhǔn)的檢測(cè)方法,都要先把分類器(classi?er)放在ImageNet上進(jìn)行預(yù)訓(xùn)練耻姥。從 Alexnet 開始销钝,大多數(shù)的分類器都運(yùn)行在小于 256256 的圖片上。而現(xiàn)在 YOLO 從 224224 增加到了 448*448琐簇,這就意味著網(wǎng)絡(luò)需要適應(yīng)新的輸入分辨率蒸健。

為了適應(yīng)新的分辨率,YOLO v2 的分類網(wǎng)絡(luò)以 448*448 的分辨率先在 ImageNet上進(jìn)行微調(diào)鸽嫂,微調(diào) 10 個(gè) epochs纵装,讓網(wǎng)絡(luò)有時(shí)間調(diào)整濾波器(filters),好讓其能更好的運(yùn)行在新分辨率上据某,還需要調(diào)優(yōu)用于檢測(cè)的 Resulting Network橡娄。最終通過使用高分辨率,mAP 提升了 4%癣籽。

Convolution with anchor boxes

YOLO 一代包含有全連接層挽唉,從而能直接預(yù)測(cè) Bounding Boxes 的坐標(biāo)值滤祖。 Faster R-CNN 的方法只用卷積層與 Region Proposal Network 來預(yù)測(cè) Anchor Box 偏移值與置信度,而不是直接預(yù)測(cè)坐標(biāo)值瓶籽。作者發(fā)現(xiàn)通過預(yù)測(cè)偏移量而不是坐標(biāo)值能夠簡化問題匠童,讓神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)起來更容易。

所以最終 YOLO 去掉了全連接層塑顺,使用 Anchor Boxes 來預(yù)測(cè) Bounding Boxes汤求。作者去掉了網(wǎng)絡(luò)中一個(gè)池化層,這讓卷積層的輸出能有更高的分辨率严拒。收縮網(wǎng)絡(luò)讓其運(yùn)行在 416416 而不是 448448扬绪。由于圖片中的物體都傾向于出現(xiàn)在圖片的中心位置,特別是那種比較大的物體裤唠,所以有一個(gè)單獨(dú)位于物體中心的位置用于預(yù)測(cè)這些物體挤牛。YOLO 的卷積層采用 32 這個(gè)值來下采樣圖片,所以通過選擇 416416 用作輸入尺寸最終能輸出一個(gè) 1313 的特征圖种蘸。 使用 Anchor Box 會(huì)讓精確度稍微下降墓赴,但用了它能讓 YOLO 能預(yù)測(cè)出大于一千個(gè)框,同時(shí) recall 達(dá)到88%航瞭,mAP 達(dá)到 69.2%诫硕。

Dimension clusters

之前 Anchor Box 的尺寸是手動(dòng)選擇的,所以尺寸還有優(yōu)化的余地沧奴。 為了優(yōu)化痘括,在訓(xùn)練集的 Bounding Boxes 上跑一下 k-means聚類,來找到一個(gè)比較好的值滔吠。

如果我們用標(biāo)準(zhǔn)的歐式距離的 k-means纲菌,尺寸大的框比小框產(chǎn)生更多的錯(cuò)誤。因?yàn)槲覀兊哪康氖翘岣?IOU 分?jǐn)?shù)疮绷,這依賴于 Box 的大小翰舌,所以距離度量的使用:


image

通過分析實(shí)驗(yàn)結(jié)果(Figure 2),左圖:在模型復(fù)雜性與 high recall 之間權(quán)衡之后冬骚,選擇聚類分類數(shù) K=5椅贱。右圖:是聚類的中心,大多數(shù)是高瘦的 Box只冻。

Table1 是說明用 K-means 選擇 Anchor Boxes 時(shí)庇麦,當(dāng) Cluster IOU 選擇值為 5 時(shí),AVG IOU 的值是 61喜德,這個(gè)值要比不用聚類的方法的 60.9 要高山橄。選擇值為 9 的時(shí)候,AVG IOU 更有顯著提高舍悯『嚼猓總之就是說明用聚類的方法是有效果的睡雇。

image

Direct location prediction

用 Anchor Box 的方法,會(huì)讓 model 變得不穩(wěn)定饮醇,尤其是在最開始的幾次迭代的時(shí)候它抱。大多數(shù)不穩(wěn)定因素產(chǎn)生自預(yù)測(cè) Box 的(x,y)位置的時(shí)候。按照之前 YOLO的方法朴艰,網(wǎng)絡(luò)不會(huì)預(yù)測(cè)偏移量观蓄,而是根據(jù) YOLO 中的網(wǎng)格單元的位置來預(yù)測(cè)坐標(biāo),這就讓 Ground Truth 的值介于 0 到 1 之間呵晚。而為了讓網(wǎng)絡(luò)的結(jié)果能落在這一范圍內(nèi)蜘腌,網(wǎng)絡(luò)使用一個(gè) Logistic Activation 來對(duì)于網(wǎng)絡(luò)預(yù)測(cè)結(jié)果進(jìn)行限制沫屡,讓結(jié)果介于 0 到 1 之間饵隙。 網(wǎng)絡(luò)在每一個(gè)網(wǎng)格單元中預(yù)測(cè)出 5 個(gè) Bounding Boxes,每個(gè) Bounding Boxes 有五個(gè)坐標(biāo)值 tx沮脖,ty金矛,tw,th勺届,t0驶俊,他們的關(guān)系見下圖(Figure3)。假設(shè)一個(gè)網(wǎng)格單元對(duì)于圖片左上角的偏移量是 cx免姿、cy饼酿,Bounding Boxes Prior 的寬度和高度是 pw、ph胚膊,那么預(yù)測(cè)的結(jié)果見下圖右面的公式:

image

因?yàn)槭褂昧讼拗谱寯?shù)值變得參數(shù)化故俐,也讓網(wǎng)絡(luò)更容易學(xué)習(xí)、更穩(wěn)定紊婉。Dimension clusters和Direct location prediction药版,使 YOLO 比其他使用 Anchor Box 的版本提高了近5%。

Fine-Grained Features
YOLO 修改后的特征圖大小為 1313喻犁,這個(gè)尺寸對(duì)檢測(cè)圖片中尺寸大物體來說足夠了槽片,同時(shí)使用這種細(xì)粒度的特征對(duì)定位小物體的位置可能也有好處。Faster-RCNN肢础、SSD 都使用不同尺寸的特征圖來取得不同范圍的分辨率还栓,而 YOLO 采取了不同的方法,YOLO 加上了一個(gè) Passthrough Layer 來取得之前的某個(gè) 2626 分辨率的層的特征传轰。這個(gè) Passthrough layer 能夠把高分辨率特征與低分辨率特征聯(lián)系在一起剩盒,聯(lián)系起來的方法是把相鄰的特征堆積在不同的 Channel 之中,這一方法類似與 Resnet 的 Identity Mapping路召,從而把 2626512 變成 13132048勃刨。YOLO 中的檢測(cè)器位于擴(kuò)展后(expanded )的特征圖的上方波材,所以他能取得細(xì)粒度的特征信息,這提升了 YOLO 1% 的性能身隐。

Multi-Scale Training

作者希望 YOLOv2 能健壯地運(yùn)行于不同尺寸的圖片之上廷区,所以把這一想法用于訓(xùn)練模型中。

區(qū)別于之前的補(bǔ)全圖片的尺寸的方法贾铝,YOLOv2 每迭代幾次都會(huì)改變網(wǎng)絡(luò)參數(shù)隙轻。每 10 個(gè) Batch,網(wǎng)絡(luò)會(huì)隨機(jī)地選擇一個(gè)新的圖片尺寸垢揩,由于使用了下采樣參數(shù)是 32玖绿,所以不同的尺寸大小也選擇為 32 的倍數(shù) {320,352…..608}叁巨,最小 320320斑匪,最大 608608,網(wǎng)絡(luò)會(huì)自動(dòng)改變尺寸锋勺,并繼續(xù)訓(xùn)練的過程蚀瘸。

這一政策讓網(wǎng)絡(luò)在不同的輸入尺寸上都能達(dá)到一個(gè)很好的預(yù)測(cè)效果,同一網(wǎng)絡(luò)能在不同分辨率上進(jìn)行檢測(cè)庶橱。當(dāng)輸入圖片尺寸比較小的時(shí)候跑的比較快贮勃,輸入圖片尺寸比較大的時(shí)候精度高,所以你可以在 YOLOv2 的速度和精度上進(jìn)行權(quán)衡苏章。


voc2007 上的速度與精度對(duì)比

更快(Faster)

YOLO 使用的是 GoogLeNet 架構(gòu)寂嘉,比 VGG-16 快,YOLO 完成一次前向過程只用 85.2 億次運(yùn)算枫绅,而 VGG-16 要 306.9 億次泉孩,但是 YOLO 精度稍低于 VGG-16。

Draknet19

YOLO v2 基于一個(gè)新的分類模型撑瞧,有點(diǎn)類似于 VGG棵譬。YOLO v2 使用 3*3 的 filter,每次池化之后都增加一倍 Channels 的數(shù)量预伺。YOLO v2 使用全局平均池化订咸,使用 Batch Normilazation 來讓訓(xùn)練更穩(wěn)定,加速收斂酬诀,使模型規(guī)范化脏嚷。

最終的模型–Darknet19,有 19 個(gè)卷積層和 5 個(gè) maxpooling 層瞒御,處理一張圖片只需要 55.8 億次運(yùn)算父叙,在 ImageNet 上達(dá)到 72.9% top-1 精確度,91.2% top-5 精確度。

Training for classi?cation

在訓(xùn)練時(shí)趾唱,把整個(gè)網(wǎng)絡(luò)在更大的448*448分辨率上Fine Turnning 10個(gè) epoches涌乳,初始學(xué)習(xí)率設(shè)置為0.001,這種網(wǎng)絡(luò)達(dá)到達(dá)到76.5%top-1精確度甜癞,93.3%top-5精確度夕晓。

更強(qiáng)(Stronger)

在訓(xùn)練的過程中,當(dāng)網(wǎng)絡(luò)遇到一個(gè)來自檢測(cè)數(shù)據(jù)集的圖片與標(biāo)記信息悠咱,那么就把這些數(shù)據(jù)用完整的 YOLO v2 loss 功能反向傳播這個(gè)圖片蒸辆。當(dāng)網(wǎng)絡(luò)遇到一個(gè)來自分類數(shù)據(jù)集的圖片和分類標(biāo)記信息,只用整個(gè)結(jié)構(gòu)中分類部分的 loss 功能反向傳播這個(gè)圖片析既。

作者的目的是:訓(xùn)練一個(gè) Extremely Large Scale 檢測(cè)器躬贡。所以訓(xùn)練的時(shí)候使用 WordTree 混合了 COCO 檢測(cè)數(shù)據(jù)集與 ImageNet 中的 Top9000 類,混合后的數(shù)據(jù)集對(duì)應(yīng)的 WordTree 有 9418 個(gè)類眼坏。另一方面拂玻,由于 ImageNet 數(shù)據(jù)集太大了,作者為了平衡一下兩個(gè)數(shù)據(jù)集之間的數(shù)據(jù)量空骚,通過過采樣(oversampling) COCO 數(shù)據(jù)集中的數(shù)據(jù)纺讲,使 COCO 數(shù)據(jù)集與 ImageNet 數(shù)據(jù)集之間的數(shù)據(jù)量比例達(dá)到 1:4。

YOLO9000 的訓(xùn)練基于 YOLO v2 的構(gòu)架囤屹,但是使用 3 priors 而不是 5 來限制輸出的大小。當(dāng)網(wǎng)絡(luò)遇到檢測(cè)數(shù)據(jù)集中的圖片時(shí)則正常地反方向傳播逢渔,當(dāng)遇到分類數(shù)據(jù)集圖片的時(shí)候肋坚,只使用分類的 loss 功能進(jìn)行反向傳播。同時(shí)作者假設(shè) IOU 最少為 0.3肃廓。最后根據(jù)這些假設(shè)進(jìn)行反向傳播智厌。

使用聯(lián)合訓(xùn)練法,YOLO9000 使用 COCO 檢測(cè)數(shù)據(jù)集學(xué)習(xí)檢測(cè)圖片中的物體的位置盲赊,使用 ImageNet 分類數(shù)據(jù)集學(xué)習(xí)如何對(duì)大量的類別中進(jìn)行分類铣鹏。

為了評(píng)估這一方法,使用 ImageNet Detection Task 對(duì)訓(xùn)練結(jié)果進(jìn)行評(píng)估哀蘑。

評(píng)估結(jié)果:
+YOLO9000 取得 19.7 mAP诚卸。 在未學(xué)習(xí)過的 156 個(gè)分類數(shù)據(jù)上進(jìn)行測(cè)試, mAP 達(dá)到 16.0绘迁。
+YOLO9000 的 mAP 比 DPM 高合溺,而且 YOLO 有更多先進(jìn)的特征,YOLO9000 是用部分監(jiān)督的方式在不同訓(xùn)練集上進(jìn)行訓(xùn)練缀台,同時(shí)還能檢測(cè) 9000個(gè)物體類別棠赛,并保證實(shí)時(shí)運(yùn)行。

雖然 YOLO9000 對(duì)動(dòng)物的識(shí)別性能很好,但是對(duì)類別為“sungalsses”或者“swimming trunks”這些衣服或者裝備的類別睛约,它的識(shí)別性能不是很好鼎俘,見 table 7。這跟數(shù)據(jù)集的數(shù)據(jù)組成有很大關(guān)系辩涝。


image

總結(jié)

YOLO v2 代表著當(dāng)時(shí)最先進(jìn)物體檢測(cè)的水平而芥,在多種監(jiān)測(cè)數(shù)據(jù)集中都要快過其他檢測(cè)系統(tǒng),并可以在速度與精確度上進(jìn)行權(quán)衡膀值。

YOLO 9000 的網(wǎng)絡(luò)結(jié)構(gòu)允許實(shí)時(shí)地檢測(cè)超過9000種物體分類棍丐,這歸功于它能同時(shí)優(yōu)化檢測(cè)與分類功能。使用 WordTree 來混合來自不同的資源的訓(xùn)練數(shù)據(jù)沧踏,并使用聯(lián)合優(yōu)化技術(shù)同時(shí)在 ImageNet 和 COCO 數(shù)據(jù)集上進(jìn)行訓(xùn)練歌逢,YOLO9000 進(jìn)一步縮小了監(jiān)測(cè)數(shù)據(jù)集與識(shí)別數(shù)據(jù)集之間的大小代溝。

YOLO-v3

YOLOv3 在 Pascal Titan X 上處理 608x608 圖像速度可以達(dá)到 20FPS翘狱,在 COCO test-dev 上 mAP@0.5 達(dá)到 57.9%秘案,與RetinaNet(FocalLoss論文所提出的單階段網(wǎng)絡(luò))的結(jié)果相近,并且速度快 4 倍潦匈。

YOLO v3 的模型比之前的模型復(fù)雜了不少阱高,可以通過改變模型結(jié)構(gòu)的大小來權(quán)衡速度與精度。

image

YOLOv3 在實(shí)現(xiàn)相同準(zhǔn)確度下要顯著地比其它檢測(cè)方法快茬缩。時(shí)間都是在采用 M40 或 Titan X 等相同 GPU 下測(cè)量的赤惊。

簡而言之,YOLOv3 的先驗(yàn)檢測(cè)(Prior detection)系統(tǒng)將分類器或定位器重新用于執(zhí)行檢測(cè)任務(wù)凰锡。他們將模型應(yīng)用于圖像的多個(gè)位置和尺度未舟。而那些評(píng)分較高的區(qū)域就可以視為檢測(cè)結(jié)果。此外掂为,相對(duì)于其它目標(biāo)檢測(cè)方法裕膀,我們使用了完全不同的方法。我們將一個(gè)單神經(jīng)網(wǎng)絡(luò)應(yīng)用于整張圖像勇哗,該網(wǎng)絡(luò)將圖像劃分為不同的區(qū)域昼扛,因而預(yù)測(cè)每一塊區(qū)域的邊界框和概率,這些邊界框會(huì)通過預(yù)測(cè)的概率加權(quán)欲诺。我們的模型相比于基于分類器的系統(tǒng)有一些優(yōu)勢(shì)抄谐。它在測(cè)試時(shí)會(huì)查看整個(gè)圖像,所以它的預(yù)測(cè)利用了圖像中的全局信息瞧栗。與需要數(shù)千張單一目標(biāo)圖像的 R-CNN 不同斯稳,它通過單一網(wǎng)絡(luò)評(píng)估進(jìn)行預(yù)測(cè)。這令 YOLOv3 非臣?郑快挣惰,一般它比 R-CNN 快 1000 倍、比 Fast R-CNN 快 100 倍。

改進(jìn)之處:

a.多尺度預(yù)測(cè) (類FPN);

b.更好的基礎(chǔ)分類網(wǎng)絡(luò)(類ResNet)和分類器 darknet-53憎茂,見下圖

c.分類器-類別預(yù)測(cè):

YOLOv3 不使用 Softmax 對(duì)每個(gè)框進(jìn)行分類珍语,主要考慮因素有:

a.Softmax 使得每個(gè)框分配一個(gè)類別(得分最高的一個(gè)),而對(duì)于 Open Images這種數(shù)據(jù)集竖幔,目標(biāo)可能有重疊的類別標(biāo)簽板乙,因此 Softmax不適用于多標(biāo)簽分類。

b.Softmax 可被獨(dú)立的多個(gè) logistic 分類器替代拳氢,且準(zhǔn)確率不會(huì)下降募逞。

c.分類損失采用 binary cross-entropy loss。

多尺度預(yù)測(cè)

每種尺度預(yù)測(cè) 3 個(gè) box, anchor 的設(shè)計(jì)方式仍然使用聚類馋评,得到9個(gè)聚類中心放接,將其按照大小均分給 3 個(gè)尺度。

  • 尺度1: 在基礎(chǔ)網(wǎng)絡(luò)之后添加一些卷積層再輸出box信息留特。

  • 尺度2: 從尺度1中的倒數(shù)第二層的卷積層上采樣(x2)再與最后一個(gè) 16x16 大小的特征圖相加纠脾,再次通過多個(gè)卷積后輸出 box 信息,相比尺度1變大兩倍蜕青。

  • 尺度3: 與尺度2類似苟蹈,使用了 32x32 大小的特征圖

基礎(chǔ)網(wǎng)絡(luò) Darknet-53

darknet-53 與 ResNet-101 或 ResNet-152 準(zhǔn)確率接近,但速度更快右核,對(duì)比如下:

image

檢測(cè)結(jié)構(gòu)如下:


image
image

YOLOv3 在 mAP@0.5 及小目標(biāo) APs 上具有不錯(cuò)的結(jié)果慧脱,但隨著 IOU的增大,性能下降蒙兰,說明 YOLOv3 不能很好地與 ground truth 切合.

1.https://pjreddie.com/darknet/yolo/
2.https://blog.csdn.net/guleileo/article/details/80581858

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末磷瘤,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子搜变,更是在濱河造成了極大的恐慌,老刑警劉巖针炉,帶你破解...
    沈念sama閱讀 222,681評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挠他,死亡現(xiàn)場離奇詭異,居然都是意外死亡篡帕,警方通過查閱死者的電腦和手機(jī)殖侵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來镰烧,“玉大人拢军,你說我怎么就攤上這事≌睿” “怎么了茉唉?”我有些...
    開封第一講書人閱讀 169,421評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我度陆,道長艾凯,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,114評(píng)論 1 300
  • 正文 為了忘掉前任懂傀,我火速辦了婚禮趾诗,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蹬蚁。我一直安慰自己恃泪,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,116評(píng)論 6 398
  • 文/花漫 我一把揭開白布犀斋。 她就那樣靜靜地躺著贝乎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪闪水。 梳的紋絲不亂的頭發(fā)上糕非,一...
    開封第一講書人閱讀 52,713評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音球榆,去河邊找鬼朽肥。 笑死,一個(gè)胖子當(dāng)著我的面吹牛持钉,可吹牛的內(nèi)容都是我干的衡招。 我是一名探鬼主播,決...
    沈念sama閱讀 41,170評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼每强,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼始腾!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起空执,我...
    開封第一講書人閱讀 40,116評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤浪箭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后辨绊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奶栖,經(jīng)...
    沈念sama閱讀 46,651評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,714評(píng)論 3 342
  • 正文 我和宋清朗相戀三年门坷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了宣鄙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,865評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡默蚌,死狀恐怖冻晤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情绸吸,我是刑警寧澤鼻弧,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布设江,位于F島的核電站,受9級(jí)特大地震影響温数,放射性物質(zhì)發(fā)生泄漏绣硝。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,211評(píng)論 3 336
  • 文/蒙蒙 一撑刺、第九天 我趴在偏房一處隱蔽的房頂上張望鹉胖。 院中可真熱鬧,春花似錦够傍、人聲如沸甫菠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽寂诱。三九已至,卻和暖如春安聘,著一層夾襖步出監(jiān)牢的瞬間痰洒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評(píng)論 1 274
  • 我被黑心中介騙來泰國打工浴韭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留丘喻,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,299評(píng)論 3 379
  • 正文 我出身青樓念颈,卻偏偏與公主長得像泉粉,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子榴芳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,870評(píng)論 2 361