![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
自动驾驶技术专栏
文章平均质量分 86
包含相机、激光等自动驾驶相关技术,透彻剖析每个技术点。
AutoXTruck
自动驾驶行业从业者,分享相关技术文章与行业心得体会,希望对你有所帮助。
展开
-
【DeepSORT系列之】模型训练pytorch版与模型部署操作
目录模型训练模型转换模型部署小结参考模型训练训练代码链接ZQPei/deep_sort_pytorch关于环境配置,你按照requirements.txt进行安装即可。参数配置:--data_dir # 数据路径--gpu_id # 使用gpu id--lr # 学习率--resume # 是否读取之前模型继续训练关于训练Mars数据集在测试ACC时候精度很低的情况问题high loss low test acc。主要问题在于Mars数据集你需要将bbox_train文件夹下面的数据原创 2022-04-11 19:26:07 · 3689 阅读 · 11 评论 -
【Apollo点云分割模型之】训练BCNN网络操作
简述 Apollo激光感知模块主要分为几个部分,一部分是直接对3D点云进行检测输出目标框。例如:PointPillars算法或MaskPillars算法等。另一部分主要是通过训练点云分割模型,然后对前景分割目标进行聚类、拟合最终输出目标框的方法。本篇博文主要介绍Apollo点云分割算法之BCNN的训练NuScenes数据集过程记录。关于BCNN代码传送门:train_bcnn如何训练分割模型数据准确环节首先,需要你准备一些nuScenes数据集。然后,在工程train_bcnn目录下面找到可执行原创 2022-03-08 19:41:12 · 2316 阅读 · 0 评论 -
【DeepSORT算法】系列之深度解读
目录DeepSORT算法DeepSORT算法流程图DeepSORT算法代码解读小结参考DeepSORT算法DeepSORT算法流程图DeepSORT算法代码解读小结参考Deep sort算法代码解读论文翻译DeepSORT原创 2022-02-22 20:49:29 · 1057 阅读 · 0 评论 -
【学习总结匈牙利算法到KM算法】
目录匈牙利算法匈牙利算法代码小结参考匈牙利算法匈牙利算法代码小结参考原创 2022-02-11 20:52:27 · 2748 阅读 · 0 评论 -
【状态估计滤波学习系列】之ExtendKalmanFilter
简单介绍一下ExtendKalmanFilter参考原创 2022-02-10 19:04:19 · 1069 阅读 · 0 评论 -
【无人驾驶视觉系列之】3D障碍物检测SMOKE算法调试分析
无人驾驶视觉感知介绍该篇主要介绍一种纯3D深度学习视觉检测方法,SMOKE: Single-Stage Monocular 3D Object Detection via Keypoint Estimation开源代码链接smoke。相比于前面两篇半深度学习与几何估算3D信息,这篇文章直接学习出3D视觉的障碍物信息。3D障碍物技术理论技术分析代码结论小结参考...原创 2022-01-24 19:58:48 · 3517 阅读 · 1 评论 -
【Apollo解读代码系列之perception】camera模块tracker逻辑分析
camera模块之trackercamera模块之主要结构图原创 2022-01-12 18:56:16 · 2663 阅读 · 4 评论 -
【OpenCV学习系列】之KalmanFilter
目录卡尔曼滤波算法卡尔曼滤波流程卡尔曼滤波代码示例小结参考卡尔曼滤波算法卡尔曼滤波流程卡尔曼滤波代码示例小结参考原创 2022-01-10 20:16:07 · 2460 阅读 · 0 评论 -
【Apollo解读代码系列之perception】lidar模块tracker逻辑分析
lidar模块之tracker原创 2021-12-07 20:51:10 · 3506 阅读 · 2 评论 -
【无人驾驶视觉系列之】3D障碍物检测(二)
无人驾驶视觉感知介绍3D障碍物技术理论技术分析代码结论小结参考原创 2021-09-02 19:40:08 · 1270 阅读 · 0 评论 -
【无人驾驶视觉系列之】3D障碍物检测(一)
无人驾驶视觉感知异同点介绍3D障碍物技术理论技术分析代码结论小结参考原创 2021-08-28 19:49:36 · 1289 阅读 · 1 评论 -
【pcl教程系列之】点云过滤pipeline整体流程
目录点云过滤流程图一些思考小结参考点云过滤流程图一些思考小结参考pcl原创 2021-03-09 18:53:25 · 978 阅读 · 0 评论 -
【pcl点云教程系列】之大曲率斜平面过滤
目录简介大曲率点云斜坡过滤代码分析小结参考简介 点云过滤作为传统激光点云目标检测预处理阶段重要一环节,过滤效果的好坏会直接影响后续点云聚类检测的效果。现实无人车行驶的道路上,地形起伏坡度不一致,这就导致一般的点云过滤算法无法有效的处理像进入地下车库这种曲率特别大的路段。有些时候就需要一些先验信息辅助进行大曲率斜坡的过滤。本篇博客介绍一种结合地图给予的先验信息进行过滤的一种方法,能够有效的进行点云大斜坡过滤,同时还能够保证一定的实时性。大曲率点云斜坡过滤代码分析小结参考...原创 2021-03-09 18:51:09 · 1200 阅读 · 2 评论 -
【pcl教程系列】之点云目标检测整体流程
点云目标检测概述<font face=“楷体” color#00000 size=4>代码小试<font face=“楷体” color#00000 size=4>小结<font face=“楷体” color#00000 size=4>参考原创 2020-12-30 18:58:18 · 5819 阅读 · 7 评论 -
【点云学习系列】之Gaussian-process-based Real-time Ground Segmentation for Autonomous Land Vehicles
简介算法原理实验结果小结参考https://link.springer.com/article/10.1007/s10846-013-9889-4原创 2020-10-14 19:30:29 · 1097 阅读 · 7 评论 -
【pcl入门教程分割系列】之ProgressiveMorphologicalFilter
简介 本篇博客介绍一种点云分割通过形态学滤波的方法,该算法来自于 A Progressive Morphological Filter for Removing Nonground Measurements from Airborne LIDAR Data论文,主要是解决航空摄影测量时候,如何有效的分割出地平面的点云。Demo代码#include <iostream>#include <chrono>#include <pcl/io/pcd_io.h>#in原创 2020-10-09 19:41:41 · 2117 阅读 · 0 评论 -
【pcl入门教程分割系列】之Difference of Normals Based Segmentation
DoN Segmentation 之前的博客有过介绍几种地面点云提取or分割的方法,本次博客介绍一下通过差分法线特征(Difference of Normals features, DoN)的方式来进行分割。在pcl源码库中对应的接口函数为pcl::DifferenceOfNormalsEstimation类,该算法对于给定输入点云按照尺度进行分段,来进行查找属于给定比例尺度参数的点集。DoN理论浅析 DoN算法提供一种计算高效、多尺度方式去处理无序的大场景点云数据。算法思想较为简单:对于每一个点原创 2020-09-27 18:29:40 · 2261 阅读 · 2 评论 -
【点云学习系列】之Fast segmentation of 3D point clouds(一)
简介该篇点云论文全称为Fast segmentation of 3D point clouds: A paradigm on LiDAR data for autonomous vehicle applications,文章标题不够。该篇点云论文主要分为两个阶段的创新:①点云地面点的提取GPF;②点云扫描聚类快速提取SLR;...原创 2020-09-18 21:03:46 · 2091 阅读 · 11 评论 -
【pcl入门教程系列】之点云Concatenate
简要说明 点云拼接(Concatenate)是指将点云进行累加在一起,只是累加的方式不太一样。一种是点云的字段与维度完全一致,数量可以不同,两部分点云相加,点云的数量增加了。另一种是点云的字段与维度不一致,但是两部分点云的数量相同,进行维度的累加。举例简单阐述一下: 针对第一种累加情况:假设点云A有N个点,每个点数据PointXYZ,点云B有M个点,每个点的数据PointXYZ,那么进行累加后点云C有(N+M)个点,每个点的数据PointXYZ。 针对第二种累加情况:假设点云A有N个点,每个点原创 2020-09-08 20:08:47 · 3886 阅读 · 3 评论 -
【pcl入门教程系列】之点云IO介绍及其转换
点云格式介绍点云bin/pcd转换代码部分参考原创 2020-09-08 19:11:15 · 1942 阅读 · 0 评论 -
【点云学习系列】之Efficient L-Shape Fitting for Vehicle Detection Using Laser Scanners
简介 今天说一下该篇论文Efficient L-Shape Fitting for Vehicle Detection Using Laser Scanners主要是讲解关于车辆的点云box拟合的问题,车辆拟合是检测与跟踪较为重要的环节,因此该篇论文提出L-Shape Fitting的拟合方式获取较为鲁棒、稳定的效果,且算法高效。下面我们较为详细的介绍一下该篇论文:算法模块分析文末链接该篇论文的C++/Python的代码链接算法主要流程L-Shape Fitting主要是对点云聚类后的物体进行障原创 2020-09-06 14:29:29 · 1981 阅读 · 2 评论 -
【pcl入门教程滤波系列】之GridMinimum
简介 谈及点云体素化是一种点云比较普遍的处理方式,之前的一篇博文【pcl入门教程滤波系列】之VoxelGrid有讲解点云体素化与近似体素化的情况。主要涉及两个函数pcl::VoxelGrid与pcl::ApproximateVoxelGrid的体素化方式,其中第一个是通过划分体素栅格求取每个栅格里面的点云重心来作为这个栅格的点云代表,而第二个则是依据栅格的中心点来代表该栅格的点云。当然,各有各的用在不同的场景。不知道你是否想过,为什么没有求取栅格中最低点的方法?这样对于划分体素栅格后获取最低点,有助于对原创 2020-09-03 19:06:28 · 872 阅读 · 0 评论 -
【pcl入门教程滤波系列】之RadiusOutlier
简介 上面图片来自官方示例,简短说明一下半径离群点剔除的策略:就是在某个点半径范围内搜索邻域的点集个数能否满足设置点个数,不满足就是离群点。从上图可以看见,如果指定邻域至少包含1个点,那么黄色点将会被删除。如果指定邻域至少包含2个点,则黄色和绿色点都会被删除。一般情况下,RadiusOutlier会在条件滤波之后【pcl入门教程滤波系列】之ConditionFilter滤波,进行离群点去除。Demo示例#include <iostream>#include <pcl/point原创 2020-09-02 18:16:57 · 969 阅读 · 0 评论 -
【pcl入门教程系列】之点云投影
简介 本篇博文主要介绍如何将点云投影到参数模型(例如:平面、球体等)。参数模型会通过一组系数给出,例如平面方程ax+by+cz+d=0ax+by+cz+d=0ax+by+cz+d=0。为什么要进行投影,用途之一就是当前的三维卷积计算量太大且发展不是特别成熟。点云投影到二维平面能够借助图像算法进行处理。当然会损失一些点云信息,如果多个维度进行投影,能够将损失的信息降低到比较低的水平。目前点云投影应用最多的一种投影方式就是生成俯视图。根据投影参数模型生成俯视图之后,只需要将相机坐标与雷达俯视图坐标对应起来即原创 2020-09-01 22:20:36 · 3471 阅读 · 0 评论 -
【pcl入门教程滤波系列】之StatisticalOutlierRemoval
简介 激光雷达扫描周围环境时候通常会产生不同点密度的数据集。同时,如果测量偏差(例如抖动、传感器安装位置偏差)将会导致更加稀疏的异常值出现,从而使点云生成结果质量更差。这样将会导致局部点云特征(如曲面法线或曲率变化)的估计更加复杂,很肯能导致估计出错误值。StatisticalOutlierRemoval算法通过对每个点的邻域进行统计分析,删除不符合特定标准的点,能够解决一些异常离群点的干扰。该算法对点云的异常值判断是通过输入点云的所有点到其邻域内距离分布的统计计算。对于每个点,都计算其到所有邻域距离的原创 2020-09-01 19:59:11 · 1921 阅读 · 1 评论 -
【pcl入门教程滤波系列】之VoxelGrid
VoxelGrid体素采样 pcl库中的VoxelGrid对点云进行体素化,主要就是创建一个三维体素栅格(就是每个比较小的立方体组成的体素栅格)。在每个体素(三维立方体)里面,求取该立方体内的所有点云重心点来代表这个立方体的表示,以此达到下采样的目的。 class pcl::ApproximateVoxelGrid<PointT> class pcl::VoxelGrid<PointT> class pcl::VoxelGird<pcl::PCLPointClo原创 2020-09-01 18:37:04 · 10335 阅读 · 1 评论 -
【pcl入门教程滤波系列】之GroundSegmentation滤波(三)
简介 前两篇对点云从算法层面上进行一定程度解析,【链接加入】但是并不是一个算法能够解决所有的点云去除地面的场景。本篇博文将从工程层面来讲述一种点云去除地面的方式,能够应用于特定的场景进行解析达到比较好的效果。我们都知道自动驾驶泊车场景固定,泊车场地内比较平缓但是泊车进出口地面坡度较大。针对在泊车场地部署的激光雷达的地面点提取,我们能够获取该场景的先验信息进行辅助地面点的提取与分割。这里的先验信息就是我们能够获取该块场地的三维地面曲面拟合信息,通过每个点云与该三维曲面拟合的距离来判断是否为地面点。其实针对原创 2020-08-27 20:43:56 · 787 阅读 · 0 评论 -
【pcl入门教程系列】之点云水平面校准
简介水平面校准代码部分小结参考文献原创 2020-08-26 20:08:43 · 2480 阅读 · 2 评论 -
【点云学习系列】之Fast segmentation of 3d point clouds for ground vehicles
简介算法浅析代码分析实验结果参考原创 2020-08-23 17:09:38 · 2779 阅读 · 6 评论 -
【pcl入门教程滤波系列】之GroundSegmentation滤波(一)
简介 点云数据来做分割、检测、识别等任务时候,不可避免的要进行一些预处理操作。其中,针对点云的地面点与非地面的提取工作,是点云预处理阶段较为重要的一项工作。地面点的提取出来有助于后续的检测等任务,当然如何有效的提取地面点也是一项比较困难的工作。当下,针对地面点的提取会根据任务需求的不同来进行不同程度的提取精度。例如:1. 在不需要实时性的地面提取情况下,可以通过多种提取分割策略来组合达到比较高的精度。2. 在实时性要求较高的情况下,那么对地面提取的精度或许就稍微可以放松一些,实时性要求更高(无人车的点云原创 2020-08-18 20:12:18 · 1092 阅读 · 3 评论 -
【pcl入门教程滤波系列】之ConditionFilter滤波
简介 在上一篇文章直通滤波文章中,讲述关于passThrough的点云滤波方法,当然可能你会提出问题,只是单独的对某一个坐标轴进行滤波不太能够满足你的需求。或许有些同学想要对三维空间中XY、YZ、XZ或者XYZ来进行限制,以此来达到你的立体空间的滤波。那么这个时候你该使用条件滤波来进行操作,下面我们就直接通过代码来进行简单的讲述。代码示例#include <iostream>#include <pcl/io/pcd_io.h>#include <pcl/point_原创 2020-06-08 20:39:56 · 1366 阅读 · 4 评论 -
【pcl入门教程滤波系列】之passThrough滤波
简介 最近开始接触点云的数据处理模块,点云做分割、检测、识别之前需要做大量的预处理操作。直通滤波算作最为简单、粗暴的一种滤波方式,就是直接对点云的X、Y、Z轴的点云坐标约束来进行滤波,可以约束只在Z轴,或者XYZ三个坐标轴共同约束来达到点云滤波效果。下面直接上代码进行简单解释:代码示例 下面这段代码是直通滤波最为频繁使用的函数:该简单示例通过读取pcd点云数据进行操作,最后保存为pcd文件。通过使用cloudcompare软件来进行查看直通滤波后的效果。#include <iostream原创 2020-06-08 19:27:27 · 5660 阅读 · 0 评论