python】python在智能驾驶领域中的应用

2021-05-18 21:59发布

Python在哪个领域应用的较为广泛,有没有可能取代Java的地位!最最最重要的是Python在智能驾驶或者无人驾驶领域中处于什么地位,能够主导智能驾驶的发展吗?

Python在哪个领域应用的较为广泛,有没有可能取代Java的地位!最最最重要的是Python在智能驾驶或者无人驾驶领域中处于什么地位,能够主导智能驾驶的发展吗?

6条回答
羊羊0531
2楼 · 2021-12-09 16:05

人工智能是一门起步晚却发展快速的科学。20 世纪以来科学工作者们不断寻求着赋予机器人类智慧的方法。现代人工智能这一概念是从英国科学家图灵的寻求智能机发展而来,直到1937年图灵发表的论文《理想自动机》给人工智能下了严格的数学定义,现实世界中实际要处理的很多问题不能单纯地是数值计算,如言语理解与表达、图形图像及声音理解、医疗诊断等等。

1955 年Newell 和Simon 的Logic Theorist证明了《数学原理》中前52 个定理中的38 个。Simon 断言他们已经解决了物质构成的系统如何获得心灵性质的问题( 这种论断在后来的哲学领域被称为“强人工智能”) ,认为机器具有像人一样逻辑思维的能力。1956 年,“人工智能”( AI) 由美国的JohnMcCarthy 提出,经过早期的探索阶段,人工智能向着更加体系化的方向发展,至此成为一门独立的学科。

五十年代,以游戏博弈为对象开始了人工智能的研究;六十年代,以搜索法求解一般问题的研究为主;七十年代,人工智能学者进行了有成效的人工智能研究;八十年代,开始了不确定推理、非单调推理、定理推理方法的研究;九十年代,知识表示、机器学习、分布式人工智能等基础性研究方面都取得了突破性的进展。


人工智能在自动驾驶技术中的应用概述

人工智能发展六十年,几起几落,如今迎来又一次热潮,深度学习、计算机视觉和自然语言理解等各方面的突破,使得许多曾是天方夜谭的应用成为可能,无人驾驶汽车就是其中之一。作为人工智能等技术在汽车行业、交通领域的延伸与应用,无人驾驶近几年在世界范围内受到了产学界甚至国家层面的密切关注。目前,人工智能在汽车自动驾驶技术中也有了广泛应用。

自动驾驶汽车依靠人工智能、视觉计算、雷达、监控装置和全球定位系统协同合作,它是一个集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,它集中运用了计算机、现代传感、信息融合、通讯、人工智能及自动控制等技术, 是典型的高新技术综合体。

这种汽车能和人一样会“思考” 、“判断”、“行走” ,让电脑可以在没有任何人类主动的操作下,自动安全地操作机动车辆 。按照SAE(美国汽车工程师协会)的分级,共分为:驾驶员辅助、部分自动驾驶、有条件自动驾驶、高度自动驾驶、完全自动驾驶五个层级。

第一阶段:驾驶员辅助目的是为驾驶者提供协助,包括提供重要或有益的驾驶相关信息,以及在形势开始变得危急的时候发出明确而简洁的警告。现阶段大部分ADAS主动安全辅助系统,让车辆能够实现感知和干预操作。例如防抱死制动系统(ABS)、电子稳定性控制(ESC)、车道偏离警告系统、正面碰撞警告系统、盲点信息系统等等,此时车辆是能够通过摄像头、雷达传感器获知周围交通状况,进而做出警示和干预。

第二阶段:部分自动驾驶车辆通过摄像头、雷达传感器、激光传感器等等设备获取道路以及周边交通信息,车辆会自行对方向盘和加减速中的多项操作提供驾驶支援,在驾驶者收到警告却未能及时采取相应行动时能够自动进行干预,其他操作交由驾驶员,实现人机共驾,但车辆不允许驾驶员的双手脱离方向盘。例如自适应巡航控制(ACC)、车道保持辅助系统(LKA)、自动紧急制动(AEB)系统、车道偏离预警(LDW)等。

第三阶段:有条件自动驾驶由自动驾驶系统完成驾驶操作,根据路况条件所限,必要时发出系统请求,必须交由驾驶员驾驶。

第四阶段:高度自动驾驶由自动驾驶系统完成所有驾驶操作,根据系统请求,驾驶员可以不接管车辆。车辆已经可以完成自动驾驶,一旦出现自动驾驶系统无法招架的情形,车辆也可以自行调整完成自动驾驶,驾驶员不需要干涉。

第五阶段:完全自动驾驶自动驾驶的理想形态,乘客只需提供目的地,无论任何路况,任何天气,车辆均能够实现自动驾驶。这种自动化水平允许乘客从事计算机工作、休息和睡眠以及其他娱乐等活动,在任何时候都不需要对车辆进行监控。


自动驾驶的实现

车辆实现自动驾驶,必须经由三大环节:

第一,感知。也就是让车辆获取,不同的系统需要由不同类型的车用感测器,包含毫米波雷达、超声波雷达、红外雷达、雷射雷达、CCD \CMOS影像感测器及轮速感测器等来收集整车的工作状态及其参数变化情形。

第二,处理。也就是大脑将感测器所收集到的资讯进行分析处理,然后再向控制的装置输出控制讯号。

第三,执行。依据ECU输出的讯号,让汽车完成动作执行。其中每一个环节都离不开人工智能技术的基础。

人工智能在自动驾驶定位技术中的应用

定位技术是自动驾驶车辆行驶的基础。目前常用的技术包括线导航、磁导航、无线导航、视觉导航、导航、激光导航等。

其中磁导航是目前最成熟可靠的方案,现有大多数应用均采用这种导航技术。磁导航技术通过在车道上埋设磁性标志来给车辆提供车道的边界信息,磁性材料具有好的环境适应性,它对雨天,冰雪覆盖,光照不足甚至无光照的情况都可适应,不足之处是需要对现行的道路设施作出较大的改动,成本较高。同时磁性导航技术无法预知车道前方的障碍,因而不可能单独使用。

视觉导航对基础设施的要求较低,被认为是最有前景的导航方法。在高速路和城市环境中视觉方法受到了较大的关注。

人工智能在自动驾驶图像识别与感知中的应用

无人驾驶汽车感知依靠传感器。目前传感器性能越来越高、体积越来越小、功耗越来越低,其飞速发展是无人驾驶热潮的重要推手。反过来,无人驾驶又对车载传感器提出了更高的要求,又促进了其发展。

用于无人驾驶的传感器可以分为四类:

雷达传感器

主要用来探测一定范围内障碍物(比如车辆、行人、路肩等)的方位、距离及移动速度,常用车载雷达种类有激光雷达、毫米波雷达和超声波雷达。激光雷达精度高、探测范围广,但成本高,比如Google无人车顶上的64线激光雷达成本高达70多万元人民币;毫米波雷达成本相对较低,探测距离较远,被车企广泛使用,但与激光雷达比精度稍低、可视角度偏小;超声波雷达成本最低,但探测距离近、精度低,可用于低速下碰撞预警。

视觉传感器

主要用来识别车道线、停止线、交通信号灯、交通标志牌、行人、车辆等。常用的有单目摄像头、双目摄像头、红外摄像头。视觉传感器成本低,相关研究与产品非常多,但视觉算法易受光照、阴影、污损、遮挡影响,准确性、鲁棒性有待提高。所以,作为人工智能技术广泛应用的领域之一的图像识别,也是无人驾驶汽车领域的一个研究热点。

定位及位姿传感器

主要用来实时高精度定位以及位姿感知,比如获取经纬度坐标、速度、加速度、航向角等,一般包括全球卫星定位系统(GNSS)、惯性设备、轮速计、里程计等。现在国内常用的高精度定位方法是使用差分定位设备,如RTK-GPS,但需要额外架设固定差分基站,应用距离受限,而且易受建筑物、树木遮挡影响。近年来很多省市的测绘部门都架设了相当于固定差分基站的连续运行参考站系统(CORS),比如辽宁、湖北、上海等,实现了定位信号的大范围覆盖,这种基础设施建设为智能驾驶提供了有力的技术支撑。定位技术是无人驾驶的核心技术,因为有了位置信息就可以利用丰富的地理、地图等先验知识,可以使用基于位置的服务。

车身传感器

来自车辆本身,通过整车网络接口获取诸如车速、轮速、档位等车辆本身的信息。

人工智能在自动驾驶深度学习中的应用

驾驶员认知靠大脑,无人驾驶汽车的“大脑”则是计算机。无人车里的计算机与我们常用的台式机、笔记本略有不同,因为车辆在行驶的时候会遇到颠簸、震动、粉尘甚至高温的情况,一般计算机无法长时间运行在这些环境中。所以无人车一般选用工业环境下的计算机——工控机。

工控机上运行着操作系统,操作系统中运行着无人驾驶软件。如图1所示为某无人驾驶车软件系统架构。操作系统之上是支撑模块(这里模块指的是计算机程序),对上层软件模块提供基础服务。

支撑模块包括:虚拟交换模块,用于模块间通信;日志管理模块,用于日志记录、检索以及回放;进程监控模块,负责监视整个系统的运行状态,如果某个模块运行不正常则提示操作人员并自动采取相应措施;交互调试模块,负责开发人员与无人驾驶系统交互。


图:某无人驾驶车软件系统架构

除了对外界进行认知之外,机器还必须要能够进行学习。深度学习是无人驾驶技术成功地基础,深度学习是源于人工神经网络的一种高效的机器学习方法。深度学习可以提高汽车识别道路、行人、障碍物等的时间效率,并保障了识别的正确率。通过大量数据的训练之后,汽车可以将收集到的图形,电磁波等信息转换为可用的数据,利用深度学习算法实现无人驾驶。

在无人驾驶汽车通过雷达等收集到数据时,对于原始的训练数据要首先进行数据的预处理化。计算均值并对数据的均值做均值标准化、对原始数据做主成分分析、使用PCA白化或ZCA白化。例如:将激光传感器收集到的时间数据转换为车与物体之间的距离;将车载摄像头拍摄到的照片信息转换为对路障的判断,对红绿灯的判断,对行人的判断等;雷达探测到的数据转换为各个物体之间的距离。

将深度学习应用于无人驾驶汽车中,主要包含以下步骤:

1. 准备数据,对数据进行预处理再选用合适的数据结构存储训练数据和测试元组;

2. 输入大量数据对第一层进行无监督学习;

3. 通过第一层对数据进行聚类,将相近的数据划分为同一类,随机进行判断;

4. 运用监督学习调整第二层中各个节点的阀值,提高第二层数据输入的正确性;

5. 用大量的数据对每一层网络进行无监督学习,并且每次用无监督学习只训练一层,将其训练结果作为其更高一层的输入。

6. 输入之后用监督学习去调整所有层。


人工智能在自动驾驶信息共享中的应用

首先,利用无线网络进行车与车之间的信息共享。通过专用通道,一辆汽车可以把自己的位置、路况实时分享给队里的其它汽车,以便其它车辆的自动驾驶系统,在收到信息后做出相应调整。

其次,是3D路况感应,车辆将结合超声波传感器、摄像机、雷达和激光测距等技术,检测出汽车前方约5米内地形地貌,判断前方是柏油路还是碎石、草地、沙滩等路面,根据地形自动改变汽车设置。

另外,汽车还将能进行自动变速,一旦探测到地形发生改变,可以自动减速,路面恢复正常后,再回到原先状态。

汽车信息共享所收集到的交通信息量将非常巨大,如果不对这些数据进行有效处理和利用,就会迅速被信息所湮没。因此需要采用数据挖掘、人工智能等方式提取有效信息,同时过滤掉无用信息。考虑到车辆行驶过程中需要依赖的信息具有很大的时间和空间关联性,因此有些信息的处理需要非常及时。

人工智能应用于自动驾驶技术中的优势

人工智能算法更侧重于学习功能,其他算法更侧重于计算功能。学习是智能的重要体现,学习功能是人工智能的重要特征,现阶段大多人工智能技术还处在学的阶段。如前文所说,无人驾驶实际上是类人驾驶,是智能车向人类驾驶员学习如何感知交通环境,如何利用已有的知识和驾驶经验进行决策和规划,如何熟练地控制方向盘、油门和刹车。

从感知、认知、行为三个方面看,感知部分难度最大,人工智能技术应用最多。感知技术依赖于传感器,比如摄像头,由于其成本低,在产业界倍受青睐。以色列一家名叫Mobileye的公司在交通图像识别领域做得非常好,它通过一个摄像头可以完成交通标线识别、交通信号灯识别、行人检测,甚至可以区别前方是自行车、汽车还是卡车。

人工智能技术在图像识别领域的成功应用莫过于深度学习,近几年研究人员通过卷积神经网络和其它深度学习模型对图像样本进行训练,大大提高了识别准确率。Mobileye目前取得的成果,正是得益于该公司很早就将深度学习当作一项核心技术进行研究。 认知与控制方面,主要使用人工智能领域中的传统机器学习技术,通过学习人类驾驶员的驾驶行为建立驾驶员模型,学习人的方式驾驶汽车。

无人驾驶技术所面临的挑战和展望

在目前交通出行状况越来越恶劣的背景下,“无人驾驶”汽车的商业化前景,还受很多因素制约。

主要有:

1. 法规障碍

2. 不同品牌车型间建立共同协议,行业缺少规范和标准

3. 基础道路状况,标识和信息准确性,信息网络的安全性

4. 难以承受的高昂成本

此外,“无人驾驶”汽车的一个最大特点,就是车辆网络化、信息化程度极高,而这也对电脑系统的安全问题形成极大挑战。一旦遇到电脑程序错乱或者信息网络被入侵的情况,如何继续保证自身车辆以及周围其他车辆的行驶安全,这同样是未来急需解决的问题。 虽然无人驾驶技术还存在着很多挑战,但是无人驾驶难在感知,重在“学习”,无人驾驶的技术水平迟早会超过人类,因为稳、准、快是机器的先天优势,人类无法与之比拟。

驾驶有时并不是负担,相反是一种乐趣,体现了人类拓展自身极限的能力。笔者相信,完全的无人驾驶也许有些遥远,但随着机器学习算法的提升和应用的挖掘,更接地气人机和谐共驾指日可待。不管在自动驾驶这条路上有多少困难,但我相信总有它出现在城市道路上的一天,技术的发展充满激情与动力。在不久的将来,也许自动驾驶会成为主流。


是开心果呀 - 热爱生活
3楼 · 2021-05-19 10:41

1.智能人机交互功能

从特斯拉开始,互联网汽车开始喜欢用大量的屏幕来提升中控的用户体验,ONE也不例外。中控由四块屏幕组成,从左到右一直贯穿整个控制台,可以方便的查看车辆状况,导航,娱乐,车内设施操控等功能。过多的屏幕一方面提升了用户体验,另一方面增加了电池的电量的消耗。幸好,理想智造ONE的增程方案解决了电动汽车的里程焦虑。

2. 语音交互功能

理想制造ONE不出所料的搭载了小米的人工智能语音系统,除了可以语音控制车辆的空调、天窗、导航等等外,还可以听音乐,看电影,甚至于玩游戏。小编作为语音助手的重度用户,一直认为驾驶场景是非常好的语音交互场景。小爱同学在智能音箱上有着不错的用户体验,但是在环境嘈杂的驾驶场景里面,如何保证语音识别的效果是亟待解决的问题。

3. 智能驾驶功能

理想制造ONE配备了视觉识别芯片和毫米波雷达,可以实现L2级别的自动驾驶,可以同时控制车辆的速度和转向两个方面。但是,此级别下的自动驾驶模式仅能够在某些条件下才能实现。当行驶于没有清晰标识的更为复杂的地形时,仍需要人类驾驶员来控制车辆。



用户555666
4楼 · 2021-05-19 11:20

此无人车AI项目使用的Deep Q-learning算法,是DeepMind在2013年发明的深度强化学习算法,将Q-learning的思想与神经网络算法结合,也算是现代强化学习算法的源头了。研究者用这个算法在2015年让计算机学会了49种Atari游戏,并在大部分游戏中击败了人类。从适用性上来讲,我们不需要告诉AI具体的规则,只要让它不断摸索,它就能慢慢从中找到规律,完成许多之前被认为只有人类能完成的智力活动。

既然是Q-learning和Deep learning的结合,就先结合无人车AI来讨论什么是Q-learning。

Q-learning是一种强化学习算法,无人车需要根据当前状态来采取动作,获得相应的奖励之后,再去改进这些动作,使得下次再到相同的状态时,无人车能做出更优的选择。我们用Q(S,A)表示在S状态时,采取A动作所获得的效用值。下面用字母R代表奖励(Rewards),S'代表采取A动作后到达的新位置。(奖励值R与效用值Q的区别在于,R表示的是这个位置的奖励,比如对于无人车而言障碍物的位置奖励是-100,河流的位置奖励是-120,柏油路的奖励是100,沙路的奖励是50。而Q代表的是,采取这个动作的效用值,用于评价在特定状态下采取这个动作的优劣,可以将之理解为无人车的大脑,它是对所有已知状态的综合考虑) 伪代码如下:

Initialize Q arbitrarily // 随机初始化Q值

Repeat (for each episode): // 每一次尝试,从车子出发到撞墙是一个episode

Initialize S // 车辆出发,S为初始位置的状态

Repeat (for each step of episode):

Q(S,A) ← (1-α)*Q(S,A) + α*[R + γ*maxQ(S',a)] // Q-learning核心贝尔曼方程,更新动作效用值

S ← S' // 更新位置

until S is terminal // 位置到达终点

贝尔曼方程(Bellman Equation)中,γ为折扣因子,α为学习速率。γ越大,无人车会越重视以前的经验,越小就更重视眼前利益。α取值范围为0~1,取值越大,保留之前训练的效果就越少。可以看出当α取值为0时,无论如何训练AI也无法学习到新Q值;α取值为1时,新Q值将完全取代旧Q值,每次训练得到新值就会完全忘记之前的训练结果。这些参数值都是人为设定的,需要根据经验慢慢调整。

然后我们将Q-learning算法与深度学习结合。从High Level来看,Q-learning已经实现无人车基本的躲避路障功能,而深度学习算法可以让无人车自动总结并学习特征,减少人为设定特征的不完备性,以更好的适应非常复杂的环境条件。

首先,用一个深度神经网络来作为Q值的网络,地图上每个点有坐标(X1, X2),将此状态输入神经网络来预测每个方向的Q值(图中假设有四个actions对应四个方向,所以一共得到4个新的Q值)。Q-target表示上一次到达该状态时所得到的Q值,然后使用均方差(mean-square error)来定义Loss Function。

计算出的L值被反馈(back-propagation)以计算每个突触(绿色圈圈)的权重w。

需要注意的是,上面的过程我们称之为"学习"(learn),尽管我们对比了以前的Q值并反馈给输入端,但是这一次计算得到的Q值是不变的。我们接下来要做的是根据这一次计算得到的Q值,做出一个"动作"(act)。


决定"动作"的过程,就是将得到的Q值传入"Softmax-Function"的过程。"Softmax-Function"是一个动作选择策略,它可以帮助我们根据当前的数据做出最优选择,原理涉及到概率论,这里就注重于应用层了,代码中有详细注释,想要深入了解可以参考Wiki。

那么为什么不直接选择最大的Q值所对应的action,而是用Softmax-Function来做决定?这里就涉及到几种动作选择策略。直接选择最大的Q值并不是不可以,这种就叫做贪心策略,缺点是很容易陷入局部最优解。因为如果执行了某个动作后,最终达到了目标,那么这种策略就会在后续此状态时一直选择这种动作,导致没有机会探索全局最优解。

帅帅马
5楼 · 2021-05-23 17:54

近年来,基于人工智能的车道检测算法得到了广泛的研讨。与传统的基于特征的方法相比,许多方法表现出了优越的功能。但是,当使用具有应战性的图像时,其准确率通常仍在低80%或高90%之间,甚至更低。

准确牢靠的车道检测是车道保持(LK)、变道自动化(LCA)和车道偏离正告(LDW)功能的关键特性。车道检测的研讨可以追溯到20世纪80年代。世纪之交后,LDW和LK曾经商业化,有些车辆甚至有LCA。DARPA和早期ADAS产品发起的自动驾驶应战进一步推进了车道检测系统的发展。但是,由于不利的光照/天气条件和其他物体的存在,车道检测照旧是一个具有应战性的成绩。


任@先生
6楼 · 2021-05-24 09:12

智能人机交互功能及语音交互功能还有智能驾驶功能

寂静的枫林
7楼 · 2021-06-03 17:41

Python更多的是应用于人工智能领域,比如目前的无人驾驶这些以及机器人这些,更多的是使用Python语言来写的

相关问题推荐

  • 回答 1

    可以试下在cmd命令行执行,编辑器中对turtle的支持度不是很好。

  • 回答 7

    代理ip网址http://www.goubanjia.com/http://www.ip181.com/https://www.kuaidaili.com/python 环境安装requests库安装bs4库proxies设置代理服务器地址proxies = {'http':  'http://61.155.164.110:3128'}http://www.goub......

  • 回答 2

    要求:用户正确输入用户名和密码便成功登陆,分别有三次机会输入用户名和密码,超过3次便锁定分析:用两个while循环即可,代码如下:user_name = Brettpassword = 1314i = 0n = 0Is_exit = False  #进入循环标志while not Is_exit:User_name = input(please ...

  • 回答 2

    MacOS设置环境变量path的完全总结  一、MacOS加载bash shell 环境变量的加载顺序   mac 一般使用bash作为默认shell,Mac系统的环境变量,加载顺序为:1、系统级别的/etc/profile                                              ...

  • 回答 4

    当你运行代码的时候,需要你指定闹钟的时间,然后闹钟就会在指定的时间想起来。电脑pytho加载time模块,获取此时此刻的时间:import timet = time.localtime()print(t)时间是以字典的形式出现的。从字典里面提取时间信息:now = time.strftime(%H %M, t).spli...

  • 回答 5

    在几千条数据中有正负数,筛选出同一供应商下正负数相加为零的数据,正负数相加有可能为一正一负相加为零,也有可能是一正多负,也有可能一负多正,总体是将可以所有正负数相加为零的数据标注颜色出来。excel论坛上说计算量太 ...可以用pandas来处理...

  • 回答 2
    已采纳

    import sqlite3p = sqlite3.connect(file:memDB1?mode=memory&cache=shared, uri=True)p.execute('CREATE TABLE tbTest (fld1, fld2)')p.execute(INSERT INTO tbTest VALUES ('fld1', 'fld2'...

  • 回答 13

    Java企业级解决方案较多且成熟,国内搜索网站上对于各种问题的解答较多,相比而言,Python成熟企业级解决方案没Java多,资料多以外文为主。国内web开发大环境一直以Java为主,从业者人口基数众多,小白学习Java无论是书籍还是视频资料一搜一大把,从业者技术...

  • 回答 27

    当然可以了,不只是可以处理表格,而且是非常高效的额处理表格,能大大减轻工作量学会使用Python处理表格的话之前接了一个国企的case,说让我们给出一个解决方案关于数据处理方面的,去了他们天津的公司,一个部门7个人,7个人的工作我看了一下,我和我的同事...

  • 回答 22

    1、兼职处理数据2、兼职查询资料3、兼职P图

  • 回答 26

       Python是一门编程语言。相比于其他编程语言, Python爬取网页文档的接口更简洁;Python的urlib2包提供了完整的访问网页文档的API ;并且python中有优秀的第三方包可以高效实现网页抓取,可用极短的代码完成网页的标签过滤功能。所以Python被很多人称为爬虫。...

  • 回答 17

    可以的,python语法简单。刚开始学习可以试一下

  • 回答 25

    这两个其实现在用的都很普遍,java可能更好用一些吧

  • 回答 19

    1.if 语句1)基本用法:if 要判断的条件:    条件成立的时候,要做的事情else:    条件不成立的时候,要做的事情 if和else语句以及各自的缩进部分都是一个完整的代码块示例:2)if ,elifif 要判断的条件:    条件成立的时候,要做的事情elif 条件2...

  • 回答 26

    首先,从应用领域来看,Python语言涉及范围广,应用路径宽。其中包括:  (1)Web和Internet开发  (2)科学计算和统计  (3)人工智能  (4)桌面界面开发  (5)软件开发  (6)后端开发  (7)网络爬虫...

没有解决我的问题,去提问