目标检测的模型集成方法及实验
点击上方“计算机视觉工坊”,选择“星标”
干货第一时间送达
作者:Vikas S Shetty
编译:ronghuaiyang (AI公园)
导读
模型集成是一种提升模型能力的常用方法,但也会带来推理时间的增加,在物体检测上效果如何,可以看看。
介绍
集成机器学习模型是一种常见的提升模型能力的方式,并已在多个场景中使用,因为它们结合了多个模型的决策,以提高整体性能,但当涉及到基于DNN(深度神经网络)的目标检测模型时,它并不仅仅是合并结果那么简单。
集成的需求
为了在任何模型中获得良好的结果,都需要满足某些标准(数据、超参数)。但在真实场景中,你可能会得到糟糕的训练数据,或者很难找到合适的超参数。在这些情况下,综合多个性能较差的模型可以帮助你获得所需的结果。在某种意义上,集成学习可以被认为是一种通过执行大量额外计算来弥补学习算法不足的方法。另一方面,另一种选择是在一个非集成系统上做更多的学习。对于计算、存储或通信资源的相同增加,集成系统使用两种或两种以上的方法可能会比使用单一方法增加资源的方法更有效地提高整体精度。
看起来挺好,有没有缺点呢?
更难调试或理解预测,因为预测框是根据多个模型绘制的。
推理时间根据模型和使用的模型数量而增加。
尝试不同的模型以获得合适的模型集合是一件耗时的事情。
不同的模型集成
OR方法:如果一个框是由至少一个模型生成的,就会考虑它。
AND方法:如果所有模型产生相同的框,则认为是一个框(如果IOU >0.5)。
一致性方法:如果大多数模型产生相同的框,则认为是一个框,即如果有m个模型,(m/2 +1)个模型产生相同的框,则认为这个框有效。
加权融合:这是一种替代NMS的新方法,并指出了其不足之处。
不同的集成方法
在上面的例子中,OR方法的预测得到了所有需要的对象框,但也得到了一个假阳性结果,一致性的方法漏掉了马,AND方法同时漏掉了马和狗。
验证
为了计算不同的集成方法,我们将跟踪以下参数:
True positive:预测框与gt匹配
False Positives:预测框是错误的
False Negatives:没有预测,但是存在gt。
Precision:度量你的预测有多准确。也就是说,你的预测正确的百分比[TP/ (TP + FP)]
Recall:度量gt被预测的百分比[TP/ (TP + FN)]
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
本文仅做学术分享,如有侵权,请联系删文。
下载1
在「计算机视觉工坊」公众号后台回复:深度学习,即可下载深度学习算法、3D深度学习、深度学习框架、目标检测、GAN等相关内容近30本pdf书籍。
下载2
在「计算机视觉工坊」公众号后台回复:计算机视觉,即可下载计算机视觉相关17本pdf书籍,包含计算机视觉算法、Python视觉实战、Opencv3.0学习等。
下载3
在「计算机视觉工坊」公众号后台回复:SLAM,即可下载独家SLAM相关视频课程,包含视觉SLAM、激光SLAM精品课程。
重磅!计算机视觉工坊-学习交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近3000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、可答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~
目标检测的模型集成方法及实验相关推荐
- 目标检测多模型集成方法总结
本文转载自AI公园. 前段时间推送了文章:难以置信的目标检测小妙招:多训练几个epochs,平均一下就能获得更好的模型 ,不少朋友对模型集成感兴趣,本文是个小总结. 作者:Vikas S Shetty ...
- 收藏 | 目标检测的模型集成与实验
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者:Vikas S Shetty | 编译:rongh ...
- 中科院自动化所与华为联合提出!视觉目标检测大模型GAIA
点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 中 ...
- 常见深度学习模型集成方法
点击上方"计算机视觉工坊",选择"星标" 干货第一时间送达 历届kaggle竞赛冠军的做法,或简单或复杂,其最后一步必然是集成学习,尽管现有的模型已经很强大了, ...
- CVPR 2021 | 视觉目标检测大模型GAIA:面向行业的视觉物体检测一站式解决方案
作者丨常清 编辑丨机器之心 中国科学院自动化研究所智能感知与计算研究中心联合华为等企业提出面向行业的视觉物体检测一站式解决方案 GAIA. 在深度学习与大数据的浪潮下,视觉目标检测在各个基准数据集上已 ...
- 目标检测算法模型YOLOV3原理及其实战 课程简介
前言 在移植目标检测算法模型到海思AI引擎上运行的过程中,深切感受到理解和掌握算法模型原理的重要性. 基于此,我出了一门专门来讲目标检测算法模型原理及实战的课程.虽然讲的是YOLOV3模型,但是对理解 ...
- (一)目标检测-R-CNN模型
目标检测-R-CNN模型 在CVPR 2014年中Ross Girshick提出R-CNN. 1.1 完整R-CNN结构 不使用暴力方法,而是用候选区域方法(region proposal metho ...
- 目标检测 YOLOv5 - 模型的样子
目标检测 YOLOv5 - 模型的样子 flyfish 文章目录 目标检测 YOLOv5 - 模型的样子 开始加载模型文件 模型的层 模型的属性 模块的名称以及模块本身 模型的权重 模型权重的名字和权 ...
- 2021年 遥感图像目标检测SOTA模型及排行榜
2021年 遥感图像目标检测SOTA模型及排行榜 本文禁止转载!!! Baseline: DOTA1.0 (Task1) DOTA1.0 (Task2) 可视化 不同模型性能(mAP+文章+源码): ...
- 《基于海思35xx nnie引擎进行经典目标检测算法模型推理》视频课程介绍
前言 沉寂两个月,终于将新的视频课程<<基于海思35xx nnie引擎进行经典目标检测算法模型推理>>(其链接为https://edu.csdn.net/course/deta ...
最新文章
- 【运筹学】线性规划 人工变量法 ( 人工变量法案例 | 第三次迭代 | 中心元变换 | 检验数计算 | 最优解判定 )
- android 静态注册wifi广播,Android中BroadcastReceiver详解
- USACO-Section1.6 Prime Palindromes(素数和回文数)
- 【C语言深入】[001] static 关键字:
- html模态窗口调试,在模态窗口中显示HTML标记
- java 与 数据库的连接
- Linux基础命令---间歇性执行程序watch
- Selenium爬虫 -- WebDriver多标签页创建与切换
- JZOJ5775 农夫约的假期
- 学无止境的 Linux | 龙蜥开发者说第4期
- DTW(动态时间归整)算法的前世今生
- Windows系统修改Docker镜像下载地址
- Mac Book Pro中idea常用快捷键
- 怎样背英语单词才高效?
- LayuiAdmin+TP5.1 数据表格添加数据详解
- 计算机组装维修设置还原点,电脑组装、维护与故障排除
- 手机QQ后台清理不掉的秘密——anddroid悬浮窗
- ps如何快速消除黑眼圈或者眼袋
- 一起飞系列之:腾讯云配置Ubuntu16.04, Nginx, PHP 7, MySql, PhpMyAdmin, 域名
- linux如何查看tlb大小,TLB缓存是个神马鬼,如何查看TLB miss?