- 博客(31)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 【PCL自学:Segmentation2】基于PCL的点云分割:欧几里得点云聚类分割
欧几里得点云集群分割1、什么是欧几里得点云聚类分割2、如何使用PCL对点云进行集群分割1、什么是欧几里得点云聚类分割 在本文中,我们将学习如何使用pcl::EuclideanClusterExtraction类提取欧几里得聚类集群。为了不使文章复杂化,它的某些元素,如平面分割算法,将不在这里解释。更多信息请查看平面模型分割。 欧几里得聚类理论基础: 聚类方法需要将无组织的点云模型P分成更小的部分,从而显著减少P的整体处理时间。欧几里得意义上的简单数据聚类方法可以通过使用固定宽度的框或更一般的八
2022-05-08 21:01:29 2467 6
原创 【PCL自学:Segmentation1】基于PCL的点云分割:平面模型分割
基于PCL的点云平面模型分割1、什么是点云分割2、如何使用PCL库对将点云中平面模型分割出来1、什么是点云分割 顾名思义,点云分割就是将一团点云按照不同需求进行分割处理,一般是用在识别或测量任务的点云预处理步骤。点云分割一般可分为两种。①是已知数学模型的传统点云分割方法,例如平面模型,球面模型,圆柱面模型等。②是基于深度学习模型的点云分割,常用于自动驾驶中车体建筑物模型的识别。 本文只讲解如何使用PCL进行第一种已知点云模型的分割方法。我们将学习如何对一组点进行简单的平面分割,即在点云中找到支
2022-05-08 17:08:54 3187
原创 【PCL自学:RANSAC】如何使用PCL随机一致性模型(Ransac)拟合球和直线
如何使用PCL随机一致性模型1、什么是随即一致性算法2、在PCL中如何使用RANSAC1、什么是随即一致性算法 Random Sample Consensus的缩写是RANSAC,它是一种从一组包含异常值的数据中估计数学模型参数的迭代方法。这个算法是由Fischler和Bolles在1981年发表的。RANSAC算法假设我们正在查看的所有数据都由内值(正确值)和异常值组成。内置可以用带有一组特定参数值的模型(例如直线、面、圆柱等形状函数)来解释,而异常值在任何情况下都不适合该模型。另一个必要的假设是,
2022-05-04 19:27:48 2377
原创 【PCL自学:Registration 2】如何使用ICP及如何实现增量配准
ICP的使用及点云增量配准一、ICP(迭代最邻近点)的使用1.1 什么是ICP1.2 点到点ICP示例代码分析二、增量ICP的方法2.1 什么是增量ICP2.2 示例代码一、ICP(迭代最邻近点)的使用1.1 什么是ICP 本章演示了在代码中使用迭代最近点算法(ICP),ICP即通过最小化两个点云的点之间的距离并对它们进行严格的转换,来确定一个点云是否只是另一个点云的严格转换的方法,最终输出为源点云(动态点云)到目标点云(静态点云)的RT转换关系。这种方法被广泛应用到点云配准问题上。 需要注意的
2022-04-06 21:14:32 1218 10
原创 【PCL自学:Recognition 2】隐式形状模型识别原理及示例代码
隐式形状模型识别 (Implicit Shape Model)理论基础示例代码及注释 在本章节中,我们将学习如何使用在pcl::ism::ImplicitShapeModel类中实现的隐式形状模型算法。Jan Knopp、Mukta Prasad、Geert Willems、Radu Timofte和Luc Van Gool在文章“Hough Transforms and 3D SURF for robust three dimensional classification” F中描述了这种算法,用于鲁
2022-03-06 21:44:48 890
原创 【PCL自学:Recognition 1】基于对应分组算法的三维物体识别
PCL Recognition模块:基于对应分组的三维物体识别一、初识Recognition点云识别模块二、基于对应分组算法识别的实例代码及分析三、一、初识Recognition点云识别模块 本章节旨在解释如何基于pcl_recognition模块执行3D对象识别。pcl_segmentation库包含了将点云分割成不同簇的算法。这些算法最适合处理由许多在空间上相互隔离的区域内的点云。在这种情况下,通常使用集群将点云分解为其组成部分,然后可以独立处理这些部分。有关该模块包含的所有类和方法的解释可以参考
2022-02-27 17:43:18 3350 11
原创 【PCL自学:Range Images】深度图与点云数据的转换及其应用(持续更新)
PCL 深度图一、什么是深度图二、点云转深度图 PointCloud->Range Image三、利用深度提提取点云边缘一、什么是深度图 目前深度图像的获取方法有激光雷达深度成像法、计算机立体视觉成像、坐标测量机法、莫尔条纹法、结构光法等等,针对深度图像的研究重点主要集中在以下几个方面,深度图像的分割技术 ,深度图像的边缘检测技术 ,基于不同视点的多幅深度图像的配准技术,基于深度数据的三维重建技术,基于三维深度图像的三维目标识别技术,深度图像的多分辨率建模和几何压缩技术等等,在PCL 中深度图像
2022-02-26 22:05:44 9145 5
原创 【PCL自学:ocTree】八叉树(octree)的原理及应用案例(点云压缩,搜索,空间变化)
PCL中八叉树(octree)的原理及应用案例一、什么是八叉树ocTree?1.八叉树原理二、八叉树应用案例1.点云压缩2.用八叉树进行空间划分和搜索操作3.无序点云数据的空间变化检测一、什么是八叉树ocTree?1.八叉树原理 上世纪80年代,八叉树结构被提出来,用来表示空间中的区域划分,简单来说,空间可以被分为8个象限,想象一下假设空间中存在一个笛卡尔坐标系,则该坐标系将空间分为了8个象限,每个象限又可以按照这种方式再建立一个笛卡尔坐标系,再划分为8个象限,以此类推,空间中任何一块区域都可以被n
2022-02-20 23:00:33 21607 2
原创 【PCL自学:kdTree】PCL中kd-Tree的原理及使用(持续更新)
Kd-Tree结构体及其使用一、kd-Tree原理1)什么是kd-Tree?2)如何使用PCL一、kd-Tree原理 在本章中,我们将学习如何使用KdTree来找到一个特定的点或位置的K个最近的邻点,然后我们还将学习如何在用户指定的某个半径内(在本例中是随机的)找到所有的邻点。1)什么是kd-Tree? k-dTree,称为k维树,是计算机科学中用于组织k维空间中的一些点的一种数据结构。它是一棵二叉搜索树,K-d树对于距离和最近邻搜索非常有用。在进行特征点计算或者点云配准等工作时常用,可以用来减
2022-02-19 22:44:17 6003
原创 【PCL自学:I/O】PCD点云格式及输入输出模块(I/O)介绍(持续更新)
PCL I/O模块介绍及示例代码一、初识PCD格式点云1、PCD格式背景2、PCD的版本问题3、文件格式详解二、读入和写出PCD格式点云文件三、合并两片点云四、PCL中各类点云抓取器框架1、PCL中的OpenNI抓取器(用于硬件通信)2、Velodyne高清晰度激光雷达(HDL)抓取器3、PCL Dinast抓取器框架4、从Ensenso相机捕捉点云5、从davidSDK扫描仪抓取点云/网格6、从DepthSense相机捕捉点云一、初识PCD格式点云1、PCD格式背景 这一章节描述了PCD(点云数据
2022-02-19 00:15:57 2129 1
原创 【PCL自学:Filtering】PCL中的各类滤波器介绍与使用 (持续更新)
PCL_filter模块中各类滤波器目录一、直通滤波器(PassThrough):用于阈值滤除1、直通滤波器介绍2、示例代码二、体素滤波器(VoxelGrid filter):用于下采样1、体素滤波器介绍2、示例代码三、统计离群滤波器(StatisticalOutlierRemoval filter):用于离群点滤除1、统计离群滤波器介绍2、示例代码四、条件滤波器(Conditional or RadiusOutlier ):用于离群点滤除1、条件滤波器介绍2、示例代码一、直通滤波器(PassThroug
2022-02-15 01:02:49 6458
原创 如何查看GPU的计算能力?
GPU的计算能力是不同型号的GPU的固有属性,和cuda版本无关。想要知道GPU计算能力只需要点击英伟达官网的链接【各种型号GPU计算能力】。
2022-02-14 11:30:15 10822 5
原创 【PCL自学:Feature9】全局对齐空间分布(GASD)描述符 (持续更新)
一、全局对齐空间分布(GASD)描述符介绍 此篇文章描述了全局对齐空间分布([GASD])全局描述符,用于有效的对象识别和姿态估计。 GASD基于表示对象实例的整个点云参考框架的估计,该参考框架用于将其与规范坐标系对齐。然后,根据其三维点的空间分布,为对齐的点云计算描述符。这样的描述符也可以扩展到整个对齐点云的颜色分布。利用匹配点云的全局对齐变换来计算目标的姿态。更多信息参见此篇论文【理论基础:】...
2022-02-13 21:35:50 1185 1
原创 CUDA编程 原子操作atomicAdd报错err:MSB3721,返回代码1
问题:原子操作atomicAdd()报错err:MSB3721,返回代码1。问题描述: 今天在编写利用cuda加速三维点云重建后的计算法向相关代码,有一步骤需要对点云间距统计后求得平均点距。这就要求多个线程对不同点与邻点的距离进行相加,之后再除以点的个数。 但是如果没有原子操作atomicAdd()的话,相加结果会无法避免的出现错误。类似于OpenMP进行并行for循环锁住加和变量保证变量正确加和的原理。 但是由于点距是double类型,无知的我直接使用atomicAdd()进行点距相加导致编译出
2022-02-13 19:57:28 2544 1
原创 【PCL自学:Feature8】RoPs(旋转投影统计)特征识别物体简介和使用 (持续更新)
一、RoPs(旋转投影统计)特征原理介绍 在文章中,我们继续学习如何使用pcl:: ropsestimate类来提取点的特征。在这类中实现的特征提取方法是由Yulan Guo, Ferdous Sohel, Mohammed Bennamoun, Min Lu和Jianwei wane在他们的文章 “Rotational Projection Statistics for 3D Local Surface Description and Object Recognition”中提出的。 在噪声、网格
2022-02-11 10:58:29 3132 4
原创 【PCL自学:Feature7】基于转动惯量和偏心量的描述符 (持续更新)
一、基于转动惯量和偏心度的描述符介绍 在这篇文章中,我们将学习如何使用pcl:: momenttofinertiaestimate类来获得基于转动惯量和偏心度的描述符。这个类还允许提取点云的轴对齐和定向的边界框(不一定是最小边框)。 【理论基础】: 特征提取方法的思想如下: 首先计算点云的协方差矩阵,提取点云的特征值和向量(可以理解特征向量就是整篇点云的主轴方向,特征值是在特征向量上的伸缩量)。可以认为合成的特征向量是标准化的,总是形成右手坐标系(主特征向量代表x轴,次特征向量代表z轴)。
2022-02-10 01:08:03 709
原创 【PCL自学:Feature6】从深度图像中提取NARF描述符 (持续更新)
一、如何从范围图像中提取NARF关键点 这篇博文简单介绍什么是NARF,并使用官网代码演示了如何从深度图像的NARF关键点位置提取NARF描述符,官方原版链接点击这里。1.NARF(法线对齐的径向特征)简要介绍 NARF 全称 normal aligned radial feature(法线对齐的径向特征) 。是一种3D关键点检测的描述子,常用于物体匹配的关键点特征计算。可以类比于二维图像关键点检测算法 SIFT (Scale Invariant Feature Transform)和 SURF
2022-02-08 21:57:34 2994 1
原创 【PCL自学:Feature5】视点特征直方图VFH概念及使用 (持续更新)
一、视点特征直方图(VFH)原理 这篇博文描述了视点特征直方图(Viewpoint Feature Histogram[VFH])描述符,在一些其他文章也称为视角特征直方图,这是一种用于聚类识别和6DOF姿态估计问题(六自由度姿态估计)的点聚类的描述符。1.理论基础: 视点特征直方图(或VFH)起源于FPFH描述符(参见快速点特征直方图(FPFH)描述符)。FPFH有很好的速度和辨别能力,在此基础上添加视点方差,同时保持尺度不变性。 VFH对目标识别和位姿识别问题的主要贡献是将FPFH扩展到整
2022-02-07 22:30:22 4738 1
原创 【PCL自学:Feature4】快速点特征直方图FPFH概念及使用 (持续更新)
一、快速点特征直方图(FPFH)描述子介绍 对于具有n个点的给定点云P,点特征直方图(PFH)的理论计算复杂度为O(nk2nk^2nk2),其中k为P中的每个点P的邻点数。但是对于有效率要求或点数量极大的情况,例如稠密点特征计算,PFH的计算复杂度将难以满足要求。有关PFH的内容查看上一篇文章。 为解决PFH的计算复杂度问题,前辈们将PFH公式进行了简化,形成了快速点特征直方图(FPFH),它将算法的计算复杂度降低到O(nk)级别,同时仍然保留PFH的大部分能力。1、快速点特征直方图原理简述
2022-02-06 16:20:51 5140 1
原创 【PCL自学:Feature3】PFH点特征直方图的概念和使用 (持续更新)
一、点特征直方图(PFH)描述子介绍 Point Feature Histograms (PFH) 称为点特征直方图。 随着点特征的研究不断深入,利用点周围的邻近点估计表面法向和曲率的基本操作逐渐被点特征直方图取代,虽然表面法向和曲率的估计速度很快,但是他们缺失了很多细节,因为它们仅用很少的值近似一个点的k-邻域的几何形状。但是大多数场景将包含许多具有相同或非常相似特征值的点,从而使它们的信息特征不具有唯一性。 本文介绍了一组3D特征描述符PFH(点特征直方图),介绍了它们的理论优势,并从PCL
2022-02-05 21:55:34 5243 3
原创 【PCL自学:Feature2】主成分分析及积分图点云法向估计方法 (持续更新)
PCL点云表面法向估计 在上一章中我们介绍了点云特征估计表示和示例程序,在这一章节中我们将介绍如何使用PCL对表面上的点云进行法向特征估计。 表面法线是几何表面的重要属性,在计算机图形学应用等许多领域中被大量使用,常应用于光源阴影等视觉效果,在工业领域常用来进行物体表面分割的预处理。 任意给定一个几何面,通常很容易推断出面上某一点的法线方向是垂直于该面。但是,由于我们获取的点云数据集代表了真实表面上的一组点样本,因此存在两种可能性: ①利用表面网格技术,从采集的点云数据集中获取表面,并从网格
2022-02-05 20:10:18 4057 1
原创 【PCL自学:Feature1】点云特征估计(持续更新)
一、Feature库 点云特征估计简述及代码解析 本文介绍了PCL中的三维点特征估计方法,并为对PCL:: feature类的内部结构感兴趣的用户或开发人员提供了指南。查看官方源文档请点击这里 点的特征估计 在 特征点搜索、点云配准、点云分割、三维物体识别等领域中常用,所谓的特征包括点云法向、曲率等,常用于点云预处理阶段当中。本文仅简要概述特征估计的原理,详细的点云特征估计论文请点击这里获取名词:点的特征估计 3D映射系统概念中定义的 点 是相对于给定的原点,并使用它们的笛卡尔坐标x、y、z.
2022-02-04 23:37:08 2850 2
原创 【PCL自学:目录】PCL简介及主要功能模块介绍 (持续更新)
当你知道一切都不重要时,世界就是你的了。——《瑞克和莫蒂》S3E8一、PCL介绍及主要模块分类 对于从事计算机视觉、机器视觉领域的从业者来说,OpenCV库并不陌生,甚至是我们入门这个领域时的学习的第一个开源库,如果说OpenCV是二维信息处理方面的工兵铲,那PCL(Point Cloud Library)就是在三维信息处理层面的瑞士军刀。 顾名思义, PCL(Point Cloud Library)是专注于点云操作处理的开源算法库,对于从事三维点云数据处理的道友来说是工作学习中必不可少的工具。
2022-01-15 21:09:29 16296 4
原创 VisualStudio添加资源文件时显示未能完成操作,拒绝访问的解决办法
VisualStudio添加资源文件时显示未能完成操作,拒绝访问的解决办法
2021-12-24 09:27:57 5293 5
原创 C++程序在debug结果正确但release结果错误或两个模式下结果不同
今天在运行release工程时发现运行结果出现了-1.#IND00, 1.#INF00 。但是在debug下可以计算出数字。于是在网上查找资料。尝试了修改配置属性优化方法为已禁用。未果尝试了修改调试信息格式Zi。未果尝试了修改代码生成运行库。未果原因: 最后通过输出变量仔细对比发现是某个函数中的输入参数是一个结构体,而结构体内包含了多个数组,其中有些数组没有被我进行初始化导致的计算错误。分析: 由于debug模式下保留调试信息并通常自动将结构体内未初始化的变量初始化为0,所以在debug模式下未完
2021-11-23 09:20:55 3193 1
原创 C++ debug模式报错Debug Error R6010问题
C++ debug模式报错Debug Error R6010问题今天向项目中添加新的算法库,然后在使用算法库中函数时候爆出这个错误,查看了很久算法库手册没有找到问题,后检查算法库依赖的基础组件发现是组件版本问题。若大家使用新的算法库出现该问题,请检查依赖的基础组件版本。...
2021-08-31 13:53:24 1286
VDI-VDE 2634 part2 全文与大家共享,快下载吧。
2022-05-15
matlab空间点集直线多线同时拟合.zip
2019-12-26
V-rep二轮小车激光循迹仿真
2019-09-12
CUDA 原子操作 当每个线程的原子操作次数过多就会导致计算错误
2022-02-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人