几何深度学习(Geometry Deep Learning)相关工作汇总

深度学习喜欢 End-to-End 解决问题,中间过程有比较多的黑盒,在很多很难完整描述出数学模型的识别类任务中表现尤为出色。但是在传统的几何里面,很多工作是有比较好的数学基础的(比如摄影几何、李群与李代数、BA等等),如果抛弃这些理论全盘黑盒方式解决,有时未必有很好的效果。
因此对于 Geometry Deep Learning (几何深度学习)方向来说,如果深度学习的方式能够改进传统的几何方法的某些环节,或者利用深度学习强大的特征学习能力再与几何方式结合,或许会是一个可行的方向。
最近几年这类的工作非常之多,各大顶会也都有类似的专题,这篇博客旨在收集一些相关的内容作为备忘(个人没有太多精力收集,欢迎大家留言推荐相关文章)。

1 相关论文

1.1 传统几何算法的改进

传统几何算法使用深度学习改进其中一个方向就是所谓 ”可微分“ (Differentiable),例如 ICP、RANSAC、Bundle Adjustment 等等算法有很多所谓 ”硬决策“ 部分(Hard Decision)。这方面很多大牛做了不少工作例如 Eric Brachmann 的 DSAC 系列等等。
下面是一些收集的相关论文:

标题PDF代码会议备注
Solving the Blind Perspective-n-Point Problem End-To-End With Robust Dierentiable Geometric OptimizationPDFGithubECCV2020通过 Sinkhorn 和 DDN 实现 PnP 的网络
gradSLAM - Dense SLAM meets Automatic DifferentiationPDFGithubICRA 2020通过实现 BA 等多个模块可微化构建的稠密 SLAM 系统
Self-Supervised Learning of Depth and Ego-motion with Differentiable Bundle
Adjustment
PDF在 BA 算法可微化方面的改进
Deep Closest Point: Learning Representations for Point Cloud RegistrationPDFGithubICCV 2019在 ICP 算法可微化方面的改进(引入 Attention 机制)
BA-Net: Dense Bundle Adjustment NetworkPDFGithubICLR 2019 Oral在 BA 算法可微化方面的改进(主要改进 LM 算法)
Neural-Guided RANSAC: Learning Where to Sample Model HypothesesPDFNG-RANSAC
NG-DSAC
ICCV 2019在 RANSAC 算法可微化方面的改进(NG-RANSAC)
Expert Sample Consensus Applied to Camera Re-LocalizationPDFGithubICCV 2019在 RANSAC 算法可微化方面的改进(ESAC)
Learning Less is More - 6D Camera Localization via 3D Surface RegressionPDFGithubCVPR 2018在 RANSAC 算法可微化方面的改进(DSAC++)
Learning to Solve Nonlinear Least Squares
for Monocular Stereo
PDFECCV 2018在 BA 算法可微化方面的改进(主要改进 GN 算法)
DSAC - Differentiable RANSAC for Camera LocalizationPDFDSAC for Camera Localization
DSAC for Line Fitting
CVPR 2017在 RANSAC 算法可微化方面的改进(DSAC)
gvnn: Geometric Vision with Neural NetworksPDFGithubECCV 2016在李群上实现相关NN层可微化的工作

2 相关代码

2.1 3D Deep Learning 基础库

提到相关基础库,不得不提大名鼎鼎的 Google 官方的 Tensorflow Graphics 以及 Facebook 官方的 PyTorch3D,虽然他们现在提供的功能很有限,主要在可微渲染上面,但是相信加以时日一定会成为这方面的主力。

标题源码网站备注
TensorFlow GraphicsGithubhttps://www.tensorflow.org/graphics/TensorFlow Differentiable layers for graphics.
PyTorch3DGithubhttps://pytorch3d.org/PyTorch3D is FAIR's library of reusable components for deep learning with 3D data
KaolinGithubPDFA PyTorch Library for Accelerating 3D Deep Learning Research
KorniaGithubhttp://kornia.org/Open Source Differentiable Computer Vision Library for PyTorch
GeomstatsGithubhttps://geomstats.github.ioComputations and statistics on manifolds with geometric structures
LieGroupsGithubPython implementation of SO2, SE2, SO3, and SE3 matrix Lie groups using numpy or pytorch
ODE SolversGithubPyTorch Implementation of Differentiable ODE Solvers
ICP ExtensionGithubICP CUDA PyTorch Extension
SE3 Composition LayerGithubSE3 Composition Layer in C++ for Tensorflow
SE3 Composition LayerGithubPyTorch SE3 composition layer implementation

2.2 3D Deep Learning 其他开源代码

标题源码网站备注
PySLAMGithubNon-linear least-squares SLAM in Python using scipy and numpy. Modelled after Google's Ceres solver.
GP-LieGithubGaussian process regression for continuous-time trajectory estimation on Lie groups solved through Gauss-Newton optimization

3 相关作者主页

作者主页备注
Krishna Murthy Jatavallabhulahttps://krrish94.github.io/gradSLAM 作者、NVIDIA Kaolin 库开发者
Eric Brachmannhttps://hci.iwr.uni-heidelberg.de/vislearn/people/eric-brachmann/DSAC、DSAC++、ESAC 系列论文作者

4 相关网页

[1] Geometricdeeplearning 网站:http://geometricdeeplearning.com/
[2] Visual Learning Lab Heidelberg 实验室:https://hci.iwr.uni-heidelberg.de/vislearn/research/scene-understanding/pose-estimation/

Add a Comment

Your email address will not be published.