天天看點

目标檢測-yolov3

目錄

1、目标檢測的常見名額

2、yolov1網絡

3、yolov2

4.yolov3

5.參考資料

1、目标檢測的常見名額

TP(true positive):IoU>0.5檢測框的數量

FP(false positive):IoU<=0.5的檢測框

FN(false negative):沒有檢測GT(ground truth)的數量

Precision: TP/(TP+FP)預測正确的比例 查準率

Recall:TP/(TP+FN)預測正确的目标比例 查全率

AP:P-R曲線下的面積

P-R曲線:Precision-Recall曲線

mAP:各類别AP的平均值

目标檢測-yolov3

第一行為coco資料集的主要評價名額AP,當IoU從0.5到0.95,且間隔為0.05,十個不同值的IoU對應的AP取均值。

第二行為不同面積的AP,小于32×32為小像素,32到96像素為中等像素,大于96為大像素。

第三行為提供多少個邊界框的AR(average recall),分别為1,10,100個。

第四行為不同面積的AR,小尺寸,中等尺寸和大尺寸。

2、yolov1網絡

1.提出了grid cell,将圖檔分成s×s個網格,object的中心落在這個網格中,這個網格就負責預測這個object。

目标檢測-yolov3

2.每個網格要預測B個bounding box,除了預測位置還有預測一個confidence,每個網格還要預測c個類别分數。對于Pascal voc資料集,它有20個類别,采用B=2。是以我們預測的個數為7×7×30個參數。輸出為7×7×30,以channel展開,每一條兩個bounding box的8個坐标,加兩個confidence,和20個預測類别分數。x,y是相對于grid cell的值,為預測的中心坐标,w,h是相對于整個圖檔來說,為預測的邊界框參數。confidence的值是

目标檢測-yolov3

 Pr為是否為目标隻取0或1,後面是預測值和真實值的交并比。

目标檢測-yolov3

最後的預測機率為:

目标檢測-yolov3

3.網絡結構

在展平處理後,reshape成7×7×30的特征矩陣。

目标檢測-yolov3

4.損失函數

使用誤差平方和計算,分成3部分,預測邊界框損失,confidence損失,類别損失。bounding box損失中,寬度和高度開根平方差是為了大邊界框和小邊界框偏移大小一樣時,得到的誤差大小不同,讓小目标的誤差更大。

目标檢測-yolov3
目标檢測-yolov3

3、yolov2

 1.Batch Normalization.

在網絡結構中使用了bn結構,可以移除dropout,在mAP中獲得了超過2%的改進。

2.High Resolution Classifier.

更高分辨率的分類器,采用了在ImageNet上以完整的448 × 448分辨率微調分類網絡10個epoch,這個高分辨率的分類網絡使我們的mAP增加了近4%。

3.Convolutional With Anchor Boxes.

使用了基于anchor的邊界預測框,在沒有錨框的情況下,模型獲得了69.5個mAP,召回率為81%。通過錨箱,模型獲得了69.2 mAP,召回率為88%。盡管mAP下降,但召回率的增加意味着模型有更多的改進空間。

4.Dimension Clusters. 

在訓練集的邊界框上運作k-means聚類來自動找到好的先驗。

直接定位預測。當使用YOLO的錨框時,會遇到問題:模型不穩定,特别是在早期疊代期間。大部分的不穩定性來自于預測盒子的(x, y)位置。在區域提議網絡中,網絡會預測tx和ty的值,并且(x, y)中心坐标的計算方式為:x = (tx * wa)+xa y = (ty * ha)+ya。

通過對回歸坐标的限制:bx = σ(tx) + cx       by = σ(ty) + cy       bw = pwe^tw       bh = phe^th   Pr(object) ∗ IOU(b, object) = σ(t0)。t0為yolov1 中的confidence

使得每個anchor隻預測自己grid cell裡的目标。

5.Fine-Grained Features

把底層特征圖和高層特征圖融合,使得能更準确的檢測目标。

通過passthrough layer進行特征矩陣融合,passthrough通過減小一半尺寸,擴大4倍channel進行融合。

目标檢測-yolov3

6.Multi-Scale Training.

原始YOLO的輸入分辨率為448 × 448。通過添加錨框,我們将分辨率更改為416×416。然而,由于模型隻使用卷積層和池化層,是以可以動态地調整大小。

每隔幾次疊代就改變網絡,而不是固定輸入圖像的大小。每10批我們的網絡随機選擇一個新的圖像次元大小。由于我們的模型向下采樣倍數為32,我們從32的以下倍數中提取:{320,352,…608}。是以,最小的選擇是320 × 320,最大的是608 × 608。根據這個次元調整網絡的大小,并繼續教育訓練。

 7.dark-19

backbone使用dark-19。

目标檢測-yolov3

8.yolov2模型

目标檢測-yolov3

1個anchor預測4個坐标+1個confidence+20個類别分數

4.yolov3

1.backbone

使用darknet-53網絡提取特征資訊

目标檢測-yolov3

2.anchors

一個anchor預測四個坐标一個confidence,和80個類别分數

目标檢測-yolov3

3.多channel預測

在特征圖1上預測大目标,特征圖2上預測中等目标,特征圖3上預測小目标。

目标檢測-yolov3

 4.正負樣本

GT和Anchor Template重合IOU>0.3的算正樣本

目标檢測-yolov3

5.損失計算

目标檢測-yolov3

5.參考資料

霹靂吧啦Wz的個人空間_哔哩哔哩_Bilibili

You Only Look Once: Unified, Real-Time Object Detection

YOLO9000: Better, Faster, Stronger

YOLOv3: An Incremental Improvement

繼續閱讀