ssd和yolov3的對比圖
初步總結的SSD和yolo-v3之間的一些區別。
其中的一些概念還有待充分解釋。
SSD | YOLOv3 | |
---|---|---|
Loss | Softmax loss | Logistic loss |
Feature extractor | VGG19 | Darknet-53 |
Bounding Box Prediction | direct offset with default box | offset with gird cell by sigmoid activation |
Anchor box | Different scale and aspect ratio | K-means from coco and VOC |
Small objects | Semantic value for bottom layer is not high. Worse for small objects. | Higher resolution layers have higher semantic values. Better for small objects. |
Big objects | Better. Feature map rangers from 38 * 38 to 3 * 3 ,1 * 1. | Worse. 13 * 13 feature map is the most coarse-grained. |
Data Augmentation | Different sample IOU crop | Random Scale from 0.25 to 2 |
Input | Original image | Random multi-scale input |
SSD的loss中,不同類別的分類器是softmax,最終檢測目標的類別只能是一類。而在yolo-v3中,例如對於80類的coco資料集,對於類別進行判斷是80個logistic分類器,只要輸出大於設定的閾值,則都是物體的類別,物體同時可以屬於多類,例如一個物體同時是person和woman。
Backbone network。ssd原版的基礎網路就是VGG19,也可以用mobile-net、resnet等。yolo-v3的基礎網路是作者自己設計的darknet-53(因為具有53個卷積層),借鑑了resnet的shortcut層,根據作者的話,以更少的引數、更少的計算量實現了接近的效果。
Anchor box。ssd從faster-rcnn中吸收了這一思想,採用的是均勻地將不同尺寸的default box分配到不同尺度的feature map上。例如6個feature map的尺度,default box的大小從20%到90%的佔比,同時有aspect_ratios = [[2], [2, 3], [2, 3], [2, 3], [2], [2]] ,最終可以計算出不同default box大小。而yolo-v3延續了yolo-v2的方法:從coco資料集中對bouding box 的(width, height)進行聚類,作者聚出9類,每類中心點取出作為一個box_size, 將每三個box_size劃分給一個feature map。例如總共有10,13, 16,30, 33,23, 30,61, 62,45, 59,119, 116,90, 156,198, 373,326共9組w,h, 作者將後三個116,90, 156,198, 373,326作為13 * 13 的gird cell上的anchor box size。
圖片輸入。yolo-v3將輸入圖片對映到第一層feature map的固定比例是32。對於輸入為416 * 416的圖片,第一層feature map 大小為13 * 13。但是yolo-v3支援從300到600的所有32的倍數的輸入。例如輸入圖片為320 * 320,這樣第一層feature map就為10 * 10,在這樣的gird cell中同樣可以進行predict和match groudtruth。
Bounding Box 的預測方法。在不同的gird cell上,SSD預測出每個box相對於default box的位置偏移和寬高值。yolo-v3的作者覺得這樣剛開始訓練的時候,預測會很不穩定。因為位置偏移值在float的範圍內都有可能,出現一個很大的值的話,位置都超出圖片範圍了,都是完全無效的預測了。所以yolov3的作者對於這位置偏移值都再做一個sigmoid啟用,將範圍縮為0-1 。b_x和b_y的值在(cell_x_loc, cell_x_loc+1), (cell_y_loc, cell_y_loc+1)之間波動。
初步總結的SSD和yolo-v3之間的一些區別。
其中的一些概念還有待充分解釋。
初步總結的SSD和yolo-v3之間的一些區別。
其中的一些概念還有待充分解釋。