0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

计算机视觉任务里常常会碰到类别不平衡的问题

新机器视觉 来源:机器学习AI算法工程 作者:机器学习AI算法工 2022-06-13 11:14 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

计算机视觉(CV)任务里常常会碰到类别不平衡的问题, 例如:

1. 图片分类任务,有的类别图片多,有的类别图片少

2. 检测任务。现在的检测方法如SSD和RCNN系列,都使用anchor机制。训练时正负anchor的比例很悬殊。

3. 分割任务, 背景像素数量通常远大于前景像素。

从实质上来讲, 它们可以归类成分类问题中的类别不平衡问题:对图片/anchor/像素的分类。

再者,除了类不平衡问题, 还有easy sample overwhelming的问题。easy sample如果太多,可能会将有效梯度稀释掉。

这两个问题通常都会一起出现。如果不处理, 可能会对模型性能造成很大伤害。用Focal Loss里的话说,就是训练不给力, 且会造成模型退化:

(1) training is inefficient as most locations are easy negatives…

(2) the easy negatives can overwhelming training and lead to degenerate models.

如果要处理,那么该怎么处理呢?在CV领域里, 若不考虑修改模型本身, 通常会在loss上做文章, 确切地说,是在样本选择或loss weight上做文章。

常见的解决办法介绍

常见的方法有online的, 也有非online的;有只处理类间不平衡的,有只处理easy example的, 也有同时处理两者的。

Hard Negative Mining, 非online的mining/boosting方法, 以‘古老’的RCNN(2014)为代表, 但在CV里现在应该没有人使用了(吧?)。若感兴趣,推荐去看看OHEM论文里的related work部分。

Mini-batch Sampling,以Fast R-CNN(2015)和Faster R-CNN(2016)为代表。Fast RCNN在训练分类器, Faster R-CNN在训练RPN时,都会从N = 1或2张图片上随机选取mini_batch_size/2个RoI或anchor, 使用正负样本的比例为1:1。若正样本数量不足就用负样本填充。使用这种方法的人应该也很少了。从这个方法开始, 包括后面列出的都是online的方法。

Online Hard Example Mining, OHEM(2016)。将所有sample根据当前loss排序,选出loss最大的N个,其余的抛弃。这个方法就只处理了easy sample的问题。

Oline Hard Negative Mining, OHNM, SSD(2016)里使用的一个OHEM变种, 在Focal Loss里代号为OHEM 1:3。在计算loss时, 使用所有的positive anchor, 使用OHEM选择3倍于positive anchor的negative anchor。同时考虑了类间平衡与easy sample。

Class Balanced Loss。计算loss时,正负样本上的loss分别计算, 然后通过权重来平衡两者。暂时没找到是在哪提出来的,反正就这么被用起来了。它只考虑了类间平衡。

Focal Loss(2017), 最近提出来的。不会像OHEM那样抛弃一部分样本, 而是和Class Balance一样考虑了每个样本, 不同的是难易样本上的loss权重是根据样本难度计算出来的。

从更广义的角度来看,这些方法都是在计算loss时通过给样本加权重来解决不平衡与easy example的问题。不同的是,OHEM使用了hard weight(只有0或1),而Focal Loss使用了soft weight(0到1之间)。

现在依然常用的方法特性比较如下:

458cebe2-ea59-11ec-ba43-dac502259ad0.png

接下来, 通过修改过的Cifar数据集来比较这几种方法在分类任务上的表现,当然, 主要还是期待Focal Loss的表现。

实验数据

实验数据集

Cifar-10, Cifar-100。使用Cifar的原因没有别的, 就因为穷,毕竟要像Focal Loss论文里那样跑那么多的大实验对大部分学校和企业来说是不现实的。

处理数据得到类间不平衡

将多分类任务转换成二分类:

new_label = label == 1

原始Cifar-10和100里有很多类别,每类图片的数量基本一样。按照这种方式转变后,多分类变成了二分类, 且正负样本比例相差悬殊:9倍和99倍。

实验模型

一个5层的CNN,完成一个不平衡的二分类任务。使用Cross Entropy Loss,按照不同的方法使用不同的权值方案。以不加任何权重的CE Loss作为baseline。

衡量方式

在这种不平衡的二分类问题里, 准确率已经不适合用来衡量模型的好与坏了。此处使用F-Score作标准。

实现细节

CE(Cross Entroy Loss)

45ba2f1c-ea59-11ec-ba43-dac502259ad0.png

OHEM

分为以下三步:

1. 计算ce_loss, 同CE

2. 根据ce_loss排序, 选出top N 个sample:

45f341c6-ea59-11ec-ba43-dac502259ad0.png

4656a9a0-ea59-11ec-ba43-dac502259ad0.png

Class Balance CE

形式多种多样,我个人最喜欢使用:

4692d3a8-ea59-11ec-ba43-dac502259ad0.png

46c6a868-ea59-11ec-ba43-dac502259ad0.png

46f254d6-ea59-11ec-ba43-dac502259ad0.png

优化方法

最简单的SGD, 初始lr=0.1, 每200,000步衰减一次, 衰减系数为0.1。Cifar-100上focal_loss的初始lr=0.01。

batch_size = 128.

实验结果

CIFAR-10:

473441d4-ea59-11ec-ba43-dac502259ad0.png

47621ea6-ea59-11ec-ba43-dac502259ad0.png

Focal Loss的一个补丁

对于CIFAR-100,batch_size=128时, 一个batch内可能会一个positive sample都没有, 即n_pos == 0, 这时,paper里用n_pos来normalize loss 的方式就不可行了。测试过两种简单的选择:一是用所有weight之和来normalize, 二是直接不normalize。前者很难训练甚至训练不出来, 后者可用。所以上面的Focal loss计算代码应该补充为:

478de338-ea59-11ec-ba43-dac502259ad0.png

经验总结

47e05fc8-ea59-11ec-ba43-dac502259ad0.png

Code Available On Github

https://github.com/dengdan/test_tf_models

Branch:focal_loss

References Focal Loss for Dense Object Detection, https://arxiv.org/pdf/1708.02002.pdf

RCNN, https://arxiv.org/abs/1311.2524

Fast RCNN, http://arxiv.org/abs/1504.08083

Faster-RCNN, http://arxiv.org/abs/1506.01497

Training Region-based Object Detectors with Online Hard Example Mining, https://arxiv.org/abs/1604.03540

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CV
    CV
    +关注

    关注

    0

    文章

    54

    浏览量

    17474
  • 计算机视觉
    +关注

    关注

    9

    文章

    1714

    浏览量

    47462
  • 检测方法
    +关注

    关注

    0

    文章

    50

    浏览量

    10092

原文标题:视觉分类任务中处理不平衡问题的loss比较

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    电能质量在线监测装置三相不平衡度实时显吗?

    一、三相不平衡度显示能力确认 所有现代电能质量在线监测装置 (无论 A/B/C 类精度) 均 标配三相不平衡度实时监测功能 ,具体表现为: 显示形式 :液晶屏幕 (LCD/TFT) 直接显示数值
    的头像 发表于 11-25 17:48 369次阅读
    电能质量在线监测装置三相<b class='flag-5'>不平衡</b>度实时显吗?

    电流不平衡度的测量误差范围是多少?

    电流不平衡度的测量误差范围由国家标准严格规定,具体数值根据设备等级、硬件性能、算法设计及应用场景有所差异。以下是核心误差范围及影响因素的详细解析: 一、国标规定的基础误差范围 根据《GB/T
    的头像 发表于 11-06 09:38 534次阅读

    电流不平衡度测量精度受谐波影响吗?

    是的,电流不平衡度的测量精度 会显著受谐波影响 。这是因为电流不平衡度基于 “对称分量法” 计算(分解正序、负序、零序分量),而谐波会改变三相电流的基波和谐波分量分布,导致序分量计算
    的头像 发表于 11-05 16:08 959次阅读

    电能质量在线监测装置的电流不平衡度测量精度能达到多少?

    电能质量在线监测装置的电流不平衡度测量精度 取决于设备等级、硬件性能、算法设计及应用场景 ,其核心指标符合国家标准(GB/T 15543-2019)和国际规范(IEC 61000-4-30)。以下
    的头像 发表于 11-05 15:50 267次阅读

    电能质量在线监测装置三相不平衡度能实时算吗?

    是的,现代电能质量在线监测装置能够实时计算三相不平衡度,且精度和响应速度已达到工程实用水平。以下从技术实现、标准规范、硬件支撑和实际应用四个维度展开分析: 一、核心算法与动态响应能力 对称分量法
    的头像 发表于 10-15 16:22 190次阅读

    三相不平衡度的国标是怎样规定电能质量在线监测装置的监测精度的?

    根据现行国家标准 GB/T 15543-2008《电能质量 三相电压不平衡》 及相关配套规范(如 GB/T 19862-2016《电能质量监测设备通用要求》 ),电能质量在线监测装置对三相不平衡
    的头像 发表于 10-11 16:31 970次阅读
    三相<b class='flag-5'>不平衡</b>度的国标是怎样规定电能质量在线监测装置的监测精度的?

    变频器输出不平衡及对策

    变频器输出不平衡是工业自动化领域中常见的问题,它可能导致电机运行异常、设备损坏甚至生产事故。本文将深入分析变频器输出不平衡的原因,并提出相应的解决方案,帮助工程师和技术人员有效应对这一挑战。 一
    的头像 发表于 08-23 17:09 1515次阅读
    变频器输出<b class='flag-5'>不平衡</b>及对策

    无轴承异步电机的不平衡振动补偿控制

    针对由质量偏心引起的无轴承异步电机转子不平衡振动问题,首先对不平衡振动的产生机理进行了分析;然后,研究给出了无轴承磁悬浮转子的不平衡振动位移提取算法、不平衡振动前馈补偿控制力的实时估算
    发表于 07-14 17:37

    ANSNP中线安防保护器让谐波和不平衡无处可逃!

    安科瑞 许寒月 社会经济和科技的发展推动着通信技术、计算机技术、光电技术等的不断进步,在实际生产和生活中现代电力电子设备、变频空调、LED屏、计算机、数字办公设备以及通信设备等被广泛应用,这些设备
    的头像 发表于 06-10 22:42 449次阅读
    ANSNP中线安防保护器让谐波和<b class='flag-5'>不平衡</b>无处可逃!

    轮毂电机不平衡电磁力对车轮定位参数的影响

    [摘要] 轮毂电机驱动电动汽车将电机、减速机构和制动器等高度集成于车轮内。不同路面激励下的轮胎跳动、载荷不均和轴承磨损等造成电机气隙沿圆周分布不均,其所产生的不平衡电磁力将会通过减速机构或直接传递
    发表于 06-10 13:17

    伺服电机三相不平衡原因及解决方法

    伺服电机作为现代工业自动化系统中的核心执行元件,其稳定运行直接关系到生产效率和设备寿命。然而在实际应用中,三相电流不平衡问题频发,轻则导致电机发热、效率下降,重则引发设备停机甚至绕组烧毁。本文将
    的头像 发表于 05-06 07:40 1390次阅读
    伺服电机三相<b class='flag-5'>不平衡</b>原因及解决方法

    3A325薄型平衡不平衡变压器Anaren

    3A325薄型平衡不平衡变压器Anaren 3A325 是一款由 Anaren Microwave 生产的表面贴装(SMD)巴伦变压器(Balun Transformer),适用于无线通信和射频
    发表于 03-11 09:31

    伺服电子变压器输出电压不平衡的原因及相应的解决方案

    伺服电子变压器在工业自动化系统中也是至关重要的,它们负责将输入的交流电压转换成不同级别的交流电压,以精确驱动和控制伺服电机。然而,在实际应用中,伺服电子变压器输出电压不平衡的问题时有发生,这不
    的头像 发表于 02-23 12:19 1297次阅读
    伺服电子变压器输出电压<b class='flag-5'>不平衡</b>的原因及相应的解决方案

    B0430J50100AHF超小型不平衡平衡变压器

    B0430J50100AHF超小型不平衡平衡变压器B0430J50100AHF是Anaren推出的一款超小型、低成本且低轮廓的不平衡平衡变压器,专为满足新一代A/D和D/A转换器I
    发表于 02-08 09:26

    平衡电阻器可以改为不平衡

    在电子电路中,平衡电阻器与不平衡电阻器各自扮演着重要的角色。平衡电阻器主要用于实现电路的平衡和稳定性,减少噪音和干扰,提高信号质量。而不平衡
    的头像 发表于 01-30 14:31 1743次阅读