报告
项目名称:迁移基于 ROS2 和深度学习的目标
检测的算法至 openEuler21.03 平台
目录
结 项 报 告 ........................................................................................................................
1 一项目简介..................................................................................................
3 1.1 项 目 名 称
.................................................................................................. 3 1.2 项目描
述.................................................................................................. 3 1.3 项目
导师.................................................................................................. 3 1.4 项
目 开 发 者 .............................................................................................. 3 1.5
项目链接.................................................................................................. 3 二
开 发 详 情 .................................................................................................. 3
2.1 方案描述..................................................................................................
3 2.2 时 间 规 划
.................................................................................................. 4 三项目总结
.................................................................................................. 5 3.1 项目产
出.................................................................................................. 5 3.2 项目
演示.................................................................................................. 8 3.3 方
案 进 度 ................................................................................................ 11 3.4
遇 到 的 问 题 及 解 决 方 案........................................................................ 11
3.5 项 目 完 成 质 量 ........................................................................................
12 3.6 与 导 师 沟 通 及 反 馈 情 况
........................................................................ 12
一项目简介
1.1 项目名称
迁移基于 ROS2 和深度学习的目标检测的算法至 openEuler21.03 平台
1.2 项目描述
为了构建完善的基于 openEuler 的 ROS2 软件生态,需要将以 ROS2 为载
体 的部分目标检测算法迁移至 openEuler。目标检测算法作为当前自动驾驶/AI
领域 关键的模块之一,能在 openEuler 的 ROS2 上运行起来有着重要意义。当
前应用 广泛的开源目标检测算法有很多,开源的 YOLO,CNN 等均用 C++实现
,可以作 为很好的入门软件进行学习。还可以作为一个入口,扩展更多的相关
软件包进入 基于 openEuler 的 ROS2 软件生态。
二开发详情
2.1 方案描述
可以将整个项目主要由用 libtorch 库的目标检测程序、点云处理、ROS2 的
程 序编写和通过 Open Build Service (OBS)进行构建在 OpenEuler 上的 rpm 安装
包
这四个小部分组成。
步骤一
学习 libtorch 的 api 对目标检测算法,借鉴 项目进行修改并进行测试。从
配置文件中读取图片所在路径将彩色图和深 度图送到目标检测算法中得到目标
检测结果。
步骤二
将检测结果生成点云信息,处理点云信息得到简介结果的目标位置,目标尺
度和点云质心的法向量。
步骤三
根据点云处理所得到的信息生成目标检测框对应的 marker 格式的数据,在
RGB 图像上画出检测框和类别信息通过 ROS2 发布出来,从而可以在 rviz2 当
中 可视化的显示出来。
步骤四
对整个项目所需的依赖库进行整理并使用 Open Build Service (OBS)对项目进
行构建 OpenEuler 的 RPM 安装包。
2.2 时间规划
项目研发第一阶段(7 月 1 日-8 月 20 日)
(1)寻找合适的目标检测算法并将系统环境环境配置到个人的电脑中
(2)完成算法在环境中的验证
(3)编写 ROS2 的程序
(4)对迁移好的算法进行测试和验证
项目研发第二阶段(8 月 21 日-9 月 30 日)
(1)根据导师要求修改程序
(2)配置项目依赖文件
(3)打包整个项目并进行测试