[YOLO]《YOLOv3: An Incremental Improvement》笔记
相比较于前两篇论文,个人感觉YOLO3作者有点来搞笑的!!!虽然加了一些新的点子进来,但是,论文的开头是这样的:

简单理解就是作者花了很多时间玩Twitter去了,所以没有做啥研究!!!!
然后:

你可以引用自己的论文吗?猜猜谁会这么做,就是这家伙,然后我发现链接竟然是他自己这篇论文:

还有调侃下谷歌、脸书等大公司和目标检测等技术:

很多从事这项研究的在谷歌和脸书,所以我们应该相信他们不会用技术来采集我们的信息然后拿来卖!!!等等,你是说这才是技术的真正用途????哈哈,投资计算机视觉研究的都是军方的人,他们从未将新技术用来杀人!!!
接着作者说:

希望搞计算视觉的人是出于兴趣做一件快乐的事情,比如数数公园里斑马的数量,跟踪下房子周围的猫!!!!
重要的是接下来的一句,他说:

不要艾特我,我终于退出推特了!!!
好咯,言归正传,那么其实这篇论文相比较前两篇,倒是没啥其他特别的点,总结起来主要也就是新的骨架和多尺度。
一、Bounding Box Prediction
目标边界框的预测实际上也还是沿用YOLO2的做法,网络会预测每个网格中目标边界框的四个坐标tx、ty、tw、th,如果每个网格相对于整体图像的左上角的偏移量为(Cx,Cy),而先验边界框的宽度和高度为pw、ph,那么由预测值到坐标的映射如下:

训练的时候则是取所有损失的平方和。
YOLO3采用逻辑回归来预测每个边界框的包含目标的分数objectness score,如果边界框与ground truth object的重叠大于其它边界框,那么其分数为1,如果边界框不是最好的,但是与ground truth object的重叠大于一定阈值,那么就忽略该预测。系统只为每个ground truth object分配一个边界框,没有分配的边界框就不会对坐标或者类别的预测造成损失?

二、Class Prediction
类别预测,YOLO3不适用softmax,因为发现没啥特别影响,所以用独立的逻辑分类器。训练的时候用了二元交叉熵损失函数。
三、Predictions Across Scales
多尺度预测,YOLO3使用了三个尺度,借鉴了FPN,使用多尺度。最后一个卷积提取了一个三维的编码了边界框、目标分数和类别预测等信息的张量,以COCO数据集为例子,每个尺度都会预测三个边界盒子,那么每个尺度的张量大小为:

其中4为4个边界框偏移量,1个目标检测分数,80个类别的概率。三个尺度之间的大小关系是彼此2倍的递进的关系。通过上采样将小尺度特征图与大尺度特征图拼接,然后又新加一些卷积层对融合后的特征做了处理。
YOLO3同样使用K均值聚类来计算先验框,对三个尺度计算了9个类,分别为:

四、Feature Extractor
特征提取部分,YOLO3设计了新的骨架,Darknet53,因为用了53个卷积层:

新骨架与Darknet19和其它网络的性能对比如下:

Darknet53的表现还是比较好的。
四、Training
跟YOLO2的做法基本上是类似的。
五、Things We Tried That Didn’t Work
作者做了一些新的尝试,但是没有作用:
1、Anchor box x, y offset predictions:尝试用常规的先验框机制,也就是用线性激活函数预测x、y为边界框宽度和高度的倍数,但是没用。
2、Linear x, y predictions instead of logistic:用线性激活函数直接预测x、y偏移量,而不是用逻辑回归,没用。
3、Focal loss:尝试用Focal loss,但是没用,可能YOLO3对于Focal loss要解决的问题来说已经很溜了,不需要Focal loss了吧,这点作者做了一些测试,但是也说不准。
4、Dual IOU thresholds and truth assignment:尝试采用Faster RCNN采用的双阈值策略,但是没用。
六、YOLO3 表现:
在COCO上与其它算法的对比,不如RetinaNet,但是基本上也还是比SSD好一些(相爱相杀?)



论文:https://arxiv.org/pdf/1804.02767.pdf
支离东北风尘际,漂泊西南天地间。
三峡楼台淹日月,五溪衣服共云山。
羯胡事主终无赖,词客哀时且未还。
庾信平生最萧瑟,暮年诗赋动江关。
-- 杜甫 《咏怀古迹 五首 其一》
[YOLO]《YOLOv3: An Incremental Improvement》笔记的更多相关文章
- 深度学习论文翻译解析(一):YOLOv3: An Incremental Improvement
论文标题: YOLOv3: An Incremental Improvement 论文作者: Joseph Redmon Ali Farhadi YOLO官网:YOLO: Real-Time Obje ...
- 论文阅读笔记三十二:YOLOv3: An Incremental Improvement
论文源址:https://pjreddie.com/media/files/papers/YOLOv3.pdf 代码:https://github.com/qqwweee/keras-yolo3 摘要 ...
- 目标检测(七)YOLOv3: An Incremental Improvement
项目地址 Abstract 该技术报告主要介绍了作者对 YOLOv1 的一系列改进措施(注意:不是对YOLOv2,但是借鉴了YOLOv2中的部分改进措施).虽然改进后的网络较YOLOv1大一些,但是检 ...
- 目标检测:YOLO(v1 to v3)——学习笔记
前段时间看了YOLO的论文,打算用YOLO模型做一个迁移学习,看看能不能用于项目中去.但在实践过程中感觉到对于YOLO的一些细节和技巧还是没有很好的理解,现学习其他人的博客总结(所有参考连接都附于最后 ...
- 从YOLOv1到YOLOv3,目标检测的进化之路
https://blog.csdn.net/guleileo/article/details/80581858 本文来自 CSDN 网站,作者 EasonApp. 作者专栏: http://dwz.c ...
- YOLO v1到YOLO v4(下)
YOLO v1到YOLO v4(下) Faster YOLO使用的是GoogleLeNet,比VGG-16快,YOLO完成一次前向过程只用8.52 billion 运算,而VGG-16要30.69bi ...
- 检测算法简介及其原理——fast R-CNN,faster R-CNN,YOLO,SSD,YOLOv2,YOLOv3
1 引言 深度学习目前已经应用到了各个领域,应用场景大体分为三类:物体识别,目标检测,自然语言处理.本文着重与分析目标检测领域的深度学习方法,对其中的经典模型框架进行深入分析. 目标检测可以理解为是物 ...
- AI佳作解读系列(二)——目标检测AI算法集杂谈:R-CNN,faster R-CNN,yolo,SSD,yoloV2,yoloV3
1 引言 深度学习目前已经应用到了各个领域,应用场景大体分为三类:物体识别,目标检测,自然语言处理.本文着重与分析目标检测领域的深度学习方法,对其中的经典模型框架进行深入分析. 目标检测可以理解为是物 ...
- 论文笔记:目标检测算法(R-CNN,Fast R-CNN,Faster R-CNN,FPN,YOLOv1-v3)
R-CNN(Region-based CNN) motivation:之前的视觉任务大多数考虑使用SIFT和HOG特征,而近年来CNN和ImageNet的出现使得图像分类问题取得重大突破,那么这方面的 ...
随机推荐
- Django 执行 manage 命令方式
本人使用的Pycharm作为开发工具,可以在顶部菜单栏的Tools->Run manage.py Task直接打开manager 命令控制台 打开后在底部会有命令窗口: 或者,也可以在Pytho ...
- winform和wpf里必知的多线程知识
背景: 很多小伙伴经常在群里问线程的问题,平时我经常转一些视频教程这些人不看,我就自己写个总结吧 不过还是要注意的是,切换本来就不能太频繁,要一口气改. wpf的viewmodel就不需要UI线程,更 ...
- sqlalchemy 连接mysql8.0报 RuntimeError: cryptograpy si requeired for sha256_password 错误
cryptography is required for sha256_password or caching_sha2_password 需要cryptography模块的支持才能连接需要sha25 ...
- 嵊州普及Day6T3
题意:n个点,对于q个询问,有t秒及一个矩形的范围.在此矩形内的数每秒加1,若等于c,则下一秒变为0. 思路:t可能很大,%c+1就可以了.然后一个一个加起来就可以了. 见代码: #include&l ...
- VS2010如何在同一个解决方案下建立多个项目以及切换运行不同项目
前言: 在编一些小程序时,往往我们不需要一个问题就建立一个解决方案,我们完全可以让多个项目放在同一个解决方案下,切换启动项运行即可.接下来介绍具体的步骤 一.建立空白解决方案以及添加新项目 1.先建立 ...
- MySQL操作之DML
目录 SQL语句的分类 DML语句 SQL语句的分类 DDL(Data Definition Languages)语句:数据定义语言.这些语句定义了不同的数据段. 数据库.表.列.索引等数据库对象的定 ...
- axios发送post请求node服务器无法通过req.body获取参数
问题: 项目前端使用Vue框架,后端使用node.js搭建本地服务器.前端通过 axios 方式请求后端数据的过程中,发现如果是 get 请求,服务器端能够通过 req.query 获取前端传递的参数 ...
- 【SqlServer】利用sql语句附加,分离数据库-----转载
利用sqlserver内置的存储过程sp_attach_db和sp_detach_db附加 exec sp_attach_db @dbname=N'数据库名',@filename1=N'.mdf的文件 ...
- SSH框架系列:Spring读取配置文件以及获取Spring注入的Bean
分类: [java]2013-12-09 16:29 1020人阅读 评论(0) 收藏 举报 1.简介 在SSH框架下,假设我们将配置文件放在项目的src/datasource.properties路 ...
- JuJu团队1月4号工作汇报
JuJu团队1月4号工作汇报 JuJu Scrum 团队成员 今日工作 剩余任务 困难 飞飞 将model嵌入GUI 美化UI 无 婷婷 调试代码 提升acc 无 恩升 -- 写python版本的 ...