专栏首页AI深度学习求索如何使用图片级类别标注对像素级分割任务进行训练之MIL Loss详解

如何使用图片级类别标注对像素级分割任务进行训练之MIL Loss详解

如何使用图片级标注对像素级分割任务进行训练?

图片级别标注,指的是知道图片中有哪些物体,仅此而已,而需要完成的任务是什么呢?利用这简单的图片类别信息分割出对应物体的区域,进行像素级别分割的任务,哇!是不是觉得这个简单对于这个任务而言太弱了?是呀,不然怎么叫作弱监督呢?

让我们一起来看一下,所谓使用图片类别标注进行像素级别分割训练,到底如何进行的吧!

对于这样的任务,之前已经写过很多篇论文笔记了,今天来介绍一篇非常简单的利用MIL Loss的方法。

论文是发表在ICLR2015年上的《Fully Convolutional Multi-Class Multiple Instance Learning》。

这一篇文章仅用了一个loss就来完成这个任务哦,是不是觉得很大胆,很厉害!!!


论文:Fully Convolutional Multi-Class Multiple Instance Learning

会议:ICLR2015

任务:弱监督语义分割(image -level supervised)

一般的基于深度学习的语义分割流程:

将图片(H,W)输入分割网络,通过网络的计算,可以输出一个(N,H,W)的分割预测maps。

为什么输出的尺寸是(N,H,W)呢?这有什么意义?

N表示这个研究的数据集中有多少个类别。

(H,W)表示输出的每一个map的尺寸和输入图片的尺寸相同,拥有相同的像素数目,每一个像素位置上的值代表着一个是否属于某一类别的预测分值。

输入图片中每一个像素对应这输出maps中的一个N长的向量,该向量存储着该像素被预测为每一个类的分值,最大的那个预测值所对应的那个类别,假设为8,该像素则被预测为第8类。

MULTI-CLASS MIL LOSS:

讲到正题啦,所谓神奇的MULTI-CLASS MIL LOSS,只利用一个Loss解决弱监督语义分割问题,让我们看一下这个很简单的loss.

对于一张图片,输进分割网络,得到的是一个(N,H,W)的分割Maps,图片对于每一个class的预测被存储为的一个feature map.

这个Loss取每一个map上的最大的值,计算公式如下:

然后,对这个最大的分值进行约束,限制该类别在图片中的存在与否,若图片的标签中表示存在的类,则这个分值接近于1,若不存在则接近于0。

简单一点讲,就是通过限制feature maps上的最大值趋近1来促使应该存在的类的预测值大,限制最大值趋近0来促使应该存在的类的预测值小。

不过,可惜了,这么难得问题,怎么可能这么简单的就被解决了呢?这是不可能滴,所以,这篇论文的结果,咳咳,不太好,但是!!!,一个这么简单的Loss,可以有这么大的作用,我可不可以在我的方法上加上它优化我的结果呢?嘿嘿,你们觉得呢~

结果:

结果从数值上看,其实不是很好,但是从图片中看,它确实可以起到一定作用。

总结:

这个MIL Loss十分简单,虽然结果上看不是很好,但是在弱监督语义分割中常常与其他的方法一起使用,作为一个约束,应用十分广泛。

本文分享自微信公众号 - AI深度学习求索(AIDeepLearningQ),作者:AI深度学习求索

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-12-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 计算机视觉之图像语义分割算法简单介绍

    这段时间一直在分享,图像语义分割相关的论文,但是,发现自己都在写论文的算法细节,没有介绍技术背景,今天来通过几个问题简单地介绍一下人工智能算法计算机视觉图像语义...

    AI深度学习求索
  • AI科技:如何利用图片像素之间的像素度进行图像分割?

    论文:Learning Pixel-level Semantic Affinity with Image-level Supervision for Weakl...

    AI深度学习求索
  • EncNet-基于全局上下文信息以及辅助分割Loss的语义分割算法

    (1)目前分割任务主要应用的都是pixel-level prediction,考虑类别本身的所属类别,却因此孤立了像素和图片整体性,导致一些目标,类别出现一些预...

    AI深度学习求索
  • ConcurrentHashMap锁机制进化的考量

    我们知道,HashMap是无法保证线程安全性的,如果在并发环境下插入一个HashMap,哈希桶数组扩容时,有可能会造成链表出现环(美团技术的文章有详解)。若要保...

    王知无
  • 这或许是对小白最友好的python入门了吧——11,if语句初体验

    在python中,if语句是很常见的一个语句。今天,我们就来简单认识一下这个语句。 在学习if语句之前,我们还要学习一下条件测试: 首先我们用一个等号将name...

    企鹅号小编
  • Verilog实现产生任意占空比的PWM波

    实现方法很简单,使用一个计数器一直计数,然后和两个值进行比较,一个值是高电平时间htime,一个值是周期period,在小于htime期间,输出高电平;大于h_...

    单片机点灯小能手
  • 在 SCF 中运行 Puppeteer

    Puppeteer 是一个 Node.js 库, 提供了一组封装良好的接口, 使你可以通过 DevTools 协议控制 Chrome. 本文介绍如何在 SCF ...

    ritchiechen
  • 哭唧唧!半年内使用过蚂蚁借呗、京东白条的 一律不给贷款?

    现在大多数人都会用网络金融产品,花呗、借呗、京东白条等,这些金融产品给我们线上消费、网购带来很多便利,并且在网购时使用这些方式付款有时还会有优惠,越发让用的人觉...

    IT派
  • 时序收敛之Baseline

    在ISE时代,很多工程师习惯使用SmartExplorer的方法实现时序收敛。首先,这种方法适用于时序接近收敛的情形;同时,这种方法其实是一种扫描策略的方法,无...

    Lauren的FPGA
  • MySQL线上日志库迁移优化案例

    说说最近的一个案例吧,线上阿里云RDS上的一个游戏日志库最近出现了一点问题,随着游戏人数的增加,在线日志库的数据量越来越大,最新的日志库都已经到50G大...

    AsiaYe

扫码关注云+社区

领取腾讯云代金券