9.8 Detección de objetos

Referencia de uso de Docker: Módulo 3.7 Docker

Enlace de red del verificador de objetos Isaac ROS: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_object_detection/index.html

Descripción general

La detección de objetos Isaac ROS incluye paquetes de software en ROS 2 para realizar detección de objetos. Isaac ros rtdetr, Isaac ros dectnet e isaac ros yolov8 proporcionan respectivamente un método para la clasificación espacial de imágenes de entrada utilizando marcos delimitadores. La clasificación se implementa mediante el modelo de aceleración por GPU de la estructura correspondiente:

isac ros rtdetr: modelo RT-DTR

isac ros dectnet: modelo DetectNet

isac ros yolov8: modelo YOLOv8

Las predicciones de salida pueden usarse para entender la existencia de objetos en imágenes y su ubicación espacial.

Inicio rápido

Para simplificar el desarrollo, utilizamos principalmente imágenes Isaac ROS Dev Docker y realizamos demostraciones de impacto sobre ellas. La demostración no requiere la instalación de ningún dispositivo de cámara, ya que simula los flujos de datos de la cámara reproduciendo el archivo rosbag.

Si planea ejecutar el flujo de trabajo en hardware real o con una cámara conectada, consulte la documentación oficial de Isaac ROS para conocer las configuraciones de cámara compatibles.

Abra una terminal, muévase al espacio de trabajo y entre en el contenedor de desarrollo Isaac ROS.

bash

cd ${ISAAC_ROS_WS}/src

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

Ejecute el siguiente comando de lanzamiento:

bash

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

Abra una segunda terminal y entre en el contenedor.

bash

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

Ejecute el siguiente comando:

bash

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

Ver el resultado

Abra la tercera terminal y entre en el contenedor.

bash

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

Ejecute el siguiente comando:

bash

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

Abra la cuarta terminal y entre en el contenedor.

bash

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

Ejecute el siguiente comando para ver el resultado:

bash

ros2 run rqt_image_view rqt_image_view /detectnet_processed_image