【光电智造】三维重建:基于RGB-D相机的三维重建总览(静态&动态)

今日光电 2025-01-25 18:00

今日光电

     有人说,20世纪是电的世纪,21世纪是光的世纪;知光解电,再小的个体都可以被赋能。追光逐电,光引未来...欢迎来到今日光电!


----追光逐电 光引未来----

近年来,随着AR,VR,虚拟试衣,自动驾驶等领域的兴起,三维重建技术得到了广泛的应用。今天分享一篇来自三维匠心的关于三维重建的综述文章。文章较长,建议收藏。
三维匠心丨来源
三维匠/Realcat丨编辑

三维匠自接触三维重建以来,一直为基于RGB-D相机的三维重建所惊艳同时,心头一直盘旋着写个总结的想法,相信大家也能体会三维匠的感受,空中阁楼,如鲠在喉

最后亲身实践一番后,终于可以了却心愿。故先写个总览作为备忘,也可给各位小伙伴提供按图索骥的便利。后续还会写具体文章的分析,分享下对相关论文的理解,希望各位小伙伴也不吝赐教。(PS:温馨提示,由于本篇文章包含大量有趣的GIF,故可能加载会花点时间,请各位小伙伴耐心等待)
到这里,很多小伙伴可能会问“基于RGB-D相机的三维重建"和传统的SFM和SLAM算法有什么区别?
首先,输入数据流不同。在基于RGB-D相机的三维重建中,输入有深度信息和彩色信息,并且深度信息起主导作用,而在SLAM和SFM算法中输入的是主要是彩色信息,个别工作也有结合深度信息。
其次,侧重点不同。SLAM框架类算法中,定位还是主体。我们通常需要定位能实时响应,而稠密地图的构建通常规模和计算量都较大,因此地图的构建却不一定需要实时。当然,地图比较稀疏时,也能实时建图,但并不满足实际需求。另一种思路是以建图为主体,定位次之,旨在构建稠密准确的高质量地图,这种高质量地图可以提供给SLAM算法定位使用,而基于RGB-D相机的三维重建”便是满足上述需求的一种方法。
“基于RGB-D相机的三维重建”以及“基于深度相机的三维重建“和“基于fusion系列方法的三维重建”其实是三种等价的说法。由于该领域发表的大多数工作都在标题里带有“fusion”,业内也简称这些相关工作为“基于fusion系列方法”,所以本文中也使用“基于fusion系列方法”来描述
基于fusion系列的三维重建其实可以大体分为两种,一种是对于静态场景的三维重建,以KinectFusion为典型代表一种是对于动态场景的三维重建,以DynamicFusion为典型代表。而不论是静态场景亦或是动态场景的fusion系列重建,最大特点就是使用了TSDF模型(截断符号距离函数模型),当然也有个别工作使用了面元(Surfel)的表示方法(面元简单来讲就是点,法线,颜色,权重,半径以及时间戳等属性的集合)。值得一提的是,基于动态场景的三维重建的难度远大于基于静态场景的三维重建,当然,对于拓扑不会发生变化的重建(比如驱动一个三维网格模板模型),难度会下降很多。
为了更好的理解fusion系列方法,这里在介绍下TSDF模型。TSDF全称是Truncated Signed Distance Function缩写,译为截断符号距离函数。通常我们先选定要建模的三维空间,比如2m×2m×2m那么大,然后将这个三维空间分割成许多小块,分辨率通常为256×256×256或是128×128×128,每一个小块被称为体素
TSDF模型中每个体素存储的是该小块与其最近的物体表面的距离。如果该小块在该物体表面的的前面,则它存储一个正值;如果该小块位于物体表面之后,那么就存储一个负值。进一步,通常认为物体表面是有厚度的,所以把值太大和值太小的都置为1或是-1,这样就得到了截断之后的距离,也就是所谓的TSDF模型。最后按照定义,TSDF为0的地方就是重建表面所在。换种说法就是TSDF数值由负数过渡到正数的地方。如下图中人脸就出现在TSDF值改变符号,即TSDF值为0的地方,如下图。
再来说说Surfel,如下图。

Surfel这种表示方法最早于2000年提出用于模型渲染,如下图所示,每一个Surfel可以理解成一个小面片,包含以下要素:

  • 空间点坐标,即面片位置;
  • 空间法向量,即面片方向;
  • 颜色;
  • 权重,即根据当前点到相机的距离进行初始化,距离越远,权重越小;
  • 半径,即由当前表面到相机光心的距离决定,距离越大,半径越大;
  • 时间戳;

下面分别介绍下代表性工作。

 

1


基于静态场景的三维重建



1.KinectFusion
KinectFusion是Richard A. Newcombe的经典之作。该系统仅需要一个移动的低成本深度相机,便可以重建任意并且较为复杂的室内场景。其核心思想将Kinect传感器采集的深度数据流实时融入到(fusion into)一个当前场景对应的全局的隐式表面模型(TSDF模型)中,并使用一个由粗到精的迭代最近点(ICP)算法跟踪当前采集的深度帧数据与上文的全局的隐式表面模型之间的相对关系,从而获得Kinect传感器的位姿变化。
同时这个系统也有着不足之处,该系统只能重建小于7立方米的体空间。主要原因有两点:由于该系统采用稠密的体积表示方式,因此需要消耗大量内存;另外在重建较大建筑时不断累积的误差会造成“飘移”现象。以上两点原因使得Kinectfusion无法重建较大建筑。
论文链接https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/ismar2011.pdf    

代码链接:https://github.com/ParikaGoel/KinectFusion

演示:


2.Kintinuous
上述 KinectFusion 算法使用固定体积的网格模型(如256×256×256)表示重建的三维场景,从而只能重建固定大小的场景;另外当重建体积较大,或者网格的空间分辨率较高时很消耗显存。而且 KinectFusion 算法没有回环检测和回环优化,这也造成当相机移动距离大时,不可避免的会有累积误差。Kintinuous算法是比较完善的三维重建系统,融合了回环检测回环优化,还在实时三维刚体重建中使用了deformation graph做非刚体变换,根据回环优化的结果,更新点的坐标,使得回环的地方两次重建的可以对齐。该算法适合大场景的三维重建。
论文链接:http://www.thomaswhelan.ie/Whelan12rssw.pdf
代码链接:https://github.com/mp3guy/Kintinuous

演示:


3.ElasticFusion
该算法的作者同时也是Kintinuous的作者,不同于Kintinuous的是,ElasticFusion使用了面元(Surfel)的表示方法,并且是用于小场景重建。该工作的主要贡献有两点:将许多“model-to-model”的局部闭环和较大规模的全局闭环结合在一起。因此可以保证重建地图的分布的尽可能相近,并且保证了重建结果的全局一致性;另外该算法对探测离散的多点光源环境比较高效,也能在该条件下获得较好的重建结果。
另外该算法也面临巨大的挑战,如何解决整个房间以外的地图可扩展性问题以及如何随着时间变化,保证重建地图的全局一致的稳定性。
论文链接:http://www.thomaswhelan.ie/Whelan16ijrr.pdf
                 http://roboticsproceedings.org/rss11/p01.pdf
代码链接:https://github.com/mp3guy/ElasticFusion

演示:


4.ElasticReconstruction

该工作提供一种从RGB-D视频重建室内场景重建的方法,其核心思想在于将场景片段的几何配准全局优化相结合。场景片段是通过将输入RGB-D视频流分割成若干帧为一组的场景片段得到的。这种以场景片段为单位进行深度信息的融合可以有效地去除深度图的噪声,从而获得更加准确的表面法向信息以及重建结果。
论文链http://vladlen.info/papers/indoor.pdf
代码:https://link.zhihu.com/?target=https%3A//github.com/qianyizh/ElasticReconstruction

演示:



5.InfiniTAM

       
InfiniTAM是一个开源、跨平台、实时的大范围深度信息融合与跟踪技术框架。该算法有好几个版本,有很大的借鉴意义。值得一提的是,InfiniTAM能够比KinectFusion重建更加大范围的3D环境,其关键因素在于InfiniTAM采用了哈希表的方式来存储隐式的体积表示,极大地节省了内存空间的消耗。

论文链接https://arxiv.org/pdf/1708.00783.pdf
代码链接:https://github.com/victorprad/InfiniTAM

演示:



6.BundleFusion


Bundlefusion应该是目前静态场景重建效果最佳的方案了。该方法提出一个并行化的优化框架,充分利用了基于稀疏特征以及稠密几何光度匹配提取的对应关系,实时地估计了BA优化的姿态,并具有从追踪失败中恢复(即重定位)的鲁棒追踪能力。

论文链接:https://arxiv.org/pdf/1604.01093.pdf
代码链接:https://github.com/niessner/BundleFusion‍

演示:



2


基于动态场景的三维重建



1.DynamicFusion


DynamicFusion获得了2015年CVPR的Best Paper Award,其作者是Newcombe,和KinectFusion是一个作者。DynamicFusion是不基于任何模板先验信息的动态重建算法,可是说是实时动态重建的开山之作。DynamicFusion系统在重建场景的几何的同时也在估计稠密体积表示的6D形变域。类似KinectFusion,该系统能随着深度数据的采集,而获得一个逐渐去噪,保留细节并且较为完整的重建结果。
但同时由于DynamicFusion没有采用任何先验信息使得该算法对于帧间较大的运动以及遮挡区域的运动都不具备鲁棒性;此外DynamicFusion可以较好处理封闭拓扑的表面重建,对于拓扑发生变化就无能为力了。例如我们嘴一开始闭着,后面再打开的情况就没法处理;另外由于追踪的累积误差,使得环闭合失败
              
论文链接:
https://rse-lab.cs.washington.edu/papers/dynamic-fusion-cvpr-2015.pdf

演示:



2.volumeDeform

volumeDeform算法和dynamicFusion类似,都无需预先定义的模板,同样采用体积表示(volumetric representation)的方法来参数化重建模型的几何以及运动该算法的运动追踪基于提取的全局稀疏彩色特征(如SIFT算子)以及稠密的深度图两者的结合,增强了特征匹配点寻找准确的鲁棒性,进而极大地减小了重建模型的累积误差以及漂移现象 。

该算法的不足之处在于尽管全局SITF特征算子的匹配提高了系统的鲁棒性,减小了对齐的误差,但漂移现象仍然不能完全消除;另外由于正则项的设置使得极度弯曲的物体的重建结果在运动上会显得平滑,变得不那么弯曲。
论文链接:https://graphics.stanford.edu/~niessner/papers/2016/5volumeDeform/innmann2016deform.pdf

演示:



3.BodyFusion


从BodyFusion开始就变得更有意思了。BodyFusion使用人体骨架作为先验信息,实现鲁棒了的人体动态重建。人体骨架的引入减少了重建表面图节点的非刚性形变参数化的歧义性,也是在一定程度上缩小了解空间。
不足之处在于所使用的人体骨骼所包含的关节点太过稀疏,并且运动较快时,会在深度图上出现运动模糊的情况,从而造成重建方法受限。

论文链接:http://www.liuyebin.com/bodyfusion/bodyfusion_files/BdyFu_ICCV17.pdf

演示:


4.DoubleFusion


DoubleFusion非常惊艳,该系统将数字驱动的模板(SMPL模型)以及实时重建的稠密几何非刚性运动以及内层人体形状充分结合在一起。该系统的关键贡献之一在于提出了双层表面的表示,这里的两层主要是指里层的参数化模型表面(inner body),也就是SMPL模型的shape,以及外层通过深度融合得到的表面(outer surface)。该算法的另一个关键贡献在于提出了一个基于双层表面表示的联合运动追踪,使得整个系统可以在快速运动的情况下仍然具有鲁棒性。
不足之处在于当用户穿着比较肥大的时候,估计的人体也偏胖;并且无法处理外层表面发生分离的情况,以及无法处理人和物体交互的情况。

论文链接:http://www.liuyebin.com/doublefusion/doublefusion_files/doublefusion.pdf

演示:



5.UnstructuredFusion‍

通常多相机系统需要一些特殊设计的相机以及预先精细的相机标定操作,但UnstructuredFusion算法可以使用未经预先标定以及同步的三个深度相机以一种互补并灵活的方式覆盖整个人体,从而实现实时,高质量,完整的动态人体重建。
该算法也有不足之处。由于输入深度图分辨率受限,该算法无法重建目标非常细小的部分,比如人的脸部区域;该算法也无法处理网格拓扑分离的情况;该算法也无法处理人-物交互情况。

论文链接:https://ieeexplore.ieee.org/document/8708933

演示:



6.RobustFusion


诚如算法名字RobustFusion所示,该算法使用了各种数据驱动的视觉线索提高动态重建算法的鲁棒性。这些数据驱动的视觉线索具体包括Occupancy Network,Pose&Shape Network以及Semantic Network。 该算法充分利用了上述数据驱动的视觉线索,避免了预先扫描模板的使用,具备了重新初始化的能力,使得该系统能够处理极具挑战性的运动和几何的重建。
该系统的不足之处有:该系统无法实时运行;不能处理重建网格拓扑发生分离的情况,比如脱掉衣服;不能实现人和物的交互;当一些极端运动姿态在上述网络训练时没有出现过,那上述数据驱动的视觉线索就不能很好地提供先验信息。

论文链接:https://www.ecva.net/papers/eccv_2020/papers_ECCV/papers/123490239.pdf



7.KillingFusion

KillFusion是基于Killing Vector Fields提出的实时三维重建方法,也是不需要任何预先扫描的模板信息以或是形状先验。KillingFusion不需要显式地进行对应匹配点的搜索,当给定感兴趣区域的一对SDF(signed distance fields),该算法可以估计出一个稠密形变域来对齐给定的SDF。具体的,该算法定义一个和SDF相同分辨率的位移向量域(displacement vector field),并通过最优化迭代求解。
该算法的不足之处也是由于其优点造成,不显式地寻找对应点也使得该算法在某些需要显式的对应点的操作上无法应用,比如纹理映射就需要显式的对应点。

论文链接:http://campar.in.tum.de/pub/slavcheva2017cvpr/slavcheva2017cvpr.pdf

演示:



8.SurfelWarp

SurfelWarp是三维动态重建方案中为数不多的基于面元的算法。类似的,该算法输入一个深度图序列,对非刚性场景进行实时重建,无需任何模板或是先验信息。与现有的方法相比,该算法无需维持体积数据结构,比如TSDF模型,该系统采用面元(surfel)的几何表示,极大地增强了拓扑发生改变时的追踪能力,从而获得一致的重建结果。
该算法的不足之处在于,模型重初始化可以极大地提高系统的鲁棒性,然而清除错误的面元会破坏模型的完整性

论文链接:
https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/1904.13073.pdf

演示:


9.Fusion4D


Fusion4D的重建结果也非常惊艳。该算法是基于多视角方案,没有使用任何先验信息,因此理论上可以重建任何场景或是物体。如视频所示,除了对人体动态重建,还能对狗子动态重建。该算法很重要的一点贡献是引入了key volume,因此对于较大的帧间运动以及网格拓扑发生改变时都有很强的鲁棒性;另外Fusion4D还引入了体素碰撞检测,从而得到正确的TSDF模型。
该系统不足之处在于当RGBD输入流帧率过低或者帧间运动过大时,会使帧间对应匹配点估计不准确,造成非刚性对齐过程无法收敛。

论文链接https://www.microsoft.com/en-us/research/wp-content/uploads/2016/11/a114-dou.pdf

                 
如果各位小伙伴想观看完整的演示效果,可以点击这里:
https://zhuanlan.zhihu.com/p/296509722


来源:新机器视觉


申明:感谢原创作者的辛勤付出。本号转载的文章均会在文中注明,若遇到版权问题请联系我们处理。


 

----与智者为伍 为创新赋能----


【说明】欢迎企业和个人洽谈合作,投稿发文。欢迎联系我们
诚招运营合伙人 ,对新媒体感兴趣,对光电产业和行业感兴趣。非常有意者通过以下方式联我们!条件待遇面谈
投稿丨合作丨咨询

联系邮箱:uestcwxd@126.com

QQ:493826566




评论
  • 高速先生成员--黄刚这不马上就要过年了嘛,高速先生就不打算给大家上难度了,整一篇简单但很实用的文章给大伙瞧瞧好了。相信这个标题一出来,尤其对于PCB设计工程师来说,心就立马凉了半截。他们辛辛苦苦进行PCB的过孔设计,高速先生居然说设计多大的过孔他们不关心!另外估计这时候就跳出很多“挑刺”的粉丝了哈,因为翻看很多以往的文章,高速先生都表达了过孔孔径对高速性能的影响是很大的哦!咋滴,今天居然说孔径不关心了?别,别急哈,听高速先生在这篇文章中娓娓道来。首先还是要对各位设计工程师的设计表示肯定,毕竟像我
    一博科技 2025-01-21 16:17 197浏览
  • 故障现象 一辆2007款日产天籁车,搭载VQ23发动机(气缸编号如图1所示,点火顺序为1-2-3-4-5-6),累计行驶里程约为21万km。车主反映,该车起步加速时偶尔抖动,且行驶中加速无力。 图1 VQ23发动机的气缸编号 故障诊断接车后试车,发动机怠速运转平稳,但只要换挡起步,稍微踩下一点加速踏板,就能感觉到车身明显抖动。用故障检测仪检测,发动机控制模块(ECM)无故障代码存储,且无失火数据流。用虹科Pico汽车示波器测量气缸1点火信号(COP点火信号)和曲轴位置传感器信
    虹科Pico汽车示波器 2025-01-23 10:46 152浏览
  • 前篇文章中『服务器散热效能不佳有解吗?』提到气冷式的服务器其散热效能对于系统稳定度是非常重要的关键因素,同时也说明了百佳泰对于散热效能能提供的协助与服务。本篇将为您延伸说明我们如何进行评估,同时也会举例在测试过程中发现的问题及改善后的数据。AI服务器的散热架构三大重点:GPU导风罩:尝试不同的GPU导风罩架构,用以集中服务器进风量,加强对GPU的降温效果。GPU托盘:改动GPU托盘架构,验证出风面积大小对GPU散热的影想程度。CPU导风罩:尝试封闭CPU导风罩间隙,集中风流,验证CPU降温效果。
    百佳泰测试实验室 2025-01-24 16:58 63浏览
  • 随着AI大模型训练和推理对计算能力的需求呈指数级增长,AI数据中心的网络带宽需求大幅提升,推动了高速光模块的发展。光模块作为数据中心和高性能计算系统中的关键器件,主要用于提供高速和大容量的数据传输服务。 光模块提升带宽的方法有两种:1)提高每个通道的比特速率,如直接提升波特率,或者保持波特率不变,使用复杂的调制解调方式(如PAM4);2)增加通道数,如提升并行光纤数量,或采用波分复用(CWDM、LWDM)。按照传输模式,光模块可分为并行和波分两种类型,其中并行方案主要应用在中短距传输场景中成本
    hycsystembella 2025-01-25 17:24 85浏览
  • 项目展示①正面、反面②左侧、右侧项目源码:https://mbb.eet-china.com/download/316656.html前言为什么想到要做这个小玩意呢,作为一个死宅,懒得看手机,但又想要抬头就能看见时间和天气信息,于是就做个这么个小东西,放在示波器上面正好(示波器外壳有个小槽,刚好可以卡住)功能主要有,获取国家气象局的天气信息,还有实时的温湿度,主控采用ESP32,所以后续还可以开放更多奇奇怪怪的功能,比如油价信息、股票信息之类的,反正能联网可操作性就大多了原理图、PCB、面板设计
    小恶魔owo 2025-01-25 22:09 149浏览
  • 不让汽车专美于前,近年来哈雷(Harley-Davidson)和本田(Honda)等大型重型机车大厂的旗下车款皆已陆续配备车载娱乐系统与语音助理,在路上也有越来越多的普通机车车主开始使用安全帽麦克风,在骑车时透过蓝牙连线执行语音搜寻地点导航、音乐播放控制或免持拨打接听电话等各种「机车语音助理」功能。客户背景与面临的挑战以本次分享的客户个案为例,该客户是一个跨国车用语音软件供货商,过往是与车厂合作开发前装车机为主,且有着多年的「汽车语音助理」产品经验。由于客户这次是首度跨足「机车语音助理」产品,因
    百佳泰测试实验室 2025-01-24 17:00 68浏览
  •     IPC-2581是基于ODB++标准、结合PCB行业特点而指定的PCB加工文件规范。    IPC-2581旨在替代CAM350格式,成为PCB加工行业的新的工业规范。    有一些免费软件,可以查看(不可修改)IPC-2581数据文件。这些软件典型用途是工艺校核。    1. Vu2581        出品:Downstream     
    电子知识打边炉 2025-01-22 11:12 217浏览
  • 临近春节,各方社交及应酬也变得多起来了,甚至一月份就排满了各式约见。有的是关系好的专业朋友的周末“恳谈会”,基本是关于2025年经济预判的话题,以及如何稳定工作等话题;但更多的预约是来自几个客户老板及副总裁们的见面,他们为今年的经济预判与企业发展焦虑而来。在聊天过程中,我发现今年的聊天有个很有意思的“点”,挺多人尤其关心我到底是怎么成长成现在的多领域风格的,还能掌握一些经济趋势的分析能力,到底学过哪些专业、在企业管过哪些具体事情?单单就这个一个月内,我就重复了数次“为什么”,再辅以我上次写的:《
    牛言喵语 2025-01-22 17:10 282浏览
  • 飞凌嵌入式基于瑞芯微RK3562系列处理器打造的FET3562J-C全国产核心板,是一款专为工业自动化及消费类电子设备设计的产品,凭借其强大的功能和灵活性,自上市以来得到了各行业客户的广泛关注。本文将详细介绍如何启动并测试RK3562J处理器的MCU,通过实际操作步骤,帮助各位工程师朋友更好地了解这款芯片。1、RK3562J处理器概述RK3562J处理器采用了4*Cortex-A53@1.8GHz+Cortex-M0@200MHz架构。其中,4个Cortex-A53核心作为主要核心,负责处理复杂
    飞凌嵌入式 2025-01-24 11:21 162浏览
  • 书接上回:【2022年终总结】阳光总在风雨后,启航2023-面包板社区  https://mbb.eet-china.com/blog/468701-438244.html 总结2019,松山湖有个欧洲小镇-面包板社区  https://mbb.eet-china.com/blog/468701-413397.html        2025年该是总结下2024年的喜怒哀乐,有个好的开始,才能更好的面对2025年即将
    liweicheng 2025-01-24 23:18 121浏览
  • 嘿,咱来聊聊RISC-V MCU技术哈。 这RISC-V MCU技术呢,简单来说就是基于一个叫RISC-V的指令集架构做出的微控制器技术。RISC-V这个啊,2010年的时候,是加州大学伯克利分校的研究团队弄出来的,目的就是想搞个新的、开放的指令集架构,能跟上现代计算的需要。到了2015年,专门成立了个RISC-V基金会,让这个架构更标准,也更好地推广开了。这几年啊,这个RISC-V的生态系统发展得可快了,好多公司和机构都加入了RISC-V International,还推出了不少RISC-V
    丙丁先生 2025-01-21 12:10 1021浏览
  •  万万没想到!科幻电影中的人形机器人,正在一步步走进我们人类的日常生活中来了。1月17日,乐聚将第100台全尺寸人形机器人交付北汽越野车,再次吹响了人形机器人疯狂进厂打工的号角。无独有尔,银河通用机器人作为一家成立不到两年时间的创业公司,在短短一年多时间内推出革命性的第一代产品Galbot G1,这是一款轮式、双臂、身体可折叠的人形机器人,得到了美团战投、经纬创投、IDG资本等众多投资方的认可。作为一家成立仅仅只有两年多时间的企业,智元机器人也把机器人从梦想带进了现实。2024年8月1
    刘旷 2025-01-21 11:15 822浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦