ICCV 2023 | RPL:自动驾驶中道路异常检测的新思路

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

点击进入—>【计算机视觉和论文投稿】交流群

Residual Pattern Learning: 在不影响模型闭集表现的情况下分割异常物体

Out-of-Distribution (OoD) Segmentation 是在原有的闭集分割器的基础上, 让模型进一步拥有识别异常物体的能力。现在的SOTA的方法都是基于重新fine-tuning/retraining整个闭集Segmentation网络, 这样会导致对原本inlier object的性能下降。同时, 大多数OoD的办法很难对多个不同的环境进行很好的拟合, 导致识别异常物体的性能在不同的场景会落差很大。

在这里和大家分享一波我们ICCV 2023中稿的工作 "Residual Pattern Learning for Pixel-wise Out-of-Distribution Detection in Semantic Segmentation". 在本次工作中, 我们针对当前OoD Segmentation中的两个问题进行了优化, 并且用consistent checkpoint 在所有数据集上取得了非常好的性能。        

7d1d759f37b20bc775b048eca59968f3.png

文章地址: https://arxiv.org/abs/2211.14512

代码地址: https://github.com/yyliu01/RPL

训练细节: https://wandb.ai/yy/RPL?workspace=user-pyedog1976

背景:

扫描二维码关注公众号,回复: 16211525 查看本文章

语义分割模型用于将像素级别的sample分类到 In Distribution (ID) 类别中。然而,当在开放世界中部署时,这些模型的可靠性不仅取决于其对ID像素的分类能力,还取决于其对Out-of-Distribution (OoD) 像素的检测能力。比如在autonomous driving的任务中, 路上出现一些障碍物 (OoD object, 比如说`路障`) 的时候, 传统的闭集semantic segmentation并不能很好的检测出这些物体。因为原本的segmentation 模型在训练的时候并没有定义这些种类, 导致这类物体会被判定成head categories (e.g., road), 会对驾驶造成潜在的危险。

OoD Segmentation方向概述: 

9fed92ffd8cb8ca7b44710bb3b5dab52.png

1). 锁网络: 最straight forward的方法就是直接通过softmax 或者 energy的结果来把segmentation输出的mask里面潜在的low confidence pixel判断成OoD。这种方法的好处是不会影响ID的segmentation性能, 并且不需要训练网络, 但是在遇到复杂的inlier或者outlier的时候, 性能会下降的很明显, 如上图 (a) 所示。

2). 重新训练: 最近的办法主要是通过Outlier Exposure (OE) 将一个不相干的OoD数据集加入到ID数据集, 然后fine-tune已经训练好的close-set segmentation模型。在这个fine-tuning过程中, 利用新加入的OoD object来强行增加原本segmentation模型对异常的敏感度, 使得其OoD分割的性能得到了非常大的提升。但是这类方法的重新训练会导致原本ID类别的分割的性能受到不可逆的干扰, 如图 (b) 所示。

由这两点为motivation, 我们想要在保留原本inlier的分类性能的情况下, 得到一个稳定有效的OoD 分割器, 如图 (c)。

方法: 

94971d6f651f51a4611b8ecfc4dd0304.png

1). Residual Pattern Block (RPL):

与以往直接fine-tuning/retraining 分割网络不同, 我们在在原本的网络上外接了一个轻便的RPL block (frpl),然后原本的segmentation模型会全程锁住。基本思路是, frpl block对ID的pixel不做任何影响, 但是对潜在的OoD pixel做一个扰动, 让对应的confidence大幅下降, 进而通过最终map里的energy来判别是不是异常。

在训练过程中, 我们先用原本的网络生成 y_tilde (ID pseudo label):

         2a79d034fa1a5bc074b9585a5182e481.png

然后用RPL扰动后的原本网络的结果:

24e2ee71ee37309763a0ef6d4af126ea.png

对ID的pixel, 我们用cross-entropy来做penalty, 保证原本对OE的OoD object, 我们用下面的Energy cost function来约束他的能量

       598515813ac8338c8726e7b611ea08d4.png

在训练的过程中, RPL不会导致原本segmentation模型的性能受到影响, 并且能高效的分割出潜在的OoD pixel。

2). Context-Robust Contrastive Learning (CoroCL):

目前所有OoD Segmentation在不同场景下的表现都不稳定, 比如大多数分割器在城市场景下能够很好的检测到物体, 但是在以下乡村的环境 (context) 下就会直接失效。

c5e2750adae0f6506c9450d54586c109.png

为了应对这个问题, 增强网络对多个context的鲁棒性, 我们引用了supervised contrastive learning。我们在RPL的基础上多加了一层projection layer, 并且随机提取四种样本, 分别是

1). ID 场景里的 inlier pixel, 2). ID 场景里的OoD pixel,            cbb4bb78cab4f3b0ec094a63ccd5518a.png

3). OoD 场景里的inlier pixiel 4). OoD 场景里的OoD Pixel           9421add3ed665d86b0dc2e217eb6dc0b.png

我们通过InfoNCE来将不同场景的Inlier pixel聚合到一起, 并且推远OoD pixel       451c2d004bfea6363a3277ad7a09938c.png

实验:

1). Test Results (wandb visualisation: https://wandb.ai/yy/RPL?workspace=user-pyedog1976)     

ed4689b0061d16b1e0fea52357bb536a.png

我们的结果在多个benchmark上获得了最稳定的结果, 超过了之前的SOTA超过10个点的FPR和20个点的AuPRC。

2). Ablation Study

2445e278998a263b3ae3389ca5e538eb.png

在消融实验里, 我们可以先比较了用entropy和energy用来当loss的结果, 然后比较了使用RPL和直接使用一个binary OoD 检测器 (最后一行), RPL与Energy带来了稳定的提升。然而RPL在不同的context也有之前OoD segmentation的通病: 在FS-Static\L&F这种city环境下效果很好, 但是在其他的benchmark比如Anomaly&RoadAnomaly表现却很差 (25.65 & 17.74), CoroCL很好的缓解了这个问题。

2.1). Ablation of RPL

068dbaad2951902bf1dc289d064cdc63.png

在上图, 我们比较了原本close-set 分割模型的 mIoU [39] 和 其他re-training based OoD ([3], [9] and [31]) 在close-set的表现。我们的方法和freeze model 的方法 [13] 在ID数据集没有改变, 但是我们的方法有更好的识别OoD pixel的性能 (如section 1.) 所示)。


b85a88153a1da2d00a9e956aed321000.png

同时如上表, 我们RPL block可以对其他的OoD的方法在所有benchmark带来进一步的提升。

2.2). Ablation of CoroCL

670d5ec8a97b1451ea3e9968d214a0a3.png

我们在对anchor set 和 contrastive set的选择上, 测试了不同的组合。在最后我们发现当使用Anchor set为Inlier与OE, Contrastive set为全部种类时效果最好。在这种组合下, InfoNCE只会将           90b68bed654677b08cf14a7a48215e3e.png互相拉近, 推远          e6d780345ba685bb9af761ce33090d6b.png , 但不会把两种OoD          a99b176219470e84dc608d8183bb6152.png拉近。

3). The Learned RPL Feature

2b3604ea68967cf2df70d8fa11087811.png

我们用self-attention

torch.einsum(’abc,bca->bc’,r, r.permute(1,2,0))

来可视化RPL的输出学到的OoD pattern (r)。在上图可以看到, RPL对潜在的OoD object会输出扰动, 而ID的pixel会拟合0输出。

3). Final Visualisation 

6147efa303a1f8b559577c894b074440.png

* 颜色越偏红 代表异常可能性越高

 
  

点击进入—>【计算机视觉和论文投稿】交流群

ICCV / CVPR 2023论文和代码下载

 
  

后台回复:CVPR2023,即可下载CVPR 2023论文和代码开源的论文合集

后台回复:ICCV2023,即可下载ICCV 2023论文和代码开源的论文合集
目标检测和Transformer交流群成立
扫描下方二维码,或者添加微信:CVer333,即可添加CVer小助手微信,便可申请加入CVer-目标检测或者Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要备注:研究方向+地点+学校/公司+昵称(如目标检测或者Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

▲扫码或加微信号: CVer333,进交流群
CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉,已汇集数千人!

▲扫码进星球
▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看75aafe65b4d8b8b5d79395fc5622c8eb.gif

猜你喜欢

转载自blog.csdn.net/amusi1994/article/details/132288722