3D点云
文章平均质量分 81
令狐少侠、
**
展开
-
生成voxel——spconv源码剖析(六)
是一个只包含头文件的轻量级库,可以通过它实现。的优点是API比较简单且对。直接看代码,有详细的注释。调用时,将调用该函数。原创 2022-11-24 20:52:28 · 2046 阅读 · 1 评论 -
3d稀疏卷积——spconv源码剖析(五)
下面介绍了根据构建的Rulebook执行具体稀疏卷积计算,继续看类。PyTorch` 会自动调度该函数,合适地执行前向和反向计算。SubMConvFunction的前向传播forward调用。在前向推理或者反向传播时的调度,使用。类有一个很好的性质:如果它定义了。把这个调用方法取了一个更简短的别名。的一个方法,这个方法完成了。函数不太“美观”,这里用。算子时,我们可以忽略。对象辗转还是会继续调用。来封装算子的底层调用。扩充:对模型部署来说,的实现细节,而只通过。这个接口来访问算子。原创 2022-11-22 14:39:27 · 763 阅读 · 0 评论 -
3d稀疏卷积——spconv源码剖析(四)
对于counter变量含义可以参考注释代码,如哪些些地方理解有误,也麻烦大家指出来。作用根据输入点计算输出哈希表和输出所用到的卷积核权重的位置,同时返回有效输出个数。我们继续看普通稀疏卷积RuleBook的建立过程,返回。卷积为例:给定输入点的输出点取决于内核大小。直接看下列代码,注释比较详细了。函数的普通3D稀疏卷积部分。普通3d稀疏卷积调用。原创 2022-11-21 20:10:14 · 433 阅读 · 0 评论 -
3d稀疏卷积——spconv源码剖析(三)
注册的算子可以通过torch.xxx或者tensor.xxx的方式进行调用,该方式同样与pytorch源码解耦,增加和修改算子不需要重新编译pytorch源码。用该方式注册一个新的算子,流程非常简单:先编写C++相关的算子实现,然后通过pytorch底层的注册接口(torch::RegisterOperators),将该算子注册即可。逻辑部分,并且子流行3d稀疏卷积和正常3d稀疏卷积分开讨论,优先子流行3d稀疏卷积。用于保存卷积核每一个位置上的总的计算的次数,这里分配理论最大的内存,它的。原创 2022-11-19 16:35:21 · 1805 阅读 · 1 评论 -
3d稀疏卷积——spconv源码剖析(二)
本文基于OpenPCDet框架中算法,对spconv库中稀疏卷积源码进行剖析:首先看OpenPCDet下的。package`目录下有__init__.py 文件,在导入spconv时__init__.py中的可执行代码会被执行在导入完spconv后,可以直接使用等子模块__init__.py是Python中package的标识,定义了包的属性和方法__在__init__.py中定义了3d稀疏卷积的核心数据结构,但是本身并不是一个,只是对稀疏Tensor的一个抽象。原创 2022-11-19 16:27:04 · 2334 阅读 · 2 评论 -
3d稀疏卷积——spconv源码剖析(一)
和对应上图的Hash_in,和Hash_out。对于是下标,key_ in表示value在中的位置。现在的input一共两个元素P1和P2,P1在的(2, 1)位置,P2在的(3,2)的位置,并且是YX顺序。这里只记录一下p1的位置 ,先不管p1代表的数字把这个命名为。input hash tabel的构建完成了,接下来构建 output hash table。用一个kernel去进行卷积操作:但是,并不是每次卷积kernel都可以刚好碰到P1。所以,从第7次开始,输出的这个矩阵就不再变化了。原创 2022-11-14 10:33:38 · 3401 阅读 · 1 评论 -
PolarNet: An Improved Grid Representation for Online LiDAR Point Clouds Semantic Segmentation
点云语义分割在三维目标检测、场景识别以及高精度地图自动化构建等方面具有较大的应用价值,随着深度神经网络在计算机视觉领域的广泛应用,基于深度学习的点云语义分割方法成为该领域主流。如何提取来自空间中不规则分布的点的上下文信息,无论是局部的还是全局的。从聚合上下文信息的方法来看,主要有两种方式:参数化和非参数化。原创 2020-08-12 10:41:40 · 169 阅读 · 0 评论 -
Class-balanced Grouping and Sampling for Point Cloud 3D Object Detection
本文算法在CVPR 2019自动驾驶Workshop 3D目标检测挑战赛中赢得了冠军。作者利用稀疏3D卷积提取丰富的语义特征,并将其输入到一个类别平衡的多头网络中进行3D目标检测。为了解决自动驾驶场景中天然存在的严重类别不平衡问题,作者设计了一个类别平衡采样和增强策略以生成一个更加平衡的数据分布。此外,作者还提出了平衡分组网络头,提升了具有相似形状类别的分类性能。本文提出的算法在所有评估指标上大幅优于PointPillars,在nuScenes数据集上达到SOTA的检测性能。原创 2022-02-11 20:58:42 · 609 阅读 · 0 评论 -
Img2Col卷积与稀疏卷积
Img2Col卷积:https://blog.csdn.net/weixin_42405819/article/details/118416675。稀疏卷积:https://zhuanlan.zhihu.com/p/383299678。原创 2022-03-02 14:55:35 · 153 阅读 · 0 评论 -
SECOND——论文与代码解析
基于 LiDAR 或基于 RGB-D 的目标检测被用于从自动驾驶到机器人视觉的众多应用中。一段时间以来,基于体素的 3D 卷积网络在处理点云 LiDAR 数据时被用于增强信息的保留。然而,问题仍然存在,包括推理速度慢和方向估计性能低。因此,我们研究了一种用于此类网络的改进稀疏卷积方法,该方法显着提高了训练和推理的速度。我们还引入了一种新形式的角度损失回归来提高方向估计性能和一种新的数据增强方法,可以提高收敛速度和性能。.............................................原创 2022-01-25 00:02:54 · 1435 阅读 · 0 评论 -
CenterPoint论文和代码解析
三维对象通常表示为点云中的 3D 框。这种表示模仿了基于图像的 2D 边界框检测,但也带来了额外的挑战。3D 世界中的对象不遵循任何特定的方向,基于框的检测器难以枚举所有方向或将轴对齐的边界框拟合到旋转的对象。在本文中,我们用点来表示、检测和跟踪三维物体。我们的框架 CenterPoint 首先使用关键点检测器检测对象的中心,然后回归其他属性,包括 3D 尺寸、3D 方向和速度。在第二阶段,它使用目标上的额外点特征来改进这些估计。在 CenterPoint 中,3D 对象跟踪简化为贪婪的最近点匹配。....原创 2022-08-24 19:01:34 · 2688 阅读 · 0 评论 -
点云转BEV鸟瞰图
http://ronny.rest/tutorials/module/pointclouds_01/point_cloud_birdseye/点云数据可表示为[N,3]的数组,N点云个数,每行代表一个点,至少至少使用3个值表示,如(x,y,z)蓝色为图像坐标系,橙色为点云坐标系,如下图所示:图像坐标系:点云坐标:通常只需要提取点云的感兴趣区域由于在俯视数据,要将其转换为图像,因此要使用与图像坐标轴更加一致的方向。下面,我指定了我想要关注的相对于原点的值范围。 原点左侧的任何内容都将被视为负数,而右侧的原创 2020-06-02 14:33:23 · 3031 阅读 · 0 评论 -
kitti转bag(修改kitti2bag添加强度intensity信息)
文章目录Raw Data简介kitti2bag生成bag修改kitti2bagRaw Data简介Raw Data 数据地址:http://www.cvlibs.net/datasets/kitti/raw_data.php原始数据记录,按类别排序(城市、住宅、道路、校园、人、校准)数据集包含以下信息,以 10 Hz 的频率捕获和同步:原始(unsynced+unrectified)和处理(synced+rectified)灰度立体序列,由两个灰度相机cam0和cam1采集,对应文件夹imag原创 2022-05-04 02:07:42 · 1297 阅读 · 0 评论 -
OpenPCDet——环境配置和训练测试(升级系统、Nvidia驱动、cuda11.3、cudnn8.2)
文章目录NVIDIA 驱动升级CUDA安装笔记本显卡驱动NVIDIA 418,cuda9.0 比较旧,和工作的环境不兼容,导致tensorRT装版本也不一致,决定把GTX 1060显卡升级到最新的驱动NVIDIA 驱动升级sudo apt-get remove --purge nvidia*sudo sh NVIDIA-Linux-x86_64-418.56.run --uninstall禁用nouveausudo gedit /etc/modprobe.d/blacklist.conf在原创 2022-04-30 22:39:05 · 6277 阅读 · 33 评论 -
TensorRT8——ONNX转trt
CUDA安装首先需要确保正确安装CUDA,安装后通过nvcc -V验证是否安装。下载TensorRThttps://developer.nvidia.com/nvidia-tensorrt-8x-download原创 2022-04-28 23:08:25 · 5090 阅读 · 0 评论 -
3D点云系列———pcl:点云融合
OpenCV的基本矩阵操作与示例原创 2019-09-13 16:24:22 · 10027 阅读 · 4 评论 -
3D点云系列———pcl:点云网格化
参考:https://mp.weixin.qq.com/s/FfHkVY-lmlOSf4jKoZqjEA什么是网格网格主要用于计算机图形学中,有三角、四角网格等很多种。计算机图形学中的网格处理绝大部分都是基于三角网格的,三角网格在图形学和三维建模中使用的非常广泛,用来模拟复杂物体的表面,如建筑、车辆、动物等,你看下图中的兔子、球等模型都是基于三角网格的三角形表示网格也叫三角剖分。它有如下几...原创 2019-09-13 15:45:33 · 16544 阅读 · 8 评论 -
3D点云系列——pcl:点云平滑及法线估计
// 对点云重采样 pcl::search::KdTree<PointT>::Ptr treeSampling (new pcl::search::KdTree<PointT>); // 创建用于最近邻搜索的KD-Treepcl::PointCloud<PointT> mls_points; //输出MLSpcl::MovingLeastSquare...原创 2019-09-13 12:24:17 · 8195 阅读 · 8 评论 -
3D点云系列——pcl:点云滤波
参考:PCL经典代码赏析四:点云滤波PCL官网:http://docs.pointclouds.org/trunk/group__filters.html//先对其进行下采样,再进行滤波,最后输出滤波后的结果及被滤掉的离群点。#include <pcl/point_types.h>#include <pcl/io/io.h>#include <pcl/i...原创 2019-09-12 20:46:53 · 985 阅读 · 1 评论 -
VoxelNet:基于点云的端到端 3D 物体检测网络
文章目录网络结构特征学习网络Voxel PartitionGroupingRandom SampllingVoxel Feature Encoding,VFESparse Tensor Representation卷积中间层区域提出网络(RPN)损失函数网络结构VoxelNet 将点云划分为等间隔的3D体素(Voxel),并通过新引入的体素特征编码(VFE)层将每个体素内的一组点转换为单一特征表示。通过这种方式,点云被编码为具有描述性的体积表示,然后将其连接到 RPN 以生成检测结果。VoxelNet原创 2022-03-31 12:38:56 · 478 阅读 · 0 评论