雷锋网 AI 科技评论按:日前,Uber 开源了基于 web 的自动驾驶可视化系统(AVS),称该系统为自动驾驶行业带来理解和共享数据的新方式。AVS 由Uber旗下负责自动驾驶汽车研发的技术事业群(ATG)开发,目前该系统已在 Voyage、Applied Intuition 等多家公司应用。Uber 在其官网上发布了这一开源消息,雷锋网 AI 科技评论编译如下。
当自动驾驶汽车在城市环境中驾驶时,了解它们感知到了什么对于开发使其能够安全运行的系统至关重要。并且,正如我们为街道标志和交通基础设施制定标准以帮助人类驾驶员一样,也需要为自动驾驶汽车的开发者提供标准的可视化平台,使其能够表示来自传感器、图像分类、运动推理以及用于构建直接环境的准确图像的其他技术的输入。
正如我们此前在「Engineering Uber's Self-Driving Car Visualization Platform for the Web」(阅读地址:)这篇文章所写到的,为了支持不断增长的自动化用例池,自动驾驶 Uber 的 ATG(技术事业群)和可视化团队借助基于 web 的可视化技术来解释这些传感器以及算法衍生的世界。
现在我们很高兴对这个经过重新设计和增强的自动驾驶可视化系统(AVS)进行开源,对于自动驾驶行业来说,这个系统是其理解和共享自动驾驶系统数据的新方式。
AVS 地址:
AVS 可以显示自动驾驶汽车在真实世界场景中的性能
AVS 是一个描述和可视化自动驾驶汽车的感知、运动以及数据规划的新标准,提供了一个强大的基于 web 的工具包来创建可应用于使用该数据探索、交互以及(更关键的是)做出重要的开发决策的应用程序。
作为独立的标准化的可视化层,AVS 可以让开发人员无需再为自动驾驶汽车创建自定义可视化软件。借助 AVS 的抽象可视化,开发人员可以专注于驾驶系统、远程协助、地图绘制以及模拟等核心的自动驾驶研发。
需要标准统一的可视化
包括科技公司、基金会、研究机构、原始设备商(OEM)以及创业公司等在内的诸多机构组织,都面临着自动驾驶所带来的挑战。能够显示自动驾驶汽车在其环境中感知到了什么的可视化工具,对于开发出安全的自动驾驶系统至关重要。从靠近硬件和传感器堆栈起,系统就需要用到这些工具,此外,自动驾驶系统日志数据的在线或离线回放也需要反复用到它们。随着平台的成熟,围绕分类、模拟、地图绘制,安全、图像收集以及标注的新的用例就会出现。生产之路需要能提供监控、远程协助以及支持的全新的工具和基础架构。
除了快速展开这些需求,自动驾驶工程师为了交付有效的工具解决方案,通常也不得不学习复杂的计算机绘图方法和数据可视化技术。可视化标准的缺失造成的结果是,工程师为了快速交付解决方案,会围绕现成的技术和框架来组装定制的工具。然而,在我们的经验中,尝试用各种现成组件组装出来的开发工具会造成系统难以维修或变得不灵活性,并且各组件间的结合度还不足构成平台的坚实基础。
我们现在将 AVS 共享给更广泛的自动驾驶界,就是希望工业界能够通力合作推动这一领域的进展,并定义出一个新的标准,最终为大众带来一个更安全、更高效的交通工具方案。
将运动的世界可视化
在使用 Uber ATG 的基于 web 的 AVS 的案例中,通过对车辆使用该系统之前和之后的比较,我们可以看到汽车检测得到改善。
自动驾驶汽车开发是一个快速发展的领域,拥有新的服务、数据集(尤其是通过 LiDAR)以及许多需要新解决方案的用例。在 Uber,多个工程团队都对需要处理的解决方案有着独一无二的需求。使用基于 Web 的可视化应用程序显而易见是一种选择,因为它为跨团队的快速更迭、用例特定的应用程序、简化的信息共享、定制以及现有服务的集成创造了机会。
虽然基于 Web 的可视化系统拥有显而易见的优势,但它也面临着如何在保留与基于桌面系统相当的性能的同时还能高效地管理数据的挑战。解决这些挑战就需要一个新的抽象来管理和描述 Web 应用程序使用的生成数据。
基于上述需求,我们围绕两个关键的部分建立了自己的系统:XVIZ 提供了数据(包括管理和规格);而 streetscape.gl 则是一个组件工具包,能够强化 web 应用程序。
XVIZ
自动驾驶系统生成的数据需要一个正式且兼具灵活性的规格,例如可以与展开的基础框架集成、符合多个客户端、并且足够接近数据源以定义必要的控件和绑定来高效地管理数据的数据格式。
XVIZ 的高级数据流包括:服务器端上的编码器和构建器和客户端上的解码器、数据缓冲器和同步器。
XVIZ 提供了随时间变化的场景的(数据)流导向视图以及声明性的用户界面显示系统。像视频录制一样,您可以随意搜索并了解系统当时的现状。同时它也像 HTML 文档一样,其表示会根据允许内省的模式进行聚焦和结构化处理。不过,XVIZ 还允许通过将单独的流捆绑在一起并更新到单个目标中,来轻松探索和查询数据。
XVIZ 流是在特定时间使用特定的基元类型(primitive types)时发生的一系列离散的更新。基元是能够描述 LiDAR 点云、相机图像、目标范围、轨迹、随时间变化的车辆速度以及预测的规划的目标。为了简化给用户呈现的演示,这些目标被单独设置了样式(包括数据流级别)或分配了样式类(style class)。
XVIZ 通过分层命名来组织数据流,其中单独的元数据部分列出了数据流、它们的类型、相对变换、声明性 UI 面板和样式类。然后,用户界面将目标的图形面板与数据捆绑在一起,通过 YAML ()为用户提供控件,进而安装一系列布局和显示组件。
XVIZ 的数据结构,其允许研究者从数据集切换流。
streetscape.gl
streetscape.gl 提供了各种 UI 组件,包括相机、回放控件、目标标注和绘图功能。
streetscape.gl 是一个工具包,它用于创建使用 XVIZ 协议中的数据的 web 应用程序。它为以 3D 视图、图表、表格、视频等形式将 XVIZ 流可视化提供了可立即投入使用的组件。同时,它还解决了常见的可视化痛点,例如跨数据流的时间同步(time synchronization)、坐标系统、相机、动态样式以及与 3D 目标和交叉组件的交互等,从而让用户可以投入更多的时间来创建出自动驾驶汽车软件本身。
渲染性能(Render performance)是 streetscape.gl 的首要目标。借助 React 和 Uber 成熟的基于 WebGL 的可视化平台(),我们能够支持实时回放以及与支持数十万种几何尺寸的场景的平滑交互。
可组合性也是设计 streetcape.gl 的前线和中心。我们的内部可视化平台为分类、标注、调试、远程协助和场景编辑等十几个不同的用例提供支持,通过从该平台的工作中学习,我们设计的组件具有高度的样式可定制性和可扩展性,因而所有的团队都能根据其独特的工作流程来体验这一系统。
AVS 有何不同
AVS 被设计成开放和模板化的系统,从其开发之初,我们就鼓励内部团队出谋划策来实现去耦(decoupling)。从架构上来说,它提供了一个分层的方法,该方法可以最小化自动驾驶堆栈的组件间的耦合,并为数据交换提供一个明确的定义。每个层都可以按需形成,而不需要改变全系统,并且系统还可以按照特定的场景或用例来定制层。
这一指导原则有助于将 AVS 与当前的解决方案区分开来。具体而言,AVS 的架构使该系统独树一帜,因为:
此外,AVS 还可以迎合自动驾驶生态系统中各类人的需求,包括工程师、操作员、分析家以及专业的开发者等。自动驾驶工程师可以使用 XVIZ 轻易地对他们的系统进行描述,然后还可以使用有限的经费来验证和实践他们的预想。专业的开发者可以使用 streetscape.gl 快速地创建与数据源无关的具有强大的性能特征和简化的集成的应用程序。最后,操作者也能够通过多个应用程序以视频等视觉格式来查看数据,从而使得协作、知识理解、更深入的分析以及总体信任数据的质量,都变得更加容易。
通过将 AVS 开源给工业界,我们鼓励更多开发者基于这一系列原始的思路贡献更多想法,并开发出更多系统。
自动驾驶行业及该行业以外的应用
对于 Voyage、 Applied Intuition 以及 Uber ATG 等开发或支持自动驾驶汽车的公司来说,通过从模拟到道路测试的方法来寻找自动驾驶问题的根本原因,是一个极度耗时的过程。
据 Voyage 的首席技术官 Drew Gray 所提到的,能够可见地探索自动驾驶传感器数据、预测路径、追踪目标和速度及加速等状态信息对于分类过程来说是价值巨大的,并且还可以对开发人员的效率带来积极影响。此外,该信息还可用于设置基于数据的工程的优先顺序。
Voyage 的联合创始人 Warren Ouyang 也随声附和了 Gray 对于 AVS 的发展潜力所发表的观点。他表示「我们非常高兴能够使用 Uber 的自动驾驶可视化系统,并共同协作为自动驾驶界的向前发展开发出更好的工具。」
来源【首席数据官】,更多内容/合作请关注「辉声辉语」公众号,送10G营销资料!
版权声明:本文内容来源互联网整理,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 jkhui22@126.com举报,一经查实,本站将立刻删除。