← 算法与课程

实验3:自动驾驶实战

Jiangshan He · 算法与课程 · 阅读与实践记录

实验1:实时定位车道

注释图像

image.png

image.png image.png

注释流程

  • 调整成灰度值的图像
  • 应用高斯平滑,去除噪声
  • 使用canny边缘检测,将物体的边缘检测出来
  • 重点关注前方部分梯形区域,遮掩边缘
  • 运行Hough检测,将边缘图像中的直线检测出来
    • 其中选出斜率大于0.5的直线,因为正常的视野里道路直线斜率高于这个阈值
  • 通过将道路图像和原始图像设置权重融合,在初始图像上画出图像。

注释视频

image.png

image.png

实验2:实时车辆目标检测

image.png

识别图片中的物体(画出检测框)

  • SSD image.png

  • RFCN image.png

  • FASTER-RCNN image.png

SSD最快,表现也相对较好。而FASTER-CNN识别范围更广。

在相同的视频上,SSD用时1min20s,识别效果一般 image.png

FASTER-RCNN 接近两个小时 image.png

实验3:交通灯识别

可视化数据

image.png

标准化数据

image.png

HSV颜色空间转换

HSV(Hue, Saturation, Value)颜色空间

  1. 色调(Hue):色调表示颜色的类型或种类,通常以角度表示(0°到360°)。在HSV颜色空间中,不同的色调值对应不同的颜色,例如,红色对应0°,绿色对应120°,蓝色对应240°,而黄色则在中间。

  2. 饱和度(Saturation):饱和度表示颜色的鲜艳程度或纯度。饱和度为0时,颜色是灰色的,而饱和度为最大值(通常是1)时,颜色是最鲜艳的。饱和度介于0和1之间。

  3. 亮度(Value):亮度表示颜色的明亮程度。较高的值表示颜色较亮,较低的值表示颜色较暗。亮度范围通常是0到1。 image.png

训练分类器进行预测

image.png image.png

实验5:基于ROS与Gazebo的无人驾驶仿真环境

编译遇到问题

显示需要gazebo的版本到9 image.png

  1. 卸载旧版本(如果已安装): sudo apt-get remove libgazebo* ros-kinetic-gazebo* gazebo*
  2. 安装Gazebo 9: ` sudo apt-get install ros-kinetic-gazebo9-*`
  3. 验证安装: gazebo --version

rviz界面

image.png

gazebo界面

image.png

小车自己动

image.png image.png

实验6: Udacity自动驾驶环境介绍

仿真环境配置

image.png

实现对小车运行环境的模拟

image.png

实验7:Udactiy轨迹跟踪

pyomo求解

image.png

实验8: Udacity端到端自动驾驶实战

training model

image.png

录制运动轨迹用于训练模型

image.png

录制的新数据(观察日期)

image.png

训练模型

image.png

汽车自动驾驶

image.png