百度Apollo(二):障碍物感知模块

2023-11-07

Apollo感知模块具有识别障碍物和交通灯的能力。
其中,Apollo解决的障碍物感知问题:
1. 高精地图ROI过滤器(HDMap ROI Filter)
2. 基于卷积神经网络分割(CNN Segmentation)
3. MinBox 障碍物边框构建(MinBox Builder)
4. HM对象跟踪(HM Object Tracker)
其源码在:apollo\modules\perception\obstacle\lidar

高精地图 ROI 过滤器

高精地图 ROI 过滤器处理在ROI(包含路面、路口的可驾驶区域)之外的激光雷达点,去除背景对象,如路边建筑物和树木等,剩余的点云留待后续处理。
主要有以下步骤
1. 坐标转换:使世界坐标系和点云坐标系处于同一相同坐标系下。
2. ROI LUT构造:采用LUT(网格显示查找表),将ROI量化为俯视图2D网格(8*8的网格,每个网格为70 / 8 = 8.75米,对应于量化后的网格每个网格为25 / 8 = 3.128厘米)。
1
3. ROI LUT点查询:查询ROI内的点。

基于CNN的障碍物分割

经过高精地图 ROI 过滤器后,检测和划分前景障碍物,例如汽车,卡车,自行车和行人。
主要有以下步骤
1. 通道特征提取:在俯视图2D网格中计算每个单元格的8个统计测量(这里面用到了点云的反射率,也就是单元格的强度),这8个统计测量则为CNN的输入通道特征。
2. 基于CNN的障碍物预测:使用全卷积神经网络来预测单元格障碍物的属性(center offset(中心偏移)、objectness(对象性,是否有物体)、positiveness(积极性,是否为正目标)、object height(物体高度)、class probability(物体的类别))。
2
3. 障碍物聚类:使用CNN预测得到的单元格障碍物属性(objectness属性阈值为0.5)生成候选对象集群。
3
4. 后期处理:Apollo首先对所涉及的单元格的积极性和物体高度值,平均计算每个候选群体的检测置信度分数(默认阈值为0.1)和物体高度。 然后,Apollo去除相对于预测物体高度太高的点(默认为0.5米),并收集每个候选集中的有效单元格的点。 最后,Apollo删除具有非常低的可信度分数或小点数(小于3个点)的候选聚类,以输出最终的障碍物集/分段。

MinBox障碍物边框构建

使用CNN学习的方法得到的障碍物是由一个个网格组合而成,在这里使用MinBox的方法得到物体的最终边界框。具体方法是任意选择一条边,将其他多边形上的点投影到这条边上,建立具有最大距离的交点对,其具有最大距离的点的集合则为边框的边缘,然后通过迭代所有边,选择最小面积的方案得到最终的边界框。
4
结论:Apollo通过用点云进行学习得到物体俯视图边界框,结合相机图像进行学习得到的物体边界框,则可得到物体3D的边界框。

HM对象跟踪

HM对象跟踪器跟踪分段检测到的障碍物。通常,它通过将当前检测与现有跟踪列表相关联,来形成和更新跟踪列表,如不再存在,则删除旧的跟踪列表,并在识别出新的检测时生成新的跟踪列表。 更新后的跟踪列表的运动状态将在关联后进行估计。 在HM对象跟踪器中,匈牙利算法(Hungarian algorithm)用于检测到跟踪关联,并采用鲁棒卡尔曼滤波器(Robust Kalman Filter) 进行运动估计。

特别说明:本文为本人学习所做笔记。
具体参考:https://github.com/ApolloAuto/apollo/blob/master/docs/specs/3d_obstacle_perception_cn.md

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

百度Apollo(二):障碍物感知模块 的相关文章

随机推荐

  • 加密SO文件中自定义的section

    加密SO文件中自定义的section 作者 0n1y3nd丶 分类 Android 发布时间 2014 08 29 18 22 61条评论 前言 加密已知so文件中的某一section 在运行时解密 执行里面的代码 0 1 libsyc s
  • vim q:适合更多操作的命令行窗口。

    最简单的命令行窗口 输入命令 但是 如果想复制内容到命令行窗口 怎么办 有一种方法 在正常模式下 输入 q 就打开了命令行窗口 命令行窗口中都是我们输入过的命令 在这个窗口中我们可以像编辑正文一样编辑新的命令 或修改旧的命令 因为像编辑普通
  • ChatGPT常见错误解决和封号情形说明

    1 ChatGPT国内能用吗 答 ChatGPT官网国内IP不能 包括港澳台 最好用美国IP 所以需要魔法才能访问官网 这块内容懂得都懂 不敢写教程 只能各位自行搞定 搞不定还是老实用国内的 2 登录遇到ChatGPT高峰期 解决办法 遇到
  • 深度学习-无监督学习(2)

    一 简介 接续上一节我们对无监督学习的介绍 接下来我们将对其中的两大模块展开介绍 在介绍之前会对流行数据让大家有一定的了解 二 无监督学习 数据流形 流形学习的目标是在保持特征特性的同时 将原来位于高维空间中的数据嵌入到低维空间中 这是可能
  • gcc 4.9 g++ gfortran 安装

    Linux编译安装GCC 4 9 0 有需要的朋友可以参考下 Linux下编写C C 程序自然缺不了一个优秀的编译器 Linux下比较常见的自然是GCC了 最近GCC也出到了4 9 0版本 对于C 11 14也有了更好的支持了 所以 今天我
  • 5.4 龙贝格算法

    为什么有龙贝格算法 龙贝格算法是一种数值积分方法 用于计算定积分的数值近似值 它是基于复合梯形法和复合辛普森法的推广和拓展 可以达到更高的精度 相较于复合梯形法和复合辛普森法 龙贝格算法的收敛速度更快 且误差更小 因此在计算积分时更加精确
  • Restful API注解之@PathVariable和@JsonView详解

    对于restful API的使用可以查看我之前的文章SpringMVC开发restful API查询请求 本文将在restful API的基础上介绍 PathVariable和 JsonView注解的详细使用方式 一 PathVariabl
  • 国王分金币(超详细版)

    描述 国王将金币作为工资 发放给忠诚的骑士 第一天 骑士收到一枚金币 之后两天 第二天和第三天 每天收到两枚金币 之后三天 第四 五 六天 每天收到三枚金币 之后四天 第七 八 九 十天 每天收到四枚金币 这种工资发放模式会一直这样延续下去
  • 数据结构:数组模拟栈

    实现一个栈 栈初始为空 支持四种操作 push x 向栈顶插入一个数 x pop 从栈顶弹出一个数 empty 判断栈是否为空 query 查询栈顶元素 用数组模拟栈 栈 先进后出 include
  • 基于Python的Streamlit框架数据可视化

    背景 性能测试和授权软件每周周会前都需要手工统计数据到excel文档形成周报 人工统计费时费力 excel文档也不美观 所以萌生了用数据可视化展示周报的想法 由于不太懂web开发 html css这些 网上浏览了一番 发现已经有大佬基于Py
  • 2022 年面向开发人员的七个优秀 Java IDE

    ava是最强大的编程语言之一 目前用于30亿台设备的开发 每天约有70万开发人员使用它 它一直是开发大量应用程序的重要组成部分 它提供了一些惊人的功能 例如易于学习和理解 高度安全 平台独立性 极其安全等等 Java IDE 集成开发环境
  • C#:通过字符串(文本)调用控件

    TextBox tb TextBox this GetType GetField tb Runtime System Reflection BindingFlags NonPublic System Reflection BindingFl
  • Scanner类在Java中的使用

    一 前言 在学习Java的过程中 我们很容易看得到诸如 从键盘中输入 这就需要我们新手 不针对大佬 大佬绕路即可 哈哈哈哈 学习其中的知识 今天就来给大家讲一下Scanner的使用方法 二 知识点 1 导包 import java util
  • 解决npm切换国内源-nrm ls 命令*不显示的问题

    解决npm切换国内源 nrm ls 命令 不显示的问题 解决方案 此时不显示 nrm ls 解决方案 进入本地全局包安装目录 例AppData Roaming npm node modules nrm nrm目录下打开cli js文件 找到
  • 攻防世界--WEB题之robots

    问题描述 难度系数 一颗星 题目来源 Cyberpeace n3k0 题目描述 X老师上课讲了Robots协议 小宁同学却上课打了瞌睡 赶紧来教教小宁Robots协议是什么吧 题目场景 点击获取在线场景 题目附件 暂无 题目分析 这个题由题
  • python基础练习题(一)

    参考 一 单选题 1 Python中 运算符比较两个对象的值 下列选项中哪一个是is比较对象的因素 4 0分 A id B sum C max D min id 命令查看变量的地址 2 在python中 字符串s abc 那么执行表达式s
  • vue2以ElementUI为例构建notify便捷精美提示

    我们先引入一个 第三方UI库 这里 我们以elementUI为例 先引入依赖 npm install element ui save 然后 在 main js 入口文件中 引入一下 import ElementUI from element
  • MSYS2 如何添加国内源

    用MSYS2 pacman S 安装包的速度让你怀疑人生 所以需要将源换成国内源 步骤 lt 1 gt 打开MSYS2软件内的 etc pacman d 其中有3个文件 mirrorlist mingw32 mirrorlist mingw
  • Nacos未授权访问漏洞(CVE-2021-29441)

    目录 漏洞描述 影响范围 环境搭建 漏洞复现 声明 本文仅供学习参考 其中涉及的一切资源均来源于网络 请勿用于任何非法行为 否则您将自行承担相应后果 本人不承担任何法律及连带责任 加粗样式 漏洞描述 Nacos 是阿里巴巴推出来的一个新开源
  • 百度Apollo(二):障碍物感知模块

    Apollo感知模块具有识别障碍物和交通灯的能力 其中 Apollo解决的障碍物感知问题 1 高精地图ROI过滤器 HDMap ROI Filter 2 基于卷积神经网络分割 CNN Segmentation 3 MinBox 障碍物边框构