新加坡联合早报中文网即时报道亚洲和国际的评论、商业、体育、生活、科技与多媒体新闻,从世界各个维度报道世界经济新闻,时政新闻,突发新闻等。

当前位置:主页 > 新闻 > PerceptIn 刘少山:无人驾驶需要一个怎样的技术架构? | 未来汽车大讲堂

PerceptIn 刘少山:无人驾驶需要一个怎样的技术架构? | 未来汽车大讲堂

来源:联合早报中文网作者:邵湖心更新时间:2020-09-07 10:11:58阅读:

本篇文章4914字,读完约12分钟

雷锋。(公开号码:雷锋。com)出版社:从六月开始,新知教,与雷锋一起。com。人工智能大规模开放在线课程学院和网易云课堂企业版举办了一系列关于智能驾驶的讲座,邀请业界和学术界的顶尖专家就自主驾驶的现在和未来分享不同的观点。

PerceptIn 刘少山:无人驾驶需要一个怎样的技术架构? | 未来汽车大讲堂

7月19日,“未来汽车讲堂”邀请感知器联合创始人刘绍山分享“无人驾驶技术架构详细说明”课程。

雷锋的新智能司机编辑了课程内容,但没有改变其初衷。请访问人工智能大规模开放在线课程学院的官方网站,获取完整的视频回放。

无人驾驶不是单点技术,而是多种技术的融合。

首先,看看无人驾驶的总体技术架构,大致可以分为三个模块:算法、系统和云平台。

在车辆方面,上层是一个算法模块,包括三个部分:感知(如何更好地获取环境数据)、感知(如何更好地了解车辆周围的环境,包括定位、目标识别和目标跟踪)和决策(如何在了解环境后做出更好的决策,包括路径规划、行为预测和避障等)。);下层是操作系统和硬件平台。

PerceptIn 刘少山:无人驾驶需要一个怎样的技术架构? | 未来汽车大讲堂

云中有一个无人云平台,包括高精度地图、模型训练、模拟计算和数据存储。

1.本地化无人驾驶汽车驾驶过程中最重要的事情是知道它们在哪里。只有这样我们才能知道如何到达目的地。接下来,将主要说明目前广泛使用的定位技术。

1.定位技术:gps

我们通常使用多卫星gps,它可以接收伽利略或北斗信号,进行合成,然后得到一个相对准确的位置。然而,多卫星gps的定位精度约为1-2米,不能满足无人车道水平定位的要求。

因此,业界已经开发出一种称为rtk(实时运动学)的gps,其主要依赖于在地面上布置基站并通过基站的信号校正卫星信号,并且精度可以达到分米级甚至更低。但缺点是基站需要布置,成本很高,需要人来维护。

然后,一种被称为ppp(精确点定位)的全球定位系统技术出现了,它基于全球卫星的网络系统,并通过互联网发布卫星校正信号。这项技术将于2018年在全球部署。它的优点是不需要设置基站,无论在哪里都可以获得更精确的位置。

Gps是一个很好的定位和导航工具,但它的低更新率是最大的问题。有些以1帧/秒的速度更新,有些以10帧/秒的速度更新,这在车辆高速行驶时显然是不够的。

因此,一般来说,我们将结合全球定位系统和惯性测量单元惯性导航系统。惯性导航系统可以提供每秒1000帧的快速更新,弥补了gps更新率低的问题;惯性导航的累积误差也可以通过全球定位系统进行补偿。

2.定位技术:激光雷达和高精度地图激光雷达的优点是它们有一定的距离,可以达到100-200米的距离,并且可以精确地获取空房间中的点(3d点云)。通过将激光雷达数据与高精度地图数据相匹配,车辆定位可以提高到厘米级。

但是,激光雷达的成本很高,而且是旋转的形式,容易磨损,耐用性差。

激光雷达在很大程度上依赖于另一种传感器——高精度地图(它不能被称为传统意义上的传感器)。只有当两个传感器一起使用时,才能达到良好的定位效果。

专门制作高精度地图。

在高精度地图的底部,是一个栅格地图,由激光雷达扫描,精度为5厘米;在栅格地图上,我们将标注道路,这是最低的参考线;;添加一些语义信息,精确到车道,并标记车道;;在车道上,做一些语义标签,比如限速和交通灯。

PerceptIn 刘少山:无人驾驶需要一个怎样的技术架构? | 未来汽车大讲堂

制作高精度的地图非常昂贵,因为需要激光雷达设备不断扫描外部环境,以便获得相关数据来支持其制作。

3.定位技术:视觉里程计

传统的方法是使用双目视觉导航,方法如下:

当左右图像进来时,我们可以得到空之间的深度点的信息,并且每个特征点被描述。然后,比较前后图像的特征点,得到位移信息,从而定位车辆的移动距离。

随着后续技术的发展,单目视觉的导航功能已经实现,但图像信息的更新速度有限,只能达到30-60帧/秒。因此,为了更快地更新信息,需要增加惯性测量单元,这就导致了视觉惯性里程计技术,它可以得到精确的位置更新。

4.定位技术:车轮速度计

这很简单,因为车轮的周长是固定的,距离可以通过圈速来测量,但是这种方法的累积误差会比较大,所以也存在很大的问题。

5.传感器融合。然而,在实践中,仅仅依靠一种定位技术或传感器显然不能达到良好的效果。天气、光线、磁场等。,会干扰这些定位传感器的正常使用。

真正的解决方案是传感器融合:

通过惯性测量单元和车轮速度计,可以获得车辆的初始位置,而全球定位系统可以不断地修正误差,并将误差率控制在一定范围内。例如,如果全球定位系统是厘米级的,精度可以保证厘米级。同时,通过激光雷达和高精度地图的匹配,可以获得最终的非常精确的位置。

PerceptIn 刘少山:无人驾驶需要一个怎样的技术架构? | 未来汽车大讲堂

这种架构被主流无人公司使用,如斯坦福大学的无人驾驶汽车、芝加哥商业大学的无人驾驶汽车、谷歌的无人驾驶汽车和百度的无人驾驶汽车。

第二,感知感知是理解环境。要进行感知,需要一个数据集。在无人驾驶行业,有一个通用的数据集——KITTI数据集,它包含不同的数据,包括双目视觉数据、定位和导航数据等。

1.感知:物体检测

传统方法主要针对固定物体的检测。一般的方法是hog(方向梯度直方图),然后加入svm分类器。对于动态物体的检测,主要采用dpm模型,首先识别手和脚,然后将它们结合起来。

2.感知:细分

人行道是一个场景,道路是一个场景。对场景中不同的物体进行分类是一个非常重要的问题。

传统的方法是条件随机场。基本原理是图像由像素组成。如果两个像素更像汽车,它们可以连接起来形成对汽车的识别。

此外,这就是我们所说的光流,它是针对二维图像的。如果一幅图像流向另一幅图像,它是一个二维物体在移动,那么这是由光流完成的。如果是三维物体流,那么我们将使用场景流。传统的场景流方法是sgbm,它采用双目成像技术。通过组合左图像和右图像,我们可以提取空之间的点,并通过用光流来分析场景流。

PerceptIn 刘少山:无人驾驶需要一个怎样的技术架构? | 未来汽车大讲堂

3.感知:物体跟踪

这也是无人驾驶的一项重要技术。如何预测行人的下一步动作以及如何跟踪行人也有一系列的问题。它使用马尔可夫链的解。这项技术被称为mdp,它跟踪一个人,随时跟踪他的下一个动作,并预测他的下一个动作。

事实上,这些都是一些传统的感知方法,这些年来,随着深度学习的不断进步,它们已经被广泛使用。

物体识别有两种非常有效的模型。

一种是速度更快的r-cnn,它将帧化感兴趣的点,然后识别对象,找出它是否是你想要识别的对象;另一个是速度更快的固态硬盘,它也能识别图片中的物体。

在场景分类中,深度学习的方法使用另一种模型,称为pspnet(语义分割)。这是一个金字塔场景分解模型,它不断地压缩场景,聚集相似的对象,然后做出判断。

光流也可以通过深度学习模型来完成。通过相同的模型提取左右图像,并通过计算获得深层信息。但是这种方法计算量很大。

3.计划和控制这是最基本的决策和控制框架,但这部分实际上是无人驾驶最困难的部分。

顶部感测系统可以感测行人的位置、速度和状况,然后将这些信息发送到预测模块,以预测行人是向前还是向后行进以及他们行进的速度。在较低的定位数据流进入后,全局路径规划模块将这些路径传送到核心控制决策模块,包括行为决策、动作决策和反馈控制。最后,这些信号将被传输到can总线并由车辆执行。

PerceptIn 刘少山:无人驾驶需要一个怎样的技术架构? | 未来汽车大讲堂

实际上,流量预测可以分为两个问题:一个是分类问题,另一个是回归问题。

分类问题需要知道行人是否过马路,返回问题更复杂。如果行人过马路,有必要预测他们过马路的速度。

路径规划也很有趣,因为它是无人驾驶车辆的一个特殊问题,因为普通车辆只需要知道它是哪条路,而不需要知道它是哪条车道。

因为每条路都有不同的车道,我们用不同的节点来标记车道,不同的节点连接在一起,就成了一条车道。通过以某种方式找到最短的车道(dijkstra和a*),可以获得最优解。

有了全局路径规划,我们需要做出行为决策。由于道路场景非常复杂,可以分为几十种不同的场景——左右车道、丁字路口等。,因此有必要进行场景组合决策。

然后是行动计划,包括加速、减速、转弯等。速度规划主要由st-graph工具完成,路径规划主要由动态规划实现。

最终的反馈控制由汽车制造商完成,许多汽车制造商采用不同的方案。通常采用两轮模型和pid控制模型来实现反馈控制,后者可以顺利实现。

4.客户系统任何复杂的系统都需要一个操作系统来帮助它实现其功能,以免混淆。

如上图所示,在处理器中,上述各种算法都在实际运行,包括传感、定位、全局路径规划等算法。然后控制车辆本身,包括动作控制和方向控制。

首先,我们需要一个操作系统来管理这么多复杂的任务。现在大多数工厂使用机器人操作系统,当然他们也做了一些个性化设计。这是一个信息传输系统,可以通过点对点传输或广播传输信号。

Ros本身有许多问题:

单个主节点很容易作为一个整体折叠。(解决方案:您可以使用zookeeper机制来设置多个主节点。(

沟通效率很低。(解决方案:可以通过共享内存来实现。(

它不是很安全。例如,打开一个恶意节点来浪费资源很容易导致整个系统崩溃。(解决方案:这个问题可以通过使用linux容器技术来解决。(

硬件平台也是必不可少的。前端有许多传感器。信号传输后,由计算平台接收。经过处理后,控制信号通过can总线传输到车辆控制系统。

过去,无人驾驶汽车上安装了两台计算机进行数据处理。由此引起的问题是功耗高并且散热问题很难处理。在未来,计算单元的小型化将是一个巨大的挑战。

刘绍山介绍说,他们利用手机平台实现了一些相对简单的无人驾驶功能,主要是用视觉。

V.云基础设施如今,许多投资者关注无人终端,但对云平台关注不够。事实上,这个内容非常重要。

无人驾驶车辆每秒钟可以产生高达2gb的裸数据。如何利用这些大量的数据来帮助无人驾驶飞行器做得更好,以及如何构建一个云平台来更好地为无人驾驶操作服务,是一个巨大的挑战。

云平台的底层是存储和计算。我们有一个名为alluxio的开源项目,它主要管理磁盘存储。这是一个分布式存储管理器;在它上面,我们使用异构计算,不同的工作依赖于不同的处理器,所以会有gpu,cpu和fpga;当然,为一个处理器编写一个单独的程序太复杂了,所以opencl统一安装在它上面来统一管理程序;分布式计算也需要一个管理平台。我们采用了spark平台,它更通用,功能更多。然后在此平台上构建高精度地图、模拟计算和模型计算。

PerceptIn 刘少山:无人驾驶需要一个怎样的技术架构? | 未来汽车大讲堂

在计算层面,我们使用apache纱,一个分布式系统管理器,通过spark来分配工作。每个spark节点都有多个容器,一些opencl内核在这些容器上运行。opencl可以在gpu或fpga上运行。该平台具有很强的可扩展性,模型训练所需的时间将随着gpu数量的增加而线性减少。

PerceptIn 刘少山:无人驾驶需要一个怎样的技术架构? | 未来汽车大讲堂

浅谈云平台的具体应用。

首先是模拟计算。例如,如果你开发一个新的程序,你想试试新的算法是否容易使用,但是不可能每次都验证它,因为成本很高,覆盖的场景也很少。

因此,一般采用模拟计算:游戏平台和真实数据回放,后者是最常用的形式。

这里有个问题。实际数据必须在单机回放中回放。例如,如果谷歌无人驾驶汽车已经积累了8年的数据,将需要8年来计算,这显然是不可取的。

因此,这里采用了火花驱动系统,可以并行处理,分配作业,通过linux管道播放每个ros节点节点进行回放,并将数据发送回火花驱动。只要给定足够的节点,一套算法可以在几十分钟内得到验证。

第二是高精度地图的制作。这是一项非常复杂的工作,首先是裸数据,然后从裸数据中获取点云数据,点云应该对齐,对齐后,反射率数据应该填写,然后添加一些语义信息。使用分布式平台制作高精度地图时,最大的计算量集中在点云的生成和对齐上,异构计算可以很好地完成这些任务。

PerceptIn 刘少山:无人驾驶需要一个怎样的技术架构? | 未来汽车大讲堂

第三是模型训练。这里使用分布式培训。事实上,百度已经用了很长时间,把它和星火连接起来,分发作业。这里还使用了alluxio分布式存储管理器。

[参考资料和材料]

1.第一本无人驾驶技术书籍

2.创建自动车辆系统[摘要]

3.创造自动车辆系统[书籍]

4.自主驾驶的计算机体系结构

5.实施用于自主驾驶的云平台

更令人兴奋的课程正在不断更新。详情请访问ai海量开放在线课程官方网站。

雷锋原创文章。严禁擅自转载。详情请参考转载说明。

标题:PerceptIn 刘少山:无人驾驶需要一个怎样的技术架构? | 未来汽车大讲堂

地址:http://www.6st8.com/zbxw/6573.html

免责声明:联合早报中文网从世界各个维度报道世界经济新闻,时政新闻,突发新闻等,本篇的部分内容来自于网络,不为其真实性负责,只为传播网络信息为目的,非商业用途,如有异议请及时联系btr2018@163.com,联合早报中文网的小编将予以删除。

返回顶部