目标检测算法中的常见trick

最近忙着打比赛,感觉看论文也很难静下心来了。基本上看得相当匆忙,主要还是以应用为主。上周压力比较大,没有来得及更新,感觉再不更就说不过去了。

因为比赛比较追求performance,所以想着把以前看到的一些trick或者还不够了解的trick稍作整理,以后发现新的就更新到这里。像BN和dropout的使用或者align、fpn这些常见的or偏向算法层面的就不提了。主要还是探讨一些DL算法以外的东西吧。

另外因为个人还是见识不够,所以希望大家能在评论里多多留言补充讨论。

目录如下:Data Augmentation

OHEM

Soft NMS

Multi Scale Training/Testing

Data Augmentation

中文来说叫数据增广,数据增广可以增加数据集的数量和多样性,从而提升算法的最终效果。卷积具有平移不变性,因此数据增广一般使用的是更为复杂的策略,例如翻转、旋转或者裁切、放缩。下面说的Multi Scale Training其实也可以看做数据增广的一种。

考虑到实现的方便性,目前比较常见的实现一般是随机对图像进行翻转,网络允许的话,也会加入一些随机放缩到一组特定尺寸中的某个。

裁切倒是在SSD里看过,但是据说这部分源码实现比较混乱,有兴趣的不妨研究下。

OHEM

即online hard example mining,从名字也可以看出它和Hard Negative Mining有一定的关系。这里给出R-FCN论文中对它的描述:

概况地说,OHEM不是随机选择正负样本,而是会对所有RoIs的损失进行评估,选择那些loss大的样本来优化网络。

Soft NMS

NMS想必大家都很熟悉了,对于下图这种情况,NMS可以有效筛除多余的检测框,让结果更加精准

但是另一些情况,NMS会把重叠、贴近的目标筛掉,比如下图中的人和马因为贴的太近,很容易被NMS排除掉一个框……

在这种情况下,Soft NMS就提出了,它们两种算法的区别在于:

可以看到,NMS算法本身是先对得分进行排序,然后从输出结果挑出其中得分最高的放入最终输出的检测结果的部分,接着遍历剩下的框,如果IoU重叠超过某个阈值,就直接排除掉这个框;遍历一次之后,再从剩下的框里按得分排序,挑出得分最高的加入最终输出的结果……如此不断循环直到最后输出结果里所有的框都被挑出来或者排除掉……

Soft NMS本质上只改变了一步,就是IoU如果超过某个阈值,不再是直接排除掉这个框,而是降低它的得分。得分如果低到一定程度就会被排除,但是如果降低后仍然比较高,就有保留下来的机会。

降低分数的方法有线性和高斯:

图像识别ining/Testing

很多网络并不关注输入图像的size,在这种情况下,可以在训练的时候将一张图像随机resize到多个尺寸中的一个进行训练,而测试的时候可以将图像resize各个尺寸,得到不同尺度的框做NMS,思路和图像金字塔比较像。

前者可以有效增加数据的多样性,提高网络的性能。而即使没有使用Multi Scale Training也一样可以使用Multi Scale Testing,一般来说对提升performance也有帮助。

算法的trick_目标检测算法中的常见trick相关推荐

  1. YOLO目标检测算法

    YOLO算法 简介 本文主要介绍YOLO算法,包括YOLOv1.YOLOv2/YOLO9000和YOLOv3.YOLO算法作为one-stage目标检测算法最典型的代表,其基于深度神经网络进行对象的识 ...

  2. 干货|基于深度学习的目标检测算法面试必备(RCNN~YOLOv5)

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者丨不出名的小金@知乎(已授权) 来源丨https://zhuanlan.zhihu.com/p/35406 ...

  3. 学习笔记之——基于深度学习的目标检测算法

    国庆假期闲来无事~又正好打算入门基于深度学习的视觉检测领域,就利用这个时间来写一份学习的博文~本博文主要是本人的学习笔记与调研报告(不涉及商业用途),博文的部分来自我团队的几位成员的调研报告(由于隐私 ...

  4. 卷积网络应用于目标检测算法

    简 介: 目标检测算法作为计算机视觉领域最基本且最具挑战性的任务之一,一直处于研究的热门领域.近年来,随着深度学习和卷积神经网络的兴起,传统的目标检测算法的性能已不能满足现今的指标要求而被基于卷积网络 ...

  5. 目标检测算法发展综述

    目标检测算法 一.目标检测算法 二.目标检测算法存在的问题 三.目标检测算法的基本流程 四.传统的目标检测算法 1.Viola-Jones(VJ人脸检测算法) 2.HOG + SVM(行人检测,使用O ...

  6. 论文阅读笔记 | 目标检测算法——PP-YOLO

    如有错误,恳请指出. 文章目录 1. Introduction 2. Related Work 3. PP-YOLO 3.1 Architecture 3.1.1 Backbone 3.1.2 Det ...

  7. 推荐CVer的总结 | 性能最强的目标检测算法

    前言 趁最近目标检测(Object Detection)方向的论文更新较少,Amusi 赶紧做个"最强目标检测算法"大盘点. https://github.com/amusi/aw ...

  8. 最新目标检测算法回顾2022笔记

    目标检测算法回顾2022笔记[附PPT] 总目录 篇章1:目标检测的应用与需求 篇章2:目标检测的定义与挑战 篇章3:目标检测损失函数的进展 篇章4:目标检测IOU的发展历程 篇章5:目标检测评价指标 ...

  9. 目标检测任务中常用的数据集格式(voc、coco、yolo)

    在目标检测任务中,常见的数据集格式有三种,分别为voc(xml).coco(json).yolo(txt). 一.Pascal VOC Pascal VOC数据集是目标检测的常用的大规模数据集之一,从 ...

最新文章

  1. github创建本地库后关联远程库
  2. 分布式session一致性问题
  3. java如何保存初始化数据_java – 如何在JUnit测试中初始化数据
  4. UDP socket programming in php
  5. window和 linux 在一起 ios和 android在一起 net和js在一起
  6. 怎么配置 Oracle 侦听器来使用SQL操作ST_Geometry
  7. 快速数论变换(NTT)
  8. HBase安装phoenix实战shell操作
  9. MVC+EF 入门教程(四)
  10. Bandicam视频录制技巧总结+小丸工具箱压缩视频解决视频体积问题
  11. win11多桌面功能怎么使用 win11多桌面设置步骤
  12. 2021-08-09
  13. TYUT-A专题题解(一)
  14. Nginx 常用配置,避坑指南!
  15. kettle使用数据库来生成序列_kettle 生成 ktr
  16. 地脚螺钉直径系列_干数控这么久,现在才分清楚螺栓、螺钉、螺柱的区别
  17. 解决Teamviewer屏保锁屏、黑屏无法进入问题
  18. 什么是并口硬盘和串口硬盘?有何区别?
  19. macbook linux 双显卡,网友支招:苹果笔记本也能双显卡切换
  20. DOTA 104个英雄416个技能、104首情诗

热门文章

  1. 木桶理论 VS 长板理论
  2. 牛客竞赛每日俩题 - Day3
  3. Qt 数字格式化,保留三位小数
  4. 影视明星杨幂写真合集:时尚优雅、气质迷人!
  5. 国嵌C语言(6-10)
  6. 小学计算机小组期末总结范文,第一学期小学三年级级组工作总结
  7. 努比亚android版本游戏彩蛋,更畅快游戏 努比亚红魔手机获系统更新
  8. 一件小事引发的思考--如何学习
  9. 虚拟机开机需要login什么意思?没有出现桌面?Linux虚拟机CentOS登录需要登陆输入密码得问题
  10. 转盘赢钱_赢钱比其他更平等