@@ -9,7 +9,7 @@ NVIDIA-accelerated AprilTag detection and pose estimation.
99[ Isaac ROS AprilTag] ( https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_apriltag ) contains a ROS 2 package for detection of
1010[ AprilTags] ( https://april.eecs.umich.edu/software/apriltag ) ,
1111a type of fiducial marker that provides a point of reference or measure.
12- AprilTag detections are GPU -accelerated for high performance.
12+ AprilTag detections are NVIDIA -accelerated for high performance.
1313
1414<div align =" center " ><a class =" reference internal image-reference " href =" https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/main/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_apriltag/isaac_ros_apriltag_nodegraph.png/ " ><img alt =" image " src =" https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/main/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_apriltag/isaac_ros_apriltag_nodegraph.png/ " width =" 800px " /></a ></div >
1515
@@ -24,10 +24,10 @@ pixels are required to perform an AprilTag detection and classification.
2424For example, an 8mp input image of 3840×2160 may be much larger than
2525necessary and a 4:1 downscale to 1920x1080 could make more efficient
2626use of compute resources and satisfy the required detection distance of
27- the application. Each of the green nodes in the above diagram is GPU
27+ the application. Each of the green nodes in the above diagram is NVIDIA
2828accelerated, allowing for a high-performance compute graph from Argus
2929Camera to ApriTag. For USB and Ethernet cameras, the graph is
30- accelerated from Rectify through AprilTag
30+ accelerated from Rectify through AprilTag detection.
3131
3232<div align =" center " ><a class =" reference internal image-reference " href =" https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/main/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_apriltag/apriltagdetection_message_illustration.png/ " ><img alt =" image " src =" https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/main/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_apriltag/apriltagdetection_message_illustration.png/ " width =" 700px " /></a ></div >
3333
@@ -38,7 +38,11 @@ four corners ((x0, y0), (x1, y1), (x2, y2), (x3, y3)) and center (x, y)
3838of the input image, and the pose of the AprilTag.
3939
4040> [ !Note]
41- > This package is a GPU-accelerated drop-in replacement for
41+ > This package provides the option through the ` backend ` parameter to leverage either the GPU or
42+ > CPU on all NVIDIA-powered platforms or PVA on Jetson devices for AprilTag detection.
43+
44+ > [ !Note]
45+ > This package is a NVIDIA-accelerated drop-in replacement for
4246> the [ CPU version of ROS
4347> AprilTag] ( https://github.com/christianrauch/apriltag_ros )
4448
@@ -53,10 +57,10 @@ This package is powered by [NVIDIA Isaac Transport for ROS (NITROS)](https://dev
5357
5458## Performance
5559
56- | 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/> |
57- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|
58- | [AprilTag Node](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/benchmarks/isaac_ros_apriltag_benchmark/scripts/isaac_ros_apriltag_node.py)<br/><br/><br/><br/> | 720p<br/><br/><br/><br/> | [244 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_apriltag_node-agx_orin.json)<br/><br/><br/>7.3 ms @ 30Hz<br/><br/> | [114 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_apriltag_node-orin_nx.json)<br/><br/><br/>12 ms @ 30Hz<br/><br/> | [79.2 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_apriltag_node-orin_nano.json)<br/><br/><br/>18 ms @ 30Hz<br/><br/> | [596 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_apriltag_node-nuc_4060ti.json)<br/><br/><br/>2.4 ms @ 30Hz<br/><br/> | [596 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_apriltag_node-x86_4090.json)<br/><br/><br/>2.1 ms @ 30Hz<br/><br/> |
59- | [AprilTag Graph](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/benchmarks/isaac_ros_apriltag_benchmark/scripts/isaac_ros_apriltag_graph.py)<br/><br/><br/><br/> | 720p<br/><br/><br/><br/> | [241 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_apriltag_graph-agx_orin.json)<br/><br/><br/>9.5 ms @ 30Hz<br/><br/> | [109 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_apriltag_graph-orin_nx.json)<br/><br/><br/>15 ms @ 30Hz<br/><br/> | [74.3 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_apriltag_graph-orin_nano.json)<br/><br/><br/>21 ms @ 30Hz<br/><br/> | [596 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_apriltag_graph-nuc_4060ti.json)<br/><br/><br/>3.4 ms @ 30Hz<br/><br/> | [596 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_apriltag_graph-x86_4090.json)<br/><br/><br/>2.9 ms @ 30Hz<br/><br/> |
60+ | 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 /> |
61+ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| --------------------------| -------------------------------------------------------------------------------------------------------------------------------------------------------------------| -----------------------------------------------------------------------------------------------------------------------------------------------------------------| --------------------------------------------------------------------------------------------------------------------------------------------------------------------| -------------------------------------------------------------------------------------------------------------------------------------------------------------------|
62+ | [ AprilTag Node] ( https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/benchmarks/isaac_ros_apriltag_benchmark/scripts/isaac_ros_apriltag_node.py ) <br /><br /><br /><br /> | 720p<br /><br /><br /><br /> | [ 249 fps] ( https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_apriltag_node-agx_orin.json ) <br /><br /><br />4.5 ms @ 30Hz<br /><br /> | [ 116 fps] ( https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_apriltag_node-orin_nx.json ) <br /><br /><br />9.3 ms @ 30Hz<br /><br /> | [ 80.7 fps] ( https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_apriltag_node-orin_nano.json ) <br /><br /><br />14 ms @ 30Hz<br /><br /> | [ 596 fps] ( https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_apriltag_node-x86-4090.json ) <br /><br /><br />0.97 ms @ 30Hz<br /><br /> |
63+ | [ AprilTag Graph] ( https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/benchmarks/isaac_ros_apriltag_benchmark/scripts/isaac_ros_apriltag_graph.py ) <br /><br /><br /><br /> | 720p<br /><br /><br /><br /> | [ 246 fps] ( https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_apriltag_graph-agx_orin.json ) <br /><br /><br />6.3 ms @ 30Hz<br /><br /> | [ 111 fps] ( https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_apriltag_graph-orin_nx.json ) <br /><br /><br />12 ms @ 30Hz<br /><br /> | [ 77.5 fps] ( https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_apriltag_graph-orin_nano.json ) <br /><br /><br />20 ms @ 30Hz<br /><br /> | [ 596 fps] ( https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_apriltag_graph-x86-4090.json ) <br /><br /><br />1.6 ms @ 30Hz<br /><br /> |
6064
6165---
6266
@@ -76,4 +80,4 @@ Please visit the [Isaac ROS Documentation](https://nvidia-isaac-ros.github.io/re
7680
7781## Latest
7882
79- Update 2024-09-26: Update for ZED compatibility
83+ Update 2024-12-10: Added PVA and CPU backends for detector with support for new tag families
0 commit comments