当前位置: 首页 > news >正文

自动驾驶相关的理论基础

本文主要参考论文《基于计算机视觉和深度学习的自动驾驶方法研究_白辰甲》,记录一些理论知识。

自动驾驶定义

自动驾驶是指车辆通过传感器感知周围环境,在没有人为干预的情况下,实时改变驾驶行为,完成驾驶任务。

基于计算机视觉的自动驾驶技术

基于计算机视觉的自动驾驶技术使用视觉传感器的观测图像作为输入,驾驶动作作为输出。

现有方法主要分为间接感知型(Mediated Perception)方法、直接
感知型(Direct Perception)方法和端到端控制(End-to-End Control)方法。

间接感知型方法

间接感知型方法是传统的自动驾驶方法。
间接感知型方法将自动驾驶任务分为目标检测、目标跟踪、场景语义分割、相机模
型和标定、三维重建等多项子任务,分别作为计算机视觉的标准任务
进行计算,随后将计算结果进行转换和整合作为决策的输入。

算法使用目标检测技术探测与驾驶相关的目标,如道路、交通标志、信号灯、车、行人等,使用场景语义分割技术对交通场景进行分割,使用标定和重建技术算与障碍物距离等。系统将所有信息进行组合,形成无人车环境的完整表示,决策系统利用这种环境表示进行决策。

间接感知型方法的优势在于模块化清晰,可以利用计算机视觉领域内多个子任务的研究成果,设计和优化每个模块,各模块之间耦合度低,容易进行组合和调整,在系统出现问题后容易排查故障。但是,这种方法也一定存在缺陷。

首先,计算机视觉中的各项子任务均是针对标准数据集设计的,不一定完全适合自动驾驶系统所面临的道路交通环境。

其次,系统冗余性和复杂度较高。系统输入由多个子模块组成,输入维度较高,但系统输出一般只有角度和速度等变量,输出维度很低。

高维的输入最终转化低维输出,表明冗余性较高,造成了不必要的资源浪费,导致成本较高。

目标检测

自动驾驶车辆在交通环境中与其他交通工具和行人共享道路资源,尤其在城市交通中,交通工具种类繁多,行人、宠物等目标也经常出现。自动驾驶车辆需要检测这些目标的位置并进行分类,根据
目标的种类采取相应措施。

目标跟踪

自动驾驶中目标跟踪的目的是实时掌握交通环境中车辆、行人等目标的位置、
速度和加速度等信息,并预测目标未来可能的位置,预测可能发生的碰撞,这些信
息对于自动驾驶汽车至关重要。

场景语义分割

场景语义分割是自动驾驶技术的一个重要分支,其目的是将一幅场景图像中的每个像素点都归属到某个类别中。交通场景中一般将图像分割成车、行人、道路等,为自动驾驶车辆理解环境提供了重要参考。该问题的难点在于交通场景较为复杂且种类繁多。

相机模型和标定

三维重建

自动驾驶中的常见的三维重建技术主要基于立体视觉。

基于立体视觉的三维重建模仿人眼成像原理,由两台前向平行对准的相机进行成像,从两幅图像中寻找匹配点来估计深度信息,从而重建三维环境。

深度信息在自动驾驶中可以用来探测障碍物距离、探索安全区域等。


立体视觉系统主要包括图像获取、相机标定、特征提取、立体匹配、深度计算、重建等部分。

其中,图像获取主要通过双目立体相机;

相机标定用于计算相机内
参数、外参数、畸变系数等;

特征提取是指提取二维图像的角点、边缘、轮廓等特征,要求特征具有明显的区分性和独立性,在匹配中需要使用提取到的特征;

立体匹配将两幅图像的相同像素点进行对应,是立体视觉技术的关键;

深度计算是指匹配的 2D 图像中获取深度信息,主要依据三角测量原理从视差图中估计深度,影
响深度计算的因素有标定误差、特征提取精度和匹配精度等;

重建主要目的是恢复三维场景的表面信息,视差图中仅包含部分点的视差,因此需要由视差图插值来进行重建。

直接感知型方法(直接学习距离

直接感知型方法首先人工设计与自动驾驶相关的关键指标,学习交通环境的关键指标,随后由控制逻辑进行控制。

在间接感知型方法的基础上进行了优化,直接学习与驾驶相关的关键指标。这些关键指标需要根据驾驶环境进行设计,一般包括与前车的距离、与左侧标志线的距离、与右侧标志线的距离等

但是,该方法也存在问题。因为算法直接学习距离,因此需要使用带有目标与无人车距离的数据集进行训练。在真实交通场景中,采集带有精确距离信息的数据集往往需要使用超声和激光雷达等设备,采集成本高。

直接感知型结构的优势在于没有单独设计各项任务的检测模块,而直接学习与当前交通环境相关的各项指标,因此在构建完整的交通环境表示的同时拥有较为简单的系统结构。其缺陷在于,由于需要人工设计与交通状况相关的指标,因此难以应对非结构化的交通场景。

直接感知型结构所需的训练数据在真实交通环境中较难获取,因为精确的距离测量往往需要超声和激光雷达等设备,采集成本高,所以数据采集需要依赖仿真环境。


端到端控制方法


端到端控制方法也称表现反射型(Behavior Reflex)方法,该结构不行任务拆分,直接从图像中学习转向角等决策信息。

基于端到端控制的自动驾驶技术采取另一种思路,不对系统进行任务划分,而直接利用监督学习的方法学习驾驶动作。

相关科技公司

以谷歌(google)、特斯拉(Tesla)、英伟达(Nvidia)为代表的科技公司;

百度。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C语言-数据结构 无向图迪杰斯特拉算法(Dijkstra)邻接矩阵存储
  • vscode 使用git bash,路径分隔符缺少问题
  • 苍穹外卖学习笔记(三)
  • 深度学习驱动下的字符识别:挑战与创新
  • Vue Router 入门指南:基础配置、路由守卫与动态路由
  • 关于武汉芯景科技有限公司的IIC缓冲器芯片XJ4307开发指南(兼容LTC4307)
  • LabVIEW软件,如何检测连接到的设备?
  • 3.记:Android EditText接收扫码枪输入数据丢失问题
  • 828华为云征文|华为云Flexus X实例docker部署MinIO对象存储系统obs
  • 【机器人工具箱Robotics Toolbox开发笔记(一)】Matlab机器人工具箱简介
  • 如何在Word中插入复选框
  • Linux内核 -- CGROUP子系统之内存控制组 mem_cgroup_charge函数
  • idea中配置Translation插件完成翻译功能
  • 覆盖索引是什么意思?
  • 利用深度学习实现验证码识别-4-ResNet18+imagecaptcha
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • Java,console输出实时的转向GUI textbox
  • javascript 哈希表
  • mockjs让前端开发独立于后端
  • PHP那些事儿
  • React-flux杂记
  • Redis的resp协议
  • text-decoration与color属性
  • Transformer-XL: Unleashing the Potential of Attention Models
  • Vue 重置组件到初始状态
  • 多线程事务回滚
  • 聊聊redis的数据结构的应用
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 山寨一个 Promise
  • 小程序01:wepy框架整合iview webapp UI
  • 学习使用ExpressJS 4.0中的新Router
  • nb
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • # Redis 入门到精通(八)-- 服务器配置-redis.conf配置与高级数据类型
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #vue3 实现前端下载excel文件模板功能
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (三)Honghu Cloud云架构一定时调度平台
  • (十三)Flask之特殊装饰器详解
  • (实战篇)如何缓存数据
  • (五)网络优化与超参数选择--九五小庞
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .bat文件调用java类的main方法
  • .NET C# 使用 iText 生成PDF
  • .net CHARTING图表控件下载地址
  • .net MVC中使用angularJs刷新页面数据列表
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • [BIZ] - 1.金融交易系统特点
  • [C++]STL之map
  • [codeforces]Checkpoints
  • [ERROR] Plugin 'InnoDB' init function returned error
  • [hibernate]基本值类型映射之日期类型
  • [HNOI2008]玩具装箱toy