点云深度学习系列博客(七): 针对点云的数据增强技术

news2024/10/6 10:40:12

好长时间不更新博客了,入职以后突然就变忙了,确实有心无力。最近做一个点云数据增强的项目,搞了一个简单的前期调研,趁着最近几天不太忙,凑一篇博客出来,保一下博客专家资格...


一. 简介

我们在利用深度学习进行三维视觉任务计算,尤其是三维点云数据处理时,始终要面对一个难题,即数据规模和数据自身的偏见性问题。对于自然语言处理和图像任务来说,由于存量数据足够大,使得在统计上,训练数据可以被作为是真实场景的一个离散采样模拟,这样训练出来的模型,其鲁棒性和适用性在真实数据上是有保障的。但是点云数据是完全不同的。首先,点云数据本身的数据规模存在极大的限制,目前主流的ModelNet40也就40个类别,就算组合了shapeNet,其数据量远远不能覆盖实际的样本空间,使得模型的泛化性受到了极大的限制。另外,由于点云属于三维数据,其表示形式自然要比文本和图像复杂,受到坐标系的限制会更大,对于姿态,尺度等更加敏感。这使得对于点云建立特征学习模型变得尤其困难。因此,面向点云的数据增强研究被提出。

顾名思义,点云数据增强就是为了解决点云训练数据的种种限制问题。包括点云训练数据集的样本量不够,受限于欧氏空间,对相似变换,非均匀分布以及几何缺失敏感等,数据增强技术通过一些生成,特征抽取与表达,学习模型,迁移学习等方式,以降低训练数据自身缺陷的负面影响,进而提升三维点云智能计算的性能。我调研了2019年到2022年的几个数据增强相关的前沿工作,接下来我们就详细学习下这些工作的基本思路。


二. 姿态增强

在点云深度学习领域的先驱性工作PointNet中,Qi等介绍了一个基于学习的变换矩阵,来解决针对点云数据集模型不同姿态的对应问题。后来经过一些研究者的深入学习后,大家发现这个学习的变换矩阵没什么鸟用。一个最简单的证明就是,如果我们为训练数据的每一个模型添加一个随机的变换,那么网络模型的性能就会显著下降。原因是,类似像ModelNet这样的数据集,其姿态已经是初步对准过的了。因此,数据增强相关研究,很大一部分工作是用来解决姿态或旋转的问题。对于开源项目点云训练任务,很多都会默认添加一个随机的旋转点云副本。即在数据集中人为的对点云做一些旋转,然后添加到训练数据。这些看似冗余的副本,为网络学习出姿态影响提供了一些可能,但是缺点也是明显的,就是增加了训练任务的计算量,本质又没有添加新的数据。北大王选所的研究人员提出一种点映射特征[1],以获得一种面向点云的旋转不变特征表示。大体的思路是利用奇异值分解,找到一些内蕴坐标方向(如下图),然后重建对点的坐标表示,这样就使得点云的数据表示形式脱离了欧氏空间的限制,获得旋转不变性。

几乎出于完全相同的想法,Li[2]等提出旋转不变的点云分析,通过主成分分析,获得点云的主方向,并依据获取的主方向,选择一个合适的姿态。该方法直接通过主方向对准,实现了对点云姿态影响的消除。实例如下图所示。


三. 插值增强

这里的插值增强主要涉及两个方向,一类是以模型为单位,通过插值生成新的模型,以丰富样本数据;还有一类是通过点插值或密度调整,来生成一些模型副本,以增强点云深度学习模型对于不同点分布数据的学习能力。前边我们已经提到,三维点云的数据集规模不足以支持类似文本图像那类泛化性学习任务。为了能够尽可能的增加点云数据集的样本数,一些研究者提出通过插值的方法生成一些新的模型。假设目前已有的点云数据,对应真实世界模型点分布的一个覆盖区域,那么通过合理插值方法生成的模型应该同样在对应的覆盖区域内,即有语义的新模型。这种数据增强的方式,其难点在于设计合理的插值方法。Chen[4]等提出一种基于推土机距离的模型插值算法,使得插值生成的模型能够对应两个源模型的最短路径,如下图:

另外一种就是向每个点云内部进行点插值或者改变其局部的点分布来生成副本,使得网络能够学习各类点分布对于模型语义判断的规律。代表性的工作包括[5]和[6]。下面两幅图是对点云数据的可视化表达,可以看到通过调整点密度获取的点数。


四. 学习增强

除了通过模型生成,来进行直接数据增强外,还有一类方法是通过对学习模型进行两层判定,以实现简间接的数据增强。这类方法的想法是,如果通过训练数据获取的网络结构,不能在测试数据上取得好的结果,那么这些有偏差的结果本身就需要引入到模型的训练中,以指导模型做出对新的分布的估计。代表方法包括[3]和[7]。下图是对两个方法的主干结构说明:

可以看到这两个方法有一个共同的特点,就是在训练分类后,需要加入一个反馈循环,以将分类结果作为二次学习的输入,进行迭代。这样,可被视为对分类器自身的一个反馈式数据增强。


总结

整体来说,基于旋转以及点插值或分布调整的数据增强,在实际使用中的应用更广。基于模型插值的方法,由于仅仅是基于一个全局距离,而忽略了局部语义的对应关系,使得新获取的模型,自身的语义信息被显著的破坏。这种数据增强仅能在有条件的前提下使用。基于学习的数据增强,其最大的问题在于过拟合。因为类似像方法[7],将测试数据与训练数据混合使用,来强化网络,这必然导致其one-shot的性能存在巨大的不确定性。


参考文献

[1] Sun X, Lian Z, Xiao J. Srinet: Learning strictly rotation-invariant representations for point cloud classification and segmentation[C]. Proceedings of the 27th ACM International Conference on Multimedia. 2019: 980-988.

[2] Li F, Fujiwara K, Okura F, et al. A closer look at rotation-invariant deep point cloud analysis[C]. Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021: 16218-16227.

[3] Li R, Li X, Heng P A, et al. Pointaugment: an auto-augmentation framework for point cloud classification[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020: 6378-6387.

[4] Chen Y, Hu V T, Gavves E, et al. Pointmixup: Augmentation for point clouds[C]//Computer Vision–ECCV 2020: 16th European Conference, Glasgow, UK, August 23–28, 2020, Proceedings, Part III 16. Springer International Publishing, 2020: 330-345.

[5] Choi J, Song Y, Kwak N. Part-aware data augmentation for 3d object detection in point cloud[C]//2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2021: 3391-3397.

[6] Sheshappanavar SV, Singh VV, Kambhamettu C. Patchaugment: Local neighborhood augmentation in point cloud classification[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021: 2118-2127.

[7] Zhang W, Xu X, Liu F, et al. On automatic data augmentation for 3D point cloud classification[J]. arXiv preprint arXiv:2112.06029, 2021.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/663489.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TDesign电商小程序模板解析02-首页功能

目录 1 home.json2 goods-list组件3 goods-card组件总结 上一篇我们搭建了底部的导航条,这一篇来拆解一下首页的功能。首页有如下功能 可以进行搜索显示轮播图横向可拖动的页签图文卡片列表 1 home.json 因为是要使用组件库的组件搭建页面,自然是先需要…

Git第二章、多人协作

一、多人协作一 目前,我们所完成的工作如下: • 基本完成 Git 的所有本地库的相关操作,git基本操作,分支理解,版本回退,冲突解决等等 • 申请码云账号,将远端信息clone到本地,以及推…

简单认识Nginx网络服务

文章目录 一、简介1、概括2、Nginx和Apache的差异3、Nginx优于Apache的优点 二、编译安装nginx 服务1、在线安装nginx2、 nginx编译安装(1)、关闭防火墙,将安装nginx所需软件包传到/opt目录下(2)、#nginx的配置及运行需…

基于分时电价和蓄电池控制策略用电优化研究(matlab代码)

目录 1 主要内容 温控负荷模型 蓄电池模型 2 部分代码 3 程序结果 4 下载链接 点击直达! 1 主要内容 该程序复现《基于需求侧家庭能量管理系统用电优化研究》中第三章模型,题目是《基于分时电价和蓄电池控制策略用电优化研究》,该部…

Spring Boot初阶篇笔记

SpringBoot笔记 SpringBoot官方文档 一、SpringBoot的常用注解 ConfigurationProperties、PropertySource、ImportResource的区别 1.ConfigurationProperties: ConfigurationProperties:告诉SpringBoot将本类中的所有属性与配置文件中的相关属性进行绑定; 如:C…

Linux权限维持方法论

Linux权限维持方法论 1.创建超级用户2.SUID后门权限维持3.Strace监听后门4.rookit后门 1.创建超级用户 例如: 创建一个用户名guest,密码123456的root用户 useradd -p openssl passwd -1 -salt salt 123456 guest -o -u 0 -g root -G root -s /bin/bas…

【C语言初阶】带你玩转C语言中的数组,并逐步实现冒泡排序,三子棋,扫雷

君兮_的个人主页 勤时当勉励 岁月不待人 C/C 游戏开发 数组的使用 前言一维数组1.一维数组的定义数组的分类 2.数组的初始化第一种越界情况 3.数组的使用数组的下标:第二种越界情况 4.数组在内存中的存储 二维数组1.二维数组的创建2.二维数组的初始化3.二维数组的…

vue3新特性与vue2的不同点对比

前端必备工具推荐网站(免费图床、API和ChatAI等实用工具): http://luckycola.com.cn/ 一、vue3是什么? Vue 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建, 并提供了一套声明式的、组件化的编程模型,帮助你高效…

计算机网络管理-实验4(三) 使用Wireshark 抓取MIB-2中sysUpTime对象的SNMP报文管理信息结构

⬜⬜⬜ 🐰🟧🟨🟩🟦🟪(*^▽^*)欢迎光临 🟧🟨🟩🟦🟪🐰⬜⬜⬜ ✏️write in front✏️ 📝个人主页:陈丹宇jmu &am…

【win11+Visual Studio 2019 配置 PCL 1.12.1 的经验总结分享】

点云pc库的下载与安装参考另外一篇文章,链接: https://blog.csdn.net/weixin_47869094/article/details/131270772?spm1001.2014.3001.5501 各种教程里面这都很好,就不赘述了,当然,这里也给出一个个人认为不错的安装…

移动互联网行业就业率除车载外,还有“该”的岗位在暴涨!

从2013年进入到移动互联网时代,在Android系统广泛应用在手机厂商中,App承载了我们生活工作的方方面面,原来需要在PC或者线下才能做的事情,现在点一点手指就可以做到了。这类方便也带来更多的系统安全危害。正所谓魔高一尺道高一丈…

一.《UE4奥丁》人物最大属性

​寻找突破口 1.续上节课,此时看到标题,有基础的同学第一反应就是,老师用CE搜索血量,通过改变就能找到! 2.额,有这么简单吗! 3.既然写了这个帖子,肯定是有原因的 4.为了方便学习,我们就先按照同学们的思路来试一试,能不能找到最大属性,比如最大血&am…

mysql索引方面的知识

1. 查看表的索引 show index from 表名 ex: 重点看Key_name这一列的值, 可以看到只有一个主键, 目前该表还没有创建索引, 接下来进行索引的创建 2.给表添加索引 create index idx_time_classtype_sip_sport on event_20230508(time,classtype,sip,sport) 说明: 上面index后…

【论文精读】DELS-MVS

今天读的是发表在WACV2023上的文章,第一作者来自于格拉茨技术大学。 文章链接:DELS-MVS: Deep Epipolar Line Search for Multi-View Stereo 文章目录 Abstract1. Introduction2. Related Work3. Algorithm3.1 Depth estimation via epipolar residual3.…

【换脸详细教程】手把手教你进行AI换脸:换脸流程及源码详解

目录 1. 换脸基本原理2 人脸检测及可视化3. 人脸轮廓点检测及可视化4. 人脸图像变换--仿射变换5. 生成遮罩并直接替换人脸6. 人脸颜色校正 最近AI换脸貌似比较火爆,就稍微研究了一下相关了内容。AI换脸是一个娱乐性比较强的应用,这种错位感让人觉得非常有…

搭建高性能数据库集群之一:主从复制

一、概述 1. 数据库主从概念、优点、用途   主从数据库是什么意思呢,主是主库的意思,从是从库的意思。数据库主库对外提供读写的操作,从库对外提供读的操作。 数据库为什么需要主从架构呢?   高可用,实时灾备&am…

手把手教你撸一个接口自动化测试平台(一)

项目构思:开发一个web版的接口自动化测试平台 功能包括:接口导入、自动化测试用例生成、自动化测试报告、可持续集成 项目框架:django vue mysql 技术要求:熟悉django后台开发、熟悉vue开发 第一节:搭建django 项…

被ChatGPT戏耍的周末

被ChatGPT戏耍的周末 1. 被ChatGPT戏耍全过程2. 拆穿ChatGPT的把戏3. AIGC与内容安全 1. 被ChatGPT戏耍全过程 电动垂直起降飞行器(eVTOL,Electric Vertical Takeoff and Landing)技术越来越成熟,为了解下相关产品我周末打开了Cha…

OpenGLES:相机实时滤镜四宫格、九宫格

一.概述 今天继续OpenGLES的学习 今天在之前博文《OpenGLES:GLSurfaceView实现Android Camera预览》 的基础上,使用OpenGLES实现相机 四宫格滤镜 和 九宫格滤镜。 二.四宫格 先定义几个名词: 之前博文中实现的相机普通预览叫:…

【人工智能】“AI + 算力 = 最强龙头”,你怎么看?

文章目录 一、AI 与算力相辅相成1.1 AI 和算力的概念1.2 AI 和算力的应用领域1.3 AI 需要算力的支持1.4 AI 和算力的结合带来的巨大价值1.4.1 人脸识别1.4.2 语音识别1.4.3 自动驾驶1.4.4 医疗诊断1.4.5 自然语言处理 二、AI算力催生“最强龙头”2.1 “最强龙头”的概念2.2 AI …