Skip to main content

Isaac ROS对象检测

Isaac ROS对象检测概述快速体验

Isaac ROS对象检测官网链接:https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_object_detection/index.html

概述

Isaac ROS 物体检测包含 ROS 2 中用于执行物体检测的软件包。isaac_ros_rtdetr、isaac_ros_detectnet 和 isaac_ros_yolov8 分别提供了一种使用边界框对输入图像进行空间分类的方法。分类由相应架构的 GPU 加速模型执行:

isaac_ros_rtdetr:RT-DETR 模型

isaac_ros_detectnet:DetectNet 模型

isaac_ros_yolov8:YOLOv8 模型

输出预测可供感知函数用来理解图像中物体的存在及其空间位置。

快速体验

为了简化开发,我们主要使用 Isaac ROS Dev Docker 镜像,并在上面进行效果演示。演示不需要安装任何摄像头设备,通过播放 rosbag 文件模拟来自摄像头的数据流。

注:如果想要安装在自己设备上,或者连接摄像头开发其他功能,请参照 Isaac ROS 官网,连接英伟达指定的摄像头型号自行开发。

打开终端进入工作目录

cd ${ISAAC_ROS_WS}/src

进入 Isaac ROS Dev Docke容器

xxxxxxxxxx cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh

运行下面启动命令

xxxxxxxxxx ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=detectnet interface_specs_file:=${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_detectnet/quickstart_interface_specs.json

打开第二个终端,进入容器

xxxxxxxxxx cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh

运行以下命令

xxxxxxxxxx ros2 bag play -l ${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_detectnet/rosbags/detectnet_rosbag --remap image:=image_rect camera_info:=camera_info_rect

查看运行结果

打开第三个终端,进入容器

xxxxxxxxxx cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh

运行以下命令

xxxxxxxxxx ros2 run isaac_ros_detectnet isaac_ros_detectnet_visualizer.py --ros-args --remap image:=detectnet_encoder/resize/image

打开第四个终端,进入容器

xxxxxxxxxx cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh

运行以下命令,查看结果

xxxxxxxxxx ros2 run rqt_image_view rqt_image_view /detectnet_processed_image