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

论文解读 | KPConv——点云上的可形变卷积网络

原创 | 文 BFT机器人 

图片

《KPConv: Flexible and Deformable Convolution for Point Clouds》是一篇发表于2019年的研究论文,作者为Hugues Thomas、Charles R. Qi、Jean-Emmanuel Deschaud、Beatriz Marcotegui和François Goulette。这篇论文关注于点云数据上的卷积操作,提出了一种名为KPConv的卷积方法,旨在解决点云数据上的灵活性和可变形性问题。

01

背景

点云数据是从3D传感器(如激光雷达)获得的场景的一种表示形式,逐渐在自动驾驶、机器人导航、三维场景重建等领域得到广泛应用。因为点云数据直接捕捉了真实世界的几何信息,因此在处理三维信息方面具有独特的优势。传统的卷积神经网络(CNN)在图像领域获得了巨大成功,但直接将CNN应用于点云数据上存在一些挑战。点云数据是无序和不规则的,不同于像素网格。因此,需要设计新的卷积操作来适应点云数据的特点。点云数据中的物体形状和分布可能会因为姿态、视角和尺度的变化而产生巨大的变化。为了准确地捕捉这些变化,需要在点云上进行灵活的卷积操作,并能够处理可变形的形状。

该论文的研究背景强调了点云数据的特点、点云数据上的卷积问题以及灵活性与可变形性的需求,为提出新的KPConv方法提供了合理性和必要性。

图片

图1 用2D点表示KPConv

02

工作内容

论文的工作内容主要包括以下几个方面:

1、KPConv的设计与定义:论文提出了KPConv,即"Kernel Point Convolution",这是一种基于核心点的卷积操作。核心点是预定义的一组点,它们的位置和形状可以自适应地进行调整。KPConv通过计算输入点云中的每个点与核心点之间的关系,实现了一种适应点云数据特点的卷积操作。

2、自适应核心点位置和形状:KPConv中的核心点不仅仅是静态的,它们的位置和形状可以根据输入点云的局部结构和变化进行自适应调整。这种自适应性使得KPConv能够灵活地捕捉点云数据中物体的形状变化和分布情况。

3、卷积过程:KPConv的卷积过程包括确定核心点、计算点云中每个点与核心点之间的关系、根据关系进行加权聚合等步骤。通过这一过程,KPConv可以在点云上有效地传播特征信息,并捕捉局部的几何结构。

4、实验验证:通过在不同的点云数据集上进行实验验证了KPConv的性能。实验结果表明,KPConv在点云分割和点云分类任务中取得了优越的结果,证明了其在处理点云数据上的卓越性能。

5、可视化分析:通过可视化分析展示了KPConv的效果,展示了其在不同场景中捕捉几何结构和变化的能力。这有助于更好地理解KPConv的工作原理和优势。

03

算法介绍

图片

图2 KPConv工作流程

该论文提出了一种新的点卷积设计,称为可变形卷积(deformable KPConv)。该设计基于点云数据,通过在点云上定义核点来执行卷积操作。与传统的固定网格卷积相比,KPConv具有更大的灵活性,因为它可以使用任意数量的核点,并且这些点在空间上是连续的,可以通过网络进行学习。此外,KPConv还可以通过学习适应局部几何形状的核点来扩展到可变形卷积。具体步骤如下:

1、核心点的选择与定义:首先,选择一组核心点,这些点是预先定义的,并且可以分布在不同的形状上。对于每个核心点,定义一个局部坐标系,其中核心点为原点,坐标轴也可以自适应地根据局部点云的几何结构进行旋转。

2、关系计算:对于输入点云中的每个点,计算它与所有核心点之间的关系。这个关系可以用来描述该点与核心点之间的相对位置和距离。

3、权重计算:基于关系计算的结果,计算每个点与核心点之间的权重。权重用于将核心点的特征信息传递给输入点。

4、特征聚合:对于每个输入点,根据权重对核心点的特征进行加权聚合,生成该点的新特征表示。这样,每个点都会受到其周围核心点的影响,从而捕捉局部几何结构和特征信息。

5、网络结构与训练:在网络结构中,KPConv被用作一个模块,可以嵌入到不同的架构中。网络通过反向传播进行训练,优化KPConv中的权重和核心点的位置。

KPConv算法通过自适应的核心点和权重计算,以及特征聚合的方式,实现了在点云数据上的卷积操作。它能够有效地处理点云数据的无序性和不规则性,捕捉局部几何结构和特征信息,同时具有适应不同形状和分布的灵活性和可变形性。在实验中,KPConv在点云分类和点云分割等任务中表现出色,证明了其在点云数据上的有效性。

图片

图3 用2D点表示KPConv可变形性

04

实验论述

论文的实验过程旨在验证提出的KPConv算法在点云分类和点云分割任务中的性能。以下是论文中实验过程的主要内容:

1、数据集选择:论文选择了一些常用的点云数据集,例如ModelNet40和ShapeNet,用于点云分类任务。对于点云分割任务,使用了Semantic3D和S3DIS数据集,这些数据集包含了具有不同类别的点云以及对应的标签信息。

2、网络架构搭建:在实验中,KPConv被嵌入到深度学习网络中,作为卷积操作的组成部分。具体的网络架构可以是基于PointNet、PointNet++等。论文中还可以对比使用传统的点云卷积方法进行性能比较,以显示KPConv的优越性。

3、训练与评估:使用选定的数据集和网络架构,将网络进行训练。训练过程中,使用损失函数对网络进行优化,以使其能够准确预测点云的类别或分割标签。在每个训练轮次结束后,使用验证集对网络进行评估,以监控性能的变化和收敛情况。

4、性能指标:对于点云分类任务,常用的性能指标包括准确率(Accuracy)等,用于评估网络对点云数据进行分类的能力。对于点云分割任务,可以使用IoU(Intersection over Union)等指标来衡量网络对点云的分割精度。

5、结果分析与对比:论文通过在测试集上的性能表现,对KPConv在点云分类和点云分割任务上的效果进行分析。还可能与其他点云卷积方法进行比较,以展示KPConv的优越性和性能提升。

6、可视化分析:

为了更好地理解KPConv的工作原理,论文可能会进行可视化分析,展示KPConv如何捕捉点云数据中的几何结构和特征信息。

通过以上实验过程,论文可以验证提出的KPConv算法在点云分类和点云分割任务上的性能,并与现有的点云处理方法进行比较,从而证明其有效性和优越性。这些实验结果有助于向研究社区和实际应用中展示KPConv的实际价值。

05

结论

可变形KPConv是一种有效的点云卷积设计,具有灵活性、高效性和适应性,能够学习和适应核点,从而在分类和分割任务中优于现有的方法。论文还表明,可变形KPConv在大型和多样化的数据集上具有描述能力,可以在更大的数据集上发挥作用。此外,论文还提供了消融研究和可视化结果,以验证可变形KPConv的描述能力。

作者 | Azukii

排版 | 小河

审核 | 猫

若您对该文章内容有任何疑问,请与我们联系,我们将及时回应。如果想要了解更多的前沿资讯,记得点赞关注哦~

相关文章:

论文解读 | KPConv——点云上的可形变卷积网络

原创 | 文 BFT机器人 《KPConv: Flexible and Deformable Convolution for Point Clouds》是一篇发表于2019年的研究论文,作者为Hugues Thomas、Charles R. Qi、Jean-Emmanuel Deschaud、Beatriz Marcotegui和Franois Goulette。这篇论文关注于点云数据上的卷积操作…...

STM32 物联网 4G CAT1 SIMCOM A7680C 源码

基于状态机编写4G模块驱动函数 #include "bsp.h" char LTE_TX[512],LTE_RX[512]; int LTE_TX_length,LTE_RX_length; char U1_TX_data[512],U1_RX_data[512]; char LTE_DATA_buf[512]; char LTE_COM_buf[512]; char LTE_SEND_buf[512];unsigned char U1_TX_flag,U1…...

ETLCloud制造业轻量级数据中台解决方案

制造业数据处理特点 制造业在业务发展过程中产生大量的业务交易数据以及设备运行过程中的状态数据,但是制造业有别于其他互联网或零售行业,其数据处理具有以下特点: 数据量不大,大部分业务系统的数据库表在1000W以下数据结构复杂…...

解决外接显示器后Edge浏览器地址栏等变得很大的问题

解决外接显示器后Edge浏览器地址栏等变得很大的问题 edge设置里外观——触控模式,把触控模式关了...

k8s 启动和删除pod

k8s创建pod pod的启动流程 流程图 运维人员向kube-apiserver发出指令(我想干什么,我期望事情是什么状态) api响应命令,通过一系列认证授权,把pod数据存储到etcd,创建deployment资源并初始化。(期望状态) controller通过list-wa…...

Jenkins详解(三)

Jenkins详解(三) 目录 Jenkins详解(三) 1、Jenkins介绍2、Jenkins CI/CD 流程3、部署环境 3.1 环境准备3.2 安装GitLab3.3 初始化GitLab3.4 GitLab中文社区版补丁包安装3.5 修改GitLab配置文件/etc/gitlab/gitlab.rb3.6 在宿主机输入 http://192.168.200.26:88 地址就可以访问了…...

【真题解析】系统集成项目管理工程师 2023 年上半年真题卷(综合知识)

本文为系统集成项目管理工程师考试(软考) 2023 年上半年真题(全国卷),包含答案与详细解析。考试共分为两科,成绩均 ≥45 即可通过考试: 综合知识(选择题 75 道,75分)案例分析(问答题 4 道,75分)综合知识(选择题*75)1-10 题11-20 题21-30 题31-40 题41-50 题51-60 …...

开始MySQL之路——MySQL存储引擎概念

一、存储引擎概念 MySQL数据库和大多数的数据库不同, MySQL数据库中有一个存储引擎的概念, 针对不同的存储需求可以选择最优的存储引擎。 ​ 存储引擎就是存储数据,建立索引,更新查询数据等等技术的实现方式 。存储引擎是基于表的,而不是基…...

ant-design 设置Form.Item中的input框的值的方法

ant-design 设置Form.Item中的input中的value值是不知道什么原因是无效的,所以有以下两种方法设置: 1.可以通过 initialValues 属性来为表单设置默认值。具体使用方法如下: 在表单最外层的 Form 组件上加入 initialValues 属性,…...

CS420 课程笔记 P6 - 游戏逆向中的虚拟内存

文章目录 IntroVirtual memoryExample!Static example Intro 在上个视频中,我们知道有些地址在你重进游戏时就会无效,有的有时有效,我们需要了解称为虚拟内存的东西 记住这些信息:当你双击打开 Squally.exe 游戏时,系…...

公信力不是儿戏:政府与非营利组织如何利用爱校对提升信息质量

公信力是政府和非营利组织成功的基础,而这种公信力大多来源于对外发布的信息的准确性和可靠性。在这个方面,“爱校对”展现了它的强大能力和实用性。以下我们将具体探讨这两种组织如何通过使用爱校对来提升他们的信息质量。 政府:公开与透明&…...

Linux内核源码分析 (B.1)内核内存布局和堆管理

Linux内核源码分析 (B.1)内核内存布局和堆管理 文章目录 Linux内核源码分析 (B.1)内核内存布局和堆管理一、Linux内核内存布局二、堆管理 一、Linux内核内存布局 64位Linux一般使用48位来表示虚拟地址空间,45位表示物理地址。通过命令:cat/proc/cpuinfo。…...

Python---函数

函数定义: """ def 函数名(传入参数):函数体return 返回值 """ 函数调用: """ 函数名(传入参数) """ 例子: # 不带参 def check():print("欢迎光临\n请进") che…...

Myvatis关联关系映射与表对象之间的关系

目录 一、关联关系映射 1.1 一对一 1.2 一对多 1.3 多对多 二、处理关联关系的方式 2.1 嵌套查询 2.2 嵌套结果 三、一对一关联映射 3.1 建表 ​编辑 3.2 配置文件 3.3 代码生成 3.4 编写测试 四、一对多关联映射 五、多对多关联映射 六、小结 一、关联关系映射 …...

算法通关村第十四关:黄金挑战-数据流的中位数

黄金挑战-数据流的中位数 1.数据流中中位数的问题 LeetCode295 https://leetcode.cn/problems/find-median-from-data-stream/ 思路分析 中位数的问题,我们一般都可以用 大顶堆小顶堆 来求解 小顶堆(minHeap):存储所有元素中…...

【2023集创赛】国家集创中心杯三等奖:不对称轻失配运算放大器

本文为2023年第七届全国大学生集成电路创新创业大赛(“集创赛”)国家集创中心杯三等奖作品分享,参加极术社区的【有奖征集】分享你的2023集创赛作品,秀出作品风采,分享2023集创赛作品扩大影响力,更有丰富电…...

手写Mybatis:第18章-一级缓存

文章目录 一、目标:一级缓存二、设计:一级缓存三、实现:一级缓存3.1 工程结构3.2 一级缓存类图3.3 一级缓存实现3.3.1 定义缓存接口3.3.2 实现缓存接口3.3.3 创建缓存KEY3.3.4 NULL值缓存key 3.4 定义缓存机制、占位符和修改配置文件3.4.1 定…...

哈夫曼编码实现文件的压缩和解压

程序示例精选 哈夫曼编码实现文件的压缩和解压 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对《哈夫曼编码实现文件的压缩和解压》编写代码,代码整洁,规则&#xff0…...

解决六大痛点促进企业更好使用生成式AI,亚马逊云科技顾凡采访分享可用方案

亚马逊云科技大中华区战略业务发展部总经理顾凡在接受21世纪经济报道记者专访时表示,生成式人工智能将从四个方面为企业带来机遇:第一是创造全新的客户体验;第二是提高企业内部员工的生产力;第三是帮助企业提升业务运营效率&#…...

Qt 定时器放在线程中执行,支持随时开始和停止定时器。

前言:因为项目需要定时检查网络中设备是否能连通,需要定时去做ping操作,若是网络不通,则ping花费时间比较久(局域网大概4秒钟才能结束,当然如果设置超时时间啥的,也能很快返回,就是会…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理&#xff1a…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...

条件运算符

C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM&#xff09…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

【SpringBoot自动化部署】

SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...