LEGO-Net

摘要

人类即使使用单张图像也能准确恢复观察的自然场景的的3D几何结构,并能推广到现实应用,如增强现实和机器人技术。 最近的技术[19 Godard,60 Wang peng,64 T.Zhou ]使用无标注视频或立体图像进行无监督训练比监督训练的单目深度估计效果更好。其核心思想是图像合成,并利用光度差训练。但是如Fig 1所示,没有恢复好场景几何。

图1:(a)输入图像 (b)[64]的深度和法向量结果 (c)图像梯度的边缘 (d)[60]的深度和法向量 (e)[37]的无监督边缘检测 (f)我们的使用无监督结合深度、法向量、边缘的结果

我们认为这是由于无监督学习更倾向于优化每个像素(every-pixels)的光度差,不太注意几何边缘。使用的“几何边缘”项包括深度不连续处以及表面法向量变化的位置。3D几何通过过滤出同一表面内的内部边缘(图1(c)中的图像梯度的边缘),帮助模型发现中层(mid-level)边缘。反过来,发现的边缘可以帮助几何估计获得长范围的内容感知以及非局部正则化,使模型产生更详细的结果。

根据“as smooth as possible in 3D” (3D-ASAP)先验条件,构建两者之间内在关系,如果像素之间没有明显边缘,那么这些像素点在3D空间应该都在一个平面。 在KITTI 2015 [18], CityScapes [10] and Make3D [45]数据集进行了评估,并且在不同数据集上的迁移能力强。

2  相关工作

Structure from motion 和单目几何

使用特征匹配从video中估计3D的几何方法有SFM [56], SLAM [41, 14] and DTAM [42]。但是对低纹理low texture),或视角的剧烈变化drastic change)处理不好。其他单目几何的特殊功能,如:计算消失点[20],BRDF[43,26],或用主要层或box提取场景[47,50],只能获得稀疏的几何关系,并且需要满足很多前提条件(如Lambertian, Manhattan world))

通过CNN监督单目几何

Dense geometry,可以从单张图像中估计每个像素深度法向量图[54, 12, 34, 36, 16],基于CNN方法比手动提取特征[23,32,31]有明显提高。 其他方法则添加conditional random field (CRF) [52, 38, 35]提升。Wang [53]提出在大平面使用基于dense CRF[28]的depth-normal regularization方法,在深度和法向量都明显提升,但监督学习数据难获得。

无监督单目几何

Deep3D【57】,用立体图像对监督,从左图根据监督合成右图。Garg【17】同样用立体对监督,但是深度是连续的,还是用Taylor展开来近似深度梯度。Godard【19】在Garg之后添加了平滑loss和左右一致性。Zhou【64】加入了相机位姿估计,从而学习单目视频深度,加入了一个解释mask移除动态场景像素。同时Vijayanarasimhan【51】对固定物体运动建模。Yang【60】引入法向量,并提出稠密的depth-normal一致性,但其正则化只应用在局部,并被图像梯度所影响,在平滑表面产生了错误的不连续结果。

Non-local smoothness(非局部光滑)

长范围非局部的空间调节已经在像CRF[33]的传统图像模型广泛应用,其中不相邻节点被连接在一起并由high-order CRF或densely-connected CRF学习它们之间的相似度。这比只学习局部连接的方法效果要好,如:分割、图像视差、扣图。此外,快速双边滤波器【4】更有效 经过这些方法能够使用CNN作为后处理部分实现[3, 63, 53, 55],但由于其迭代循环效率不高。于是使用多尺度方法【62,7】来解决。

边缘检测

例如Sobel or Canny [6]的低级边缘学习方法,已经被带有语义边缘数据集[39,21]使用监督学习[59, 27, 2, 11]代替。 高层边缘可以通过隐式监督的非局部平滑性来学习,如【8】,通过在CNN后添加空间转换(DT),对平滑度做与CRF类似操作,改善语义分割,但与CRF相似,DT迭代传播到附近像素效率不高。Li【37】则使用光流[44]来得到运动边缘,从而监督边缘模块。

3. Preliminaries

用合成图像作用监督

给出It深度图Dt,经过估计的变换将Is双线性差值后变换到It平面上,最后比较合成的Is与真实It的光度差,来监督Dt和T。给定视频中多个源图像的集,光度差定义如下:

T对应It于每个S中源图像的变换矩阵

深度调节

只基于图像合成的监督是模糊的,因为一个像素可以被投射到多个坐标。之前方法【19,64】鼓励当没有明显图像梯度变化时使估计的梯度局部相似。比如【19 Godard】Dt被定义为了:

Ls(D,2)是空间平滑项,是在2D空间x和y方向的二阶梯度L1范数惩罚

用depth-normal 一致性调节

Yang【60】认为当出现类似Fig1(b)这种不能正常表达视觉时,Eq(2)约束不够,从【64】中估计的法向量在地面处出现了变化。因此,他们引入了的法向量图,以及在之间的depth-normal一致性函数

其中的八个邻域集,是从2D坐标反投影3D点是3D空间的向量差,是权重。 基于这个函数,提出了可微的depth-to-normal层,通过给定来估计,以及一个normal-to-depth,从中重估计。通过使用Eq1Eq2两个损失,加上一阶平滑损失可以被监督,而可以由最近的8个区域修改

4 从video中用几何关系学习边缘

4.1. 3D-ASAP prior

3D-ASAP的核心假设是所有表面都在3D空间,这个先验对于大的非平面是有限制的,但它适合我们主要处理的街景,如道路、建筑墙壁等主要表面仍然是平面,需要满足以下两条件:

这意味着,任何这两点中间连线的点都在同一个平面内。给定一个目标图像,从连续平面{S}集合的透视投影,估计的深度图和法向量图也需要大致对每个S满足这样的先验。特别是,图像中任意两像素,同一平面S的在两者的normal方向应该是相同的,因此约束:

其中是相似度,如果在相同S内,值为1否则为0。对于,考虑三者之间关系,Eq(3)所示,给出两个不同像素,让两者连线中的任一像素形成同一个3D line

其中是从2D到3D空间的反投影函数,是pi的齐次坐标。是pi和pj的连线上的像素集

LD主要检查三点是否属于同一平面,且共线

使用多尺度方法估计

如果给出,比如是图像梯度,我们可以使用这两个能量函数作为深度法向量非局部平滑度损失,但由于像素过多不可行。简略办法是,舍去一个像素与其他像素的稠密连接换作周围像素集。本文对每个像素,在其3D的x和y方向取N=1,2,4,8邻域的法向量和深度进行平滑处理。是像素进行(x,y)位移,于是变为:

其中表示沿着x方向的平滑度,的简写

4.2 参数化并学习几何边缘

使用Eq(6)而不采用图像梯度,通过对目标图像估计边缘图,并同时学习

其中是pi,pj间的像素点包括端点,这用来表示测量两个像素间affinity的轮廓线索[48]。

实际上,使用decoder网络对估计参数化,它是从深度网络的共享图像编码器进行解码得到的。将Eq(7)代回Eq(6),加上光度损失,来生成用来调整法向量图、深度图和边缘图的损失函数,如Fig2所示,分配给不同损失的不同部分。

图2:损失包括四部分:合成图像损失,分别对应于深度和法向量图的3D-ASAP损失,以及边缘损失

,还是用了和【60】一样的depth-normal一致性损失

Overcoming the trivial solution

由于没有直接对进行监督,通过假设每个像素是一个边缘,用Eq(7)训练会产生正常结果,成功最小化了深度法向量的平滑度。为了解决这个问题,添加了L2损失的正则化项帮助无边缘检测,如: 。另一种方法是使用交叉熵(cross-entropy)调整,但可能是因为只有稀疏边缘没有效果。

解决训练中的双边缘:

在使用之前损失训练时发现,如Fig.3(b)的双边缘问题,与理想情况不同,深度在边缘不连续处有阶段性跳跃(Fig.3(a)虚线),估计的深度在物体边缘变得平滑(实线)。因此,使用Eq(6)中的一个邻域计算深度3D-ASAP项,这与二阶梯度操作相似,在梯度变化的开始结尾处出现非零值。为了减小,边缘图需要预测一个双边缘来抑制这个非零值。

我们通过取出Eq(6)中由计算出的梯度图的负值来解决,对于每个x或y方向的边缘,双边缘的二阶梯度会得到一正一负两个值,于是使用代替。 边缘decoder与深度decoder结构相同,并对从尺度到尺度的边缘上采样采用nearest方法

4.3 解决无效和局部梯度

无效梯度的Fly-out mask

之前的【64, 60】将序列长度调为3,以中间帧为目标图像,旁边两帧为源图像。当进行图像合成时,目标图像的像素点可能不会出现在源图中,如Fig 4,将造成像素的无效梯度。

图4:当相机从变换时,用fly-out mask计算移出的像素

处理局部梯度

【64】中的局部梯度相似,空间变换操作是基于依赖周围四个像素双线性插值。因此,基于multi-resolution的loss对于训练有效,训练loss为:

其中是用来调节有效集的平衡参数,如Fig 5DtNt的平滑度的重要性,并用深度和法向量找到所有的几何边缘

LEGO: Learning Edge with Geometry all at Once by Watching Videos(2018)相关推荐

  1. 今天开始学模式识别与机器学习Pattern Recognition and Machine Learning (PRML)书,章节1.2,Probability Theory (上)

    Pattern Recognition and Machine Learning (PRML)书,章节1.2,Probability Theory (上) 这一节是浓缩了整本书关于概率论的精华,突出一 ...

  2. Learning to rank的讲解,单文档方法(Pointwise),文档对方法(Pairwise),文档列表方法(Listwise)

    学习排序(Learning to Rank) LTR(Learning torank)学习排序是一种监督学习(SupervisedLearning)的排序方法.LTR已经被广泛应用到文本挖掘的很多领域 ...

  3. Use of Deep Learning in Modern Recommendation System: A Summary of Recent Works(笔记)

    注意:论文中,很多的地方出现baseline,可以理解为参照物的意思,但是在论文中,我们还是直接将它称之为基线, 也就是对照物,参照物. 这片论文中,作者没有去做实际的实验,但是却做了一件很有意义的事 ...

  4. 译文Deep Learning in Bioinformatics --深度学习在生物信息学领域的应用(1)

    译文Deep Learning in Bioinformatics --深度学习在生物信息学领域的应用(1) 深度学习在生物信息学领域的应用(1) 原文链接:https://arxiv.org/abs ...

  5. 译文Deep Learning in Bioinformatics --深度学习在生物信息学领域的应用(2)

    译文Deep Learning in Bioinformatics --深度学习在生物信息学领域的应用(2) 深度学习在生物信息学领域的应用(2) 原文链接:https://arxiv.org/abs ...

  6. 【论文笔记】A review of applications in federated learning(综述)

    我的博客园MaplesWCT A review of applications in federated learning Authors Li Li, Yuxi Fan, Mike Tse, Kuo ...

  7. Deep Learning(深度学习)学习笔记整理系列之(八)

     Deep Learning(深度学习)学习笔记整理系列之(八) 分类: Deep Learning 机器学习 Linux驱动2013-04-10 11:4257652人阅读评论(25)收藏举报 ...

  8. 机器学习与物理科学(五)(Machine learning and the physical sciences)

    Machine learning and the physical sciences 摘要 Ⅵ.化学和材料科学( CHEMISTRY AND MATERIALS) A.基于原子环境的能量和力( Ene ...

  9. 视觉导航(一)Learning Object Relation Graph and Tentative Policy for Visual Navigation

    Learning Object Relation Graph and Tentative Policy for Visual Navigation Abstract 视觉导航中最重要的是学习有用的视觉 ...

最新文章

  1. 如何免费使用数据挖掘软件RapidMiner - 申请学生许可证
  2. java_method_下拉框成json
  3. 计算机组成测试题目及答案,计算机组成原理期中测试试卷一(含题目和答案)
  4. “@react-navigation/native“).createNavigatorFactory) is not a function.
  5. 在Asp.Net Core MVC 开发过程中遇到的问题总结
  6. python netsnmp_python net-snmp使用
  7. js 日期控件laydate使用
  8. 诗与远方:无题(二十二)
  9. 从零开始通过 Artifactory 搭建公网的 maven 仓库
  10. java实现文件夹复制_Java实现文件夹复制
  11. 通过字节流来代替链接来下载小文件
  12. Linux下更换jdk和配置环境变量
  13. [导入]构建WCF面向服务的应用程序系列课程(10):安全基础.zip(24.27 MB)
  14. paip.c++ qt 共享库dll的建立
  15. 分层架构中各层之间关系如何界定,期待大家来讨论
  16. Intel IPP密码库 IPPCP 2018——第一部分 基础开发指南
  17. linux环境安装的odac,net不安装Oracle11g客户端直接使用ODAC
  18. 锐捷交换机忘记密码解决方案:恢复出厂设置、重置配置文件
  19. macbookair有没有touchbar_苹果电脑购买建议:2018新款MacBook Pro买不买带Touch Bar的?...
  20. 移动端布局 - rem布局

热门文章

  1. 使用 Nginx 管理你的前端资源
  2. 在基本网格世界中训练强化学习代理
  3. 为什么要人造元素_人造元素
  4. Sqlite 数据库损坏的恢复
  5. 数字图像处理matlab作业,数字图像处理matlab大作业
  6. NOIP2018-普及原地爆炸记
  7. 关于实现订单的相关功能实现
  8. java中move用法_【MFC】MoveWindow();函数使用详解
  9. 网络安全岗位相关介绍
  10. 2019京东618全球年中购物节宣布启动!