自动驾驶感知技术分析报告
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
"自动驾驶感知技术分析报告" 自动驾驶感知技术是自动驾驶系统的核心组件之一,负责感知周围环境并将其转换为可用于决策的数据。该技术报告对自动驾驶感知技术进行了深入分析,涵盖了感知算法、感知框架、感知执行器、数据流、配置项等方面。 一、感知算法 自动驾驶感知技术的核心是CNN模型,该模型有四种:rfcn、freespace、depth、parkspace。每种模型都有其特点和应用场景。例如,freespace模型的目标是识别出可行驶区域,通过在图像上纵向上得到相应的分割点y坐标、类别。 二、感知框架 感知框架是自动驾驶感知技术的基础结构,负责将感知数据处理并传递给下游。该框架主要由三个部分组成:感知模块、感知执行器、感知框架目录。感知模块负责将感知数据处理并传递给感知执行器,感知执行器负责将处理后的数据传递给下游,感知框架目录负责管理感知模块和感知执行器之间的关系。 三、感知执行器 感知执行器是自动驾驶感知技术的核心组件之一,负责将感知数据处理并传递给下游。感知执行器继承自InitiativeExec类,为什么集成该类,而不是IExec类,是因为感知的输出需要给到下游,而InitiativeExec类里添加了一个notify_by_output成员函数,以及相关的Data_Event对象,用于通知pavaro scheduler。 四、感知框架主要函数 感知框架主要函数包括init函数和process函数。init函数负责根据配置文件去初始化各个模块,包括预处理对象、预处理的数据对象、cnn、cnn的数据对象、后处理对象、后处理的数据对象等,同时会把各个环节输入输出的数据串联起来。process函数负责处理多阶段网络和单阶段网络,处理流程:预处理->cnn->postprocess-> fusion->adapter。 五、感知框架感知内部配置项 感知框架感知内部配置项是指perception_config.prototxt文件,该文件定义了感知和pavaro之间的数据定义注册和执行器实现及注册。执行器实现前面已经介绍过(perception_exec),这个执行器需要注册到pavaro中(perception_exec.cpp中): REGISTER_EXECUTER(PerceptionExec) 六、数据部分 感知的输入是perception_bundle,输出是PerceptionViewData,定义在modules/common/include/data.h: DATA_DEFINE(PerceptionViewData, ::apollo::perception::view::PerceptionView) PerceptionViewData有两个父类,一个是PerceptionView,另一个是Data。但是这些数据需要添加到框架里,才能被pavaro使用起来,pavaro里有一个GetData类,里面实现了string name和Data类型的对应关系: REG_DATA(perception_view, PerceptionViewData) 七、数据与执行器 在数据和执行器都注册完成后,pavaro便可以根据配置文件来做相应的schedule了,比如创建执行器对象,pavaro内部是如何去创建不同执行器对象的?因为执行器是不一样的,必须先把他们注册进去,让pavaro提前知道。 八、调度过程 调度过程是指感知执行器将数据处理后,调用notify_by_output函数,通知scheduler,然后scheduler会根据数据名字去dag里找相应的执行器,然后把数据和执行做一个绑定,再放到worker队列里,pavaro里有线程会去worker队列取task运算。如果前端数据来太快呢,pavaro内部应该有锁和定时器等相关机制保证。
剩余28页未读,继续阅读
- 粉丝: 4909
- 资源: 1273
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助