【简评】[CVPR2017]Loss Max-Pooling for Semantic Image Segmentation

针对语义分割中类别不平衡问题,提出LossMax-Pooling方法,通过自适应调整像素权重来补偿类内及类间不平衡,并结合辅助采样策略提高模型性能。

现有方法

1.构建数据集时近似均匀地采样,保证每种类别分布较为均匀

  • 这种方法在image-level上还比较方便操作,在semantic segmentation上难以保证

2.对minority classes进行上采样或者对majority classes进行下采样缺点:

  • 会改变数据潜在分布
  • 对数据不是最优利用(suboptimal exploitation),比如可能会丢掉一些majority classes的数据
  • 增加计算成本和过拟合的风险,比如某些minority classes数据会被重复利用很多次

3.cost-sensitive learning

  • 现在semantic segmentation datasets增加了更多的minority classes,这使得权重的划分更复杂

所以这篇文章提出了一种新的解决方法:Loss Max-Pooling


主要思想

1.通过pixel weighting functions自适应地对每个像素的contribution(实际展现的loss)进行re-weighting

  • 引起更高loss的像素的权重更大,这直接对潜在的类内和类间不平衡进行了补偿
  • Focus on a family of weighting functions with bounded p-norm and donkey_081f6527-9680-4bca-b8d1-fdc2d2c2f-norm

2.通过普通的max-pooling在pixel-loss level上对pixel weighting function取最大

3.而这个最大值是传统loss(即每个像素损失的权重是相等的)的上界


数学分析

Standard setting

语义分割任务中损失公式定义如下:

donkey_f6b94f97-6d59-4538-8547-7624c9693

donkey_6fd8e423-4917-47a5-8653-f75579661是损失函数,donkey_ec5c2468-521f-49d6-bcb4-aa26e7ce6是正则项

在普通semantic segmentation中,损失又可继续写成:

donkey_776ce8c9-5e93-41b3-bbee-cf791a0b0

其中:

  • donkey_9f579bd2-27b5-4f38-b6ec-4168942c6是每个像素的损失,donkey_a0575f67-d2c0-470d-9829-8c3c3a755是定义的求和符号
  • 可见每个像素损失的权重是均匀的,这将使学习器偏向于图像中的主要部分



Loss Max-Pooling

文章设计了一个weighting function的convex, compact的空间,donkey_c3d58049-b9bd-41e3-889f-4fd7610f0,其中包括了均匀加权的情况,即donkey_9199a09d-fe93-4642-9a6c-20d047524

得到的损失函数如下:

donkey_b74bdf2a-7ae4-45cb-baf2-1cac20f57

之后,文章定义了一个新的损失,即对不同weighting functions下的损失取最大:

donkey_ecd73399-1216-433d-819a-9e6abb7d0

而这是文章中定义的所有损失函数的上界,包括传统的均匀加权的损失。文章提到这里的取最大值其实就是,max-pooling在pixel-loss level上的应用,所以这种方法才叫做 Loss Max-pooling。

Loss Max-Pooling的特性取决于空间donkey_0a46b40d-b223-4eab-a02e-fa5ceecf3的形状。所以,文章中对空间donkey_4550d779-59e9-4ffc-bf92-710db2294进行了一些限定。


The space donkey_1ca9ff7d-00cc-40dd-bb19-9bf874566 of weighting functions

文章中关注的是由donkey_c9fa7bf5-e83b-4f7b-a2c0-f7b6644cf范数和donkey_b9e3b5d5-6522-4010-a8f4-62af6b053范数限定的weighting functions,这里对donkey_c9fa7bf5-e83b-4f7b-a2c0-f7b6644cf范数和donkey_b9e3b5d5-6522-4010-a8f4-62af6b053范数也进行了限定。donkey_3feaab61-bddb-4900-9e7d-93a58274b

其中,donkey_faab3add-d293-4c75-a772-e24e99320donkey_6df442f2-839a-4536-a9ec-64fee94a2的取值范围是donkey_baf26cc3-4791-4f32-bce3-6e321e5f5

Left:二维情况下donkey_56a4b2cf-f3d1-41c4-b3ef-c253cf3f5的图形,其中donkey_1a5c447f-1a42-43a6-b7b5-cc5aaba3f

Right:当donkey_c159c45a-9a48-4f99-816a-e55337c44时的donkey_0d904841-8e1d-43c1-9342-ddb0a9502


通过改变donkey_c312f6ed-eb60-47c6-be5f-407a0d887可以控制pixel selectivity degree of the pooling operation

一方面:

  • As donkey_a8074687-28b2-4cc6-9cd2-1b463e051 , the optimal weights will be in general concentrated around a single pixel
  • As donkey_75070933-7b8e-4ecb-86b5-2a634562a , the optimal weights will be uniformly spread across pixels

另一方面:

  • donkey_f7698261-ae1b-4ce4-a40e-720098d4c可以通过关系,donkey_5a2b2ab6-72bc-41c8-963d-86a39e2ba 控制被optimal weighting function support的最小像素数(我的理解是,其实就是保证至少多少像素被赋予权重)
可以由下面两幅图来理解:

图中选取了100个像素,同时为了可视化对像素进行了排序。

由左图可以看到,当donkey_9855d03d-6bfc-4e8f-a52f-d5f5230b7接近donkey_39f9353f-2b83-42f8-b999-746e68d67的时候,权重变成了均匀加权(蓝色虚线);当donkey_9855d03d-6bfc-4e8f-a52f-d5f5230b7接近1时,权重变得很陡峭,但是m的限制保证了至少需要support的像素数。

由右图可以看出,当donkey_d180371c-6c5a-4a51-9002-1589962f9时权重又变为了均匀加权(红色虚线),而每个值都对应了一段平均加权,也就说明donkey_6f919ef1-c5ee-4fc7-aa4a-c32bf77cb代表了像素共享权重的程度。


之后文章主要介绍了对donkey_43211c2e-a362-44c2-8b02-85573a71f的计算,计算时采用了对偶的方式来求解,最后转化为对donkey_0ca35777-d8fd-43d2-a292-37ae6bf62donkey_dbed1e5b-1963-4fb1-bbfb-527336ea4的计算,具体详细证明可以请看论文。最后算法流程如下:

文中还提到了一个辅助的取样策略,综合考虑了均匀采样和模型性能。因为文中并未细说,同时也不是本文重点,所以在此不赘述了。


实验结果

LMP是Loss Max-pooling+辅助取样策略的结果;Proposed loss only是不加辅助取样策略的结果;所有结果没有使用multi-scale input和CRF做进一步优化。


原文发布时间为: 2017-06-15

本文作者:ycszen

本文来自云栖社区合作伙伴极市网,了解相关信息可以关注极市网。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值