前言

本文主要记录了在使用目标检测算法的过程中遇到的问题以及不同算法的实测结果。
      因为自己的显卡不太行,所以下面没有特别标注的话,都是在MX150入门级显卡上的效果。
      如果在文中发现什么问题的话欢迎指正

faster-rcnn

首先就是我最开始接触的faster-rcnn目标检测算法,faster-rcnn是一个two-stage的检测算法,也就是把检测问题分成了两个阶段,第一个阶段是生成候选区域,第二个阶段是对候选区域位置进行调整以及分类。这种方法的识别错误率低,但是速度很慢,很难达到我想要的实时检测的效果。
      预测速度差不多稳定在0.7fps。如果将参数调整一下,减少候选框数量,准确率会下降百分之四左右(网上看到的,没有实测),速度可以达到2fps左右。但是这个速度对于实时检测来说还是很慢。

yolov4

因为faster-rcnn速度达不到想要的效果,所以决定使用one-stage算法。one-stage算法就是跳过第一阶段的生成获选区域,直接产生物体的类别概率和位置坐标值,经过单次检测直接得到最终的检测结果。选来选去找到个效果相对更好的yolov4(没有实测,不一定是最好,只是看了些别人写的那种算法比较的文章)。
      yolov4的话速度相比于faster-rcnn来说就要快很多了,实测效果大概能稳定在2.4fps左右,用个中等显卡差不多能达到20fps。并且因为yolov4的特征提取层采用了特征金字塔+下采样的结构以及训练时采用Mosaic数据增强的方法,所以对于小目标检测也有着不错的效果。

yolov4-tiny

本来已经差不多确定下使用yolov4了,但是后面想想还是需要做出一个好看的效果。因此我又选择了yolov4-tiny。顾名思义yolov4-tiny就是yolov4的简化版。在特征提取时没有采用Mish激活函数,并且在特征加强层只采用了一个特征金字塔,没有像yolov4那样再进行下采样。
      yolov4的训练参数有64363101个,而yolov4-tiny只有5918006个,比yolov4少了十倍。因此yolov4-tiny加载模型的速度上也是更快的。
      yolov4-tiny实测速度大概在22fps左右,在中等点的显卡上速度差不多能达到几百。我看到个在1080ti上的效果是在300fps+。这速度是非常快的。
      当然更少的参数以及更快的速度都是用准确率换的。因为yolov4-tiny只选择了两层来送入特征金字塔。所以对于小物体检测,以及两个目标在一起(一个目标将另一个目标遮挡了一部分是很难检测到的)如图一。
      其它的对于独立的物体检测的效果感觉还是不错的,如图二。

关于算法改进可以参考一下这里

几个目标检测算法的比较——yolov4,yolov4-tiny,faster-rcnn相关推荐

  1. 目标检测算法图解:一文看懂RCNN系列算法

    在生活中,经常会遇到这样的一种情况,上班要出门的时候,突然找不到一件东西了,比如钥匙.手机或者手表等.这个时候一般在房间翻一遍各个角落来寻找不见的物品,最后突然一拍大脑,想到在某一个地方,在整个过程中 ...

  2. 语言模型“不务正业”做起目标检测,性能还比DETR、Faster R-CNN更好 | Hinton团队研究...

    博雯 发自 凹非寺 量子位 报道 | 公众号 QbitAI 长期以来,CNN都是解决目标检测任务的经典方法. 就算是引入了Transformer的DETR,也是结合CNN来预测最终的检测结果的. 但现 ...

  3. 修订版 | 目标检测:速度和准确性比较(Faster R-CNN,R-FCN,SSD,FPN,RetinaNet和YOLOv3)...

    很难在不同的目标检测器之间进行公平的比较.对于哪个模型是最好的?这个问题是没有直接的答案.对于现实生活中的应用,我们选择平衡准确性和速度.除了检测器类型外,我们还需要了解影响性能的其他选择: Feat ...

  4. YOLOv3目标检测算法——通俗易懂的解析

    目录 YOLOv3目标检测算法 前沿 一.YOLOv3 二.损失函数 YOLOv3目标检测算法 前沿 前两篇文章我们讲了下关于YOLOv1和YOLOv2的原理,有不懂的小伙伴可以回到前面再看看: YO ...

  5. keras faster物体检测_全网 | 深度学习目标检测算法(精选12篇)

    太多的公众号每天的文章是否让你眼花缭乱?刷了好多文章,发现大都是转来转去?今天我在全网公众号里为大家精选主题为深度学习目标检测算法的文章12篇,其中包括综述,R-CNN,SPP-Net,Fast R- ...

  6. 目标检测算法综述—— One-Stage方法

    目录 1.概述 2.目标检测算法 2.1.SSD 2.2.DSSD 2.3.YOLO V1 2.4.YOLO V2 2.5.YOLO V3 2.6.RetinaNet 研究背景 主要贡献 二分类的交叉 ...

  7. R-CNN系列目标检测算法对比

    引言 对比了R-CNN,Fast R-CNN,Faster R-CNN,Mask R-CNN目标检测算法的发展过程与优缺点. R-CNN R-CNN是第一个成功第将深度学习应用到目标检测的算法.后面的 ...

  8. 目标检测算法YOLOv4详解

    YOLOv4是精度速度最优平衡, 各种调优手段是真香,本文主要从以下几个方面进行阐述: YOLOv4介绍 YOLOv4框架原理 BackBone训练策略 BackBone推理策略 检测头训练策略 检测 ...

  9. 深度剖析目标检测算法YOLOV4

    深度剖析目标检测算法YOLOV4 目录 简述 yolo 的发展历程 介绍 yolov3 算法原理 介绍 yolov4 算法原理(相比于 yolov3,有哪些改进点) YOLOV4 源代码日志解读 yo ...

最新文章

  1. git常见使用场景总结
  2. boost::contract模块实现volatile的测试程序
  3. cdoj 1150 排名表 拓扑排序
  4. java quartz 教程_Quartz视频教程
  5. Toolbar的简单使用和封装
  6. Linux程序员必读:中文化与GB18030标准
  7. 华为92家核心供应商名单公布
  8. 对linux信号量的理解以及实现
  9. 广义表存储结构图的绘制
  10. 入门软件测试--功能测试
  11. SAP Portfolio Analyzer 中 索提诺比率(Sortino Ratio)
  12. java使用axis实现webservice接口调用
  13. 每日一句: I don't think it's necessary for you to give up
  14. 互联网 Web 技术发展史
  15. 【杭电数电实验】verilog入门指北
  16. A Multi-task Ensemble Framework for Emotion, Sentiment and Intensity Prediction
  17. 【产业互联网周报】互联网集体进入调整期:张勇兼任阿里云总裁,卢伟冰晋升小米集团总裁,小鹏组织架构调整;...
  18. UBUNTU ROS 编译后无法rosrun package文件(已解决)
  19. matlab程序神经网络的,matlab 通用神经网络代码(转)
  20. 国产Excel开发组件Spire.XLS【转换】教程(4):C#/VB.NET:将 Excel 转换为图像

热门文章

  1. 上火有多种 “灭火”要对症
  2. 华为linux磁盘空间,华为推出EROFS文件系统,磁盘性能大提速
  3. 北京华联BHG Mall持续发力,BHG DAY引领城市消费新热潮
  4. Endnote新手使用指南——终于解决EndNote困扰我一晚上的难题,其实很简单!
  5. 大数据java篇——集合类
  6. 圆环进度条 两种实现方式
  7. 【Linux】NanoPi-NEO2外接spi-lcd
  8. 最新微信知识付费小程序源码吾爱纯净版+带教程
  9. 解析增量xml数据到数据库
  10. python在新的图片窗口显示图片(图像)