voxblox论文阅读记录

voxblox论文阅读记录

  • 总体流程图
  • 数据更新描述
  • voxel内的数值集成方式
  • 从TSDF构建ESDF
    • 关于《Improved updating of euclidean distance maps and voronoi diagrams》
  • 从TSDF构建MESH

总体流程图

voxblox论文阅读记录_第1张图片

数据更新描述

voxblox论文阅读记录_第2张图片

s是传感器的中心位置;
p是打到的物体的位置;
x是某个voxel的中心:sp连线经过的某个voxel

第1个公式,sign计算了符号,p-x计算的是绝对值,表示voxel中心到障碍物的距离;
剩下的几个公式好理解。

对于权重,作者提出了更复杂的计算方式:
voxblox论文阅读记录_第3张图片

voxel内的数值集成方式

分为两种:raycasting 以及 projection。
raycasting的做法:对深度图中的所有点,都计算出其与sensor中心点的连线,看这个连线穿过哪些voxel,一直计算到比深度距离多一个阈值的距离(意味着对于现在的这个深度点背后的voxel也会更新),每个voxel都按照上面的公式进行权重以及距离的计算更新;
projection的做法:将fov内的voxel,投影到深度图上,计算该voxel中心点坐标与对应的深度图上的深度的信息的差值。
显然,projection会更快。
但如果voxel很大,这个voxel会涵盖很多个深度图的像素点,造成精度问题。

作者提出的叫做merge的方法也很直接,就是对于深度图的每个点,都计算出其对应的voxel grid,将所有对应到相同voxel grid的深度图的点进行平均,然后再使用raycasting的方式进行更新。
注意,这里说的voxel grid是一个空格子,仅仅是用来聚合深度图的点的,里面的值与tsdf的值无关,而是完全由当前帧的数据生成的。据作者说可以比一般的raycasting快20倍,而效果相差很小。

从TSDF构建ESDF

这里必须得先看《Improved updating of euclidean distance maps and voronoi diagrams》,否则概念不会清晰。
fixed band:
esdf的voxel对应的tsdf的voxel的值满足 : |v T .d| < γ
where γ is the radius of the band
来自fixed band内的esdf的距离值是不能修改的。

children:

neighbour:
三维空间的333的最中间的周围是26个其他voxel。

wavefront:

raise queue:
如果一个esdf的voxel从对应的tsdf的voxel得到的距离值比之前存储的距离值大,则将该esdf的voxel连同它的children放入到raise queue中。

lower queue:
当有一个esdf voxel是来自fixed band时,或者一个esdf的voxel的距离值更新后小于之前的值(意味这它距离障碍物更近),就将这个esdf voxel放入到lower queue中。

关于《Improved updating of euclidean distance maps and voronoi diagrams》

先暂记一下:
voxblox论文阅读记录_第4张图片

从TSDF构建MESH

你可能感兴趣的:(地图处理,voxblox,TSDF,ESDF)