自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AdamShan的博客

自动驾驶工程师,谷歌认证机器学习专家,兰州大学无人驾驶团队创始人,主攻深度学习,无人驾驶汽车方向。...

原创 自动驾驶系统进阶与项目实战(六)基于NDT的自动驾驶高精度定位和ROS项目实战
原力计划

自动驾驶系统进阶与项目实战(六)基于NDT的自动驾驶高精度定位和ROS项目实战 对于高级自动驾驶系统而言,定位模块通常会融合IMU、轮速计(车辆底盘)以及激光雷达odometry多种测量,使用滤波算法(EKF、UKF等)以获得平滑、厘米级别的绝对定位,其中基于高精度点云地图和激光雷达的配准定位(...

2020-06-13 23:09:36 933 24

原创 自动驾驶系统进阶与项目实战(五)使用SC-LEGO-LOAM进行较大规模点云地图构建和闭环优化
原力计划

自动驾驶系统进阶与项目实战(五)使用SC-LEGO-LOAM进行较大规模点云地图构建和闭环优化 高精度地图和高精度定位目前仍然是L4及以上自动驾驶系统的核心模块之一,成熟的传感器融合定位方法高度依赖高精度地图,L4级自动驾驶系统中,我们所说的高精度地图通常包含两类地图:语义地图(也称为矢量地图)...

2020-06-06 16:34:53 1036 28

原创 自动驾驶系统进阶与项目实战(四)自动驾驶高精度地图构建中的三维场景识别和闭环检测
原力计划

自动驾驶系统进阶与项目实战(四)自动驾驶高精度地图构建中的三维场景识别和闭环检测 闭环检测(loop-closure detection)是SLAM中非常关键的一部分,当然也是自动驾驶高精度地图(HD Map)构建的核心技术之一,闭环检测即无人车能够识别出SLAM构图过程中形成的闭环,从而优化由...

2020-05-24 19:21:48 1087 0

原创 自动驾驶系统进阶与项目实战(三)基于全卷积神经网络的点云三维目标检测和ROS实战
原力计划

自动驾驶系统进阶与项目实战(三)基于全卷积神经网络的点云三维目标检测和ROS实战 前面入门系列的文章中我介绍了几种点云三维分割/目标检测模型,在做点云预处理上,有通过球面投射(SqueezeNet)得到深度图的,也有采用Voxel网格的(VoxelNet),本文我们一起学习一下百度开源的cnn_...

2020-05-16 13:06:02 1288 14

原创 自动驾驶系统进阶与项目实战(二)多激光雷达外参自动化标定算法及代码实例
原力计划

激光雷达是目前自动驾驶系统中的核心传感器之一,但是由于其信息密度低、存在垂直盲区等问题,厂商大多在其L4级自动驾驶系统中搭配多组激光雷达,下图为通用(Cruise)的自动驾驶汽车,采用了多激光雷达以弥补lidar+camera的不足,使用多激光雷达进行环境感知的前提是对各雷达的外参进行精准的标定,...

2020-05-05 12:21:16 1326 12

原创 自动驾驶系统进阶与项目实战(一)激光雷达-相机外参自动化标定算法及项目实战
原力计划

通常而言,激光雷达和相机固定安装于无人车上,其相对关系一定,获得准确的齐次变换矩阵或者 $(x,y,z,roll,pitch,yaw)$ 变化量即完成了传感器的外参标定。然而,无人车安装的传感器数量较多,高效且自动化地完成多传感器标定对于自动驾驶研发而言非常关键,本文介绍一种自动化标定相机-激光雷...

2020-04-24 18:00:36 1976 9

原创 无人驾驶汽车系统入门(三十)——基于深度神经网络LaneNet的车道线检测及ROS实现

无人驾驶汽车系统入门(三十)——基于深度神经网络LaneNet的车道线检测及ROS实现 前面的博文介绍了基于传统视觉的车道线检测方法,传统视觉车道线检测方法主要分为提取特征、车道像素聚类和车道线多项式拟合三个步骤。然而,无论是颜色特征还是梯度特征,人为设计的特征阈值存在鲁棒性差的问题,深度学习方...

2019-05-26 17:43:27 11428 27

原创 无人驾驶汽车系统入门(二十九)——使用TensorFlow Object Detection API分别在GPU和Google Cloud TPU上训练交通信号灯检测神经网络

本文将解决如何使用TensorFlow Object Detection API训练交通信号灯检测网络,使用Lisa数据集,通过简单脚本将数据集整理为tf record格式,我们将分别在本地的GPU和Google Cloud提供的TPU上进行训练,最后导出网络的protocbuf权重,在jupyt...

2019-03-17 21:41:33 4468 8

原创 无人驾驶汽车系统入门(二十八)——基于VoxelNet的激光雷达点云车辆检测及ROS实现

无人驾驶汽车系统入门(二十八)——基于VoxelNet的激光雷达点云车辆检测及ROS实现 前文我们提到使用SqueezeSeg进行了三维点云的分割,由于采用的是SqueezeNet作为特征提取网络,该方法的处理速度相当迅速(在单GPU加速的情况下可达到100FPS以上的效率),然而,该方法存在如...

2018-12-05 15:33:40 14129 23

原创 无人驾驶汽车系统入门(二十七)——基于地面平面拟合的激光雷达地面分割方法和ROS实现

无人驾驶汽车系统入门(二十七)——基于地面平面拟合的激光雷达地面分割方法和ROS实现 在博客的第二十四篇中,我们介绍了一种基于射线的地面过滤方法,此方法能够很好的完成地面分割,但是存在几点不足:第一,存在少量噪点,不能彻底过滤出地面;第二,非地面的点容易被错误分类,造成非地面点缺失;第三,对于目...

2018-11-27 17:02:04 10355 17

原创 无人驾驶汽车系统入门(二十六)——基于深度学习的实时激光雷达点云目标检测及ROS实现

无人驾驶汽车系统入门(二十六)——基于深度学习的实时激光雷达点云目标检测及ROS实现 在前两篇文章中,我们使用PCL实现了在点云中对地面的过滤和点云的分割聚类,通常来说,在这两步以后我们将对分割出来的对象进行特征提取,紧接着我们训练一个分类器实现对这些对象的分类,这是一种基于激光雷达的目标检测方...

2018-10-30 16:26:26 30288 65

原创 无人驾驶汽车系统入门(二十五)——基于欧几里德聚类的激光雷达点云分割及ROS实现

无人驾驶汽车系统入门(二十五)——基于欧几里德聚类的激光雷达点云分割及ROS实现 上一篇文章中我们介绍了一种基于射线坡度阈值的地面分割方法,并且我们使用pcl_ros实现了一个简单的节点,在完成了点云的地面分割以后,为了使用激光雷达完成环境感知,我们通常会对非地面点云进行进一步的分割,换句话说,...

2018-10-11 17:14:28 18272 52

原创 无人驾驶汽车系统入门(二十四)——激光雷达的地面-非地面分割和pcl_ros实践

无人驾驶汽车系统入门(二十四)——激光雷达的地面-非地面分割和pcl_ros实践 在无人驾驶的雷达感知中,将雷达点云地面分割出来是一步基本的操作,这一步操作主要能够改善地面点对于地面以上的目标的点云聚类的影响。本文首先带大家入门pcl_ros,首先我们使用pcl_ros编写一个简单的ros节点,...

2018-09-29 18:19:10 17904 57

原创 无人驾驶汽车系统入门(二十三)——迁移学习和端到端无人驾驶

迁移学习和端到端无人驾驶 前面我们介绍了神经网络和深度学习的基础知识,在本文中我们将介绍迁移学习的概念,并将迁移学习应用于端到端无人驾驶模型。一般来说,大型深层神经网络的训练对计算资源要求较高。然而,很多普通开发者只拥有简单的深度学习计算环境,这成为阻碍深度学习广泛应用的瓶颈之一。例如,为...

2018-09-05 09:50:29 8448 5

原创 无人驾驶汽车系统入门(二十二)——使用Autoware实践激光雷达与摄像机组合标定

无人驾驶汽车系统入门(二十二)——使用Autoware实践激光雷达与摄像机组合标定 单目相机分辨率高,我们可以使用各种深度学习算法完成对目标检测,但是缺乏深度,坐标等信息。激光雷达能够获得目标相当精确的三维坐标信息,但是分辨率低,目前主流的为64线和32线,稀疏的电云数据为模式识别带来了困...

2018-08-14 17:21:16 26015 59

原创 无人驾驶汽车系统入门(二十一)——基于Frenet优化轨迹的无人车动作规划方法

动作规划动作在无人车规划模块的最底层,它负责根据当前配置和目标配置生成一序列的动作,我们前面讨论的三次样条插值实际上只是一个简单的路径,而非我们最终能够执行的轨迹,本文介绍一种基于Frenet坐标系的优化轨迹动作规划方法,该方法在高速情况下的ACC辅助驾驶和无人驾驶都具有很强的实用性,是目前...

2018-06-22 23:20:35 23403 32

原创 无人驾驶汽车系统入门(二十)——基于自由边界三次样条插值的无人车路径生成

无人驾驶汽车系统入门(二十)——基于自由边界三次样条插值的无人车路径生成 前面我们提到,轨迹即包含时间这一维度的路径,而无人车的动作规划问题实际上就是要根据初始配置和目标配置生成一序列的动作,一种简单的思路即生成从当前位置x到目标位置y的轨迹,然后通过pure pursuit方法来完成循迹...

2018-06-14 18:45:02 10395 8

原创 无人驾驶汽车系统入门(十九)——分层有限状态机和无人车行为规划

分层有限状态机和无人车行为规划 行为规划又称为行为决策,是无人车规划模块三层(任务,行为,动作)的中间层,本文将介绍行为规划的基本概念,设计核心,同时介绍一种具体的无人车行为规划方法——分层有限状态机, 行为规划(Behavior Planning)是无人车规划模块的一层,位于全局任务...

2018-06-09 15:08:13 8819 3

原创 无人驾驶汽车系统入门(十八)——使用pure pursuit实现无人车轨迹追踪

无人驾驶汽车系统入门(十八)——使用pure pursuit实现无人车轨迹追踪 对于无人车辆来说,在规划好路径以后(这个路径我们通常称为全局路径),全局路径由一系列路径点构成,这些路径点只要包含空间位置信息即可,也可以包含姿态信息,但是不需要与时间相关,这些路径点被称为全局路径点(Glob...

2018-06-03 11:22:40 28331 28

原创 无人驾驶汽车系统入门(十七)——无人驾驶系统基本框架

无人驾驶汽车系统入门(十七)——无人驾驶系统基本框架 前面的文章基本上是想写什么写什么,缺乏条理,本节我们完整的梳理一遍无人驾驶系统的基本框架,帮助读者建立对整个系统的完整认识 无人驾驶系统的核心可以概述为三个部分:感知(Perception),规划(Planning)和控制(Cont...

2018-05-29 10:50:37 25029 10

原创 无人驾驶汽车系统入门(十六)——最短路径搜索之A*算法

无人驾驶汽车系统入门(十六)——最短路径搜索之A*算法 路线规划中一个很核心的问题即最短路径的搜索,说到最短路径的搜索我们就不得不提A*算法,虽然原始的A*算法属于离散路径搜索算法(我们的世界是连续的),但是其使用启发式搜索函数的理念却影响着我们后面会介绍的连续路径搜索算法,所以在介绍连续...

2018-04-14 22:35:03 10322 5

原创 无人驾驶汽车系统入门(十五)——ROS入门与实践(2)

无人驾驶汽车系统入门(十五)——ROS入门与实践(2) 上一节我们讲了ros的核心概念以及命令行的基本操作,在本节我们一起了解一下ros的基本编程,我们讲通过Husky模拟器完成一个简易的ROS包,通过实例了解ROS下的CMake文件的语法,然后使用Rviz可视化激光扫描的结果 创...

2018-04-10 16:06:11 7187 0

原创 无人驾驶汽车系统入门(十四)——ROS入门与实践(1)

无人驾驶汽车系统入门(十四)——ROS入门与实践(1) 前言:作为目前最广泛使用的开源机器人软件平台,ROS(Robot Operating System)极大的提升了机器人开发的效率。目前无人驾驶系统的实际实现仍然依赖于ROS,作为一个相对成熟的机器人软件平台,ROS虽然存在一些缺点,在...

2018-03-22 14:17:07 20156 1

原创 Move-it无人驾驶黑客马拉松记录

Move-it无人驾驶黑客马拉松记录 好久没有更新博客了,近段时间参加了在贵阳由pixmoving举办的无人驾驶黑客马拉松,和来自全球10余个国家的20余名黑客在5天时间内做了一辆具备场内驾驶能力的无人驾驶汽车,本片文章其实是我个人对于本次活动的一个记录,我是本文作者,原文首发在“优达学城...

2018-03-16 17:02:01 4627 5

原创 无人驾驶汽车系统入门(十三)——正态分布变换(NDT)配准与无人车定位

无人驾驶汽车系统入门(十三)——正态分布变换(NDT)配准与无人车定位 定位即确定无人车在这个世界中的哪个位置,是无人驾驶技术栈中必不可少的一部分。对于无人车而言,对定位的要求极高,一般情况下,我们希望我们的无人车能够达到 厘米级 的定位精度,单纯使用GPS能够达到米级别的定位,显然,无人...

2018-02-01 17:02:58 13762 18

原创 无人驾驶汽车系统入门(十二)——卷积神经网络入门,基于深度学习的车辆实时检测

无人驾驶汽车系统入门(十二)——卷积神经网络入门,基于深度学习的车辆实时检测 上篇文章我们讲到能否尽可能利用上图像的二维特征来设计神经网络,以此来进一步提高识别的精度。在这篇博客中,我们学习一类专门用来处理具有网格结构的数据的神经网络——卷积网络(Convolutional Netw...

2018-01-29 12:17:25 34707 39

原创 无人驾驶汽车系统入门(十一)——深度前馈网络,深度学习的正则化,交通信号识别

无人驾驶汽车系统入门(十一)——深度前馈网络,深度学习的正则化,交通信号识别 在第九篇博客中我们介绍了神经网络,它是一种机器学习方法,基于经验风险最小化策略,凭借这神经网络的拟合任意函数的能力,我们可以使用神经网络来表示任意的模式。然而,在前几十年,神经网络并没有受到人们的重视,直到深度学...

2018-01-22 12:29:06 7630 3

原创 无人驾驶汽车系统入门(十)——基于运动学模型的模型预测控制

无人驾驶汽车系统入门(十)——基于运动学模型的模型预测控制 在前面的第五篇博客中,我们介绍了两种常见的车辆模型——运动学自行车模型和动力学自行车模型,本节我们基于运动学车辆模型引入一种新的控制理论—— 模型预测性控制 (Model Predictive Control) ,传统的PID控制...

2018-01-17 12:03:57 29301 15

原创 无人驾驶汽车系统入门(九)——神经网络基础

无人驾驶汽车系统入门(九)——神经网络基础 在上一节中,我们介绍了机器学习的相关基础,尤其是知道了监督学习的基本构成因素:数据,模型,策略和算法。在本节,我们具体学习一种监督学习算法——神经网络。现代深度学习模型其本质均为人工神经网络,所以在进一步探索深度学习在无人驾驶中的应用之前,我们先...

2018-01-08 16:52:47 8577 0

原创 无人驾驶汽车系统入门(八)——机器学习入门

无人驾驶汽车系统入门(八)——机器学习入门 在上一章中,我们介绍了基于传统的计算机视觉的技术实现的车道线检测,在这个过程中我们不难发现,使用传统的计算机视觉,往往需要人为地设计特征,这些特征对于不同的任务来说是不同的,车道线检测和行人检测要分别设计特征,另一方面,人为地设计特征往往会存在疏漏,...

2017-12-29 12:31:38 11997 1

原创 无人驾驶汽车系统入门(七)——基于传统计算机视觉的车道线检测(2)

无人驾驶汽车系统入门(七)——基于传统计算机视觉的车道线检测(2)原创不易,转载请注明来源:http://blog.csdn.net/adamshan/article/details/78733302接上文,在获得ROI(透视变换)以后,我们对得到的“鸟瞰图”应用色彩阈值化和梯度阈值化,以得到鸟瞰...

2017-12-06 18:09:41 20742 13

原创 无人驾驶汽车系统入门(六)——基于传统计算机视觉的车道线检测(1)

无人驾驶汽车系统入门(六)——基于传统计算机视觉的车道线检测(1) 感知,作为无人驾驶汽车系统中的“眼睛”,是目前无人驾驶汽车量产和商用化的最大障碍之一(技术角度), 目前,高等级的无人驾驶汽车系统仍然非常依赖于激光雷达的测量,通过激光雷达构造周围环境的3D地图,从而为无人驾驶系统的决策...

2017-12-04 18:52:02 18593 13

原创 无人驾驶汽车系统入门(五)——运动学自行车模型和动力学自行车模型

无人驾驶汽车系统入门(五)——运动学自行车模型和动力学自行车模型 在简要了解了PID控制以后,我们就要接触一些现代的控制算法。在了解高级的车辆控制算法之前,掌握车辆运动模型是非常有必要的。车辆运动模型就是一类能够描述我们的车辆的运动规律的模型。显然,越复杂的模型就越接近现实中的车辆运动规律...

2017-12-02 16:59:21 37019 14

原创 无人驾驶汽车系统入门(四)——反馈控制入门,PID控制

前面几篇博客介绍了卡尔曼滤波的一些基本算法,其实目标追踪,定位,传感器融合还有很多问题要处理,这些我们在以后的系列博客中在进一步细讲,现在我想给大家介绍一下无人驾驶汽车系统开发中需要的控制相关的理论和技术,还是和第一篇说的那样,我想到哪就写到哪,追踪和定位等更高级的算法我在后面会继续写。所以感兴趣...

2017-11-06 15:41:42 18983 11

原创 无人驾驶汽车系统入门(三)——无损卡尔曼滤波,目标追踪,C++

前面两篇文章我们了解了卡尔曼滤波以及扩展卡尔曼滤波在目标追踪的应用,我们在上一篇文章中还具体用Python实现了EKF,但是细心的同学会发现,EKF的效率确实很低,计算雅可比矩阵确实是一个很费时的操作,当问题(非线性的)一旦变得复杂,其计算量就变得十分不可控制。在此再向大家接受一种滤波——无损卡尔...

2017-10-26 21:37:15 19319 23

原创 无人驾驶汽车系统入门(二)——高级运动模型和扩展卡尔曼滤波

前言:上一篇文章的最后我们提到卡尔曼滤波存在着一个非常大的局限性——它仅能对线性的处理模型和测量模型进行精确的估计,在非线性的场景中并不能达到最优的估计效果。所以之前为了保证我们的处理模型是线性的,我们上一节中使用了恒定速度模型,然后将估计目标的加减速用处理噪声来表示,这一模型用来估算行人的状态其...

2017-10-17 20:22:22 34723 49

原创 无人驾驶汽车系统入门(一)——卡尔曼滤波与目标追踪

前言:随着深度学习近几年来的突破性进展,无人驾驶汽车也在这些年开始不断向商用化推进。很显然,无人驾驶汽车已经不是遥不可及的“未来技术”了,未来10年必将成为一个巨大的市场。本系列博客将围绕当前使用的最先进的无人驾驶汽车相关技术,一步一步地带领大家学习并且掌握无人驾驶系统的每一个模块的理论基础和实现...

2017-10-16 12:30:48 52050 36

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