Using DOPE at Different Image Resolutions
Overview
The DOPE network architecture, as outlined in the original paper, can receive input images of arbitrary size and subsequently produce output belief maps of the corresponding dimensions.
However, the ONNX format used to run this network on Triton or TensorRT
is not as flexible, and an ONNX-exported model does NOT support
arbitrary image sizes at inference time. Instead, the desired input
image dimensions must be explicitly specified when preparing the ONNX
file using the dope_converter.py
script, as referenced in the
quickstart.
Tutorial Walkthrough
Follow steps 1-6 of the main DOPE quickstart.
At step 7, run the
dope_converter.py
script with the two additional argumentsrow
andcol
specifying the desired input image size:python3 /workspaces/isaac_ros-dev/src/isaac_ros_pose_estimation/isaac_ros_dope/scripts/dope_converter.py --format onnx --input /tmp/models/Ketchup.pth --row 1080 --col 1920
Proceed through steps 8-9.
At step 10, launch the ROS 2 launch file with two additional arguments
network_image_height
andnetwork_image_width
specifying the desired input image size:ros2 launch isaac_ros_dope isaac_ros_dope_tensor_rt.launch.py model_file_path:=/tmp/models/Ketchup.onnx engine_file_path:=/tmp/models/Ketchup.plan network_image_height:=1080 network_image_width:=1920 input_image_height:=1080 input_image_width:=1920
Continue with the rest of the quickstart. You should now be able to detect poses in images of your desired size.