yolov3和ssd的區別


版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接: https://blog.csdn.net/BlowfishKing/article/details/80485006

初步總結的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 on original image randomly put the scaled original image (from 0.25 to 2) on the gray canvas
Input resize original image to fixed size Random multi-scale input
FPN no with FPN

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)之間波動。

                                </div>
            <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-095d4a0b23.css" rel="stylesheet">
                </div>

yolov3為什么比ssd好.
不僅僅因為YOLO V3引入FPN結構,同時它的檢測層由三級feature layers融合,而SSD的六個特征金字塔層全部來自於FCN的最后一層,其實也就是一級特征再做細化,明顯一級feature map的特征容量肯定要弱於三級,尤其是淺層包含的大量小物體特征。

https://www.zhihu.com/question/269909535/answer/471978963

posted @ 2019-09-25 18:46  core!  閱讀( 4143)  評論( 0編輯  收藏


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM