基于传统的三维点云补全方法

2023-09-14 11:32:58

图片

目前,三维视觉受到了学术界和工业界的广泛关注,在目标检测、语义分割、三维重建等领域都取得了突破性的进展。然而,一个固有的问题是由于物体遮挡、镜面反射、物体自遮挡、视角变换和传感器分辨率的限制,传感器在真实场景下所获取的数据并不完整,阻碍了下游任务的研究进展。

同时,在点云后续一系列的处理中,比如点云去噪、平滑、配准和融合等操作中,也会大大加剧点云的缺失,直接影响了点云重构、模型重建、局部空间信息提取和后续处理的质量。

对人类来说,可以利用学到的先验知识估计出缺失区域的几何和语义信息,但对计算机而言是比较困难的。因此,进行三维点云补全更有利于提高场景理解的准确度。传统方法主要通过几何对称法、表面重建法、模板匹配法等方式进行补全。

1.几何对称法

由于许多自然和人造物体表现出显著的对称性或包含重复的子结构,因此,最初的形状补全方法主要是利用物体或空间呈现的几何对称性,恢复缺失区域的重复结构。该方法假设了缺失的几何部分在现有的部分观测信息中具有重复结构,对于大部分呈现立体对称结构的简单物体是有效的。

然而,对称性假设并不适用于自然界中的所有物体,故可以基于成对匹配简单的局部形状特征来适当积累变换空间中对称性。如图1所示,采用部分对称性或近似对称性进行匹配验证,从而提取欧几里得对的对称性表示,随后基于统计抽样分析,提高成功率。

图片

图1 示例对称点云

2.表面重建法

现有的表面重建方法主要分为插值和拟合两种方式。

插值法是将表面上集中的数据点作为初始条件,通过不同算法执行插值操作得到密集表面。最常用的是以下几种方法:

(1)最近邻插值法:对于待插值点,直接选择离其最近的点作为插值结果。该方法简单快速,但可能会导致点云表面粗糙。

(2)线性插值:对于待插值点,根据其周围的点的位置和属性进行线性插值计算。该方法可以得到较为平滑的结果,但可能会在一些情况下引入误差。

(3)基于高斯过程的插值:利用高斯过程模型对点云进行建模,通过预测未知点的属性来进行插值。该方法可以考虑点云的全局特征,但计算复杂度较高。

(4)基于光滑度的插值:通过对点云进行平滑度估计,选择最佳的邻域来进行插值。该方法能够保持点云的平滑性,但可能会导致细节丢失。

(5)基于网格的插值:将点云转化为网格形式,利用网格内部数据进行插值。该方法可以有效地处理密集点云,但可能会引入网格化的误差。

基于拟合的三维表面重建方法则是利用采样点云直接重建近似表面,通常以隐式形式表示,以下是几种常见的方法:

(1)最小二乘法:可以用于拟合点云数据为平面、曲线或曲面。通过最小化点到拟合曲线或曲面的距离平方和,得到最佳的拟合结果。

(2)RANSAC:可以用于拟合点云数据为平面、直线或其他几何形状。它通过随机采样一组数据点进行拟合,并根据预设的阈值判断数据点是否属于拟合模型,迭代优化最佳拟合结果。

(3)B样条曲面:B样条曲面是一种常用的曲面拟合方法,可以用于重建光滑的曲面。它通过控制顶点和节点向量来定义曲面形状,并利用最小二乘法或其他优化算法进行拟合,得到点云的表面。

(4)网格拟合:网格拟合方法将点云数据转化为网格结构,然后通过优化网格形状来拟合点云表面。

3.模板匹配法

模板匹配法是基于已知的模板形状,通过匹配点云中的局部区域来估计缺失或不完整的形状,主要步骤如下:

①模板选择:从已有的点云数据中选择一个或多个典型的模板形状作为参考。模板可以是手动选择的、经验确定的或者通过其他方法生成的。

②模板匹配:对于待补全区域中的每个点,通过计算其与模板之间的相似度来匹配最合适的模板。相似度可以使用距离度量、形状特征等进行计算。

③形状重建:根据匹配到的模板,将待补全区域的点云进行形状重建。可以使用插值、拟合曲线或曲面等方法来生成缺失区域的形状。

④对齐和融合:将补全的形状与原始点云进行对齐和融合,以保持整体形状的连贯性和一致性。

由于模板匹配方法对于模板选择和匹配准确性要求较高,且对于复杂形状或大规模点云可能存在计算复杂度较高的问题。因此,在实际应用中需要根据具体情况选择合适的方法和策略。

4.总结

目前,基于对称方法已较少使用,主要是由于泛化性较低。在插值和拟合的表面重建法中,仍然需要根据不同的场景情形来选择具体的算法。最后的模板匹配方法,尽管取得了较好的补全结果,但通常存在寻优速度慢和对噪声比较敏感的问题,同时还比较依赖于较大的模型库来覆盖补全的全部形状。

更多推荐

竞赛选题 基于深度学习的中文情感分类 - 卷积神经网络 情感分类 情感分析 情感识别 评论情感分类

文章目录1前言2情感文本分类2.1参考论文2.2输入层2.3第一层卷积层:2.4池化层:2.5全连接+softmax层:2.6训练方案3实现3.1sentence部分3.2filters部分3.3featuremaps部分3.41max部分3.5concat1max部分3.6关键代码4实现效果4.1测试英文情感分类效果

72、Spring Data JPA 的 Specification 动态查询

Specification:规范、规格★Specification查询它也是SpringData提供的查询——是对JPA本身Criteria动态查询的包装。▲为何要有动态查询页面上常常会让用户添加不同的查询条件,程序就需要根据用户输入的条件,动态地组合不同的查询条件。JPA为动态查询提供了Criteria查询支持。Sp

基于SpringBoot的驾校管理系统

基于SpringBoot+Vue的驾校管理系统、前后端分离开发语言:Java数据库:MySQL技术:SpringBoot、Vue、MybaitsPlus、ELementUI工具:IDEA/Ecilpse、Navicat、Maven【主要功能】角色:管理员、用户、教练管理员:学员管理、教练管理、驾校信息管理、报名信息管理

P7075 [CSP-S2020] 儒略日

题目题目描述为了简便计算,天文学家们使用儒略日(Julianday)来表达时间。所谓儒略日,其定义为从公元前4713年1月1日正午12点到此后某一时刻间所经过的天数,不满一天者用小数表达。若利用这一天文学历法,则每一个时刻都将被均匀的映射到数轴上,从而得以很方便的计算它们的差值。现在,给定一个不含小数部分的儒略日,请你

反向动力学Ik学习

参考文章:(非本人原创)英文原文:InverseKinematicsTechniquesinComputerGraphics:ASurvey(andreasaristidou.com)知乎翻译文章:【游戏开发】逆向运动学(IK)详解-知乎(zhihu.com)概念正向运动学(Forwardkinematics,FK):

如何理解和掌握数据的意义和数据分类?

如今,数据是最重要的资源。在大数据时代,一切被记录的事实都是数据,它既可以变现为数值,也可以变现为任何其他形式。那么对于数据的意义和数据分类我们如何去理解和掌握呢?一般可以从这几个方面入手:第一,明确数据的含义。数据可以是数字、文字、字母、符号、图形、图像、视频、音频等,也可以是这些元素的组合。数据可以是对客观事物的记

运维必会的常用linux命令<建议收藏>

文章目录Linux系统简介国产操作系统基本命令cd命令ls命令查看文本文件内容-cat命令分页查看文本文件-less命令查看CPU信息-lscpu命令查看系统内核版本-uname命令查看IP地址-ifconfig命令创建目录-mkdir命令创建空文件-touch命令查看文件前几行-head命令查看文件后几行-tail命

【云原生持续交付和自动化测试】5.3 持续交付和DevOps实践基础知识

往期回顾:第一章:【云原生概念和技术】第二章:【容器化应用程序设计和开发】第三章:【基于容器的部署、管理和扩展】第四章:【微服务架构设计和实现】第五章:【5.1自动化构建和打包容器镜像】第五章:【5.2自动化测试和集成测试】持续交付和DevOps实践基础知识5.3.1什么是持续交付5.3.2DevOps实践基础知识5.

云原生之深入解析K8S集群内的服务通信

一、传统的服务到服务通信Kubernetes支持服务间通信的3个原生k8s对象分别为:ClusterIPService、DNS和Kube-Proxy:在进入Kubernetes生态系统之前,快速了解一下传统的服务到服务通信:通信是通过IP地址进行的,因此为了让服务A调用服务B,一种方法是为服务B分配一个静态IP地址。现

Qt应用开发(基础篇)——菜单 QMenu

一、前言QMenu类继承于QWidget,它提供了一个菜单样式的小部件,用于菜单栏、上下文菜单和一些弹出式菜单。QMenu菜单的选项是可选的,它可以是一个下拉的菜单,也可以是独立的上下文菜单。下拉菜单通常作用于当用户单击相应的项目或按下指定的快捷键时,使用QMenuBar::addMenu()将菜单插入到菜单栏中,菜单

复杂问题问答

复杂问题问答写在最前面复杂问题问答问答系统分类知识图谱现存问题论文1分类写在最前面希望通过了解,找到目标应用场景的方法具体属于哪一个分支,并初步实现通过阅读文献,找到了另一个研究方向,所以这个就先这样吧hh参考[1]冯钧,李艳,杭婷婷.问答系统中复杂问题分解方法研究综述[J].计算机工程与应用,2022,58(17):

热文推荐