Skip to content

Commit

Permalink
Merge pull request #24 from NVIDIA-ISAAC-ROS/release-dp3.1
Browse files Browse the repository at this point in the history
Isaac ROS 0.31.0 (DP3.1)
  • Loading branch information
hemalshahNV authored May 26, 2023
2 parents 94059d4 + 6fe28fb commit 8b461fc
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 18 deletions.
10 changes: 6 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,10 @@ This package is powered by [NVIDIA Isaac Transport for ROS (NITROS)](https://dev

The performance results of benchmarking the prepared pipelines in this package on supported platforms are below:

| Pipeline | AGX Orin | Orin Nano | x86_64 w/ RTX 3060 Ti |
| -------------------------- | ------------------ | ---------------- | --------------------- |
| Isaac ROS Detectnet (544p) | 225 fps <br> 7.7ms | 72 fps <br> 18ms | 450 fps <br> 3.2ms |
| Sample Graph | Input Size | AGX Orin | Orin NX | Orin Nano 8GB | x86_64 w/ RTX 4060 Ti |
| --------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- |
| [DetectNet Object Detection Graph](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/scripts//isaac_ros_detectnet_graph.py) | 544p | [252 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_detectnet_graph-agx_orin.json)<br>8.7 ms | [110 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_detectnet_graph-orin_nx.json)<br>13 ms | [77.9 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_detectnet_graph-orin_nano_emul.json)<br>18 ms | -- |


> **Note**: These numbers are reported with defaults parameter values found in [params.yaml](./isaac_ros_detectnet/config/params.yaml).
Expand Down Expand Up @@ -81,7 +82,7 @@ To run the DetectNet object detection inference, the following ROS 2 nodes shoul

## Latest Update

Update 2023-04-05: Source available GXF extensions
Update 2023-05-25: Performance improvements.

## Supported Platforms

Expand Down Expand Up @@ -249,6 +250,7 @@ For solutions to problems with using DNN models, please check [here](https://git

| Date | Changes |
| ---------- | ------------------------------------------------------------------------------------- |
| 2023-05-25 | Performance improvements |
| 2023-04-05 | Source available GXF extensions |
| 2022-10-19 | Updated OSS licensing |
| 2022-08-31 | Update to use NITROS for improved performance and to be compatible with JetPack 5.0.2 |
Expand Down
25 changes: 14 additions & 11 deletions isaac_ros_detectnet/config/detectnet_node.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
%YAML 1.2
# SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES
# Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# Copyright (c) 2022-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -58,35 +58,38 @@ components:
transmitter: detections_out
min_size: 1
---
name: vault
name: sink
components:
- name: signal
type: nvidia::gxf::DoubleBufferReceiver
parameters:
capacity: 1
capacity: 2
policy: 0
- type: nvidia::gxf::MessageAvailableSchedulingTerm
parameters:
receiver: signal
min_size: 1
- name: vault
type: nvidia::gxf::Vault
- name: sink
type: nvidia::isaac_ros::MessageRelay
parameters:
source: signal
max_waiting_count: 1
drop_waiting: false
---
components:
- name: edge0
type: nvidia::gxf::Connection
parameters:
source: detectnet_decoder/detections_out
target: vault/signal
target: sink/signal
---
components:
- type: nvidia::gxf::GreedyScheduler
- name: clock
type: nvidia::gxf::RealtimeClock
- type: nvidia::gxf::MultiThreadScheduler
parameters:
clock: clock
stop_on_deadlock: false
- name: clock
type: nvidia::gxf::RealtimeClock
check_recession_period_ms: 1
worker_thread_number: 2
- type: nvidia::gxf::JobStatistics
parameters:
clock: clock
1 change: 1 addition & 0 deletions isaac_ros_detectnet/gxf/detectnet/detectnet_decoder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,7 @@ gxf_result_t DetectnetDecoder::tick() noexcept
return GXF_FAILURE;
}

// TODO(ashwinvk): Do not copy data to host and perform decoding using cuda
// copy memory to host
float cov_tensor_arr[cov_tensor->size() / sizeof(float)]; // since data in tensor is kFloat32
const cudaError_t cuda_error_cov_tensor = cudaMemcpy(
Expand Down
2 changes: 1 addition & 1 deletion isaac_ros_detectnet/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ SPDX-License-Identifier: Apache-2.0
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>isaac_ros_detectnet</name>
<version>0.30.0</version>
<version>0.31.0</version>
<description>DetectNet model processing</description>

<maintainer email="[email protected]">Ashwin Varghese Kuruttukulam</maintainer>
Expand Down
4 changes: 2 additions & 2 deletions isaac_ros_detectnet/src/detectnet_decoder_node.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES
// Copyright (c) 2021-2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
// Copyright (c) 2021-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -50,7 +50,7 @@ using nvidia::gxf::optimizer::GraphIOGroupSupportedDataTypesInfoList;
#define INPUT_DEFAULT_TENSOR_FORMAT_TENSORLIST "nitros_tensor_list_nchw_rgb_f32"
#define INPUT_TOPIC_NAME_TENSORLIST "tensor_sub"

#define OUTPUT_COMPONENT_KEY_DETECTIONS "vault/vault"
#define OUTPUT_COMPONENT_KEY_DETECTIONS "sink/sink"
#define OUTPUT_DEFAULT_TENSOR_FORMAT_DETECTIONS "nitros_detection2_d_array"
#define OUTPUT_TOPIC_NAME_TAG_DETECTIONS "detectnet/detections"

Expand Down

0 comments on commit 8b461fc

Please sign in to comment.