ECCV2020|语义分割的落地应用:故障检测与异常检测

2020 年 7 月 17 日 极市平台

加入极市专业CV交流群,与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度 等名校名企视觉开发者互动交流!

同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。关注 极市平台 公众号 ,回复 加群,立刻申请入群~

明天极市平台将继续独家直播由山东大学主办的“可视计算”学术专题报告。国内外的知名学术专家,会就各自领域的基础理论、应用前景与前沿技术等方面进行专题报告。请大家锁定直播时间7月17日(星期五)—7月19日(星期日)。详情戳这里,在极市平台后台回复“61”,即可获取直播链接

来源|阿柴和她的CV学习日记

论文名:Synthesize then Compare: Detecting Failures and Anomalies for Semantic Segmentation

论文地址:https://arxiv.org/pdf/2003.08440.pdf

代码地址: 未开源

语义分割在自动驾驶、医学影像分割等方面有着广泛的应用。在这些领域,语义分割结果的准确性是非常重要的,比如医学影像的分割结果如果出错,那么将直接影响之后对于病情的判断。但是我们也知道,在实际应用中,对于输入到训练好的语义分割模型中的图像,实际上是没有groud truth的。那么,我们该如何知道对于这一输入图像:1)分割结果到底是好是坏?(故障检测);2)如果输入图像图像中出现了给定类别之外的异常类别,我们又如何能够直接感应到?(异常检测)

一、简介

先形象化的理解一下故障检测与异常检测这两个概念:

图一:故障检测(左)、异常检测(右)示例

故障检测(Failure Detection)

在本文中,故障检测有两个目标:1)给出预测的分割结果与“真值”的在当前图像上存在的类别的交并比(这个真值是不存在的。你可能会想不存在怎么比较?不是开玩笑吗?别急后面的方法部分会告诉你如何比较),如图一(左)右上部分;2)定位到预测错误的区域,如图一(左)右下部分。还是没有真值,那么又是如何完成错误的定位的呢?

异常检测/分割(Anomaly Segmentation)

一场检测简单点来说就是,我们现实生活中的目标的类别是要远远多于我们训练好的语义分割模型所定义的类比的(比如PASCAL VOC2012的类别就只有21类)。那么万一在实际应用过程中输入图像出现了这些在训练阶段语义分割模型没有定义到的类别,我们该如何第一时间检测到这一类别,并在分割出属于该异常类别的目标在图中的位置呢(如图一(右))?

二、方法

现在我们明确一下我们的目标以及所拥有的已知条件:

目标: 现实语义分割的落地场景中,输入到语义分割模型中的图像是没有真值的,但是我们又想知道分割结果的好坏,所以我们的目标是进行故障检测(Failure Detection)异常检测/分割(Anomaly Segmentation)

已知条件: 1)输入图像x;2)训练好的语义分割模型M;3)输入图像的经过语义分割模型M后的预测结果y^.

下面我们来看一下作者是怎么应用上述已知条件来完成上述目标的。

首先,作者利用对抗生成网络GAN的原理(当然作者论文中用的是cGAN [1])使用预测图y^作为GAN的输入,输出了合成的原图x^.其大致过程如图二(上)所示。

有对GAN不熟悉的可以参考:

GAN学习指南:从原理入门到制作生成Demo

图二:cGAN合成原图的过程(上),以GT合成原图为例。完整的进行故障检测与异常检测的过程(下)

随后,作者设计了一个比较模块,来通过比较合成图x^与原图x之间的差别来完成故障检测与异常检测的目标。作者的假设是,如果x^类似于x, 那么y^就类似于y。然而,由于GAN中的生成器G的优化并不能保证合成图像x^风格与原始图像x相同,所以简单的相似性测量,如测量x和x^之间的L1距离是不准确的。所以作者针对故障检测与异常检测两个不同的任务设计了不同的比较模块F。比较模块的目标是输出C^:

对于不同的任务,C^的含义不同.

在故障检测中,C^代表的是C^iu与C^m的集合。C^iu和C^m就是前面在简介中所提到的预测的分割结果与“真值”的在当前图像上存在的类别的交并比与定位到预测错误区域的error map。他们的形状分别为长为L的一维向量宽高分别为w,h(即原图宽高)二维map

在异常检测中,C^代表的是对于异常目标的分割图,它的形状为宽高分别为w,h(即原图宽高)二维map。

我们来看看作者是如何具体设计比较模块的:

故障检测:

图三:故障检测的比较模块,利用孪生网络。

作者利用孪生网络(siamese network)来比较合成图像与原始图像的差别。孪生网络,简单点来说就是网络结构一样,参数共享的两个网络。这里的网络使用的是ResNet-18。输入如图所示。主要过程通过图相信大家都能看懂,这里主要讲一下这个网络在训练阶段是通过什么来监督的:

我们知道在训练阶段我们的输入图像是有真值的。所以我们可以去计算预测图与真值的每个类别iou,即Ciu:

其中,l代表的是其中的第l类。右上角的i代表第i个像素。那么我们就可以以Ciu为监督信息,以L1 loss为损失函数去监督网络训练。这样,训练好的网络可以去预测C^iu。

而对于error map 的预测的话,同样由于训练过程中有着真值y。所以可以计算出真正的error map,即Cm:

以此为监督信息,并使用二元交叉熵损失函数去监督网络训练。这样,训练好的网络可以去预测C^m。

以上两个损失函数可以写为:

异常检测:

与故障检测一样,首先在训练图像上训练一个cGAN生成器G,它使用分割对象标签来合成图像。给定一个语义分割模型M,我们得到其预测yˆ = M (x)和获取的合成图像xˆ = G(yˆ)。由于yˆ中只包含了给定的类别,所以xˆ也只包含了给定的类别。因此xˆ与x会差别很大。所以将x与xˆ再次输入M中时,M最后一层所提取的特征也会有很大的差别。作者用余弦距离作为指标来定义x与xˆ在M最后一层特征上的差异:

这个公式中f代表着M最后一层的特征图。i代表特征图中的第i个像素。

这样就直接得到了我们之前在简介中图一所看到的异常分割的分割结果。

三、实验

Cityscapes:

表1:在Cityscapes数据集上的实验。我们在FCN-8和Deeplab-v2的分割结果中进行失败检测。“Ours separate”和““Ours joint”意味着分别训练我们网络中的图像级和像素级故障检测头。

图一:Cityscapes数据集上的可视化

表二:StreetHazards数据集的异常分割结果

图二:Visualizations on the StreetHazards dataset.

参考文献:

[1]Mirza, M., Osindero, S.: Conditional generative adversarial nets. arXiv preprint arXiv:1411.1784 (2014)


推荐阅读



添加极市小助手微信(ID : cv-mart),备注:研究方向-姓名-学校/公司-城市(如:目标检测-小极-北大-深圳),即可申请加入极市技术交流群,更有每月大咖直播分享、真实项目需求对接、求职内推、算法竞赛、干货资讯汇总、行业技术交流一起来让思想之光照的更远吧~


△长按添加极市小助手


△长按关注极市平台,获取最新CV干货


觉得有用麻烦给个在看啦~  

登录查看更多
3

相关内容

在数据挖掘中,异常检测(英语:anomaly detection)对不符合预期模式或数据集中其他项目的项目、事件或观测值的识别。通常异常项目会转变成银行欺诈、结构缺陷、医疗问题、文本错误等类型的问题。异常也被称为离群值、新奇、噪声、偏差和例外。 特别是在检测滥用与网络入侵时,有趣性对象往往不是罕见对象,但却是超出预料的突发活动。这种模式不遵循通常统计定义中把异常点看作是罕见对象,于是许多异常检测方法(特别是无监督的方法)将对此类数据失效,除非进行了合适的聚集。相反,聚类分析算法可能可以检测出这些模式形成的微聚类。 有三大类异常检测方法。[1] 在假设数据集中大多数实例都是正常的前提下,无监督异常检测方法能通过寻找与其他数据最不匹配的实例来检测出未标记测试数据的异常。监督式异常检测方法需要一个已经被标记“正常”与“异常”的数据集,并涉及到训练分类器(与许多其他的统计分类问题的关键区别是异常检测的内在不均衡性)。半监督式异常检测方法根据一个给定的正常训练数据集创建一个表示正常行为的模型,然后检测由学习模型生成的测试实例的可能性。
专知会员服务
12+阅读 · 2020年9月19日
【高能所】如何做好⼀份学术报告& 简单介绍LaTeX 的使用
最新《Deepfakes:创造与检测》2020综述论文,36页pdf
专知会员服务
62+阅读 · 2020年5月15日
CVPR2020 | 商汤-港中文等提出PV-RCNN:3D目标检测新网络
专知会员服务
43+阅读 · 2020年4月17日
【CVPR2020】MSG-GAN:用于稳定图像合成的多尺度梯度GAN
专知会员服务
26+阅读 · 2020年4月6日
生成式对抗网络GAN异常检测
专知会员服务
114+阅读 · 2019年10月13日
目标检测实用中可以改进的方向
极市平台
11+阅读 · 2019年5月4日
最新Anchor-Free目标检测模型—FoveaBox
PaperWeekly
6+阅读 · 2019年4月29日
边缘计算应用:传感数据异常实时检测算法
计算机研究与发展
11+阅读 · 2018年4月10日
【应用】深度对抗学习在图像分割和超分辨率中的应用
GAN生成式对抗网络
4+阅读 · 2017年9月12日
Arxiv
11+阅读 · 2018年4月8日
VIP会员
相关VIP内容
专知会员服务
12+阅读 · 2020年9月19日
【高能所】如何做好⼀份学术报告& 简单介绍LaTeX 的使用
最新《Deepfakes:创造与检测》2020综述论文,36页pdf
专知会员服务
62+阅读 · 2020年5月15日
CVPR2020 | 商汤-港中文等提出PV-RCNN:3D目标检测新网络
专知会员服务
43+阅读 · 2020年4月17日
【CVPR2020】MSG-GAN:用于稳定图像合成的多尺度梯度GAN
专知会员服务
26+阅读 · 2020年4月6日
生成式对抗网络GAN异常检测
专知会员服务
114+阅读 · 2019年10月13日
Top
微信扫码咨询专知VIP会员