yolov3和ssd的区别
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
初步总结的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)之间波动。
- yolov3为什么比ssd好.
不仅仅因为YOLO V3引入FPN结构,同时它的检测层由三级feature layers融合,而SSD的六个特征金字塔层全部来自于FCN的最后一层,其实也就是一级特征再做细化,明显一级feature map的特征容量肯定要弱于三级,尤其是浅层包含的大量小物体特征。
https://www.zhihu.com/question/269909535/answer/471978963
yolov3和ssd的区别的更多相关文章
- emmc和ssd的区别【转】
本文转载自:https://blog.csdn.net/hawk_lexiang/article/details/78228789 emmc和ssd eMMC和SSD主要是满足不同需求而发展出来的NA ...
- one-stage object detectors(1)
2019/04/08 强烈推荐:深入理解one-stage目标检测算法 yolo系列 one-stage object detectors(YOLO and SSD) 在不专一的模型中,每个检测器应该 ...
- 深度学习笔记(十三)YOLO V3 (Tensorflow)
[代码剖析] 推荐阅读! SSD 学习笔记 之前看了一遍 YOLO V3 的论文,写的挺有意思的,尴尬的是,我这鱼的记忆,看完就忘了 于是只能借助于代码,再看一遍细节了. 源码目录总览 tens ...
- The Accidental DBA
The Accidental DBA (Day 1 of 30): Hardware Selection: CPU and Memory Considerations 本文大意: 全篇主要讲 ...
- (转)Awesome Object Detection
Awesome Object Detection 2018-08-10 09:30:40 This blog is copied from: https://github.com/amusi/awes ...
- TextBoxes 与 TextBoxes ++
TextBoxes 论文关键idea 本文和SegLink一样,也是在SSD的基础上进行改进的.相比SSD做了以下的改进: 修改了default box的apect ratio,分别为[1 2 3 5 ...
- mysql特性及部署规范
--分支版本,mysql对cpu,内存,io子系统资源利用特点--oracle mysql,mariadb,percona server--部署规范建议,系统安装,mysql安装,其他规范互联网业务为 ...
- paper-list
1.yolo-v1,yolo-v2,yolo-v3 2.ssd,focal loss,dssd 3.fast-rcnn,faster-rcnn,r-fcn,Light-Head R-CNN,R-FCN ...
- 目标检测论文解读10——DSSD
背景 SSD算法在检测小目标时精度并不高,本文是在在SSD的基础上做出一些改进,引入卷积层,能综合上下文信息,提高模型性能. 理解 Q1:DSSD和SSD的区别有哪些? (1)SSD是一层一层下采样, ...
随机推荐
- jmeter相关知识学习记录
基于Jmeter5.2.1 断言之响应断言 响应断言:对服务器的响应接口进行断言校验,来判断接口测试得到的接口返回值是否正确. 测试字段就是指要断言的内容的匹配处. 响应文本:就是响应的body部分: ...
- python中list的运算,操作及实例
在操作list的时候,经常用到对列表的操作运算,比如说,列表添加,删除操作,其实,这里面经常回遇到这样一个问题,就是列表的操作容易被混淆了. 有人做了一个总结,这个很清晰,我就不多做阐述了: 1.ap ...
- Linux下dos2unix命令将windows文件编码格式dos转换成Unix格式
问题描述: 在Windows系统下面使用文本编辑器notepad后传到Linux系统下的话 Linux下处理和执行一般都存在一些问题,我们可以通过命令查看文件是否是dos格式的, 如果有如图所示的M标 ...
- go语言之goto语句和函数和defer语句
1.goto关键字 import "fmt" func main() { for i := 0;i <11;i++{ if i == 2{ //关键字,goto跳转到某个位置 ...
- SpringBoot2.0 基础案例(15):配置MongoDB数据库,实现增删改查逻辑
本文源码:GitHub·点这里 || GitEE·点这里 一.NoSQL简介 1.NoSQL 概念 NoSQL( Not Only SQL ),意即"不仅仅是SQL".对不同于传统 ...
- ASP.NET MVC5基础 – MVC文件架构
创建MVC项目 首先,我们使用Visual Studio2019创建一个MVC架构的应用程序.步骤如下:首先打开VS2019,在启动页选择[创建新项目].然后选择创建 ASP.NET Web 应用程序 ...
- SSH框架之Hibernate第二篇
1.1 持久化类的编写规则 1.1.1 什么是持久化类? 持久化类 : 与表建立了映射关系的实体类,就可以称之为持久化类. 持久化类 = Java类 + 映射文件. 1.1.2 持久化类的编写规则 ( ...
- 上传图片到七牛云(服务端 node.js sdk)
大体思路 前端要上传图片到七牛云,需要有一个token进行授权操作,而获取这个上传的upload token(以下简称upToken),在服务端需要一定的身份校验,比如说:只有登录的vip用户才能拿到 ...
- PHPStudyLite启动不成功怎么办
点击环境端口检测 有端口打开则关闭 一切正常后重新开启
- 解决adb网络连接中出现的“由于目标计算机积极拒绝,无法连接”错误
在调试一块全志A83T安卓工控板(已root),启动后,安卓系统正常,设置好以太网 的静态IP地址:192.168.1.181,并接好网线,同时开发电脑WIN7系统IP地址 也是129.168.1.x ...