热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

apollo3.0感知模块分析(官方开发文档)

本文章来自:github——apollo官网原创:阿波君感知Apollo3.0June27,2018简介Apollo3.0主要针对采用低成本传感

本文章来自:github——apollo官网    原创:阿波君         

感知

Apollo 3.0 June 27, 2018

简介

Apollo 3.0 主要针对采用低成本传感器的L2级别自动驾驶车辆。在车道中的自动驾驶车辆通过一个前置摄像头前置雷达要与关键车辆(在路径上最近的车辆)保持一定的距离。Apollo 3.0 支持在高速公路上不依赖地图的高速自动驾驶。深度网路学习处理图像数据,随着搜集更多的数据,深度网络的性能随着时间的推移将得到改善。

安全警告

Apollo 3.0 不支持没有包含本地道路和说明标示的急转弯道路。感知模块是基于采用深度网络并结合有限数据的可视化检测技术。因此,在我们发布更好的网络之前,驾驶员应该小心驾驶并控制好车辆方向而不能依赖与自动驾驶。请在安全和限制区域进行试驾。

  • 推荐道路

    • 道路两侧有清晰的白色车道线
  • 禁止

    • 急转弯道路
    • 没有车道线标记的道路
    • 路口
    • 对接点或虚线车道线
    • 公共道路


 


感知模块

每个模块的流程图如下所示。

 

                                                                           图 1: Apollo 3.0的流程图

深度网络

深度网络摄取图像并为Apollo 3.0提供两个检测输出,车道线对象

在 Apollo 3.0, YOLO [1][2] 被用作对象车道线检测基础网络。该对象具有车辆、卡车、骑车人和行人类别,并由表示成具有方向信息的2-D边界框。

通过使用具有一些修改的相同网络进行分段来检测车道线。对于整条车道线,我们有一个单独的网络,以提供更长的车道线,无论是车道线是离散的还是连续的。

 

物体识别/跟踪是指什么?

在交通场景中,有两类物体: 静态物体动态物体

静态物体包括车道线、交通信号灯以及数以千计的以各种语言写成的交通标示。除了驾驶之外,道路上还有多个地标,主要用于视觉定位,包括路灯,障碍物,道路上的桥梁或任何天际线。对于静态物体,Apollo 3.0将仅检测车道线.

动态物体中,Apollo在路上关心乘用车,卡车,骑自行车者,行人或任何其他物体,包括动物或身体部位。Apollo还可以根据物体所在的车道对物体进行分类最重要的物体是CIPV(路径中最近的物体)。下一个重要对象将是相邻车道中的物体。

 

2D-to-3D 边界框

给定一个2D盒子,其3D大小和相机方向,该模块搜索相机坐标系统中的3D位置,并使用该2D盒子的宽度,高度或2D区域估计精确的3D距离。该模块可在没有准确的外部相机参数的情况下工作。

 

对象跟踪

对象跟踪模块利用多种信息,例如3D位置,2D图像补丁,2D框或深度学习ROI特征。 跟踪问题通过有效地组合线索来表达为多个假设数据关联,以提供路径和检测到的对象之间的最正确关联,从而获得每个对象的正确ID关联。

 

车道检测/追踪

在静态对象中,我们在Apollo 3.0中将仅处理通道线。该车道用于纵向和横向控制。车道本身引导横向控制,并且在车道内的对象引导纵向控制。

车道线

我们有两种类型的车道线,车道标记段和整个车道线。车道标记段用于视觉定位,整个车道线用于使车辆保持在车道内。 该通道可以由多组折线表示,例如下一个左侧车道线,左侧线,右侧线和下一个右侧线。给定来自深度网络的车道线热图,通过阈值化生成分段的二进制图像。该方法首先找到连接的组件并检测内部轮廓。然后,它基于自我车辆坐标系的地面空间中的轮廓边缘生成车道标记点。之后,它将这些车道标记与具有相应的相对空间(例如,左(L0),右(R0),下左(L1),下(右)(L2)等)标签的若干车道线对象相关联。

 

CIPV (最近路径车辆)

CIPV是当前车道中最接近的车辆。对象由3D边界框表示,其从上到下视图的2D投影将对象定位在地面上。然后,检查每个对象是否在当前车道中。在当前车道的对象中,最接近的一个将被选为CIPV。

 

跟车

跟车是跟随前车的一种策略。从跟踪对象和当前车辆运动中,估计对象的轨迹。该轨迹将指导对象如何在道路上作为一组移动并且可以预测未来的轨迹。有两种跟车尾随,一种是跟随特定车辆的纯尾随,另一种是CIPV引导的尾随,当检测到无车道线时,当前车辆遵循CIPV的轨迹。

输出可视化的快照如图2所示。 

图 2: Apollo 3.0中感知输出的可视化。左上角是基于图像的输出。左下角显示了对象的3D边界框。右图显示了车道线和物体的三维俯视图。CIPV标有红色边框。黄线表示每辆车的轨迹

 

雷达 + 摄像头融合

给定多个传感器,它们的输出应以协同方式组合。

1、Apollo 3.0,介绍了一套带雷达和摄像头的传感器。对于此过程,需要校准两个传感器。每个传感器都将使用Apollo 2.0中介绍的相同方法进行校准

2、校准后,输出将以3-D世界坐标表示,每个输出将通过它们在位置,大小,时间和每个传感器的效用方面的相似性进行融合

3、在学习了每个传感器的效用函数后,摄像机对横向距离的贡献更大,雷达对纵向距离测量的贡献更大。异步传感器融合算法也作为选项提供。

世界坐标是3D中的当前车辆坐标,其中后中心轴是原点。

 

伪车道

所有车道检测结果将在空间上临时组合以诱导伪车道,该车道将被反馈到规划和控制模块。某些车道线在某帧中不正确或缺失。为了提供平滑的车道线输出,使用车辆里程测量的历史车道线。当车辆移动时,保存每个帧的里程表,并且先前帧中的车道线也将保存在历史缓冲器中。检测到的与历史车道线不匹配的车道线将被移除,历史输出将替换车道线并提供给规划模块。

 

超声波传感器

Apollo 3.0支持超声波传感器。每个超声波传感器通过CAN总线提供被检测对象的距离。来自每个超声波传感器的测量数据被收集并作为ROS主题广播。将来,在融合超声波传感器后,物体和边界的地图将作为ROS的输出发布。

 

感知输出

PnC的输入将与之前基于激光雷达的系统的输入完全不同。

  • 车道线输出

    • 折线和/或多项式曲线
    • 车道类型按位置:L1(左下车道线),L0(左车道线),R0(右车道线),R1(右下车道线
  • 对象输出

    • 3D长方体
    • 相对速度和方向
    • 类型:CIPV,PIHP,其他
    • 分类:汽车,卡车,自行车,行人
    • Drops:物体的轨迹

世界坐标是3D中的当前车辆坐标,其中后中心轴是原点。

参考

[1] J Redmon, S Divvala, R Girshick, A Farhadi, "你只看一次:统一的实时物体检测" CVPR 2016

[2] J Redmon, A Farhadi, "YOLO9000: 更好, 更快, 更强," arXiv preprint

 

希望对你有帮助。

     


推荐阅读
  • 图像分割技术在人工智能领域中扮演着关键角色,其中语义分割、实例分割和全景分割是三种主要的方法。本文对这三种分割技术进行了详细的对比分析,探讨了它们在不同应用场景中的优缺点和适用范围,为研究人员和从业者提供了有价值的参考。 ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得
    TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得 ... [详细]
  • 在2019中国国际智能产业博览会上,百度董事长兼CEO李彦宏强调,人工智能应务实推进其在各行业的应用。随后,在“ABC SUMMIT 2019百度云智峰会”上,百度展示了通过“云+AI”推动AI工业化和产业智能化的最新成果。 ... [详细]
  • 题目解析给定 n 个人和 n 种书籍,每个人都有一个包含自己喜好的书籍列表。目标是计算出满足以下条件的分配方案数量:1. 每个人都必须获得他们喜欢的书籍;2. 每本书只能分配给一个人。通过使用深度优先搜索算法,可以系统地探索所有可能的分配组合,确保每个分配方案都符合上述条件。该方法能够有效地处理这类组合优化问题,找到所有可行的解。 ... [详细]
  • 独家解析:深度学习泛化理论的破解之道与应用前景
    本文深入探讨了深度学习泛化理论的关键问题,通过分析现有研究和实践经验,揭示了泛化性能背后的核心机制。文章详细解析了泛化能力的影响因素,并提出了改进模型泛化性能的有效策略。此外,还展望了这些理论在实际应用中的广阔前景,为未来的研究和开发提供了宝贵的参考。 ... [详细]
  • 2012年9月12日优酷土豆校园招聘笔试题目解析与备考指南
    2012年9月12日,优酷土豆校园招聘笔试题目解析与备考指南。在选择题部分,有一道题目涉及中国人的血型分布情况,具体为A型30%、B型20%、O型40%、AB型10%。若需确保在随机选取的样本中,至少有一人为B型血的概率不低于90%,则需要选取的最少人数是多少?该问题不仅考察了概率统计的基本知识,还要求考生具备一定的逻辑推理能力。 ... [详细]
  • 基于OpenCV的图像拼接技术实践与示例代码解析
    图像拼接技术在全景摄影中具有广泛应用,如手机全景拍摄功能,通过将多张照片根据其关联信息合成为一张完整图像。本文详细探讨了使用Python和OpenCV库实现图像拼接的具体方法,并提供了示例代码解析,帮助读者深入理解该技术的实现过程。 ... [详细]
  • 2019年斯坦福大学CS224n课程笔记:深度学习在自然语言处理中的应用——Word2Vec与GloVe模型解析
    本文详细解析了2019年斯坦福大学CS224n课程中关于深度学习在自然语言处理(NLP)领域的应用,重点探讨了Word2Vec和GloVe两种词嵌入模型的原理与实现方法。通过具体案例分析,深入阐述了这两种模型在提升NLP任务性能方面的优势与应用场景。 ... [详细]
  • 表面缺陷检测数据集综述及GitHub开源项目推荐
    本文综述了表面缺陷检测领域的数据集,并推荐了多个GitHub上的开源项目。通过对现有文献和数据集的系统整理,为研究人员提供了全面的资源参考,有助于推动该领域的发展和技术进步。 ... [详细]
  • 了解供应链简单来说,供应链涉及一系列旨在向最终用户提供产品或服务的步骤。企业组织及其供应商之间始终存在一个网络,来生产特定产品并将其交付给最终用户。该网络包括不同的活动、人员、实体 ... [详细]
  • 本文将继续探讨 JavaScript 函数式编程的高级技巧及其实际应用。通过一个具体的寻路算法示例,我们将深入分析如何利用函数式编程的思想解决复杂问题。示例中,节点之间的连线代表路径,连线上的数字表示两点间的距离。我们将详细讲解如何通过递归和高阶函数等技术实现高效的寻路算法。 ... [详细]
  • 在2019年寒假强化训练中,我们深入探讨了二分算法的理论与实践应用。问题A聚焦于使用递归方法实现二分查找。具体而言,给定一个已按升序排列且无重复元素的数组,用户需从键盘输入一个数值X,通过二分查找法判断该数值是否存在于数组中。输入的第一行为一个正整数,表示数组的长度。这一训练不仅强化了对递归算法的理解,还提升了实际编程能力。 ... [详细]
  • Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战?
    Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战? ... [详细]
author-avatar
mobiledu2502927743
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有