转自 | AI开发者

   YOLO-v1

YOLO 就是使用回归这种做法的典型算法。

首先将图片 Resize 到固定尺寸,然后通过一套卷积神经网络,最后接上 FC 直接输出结果,这就他们整个网络的基本结构。

更具体地做法,是将输入图片划分成一个 SxS 的网格,每个网格负责检测网格里面的物体是啥,并输出 Bbox Info 和 置信度。这里的置信度指的是 该网格内含有什么物体 和 预测这个物体的准确度。

更具体的是如下定义:

我们可以从这个定义得知,当框中没有物体的时候,整个置信度都会变为 0 。

这个想法其实就是一个简单的分而治之想法,将图片卷积后提取的特征图分为 SxS 块,然后利用优秀的分类模型对每一块进行分类,将每个网格处理完使用 NMS (非极大值抑制)的算法去除重叠的框,最后得到我们的结果。

   SSD

YOLO 这样做的确非常快,但是问题就在于这个框有点大,就会变得粗糙——小物体就容易从这个大网中漏出去,因此对小物体的检测效果不好。

所以 SSD 就在 YOLO 的主意上添加了 Faster R-CNN 的 Anchor 概念,并融合不同卷积层的特征做出预测。

我们从上图就可以很明显的看出这是 YOLO 分治网络 和 Faster R-CNN Anchor 的融合,这就大大提高了对小物体的检测。这里作者做实验也提到和 Faster R-CNN 一样的结果,这个 Anchor的数量和形状会对性能造成较大的影响。

除此之外,由于这个 Anchor 是规整形状的,但是有些物体的摆放位置是千奇百怪的,所以没有 数据增强 前的效果比增强后的效果差 7 个百分点。直观点理解,做轻微地角度扭曲让 Anchor背后的神经元“看到”更多的信息。

还有一个重大的进步是结合了不同尺寸大小 Feature Maps 所提取的特征,然后进行预测。这是 FPN 网络提出前的第一次做 Feature Pyramid 的尝试,这个特征图金字塔结合了不同层的信息,从而结合了不同 尺寸 和 大小 的特征信息。

这个尝试就大大地提高了识别的精度,且高分辨率(尺寸大)的 Feature Map 中含有更多小物体的信息,也是因为这个原因 SSD 能够较好的识别小物体。

除此之外,和 YOLO 最大的区别是,SSD 没有接 FC 减少了大量的参数量、提高了速度。

   DSSD

DSSD检测算法的网络结构如下图所示,DSSD也是使用不同阶段不同分辨率的feature maps进行预测,在不考虑Backbone网络结构差别的情况下,可以发现DSSD相比于SSD多了一系列的后续上采样操作,SSD是使用下采样过程中的feature maps进行预测,而DSSD是使用上采样过程中的feature maps进行预测。显而易见的是,SSD用于检测的feature maps位于网络的较低层,表征能力较弱,而DSSD用于检测的feature maps位于网络的较高层,表征能力较强,同时DSSD在反卷积的过程中通过Skip-Connection引入了较低层的feature maps,实现了一定程度的特征融合。所以DSSD的效果要优于SSD检测算法。

   FSSD

FSSD检测算法的网络结构如下图所示,同样,FSSD也是使用不同阶段不同分辨率的feature maps进行预测,相比于SSD,FSSD多了一个特征融合处理,将网络较低层的特征引入到网络的较高层,在检测的时候能够同时考虑不同尺度的信息,使得检测更加准确。

   YOLO9000

到了 SSD ,回归方法的目标检测应该一统天下了,但是 YOLO 的作者不服气,升级做了一个 YOLO9000 ——号称可以同时识别 9000 类物体的实时监测算法。

讲道理,YOLO9000 更像是 SSD 加了一些 Trick ,而并没有什么本质上的进步:

  • Batch Normalization

  • High resolution classifier 448*448 pretrain

  • Convolution with anchor boxes

  • Dimension clusters

  • Multi-Scale Training every 10 batch {320,…..608}

  • Direct location prediction

  • Fine-Grained Features

加了 BN 层,扩大输入维度,使用了 Anchor,训练的时候数据增强…

所以强是强,但没啥新意,SSD 和 YOLO9000 可以归为一类。

   YOLO-v3

yolo-v3主要的改进有:调整了网络结构;利用多尺度特征进行对象检测;对象分类用Logistic取代了softmax。

Yolo_v3使用了darknet-53的前面的52层(没有全连接层),yolo_v3这个网络是一个全卷积网络,大量使用残差的跳层连接,并且为了降低池化带来的梯度负面效果,作者直接摒弃了POOLing,用conv的stride来实现降采样。在这个网络结构中,使用的是步长为2的卷积来进行降采样。

为了加强算法对小目标检测的精确度,YOLO v3中采用类似FPN的upsample和融合做法(最后融合了3个scale,其他两个scale的大小分别是26×26和52×52),在多个scale的feature map上做检测。

作者在3条预测支路采用的也是全卷积的结构,其中最后一个卷积层的卷积核个数是255,是针对COCO数据集的80类:3*(80+4+1)=255,3表示一个grid cell包含3个bounding box,4表示框的4个坐标信息,1表示objectness score。

先验眶在特征图尺寸上的分配:

// 填坑中。。。

   参考文献

  • SIGAI:目标检测最新进展总结与展望(https://zhuanlan.zhihu.com/p/46595846)

  • 小绿叶:一文看懂YOLO v3(https://zhuanlan.zhihu.com/p/60944510)

  • Dave:基于深度学习的「目标检测」算法综述(https://zhuanlan.zhihu.com/p/33981103)

为您推荐

“12306”的架构到底有多牛逼?

中国程序员34岁生日当天在美国遭抢笔记本电脑,追击歹徒被拖行后身亡,为什么会发生此类事件?

阿里如何抗住90秒100亿?看这篇你就明白了!

60个Chrome神器插件大收集:助你快速成为老司机,一键分析网站技术栈

深度学习必懂的13种概率分布

3综述 yolo_Onestage目标检测算法综述相关推荐

  1. 病虫害模型算法_基于深度学习的目标检测算法综述

    sigai 基于深度学习的目标检测算法综述 导言 目标检测的任务是找出图像中所有感兴趣的目标(物体),确定它们的位置和大小,是机器视觉领域的核心问题之一.由于各类物体有不同的外观,形状,姿态,加上成像 ...

  2. 基于深度学习的目标检测算法综述(从R-CNN到Mask R-CNN)

    深度学习目标检测模型全面综述:Faster R-CNN.R-FCN和SSD 从RCNN到SSD,这应该是最全的一份目标检测算法盘点 基于深度学习的目标检测算法综述(一) 基于深度学习的目标检测算法综述 ...

  3. 目标检测算法综述 | 基于候选区域的目标检测器 | CV | 机器视觉

    目标检测算法综述 | 基于候选区域的目标检测器 | CV | 机器视觉 滑动窗口检测器 自从 AlexNet 获得 ILSVRC 2012 挑战赛冠军后,用 CNN 进行分类成为主流.一种用于目标检测 ...

  4. 基于深度学习的目标检测算法综述(一)

    基于深度学习的目标检测算法综述(一) 基于深度学习的目标检测算法综述(二) 基于深度学习的目标检测算法综述(三) 本文内容原创,作者:美图云视觉技术部 检测团队,转载请注明出处 目标检测(Object ...

  5. 基于深度学习的目标检测算法综述(二)

    转自:https://zhuanlan.zhihu.com/p/40020809 基于深度学习的目标检测算法综述(一) 基于深度学习的目标检测算法综述(二) 基于深度学习的目标检测算法综述(三) 本文 ...

  6. 3D单目(mono 3D)目标检测算法综述

    layout: post title: 3D单目(mono 3D)目标检测算法综述 date: 2021-01-22 22:08:39.000000000 +09:00 categories: [算法 ...

  7. 一文尽览 | 基于点云、多模态的3D目标检测算法综述!(Point/Voxel/Point-Voxel)

    点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心技术交流群 后台回复[ECCV2022]获取ECCV2022所有自动驾驶方向论文! 目前 ...

  8. 红外弱小目标检测算法综述

    红外弱小目标检测算法综述 ------ 参考文献: 李俊宏,张萍,王晓玮,黄世泽.红外弱小目标检测算法综述[J].中国图象图形学报,2020,25(09):1739-1753. ------ 依据是否 ...

  9. AI综述专栏 | 基于深度学习的目标检测算法综述

    https://www.toutiao.com/a6685618909275488780/ 2019-04-30 17:35:53 关注微信公众号:人工智能前沿讲习, 重磅干货,第一时间送达 AI综述 ...

最新文章

  1. 【某小学生作文】《我的爸爸是名驾驶员》
  2. 前端小白第一次使用redux存取数据练习
  3. 算法每日学打卡:java语言基础题目打卡(01-10)
  4. 设计模式(中介者模式)
  5. php常用过滤htmlspecialchars() 函数把预定义的字符转换为 HTML 实体
  6. Android 创建,删除,检测桌面快捷方式
  7. [设计模式] - 策略模式(Java篇)
  8. 【转】雷军自曝创业第一年:掏自己的钱创业成功率最高
  9. 剑指offer 面试题63. 股票的最大利润
  10. 软工第一次个人作业博客(一)
  11. 技术创造新商业:云研发时代的效能挑战 | 凌云时刻
  12. 抗癌中草药彩色图谱——西洋参
  13. python问题:only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolea
  14. Odoo 16 企业版手册 - 库存管理之产品类别
  15. vasp 模拟退火_VASP 计算问题小结
  16. 网站优化关键词排名不进不退该怎么办
  17. Nginx反向代理失效及原因排查
  18. #Arduino,去抖动
  19. 女编程员的生涯_编程生涯中他们从没告诉过你的7件事
  20. [ZZULI]1064: 加密字符

热门文章

  1. 今天的快乐从何而来的飞鸽传书
  2. 分别标记区段的 飞鸽传书 左、右端
  3. 飞秋官方下载 这个程序很不错
  4. 程序员谈谈我的职场观(三)
  5. javascript事件机制与jQuery.bind的补充说明
  6. 飞鸽传书谈哈希表之数学原理
  7. 【IPC-钩子】WM_COPYDATA和鼠标钩子小程序
  8. Python基本语法,python入门到精通
  9. 17个Python的牛逼骚操作,你都OK吗?
  10. 这一年里,你一共写了34万行代码