1、 Poisson-Disk Sampling性质
一个理想的 Poisson 圆盘采样点集需要满足 3 个条件:
(1) 无偏差采样性质 (采样区域的每个没有被覆盖的点都有相同的概率接受一个新的采样点);
(2) 最小距离性质 (任意两个采样点之间的距离大于给定的采样半径);
(3) 最大化性质 (采样区域被所有的采样圆盘完全覆盖).
满足这 3 个条件的采样方法称为最大化 Poisson 圆盘采样 (maximal Poisson-disk sampling, MPS).
2、Poisson-Disk Sampling特点及应用范围
Crow等分析了不同的随机采样过程的频谱特性,发现了消除普通采样中常出现的图像混叠的方法。在这些随机采样的点集分布中,泊松圆盘采样因其频谱具有蓝噪声特性在消除图像混叠的表现中更为出色。
点集的蓝噪声特性是指点集的频谱中含有较少的低频分量,而且能量谱无集中峰值,在相应的应用中(如渲染Rendering、点画Stippling、纹理合成Texture Synthesis、物体的分布Object Distribution、数值仿真Numerical Simulation)获得了更好的效果。
3、 Poisson-Disk Sampling分为上采样及降采样,大部分论文都是对上采样算法的优化。但我们要做的是降采样
伪代码如下:
function WeightedSamplingElim(samples)
Build a K-Dtree for each samples
Assign weights wi to each sample si
Build a heap for si using weights wi
While number of samples > desired
sj <- pull the top sample from heap
For each sample si around sj
Remove wij from wi
Update the heap position of si
伪代码说明:
每个sample都会被分配一个对应的权重,其权重的参数如下:
w[index] += weightFunction(point, p, d2, d_max)
其中point为每个泊松圆盘固定点
p为point周围的点
d2为周围点与point之间的距离
d_max为设定Poisson radius距离
4. 算法的优缺点
优点:
采样后的效果好,可以满足数据点均匀、保留细节部分情况较好,具有较好的蓝噪声特性。
缺点:
(1)其中,Assign weights to each sample和update the heap的时候耗时比较多,算法的时间复杂度较大
(2)文章中的点云输出条件为outputpoint.size(),这样的话我们无法控制采样后的输出点云密度,因为outputpoint的大小和输入点云的大小息息相关。
5. 基于Poisson Disk Sampling 上采样
参考文章:
《基于采样半径优化的最大化 Poisson 圆盘采样》
伪代码如下:
算法工作流程示意图如下: