0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于规则的预测算法和基于机器学习的预测算法

YB7m_Apollo_Dev 来源:cg 2018-12-18 09:54 次阅读

如果一辆车子要实现自动驾驶,那么障碍物感知绝对是最基础也是最核心的功能。Apollo 障碍物感知系统分为3D 检测、ROI 滤波、识别、运算、感知五大板块。其感知过程如下:首先 LiDAR 探测到信号,传递给 ROI 的 Filter,滤波后的信号通过 Obstacle Segmentation 和 Detection 做识别,然后是 Tracking,Apollo 在运算这一块采用的是 NVIDIA GPU,运算能力强劲,可以实现 10Hz 的输出,最后是 Obstacles 感知。

当系统感知到障碍物后,需要对障碍物进行行为预测,如障碍物是否是动态的,其下一步动作是什么。Apollo 障碍物行为预测系统采用 MLP 多层感知机制,通过深度神经网络与规划算法,达到精准预测路径的目的。

训练MLP深度学习模式有2个前提条件:

请从官网下载并安装Anaconda软件

运行以下命令安装必要的依赖项:

安装numpy: conda install numpy

安装tensorflow: conda install tensorflow

安装keras (version 1.2.2): conda install -c conda-forge keras=1.2.2

安装h5py: conda install h5py

安装protobuf: conda install -c conda-forge protobuf

接下来要遵循的步骤是使用发布的演示数据来训练MLP模型。为了方便起见,我们把阿波罗作为本地阿波罗储存库的路径,例如,/home/username/apollo

如果用来存储离线预测数据的文件夹不存在的话,则使用命令

mkdir APOLLO/data/prediction

创建一个新文件夹

打开apollo/modules/prediction/conf/prediction.conf.通过改变--noprediction_offline_mode成--prediction_offline_mode来启动离线模式

在apollo文件夹中用bash docker/scripts/dev_start.sh启动dev docker

在apollo文件夹中用bash docker/scripts/dev_into.sh进入dev docker

在docker中,/apollo/下运行bash apollo.sh build进行编译

在docker中,/apollo/下通过python docs/demo_guide/rosbag_helper.py demo_2.0.bag下载演示用rosbag

在docker中,/apollo/下通过bash scripts/prediction.sh start_fe运行预测模块

打开一个新的终端窗口,使用步骤4进入apollo dev docker

在新的终端窗口中,在/apollo/下,使用rosbag play demo_2.0.bag播放演示rosbag

当rosbag在新终端中运行结束后,在原来的终端按下Ctrl + C停止预测模块。

在/apollo/data/prediction/文件夹中检查是否有feature.0.bin文件存在

在docker中进入

/apollo/modules/tools/prediction/mlp_train/

使用python generate_labels.py -f /apollo/data/prediction/feature.0.bin标记数据。然后在/apollo/data/prediction/文件夹中检查是否有feature.0.label.bin文件存在

更新:

在docker中进入

/apollo/modules/tools/prediction/mlp_train/

使用python generate_labels.py /apollo/data/prediction/feature.0.bin /apollo/data/prediction/feature.0.label.bin标记数据。然后在/apollo/data/prediction/文件夹中检查是否有feature.0.label.bin文件存在

在docker中,/apollo/modules/tools/prediction/mlp_train/下,通过python generate_h5.py -f /apollo/data/prediction/feature.0.label.bin生成 H5文件。然后检查feature.0.label.h5是否被创建

更新:在docker中,/apollo/modules/tools/prediction/mlp_train/下, 通过python generate_h5.py /apollo/data/prediction/feature.0.label.bin/apollo/data/prediction/feature.0.label.h5生成 H5文件。然后检查feature.0.label.h5是否被创建

退出dev docker

进入APOLLO/modules/tools/prediction/mlp_train/proto/文件夹并运行protoc--python_out=./fnn_model.proto来生成fnn_model_pb2.py

进入APOLLO/modules/tools/prediction/mlp_train/文件夹通过python mlp_train.py APOLLO/data/prediction/feature.0.label.h5启动训练模型

模型的评估报告在APOLLO/modules/tools/prediction/mlp_train/evaluation_report.log

模型会被存放在APOLLO/modules/tools/prediction/mlp_train/mlp_model.bin,如果你觉得你的模型更好可替换在APOLLO/modules/prediction/data/mlp_vehicle_model.bin中原来的模型

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 深度学习
    +关注

    关注

    73

    文章

    5232

    浏览量

    119889
  • MLP
    MLP
    +关注

    关注

    0

    文章

    56

    浏览量

    4072

原文标题:技术文档 | 如何训练MLP深度学习模式

文章出处:【微信号:Apollo_Developers,微信公众号:Apollo开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于纹理复杂度的快速帧内预测算法

    【正文快照】:0引言帧内编码利用相邻像素块之间的相关[1]来减少视频图像的空间冗余度,提高了编码效率。但是在H.264/AVC的帧内预测采用全搜索算法中,为了确定一个宏块的最优预测模式,要遍历色度块和亮度块的17种
    发表于 05-06 09:01

    CCD图像分析方法和预测算法???

    CCD图像分析方法和预测算法???
    发表于 07-01 15:20

    人脸检测算法及新的快速算法

    人脸检测算法及新的快速算法人脸识别设备凭借着便捷的应用,以及更加新潮的技术,俘获了不少人的好感。于是,它的应用也在日益的变得更加的广泛。由中国电子学会主办的全国图形图像技术应用大会,行业专家将介绍
    发表于 09-26 15:13

    谁会小波神经网络预测算法的设计?

    有没有谁会小波神经网络预测算法的设计啊,需要在MATLAB里面实现的,这是其中一部分,但是在MATLAB里面实现不了,有谁会完整的程序设计吗?着急啊,帮帮忙吧%%网络初始化Load
    发表于 04-15 13:24

    请问基于模型预测算法的DC/DC变换器电压出现很大跳变是什么原因?

    我用的是两相交错并联的DC/DC电路结构,用F2812做处理器,开关频率80K,控制算法用的是电压单闭环+模型预测算法。设定输出电压的参考值,反馈实际输出电压,比较经过PI以后得到电流参考值,然后
    发表于 07-23 14:52

    请问h.264帧内预测算法的各个子模块的代码怎么设计?

    请问h.264帧内预测算法的各个子模块的代码,怎么去设计呢,
    发表于 03-03 19:33

    请问h.264的帧内预测算法的ding层怎么设计

    h.264的帧内预测算法的ding层设计怎么去设计
    发表于 03-03 19:40

    请问h.264帧内预测算法的fpga实现怎么设计?

    怎么设计帧内预测算法各个模块的代码呢,用vhdl语言
    发表于 04-10 00:42

    基于YOLOX目标检测算法的改进

    ,较好的改善了遮挡目标的漏检问题。在目标检测算法训练的过程中,我们把预测框和真实框(Groundtruth)进行匹配,当一个预测框和 Ground-truth 匹配后,则该框为正样本;反之,未成功匹配
    发表于 03-06 13:55

    基于网络表示学习与随机游走的链路预测算法

    现有的基于随机游走链路预测指标在无权网络上的转移过程存在较强随机性,没有考虑在网络结构上不同邻居节点间的相似性对转移概率的作用。针对此问题,提出一种基于网络表示学习与随机游走的链路预测算法。首先
    发表于 11-29 10:24 0次下载
    基于网络表示<b class='flag-5'>学习</b>与随机游走的链路<b class='flag-5'>预测算法</b>

    基于变分自编码器的海面舰船轨迹预测算法

    海面舰船的轨迹预测预测精度和实时性具有较高要求,而舰船轨迹数据特征的高复杂度特性,导致传统预测算法精度低、耗时长,难以达到良好的预测效果。为此,提出一种基于变分自编码器的海面舰船轨迹
    发表于 03-30 09:53 5次下载
    基于变分自编码器的海面舰船轨迹<b class='flag-5'>预测算法</b>

    基于粒子群算法的车联网交通流量预测算法

    文中提出一种基于量子粒子群优化策略的车联网交通流量预测算法。根据交通流量数据特征建立对应模型,将遗传模拟退火算法应用到量子粒子群算法中得到优化的初始聚类中心,并将优化后的算法应用于径向
    发表于 04-25 15:04 9次下载
    基于粒子群<b class='flag-5'>算法</b>的车联网交通流量<b class='flag-5'>预测算法</b>

    基于异构网络表示方法的论文影响力预测算法

    基于图的随机游走算法预测论文影响力时,仅利用学术网络的全局结构信息而未考虑局部结构信息,对预测准确率造成影响。针对该问题,提出一种基于异构学术网络表示学习和多变量随机游走的论文影响力
    发表于 05-24 14:42 1次下载

    复杂网络下的局部路径链路预测算法

    复杂网络下的局部路径链路预测算法
    发表于 06-09 15:33 23次下载

    基于RNN的GIS故障预测算法及系统设计

    基于RNN的GIS故障预测算法及系统设计
    发表于 07-01 15:38 30次下载