![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python三维点云实战宝典
文章平均质量分 90
python从三维点云处理基础到神经网络深度学习模型详细介绍,包括三维目标检测、单目3D检测、三维语义分割、深度补全以及多模态融合等。详细分析每种模型,书读百遍,其义自见。本专栏致力于让大家能够事半功倍,快速掌握三维点云处理方法。
Coding的叶子
三维感知算法、计算机视觉算法、量化算法等长期研究。
展开
-
Ran out of input
在使用python多进程(multiprocessing)时,程序可能会报“Ran out of input”错误。从报错结果上来看,一般是传入的数据无法读取。因此,在确定程序没有其它问题(如文件冲突、数据为空等),我们可以改变读取数据的结构,然后在进程内对数据进行重新组装。这种错误可能会在不同电脑上表现不一样,或者说跟环境相关。同样的程序,有的电脑环境能正常运行,有的则会报上述错误。下面将以open3d多进程为例,其报错具体内容如下所示。原创 2024-02-21 14:20:32 · 496 阅读 · 0 评论 -
点云格式介绍(更新中,待补充)
ply、pcd、bin、txt点云格式介绍。原创 2022-04-07 19:20:25 · 10126 阅读 · 2 评论 -
python点云可视化
Python三种点云可视化方案:mayavi、matplotlib、CloudCompare。原创 2022-04-10 21:27:40 · 15568 阅读 · 3 评论 -
python三维点云投影(一)
三维平面的统一表示方法: 假设(x1, y1, z1)、(x2,y2,z2)为平面上两个点,那么可以得到: (x2-x1, y2-y1, z2-z1)是平面上的一个向量,并且根据上式可知,(A, B, C)与这个向量垂直,显然(A, B, C)为平面的法向量。 假设(x0, y0, z0)为空间中的任意一点,它在平面上的投影坐标为(x, y, z),那么由这两个点组成的向量也是平面的法向量,则应与法向量(A, B, C)平行,从而可以得到:原创 2022-04-11 23:04:05 · 9070 阅读 · 3 评论 -
python三维点云投影(二)
python点云投影样例。原创 2022-04-12 22:49:37 · 9342 阅读 · 2 评论 -
点云格式介绍(一)
常见点云存储方式有pcd、ply、txt、bin文件。本节主要介绍pcd点云格式。原创 2022-04-15 08:16:30 · 10849 阅读 · 1 评论 -
点云格式介绍(二)
常见点云存储方式有pcd、ply、txt、bin文件。本节主要介绍ply点云格式。原创 2022-04-16 16:49:43 · 11167 阅读 · 2 评论 -
点云格式介绍(三)
常见点云存储方式有pcd、ply、txt、bin文件。本次主要介绍txt点云格式。原创 2022-04-17 10:51:19 · 9264 阅读 · 0 评论 -
点云格式介绍(四)
常见点云存储方式有pcd、ply、txt、bin文件。本次主要介绍bin点云格式。原创 2022-04-18 18:44:43 · 8351 阅读 · 1 评论 -
Open3d读写pcd点云文件
Open3d读写pcd点云文件原创 2022-04-20 20:45:37 · 17696 阅读 · 1 评论 -
Open3d读写ply点云文件
1 Open3d 安装Open3d是由Intel发布的一个开源库,支持快速开发和处理3D数据。Open3D在c++和Python中公开了一组精心选择的数据结构和算法。后端是高度优化的,并且是为并行化而设置的。Open3d直接使用pip安装即可。解决下载慢的问题,请切换下载源。设置方式请参考:python pip_Coding的叶子的博客-CSDN博客。pip install open3dply点云格式介绍请参考:点云格式介绍(二)_Codin......原创 2022-04-21 07:21:33 · 12323 阅读 · 0 评论 -
点云配准(一)— ICP方法
点云配准——ICP方法介绍,含源码原创 2022-04-22 08:25:29 · 16537 阅读 · 4 评论 -
点云配准(二)— python open3d ICP方法
点云配准(二)—python open3d ICP方法,含源码原创 2022-04-23 10:00:22 · 15426 阅读 · 5 评论 -
点云体素介绍
点云体素介绍原创 2022-04-24 09:00:00 · 12443 阅读 · 0 评论 -
点云法向量
python open3d 计算法向量原创 2022-04-24 09:00:00 · 9955 阅读 · 0 评论 -
python点云拼接
python点云拼接,含源码和数据原创 2022-04-24 09:00:00 · 9015 阅读 · 2 评论 -
点云旋转平移(一)—基础知识介绍
点云旋转平移基础知识,下一节介绍示例程序。原创 2022-04-24 22:20:08 · 9321 阅读 · 0 评论 -
python open3d点云可视化(本节会根据实际所用持续更新)
python open3d点云可视化原创 2022-04-25 12:40:58 · 11580 阅读 · 0 评论 -
点云旋转平移(二)—python open3d点云平移
点云旋转平移(二)—python open3d点云平移,含数据与源码原创 2022-04-26 06:41:13 · 7338 阅读 · 1 评论 -
点云旋转平移(三)—python open3d点云旋转
点云旋转平移介绍,请参考上一节:点云旋转平移(一)—基础知识介绍_Coding的叶子的博客-CSDN博客。本节所使用的示例pcd点云文件请参考:pcd格式点云样例文件-深度学习文档类资源-CSDN下载。open3d中点云的平移函数为rotate。其函数原型如下所示: 第二个参数是旋转中心,即围绕哪个点进行旋转。如果不指定center的值,默认为点云质心。围绕质心旋转后的点云质心保持不变,可以通过下面的get_center()来定义。 第一个参数R是旋转矩阵。open3原创 2022-04-26 06:51:15 · 12523 阅读 · 2 评论 -
点云仿射变换—open3d python
仿射变换、投影变换通俗理解,python open3d变换数据与源码实验,详解open3d的transform函数原创 2022-04-27 07:18:22 · 6728 阅读 · 1 评论 -
点云缩放—python open3d
点云三种缩放方法,含数据和源码,python open3d原创 2022-04-27 07:18:36 · 8264 阅读 · 0 评论 -
三维点云质心与三角化 — python open3d
三维点云质心与三角化网格,含python程序验证,与open3d中函数对比原创 2022-04-28 07:31:20 · 7352 阅读 · 0 评论 -
三种点云下采样方法(一) — open3d python
三种点云下采样方法 — open3d python,含数据和python源码,本节主要介绍体素下采样。原创 2022-04-28 19:04:01 · 13034 阅读 · 1 评论 -
三种点云下采样方法(二)— open3d python
三种点云下采样方法 — open3d python,含数据和python源码,本节将介绍均匀下采样和随机下采样。原创 2022-04-29 07:15:25 · 12448 阅读 · 4 评论 -
点云离群点剔除 — open3d python
点云离群点剔除 — open3d python,三种点云离群点剔除方法,含数据与源码。原创 2022-04-29 12:35:56 · 13135 阅读 · 0 评论 -
八种点云聚类方法(一)— DBSCAN
八种点云聚类方法(一)— DBSCAN,含点云样例数据与源码原创 2022-04-30 20:52:31 · 13202 阅读 · 0 评论 -
八种点云聚类方法(二)— KMeans
传统机器学习聚类的方法有很多种,并且很多都能够应用在点云上。这是由于聚类方法一般是针对于通用样本,只是样本的维度有所不同。对于三维点云来说,其样本的维度为3。这里主要介绍几种典型的方法及其实现方式,包括DBSCAN、KMeans等聚类方法,采用python open3d和skit-learn来实现。上一节主要介绍了DBSCAN聚类五种点云聚类方法(一)— DBSCAN_Coding的叶子的博客-CSDN博客,本节简要介绍KMeans点云聚类。 KMeans聚类方法是机器学习中最常见的聚类方法之原创 2022-04-30 22:08:43 · 9306 阅读 · 2 评论 -
八种点云聚类方法(三)
八种点云聚类方法(三),含点云样例数据与源码原创 2022-05-01 09:26:29 · 12559 阅读 · 1 评论 -
两种点云分割(一)— RANSAC分割平面
两种点云分割(一)— RANSAC分割平面,含样例数据与python源码原创 2022-05-02 09:55:25 · 10238 阅读 · 0 评论 -
三维点云重建 — open3d python
三维点云表面重建 — open3d python,含示例程序与源码原创 2022-05-03 09:19:28 · 19881 阅读 · 5 评论 -
【三维目标分类 】PointNet详解(一)
PointNet详细解析,含模型结构和数据介绍,以及实验过程。 Pointnet是基于点云的三维目标检测网络,也是三维深度学习目标检测的基础网络之一。本节将参考Github上的源码进行介绍,GitHub地址为GitHub - yanx27/Pointnet_Pointnet2_pytorch: PointNet and PointNet++ implemented by pytorch (pure python) and on ModelNet, ShapeNet and S3DIS.。...原创 2022-05-04 22:36:50 · 8898 阅读 · 7 评论 -
【三维语义分割】PointNet详解(一)
PointNet语义分割详细介绍,从S3DIS数据集处理到模型结构分析,以及代码运行等。 本节主要介绍PointNet语义分割,其中主干网络和代码环境等PointNet详细介绍请参考三维目标检测 — PointNet详解(一)_Coding的叶子的博客-CSDN博客,这里不再进行重复介绍。1 代码环境部署 请参考三维目标检测 — PointNet详解(一)_Coding的叶子的博客-CSDN博客。2 数据介绍 2.1 原始数据S3DI...原创 2022-05-06 12:42:32 · 6177 阅读 · 1 评论 -
【三维目标分类】PointNet++详解(一)
三维目标分类 — PointNet++详解(二),详细介绍PointNet++,含数据、代码和原理直观解析。 上一节主要介绍了PointNet分类,本节将进一步介绍PointNet++点云分类。本节仍然参考Github上的源码进行介绍,PointNet采用全局最大值池化的方式对全体点云进行了特征抽取,这导致了对局部特征的考虑不足。PointNet++通过分组采用PointNet的方式对局部特征进行了提取。GitHub地址为GitHub - yanx27/Pointnet_Pointnet...原创 2022-05-07 12:47:31 · 12287 阅读 · 5 评论 -
【三维深度学习】PointNet++(三):多尺度分组MSG详解
三维目标分类 — PointNet++多尺度分组MSG详解(三),详细介绍PointNet++,含数据、代码和原理直观解析。 上 一节详细介绍了PointNet++点云分类。PointNet++通过SA模块对原始点云进行采样分组,如果只是采用单一半径尺度和固定采样点数,那么分组内的点云会受点云密度的影响。如果点云过于稀疏,那么小半径尺寸无法将稀疏的点云进行分组,从而无法提取到稀疏点云的特征。在单一尺度分组的PointNet++结构中,第一层的SA分组半径最小,后续SA层都是基...原创 2022-05-07 12:57:34 · 7389 阅读 · 0 评论 -
【三维语义分割】PointNet++ (二):模型结构详解
PointNet++语义分割详细介绍,从S3DIS数据集处理到模型结构分析,以及代码运行等。 本节主要介绍PointNet++语义分割,其中主干网络和代码环境等PointNet++详细介绍请参考三维目标分类 — PointNet++详解(二)_Coding的叶子的博客-CSDN博客,这里不再进行重复介绍。1 代码环境部署 请参考三维目标分类 — PointNet详解(一)_Coding的叶子的博客-CSDN博客。2 数据介绍 ...原创 2022-05-08 10:06:42 · 7085 阅读 · 12 评论 -
【最远点采样FPS】点云采样方式(一) — 最远点采样
点云采样方式(一) — 最远点采样,含原理和python源码。点云最远点采样FPS(Farthest Point Sampling)方法的优势是可以尽可能多地覆盖到全部点云,但是需要多次计算全部距离,因而属于复杂度较高的、耗时较多的采样方法。1 FPS采样步骤 FPS采样步骤为: (1)选择一个初始点:可以随机选择,也可以按照一定的规则来选取。如果随机选取那么每次得到的结果都是不一样的,反之每次得到的结果就是一致的。(2)计算所有点原创 2022-05-08 11:03:38 · 6853 阅读 · 0 评论 -
【点云预处理】10种点云数据数据预处理增强方法 — 持续总结和更新(一)
10种点云数据数据预处理方法 — 持续总结和更新(一),含源码,包括点云归一化、随机打乱、随机平移、随机旋转、随机缩放和随机丢弃等。深度学习中点云基本数据处理和增强方式,包括点云归一化、随机打乱、随机平移、随机旋转、随机缩放和随机丢弃等,持续总结与更新。1 中心归一化减去均值,并除以点距原点的最大距离。def pc_normalize(pc): centroid = np.mean(pc, axis=0) pc = pc - centroid ...原创 2022-05-09 07:26:04 · 12052 阅读 · 8 评论 -
【三维语义分割】三维点云语义分割可视化
三维点云语义分割结果可视化,含python源码和open3d可视化程序。 三维点云语义分割结果可视化的目的是更加直观地看到语义分割的效果。上一节详细介绍了PontNet++点云分割,具体内容请参考三维点云语义分割 — PointNet++详解(二)_Coding的叶子的博客-CSDN博客。本节仍然以上一篇PointNet++源码为例。1 数据介绍测试程序仍然使用S3DIS数据集,测试数据处理流程与上一节的训练数据处理流程基本一致,请参考三维点云语义分割 — Po...原创 2022-05-10 07:31:50 · 8206 阅读 · 7 评论 -
【KITTI】KITTI数据集简介(一) — 激光雷达数据
KITTI数据集简介(一) — 激光雷达数据 kitti mini data object veloyne 数据是mini 版KITTI激光雷达数据集,含20个训练点云文件和5个测试点云文件。Mini版可以用于快速验证三维点云算法模型,下载速度更快KITTI数据集的详细介绍网络上已经有较多资料,这里就不详细介绍。这里主要介绍接下来三维点云深度学习模型可能用到的数据文件。KITTI数据集包含多个文件夹,这里将介绍激光雷达数据,即data_object_velodyne。......原创 2022-05-12 08:16:33 · 12658 阅读 · 4 评论