点上方蓝字计算机视觉联盟获取更多干货

在右上方 ··· 设为星标 ★,与你不见不散

仅作学术分享,不代表本公众号立场,侵权联系删除

转载于:作者:Vikas S Shetty  |  编译:ronghuaiyang  | AI公园

AI博士笔记系列推荐

周志华《机器学习》手推笔记正式开源!可打印版本附pdf下载链接

导读

模型集成是一种提升模型能力的常用方法,但也会带来推理时间的增加,在物体检测上效果如何,可以看看。

介绍

集成机器学习模型是一种常见的提升模型能力的方式,并已在多个场景中使用,因为它们结合了多个模型的决策,以提高整体性能,但当涉及到基于DNN(深度神经网络)的目标检测模型时,它并不仅仅是合并结果那么简单。

集成的需求

为了在任何模型中获得良好的结果,都需要满足某些标准(数据、超参数)。但在真实场景中,你可能会得到糟糕的训练数据,或者很难找到合适的超参数。在这些情况下,综合多个性能较差的模型可以帮助你获得所需的结果。在某种意义上,集成学习可以被认为是一种通过执行大量额外计算来弥补学习算法不足的方法。另一方面,另一种选择是在一个非集成系统上做更多的学习。对于计算、存储或通信资源的相同增加,集成系统使用两种或两种以上的方法可能会比使用单一方法增加资源的方法更有效地提高整体精度。

看起来挺好,有没有缺点呢?

  • 更难调试或理解预测,因为预测框是根据多个模型绘制的。

  • 推理时间根据模型和使用的模型数量而增加。

  • 尝试不同的模型以获得合适的模型集合是一件耗时的事情。

不同的模型集成

  1. OR方法:如果一个框是由至少一个模型生成的,就会考虑它。

  2. AND方法:如果所有模型产生相同的框,则认为是一个框(如果IOU >0.5)。

  3. 一致性方法:如果大多数模型产生相同的框,则认为是一个框,即如果有m个模型,(m/2 +1)个模型产生相同的框,则认为这个框有效。

  4. 加权融合:这是一种替代NMS的新方法,并指出了其不足之处。

不同的集成方法

在上面的例子中,OR方法的预测得到了所有需要的对象框,但也得到了一个假阳性结果,一致性的方法漏掉了马,AND方法同时漏掉了马和狗。

验证

为了计算不同的集成方法,我们将跟踪以下参数:

  1. True positive:预测框与gt匹配

  2. False Positives:预测框是错误的

  3. False Negatives:没有预测,但是存在gt。

  4. Precision:度量你的预测有多准确。也就是说,你的预测正确的百分比[TP/ (TP + FP)]

  5. Recall:度量gt被预测的百分比[TP/ (TP + FN)]

  6. Average Precision:precision-recall图的曲线下面积

使用的模型

为了理解集成是如何起作用的,我们提供了用于实验的独立模型的结果。

1. YoloV3:

2. Faster R-CNN — ResNeXt 101 [X101-FPN]:

集成实验

1. OR — [YoloV3, X101-FPN]

如果你仔细观察,FPs的数量增加了,这反过来降低了精度。与此同时,TPs数量的增加反过来又增加了召回。这是使用OR方法时可以观察到的一般趋势。

2. AND — [YoloV3, X101-FPN]

与我们使用OR方法观察到的情况相反,在AND方法中,我们最终获得了较高的精度和较低的召回率,因为几乎所有的假阳性都被删除了,因为YoloV3和X101的大多数FPs是不同的。

检测框加权融合

在NMS方法中,如果框的IoU大于某个阈值,则认为框属于单个物体。因此,框的过滤过程取决于这个单一IoU阈值的选择,这影响了模型的性能。然而,设置这个阈值很棘手:如果有多个物体并排存在,那么其中一个就会被删除。NMS丢弃了冗余框,因此不能有效地从不同的模型中产生平均的局部预测。

NMS和WBF之间的主要区别是,WBF利用所有的框,而不是丢弃它们。在上面的例子中,红框是ground truth,蓝框是多个模型做出的预测。请注意,NMS是如何删除冗余框的,但WBF通过考虑所有预测框创建了一个全新的框(融合框)。

3. Weighted Boxes Fusion — [Yolov3, X101-FPN]

YoloV3和X101-FPN的权重比分别为2:1。我们也试着增加有利于X101-FPN的比重(因为它的性能更好),但在性能上没有看到任何显著的差异。从我们读过的加权融合论文中,作者注意到了AP的增加,但如你所见,WBF YoloV3和X101-FPN并不比OR方法好很多。我们注意到的是,大部分的实验涉及至少3个或更多模型。

4. Weighted Boxes Fusion — [Yolov3, X101, R101, R50]

在最后的实验中,我们使用了YoloV3以及我们在Detectron2中训练的3个模型[ResNeXt101-FPN, ResNet101-FPN, ResNet50-FPN]。显然,召回率有一个跳跃(约为传统方法的0.3),但AP的跳跃并不大。另外,需要注意的是,当你向WF方法添加更多模型时,误报的数量会激增。

总结

当使用相互补充的模型时,集成是提高性能的一种很好的方法,但它也会以速度为代价来完成推理。根据需求,可以决定有多少个模型,采用哪种方法,等等。但从我们进行的实验来看,性能提升的数量似乎与一起运行这些模型所需的资源和推断时间不成比例。

英文原文:https://medium.com/inspiredbrilliance/object-detection-through-ensemble-of-models-fed015bc1ee0

end

我是王博Kings,一名985AI博士,在Github上开源了机器学习、深度学习等一系列手推笔记,获得了不少同学的支持。

这是我的私人微信,还有少量坑位,可与相关学者研究人员交流学习 

目前开设有人工智能、机器学习、计算机视觉、自动驾驶(含SLAM)、Python、求职面经、综合交流群扫描添加CV联盟微信拉你进群,备注:CV联盟

王博Kings 的公众号,欢迎关注,干货多多

王博Kings的系列手推笔记(附高清PDF下载):

博士笔记 | 周志华《机器学习》手推笔记第一章思维导图

博士笔记 | 周志华《机器学习》手推笔记第二章“模型评估与选择”

博士笔记 | 周志华《机器学习》手推笔记第三章“线性模型”

博士笔记 | 周志华《机器学习》手推笔记第四章“决策树”

博士笔记 | 周志华《机器学习》手推笔记第五章“神经网络”

博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(上)

博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(下)

博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(上)

博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(下)

博士笔记 | 周志华《机器学习》手推笔记第八章集成学习(上)

博士笔记 | 周志华《机器学习》手推笔记第八章集成学习(下)

博士笔记 | 周志华《机器学习》手推笔记第九章聚类

博士笔记 | 周志华《机器学习》手推笔记第十章降维与度量学习

博士笔记 | 周志华《机器学习》手推笔记第十一章特征选择与稀疏学习

博士笔记 | 周志华《机器学习》手推笔记第十二章计算学习理论(上)

博士笔记 | 周志华《机器学习》手推笔记第十二章计算学习理论(下)

博士笔记 | 周志华《机器学习》手推笔记第十三章半监督学习

博士笔记 | 周志华《机器学习》手推笔记第十四章概率图模型

点个在看支持一下吧

收藏 | 目标检测的模型集成与实验相关推荐

  1. 目标检测多模型集成方法总结

    本文转载自AI公园. 前段时间推送了文章:难以置信的目标检测小妙招:多训练几个epochs,平均一下就能获得更好的模型 ,不少朋友对模型集成感兴趣,本文是个小总结. 作者:Vikas S Shetty ...

  2. 中科院自动化所与华为联合提出!视觉目标检测大模型GAIA

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 中 ...

  3. CVPR 2021 | 视觉目标检测大模型GAIA:面向行业的视觉物体检测一站式解决方案

    作者丨常清 编辑丨机器之心 中国科学院自动化研究所智能感知与计算研究中心联合华为等企业提出面向行业的视觉物体检测一站式解决方案 GAIA. 在深度学习与大数据的浪潮下,视觉目标检测在各个基准数据集上已 ...

  4. 目标检测 YOLOv5 - 模型的样子

    目标检测 YOLOv5 - 模型的样子 flyfish 文章目录 目标检测 YOLOv5 - 模型的样子 开始加载模型文件 模型的层 模型的属性 模块的名称以及模块本身 模型的权重 模型权重的名字和权 ...

  5. 2021年 遥感图像目标检测SOTA模型及排行榜

    2021年 遥感图像目标检测SOTA模型及排行榜 本文禁止转载!!! Baseline: DOTA1.0 (Task1) DOTA1.0 (Task2) 可视化 不同模型性能(mAP+文章+源码): ...

  6. 《基于海思35xx nnie引擎进行经典目标检测算法模型推理》视频课程介绍

    前言 沉寂两个月,终于将新的视频课程<<基于海思35xx nnie引擎进行经典目标检测算法模型推理>>(其链接为https://edu.csdn.net/course/deta ...

  7. 目标检测算法模型YOLOV3原理及其实战 课程简介

    前言 在移植目标检测算法模型到海思AI引擎上运行的过程中,深切感受到理解和掌握算法模型原理的重要性. 基于此,我出了一门专门来讲目标检测算法模型原理及实战的课程.虽然讲的是YOLOV3模型,但是对理解 ...

  8. 3D目标检测SE-SSD 模型工程化复现

    3D目标检测SE-SSD 模型工程化复现 3d目标检测se-ssd模型代码偏比赛,记录工程化中的一些问题 1.环境适配 pytorch: 1.7 cuda:10.2 cudnn:8.0 显卡:RTX3 ...

  9. (一)目标检测-R-CNN模型

    目标检测-R-CNN模型 在CVPR 2014年中Ross Girshick提出R-CNN. 1.1 完整R-CNN结构 不使用暴力方法,而是用候选区域方法(region proposal metho ...

最新文章

  1. android scrollview 布局,Android scrollview实现底部继续拖动查看图文详情
  2. 《C语言及程序设计》程序阅读——文件操作
  3. idea + Maven + Spring + myBatis的单元测试
  4. 服务器删除网站文章,如何一次性删除wordpress所有文章
  5. node JS 微信开发
  6. ip 地址 192.168.1.255 代表( )。_ip地址基础入门知识
  7. 动画 制作_您希望制作的10个醒目的徽标动画
  8. java 根据类名示例化类_Java类类getEnclosingClass()方法及示例
  9. Notepad++插件Base64编解码
  10. 读懂Java代码总结
  11. 主题模型TopicModel:PLSA模型及PLSA的EM推导
  12. WiFi之协议栈要点
  13. vue PC端项目页面做rem布局(大屏展示)
  14. 中学物理奥林匹克竞赛竞赛大纲
  15. CSS3实现精美的纸张折角效果 -- 进阶版
  16. 【原创】EJB开发基础——EJB规范
  17. 写邮件的格式:加开头结尾,以示尊重
  18. java错误 找不到或无法加载主类_JAVA报找不到或无法加载主类的错误
  19. NCCL源码解析②:Bootstrap网络连接的建立
  20. 1.1XAF框架开发视频教程-简单的订单管理实现过程,视频,提纲,及教程源码

热门文章

  1. php多个地方ping,同时ping多个ip找了最快的ip网的php实例-PHP源码
  2. 双光子荧光成像_在不影响分辨率的情况下,成功将双光子显微镜成像速度提高5倍!...
  3. c2c旅游springboot开源_7个开源的 Spring Boot 前后端分离项目,一定要收藏!
  4. 我的世界末日求生系列服务器,末日生存 少年pi
  5. python中main的含义及用法_python中main函数的用法
  6. c语言函数简单注释模板,C语言中的Doxygen注释模板
  7. ubuntu20下lnmp环境nextcloud安装
  8. sqlserver连接oracle(通过ODBC)
  9. 2018网络统考计算机英语报名时间,2018年秋网络教育统考大学英语(B)考试样卷...
  10. java编程顺序,Java种的完整构造执行顺序(转)