自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (2)
  • 收藏
  • 关注

原创 kitti rotation,label等细节相关

kitti label rotation_ykitti rotation1.在sencond 和 det3d中,均是从kitti label信息中读取的在相机坐标系下的rotation信息,在训练过程中也是回归的camera坐标系下的rotation,如果我想得到lidar坐标系下的rotation公式为:rotation_lidar_y = - (rotation_cam_y + pi/2),至于怎么来的,抽出时间来讲一下,经过网络后得到的输出为(Center_lidar(x,y,z),size_

2021-02-04 20:56:34 835 4

原创 Linux 常用命令小计

1.删除文件大小超过/小于某数的所有文件 find ./ -size -10k -exec rm {} \; find ./ -size +10k -exec rm {} \;2. Vim复制粘贴剪切: 光标所在行 dd复制:p3.统计某文件夹内所有文件的数量ls -l |grep "^-"|wc -l4.统计某文件夹内文件按大小排列du -sh * | sort -nrdu -s * | sort -nr | head 选出排在前面的10个,5.查看某个文件的大小du -h

2020-11-19 20:05:11 364

原创 ROS 相关指令简记

rosbag 相关1.查看bag指定话题名的frame_id: rostopic echo /topic | grep frame_id

2020-10-14 20:39:55 297

原创 3D-Dection系列论文1:Pointpillars ---数据流动篇

数据流动篇这篇文章讲的是当example数据形成后,数据在网络里面流动的方式:首先是example如下:数据名称维度含义Voxels[9918,100,4]9918:pillar数量,100:每个pillar内的最大点数,4:XYZINum_points[9918]9918个int,每个pillar的真实点数coordinates[9918,4]待补充rect[2,4,4]2:batch_size;4*4 rt矩阵.Trv2c[2,4,

2020-09-28 15:00:19 1577 8

原创 3D-Dection系列论文1:Pointpillars ---example是如何生成的?

注:此文是解析的是pointpillar不是second\color{red}{注:此文是解析的是pointpillar不是second}注:此文是解析的是pointpillar不是second我们来看一下网络中的example是如何来的~首先我们通过create_data.py得到了各种pkl文件.然后会通过下面的函数: eval_dataset = input_reader_builder.build( input_cfg, model_cfg,

2020-09-28 14:55:09 1151 2

原创 3D-Dection系列论文1:Pointpillars --- train 架构篇

我们一次按照网络结构里面的执行顺序依次解读:首先我们运行python ./pytorch/train.py train --config_path=./configs/pointpillars/car/xyres_16.proto --model_dir=/path/to/model_dir下面是源码:def train(config_path, model_dir, result_path=None, create_folder=False

2020-09-22 19:12:41 1087 1

原创 Fast Lidar Clustering by Density and Connectivity解读及文章复现工作

Fast Lidar Clustering by Density and Connectivity这篇文章是发布在cs.cv上面的一篇文章,个人理解为利用语义信息来进行聚类。接下来详细解读一下这篇文章。首先这篇文章提出了一种实时的雷达点云实例分割的网络。主要亮点在于提出了skip conection这个结构来增加网络的鲁棒性。主要步骤:此工作是利用将三维点云转换成深度图像后进行相关操作。 1.去除地面。2.横纵向距离值D计算。3.合并3个2值图,进行连通性判断。4.skip-connect

2020-08-05 17:34:52 502 1

原创 DBSCAN 简记

DBSCAN 简记先上图上图些了DBSCN算法的具体步骤:

2020-07-14 00:35:53 518

原创 K-Means 简记

K-Means现上一张图:先说一下K-means的流程1. 随机选择K个点作为聚类中心。2. 对数据集中每一个点,计算其与每一个质心的距离(如欧式距离),离哪个质心近,就划分到那个质心所属的集合。3. 重新计算K个聚类簇的每个聚类中心4. 重复2-3步骤5. 截至条件为:当K个聚类中心不再变化,或者达到一定的迭代次数。优化部分1.我们在选择中心点的时候,尽量要选择数据中的点,减少我们迭代的次数,比如像图12.我们可以多试验几次K-means,然后选择最低的J,损失函数K值的确定对于

2020-07-13 23:39:00 157

原创 RANSAC 简记

RANSAC 简记明天面试,准备一下基础知识。RANSAC全称随机采样一致性,我的研究方向是三维点云处理,之前在做地面滤波的时候会经常用到这个算法来模拟地面。首先,RANSAC算法里面由内点和外点组成,内点也就是我们所设置的theshold内的点。如上图,我们在拟合直线的时候,依次进行的步骤是:1.随机从所有点中选取一个子集,这个子集点的个数就是你所要你和模型的参数量的个数,比如直线,则需要两个点,平面,需要三个点。2.解出模型参数后,即 y = ax + b。3.计算模型后,就要计算其他

2020-07-13 19:05:17 380

原创 ONNX动态输入和动态输出问题

记录一下最近遇到的ONNX动态输入问题首先是使用到的onnx的torch.onnx.export()函数:贴一下官方的代码示意地址:ONNX动态输入#首先我们要有个tensor输入,比如网络的输入是batch_size*1*224*224x = torch.randn(batch_size, 1, 224, 224, requires_grad=True)#torch_model是模型的实例化torch_out = torch_model(x)#下面是导出的主要函数# Export the

2020-07-04 00:37:09 16207 14

原创 VFE------多层的体素特征编码(Stacked Voxel Feature Encoding)

VFE------多层的体素特征编码(Stacked Voxel Feature Encoding)现在很多三维点云处理的网络中都会利用VFE结构来进行点云的特征处理。比如说VoxelNet:1. 将体素内所有点取平均值得到(Vx,Vy,Vz)。2. 将每个点的特征升维变成7维的特征点,即Vin。3. 首先将带有7个特征的每个点Pi输入到FC网络(FC+BN+ReLU)得到Point-wise feature,得到m维特征的点,即7 -> m.4. 然后经过Maxpoling对上一步得

2020-05-28 16:01:10 4931 2

原创 3D-Detection系列论文1 ---- Pointpillars --creat_date篇

一、creat_data 准备数据按照格式官网格式准备好,将不同的文件放入不同的文件夹。└── KITTI_DATASET_ROOT ├── training <-- 7481 train data | ├── image_2 <-- for visualization | ├── calib | ├── label_2 | ├── velodyne | └── velodyne_r

2020-05-19 13:47:13 1217 1

原创 KITTI 数据集解读

KITTI参考链接:1.https://blog.csdn.net/solomon1558/article/details/70173223  KITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集。该数据集用于评测立体图像(stereo),光流(optical flow),视觉测距(visual odometry)...

2020-04-17 20:47:19 783

原创 Open3D 知识点集合

Open3D首先上一下官方文档地址:官方地址1.知识点 --------- KNN 加速搜索open3d.geometry.KDTreeFlann#pointcloud 是Open3d对象pcd_tree = open3d.geometry.KDTreeFlann(pointcloud)pcd_tree.search_knn_vector_3d(pcd.points[1500], ...

2020-04-17 16:12:36 969

原创 Python 知识点小结

文件读取file.read() #方法用于从文件读取指定的字节数,如果未给定或为负则读取所有。text_format.MessageToString(message):把一個 message 轉換成字串。把這個字串在寫入一個檔案即是 protobuf 的文字格式。text_format.Merge(string, message):把一個字串讀進一個 message。在我的範例裡...

2020-04-17 16:12:17 405

原创 Xavier 安装Open3D

Xavier 安装Open3D过程在Xavier上安装东西简直是太挑战人的心里素质了,因为Xavier属于ARM内核,所以很多东西都不兼容。下面来说下Open3d的安装过程,至于这个库就不介绍了。在Xavier安装Open3d的时候,虽然可以使用pip进行安装,但是安装过后导入包的时候会出现找不到open3d.so的文件的错误,官网也给出了回复,我们需要通过源码编译安装,DOC描述。首先我...

2020-04-08 18:34:32 614

原创 Xavier 运行 SECOND点云目标检测网络(一)

太难了在Xavier上编译各种东西实在是太难了!!!!记录一下吧:首先说一下搭建成功的环境:Ubuntu 18.04Pytorch 1.3.0python 3.6.9numpy 1.17.4numba 0…44…1llvmlite 0.29.0Cmake 3.13.2CUDA: 10.0cuDNN:7安装步骤:在给Xavier刷完机之后,首先是安装Cmake,要进行...

2020-04-08 13:42:09 1508 1

原创 Pytorch 深度学习 Day03 --梯度下降

1.局部极小值 对于目标函数 f(x) ,如果 f(x) 在 x 上的值比在 x 邻近的其他点的值更小,那么 f(x) 可能是一个局部最小值(local minimum)。如果 f(x) 在 x 上的值是目标函数在整个定义域上的最小值,那么 f(x) 是全局最小值(global minimum)。  深度学习模型的目标函数可能有若干局部最优值。当一个优化问题的数值解在局部最优解附近时,由于目标...

2020-04-08 12:00:57 232

原创 Xavier jetpack4.23+ 刷机整理

1 安装虚拟机直接安装就行,没什么难的,我使用的是1.下载安装包https://developer.nvidia.com/embedded/jetpack这里选择最新的就行。

2020-03-24 21:25:04 220

原创 Python_Numpy库知识点总结

1.np.arange()用法np.arange()函数返回一个有终点和起点的固定步长的排列,如[1,2,3,4,5],起点是1,终点是5,步长为1。参数个数情况: np.arange()函数分为一个参数,两个参数,三个参数三种情况1)一个参数时,参数值为终点,起点取默认值0,步长取默认值1。2)两个参数时,第一个参数为起点,第二个参数为终点,步长取默认值1。3)三个参数时,第一个参数...

2020-02-20 23:19:29 296

原创 Pytorch 深度学习 Day03 ---批量归一化与残差网格

批量归一化批量归一化的提出正是为了应对深度模型训练的挑战。在模型训练时,批量归一化利用小批量上的均值和标准差,不断调整神经网络中间输出,从而使整个神经网络在各层的中间输出的数值更稳定。批量归一化和下一节将要介绍的残差网络为训练和设计深度模型提供了两类重要思路。批量归一化曾对全连接层和卷积层做批量归一化的方法稍有不同。下面我们将分别介绍这两种情况下的批量归一化。对全连接层做批量归一化我们先...

2020-02-20 17:40:33 480

原创 Pytorch 深度学习 Day02 ---AlexNet、VGG、NIN、GooLeNet

深度卷积神经网络(AlexNet)在LeNet提出后的将近20年里,神经网络一度被其他机器学习方法超越,如支持向量机。虽然LeNet可以在早期的小数据集上取得好的成绩,但是在更大的真实数据集上的表现并不尽如人意。一方面,神经网络计算复杂。虽然20世纪90年代也有过一些针对神经网络的加速硬件,但并没有像之后GPU那样大量普及。因此,训练一个多通道、多层和有大量参数的卷积神经网络在当年很难完成。另一...

2020-02-16 21:28:04 569

原创 Pytorch 深度学习 Day02 LeNet

卷积神经网络在“多层感知机的从零开始实现”一节里我们构造了一个含单隐藏层的多层感知机模型来对Fashion-MNIST数据集中的图像进行分类。每张图像高和宽均是28像素。我们将图像中的像素逐行展开,得到长度为784的向量,并输入进全连接层中。然而,这种分类方法有一定的局限性。图像在同一列邻近的像素在这个向量中可能相距较远。它们构成的模式可能难以被模型识别。对于大尺寸的输入图像,使用全连接层容...

2020-02-16 17:37:03 210

原创 Pytorch 深度学习 Day01 ---多层感知机

多层感知机我们已经介绍了包括线性回归和softmax回归在内的单层神经网络。然而深度学习主要关注多层模型。在本节中,我们将以多层感知机(multilayer perceptron,MLP)为例,介绍多层神经网络的概念。隐藏层多层感知机在单层神经网络的基础上引入了一到多个隐藏层(hidden layer)。隐藏层位于输入层和输出层之间。图3.3展示了一个多层感知机的神经网络图。在图3.3所...

2020-02-16 00:48:00 276

原创 Pytorch 深度学习 Day02 ---卷积神经网络基础

二维卷积层卷积神经网络(convolutional neural network)是含有卷积层(convolutional layer)的神经网络。本章中介绍的卷积神经网络均使用最常见的二维卷积层。它有高和宽两个空间维度,常用来处理图像数据。二维互相关(cross-correlation)运算的输入是一个二维输入数组和一个二维核(kernel)数组,输出也是一个二维数组,其中核数组通常称为卷积...

2020-02-15 23:41:20 189

原创 Pytorch 深度学习 Day01 ---Softmax与分类模型

Softmax与分类模型内容包含:1.softmax回归的基本概念2.如何获取Fashion-MNIST数据集和读取数据3.softmax回归模型的从零开始实现,实现一个对Fashion-MNIST训练集中的图像数据进行分类的模型4.使用pytorch重新实现softmax回归模型softmax回归的基本概念分类问题一个简单的图像分类问题,输入图像的高和宽均为2像素,色彩为灰度。...

2020-02-15 16:58:11 536

原创 Pytorch 深度学习 Day01 ---线性回归

线性回归主要内容包括:1.线性回归的基本要素2.线性回归模型从零开始的实现3.线性回归模型使用pytorch的简洁实现线性回归的基本要素模型为了简单起见,这里我们假设价格只取决于房屋状况的两个因素,即面积(平方米)和房龄(年)。接下来我们希望探索价格与这两个因素的具体关系。线性回归假设输出与各个输入之间是线性关系:数据集我们通常收集一系列的真实数据,例如多栋房屋的真实售出价格和它...

2020-02-14 23:45:44 218

原创 Egien库的使用小结

vector1.Eigen::Vector3d:被默认为列向量,3d代表三行.数据类型均为double型.2.旋转向量(3X1):Eigen::AngleAxisdEigen::AngleAxisd rotation_vector ( M_PI/4, Eigen::Vector3d ( 0,0,1 ) ); //角+轴:沿 Z 轴旋转 45 度.三维空间转换rotation_vector....

2019-12-25 23:44:33 538

原创 变量的存储类别

1.动态存储方式与静态存储方式静态存储方式:在程序的运行期间,系统对变量分配固定的存储空间.动态存储方式:在程序运行期间,系统对变量动态的分配存储空间.存储空间:1.程序区2.静态存储区3.动态存储区  全局变量全部存放在静态存储区,在程序开始执行的时候给全部变量分配存储单元,程序执行完毕就释放空间,在程序执行过程中他们占据固定的存储单元,而不是动态的进行分配和释放.动态存储区主要...

2019-12-25 23:43:07 159

原创 多激光雷达点云拼接(一)

两个velodyne激光雷达同时连接在一台电脑上的方法最近需要将两个激光雷达点云拼接到一起,琢磨了两天后最后终于可以实现了,记录一下.先说一下具体步骤:两个雷达需在同一IP网段内两个雷达的端口号不能一样.两个雷达的HOST IP设置为电脑的静态IP地址.需要修改velodyne的launch文件.do it!一、改变两个雷达的内部IP、端口等设置.两个雷达需在同一IP网段内...

2019-12-19 21:53:38 6893 3

原创 undefined reference to `omp_get_thread_num'

关于#pragma的用法及简介参考链接:https://blog.csdn.net/dayou1024/article/details/90475389.使用中的问题#include <iostream>#include <stdio.h>#include "omp.h"using namespace std;int main() { omp_set...

2019-12-15 17:26:51 9043 1

原创 关于在ros回调函数中处理激光雷达点云累计数帧数据一起处理的操作

ROS中点云数据的叠加处理在我们处理点云数据的时候,我们经常会对点云的数据进行累加到一起在进行操作,也就是将几帧数据叠加为一个数据在进行处理,这在低线束的情况下是经常用到的,具体的操作过程如下:class object3dDetector { /*************Publish And Subcriber*************/private: ros::NodeH...

2019-12-11 01:39:09 2334 6

原创 关于大疆雷达MID100 ROS转发topic丢失数据的问题

关于大疆雷达的通讯问题这部分比较主要,因为当时卡在这个问题上了好久,主要问题是大疆雷达在rviz实时显示的时候,livox/lidar这个topic的数据其实是很全的,但是我在转发的时候(单纯的转发,没做任何处理操作),这个时候就发现,我转发的数据会丢失,效果图如下:彩色的部分是/livox/lidar原话题的数据,白色的是我直接转发的数据,但是发现有的时候有个雷达的数据没有,而且是闪烁性的,...

2019-12-11 01:29:09 1280 1

原创 Invalid argument passed to canTransform argument source_frame in tf2 frame_ids cannot be empty错误.

PCL库中copyPointCloud两种原型第一种:有点云索引值 template <typename PointT> void pcl::copyPointCloud (const pcl::PointCloud<PointT> &cloud_in, const pcl::PointIndices &i...

2019-11-18 11:52:21 6826

原创 激光雷达点云--点云栅格化(二)

二维点云栅格化优化   基本思路:按照点云中的xyz坐标值,直接判断放到相应的栅格中,因为定义每个栅格的大小和多少是知道的,比如我的x值是11.5,每个栅格设置的大小是1m,那我x所在的行就是第12行。在上次的代码中已经提及过。直接上代码:for (int count = 0; count < temp_cloud->points.size(); count++) {// ...

2019-11-07 17:14:25 7936 14

原创 C++ 小知识点总结(持续补充)

C++小知识点总结1.程序运行时间#include<time.h> //用到clock()函数int main() { int begintime,endtime; begintime=clock(); //计时开始// do something endtime = clock(); //计时结束 printf("\n\nRunning Time:%dms\n...

2019-11-07 12:49:28 120 1

原创 激光雷达点云---点云二维栅格化处理

激光点云栅格化处理   激光点云地图存储的是传感器对环境的原始扫描点云,优点是保留信息完整,缺点是计算量大、不能直接用于导航避障;特征地图存储的是环境中的特殊几何特征,如电线杆、路标、障碍物边缘等,其计算量小但保留信息过少需进行过滤后才能进行使用。   激光点云栅格化核心思想是将激光雷达所扫描到的区域用网格进行处理,每个栅格点云代表空间的一小块区域,内含一部分点云,点云栅格化处理分为二维栅格化...

2019-11-06 21:52:10 15384 3

原创 PCL:点云滤波处理--下采样

PCL:点云滤波处理–下采样学习pcl库的时候只是看了个大概,用到的时候直接到pcl官方文库里找了来用,没实际研究过,今天学习点云网格化处理的时候遇到了这个问题,在此记录下。使用VexelGrid滤波器对点云下采样     简单来说,下采样的功能就是过滤掉大量的噪点,减少点的数量,同时保持点云的形状特征,是对点云操作的预处理,而VexelGrid滤波器是点云下采样的一种,这里先简单说说:...

2019-11-03 22:54:18 3523 5

原创 抓住9012的小尾巴儿

抓住9012的小尾巴儿          每天忙忙碌碌、记录点点滴滴    其实很长时间以前就想找个地方记录一下自己的生活点滴,无论是学习还是日常,给自己一些回忆,加油,2019~                                                             2019.10.2...

2019-10-25 21:15:52 166

KITTI数据集pkl文件解析txt

本文件是将kitti数据集产生的pkl数据解析成txt文件,pkl里面的数据其实就是障碍物检测的实际信息,转换成txt后方便大家阅读 。

2020-05-19

multi_lidar.launch

此文件是将多个velodyne雷达进行点云拼接的launch文件,可以直接运行,有需要的同学可以自取.

2019-12-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除