自动驾驶相关的理论基础

news2024/9/19 23:23:39

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

自动驾驶定义

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

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

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

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

间接感知型方法

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

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

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

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

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

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

目标检测

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

目标跟踪

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

场景语义分割

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

相机模型和标定

三维重建

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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


端到端控制方法


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

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

相关科技公司

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

百度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2123220.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在树莓派上构建和部署 Node.js 项目

探索在Raspberry Pi上构建和部署Node.js项目的最佳实践。通过我们的专业提示和技巧,克服常见挑战,使您的项目顺利运行。 去年圣诞节,我收到了一份极其令人着迷的礼物,它占据了我许多周末的时间,甚至让我夜不能寐。它就…

SpringBoot打包部署,打包成jar和war有所不同?

1. 我的一个springboot项目,用mvn install打包成jar,换一台有jdk的机器就直接可以用java -jar 项目名.jar的方式运行,没任何问题,为什么这里不需要tomcat也可以运行了? 2. 然后我打包成war放进tomcat运行,…

云服务器部署DB-GPT项目

本文收录于《DB-GPT项目》专栏,专栏总目录: 点击这里。 文章目录 项目介绍 一、登录云服务器 1. 进入控制台 2.点击容器实例(点数字) 二、创建容器实例 1. 等待容器实例创建好,创建好的容器实例如下:…

多个微信是怎么进行管理的?

随着微信逐渐成为企业商务沟通的重要平台,对于业务咨询量较大的行业(例如教育培训、旅游、美容以及医疗等)而言,在利用微信进行营销活动和客户服务的过程中,往往会遭遇多微信管理的困境。 在此情形下,选用工…

fwt变换模板

在算法竞赛中&#xff0c;FWT 是用于解决对下标进行位运算卷积问题的方法。 公式&#xff1a; 1.ij|k(j,k相或等于i) void Or(ll * a, ll type) { // 迭代实现&#xff0c;常数更小 for (ll x 2; x < n; x << 1) { ll k x >> 1; …

C++ 在项目中使用Git

目录 一&#xff1a;配置邮箱和姓名 二&#xff1a;生成SSH Key 三&#xff1a;git 工作区和状态 四&#xff1a;git log 常用法 五&#xff1a;git diff 常用法 六&#xff1a;git 分支操作 七&#xff1a;git 回溯分支 八&#xff1a;git rebase -i 压缩历史提交…

UML之类图详解

犬余&#x1f436; “我欲贱而贵&#xff0c;愚而智&#xff0c;贫而富&#xff0c;可乎&#xff1f; 曰&#xff1a;其唯学乎” 零、什么是类图 类图&#xff08;Class Diagram&#xff09;是面向对象系统建模中最常用和最重要的图&#xff0c;它通过图形化的方式展示系统中的…

数学建模笔记—— 蒙特卡罗法

数学建模笔记—— 蒙特卡罗法 蒙特卡罗法1. 模型原理2. 常见问题2.1 圆周率问题2.2 三门问题 蒙特卡罗法 1. 模型原理 提出&#xff1a; 蒙特卡罗方法于20世纪40年代美国在第二次世界大战中研制原子弹的“曼哈顿计划”的成员S.M.乌拉姆和J.冯诺依曼首先提出。数学家冯诺依曼…

《磊落轶荡 情寄菱花》——曹大铁先生书画文献展盛大开幕

出席文献展相关领导嘉宾合影 值2024年9月10日曹大铁先生诞辰108 周年之际&#xff0c;《磊落轶荡 情寄菱花》——曹大铁先生书画文献展在常熟市工人文化宫隆重揭幕。该展由曹大铁先生文学艺术弘扬、传承、研究的机构、国内外艺术名家、专家、收藏家、亲属等倡议&#xff1b;该…

芯片杂谈 -- 常聊的内核包含哪些模块

目录 1. R52内核速览 2. 处理器模块详解 3.内核的功能安全测什么&#xff1f; 4.小结 最开始接触到汽车MCU大都来自NXP、Infineon、Renesas&#xff0c;例如MPC5748、TC275、RH850 P1X等等&#xff1b; 而各大OEM、供应商等等发布的JD通常都会要求熟悉AURIX、PowerPC、G3K…

智能客服的演变:从传统到向量数据库的新时代

国产数据库的发展在21世纪初取得了显著的进展。根据不完全统计&#xff0c;目前在国内已有超过300种不同的数据库在案。这一现象在40年前几乎是不可想象的&#xff0c;标志着中国在数据库领域取得了巨大的突破和多样化选择。对于对老一辈的故事或数据库发展史充满兴趣的朋友们&…

从gerrit上拉取未合入的代码工程

一. 简介 本文简单学习一下&#xff0c;如何将 gerrit上未合入的代码拉取到本地。 二. 从gerrit上拉取未合入的代码工程 有时候本地的代码经过 自动化编译通过&#xff0c;提交到 gerrit上&#xff0c;但是有时候在代码实现上还需要做一些更改。这时候就需要从 gerrit上将这…

企业如何筛选达人进行投放?投放效果如何统计?

投放已经成为企业品牌营销策略的重要组成部分&#xff0c;如何去筛选出各平台的优质达人&#xff0c;以达到最大的投放效果&#xff0c;增强市场的竞争力呢&#xff1f;很多企业可能会借助一些官方投放平台数据进行分析&#xff0c;比如星图、蒲公英等。也可以用声量通进行账号…

精选干货!分享5款免费论文生成软件

在当今学术研究和写作领域&#xff0c;AI论文生成工具的出现极大地提高了写作效率和质量。这些工具不仅能够帮助研究人员快速生成论文草稿&#xff0c;还能进行内容优化、查重和排版等操作。以下是五款免费且功能强大的AI论文生成软件推荐&#xff1a; ### 1. 千笔-AIPassPaper…

【逐行注释】自适应Q的AUKF|MATLAB代码(附下载链接)

文章目录 逐行注释的说明运行结果自适应UKF介绍实现过程 部分代码各模块解释 逐行注释的说明 每一行都标有中文注释&#xff1a; 是我自己一个字一个字打的&#xff0c;如果有错别字等问题&#xff0c;欢迎指正。 运行结果 三轴的估计值、真值、滤波前的值对比&#xff1a…

家庭用超声波清洗机哪个品牌好用?好用的眼镜清洗机推荐

在我们的日常生活中&#xff0c;像眼镜、项链和耳环这些频繁使用的个人物品&#xff0c;经常面临灰尘积聚和细缝中难以触及的污渍问题。超声波清洗机凭借其深入微细缝隙的清洁能力&#xff0c;成为了解决这一难题的理想工具&#xff0c;确保了这些珍贵小物的彻底清新。不过现在…

魔搭上创建数据集

本文将介绍如何在魔搭上创建数据集&#xff0c;首先登录后通过网页创建数据库集。 通过 git 命令 clone 数据集 创建数据集&#xff0c;初始化训练数据和测试数据 train.csv&#xff0c;test.csv&#xff0c;注意 csv 的首行为列名称 创建子数据集&#xff0c;魔搭上子数据集…

智能监控中图像质量增强方法研究

粗略的构思步骤 摘要 本文深入探讨了智能监控系统中图像质量增强的关键技术,通过融合深度学习、传统图像处理算法及生成对抗网络(GAN)的优势,提出了一套高效且鲁棒的图像质量提升方案。本文详细描述了技术框架的每一个组成部分,深入剖析了技术原理,并详细阐述了实现步骤…

leecode100题-双指针-三数之和

给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。 答案中不可以包含重复的三元组。 示例 1&#xff1a; 输入…

Kubernetes------Service

目录 一、属性说明 二、定义和基本配置 1、定义 2、创建Service 2.1、typeClusterIP 2.2、typeNodePort 2.3、固定IP访问 三、Service、EndPoint、Pod之间的关系 四、服务发现 1、基于Service中IP访问外部服务 2、基于Service中域名访问外部服务 五、Ingress的安装和使…