isaac_ros_image_segmentation repository

ai gpu inference dnn nvidia image-segmentation jetson ros2 tensorrt ros2-humble

isaac_ros_image_segmentation repository

ai gpu inference dnn nvidia image-segmentation jetson ros2 tensorrt ros2-humble

isaac_ros_image_segmentation repository

ai gpu inference dnn nvidia image-segmentation jetson ros2 tensorrt ros2-humble

isaac_ros_image_segmentation repository

ai gpu inference dnn nvidia image-segmentation jetson ros2 tensorrt ros2-humble gxf_isaac_ros_segment_anything gxf_isaac_ros_unet isaac_ros_peoplesemseg_models_install isaac_ros_segformer isaac_ros_segment_anything isaac_ros_unet

Repository Summary

Description NVIDIA-accelerated, deep learned semantic image segmentation
Checkout URI https://github.com/nvidia-isaac-ros/isaac_ros_image_segmentation.git
VCS Type git
VCS Version main
Last Updated 2025-02-28
Dev Status UNKNOWN
CI status No Continuous Integration
Released UNRELEASED
Tags ai gpu inference dnn nvidia image-segmentation jetson ros2 tensorrt ros2-humble
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

README

Isaac ROS Image Segmentation

NVIDIA-accelerated, deep learned semantic image segmentation

sample input to image segmentation sample output from image segmentation

Overview

Isaac ROS Image Segmentation contains ROS packages for semantic image segmentation.

These packages provide methods for classification of an input image at the pixel level by running GPU-accelerated inference on a DNN model. Each pixel of the input image is predicted to belong to a set of defined classes. The output prediction can be used by perception functions to understand where each class is spatially in a 2D image or fuse with a corresponding depth location in a 3D scene.

image
Package Model Architecture Description
Isaac ROS U-NET U-NET Convolutional network popular for biomedical imaging segmentation models
Isaac ROS Segformer Segformer Transformer-based network that works well for objects of varying scale
Isaac ROS Segment Anything Segment Anything Segments any object in an image when given a prompt as to which one

Input images may need to be cropped and resized to maintain the aspect ratio and match the input resolution expected by the DNN model; image resolution may be reduced to improve DNN inference performance, which typically scales directly with the number of pixels in the image.

image

Image segmentation provides more information and uses more compute than object detection to produce classifications per pixel, whereas object detection classifies a simpler bounding box rectangle in image coordinates. Object detection is used to know if, and where spatially in a 2D image, the object exists. On the other hand, image segmentation is used to know which pixels belong to the class. One application is using the segmentation result, and fusing it with the corresponding depth information in order to know an object location in a 3D scene.

Isaac ROS NITROS Acceleration

This package is powered by NVIDIA Isaac Transport for ROS (NITROS), which leverages type adaptation and negotiation to optimize message formats and dramatically accelerate communication between participating nodes.

Performance

Sample Graph

Input Size

AGX Orin

Orin NX

Orin Nano Super 8GB

x86_64 w/ RTX 4090

SAM Image Segmentation Graph


Full SAM

720p



2.22 fps


390 ms @ 30Hz









14.6 fps


74 ms @ 30Hz

SAM Image Segmentation Graph


Mobile SAM

720p



8.40 fps


120 ms @ 30Hz

2.22 fps


240 ms @ 30Hz

2.22 fps


230 ms @ 30Hz

62.5 fps


22 ms @ 30Hz

TensorRT Graph


PeopleSemSegNet

544p



436 fps


10 ms @ 30Hz

212 fps


13 ms @ 30Hz

224 fps


13 ms @ 30Hz

587 fps


3.7 ms @ 30Hz


Documentation

Please visit the Isaac ROS Documentation to learn how to use this repository.


Packages

Latest

Update 2024-12-10: Update to be compatible with JetPack 6.1

CONTRIBUTING

Isaac ROS Contribution Rules

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

Contributors must sign-off each commit by adding a Signed-off-by: ... line to commit messages to certify that they have the right to submit the code they are contributing to the project according to the Developer Certificate of Origin (DCO).


isaac_ros_image_segmentation repository

ai gpu inference dnn nvidia image-segmentation jetson ros2 tensorrt ros2-humble

isaac_ros_image_segmentation repository

ai gpu inference dnn nvidia image-segmentation jetson ros2 tensorrt ros2-humble

isaac_ros_image_segmentation repository

ai gpu inference dnn nvidia image-segmentation jetson ros2 tensorrt ros2-humble

isaac_ros_image_segmentation repository

ai gpu inference dnn nvidia image-segmentation jetson ros2 tensorrt ros2-humble

isaac_ros_image_segmentation repository

ai gpu inference dnn nvidia image-segmentation jetson ros2 tensorrt ros2-humble

isaac_ros_image_segmentation repository

ai gpu inference dnn nvidia image-segmentation jetson ros2 tensorrt ros2-humble

isaac_ros_image_segmentation repository

ai gpu inference dnn nvidia image-segmentation jetson ros2 tensorrt ros2-humble

isaac_ros_image_segmentation repository

ai gpu inference dnn nvidia image-segmentation jetson ros2 tensorrt ros2-humble

isaac_ros_image_segmentation repository

ai gpu inference dnn nvidia image-segmentation jetson ros2 tensorrt ros2-humble

isaac_ros_image_segmentation repository

ai gpu inference dnn nvidia image-segmentation jetson ros2 tensorrt ros2-humble

isaac_ros_image_segmentation repository

ai gpu inference dnn nvidia image-segmentation jetson ros2 tensorrt ros2-humble

isaac_ros_image_segmentation repository

ai gpu inference dnn nvidia image-segmentation jetson ros2 tensorrt ros2-humble

isaac_ros_image_segmentation repository

ai gpu inference dnn nvidia image-segmentation jetson ros2 tensorrt ros2-humble

isaac_ros_image_segmentation repository

ai gpu inference dnn nvidia image-segmentation jetson ros2 tensorrt ros2-humble

isaac_ros_image_segmentation repository

ai gpu inference dnn nvidia image-segmentation jetson ros2 tensorrt ros2-humble