自动驾驶汽车:人工智能最具挑战性的任务

据说,自动驾驶汽车是汽车行业梦寐以求的状态,将彻底改变交通运输业。就在几年前,对自动驾驶汽车的炒作风靡一时,那么到底发生了什么呢?这么多公司吹嘘到2021年我们将迎来的无人驾驶汽车革命在何处?事实证明,制造自动驾驶汽车比想象的难得多。让我们了解一下自动驾驶汽车的发展现状、它作为当代最具挑战性任务之一的原因,以及我们可以为此做些什么。  

自动驾驶汽车的发展现状

自动驾驶汽车前景广阔:它们将改变我们的道路,创造更安全的驾驶体验。毕竟,统计数据表明,90%以上的交通事故都是人为失误造成的。早在2015年或2016年,许多汽车制造商就宣布了在未来几年让全自动商用车上路的重大计划,但我们早已超过他们最初的预期时间。对于汽车产业而言,这是个激动人心的时刻,但炒作却远远超出现实。那么,全自动驾驶汽车到底已取得哪些进展呢?利用SAE(国际汽车工程师学会)广为接受的驾驶自动化分级,有助于我们评估自 动驾驶汽车的进展情况。自动化可分为五个级别,从0级(无自动化)到5级(全自动化)。

  • 0级:无自动化(驾驶员完全控制汽车)
  • 1级:驾驶员协助
  • 2级:部分自动化
  • 3级:条件自动化
  • 4级:高度自动化
  • 5级:全自动化(自动驾驶汽车)

目前,大多数售出的汽车至少都处于1级水平,即可以提供一些辅助驾驶功能。这些功能包括车道辅助或自适应巡航控制。特斯拉Autopilot级别为2级,这意味着它可以控制方向盘和速度,但驾驶员仍然需要密切关注情况,随时准备手动驾驶。本田在2021年3月推出一款已经达到3级水平的车型——Legend Sedan,该车型仅在非常特定的条件下才需要驾驶员手动驾驶。至于4级,有几家公司在这方面取得了进展:通用汽车、戴姆勒和谷歌的进展都值得注意。例如,谷歌Waymo在特定的地理围栏内(即美国亚利桑那州的某些郊区和其他几个受控地点)可实现全自动驾驶。我们预计这项技术将于2024年和2025年得到应用。目前,市场上还没有自动驾驶水平达到5级的汽车,各公司在认识到全自动驾驶与生俱来的巨大挑战后,纷纷推迟了其部署时间表。这种渐进式发展的一个积极结果是,汽车将逐步提升自动化水平,而不是一蹴而就,从而帮助建立客户的信任感。很难说我们什么时候会迎来无人驾驶汽车的革命。我们与其做出更多可能无法实现的预测,不如专注于解决实现具体目标的挑战。  

制造自动驾驶汽车为什么如此具有挑战性?

归根结底,问题在于,制造出能适应各种情况的全自动驾驶汽车极其困难。这比汽车专家在开始预测时认识到的情况要复杂得多,因此,各公司要么推迟时间表、要么出售自动驾驶汽车部门,要么改进研制方法。我们来谈谈自动驾驶汽车项目如此困难的原因:

  • 世界太复杂。自动驾驶汽车必须在一个高度复杂的世界中行驶,其中包括各种道路、路牌、行人、其他车辆、建筑物等等。
  • 人类难以捉摸。自动驾驶汽车不仅需要了解驾驶员,还需要能够预测人类行为,而我们知道,人类行为相对而言不可预测。
  • 技术太昂贵。自动驾驶汽车必须安装有关硬件(比如摄像头、激光雷达系统和雷达)用于捕捉外部世界信息,并帮助汽车做出决策。但这种硬件还需要显著改进,才能提供汽车所需的详细数据水平。它的性价比也不是很高。
  • 训练必须全面。我们需要针对各种可能发生的情况(例如,雪或雾等极端天气)对自动驾驶汽车进行训练;但要预测汽车可能遇到的所有情况却非常困难。
  • 没有犯错的余地。自动驾驶汽车直接影响着驾驶员和乘客的安全,生死攸关。自动驾驶系统必须非常准确。

 

数据是关键

要解决上述挑战,就要从它们的根源入手。为此,我们需要了解自动驾驶汽车的工作原理。自动驾驶汽车要依靠人工智能(AI),尤其是计算机视觉模型,使汽车能够“看到”周围的世界,然后根据所看到的情况做出决定。数据通过汽车上的硬件(如前所述,摄像头、激光雷达、雷达和其他类型的传感器数据)捕获,并用作模型的输入。例如,要让汽车对道路上的行人做出反应,就需要汽车之前看到过表示这种情况的传感器数据。换言之,汽车需要使用代表所有可能的场景和情况的数据予以训练。想想乘坐汽车的经历,不难理解,道路上会发生各种各样的情况,因此就要有大量训练数据。仅行人一方面,就需要在训练数据中包括儿童和成人、坐轮椅的人、婴儿车的婴儿以及其他意想不到的场景示例。例如,我们还希望自动驾驶模型能够将实际行人与标志牌上的人脸图片区分开来。可以看出,看似简单的用例很快就会变得复杂。不仅汽车需要大量的训练数据,这些训练数据还需要进行准确的标注。AI模型无法只是看着行人的图像就能理解看到的是什么;我们还需要有清晰的标签,说明图像的哪一部分包括行人。由于这种复杂性,就需要为自动驾驶汽车AI模型提供许多不同类型的标注数据:

  • 激光雷达和雷达数据点云标注:识别并跟踪场景中的对象
  • 2D标注(包括相机数据的语义分割):使模型理解各像素所属类别
  • 视频对象和事件跟踪:帮助模型理解场景中的对象如何随时间移动
  • 等等

数据标注几乎没有出错的余地,也不容缺少关键用例。最终,自动驾驶汽车的数据采集和标注是个非常耗时的资源密集型过程,但很多公司在一开始并未完全认识到这一点。这就是导致自动驾驶上市时间延迟、性能堪忧以及仍未推广的原因。不过,这些问题也是汽车制造商为取得成功而需要解开的关键难题。  

准确性、多样性和效率是确保安全的关键

为进一步了解自动驾驶汽车数据的关键考虑因素,我们找来了澳鹏数据科学家杨晓瑞(音译),她专门从事计算机视觉研究。

准确性准确感知周围环境,检测并预防危险,对自动驾驶汽车顺利完成运输任务至关重要。数据应该足够准确,这样AI模型才能从中学习,只有对障碍物的位置进行精确推断才能做出合理的决策。例如,如果模型无法准确检测到在最近车道上沿水平方向移动的卡车,就往往导致错误的刹车,从而让用户体验大打折扣。

多样性场景:实际环境的天气可能多种多样:下雨、下雪、有雾;不同光照条件:晴天、黑夜、大雨前的阴天等。自动驾驶汽车应该能够应对所有场景。因此,训练数据既要包括常见的情况,还要包括罕见的情况。

各种模式:传感器在不同环境中表现不一。例如,由于物理特性,激光雷达在雨天或雪天的性能会下降。从直观上看,相机在晚上无法像在白天看得那么远。因此,大多数公司在困难的环境感知情况下仍然使用多种类型的传感器来互相补充。

效率当各公司在一个新的国家/地区或城市用自动驾驶汽车进行试验时,数据的效率对整个试验的进展至关重要。如果没有按时准备好标注的训练数据,项目延迟风险就会增加。一个好的数据合作伙伴应该能借助先进的感知模型及时提供数据,并为其他耗时的任务节省时间。  

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于深度学习的活体人脸识别检测算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1. 活体人脸识别检测算法概述 4.2. 深度学习在活体人脸识别检测中的应用 4.3. 算法流程 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 …

【论文阅读】A Survey on Video Diffusion Models

视频扩散模型(Video Diffusion Model)最新综述GitHub 论文汇总-A Survey on Video Diffusion Models。 paper:[2310.10647] A Survey on Video Diffusion Models (arxiv.org) 0. Abstract 本文介绍了AIGC时代视频扩散模型的全面回顾。简要介…

C++网络编程库编写自动爬虫程序

首先&#xff0c;我们需要使用 C 的网络编程库来编写这个爬虫程序。以下是一个简单的示例&#xff1a; #include <iostream> #include <string> #include <curl/curl.h> #include <openssl/ssl.h>const char* proxy_host "duoip"; const in…

.NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试

2023年11月15日&#xff0c;对.net的开发圈是一个重大的日子&#xff0c;.net 8.0正式版发布。 圈内已经预热了有半个月有余&#xff0c;性能不断超越&#xff0c;开发体验越来越完美&#xff0c;早在.net 5.0的时候就各种吹风Aot编译&#xff0c;直到6.0 7.0使用仍然比较麻烦…

SQL学习之增删改查

文章目录 数据库数据类型建表create table插入数据insert into查询数据select from修改数据update set删除数据delete from备份ctas结果插入iis截断表 truncate table修改表结构alter table添加注释 注&#xff1a;本文的SQL语法是基于Oracle数据库操作的&#xff0c;但是基本的…

常见面试题-HashMap源码

了解 HashMap 源码吗&#xff1f; 参考文章&#xff1a;https://juejin.cn/post/6844903682664824845 https://blog.51cto.com/u_15344989/3655921 以下均为 jdk1.8 的 HashMap 讲解 首先&#xff0c;HashMap 的底层结构了解吗&#xff1f; 底层结构为&#xff1a;数组 链…

Genio 500_MT8385安卓核心板:功能强大且高效

Genio 500(MT8385)安卓核心板是一款功能强大且高效的AIoT平台&#xff0c;内置的AI处理器(APU)工作频率可达500MHz&#xff0c;支持深度学习、神经网络加速和计算机视觉应用。配合高达2500万像素的摄像头&#xff0c;可以为AI相机应用提供清晰、精确的图像&#xff0c;如人脸识…

【Redis】springboot整合redis(模拟短信注册)

要保证redis的服务器处于打开状态 上一篇&#xff1a; 基于session的模拟短信注册 https://blog.csdn.net/m0_67930426/article/details/134420531 整个流程是&#xff0c;前端点击获取验证码这个按钮&#xff0c;后端拿到这个请求&#xff0c;通过RandomUtil 工具类的方法生…

【C#】类型转换-显式转换:括号强转、Parse法、Convert法、其他类型转string

目录 一、括号强转 1.有符号整型 2.无符号整型 3.浮点之间 4.无符号和有符号 5.浮点和整型 6.char和数值类型 7.bool和string是不能够通过 括号强转的 二、Parse法 1.有符号 2.无符号 3.浮点型 4.特殊类型 三、Convert法 1.转字符串 2.转浮点型 3.特殊类型转换…

AdaBoost:提升机器学习的力量

一、介绍 机器学习已成为现代技术的基石&#xff0c;为从推荐系统到自动驾驶汽车的一切提供动力。在众多机器学习算法中&#xff0c;AdaBoost&#xff08;Adaptive Boosting的缩写&#xff09;作为一种强大的集成方法脱颖而出&#xff0c;为该领域的成功做出了重大贡献。AdaBoo…

【2016年数据结构真题】

已知由n&#xff08;M>2&#xff09;个正整数构成的集合A{a<k<n},将其划分为两个不相交的子集A1 和A2&#xff0c;元素个数分别是n1和n2&#xff0c;A1和A2中的元素之和分别为S1和S2。设计一个尽可能高效的划分算法&#xff0c;满足|n1-n2|最小且|s1-s2|最大。要求…

编译智能合约以及前端交互工具库(Web3项目一实战之三)

我们已然在上一篇 Web3项目灵魂所在之智能合约编写(Web3项目一实战之二) ,为项目写好了智能合约代码。 但身为开发人员的我们,深知高级编程语言所编写出来的代码,都是需要经过编译,而后外部方能正常调用。很显然,使用solidity这门新的高级编程语言编写出来的智能合约,也…

【数据结构】栈与队列的实现

栈与队列是数据结构中重要的结构&#xff0c; 可以用于解决一些题目 模拟实现时可以增加对于这些结构的理解&#xff0c;也可以巩固我们的语言水平&#xff0c;解决某些题目也会有很好的效果 话不多说 目录 栈的实现结构体的定义&#xff1a;初始化栈:压栈&#xff1a;出栈&am…

【MySQL】表的增删改查(进阶)

一、数据库约束 1.1 约束类型 &#x1f693;NOT NULL - 指示某列不能存储 NULL 值。 &#x1f693;UNIQUE - 保证某列的每行必须有唯一的值。 &#x1f693;DEFAULT - 规定没有给列赋值时的默认值。 &#x1f693;PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列&…

基于探路者算法优化概率神经网络PNN的分类预测 - 附代码

基于探路者算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于探路者算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于探路者优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络…

Redis持久化策略之RDB与AOF

文章目录 1.RDB1)基本介绍2)自动触发3)手动触发4)RDB文件5)优点缺点 2.AOF1)基本介绍2)使用方式3)工作流程4)重写机制5)AOF文件6)优点缺点 3.RDB AOF 我们都知道&#xff0c;redis 是一个基于内存的数据库。基于内存的好处是访问速度快&#xff0c;缺点是“不持久”——当数据…

Git常用规范

分支命名规范 Git分支命名规范可以根据具体的项目和团队的需要而有所不同&#xff0c;但是以下是一些常见的规范&#xff1a; 主分支&#xff08;master/main&#xff09;&#xff1a;这个分支通常是主要的稳定分支&#xff0c;它包含了当前生产环境的代码。在一些项目中&…

CMakeLists.txt基础指令与cmake-gui生成VS项目的步骤

简介 本博客主要介绍cmake的基本指令&#xff0c;同时&#xff0c;很多使用Visual Studio小白从Gitbub下载项目源码后&#xff0c;看到CMakeLists.txt&#xff0c;不知道如何使用Visual Studio编译源码&#xff1b;针对以上问题&#xff0c;做一下简单操作与解释&#xff0c;方…

Ingress安全网关

目录 文章目录 目录本节实战TCP 流量拆分&#x1f6a9; 实战&#xff1a;TCP 流量拆分-2023.11.15(测试成功) Ingress安全网关Kubernetes Ingress&#x1f6a9; 实战&#xff1a;Kubernetes Ingress-2023.11.15(测试成功) Ingress GatewayIngress Gateway&#x1f6a9; 实战&am…

m1 rvm install 3.0.0 Error running ‘__rvm_make -j8‘

在使用M1 在安装cocopods 前时&#xff0c;安装 rvm install 3.0.0遇到 rvm install 3.0.0 Error running __rvm_make -j8 备注: 该图片是借用其他博客图片&#xff0c;因为我的环境解决完没有保留之前错误信息。 解决方法如下&#xff1a; 1. brew uninstall --ignore-depe…