跳到主要内容

BEV感知算法

功能介绍

BEV感知算法是使用OpenExplorernuscenes数据集上训练出来的BEV多任务模型。

算法输入为6组图像数据,分别是前视,左前,右前,后视,左后,右后图。模型输出为10个类别的目标以及对应的3D检测框,包括障碍物、多种类型车辆、交通标志等,以及车道线、人行道、马路边缘的语义分割。

此示例使用本地图像数据作为输入,利用BPU进行算法推理,发布算法感知结果渲染的图片消息,在PC端浏览器上渲染显示算法结果。

代码仓库: (https://github.com/D-Robotics/hobot_bev.git)

支持平台

平台运行方式示例功能
RDK UltraUbuntu 20.04 (Foxy)使用本地回灌,并通过web展示推理渲染结果

准备工作

  1. RDK已烧录好Ubuntu 20.04系统镜像。

  2. RDK已成功安装TogetheROS.Bot。

  3. 确认PC机能够通过网络访问RDK。

使用介绍

使用本地数据集回灌

使用本地数据集回灌,经过推理后发布算法结果渲染后的图片消息,通过websocket package实现在PC端浏览器上渲染显示发布的图片和对应的算法结果。

准备回灌数据集

# 板端下载数据集
wget http://archive.d-robotics.cc/TogetheROS/data/hobot_bev_data.tar.gz

# 解压缩
mkdir -p hobot_bev_data
tar -zxvf hobot_bev_data.tar.gz -C hobot_bev_data

# 解压完成后数据集在hobot_bev_data/data路径下

使用数据集回灌

# 配置tros.b环境
source /opt/tros/setup.bash

# 启动websocket服务
ros2 launch websocket websocket_service.launch.py

# 启动运行脚本,并指定数据集路径
ros2 launch hobot_bev hobot_bev.launch.py image_pre_path:=hobot_bev_data/data

结果分析

在运行终端输出如下信息:

[INFO] [launch]: All log files can be found below /root/.ros/log/2023-07-05-17-47-07-232907-hobot-2627970
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [hobot_bev-1]: process started with pid [2627972]
[INFO] [websocket-2]: process started with pid [2627974]
[hobot_bev-1] [WARN] [1688579227.907268364] [bev_node]:
[hobot_bev-1] image_pre_path: hobot_bev_data/data
[hobot_bev-1] [BPU_PLAT]BPU Platform Version(1.3.3)!
[hobot_bev-1] [HBRT] set log level as 0. version = 3.14.25.0
[hobot_bev-1] [DNN] Runtime version = 1.12.3_(3.14.25 HBRT)
[hobot_bev-1] [WARN] [1688579228.714778531] [dnn]: Run default SetOutputParser.
[hobot_bev-1] [WARN] [1688579228.714925489] [dnn]: Set output parser with default dnn node parser, you will get all output tensors and should parse output_tensors in PostProcess.
[hobot_bev-1] [WARN] [1688579228.886846489] [bev_node]: loop 0/1002
[hobot_bev-1] [WARN] [1688579229.474568573] [bev_node]: loop 1/1002
[hobot_bev-1] [WARN] [1688579230.058551781] [bev_node]: loop 2/1002
[hobot_bev-1] [WARN] [1688579230.691667198] [bev_node]: loop 3/1002
[hobot_bev-1] [WARN] [1688579231.324658782] [bev_node]: loop 4/1002
[hobot_bev-1] [WARN] [1688579231.365145532] [bev_node]: input fps: 2.47, out fps: 2.52, infer time ms: 12, post process time ms: 659
[hobot_bev-1] [WARN] [1688579231.915645741] [bev_node]: loop 5/1002
[hobot_bev-1] [WARN] [1688579231.996993824] [bev_node]: input fps: 2.47, out fps: 2.52, infer time ms: 12, post process time ms: 658

在PC端的浏览器输入http://IP:8000 即可查看图像和算法渲染效果(IP为RDK的IP地址):