Nodes Browser

ComfyDeploy: How ComfyUI Depth Anything TensorRT works in ComfyUI?

What is ComfyUI Depth Anything TensorRT?

This extension provides a ComfyUI Custom Node implementation of the [a/Depth-Anything-Tensorrt](https://github.com/spacewalk01/depth-anything-tensorrt) in Python for ultra fast depth map generation

How to install it in ComfyDeploy?

Head over to the machine page

  1. Click on the "Create a new machine" button
  2. Select the Edit build steps
  3. Add a new step -> Custom Node
  4. Search for ComfyUI Depth Anything TensorRT and select it
  5. Close the build step dialig and then click on the "Save" button to rebuild the machine
<div align="center">

ComfyUI Depth Anything TensorRT

python cuda trt mit

</div> <p align="center"> <img src="assets/demo.gif" /> </p>

This repo provides a ComfyUI Custom Node implementation of the Depth-Anything-Tensorrt in Python for ultra fast depth map generation (up to 14x faster than comfyui_controlnet_aux)

⏱️ Performance (Depth Anything V1)

Note: The following results were benchmarked on FP16 engines inside ComfyUI

| Device | Model | Model Input (WxH) | Image Resolution (WxH) | FPS | | :-----: | :--------------: | :---------------: | :--------------------: | :--: | | RTX4090 | Depth-Anything-S | 518x518 | 1280x720 | 35 | | RTX4090 | Depth-Anything-B | 518x518 | 1280x720 | 33 | | RTX4090 | Depth-Anything-L | 518x518 | 1280x720 | 24 | | H100 | Depth-Anything-L | 518x518 | 1280x720 | 125+ |

⏱️ Performance (Depth Anything V2)

Note: The following results were benchmarked on FP16 engines inside ComfyUI

| Device | Model | Model Input (WxH) | Image Resolution (WxH) | FPS | | :----: | :--------------: | :---------------: | :--------------------: | :-: | | H100 | Depth-Anything-S | 518x518 | 1280x720 | 213 | | H100 | Depth-Anything-B | 518x518 | 1280x720 | 180 | | H100 | Depth-Anything-L | 518x518 | 1280x720 | 109 |

🚀 Installation

Navigate to the ComfyUI /custom_nodes directory

git clone https://github.com/yuvraj108c/ComfyUI-Depth-Anything-Tensorrt.git
cd ./ComfyUI-Depth-Anything-Tensorrt
pip install -r requirements.txt

🛠️ Building Tensorrt Engine

  1. Download one of the available onnx models:
  2. Edit model paths inside export_trt.py accordingly and run python export_trt.py
  3. Place the exported engine inside ComfyUI /models/tensorrt/depth-anything directory

☀️ Usage

  • Insert node by Right Click -> tensorrt -> Depth Anything Tensorrt
  • Choose the appropriate engine from the dropdown

🤖 Environment tested

  • Ubuntu 22.04 LTS, Cuda 12.3, Tensorrt 10.0.1, Python 3.10, RTX 4090 GPU
  • Windows (Not tested)

📝 Changelog

  • 02/07/2024

    • Add Depth Anything V2 onnx models + benchmarks
    • Merge PR for engine caching in memory
  • 26/04/2024

    • Update to tensorrt 10.0.1
    • Massive code refactor, remove trtexec, remove pycuda, show engine building progress
    • Update and standardise engine directory and node category for upcoming tensorrt custom nodes suite
  • 7/04/2024

    • Fix image resize bug during depth map post processing
  • 30/03/2024

    • Fix CUDNN_STATUS_MAPPING_ERROR
  • 27/03/2024

    • Major refactor and optimisation (remove subprocess)

👏 Credits