当前位置: 首页 > article >正文

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

均值滤波

中值滤波:

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

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

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

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

中值滤波

双边滤波:

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

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

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

                                     c.双边滤波——参数50、100               d.双边滤波——参数60120

5 双边滤波

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

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

                                                               图6 测量场景

深度图去噪函数:

过曝滤除:

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

                                            a.原始点云                                b.IR=thresh1

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

                                        c.IR=thresh2

过曝滤除

欠曝滤除:

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

                                        a.原始点云                                b.IR=thresh1

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

                                        c.IR=thresh2

欠曝滤除

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 分段梯度去噪

组合去噪:

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


http://www.kler.cn/news/322447.html

相关文章:

  • 手搓一个Agent#Datawhale 组队学习Task3
  • Android常用C++特性之std::move
  • 【机器学习(九)】分类和回归任务-多层感知机(Multilayer Perceptron,MLP)算法-Sentosa_DSML社区版
  • 华为HarmonyOS灵活高效的消息推送服务(Push Kit) -- 6 撤回通知消息
  • tomcat 文件上传 (CVE-2017-12615)
  • 计算机知识科普问答--21(101-105)
  • 【FE】NPM——概述
  • 13年408计算机考研-计算机网络
  • 动态规划算法:13.简单多状态 dp 问题_打家劫舍II_C++
  • 搜索软件 Everything 的安装与使用教程
  • Vue使用Vue Router路由:通过URL传递与获取参数
  • C语言-IO
  • 卷积神经网络-最优模型
  • SSH 安全实战:保护您的远程访问
  • 嵌入式的核心能力-Debug调试能力(一)
  • 【分布式微服务】探索微服务架构下的服务治理
  • 1.MySQL的安装
  • AcWing 835. Trie字符串统计
  • 设计模式介绍
  • OJ在线评测系统 将代码沙箱开放为API 跑通前端后端整个项目 请求对接口
  • 后端开发刷题 | 没有重复项数字的全排列
  • 家庭网络的ip安全性高吗
  • 为什么IP首部的源IP地址和目的IP地址不变而MAC层的源MAC地址和目的MAC地址变
  • Spring Boot电商开发:购物商城系统
  • F28335 的 EPWM 外设
  • 鸿蒙_异步详解
  • Python知识点:如何使用Python进行卫星数据分析
  • 如何选择数据库架构
  • Redis 的 Java 客户端有哪些?官方推荐哪个?
  • socket.io-client实现实前后端时通信功能