论文弄完了来个复盘~的系列

  • 一句话概括论文: 用单目视频流作为输入,用多任务神经网络来构建语义三维地图

  • contribution:

    • 使用多任务学习来对单目和语义对两个任务进行效果提升
    • 使用超像素来使得深度估计更加平滑
  • 如何运用多任务学习来对深度和语义进行效果提升的?

    • 使用了 Resnet-50 作为 backbone 进行特征提取(使用 Resnet-50 是因为显存妥协)
    • 将 feature 分别送入 semg_decoder 和 depth_decoder。
    • 分别在两个 decoder 中了使用了 ASPP 来处理多尺度问题,,
    • 将各自的 feature (3348)送到另一个 decoder,并拉伸到 4x。
    • decoder 中进行两次 3*3 的卷积,然后语义 decoder 卷积到类别数量的 channel, 深度卷积到1.
  • 如何使用超像素来进行深度估计平滑的?

    • 将根据中心点和周围点的 距离,颜色,语义信息 来划分超像素。
    • 将一个超像素内的深度取平均值。
  • 实验部分

    • 对单任务同样架构(即 Resnet-50 + ASPP + 2个 33256 conv + 33 num_classes or 1 )两个进行了实验。对于语义和深度各有提升。
    • 对 ASPP 放在一起还是分开放。分开放对于语义和深度各有提升,但是牺牲了速度.
    • 对于 ASPP 处理后的两个 branch 送到另一个 decoder. 对于语义和深度各有提升.
  • 我是在 deeplab v3+ 的基础上添加了深度估计分支,遇到了一些问题,想和大家分享下:

    • 遇到的问题:深度效果差,

      • 猜测原因:数据增强的原因。对于单目估计这种 ill-posed 的问题,物体大小是很强的线索。但是在数据增强的时候,和语义的数据增强一块做了scale (语义的物体大小并不会语义),导致神经网络无法 get 到 物体大小的线索,直接导致效果很差。
      • solution:就是把scale变成了rotate
    • 遇到的问题:数据训飞掉了

      • 猜测原因:数据分布不平均
      • solution:把所有的数据值都打印出来,大概数据在0-100之间, 而且小值偏多。就用了个映射函数将它相对均匀的映射到了(-1,1)之间。(用的圆的左上部分映射到(0,1),然后再*2-1分布到(-1,1))

版权声明:本文为raymondbyc原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/raymondbyc/p/10526680.html