Skip to content

Commit 9e0f216

Browse files
Isaac ROS 3.2
1 parent 6058ca5 commit 9e0f216

33 files changed

+672
-82
lines changed

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,11 @@ This package is powered by [NVIDIA Isaac Transport for ROS (NITROS)](https://dev
4444

4545
## Performance
4646

47-
| Sample Graph<br/><br/> | Input Size<br/><br/> | AGX Orin<br/><br/> | Orin NX<br/><br/> | Orin Nano 8GB<br/><br/> | x86_64 w/ RTX 4060 Ti<br/><br/> | x86_64 w/ RTX 4090<br/><br/> |
48-
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|
49-
| [SAM Image Segmentation Graph](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/benchmarks/isaac_ros_segment_anything_benchmark/scripts/isaac_ros_segment_anything_graph.py)<br/><br/><br/>Full SAM<br/><br/> | 720p<br/><br/><br/><br/> | [2.22 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_sam_graph-agx_orin.json)<br/><br/><br/>470 ms @ 30Hz<br/><br/> | –<br/><br/><br/><br/> | –<br/><br/><br/><br/> | –<br/><br/><br/><br/> | [14.6 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_sam_graph-x86_4090.json)<br/><br/><br/>79 ms @ 30Hz<br/><br/> |
50-
| [SAM Image Segmentation Graph](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/benchmarks/isaac_ros_segment_anything_benchmark/scripts/isaac_ros_mobile_segment_anything_graph.py)<br/><br/><br/>Mobile SAM<br/><br/> | 720p<br/><br/><br/><br/> | [10.8 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_mobile_sam_graph-agx_orin.json)<br/><br/><br/>880 ms @ 30Hz<br/><br/> | [5.13 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_mobile_sam_graph-orin_nx.json)<br/><br/><br/>1500 ms @ 30Hz<br/><br/> | [2.22 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_mobile_sam_graph-orin_nano.json)<br/><br/><br/>360 ms @ 30Hz<br/><br/> | [27.0 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_mobile_sam_graph-nuc_4060ti.json)<br/><br/><br/>62 ms @ 30Hz<br/><br/> | [60.3 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_mobile_sam_graph-x86_4090.json)<br/><br/><br/>27 ms @ 30Hz<br/><br/> |
51-
| [TensorRT Graph](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/benchmarks/isaac_ros_unet_benchmark/scripts/isaac_ros_unet_graph.py)<br/><br/><br/>PeopleSemSegNet<br/><br/> | 544p<br/><br/><br/><br/> | [371 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_unet_graph-agx_orin.json)<br/><br/><br/>19 ms @ 30Hz<br/><br/> | [250 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_unet_graph-orin_nx.json)<br/><br/><br/>20 ms @ 30Hz<br/><br/> | [163 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_unet_graph-orin_nano.json)<br/><br/><br/>23 ms @ 30Hz<br/><br/> | [670 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_unet_graph-nuc_4060ti.json)<br/><br/><br/>11 ms @ 30Hz<br/><br/> | [688 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_unet_graph-x86_4090.json)<br/><br/><br/>9.3 ms @ 30Hz<br/><br/> |
47+
| Sample Graph<br/><br/> | Input Size<br/><br/> | AGX Orin<br/><br/> | Orin NX<br/><br/> | Orin Nano 8GB<br/><br/> | x86_64 w/ RTX 4090<br/><br/> |
48+
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|
49+
| [SAM Image Segmentation Graph](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/benchmarks/isaac_ros_segment_anything_benchmark/scripts/isaac_ros_segment_anything_graph.py)<br/><br/><br/>Full SAM<br/><br/> | 720p<br/><br/><br/><br/> | [2.22 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_sam_graph-agx_orin.json)<br/><br/><br/>390 ms @ 30Hz<br/><br/> | –<br/><br/><br/><br/> | –<br/><br/><br/><br/> | [16.4 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_sam_graph-x86-4090.json)<br/><br/><br/>280 ms @ 30Hz<br/><br/> |
50+
| [SAM Image Segmentation Graph](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/benchmarks/isaac_ros_segment_anything_benchmark/scripts/isaac_ros_mobile_segment_anything_graph.py)<br/><br/><br/>Mobile SAM<br/><br/> | 720p<br/><br/><br/><br/> | [8.75 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_mobile_sam_graph-agx_orin.json)<br/><br/><br/>570 ms @ 30Hz<br/><br/> | [5.34 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_mobile_sam_graph-orin_nx.json)<br/><br/><br/>1400 ms @ 30Hz<br/><br/> | [2.22 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_mobile_sam_graph-orin_nano.json)<br/><br/><br/>340 ms @ 30Hz<br/><br/> | [68.6 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_mobile_sam_graph-x86-4090.json)<br/><br/><br/>23 ms @ 30Hz<br/><br/> |
51+
| [TensorRT Graph](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/benchmarks/isaac_ros_unet_benchmark/scripts/isaac_ros_unet_graph.py)<br/><br/><br/>PeopleSemSegNet<br/><br/> | 544p<br/><br/><br/><br/> | [371 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_unet_graph-agx_orin.json)<br/><br/><br/>19 ms @ 30Hz<br/><br/> | [250 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_unet_graph-orin_nx.json)<br/><br/><br/>20 ms @ 30Hz<br/><br/> | [163 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_unet_graph-orin_nano.json)<br/><br/><br/>23 ms @ 30Hz<br/><br/> | [670 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_unet_graph-nuc_4060ti.json)<br/><br/><br/>11 ms @ 30Hz<br/><br/> |
5252

5353
---
5454

@@ -78,4 +78,4 @@ Please visit the [Isaac ROS Documentation](https://nvidia-isaac-ros.github.io/re
7878

7979
## Latest
8080

81-
Update 2024-09-26: Update for ZED compatibility
81+
Update 2024-12-10: Update to be compatible with JetPack 6.1

isaac_ros_gxf_extensions/gxf_isaac_ros_segment_anything/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,10 @@ set_target_properties(${PROJECT_NAME} PROPERTIES
6363
# Install the binary file
6464
install(TARGETS ${PROJECT_NAME} DESTINATION share/${PROJECT_NAME}/gxf/lib)
6565

66+
67+
# Embed versioning information into installed files
68+
ament_index_get_resource(ISAAC_ROS_COMMON_CMAKE_PATH isaac_ros_common_cmake_path isaac_ros_common)
69+
include("${ISAAC_ROS_COMMON_CMAKE_PATH}/isaac_ros_common-version-info.cmake")
70+
generate_version_info(${PROJECT_NAME})
71+
6672
ament_auto_package(INSTALL_TO_SHARE)

isaac_ros_gxf_extensions/gxf_isaac_ros_segment_anything/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ SPDX-License-Identifier: Apache-2.0
2121
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
2222
<package format="3">
2323
<name>gxf_isaac_ros_segment_anything</name>
24-
<version>3.1.0</version>
24+
<version>3.2.0</version>
2525
<description>Segmentation Anything extension.</description>
2626

2727
<maintainer email="[email protected]">Isaac ROS Maintainers</maintainer>

isaac_ros_gxf_extensions/gxf_isaac_ros_unet/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,5 +70,11 @@ set_target_properties(${PROJECT_NAME} PROPERTIES
7070
# Install the binary file
7171
install(TARGETS ${PROJECT_NAME} DESTINATION share/${PROJECT_NAME}/gxf/lib)
7272

73+
74+
# Embed versioning information into installed files
75+
ament_index_get_resource(ISAAC_ROS_COMMON_CMAKE_PATH isaac_ros_common_cmake_path isaac_ros_common)
76+
include("${ISAAC_ROS_COMMON_CMAKE_PATH}/isaac_ros_common-version-info.cmake")
77+
generate_version_info(${PROJECT_NAME})
78+
7379
ament_auto_package(INSTALL_TO_SHARE)
7480

isaac_ros_gxf_extensions/gxf_isaac_ros_unet/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ SPDX-License-Identifier: Apache-2.0
2121
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
2222
<package format="3">
2323
<name>gxf_isaac_ros_unet</name>
24-
<version>3.1.0</version>
24+
<version>3.2.0</version>
2525
<description>Segmentation post-processor extension.</description>
2626

2727
<maintainer email="[email protected]">Isaac ROS Maintainers</maintainer>

isaac_ros_peoplesemseg_models_install/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,10 @@ install_isaac_ros_asset(install_peoplesemsegnet_shuffleseg)
2929
install(PROGRAMS asset_scripts/install_peoplesemsegnet_shuffleseg.sh DESTINATION lib/${PROJECT_NAME})
3030
install(PROGRAMS asset_scripts/install_peoplesemsegnet_vanilla.sh DESTINATION lib/${PROJECT_NAME})
3131

32+
33+
# Embed versioning information into installed files
34+
ament_index_get_resource(ISAAC_ROS_COMMON_CMAKE_PATH isaac_ros_common_cmake_path isaac_ros_common)
35+
include("${ISAAC_ROS_COMMON_CMAKE_PATH}/isaac_ros_common-version-info.cmake")
36+
generate_version_info(${PROJECT_NAME})
37+
3238
ament_auto_package(INSTALL_TO_SHARE)

isaac_ros_peoplesemseg_models_install/asset_scripts/install_peoplesemsegnet_shuffleseg.sh

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@
77
# distribution of this software and related documentation without an express
88
# license agreement from NVIDIA CORPORATION is strictly prohibited.
99

10-
# Download and tao-convert ESS models.
10+
# Download and TRT-compile PeopleSemSeg-ShuffleSeg models.
1111
# * Models will be stored in the isaac_ros_assets dir
1212
# * The script must be called with the --eula argument prior to downloading.
1313

1414
set -e
1515

16-
ASSET_NAME="deployable_shuffleseg_unet_amr_v1.0"
17-
EULA_URL="https://catalog.ngc.nvidia.com/orgs/nvidia/teams/tao/models/peoplesemsegnet_amr"
16+
ASSET_NAME="optimized_deployable_shuffleseg_unet_amr_v1.0"
17+
EULA_URL="https://catalog.ngc.nvidia.com/orgs/nvidia/teams/isaac/models/optimized-peoplesemseg-amr"
1818
ASSET_DIR="${ISAAC_ROS_WS}/isaac_ros_assets/models/peoplesemsegnet/${ASSET_NAME}"
1919
ASSET_INSTALL_PATHS="${ASSET_DIR}/1/model.plan"
20-
MODEL_URL="https://api.ngc.nvidia.com/v2/models/org/nvidia/team/tao/peoplesemsegnet_amr/deployable_v1.1/files?redirect=true&path=peoplesemsegnet_amr_rel.onnx"
20+
MODEL_URL="https://api.ngc.nvidia.com/v2/models/org/nvidia/team/isaac/optimized-peoplesemseg-amr/v1.0/files?redirect=true&path=model.onnx"
2121

2222
source "isaac_ros_asset_eula.sh"
2323

@@ -27,9 +27,9 @@ wget "${MODEL_URL}" -O "${ASSET_DIR}/model.onnx"
2727

2828
echo "Converting PeopleSemSegnet shuffleseg amr onnx file to plan file."
2929
/usr/src/tensorrt/bin/trtexec \
30-
--maxShapes="input_2:0":1x3x544x960 \
31-
--minShapes="input_2:0":1x3x544x960 \
32-
--optShapes="input_2:0":1x3x544x960 \
30+
--maxShapes="input_2":1x544x960x3 \
31+
--minShapes="input_2":1x544x960x3 \
32+
--optShapes="input_2":1x544x960x3 \
3333
--fp16 \
3434
--saveEngine="${ASSET_INSTALL_PATHS}" \
3535
--onnx="${ASSET_DIR}/model.onnx"
@@ -41,9 +41,9 @@ platform: "tensorrt_plan"
4141
max_batch_size: 0
4242
input [
4343
{
44-
name: "input_2:0"
44+
name: "input_2"
4545
data_type: TYPE_FP32
46-
dims: [ 1, 3, 544, 960 ]
46+
dims: [ 1, 544, 960, 3 ]
4747
}
4848
]
4949
output [

isaac_ros_peoplesemseg_models_install/asset_scripts/install_peoplesemsegnet_vanilla.sh

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,33 +7,33 @@
77
# distribution of this software and related documentation without an express
88
# license agreement from NVIDIA CORPORATION is strictly prohibited.
99

10-
# Download and tao-convert ESS models.
10+
# Download and TRT-compile PeopleSemSeg-Vanilla models.
1111
# * Models will be stored in the isaac_ros_assets dir
1212
# * The script must be called with the --eula argument prior to downloading.
1313

1414
set -e
1515

16-
ASSET_NAME="deployable_quantized_vanilla_unet_v2.0"
16+
ASSET_NAME="deployable_quantized_vanilla_unet_onnx_v2.0"
1717
EULA_URL="https://catalog.ngc.nvidia.com/orgs/nvidia/teams/tao/models/peoplesemsegnet"
1818
ASSET_DIR="${ISAAC_ROS_WS}/isaac_ros_assets/models/peoplesemsegnet/${ASSET_NAME}"
1919
ASSET_INSTALL_PATHS="${ASSET_DIR}/1/model.plan"
20-
MODEL_URL="https://api.ngc.nvidia.com/v2/models/nvidia/tao/peoplesemsegnet/versions/deployable_quantized_vanilla_unet_v2.0/files/peoplesemsegnet_vanilla_unet_dynamic_etlt_int8_fp16.etlt"
20+
MODEL_URL="https://api.ngc.nvidia.com/v2/models/org/nvidia/team/tao/peoplesemsegnet/deployable_quantized_vanilla_unet_onnx_v2.0/files?redirect=true&path=peoplesemsegnet_vanilla_unet_dynamic_etlt_int8_fp16.onnx"
2121

2222
source "isaac_ros_asset_eula.sh"
2323

2424
mkdir -p $(dirname "$ASSET_INSTALL_PATHS")
2525

26-
wget "${MODEL_URL}" -O "${ASSET_DIR}/model.etlt"
26+
wget "${MODEL_URL}" -O "${ASSET_DIR}/model.onnx"
2727

28-
echo "Converting PeopleSemSegnet etlt file to plan file."
29-
/opt/nvidia/tao/tao-converter \
30-
-k tlt_encode \
31-
-d 3,544,960 \
32-
-p input_1:0,1x3x544x960,1x3x544x960,1x3x544x960 \
33-
-t fp16 \
34-
-e "${ASSET_INSTALL_PATHS}" \
35-
-o argmax_1 \
36-
"${ASSET_DIR}/model.etlt"
28+
echo "Converting PeopleSemSegnet onnx file to plan file."
29+
/usr/src/tensorrt/bin/trtexec \
30+
--maxShapes="input_1:0":1x3x544x960 \
31+
--minShapes="input_1:0":1x3x544x960 \
32+
--optShapes="input_1:0":1x3x544x960 \
33+
--onnx="${ASSET_DIR}/model.onnx" \
34+
--saveEngine="${ASSET_DIR}/1/model.plan" \
35+
--fp16 \
36+
--skipInference
3737

3838
# Create config.pbtxt
3939
config_file_text=$(

isaac_ros_peoplesemseg_models_install/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ SPDX-License-Identifier: Apache-2.0
2121
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
2222
<package format="3">
2323
<name>isaac_ros_peoplesemseg_models_install</name>
24-
<version>3.1.0</version>
24+
<version>3.2.0</version>
2525
<description>Scripts for installing people segmentation models</description>
2626

2727
<maintainer email="[email protected]">Isaac ROS Maintainers</maintainer>

isaac_ros_segformer/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,10 @@ if(BUILD_TESTING)
4040
add_launch_test(test/isaac_ros_segformer_pol_test.py TIMEOUT "300")
4141
endif()
4242

43+
44+
# Embed versioning information into installed files
45+
ament_index_get_resource(ISAAC_ROS_COMMON_CMAKE_PATH isaac_ros_common_cmake_path isaac_ros_common)
46+
include("${ISAAC_ROS_COMMON_CMAKE_PATH}/isaac_ros_common-version-info.cmake")
47+
generate_version_info(${PROJECT_NAME})
48+
4349
ament_auto_package(INSTALL_TO_SHARE launch)

0 commit comments

Comments
 (0)