检测模型改进—OHEM与Focal-Loss算法总结

article/2025/11/11 6:42:56

1. 概述

论文名称:Training Region-based Object Detectors with Online Hard Example Mining
代码地址:OHEM
OHEM(online hard example miniing)算法的核心思想是: 根据输入样本的损失进行筛选,筛选出hard example,表示对分类和检测影响较大的样本,然后将筛选得到的这些样本应用在随机梯度下降中训练。

在实际操作中是将原来的一个ROI Network扩充为两个ROI Network,这两个ROI Network共享参数。其中前面一个ROI Network只有前向操作,主要用于计算损失;后面一个ROI Network包括前向和后向操作,以hard example作为输入,计算损失并回传梯度。

作者将该算法应用在Fast RCNN中,网络结构还是采用VGG16和VGG_CNN_M_1024,数据集主要采用VOC2007,VOC2012和COCO数据集。 算法优点:
1)对于数据的类别不平衡问题不需要采用设置正负样本比例的方式来解决,这种在线选择方式针对性更强;
2)随着数据集的增大,算法的提升更加明显(作者是通过在COCO数据集上做实验和VOC数据集做对比,因为前者的数据集更大,而且提升更明显,所以有这个结论);

算法的测试结果:在pascal VOC2007上的mAP为78.9%,在pascal VOC2012上的mAP为76.3%。注意,这些结果的得到包含了一些小tricks,比如multi-scale test(测试时候采用多尺度输入),bounding box的不断迭代回归。

需要注意的是,这个OHEM适合于batch size(images)较少,但每张image的examples很多的情况。

论文提及到可以用一种简单的方式来完成hard mining:在原有的Fast-RCNN里的loss layer里面对所有的props计算其loss,根据loss对其进行排序,(这里可以选用NMS),选出 K K K个hard examples(即props)。反向传播时,只对这 K K K个props的梯度/残差回传,而其他的props的梯度/残差设为 0 0 0即可。由于这样做,容易导致显存显著增加,迭代时间增加,这对显卡容量少的童鞋来说,简直是噩梦。

前面说到OHEM是在线的,为什么说是online?
论文的任务是region-based object detection,其examples是对props来说的,即使每次迭代的图像数为1,它的props还是会很多,即使hard mining后。

为什么要hard mining:
1)减少fg和bg的ratio,而且不需要人为设计这个ratio;
2)加速收敛,减少显存需要这些硬件的条件依赖;
3)hard mining已经证实了是一种booststrapping的方式, 尤其当数据集较大而且较难的时候;
4)eliminates several heuristics and hyperparameters in common use by automatically selecting hard examples, thus simplifying training。放宽了定义negative example的bg_lo threshold,即从[0.1, 0.5)变化到[0, 0.5)。取消了正负样本在mini-batch里的ratio(原Fast-RCNN的ratio为1:3)。

2. OHEM算法

如前所述,OHEM算法的核心是选择一些hard example作为训练的样本,那么什么样的样本是hard example呢?答案是:有多样性和高损失的样本。
在这里插入图片描述
实际训练的时候,每个mini-batch包含 N N N个图像,共 ∣ R ∣ |R| R个ROI,也就是每张图像包含 ∣ R ∣ / N |R|/N R/N个ROI。经过hard ROI sampler筛选后得到 B B B个hard example。作者在文中采用 N = 2 , ∣ R ∣ = 4000 , B = 128 N=2,|R|=4000,B=128 N=2R=4000B=128
另外关于正负样本的选择:当一个ROI和一个ground truth的IOU大于0.5,则为正样本;当一个ROI和所有ground truth的IOU的最大值小于0.5时为负样本。

3. OHEM实验

3.1 性能

在这里插入图片描述
从上表中可以看出加上OHEM明显提高了mAP。

3.2 总结&


http://chatgpt.dhexx.cn/article/vgUMY8eO.shtml

相关文章

【训练方法】OHEM

目录 概述细节困难负样本挖掘(HEM)在线困难负样本挖掘(OHEM) 概述 目标检测任务重存在严重的正负样本不均衡问题,以往的解决方法是困难负样本挖掘方法(HEM),但是它不太适合端到端的…

OHEM(Online Hard Example Mining)在线难例挖掘(在线困难样例挖掘) Pytorch实现 HNM (目标检测)

Hard Negatie Mining与Online Hard Example Mining(OHEM)都属于难例挖掘,它是解决目标检测老大难问题的常用办法,运用于R-CNN,fast R-CNN,faster rcnn等two-stage模型与SSD等(有anchor的&#x…

OHEM介绍

目标检测之OHEM介绍 论文地址:https://arxiv.org/pdf/1604.03540.pdf 在two-stage检测算法中,RPN阶段会生成大量的检测框,由于很多时候一张图片可能只会有少量几个目标,也就是说绝大部分框是没有目标的,为了减少计算就…

OHEM

Training Region-based Object Detectors with Online Hard Example Mining 00 Astract 摘要主要讲了四点: (1) 训练过程需要进行参数的空间搜索 (2) 简单样本与难分辨样本之间的类别不平衡是亟需解决的问题 (3) 自动地选择难分辨样本来进行训练不仅效率高而且性能好…

样本均衡之OHEM

论文地址:Training Region-based Object Detectors with Online Hard Example Mining OHEM 主要解决神经网络中困难负样本的问题。 困难负样本是神经网络难以区分的负样本。我们希望模型在训练的时候,负样本的confidence接近0,但是如果不加…

OHEM 详解

OHEM 详解 一、Hard Negative Mining Method(一)Hard Negative Mining Method 思想(二)Hard Negative Mining Method 使用(三)Hard Negative Mining Method 缺点 二、OHEM(一)训练方…

OHEM(Online Hard Example Mining )算法

OHEM算法提出于论文 Training Region-based Object Detectors with Online Hard Example Mining,链接:https://arxiv.org/abs/1604.03540。在hard example(损失较大的样本)反向传播时,可以减少运算量。 OHEM主要思想是…

虚拟机VMware官网下载教程,中文详细步骤(图文)

目录 一、找到官网 二、注册,登录(之前有账号的直接登录) 三、下载 四、VMware安装 五、Ubuntu下载,安装 一、找到官网 中文官网:VMware 中国 - 交付面向企业的数字化基础 | CNhttps://www.vmware.com/cn.html …

虚拟机VMware Workstation安装使用教程

1.官网下载,百度一个序列号进行注册。 2.打开VM,创建虚拟机 2.初次使用的话,选择典型就可以 3.如果有已有的iso文件,可以选择“安装程序光盘印象文件”,但是这是简易安装,可能后期会出现bug,不…

VMware安装虚拟机详细教程

VMware安装虚拟机目录 一、VMware添加虚拟机二、虚拟机启动及配置三、IP地址、子网掩码、网关和域名 一、VMware添加虚拟机 在我们安装完VWware,下载好安装的操作系统的镜像文件后(这里我们是(centos7版本),可以开始安…

VMware下载与安装教程(详细)

虚拟机VMware下载与安装教程 1. VMware最新版下载Vmware历史版本下载 2. VMware的安装 1. VMware最新版下载 Vmware官网 官网界面如下 点击产品,找到 Workstation Pro 之后会跳转到如下界面,点击下载试用版 根据自己的操作系统是Linux还是Windows选择对应的版…

虚拟机 VMware 16安装教程

虚拟机 VMware 16下载 见评论区 软件简介 VMware(虚拟机)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,它能在Windows系统上虚拟出多个计算机,每个虚拟计算机可以独立运行&#xff0c…

虚拟化技术之 VMware Workstation教程(一)

目录 第一章 虚拟化技术 1.1虚拟化技术简介 1.2主流的虚拟化厂商及产品 第二章 虚拟机的安装 2.1安装VMwareWorkstation 12 2.2物理机所需硬件 2.3在虚拟机中安装Windows 7操作系统 第三章 虚拟机的网络设置 3.1网络接入模式 3.2设置虚拟机上网 3.3设置两台虚拟机之…

VMware Workstation Pro详细安装教程

一,VMware Workstation Pro介绍 VMware Workstation(中文名“威睿工作站”)是一款功能强大的桌面虚拟计算机软件,提供用户可在单一的桌面上同时运行不同的操作系统,和进行开发、测试 、部署新的应用程序的最佳解决方案…

VMware虚拟机下载与安装教程(详细的很,一看就懂)

CSDN话题挑战赛第2期 参赛话题:学习笔记 🔶 个人主页: 神仙阿姨的博客 🔴 分享网站: 《Python自学网》👉👉适合新手入门到精通 | python全栈体系课程 | WEB开发 | 爬虫 | 自动化运维 …

VMware安装虚拟机操作步骤[史上最详细]

一、下载并安装VMware虚拟化软件 百度搜索关键词 安装步骤:傻瓜式安装(鼠标点点点,这里不做截屏演示) 二、安装秘钥 1、百度搜索关键词VMware秘钥,秘钥不一定都有效,一个一个试总有一个可以的 ​​​​​…

虚拟机VMware的安装及使用

一 虚拟机VMware的安装 1.准备工作 1)需要软件VMware安装包 VMware下载地址: http://www.uzzf.com/soft/51188.html 2)需要一个系统镜像 windows系统: http://www.xitongcheng.com/win7/ ubuntu系统镜像下载: http://www.ubuntu.org.cn/do…

VMware虚拟机安装教程

虚拟机(Virtual Machine)是通过软件模拟的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的CMOS、硬盘和操作系统,可以像…

vmware虚拟机的基础使用

1.vmware VMWare虚拟机软件来测试软件、测试安装操作系统(如linux)、测试病毒木马等。 VMWare是真正“同时”运行,多个操作系统在主系统的平台上,就象标准Windows应用程序那样切换。而且每个操作系统你都可以进行虚拟的分区、配置…

虚拟机介绍与使用(VMware Workstation)

目录 一、虚拟机概述 1、什么是虚拟机? 2、软件运行的架构 ①传统运行模式 ②虚拟机运行的模式 3、虚拟机产品 ①VMware(威睿) ②Micro Soft(微软) ③Citrix(思杰) 二、虚拟机的安装与…