0%

​ (未完成,请勿点击)。最近读了非常多关于NeRF的论文,毕竟这玩意从ECCV 2020被提出来之后就爆火了,变体层出不穷,基本上我能想到的卷法,都有人卷过了。低垂的果实总是被有能力又有准备的人先摘走,留下来的都是一些需要费大力气才能摘到的果实。论文不仅需要读,好的论文一定要复现,才能深入了解其精髓,西安交大人工智能学院的刘龙军副教授曾经在组会上说到:读论文不复现等于白读!大家都深以为然:>。而其中最有复现价值(并且难度没那么高的,不像Instant NGP,official repo代码都看不懂)的当属:

​ 其中Mip NeRF 360中的proposal network已经成为目前个人所实现的NeRF框架的基础。本文是复现过程中的一些心得以及对其他所读的NeRF论文的总结。

Read more »

Rust - II


I. Intro

​ 变量的lifetime之前的部分,理解起来都比较简单。而一到lifetime出场,一群妖魔鬼怪也就跟着出场了。不过其实是因为之前的两天学习中,对于变量的引用,所有权的租借理解不够到位。本文仍然是在跟着Rust官方(的非官方,它自己写的)教程学习过程中,整活扩展的一些记录。

Read more »

Rust - I


Intros

​ Rust,好!可能主要由于所有权机制上的创新,学习时的感觉与学其他语言的感觉完全不同,于是没有像学JS一样,觉得无聊,也没有像觉像学haskell一样,觉得过于抽象。但是这样一种语言创新,必然会给学习带来障碍,毕竟编程思想是完全不同的。此外,可能我使用Rust的工具链不对,个人认为vscode对于Rust的支持明显不足(缺乏自动补全,没有函数快速查看以及定义跳转等等),第一天学的时候,只能实现一些强逻辑性算法(比如什么快排,归并排序等等),无法深入使用数据结构(给我一个数据结构我根本不知道里面有什么方法)。

​ 第一天快结束时,想学习一下Rust的可视化工具Plotters,结果发现,之前从菜鸟教程了解的写法过于粗浅,基本看不懂Plotters代码,遂投身更加深入的学习。但却发现,给自己设置的小目标 --- 写一个链表,按照之前了解的语法知识,我都是写不出来的。快要放弃只是接触到了一个教程以及其官方文档:

​ 教程详细介绍了对于链表的实现,较为通俗易懂,有些难以思考的问题,其实沉下心来想也很快能想出来。本文是跟着教程实现过程中,笔者对于遇到的一些问题的处理方法以及自己的心得。由于笔者非常不喜欢依葫芦画瓢(因为这样,感觉自己完全学不到东西),所以笔者也在自己的实现中整活(超前学习),本文也记录了整活过程中遇到的坑及处理方法。本篇为Rust学习心得的第一章。

Read more »

NeRF


​ 最近工程浓度太高,关于【如何设计】以及【为什么】的思考显著少于【如何实现】以及【怎么解决】。为了平衡科研与工程,我复现了最近读的一篇多视角重建论文(见上一篇博客 Neural Randiance Field【1】):

​ NeRF这篇论文,读的时候觉得作者写得还是非常清晰,只要搞清楚了基本概念,流畅地读下来基本上没什么问题。但实现过程中,发现到处都是坑(坑主要来源于个人没有清晰的设计思路,不同模块间的输入输出连续性不强,导致接口经常改动,此外... 有些问题确实也挺坑的)。有别于NeRF的官方tensorflow实现,本论文复现使用Pytorch + CUDA,主要代码中约有50% CUDA,50%python。本论文主要记录复现思路,以及复现过程中遇到的主要问题。复现见Github repo: Enigmatisms/NeRF

Figure 1. blender synthetic dataset - drums 训练过程可视化(从epoch 1- epoch 400)
Read more »

Neural RF


I. Intros

​ 深度学习的大环境下,视图合成(view synthesis)必然不会缺席(毕竟没什么数学能力也能搞,是吧)。NeRF作为其中比较杰出的工作之一,文章后续也受到很多关注,包括但不限于【NeRF++,NeRF--,Point NeRF】。本文是一篇关于NeRF及其++版本的论文理解,后续将在[Neural Radiance Field【2】]中介绍Point NeRF以及NeRF的复现:

Figure 1. 拿个视频当NeRF demo是吧?(误)
Read more »

SDF-SLAM


I. Intros

​ 在家配电脑环境工程时,真没有事干,就只能看看论文了。之前太naive了,了解得少,只知道2D地图表征常用栅格图以及点云,不常用的是隐式函数(implicit function),却忘记了还有SDF这个中间表征。查找2D-SLAM文献时,蹦出了几篇SDF相关的文章,都还算中规中矩,通俗易懂(比起什么cartographer分支定界来说,简直太友好了,不过说起来,这几篇论文中除了cartographer魔改论文之外,真的谈了后端吗?):

  • Fossel, Joscha-David, Karl Tuyls, and Jürgen Sturm. "2D-SDF-SLAM: A signed distance function based SLAM frontend for laser scanners." 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2015.

  • Daun, Kevin, et al. "Large scale 2d laser slam using truncated signed distance functions." 2019 IEEE International Symposium on Safety, Security, and Rescue Robotics (SSRR). IEEE, 2019.

  • Fu, Xingyin, et al. "Improved Signed Distance Function for 2D Real-time SLAM and Accurate Localization." arXiv preprint arXiv:2101.08018 (2021).

​ P.S. 本文内容并不多。虽然这有三篇论文,其中值得大篇幅讲的不可能塞在这篇博客中,不值得大篇幅讲的都在这了。

Read more »

Re3D


I. Intros

​ 电脑还没到,我[#]。不得不说京东有些店是真的脑瘫,买RTX发AMD,AMD yes也别这样啊。没办法工作的情况下只能看论文,继续3D重建。3D重建有些部分与我当前工作有重合之处,我也想从中获得一些启发。本文是两篇小论文以及一本书(这本书的其中一卷)的一个小理解:

​ 附注:不让我工作我就打原神。

Read more »

BFGSAM


I. Intros

​ 很长一段时间没有静下心来看过有很强理论性的内容了,我十分担心自己会丧失理论上的思考能力以及数学计算能力。正好之前在看某篇论文时,看到其中提到一种叫做SAM(sharpness aware minimization)的方法,说是效果还行,此前保存了SAM论文,但没去细读。最近寒假由于电脑故障没办法工作,很闲,便重新了解了一些数值优化方面的知识(比如拟牛顿族),并读了读SAM(虽然读完感觉???这怎么这么魔法)

Read more »

Instant NGP


I. Intros

​ 保研前是想搞3D重建来着,大概是无缘吧(xD)。最近老被安利 【5s NeRF训练】,听起来很强的样子,速度提升了好几个数量级,遂观摩了一下:

​ 文章很有趣,对我现有工作有一定的启发价值,当然结果也很nice:

Figure 1. Hoho. Da. Nice.
Read more »

Depth Completion


I. Intros

​ 深度补全中存在多模态数据融合的问题:单目RGB图像直接进行深度估计比较困难(直接深度估计,个人感觉只能凭借常识和先验知识),而如果同时存在稀疏激光点云(散步在稠密的图像上),可以通过“传播的思想”将一些位置的深度传播出去。在返乡的高铁上没事干(事实上由于河南大雪以及湖北大雨,高铁变成了低铁,时间+2h),看了五篇论文,本文简要分析了其中三篇关于 guided深度补全的文章:

​ 本文可能写得很烂,笔者在看这三篇论文以及写博客时,由于返乡安排太紧,只睡了3.25小时。

Read more »