TOF系列—深度图滤波

本篇文章主要介绍TOF深度图的后处理,鉴于自身水平所限,如有错误,欢迎批评指正。(欢迎进Q群交流:874653199)

TOF由于其本身的特性,导致其所获得的深度图存在以下问题:

1.对空的地方存在许多离散噪点;

2.边缘处存在许多飞点;

3.点云不够平滑。

对深度图进行滤波处理,可以有效的去除噪点,并获得更为平滑的点云数据。深度图的滤波可以分为以下三个部分:

1.深度图去噪;

2.深度图平滑;

3.深度图补全。

深度图去噪是指去除对空的噪点,物体边缘产生的飞点,以及指定范围外的点。深度图平滑是指对深度图像进行平滑,深度图平滑在点云上的表现是点云更平整,厚度更薄。深度图补全则是针对去噪及平滑后的深度图进行补充,输出更多的有效信息(本博文不涉及)。

深度图平滑函数如下图所示:

图1 深度图平滑函数

中值滤波:将指定方框内的数据进行排序,并选取中间的数据替代当前的像素值;

均值滤波:将指定方框内的数据进行求和,并取均值,选取均值替代当前的像素值;

双边滤波:一种非线性滤波器,可保持边缘,并进行降噪平滑。采用加权平均,具有两个权重;

深度图去噪函数如下图所示:

图2 深度图去噪函数

IR过曝滤除:将IR值大于指定阈值像素的深度值置为零,由于像素点过曝会影响周围像素,所以同时将过曝点周围的像素深度值置零,经验长度为2;

IR欠曝滤除:将IR值小于指定阈值像素的深度值置为零,该像素点置信度降低,计算出的深度值不可靠;

Sobel边缘去噪:边缘通常是物体交界处,会产生一定的噪点,利用sobel进行边缘检测,并将边缘点去除;

连通域面积去噪:检测深度图中的连通域,并计算其面积,将面积小于阈值的连通域中的像素的对应深度值置零;

法向量去噪:根据深度图计算法向量,并根据阈值将像素值对应的深度值置零;

分类梯度去噪:根据阈值1将深度图分为前景和背景;将前景中梯度大于阈值2的像素点对应的深度值置零;将背景中梯度大于阈值2的像素点对应的深度值置零。

使用TOF模组正对白墙,采集数据,并进行相应的滤波。

深度图平滑函数:

均值滤波:

​​​​​​ ​​​​​​​

a.原始点云 b.均值滤波核=3

​​​​​​​ ​​​​​​​

c. 均值滤波核 d.均值滤波核=7

3 均值滤波

中值滤波:

​​​​​​​ ​​​​​​​

a.原始点云 b.中值滤波核=3

​​​​​​​ ​​​​​​​ ​​​​​​​

c. 中值滤波核=5 d. 中值滤波核=7

4 中值滤波

双边滤波:

​​​​​​​ ​​​​​​​ ​​​​​​​

a.原始点云 b.双边滤波------参数40、 80

​​​​​​​ ​​​​​​​ ​​​​​​​

c.双边滤波------参数50、100 d.双边滤波------参数 60 120

5 双边滤波

使用TOF采集如下场景的深度图,如下图所示:

​​​​​​​ ​​​​​​​ ​​​​​​​

图6 测量场景

深度图去噪函数:

过曝滤除:

​​​​​​​ ​​​​​​​

a.原始点云 b.IR=thresh1

​​​​​​​ ​​​​​​​

c.IR=thresh2

7 过曝滤除

欠曝滤除:

​​​​​​​ ​​​​​​​

a.原始点云 b.IR=thresh1

​​​​​​​ ​​​​​​​

c.IR=thresh2

8 欠曝滤除

sobel 边缘去噪:

​​​​​​​ ​​​​​​​

a.原始点云 b.sobel边缘去噪

9 sobel 边缘去噪

连通域面积去噪:

​​​​​​​ ​​​​​​​

a.原始点云 b.area=10

​​​​​​​ ​​​​​​​

c.area=30

10 连通域去噪

法向量去噪:

​​​​​​​ ​​​​​​​

a.原始点云 b.Normal

11 法向量去噪

分段梯度去噪:

​​​​​​​ ​​​​​​​

a.原始点云 ​​​​​​​ b.梯度1

​​​​​​​ ​​​​​​​

c.梯度2 ​​​​​​​ ​​​​​​​ d.梯度3

12 分段梯度去噪

组合去噪:

组合去噪可以有效的弥补各种方法的缺点,对于复杂场景,组合去噪删除了绝大部分的噪点,同时又尽可能多的保留了有效点数据。

相关推荐
程序员Linc9 分钟前
写给新人的深度学习扫盲贴:向量与矩阵
人工智能·深度学习·矩阵·向量
ゞ 正在缓冲99%…10 分钟前
leetcode76.最小覆盖子串
java·算法·leetcode·字符串·双指针·滑动窗口
xuanjiong10 分钟前
纯个人整理,蓝桥杯使用的算法模板day2(0-1背包问题),手打个人理解注释,超全面,且均已验证成功(附带详细手写“模拟流程图”,全网首个
算法·蓝桥杯·动态规划
xcLeigh17 分钟前
OpenCV从零开始:30天掌握图像处理基础
图像处理·人工智能·python·opencv
果冻人工智能20 分钟前
如何有效应对 RAG 中的复杂查询?
人工智能
2305_7978820929 分钟前
AI识图小程序的功能框架设计
人工智能·微信小程序·小程序
惊鸿.Jh29 分钟前
【滑动窗口】3254. 长度为 K 的子数组的能量值 I
数据结构·算法·leetcode
明灯L30 分钟前
《函数基础与内存机制深度剖析:从 return 语句到各类经典编程题详解》
经验分享·python·算法·链表·经典例题
果冻人工智能30 分钟前
向量搜索中常见的8个错误(以及如何避免它们)
人工智能
碳基学AI36 分钟前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义免费下载方法
大数据·人工智能·python·gpt·算法·语言模型·集成学习