[论文阅读] SqueezeSegV2: Improved Model Structure and Unsupervised Domain Adaptation...

paper 原论文的链接
code: 源代码链接

1. 主要思想

通过什么方式,解决了什么问题

1. 问题
针对SqueezeSegv1的一些不足,提出的改进,不足如下:

  • 由于drop noise (噪点)带来的性能不高问题; 而noise的原因是硬件设备有limiting Sensing range, mirror diffusion of the sensing laser, jitter in incident angles. 这个noise 会导致网络早些层的输出被破坏。 后面会有实验进行验证
  • 训练模型需要大量的数据,而数据的采集是一个很大的问题,所以本文利用GTA的模拟器,进行场景模拟构造

2. 基本思想

  • 本文针对drop noise 问题设计了一个CAM(Context Aggregation Module)模块
  • 为了使得GTA模拟器获取的数据能更好地符合真实数据,则采用domain adaption training; 并且针对domain adaption的问题进行了一些改进
  • 为了解决样本不平衡问题,使用了focal loss
  • 采用了无监督方式进行优化

2. 具体方法

说明怎么解决的,具体设计是什么, 有什么启发性思考(作者的创新点)

2.1 网络架构


CAM (context aggregation module)
由于squeezeSeg v1版本的网络卷积核很小,这样的话,如果点云有任何丢失都会极大地破坏fmap, 作者为了测试这个猜想做了一个模拟实验:

首先随机生成一个输入tensor, 然后喂给3x3 kernel的卷积层,然后从输入tensor中随机drop 一些pixels,然后对比drop前后的输出tensor的差距,如下图所示,随着drop pixels的概率越大, 输出tensor对比的error就越大,而使用作者提出的CAM模块,就能有效减小这种影响:
在这里插入图片描述
所以作者提出了CAM结构,扩展感受野并且能避免dropnoise:

注意点

  • 这个模块主要在前面几层使用
  • 这个设计值得参考,因为pooling就有对小视野局部变化不太敏感的特性,所以使用该层能避免dropnoise

focal loss

F L ( p t ) = − ( 1 − p t ) γ l o g ( p t ) , γ = 2 FL(p_t) = -(1 - p_t)^\gamma log(p_t), \gamma=2 FL(pt)=(1pt)γlog(pt),γ=2

其他改进

  • 添加mask 通道, 表示该像素位置有没有点对应; 这个通道还是比较有作用的
  • 在每个conv后添加BN层

2.2 Domain Adaptation方面的改进

learning intensity rendering

原因: 因为模拟的数据点云没有反射强度instensity这一个信息, 所以作者就用数据集训练一个网络,去预测给定输入,预测反射强度的值; 具体过程如下, 利用真实数据预测一个intensity rendering模型:
在这里插入图片描述

一些特殊设计:

  • 由于可能存在同样的x,y,z的反射强度不同,存在multi-model distribution; 而使用L2损失计算的话,不能捕捉这样的多分布特性,所以采用hybrid loss, 也就是采用分类+回归, 将反射强度分成10份,作为分类region,然后在分类基础上再采用回归进行详细的预测。
    在这里插入图片描述
    可以发现,这种Hybrid方式更加接近真实情况

Geodesic Correlation Alignment
然后又由于合成数据和真实数据存在分布差异,通常合成数据训练的模型在真实数据下不具有一般性,所以作者提出了Geodesic Correlation Alignment(大地线相关对齐), 如下图所示结构,进行联合训练,每次喂给网络两个batch,一个合成数据的,一个真实数据的;这个训练会有两个loss考虑:

  • 合成数据的正常训练,用focal loss; 学习点云分割任务
  • 合成数据与真实数据之间的geodesic distance loss, 也就是两个batch之间分布的geodesic 距离。学习惩罚两种数据之间的分布差异
    log 欧式距离

在这里插入图片描述
最后的损失:
F L ( X s i m , Y s i m ) + λ × G L ( X s i m , X r e a l ) FL(X_{sim}, Y_{sim}) + \lambda\times{GL(X_{sim}, X_{real})} FL(Xsim,Ysim)+λ×GL(Xsim,Xreal)

Progressive Domain Calibration (存在疑问)
具体算法过程如下图所示, 这个方法用于解决网络在真实数据上产生的分布逐层偏移的问题, 作者说Meanwhile, we update the batch normalization parameters (mean and variance) of the layer with the new statistics. 怎么更新?仅需要unlabeled 数据, 所以不是个训练过程。
也就是: 通过带标签的合成数据训练,然后用真实数据unlabeled的数据 统计BN;
在这里插入图片描述

3. 实验支撑

记录一些关键实验的结论分析,具有启发性的实验和结论


4. 总结启示

针对中心思想和实验结论的总结和扩展思考
扩展思考 : 也就是用自己已有的知识或者自己的“土话”,重新理解paper(费曼学习法的精髓-便于记忆和举一反三的应用)

  • 本文的CAM设计很有启发性(通道注意力)
  • 本文的GCA设计和PDC设计值得学习 – 不同分布的迁移思想
  • geodisic loss 值得学习
  • 对于PDC如何更新BN参数,还存在疑问 (暂时理解: 可能BN层的均值和方差都是用来将fmap进行归一化到标准正态分布的,只是 γ , β \gamma, \beta γ,β不同,所以我们只需要将新的真实数据,模拟BN操作,重新累计一下BN的均值方差的期望,可以将合成数据的模型向真实数据迁移一下。

5. 相关文献

主要的比较贴近的文献,关键性文献

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值