论文地址:https://openaccess.thecvf.com/content/ACCV2020/papers/Zhang_Localize_to_Classify_and_Classify_to_Localize_Mutual_Guidance_in_ACCV_2020_paper.pdf

源代码地址:https://github.com/ZHANGHeng19931123/MutualGuide

最小模型60m,其他都是300多m。

目标检测一般包括分类和回归两个子任务。在模型训练的过程中,我们依据回归任务的预测结果动态分配分类任务的标签,同时利用分类任务的预测结果来分配回归任务的标签,以此达到相互指导、左右互搏的效果。

一、背景

有监督的目标检测是计算机视觉中的一项流行任务,旨在通过边界框定位目标并将它们中的每一个分配给预定义的类。基于深度学习的方法在很大程度上主导了这个研究领域,最近的方法都是基于Anchor机制的。Anchors是在整个图像上均匀堆叠的不同大小和纵横比的预定义参考框。它们通过将目标检测问题转换为基于Anchor的边界框回归和分类问题,帮助网络处理目标尺寸和形状变化。大多数最先进的基于Anchor的目标检测器采用预定义的Anchor boxes和GT框(以下称为 IoU-anchor)之间的交集(IoU)来将样本Anchor分配给目标(正样本Anchor)或背景(负样本Anchor)类别。然后使用这些分配的Anchors来最小化训练期间的边界框回归和分类损失。

Anchor A和Anchor B与框GT具有相同的IoU,但具有不同的视觉语义信息。每个图像中的真实情况标记为虚线框。

基于深度学习的目标检测涉及两个子任务:实例定位和分类。这两个任务的预测分别告诉我们图像上的“位置”和“什么”目标。在训练阶段,两个任务都通过梯度下降联合优化,但是静态Anchor匹配策略并没有明确受益于两个任务的联合解决方案,这可能会导致任务错位问题,即在评估阶段 ,该模型可能会生成具有正确分类但不精确定位的边界框的预测,以及具有精确定位但错误分类的预测。这两种预测都显着降低了整体检测质量。

二、前言

为了解决现有基于IoU-anchor策略的这两个局限性,研究者提出了一种新的自适应Anchor匹配准则,由定位和分类任务相互指导,动态分配训练Anchor样本为优化分类,反之亦然。特别是,将定位良好的Anchor限制为也很好分类(定位到分类),以及那些分类良好的Anchor也很好定位(分类到定位)。这些策略导致内容/上下文敏感的Anchor匹配并避免任务错位问题。尽管所提出的策略很简单,但在PASCAL VOC和MS COCO数据集上,尤其是在严格的指标(如AP75)上,Mutual Guidance与具有不同深度学习架构的传统静态策略相比,带来了一致的平均精度 (AP) 增益。

新提出的方法有望在需要精确实例定位的应用程序上更有效,例如自动驾驶、机器人、户外视频监控等。

三、新框架

传统的Anchor通常是预先定义了一组Anchor的aspect ratio,在实际的滑窗训练过程中先用二分类模型判断这些Anchor的框内有没有物体,并根据设定的阈值将sample标注为positive或者negative或者ignored,然后进行bonding box回归进行refine,最后做多分类再回归调整位置。

这里作者将预定义的Anchor和GT的IoU叫做IoU-anchor,IoU-anchor大于50%的作为positive,小于40%作为negative,其他作为ignored samples。如果没有Anchor的大于50%,那就选最大的IoU的那个作为positive。如下图所示:

  • 定位到分类(Localize to Classify)

动态设置述分类方法中正负样本的阈值。因为随着训练进行,正样本变多(因为二分类模型能力逐渐增强,但是阈值没变),作者认为这样会导致训练不稳定。

于是作者将拟将分类模型的分类能力纳入阈值设置考量范围以动态设置阈值:在根据IoU-regressed标注确定正负样本的时候不再直接采用固定阈值,而是根据IoU-anchor中的正样本数量n来选取IoU-regressed的前n个样本标注为positive,其他negative和ignored同理。

这种策略能够随着定位能力提高而提高,同时也保持了训练过程中正负样本分配的一致性!

  • 分类到定位(Classify to localize)

在分类早期,模型处于初始状态,大多数分类的结果都接近于0,存在类似于推荐系统的冷启动问题同时也可能使得训练不稳定,所以研究者定义了一个Classify to localize的策略来避免这种问题。

首先作者定义了一个IoU-amplified用于替换传统的IoU-regressed,其表达式如下:

其中σ是超参用于调整的增强系数,p是分类得分。此外,这一部分也采用了类似于前面定位到分类部分动态阈值设置的策略来设置这里的正样本阈值。

显然开始时与GT的iou较大的anchor box置信度一般更高,被选中的概率也更高;当iou相同时,置信度p较高的anchor得到的IOUamplified也更大。上图的第四列是直接预测的置信度,第五列是amplified之后的score。可以发现amplified后的结果与iou和p都有关。

IoU-amplifed总是高于IoU-anchor,并且amplification与预测的Classif分数成正比。特别是σ越小amplification越强(注意σ要大于1),σ变大时就消失。

通过这种交互作用,训练过程能够让回归好分类差的Anchor尽可能地提升分类精度,同样让分类好但回归差的Anchor尽可能地提升回归精度,从而一定程度解决 task-misalignment问题。

四、实验及可视化

训练阶段标签分配差异的可视化(图像大小设置为320×320像素)。红色、黄色和绿色Anchor框分别是由基于IoU-anchor、Localize to Classify和Classify to Localize分配的正样本Anchor。

LCCL网络:相互指导博弈来提升目标检测精度(附源代码)相关推荐

  1. 旋转目标检测 | 基于高斯Wasserstein距离损失的目标检测(附源代码)

    计算机视觉研究院专栏 作者:Edison_G 公众号ID|ComputerVisionGzq 学习群|扫码在主页获取加入方式 源码获取|扫码回复"GWD"获取源码 边界不连续及其与 ...

  2. 无卷积骨干网络:金字塔Transformer,提升目标检测/分割等任务精度(附源代码)

    论文地址:https://arxiv.org/pdf/2102.12122.pdf 源代码地址:https://github.com/whai362/PVT 具有自注意力的Transformer引发了 ...

  3. ICCV2021最佳检测之一:主动学习框架较大提升目标检测精度(附论文下载)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨Edison_G 来源丨计算机视觉研究院 新框架优于基于单模型的方法,并且以一小部分计算成本与基 ...

  4. IoU优化——在Anchor-Free中提升目标检测精度(附源码)

    计算机视觉研究院专栏 作者:Edison_G 目前的anchor-free目标检测器非常简单和有效,但缺乏精确的标签分配方法,这限制了它们与经典的基于Anchor的模型竞争的潜力 公众号ID|Comp ...

  5. CVPR:IoU优化——在Anchor-Free中提升目标检测精度(附源码)

    计算机视觉研究院专栏 作者:Edison_G 目前的anchor-free目标检测器非常简单和有效,但缺乏精确的标签分配方法,这限制了它们与经典的基于Anchor的模型竞争的潜力 公众号ID|Comp ...

  6. 图像自适应YOLO:模糊环境下的目标检测(附源代码)

    关注并星标 从此不迷路 计算机视觉研究院 公众号ID|ComputerVisionGzq 学习群|扫码在主页获取加入方式 论文获取|回复"IAYOLO"获取paper 源代码:ht ...

  7. Label Assign综述:提升目标检测上限

    原文链接:https://bbs.cvmart.net/topics/2960 专注计算机视觉前沿资讯和技术干货 微信公众号:极市平台 官网:https://www.cvmart.net/ 最近因为A ...

  8. 提升目标检测模型性能的tricks

    提升目标检测模型性能的tricks bag of freebies pixel-wise调整 几何畸变 光照变化 遮挡 Random Erase CutOut Hide-and-Seek Grid M ...

  9. CVPR小目标检测:上下文和注意力机制提升小目标检测(附论文下载)

    计算机视觉研究院专栏 作者:Edison_G CVPR21文章我们也分享了很多最佳的框架,在现实场景中,目标检测依然是最基础最热门的研究课题,尤其目前针对小目标的检测,更加吸引了更多的研究员和企业去研 ...

最新文章

  1. mlcc激光雷达与相机外参标定初体验
  2. 找Java培训机构需要注意那些
  3. Django models Form model_form 关系及区别
  4. matlab 读取nc
  5. mysql 回滚段 表空间_oracle回滚段和回滚表空间
  6. a challengefor the 2 hour course
  7. windows 2003 网络负载平衡设置实战
  8. [Vue.js]实战 -- 电商项目(六)
  9. 小甲鱼python二_小甲鱼python第二讲课后习题
  10. 如何快速找到微信支付的商户号和商户密钥?望相互转告!
  11. java 临时文件_Java临时文件
  12. IPHONE能否成为圣剑?助苹果斩杀群雄!
  13. Clickhouse外部储存表引擎(HDFS、MySQL、JDBC、Kafka、File)
  14. GRAIL Efficient Time Series Representation Learning论文阅读笔记(一)
  15. shader 雪 顶点位移_游戏雪天效果·积雪的厚度
  16. 产品上ref和lot是什么意思_试剂盒REF与LOT分别是什么意思
  17. Linux升级gcc到最新版本--gcc-9.1.0
  18. 华为智能汽车产业研究与投资机会分析
  19. 【ict云赛道备考】华为云介绍
  20. 白居易:琵琶行 演唱:肖婵娟

热门文章

  1. 远程线程注入引出的问题
  2. Linux内核2.6的进程调度
  3. 关于Debug和Release之本质区别的讨论
  4. Android中自定义控件
  5. 深入理解Linux修改hostname
  6. 绝地求生服务器延迟高低排序,绝地求生:延迟不可怕,大神教你如何高ping吃鸡!...
  7. ecs加解密_ECS云盘加密
  8. phpinfo查看可以解析的后缀_配置nginx,Apache支持pathinfo模式-什么是phpinfo模式
  9. Linux-2.6设备模型与sysfs文件系统
  10. 陈老师Linux内核内存寻址导学