首页 > 编程语言 >论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法

时间:2022-10-05 14:00:11浏览次数:101  
标签:误差 LM 单目 LS Net 优化 二乘


论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_最小二乘

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_迭代_02


1

摘要


在本文中,我们提出了最小二乘网络,一种神经非线性最小二乘优化算法,即使在逆境中也能有效地优化这些代价函数.与传统方法不同,所提出的求解器不需要hand-crafted的正则化或先验,因为这些都是从数据中隐式学习的.我们把我们的方法应用于运动立体问题。从单目序列的图像对联合估计运动和场景几何形状.我们表明,我们学习的优化器能够有效地解决这个具有挑战性的优化问题.


2

介绍


计算机视觉中的大多数算法使用某种形式的优化来获得最能满足手头问题的某些目标函数的解.优化方法本身可以被视为一种简单的智能方法,用于搜索答案的解空间,可能利用目标函数的特定结构来指导搜索.

目标函数的一种特别有趣的形式是由许多平方剩余项的和组成的.

在大多数情况下,剩余项是优化变量的非线性函数,这类目标函数的问题称为非线性最小二乘(NLLS)问题。使用二阶方法可以有效地求解非线性规划问题[13]。

然而,能否成功找到一个好的解决方案也取决于问题本身的特点。剩余函数集可以比作一个方程组,其解为零, .如果这个系统中变量的数目大于方程的数目,那么这个系统是欠定的,如果它们相等,那么它是确定的.如果方程多于变量,那么它是超定的.适定问题需要满足三个条件:1)解必须存在2)必须有唯一的解,以及3)解必须作为其参数的函数是连续的[21].

待定问题是不适定的,因为它们有无限多的解,因此不存在唯一的解。为了解决这个问题,传统的优化器使用手工的正则化和先验来使不适定问题适定。

在本文中,我们旨在利用来自传统非线性最小二乘解算器的强大而成熟的思想,并将这些思想与有前途的基于学习的新方法相结合。在这样做的过程中,我们寻求利用基于神经网络的方法来学习稳健的数据驱动的先验的能力,以及传统的基于优化的方法来获得高精度的精确解。特别地,我们建议学习如何基于当前残差和雅可比(以及一些额外的参数)来计算更新,以使NLLS优化算法更有效并且对高噪声更鲁棒

我们将优化器应用于从单目图像序列估计帧对的姿态和深度的问题,该单目图像序列被称为单目立体,如图1所示。

综上所述,本文的贡献如下:

  • 我们提出了一种端到端的可训练优化方法,它建立在对NLLS问题的强大的近似基于Hessian的优化方法的基础上
  • 直接从数据中隐式学习最小二乘问题的先验和正则.
  • 第一个采用机器学习来优化光度误差的算法


3

非线性最小二乘求解


典型的非线性最小二乘问题如下:

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_最小二乘_03


其中代表第j项的误差,x是优化变量,E代表目标函数.遇到这些情况,我们通常使用GN、LM等.

将误差进行一阶展开:

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_最小二乘_04

其中:

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_最小二乘_05

则最优迭代值为

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_迭代_06

在Gauss-Newton (GN) 法中迭代步长通过下述方程求解:

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_最小二乘_07

而与GN算法不同,Levenberg-Marquadt(LM)算法引入p改善收敛性,其迭代步长为:

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_3d_08


4

映射与光度误差


三维空间中的变换矩阵可以通过SE(3)李群中的指数映射得到,其中 是对应的李代数

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_3d_09


其投影映射关系如下(极线约束),其中代表source图中的点坐标,代表target图中的对应点坐标:

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_迭代_10

通过映射获得光度误差为:

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_最小二乘_11

其中通过双线性插值得到.通过建立光度误差:

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_迭代_12

其雅克比很容易通过各种框架的autodiff自动求导得到(导数包含了双线性差值部分),例如Tensorflow里面可以用tf.gradients(res[i],x)),这里无需给出.


5

LS-Net 模型设计


这一部分主要包含三个模块,分别说明如下。


 1    Initialization Network


这一部分主要是特征提取,作者使用了3个卷积层,stride=2,作为 backbone。最后接一个 upsample 和 conv1x1 得到一个大小为原图的1/4 的输出作为 depth 估计。另外通过 backbone 接全连接层输出一个6维向量作为 pose。这一部分没有什么特别的。

为了能够更好地描述较远的深度,实际上网络输出作者采用的是逆深度形式z=1/d

Optimizing Nonlinear Least Squares with LS-Net

这一部分就是非线性优化层了,作者称之为 LS-Net。它的算法部分流程如下:

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_迭代_13

如之前所述,我们要估计的目标函数是上述每个像素的光度误差之和,其中待估计变量分为逆深度z和姿态pose两部分x=(z,p).

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_迭代_14

还是按照一个典型的梯度下降过程:

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_迭代_15

在本文中最大的不同就是将其中的步长 的估计使用一个循环神经网络(LSTM-RNN)来完成.公式如下

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_3d_16

其中θ是网络的参数,代表隐藏层.这是一个典型的LSTM Cell.其中输入部分


 2   The Jacobian input structure


在优化过程中作者遵循 GN 的优化过程,即

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_3d_17

但是本文中的雅克比是通过对深度和姿态的自动求带获得(感觉这一步可能不合理,因为自动求导会当做在欧式空间完成,实际上pose是李代数上的).为了简化雅克比矩阵,作者按照下图做了进一步变换,将压缩后作为网络的输入,具体压缩过程如下图所示:

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_迭代_18

这里也利用了所谓雅克比矩阵的稀疏性,通常 pose 的数量远少于需要估计的深度的数量,所以可以这样压缩。实际上是减少了没用的参数输入,加快网络计算的速度。

压缩后的和 对应的合起来(concanate)作为 LSTM 的输入

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_3d_19

这里作者避免了使用作为网络输入是因为这里增加了大量计算(而且事实上也没提供新的输入信息)


 3   Upscaling Network


上一步的迭代优化网络为第一步初始化网络进行采样后的输入,因此,最后还需要一个上采样网络将优化后的深度图变成原图大小。作者采用的上采样函数就是双线性插值。

Loss

网络总计包含两个误差项,深度误差与姿态误差,两个Loss都是L1范数.

其中深度部分误差项定义为:

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_最小二乘_20

姿态部分误差项定义为:

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_最小二乘_21

最终的误差项是二者加权求和:

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_最小二乘_22


6

 仿真数据对比


仿真部分作者做了简单的曲线拟合工作,用来和 LM 算法比较收敛速度以及误差,作者拟合的曲线包含:

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_3d_23

得出的实验结果如下图:

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_最小二乘_24

可以看到:

在图 a)中,仅经过5次迭代的话,LS-Net 拟合的曲线明显比 LM 拟合的曲线更接近真值。

在图 b)中,可以看出 LS-Net (实线)比 LM(虚线)收敛速度明显更快。

在图 c)中,将相同迭代次数的 LM 误差(x)和 LS-Net(y)做成散点图,可以看出相同迭代次数的 LM 误差均远大于 LS-Net 误差。说明 LS-Net 的收敛速度和收敛结果都更好


7

两幅图像深度估计


作者选取了2-view深度估计,证明即使在两幅图相距很远或者很近的极端情况,LS-Net依然能够估计出可信的深度:

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_3d_25

与 DeMoN 的对比

论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_最小二乘_26

与同是深度学习方法的 DeMoN 的对比,在一些情况下显示出了更好的性能:


8

 与其他方法的对比



  • MVS : uses oracle with known poses
  • SIFT : uses sparse features for correspondences
  • FF : uses optical flow
  • Matlab : uses KLT tracker in Matlab


论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_3d_27



- END -

本文仅做学术分享,如有侵权,请联系删文。


论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法_最小二乘_28

▲长按关注公众号


标签:误差,LM,单目,LS,Net,优化,二乘
From: https://blog.51cto.com/u_14439393/5732640

相关文章

  • netty使用
    pom.xml<dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>4.1.25.Final</version>......
  • Netty 学习(八):新连接接入源码说明
    Netty学习(八):新连接接入源码说明作者:Grey原文地址:博客园:Netty学习(八):新连接接入源码说明CSDN:Netty学习(八):新连接接入源码说明新连接的接入分为3个过程检测到有新......
  • 一文图解单目相机标定算法
    有一天,蟹老板找底下的员工川建国同学:等蟹老板走后,然后转头问旁边的学霸李雷同学:李雷同学整理了下情绪:有人反映哦,有时候我们发出来的技术贴太硬了,不方便去理解,于是,就有了上面......
  • utils.c:33:18: fatal error: zlib.h: No such file or directory
     001、问题utils.c:33:18:fatalerror:zlib.h:Nosuchfileordirectory  002、解决方法yuminstallzlib-develzlib 再次编译即可。 参考:https......
  • Kubernetes--服务暴露 Service类型
      Service的IP地址仅在集群内可达,然而,总会有些服务需要暴露到外部网络中接受各类服务端的访问,例如分层架构应用中的前端Web应用程序等。此时,就需要在集群的边缘为其添......
  • 基于图像的单目三维网格重建
    代码地址:https://github.com/ShichenLiu/SoftRas论文题目:SoftRasterizer:ADifferentiableRendererforImage-based3DReasoning(CVPR2019)概述渲染通过模拟图像形成的......
  • .NET教程 - 反射 & 元数据(Reflection & Metadata)
    更新记录转载请注明出处:2022年10月5日发布。2022年10月5日从笔记迁移到博客。反射(Reflection)介绍说明大多数情况下,我们都是运行程序集中的代码处理数据但有时需......
  • NET第一章:引用命名空间using
    这次6.0版本更新到24年底结束。以淘汰框架:WCF,webserver,asp.netwebform,asp.netmvc,asp.netwebAPI这些都不需要研究。需要学习:asp.netcore新知识去学习,被淘汰的都......
  • 对循环神经网络参数的理解|LSTM RNN Input_size Batch Sequence
    在很多博客和知乎中我看到了许多对于pytorch框架中RNN接口的一些解析,但都较为浅显甚至出现一些不准确的理解,在这里我想阐述下我对于pytorch中RNN接口的参数的理解。我们经......
  • FinallShell 连接 centos7失败 各种问题
      百度翻了三个小时各种找方法解决,最后一招解决了n个问题,咳咳咳  把那个还原默认设置点了包治百病什么 Centos7,提示connectionrefused,什么 连接......