ControlNet-Canny: Optimized for Qualcomm Devices

On-device, high-resolution image synthesis from text and image prompts. ControlNet guides Stable-diffusion with provided input image to generate accurate images from given input prompt.

This is based on the implementation of ControlNet-Canny found here. This repository contains pre-exported model files optimized for Qualcomm® devices. You can use the Qualcomm® AI Hub Models library to export with custom configurations. More details on model performance across various devices, can be found here.

Qualcomm AI Hub Models uses Qualcomm AI Hub Workbench to compile, profile, and evaluate this model. Sign up to run these models on a hosted Qualcomm® device.

Getting Started

There are two ways to deploy this model on your device:

Option 1: Download Pre-Exported Models

Below are pre-exported model assets ready for deployment.

Runtime Precision Chipset SDK Versions Download
PRECOMPILED_QNN_ONNX w8a16 Snapdragon® X2 Elite QAIRT 2.45, ONNX Runtime 1.27.1 Download
PRECOMPILED_QNN_ONNX w8a16 Snapdragon® X Elite QAIRT 2.45, ONNX Runtime 1.27.1 Download
PRECOMPILED_QNN_ONNX w8a16 Snapdragon® 8 Gen 3 Mobile QAIRT 2.45, ONNX Runtime 1.27.1 Download
PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ IQ-8275 QAIRT 2.45 Download
PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ QCS8550 (Proxy) QAIRT 2.45, ONNX Runtime 1.27.1 Download
PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ Q-6690 QAIRT 2.45, ONNX Runtime 1.27.1 Download
PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ IQ-9075 QAIRT 2.45, ONNX Runtime 1.27.1 Download
PRECOMPILED_QNN_ONNX w8a16 Snapdragon® 7 Gen 4 Mobile QAIRT 2.45, ONNX Runtime 1.27.1 Download
PRECOMPILED_QNN_ONNX w8a16 Snapdragon® 8 Elite Mobile QAIRT 2.45, ONNX Runtime 1.27.1 Download
PRECOMPILED_QNN_ONNX w8a16 Snapdragon® 8 Elite Gen 5 Mobile QAIRT 2.45, ONNX Runtime 1.27.1 Download
QNN_CONTEXT_BINARY w8a16 Snapdragon® X2 Elite QAIRT 2.45 Download
QNN_CONTEXT_BINARY w8a16 Snapdragon® X Elite QAIRT 2.45 Download
QNN_CONTEXT_BINARY w8a16 Snapdragon® 8 Gen 3 Mobile QAIRT 2.45 Download
QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ IQ-8275 QAIRT 2.45 Download
QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ QCS8550 (Proxy) QAIRT 2.45 Download
QNN_CONTEXT_BINARY w8a16 Qualcomm® SA8775P QAIRT 2.45 Download
QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ Q-6690 QAIRT 2.45 Download
QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ IQ-9075 QAIRT 2.45 Download
QNN_CONTEXT_BINARY w8a16 Qualcomm® SA7255P QAIRT 2.45 Download
QNN_CONTEXT_BINARY w8a16 Snapdragon® 7 Gen 4 Mobile QAIRT 2.45 Download
QNN_CONTEXT_BINARY w8a16 Snapdragon® 8 Elite Mobile QAIRT 2.45 Download
QNN_CONTEXT_BINARY w8a16 Snapdragon® 8 Elite Gen 5 Mobile QAIRT 2.45 Download

For more device-specific assets and performance metrics, visit ControlNet-Canny on Qualcomm® AI Hub.

Option 2: Export with Custom Configurations

Use the Qualcomm® AI Hub Models Python library to compile and export the model with your own:

  • Custom weights (e.g., fine-tuned checkpoints)
  • Custom input shapes
  • Target device and runtime configurations

This option is ideal if you need to customize the model beyond the default configuration provided here.

See our repository for ControlNet-Canny on GitHub for usage instructions.

Model Details

Model Type: Model_use_case.image_generation

Model Stats:

  • Conditioning Input: Canny-Edge
  • ControlNet Number of parameters: 361M
  • Input: Text prompt and input image as a reference
  • Model size: 1.4GB
  • Text Encoder Number of parameters: 340M
  • UNet Number of parameters: 865M
  • VAE Decoder Number of parameters: 83M

Performance Summary

Model Runtime Precision Chipset Inference Time (ms) Peak Memory Range (MB) Primary Compute Unit
controlnet PRECOMPILED_QNN_ONNX w8a16 Snapdragon® X2 Elite 29.189 ms 33 - 33 MB NPU
controlnet PRECOMPILED_QNN_ONNX w8a16 Snapdragon® X Elite 70.93 ms 352 - 352 MB NPU
controlnet PRECOMPILED_QNN_ONNX w8a16 Snapdragon® 8 Gen 3 Mobile 58.239 ms 34 - 46 MB NPU
controlnet PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ QCS8550 (Proxy) 74.699 ms 30 - 33 MB NPU
controlnet PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ IQ-9075 85.892 ms 30 - 34 MB NPU
controlnet PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ IQ-X7181 70.93 ms 352 - 352 MB NPU
controlnet PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ Q-6690 1174.109 ms 2 - 13 MB NPU
controlnet PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ Q-7790 120.955 ms 32 - 42 MB NPU
controlnet PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ Q-8750 44.558 ms 31 - 43 MB NPU
controlnet PRECOMPILED_QNN_ONNX w8a16 Snapdragon® 8 Elite Mobile 44.558 ms 31 - 43 MB NPU
controlnet PRECOMPILED_QNN_ONNX w8a16 Snapdragon® 8 Elite Gen 5 Mobile 28.394 ms 31 - 42 MB NPU
controlnet PRECOMPILED_QNN_ONNX w8a16 Snapdragon® 7 Gen 4 Mobile 120.955 ms 32 - 42 MB NPU
controlnet QNN_CONTEXT_BINARY w8a16 Snapdragon® X2 Elite 29.604 ms 2 - 2 MB NPU
controlnet QNN_CONTEXT_BINARY w8a16 Snapdragon® X Elite 71.032 ms 2 - 2 MB NPU
controlnet QNN_CONTEXT_BINARY w8a16 Snapdragon® 8 Gen 3 Mobile 57.433 ms 4 - 12 MB NPU
controlnet QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ IQ-8275 138.028 ms 2 - 11 MB NPU
controlnet QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ QCS8550 (Proxy) 74.299 ms 2 - 4 MB NPU
controlnet QNN_CONTEXT_BINARY w8a16 Qualcomm® SA8775P 70.339 ms 2 - 11 MB NPU
controlnet QNN_CONTEXT_BINARY w8a16 Qualcomm® SA8650P 70.339 ms 2 - 11 MB NPU
controlnet QNN_CONTEXT_BINARY w8a16 Qualcomm® SA8255P 70.339 ms 2 - 11 MB NPU
controlnet QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ IQ-9075 70.711 ms 2 - 18 MB NPU
controlnet QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ IQ-X7181 71.032 ms 2 - 2 MB NPU
controlnet QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ Q-6690 979.826 ms 2 - 8 MB NPU
controlnet QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ Q-7790 119.699 ms 2 - 9 MB NPU
controlnet QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ Q-8750 43.924 ms 2 - 15 MB NPU
controlnet QNN_CONTEXT_BINARY w8a16 Qualcomm® SA7255P 138.028 ms 2 - 11 MB NPU
controlnet QNN_CONTEXT_BINARY w8a16 Snapdragon® 8 Elite Mobile 43.924 ms 2 - 15 MB NPU
controlnet QNN_CONTEXT_BINARY w8a16 Snapdragon® 8 Elite Gen 5 Mobile 28.433 ms 2 - 10 MB NPU
controlnet QNN_CONTEXT_BINARY w8a16 Snapdragon® 7 Gen 4 Mobile 119.699 ms 2 - 9 MB NPU
text_encoder PRECOMPILED_QNN_ONNX w8a16 Snapdragon® X2 Elite 1.514 ms 1 - 1 MB NPU
text_encoder PRECOMPILED_QNN_ONNX w8a16 Snapdragon® X Elite 3.431 ms 156 - 156 MB NPU
text_encoder PRECOMPILED_QNN_ONNX w8a16 Snapdragon® 8 Gen 3 Mobile 2.308 ms 0 - 7 MB NPU
text_encoder PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ QCS8550 (Proxy) 3.254 ms 0 - 161 MB NPU
text_encoder PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ IQ-9075 3.343 ms 0 - 3 MB NPU
text_encoder PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ IQ-X7181 3.431 ms 156 - 156 MB NPU
text_encoder PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ Q-6690 22.162 ms 0 - 10 MB NPU
text_encoder PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ Q-7790 3.681 ms 0 - 6 MB NPU
text_encoder PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ Q-8750 1.747 ms 0 - 12 MB NPU
text_encoder PRECOMPILED_QNN_ONNX w8a16 Snapdragon® 8 Elite Mobile 1.747 ms 0 - 12 MB NPU
text_encoder PRECOMPILED_QNN_ONNX w8a16 Snapdragon® 8 Elite Gen 5 Mobile 1.546 ms 0 - 7 MB NPU
text_encoder PRECOMPILED_QNN_ONNX w8a16 Snapdragon® 7 Gen 4 Mobile 3.681 ms 0 - 6 MB NPU
text_encoder QNN_CONTEXT_BINARY w8a16 Snapdragon® X2 Elite 1.741 ms 0 - 0 MB NPU
text_encoder QNN_CONTEXT_BINARY w8a16 Snapdragon® X Elite 3.605 ms 1 - 1 MB NPU
text_encoder QNN_CONTEXT_BINARY w8a16 Snapdragon® 8 Gen 3 Mobile 2.315 ms 0 - 7 MB NPU
text_encoder QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ IQ-8275 7.551 ms 0 - 10 MB NPU
text_encoder QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ QCS8550 (Proxy) 3.241 ms 0 - 1 MB NPU
text_encoder QNN_CONTEXT_BINARY w8a16 Qualcomm® SA8775P 3.508 ms 0 - 10 MB NPU
text_encoder QNN_CONTEXT_BINARY w8a16 Qualcomm® SA8650P 3.508 ms 0 - 10 MB NPU
text_encoder QNN_CONTEXT_BINARY w8a16 Qualcomm® SA8255P 3.508 ms 0 - 10 MB NPU
text_encoder QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ IQ-9075 4.586 ms 2 - 4 MB NPU
text_encoder QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ IQ-X7181 3.605 ms 1 - 1 MB NPU
text_encoder QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ Q-6690 22.077 ms 0 - 6 MB NPU
text_encoder QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ Q-7790 3.671 ms 0 - 6 MB NPU
text_encoder QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ Q-8750 1.754 ms 0 - 9 MB NPU
text_encoder QNN_CONTEXT_BINARY w8a16 Qualcomm® SA7255P 7.551 ms 0 - 10 MB NPU
text_encoder QNN_CONTEXT_BINARY w8a16 Snapdragon® 8 Elite Mobile 1.754 ms 0 - 9 MB NPU
text_encoder QNN_CONTEXT_BINARY w8a16 Snapdragon® 8 Elite Gen 5 Mobile 1.545 ms 0 - 8 MB NPU
text_encoder QNN_CONTEXT_BINARY w8a16 Snapdragon® 7 Gen 4 Mobile 3.671 ms 0 - 6 MB NPU
unet PRECOMPILED_QNN_ONNX w8a16 Snapdragon® X2 Elite 46.74 ms 13 - 13 MB NPU
unet PRECOMPILED_QNN_ONNX w8a16 Snapdragon® X Elite 114.294 ms 829 - 829 MB NPU
unet PRECOMPILED_QNN_ONNX w8a16 Snapdragon® 8 Gen 3 Mobile 82.09 ms 13 - 23 MB NPU
unet PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ QCS8550 (Proxy) 113.383 ms 0 - 882 MB NPU
unet PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ IQ-9075 106.109 ms 12 - 28 MB NPU
unet PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ IQ-X7181 114.294 ms 829 - 829 MB NPU
unet PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ Q-6690 2286.748 ms 14 - 24 MB NPU
unet PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ Q-7790 179.31 ms 13 - 24 MB NPU
unet PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ Q-8750 63.643 ms 6 - 17 MB NPU
unet PRECOMPILED_QNN_ONNX w8a16 Snapdragon® 8 Elite Mobile 63.643 ms 6 - 17 MB NPU
unet PRECOMPILED_QNN_ONNX w8a16 Snapdragon® 8 Elite Gen 5 Mobile 48.604 ms 6 - 17 MB NPU
unet PRECOMPILED_QNN_ONNX w8a16 Snapdragon® 7 Gen 4 Mobile 179.31 ms 13 - 24 MB NPU
unet QNN_CONTEXT_BINARY w8a16 Snapdragon® X2 Elite 46.717 ms 13 - 13 MB NPU
unet QNN_CONTEXT_BINARY w8a16 Snapdragon® X Elite 114.185 ms 13 - 13 MB NPU
unet QNN_CONTEXT_BINARY w8a16 Snapdragon® 8 Gen 3 Mobile 80.875 ms 13 - 19 MB NPU
unet QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ IQ-8275 266.569 ms 8 - 17 MB NPU
unet QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ QCS8550 (Proxy) 111.759 ms 13 - 16 MB NPU
unet QNN_CONTEXT_BINARY w8a16 Qualcomm® SA8775P 107.098 ms 5 - 14 MB NPU
unet QNN_CONTEXT_BINARY w8a16 Qualcomm® SA8650P 107.098 ms 5 - 14 MB NPU
unet QNN_CONTEXT_BINARY w8a16 Qualcomm® SA8255P 107.098 ms 5 - 14 MB NPU
unet QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ IQ-9075 105.662 ms 11 - 25 MB NPU
unet QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ IQ-X7181 114.185 ms 13 - 13 MB NPU
unet QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ Q-6690 2038.039 ms 3 - 10 MB NPU
unet QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ Q-7790 178.068 ms 11 - 17 MB NPU
unet QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ Q-8750 61.657 ms 6 - 19 MB NPU
unet QNN_CONTEXT_BINARY w8a16 Qualcomm® SA7255P 266.569 ms 8 - 17 MB NPU
unet QNN_CONTEXT_BINARY w8a16 Snapdragon® 8 Elite Mobile 61.657 ms 6 - 19 MB NPU
unet QNN_CONTEXT_BINARY w8a16 Snapdragon® 8 Elite Gen 5 Mobile 46.255 ms 6 - 14 MB NPU
unet QNN_CONTEXT_BINARY w8a16 Snapdragon® 7 Gen 4 Mobile 178.068 ms 11 - 17 MB NPU
vae PRECOMPILED_QNN_ONNX w8a16 Snapdragon® X2 Elite 127.162 ms 4 - 4 MB NPU
vae PRECOMPILED_QNN_ONNX w8a16 Snapdragon® X Elite 258.689 ms 62 - 62 MB NPU
vae PRECOMPILED_QNN_ONNX w8a16 Snapdragon® 8 Gen 3 Mobile 195.689 ms 3 - 11 MB NPU
vae PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ QCS8550 (Proxy) 266.045 ms 4 - 5 MB NPU
vae PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ IQ-9075 240.568 ms 3 - 6 MB NPU
vae PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ IQ-X7181 258.689 ms 62 - 62 MB NPU
vae PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ Q-6690 6251.524 ms 1 - 7 MB NPU
vae PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ Q-7790 506.185 ms 2 - 8 MB NPU
vae PRECOMPILED_QNN_ONNX w8a16 Qualcomm® Dragonwing™ Q-8750 172.138 ms 4 - 15 MB NPU
vae PRECOMPILED_QNN_ONNX w8a16 Snapdragon® 8 Elite Mobile 172.138 ms 4 - 15 MB NPU
vae PRECOMPILED_QNN_ONNX w8a16 Snapdragon® 8 Elite Gen 5 Mobile 120.04 ms 3 - 10 MB NPU
vae PRECOMPILED_QNN_ONNX w8a16 Snapdragon® 7 Gen 4 Mobile 506.185 ms 2 - 8 MB NPU
vae QNN_CONTEXT_BINARY w8a16 Snapdragon® X2 Elite 127.358 ms 0 - 0 MB NPU
vae QNN_CONTEXT_BINARY w8a16 Snapdragon® X Elite 258.867 ms 0 - 0 MB NPU
vae QNN_CONTEXT_BINARY w8a16 Snapdragon® 8 Gen 3 Mobile 195.855 ms 1 - 8 MB NPU
vae QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ IQ-8275 711.895 ms 0 - 9 MB NPU
vae QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ QCS8550 (Proxy) 261.497 ms 0 - 2 MB NPU
vae QNN_CONTEXT_BINARY w8a16 Qualcomm® SA8775P 243.871 ms 0 - 10 MB NPU
vae QNN_CONTEXT_BINARY w8a16 Qualcomm® SA8650P 243.871 ms 0 - 10 MB NPU
vae QNN_CONTEXT_BINARY w8a16 Qualcomm® SA8255P 243.871 ms 0 - 10 MB NPU
vae QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ IQ-9075 240.535 ms 2 - 5 MB NPU
vae QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ IQ-X7181 258.867 ms 0 - 0 MB NPU
vae QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ Q-6690 6241.866 ms 3 - 10 MB NPU
vae QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ Q-7790 505.323 ms 1 - 7 MB NPU
vae QNN_CONTEXT_BINARY w8a16 Qualcomm® Dragonwing™ Q-8750 172.612 ms 0 - 13 MB NPU
vae QNN_CONTEXT_BINARY w8a16 Qualcomm® SA7255P 711.895 ms 0 - 9 MB NPU
vae QNN_CONTEXT_BINARY w8a16 Snapdragon® 8 Elite Mobile 172.612 ms 0 - 13 MB NPU
vae QNN_CONTEXT_BINARY w8a16 Snapdragon® 8 Elite Gen 5 Mobile 120.018 ms 0 - 9 MB NPU
vae QNN_CONTEXT_BINARY w8a16 Snapdragon® 7 Gen 4 Mobile 505.323 ms 1 - 7 MB NPU

License

  • The license for the original implementation of ControlNet-Canny can be found here.

References

Community

Usage and Limitations

This model may not be used for or in connection with any of the following applications:

  • Accessing essential private and public services and benefits;
  • Administration of justice and democratic processes;
  • Assessing or recognizing the emotional state of a person;
  • Biometric and biometrics-based systems, including categorization of persons based on sensitive characteristics;
  • Education and vocational training;
  • Employment and workers management;
  • Exploitation of the vulnerabilities of persons resulting in harmful behavior;
  • General purpose social scoring;
  • Law enforcement;
  • Management and operation of critical infrastructure;
  • Migration, asylum and border control management;
  • Predictive policing;
  • Real-time remote biometric identification in public spaces;
  • Recommender systems of social media platforms;
  • Scraping of facial images (from the internet or otherwise); and/or
  • Subliminal manipulation
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for qualcomm/ControlNet-Canny