Image-to-Image
PyTorch
android
NAFNet-DeBlur / README.md
qaihm-bot's picture
v0.58.0
d507ebb verified
|
Raw
History Blame Contribute Delete
15.4 kB
---
library_name: pytorch
license: other
tags:
- android
pipeline_tag: image-to-image
---
![](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/nafnet_deblur/web-assets/model_demo.png)
# NAFNet-DeBlur: Optimized for Qualcomm Devices
NAFNET is designed for lightweight real-time deblurring of images.
This is based on the implementation of NAFNet-DeBlur found [here](https://github.com/megvii-research/NAFNet.git).
This repository contains pre-exported model files optimized for Qualcomm® devices. You can use the [Qualcomm® AI Hub Models](https://github.com/qualcomm/ai-hub-models/blob/v0.58.0/src/qai_hub_models/models/nafnet_deblur) library to export with custom configurations. More details on model performance across various devices, can be found [here](#performance-summary).
Qualcomm AI Hub Models uses [Qualcomm AI Hub Workbench](https://workbench.aihub.qualcomm.com) to compile, profile, and evaluate this model. [Sign up](https://myaccount.qualcomm.com/signup) 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 |
|---|---|---|---|---|
| ONNX | float | Universal | QAIRT 2.45, ONNX Runtime 1.25.0 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/nafnet_deblur/releases/v0.58.0/nafnet_deblur-onnx-float.zip)
| ONNX | w8a16 | Universal | QAIRT 2.45, ONNX Runtime 1.25.0 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/nafnet_deblur/releases/v0.58.0/nafnet_deblur-onnx-w8a16.zip)
| QNN_DLC | float | Universal | QAIRT 2.45 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/nafnet_deblur/releases/v0.58.0/nafnet_deblur-qnn_dlc-float.zip)
| QNN_DLC | w8a16 | Universal | QAIRT 2.45 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/nafnet_deblur/releases/v0.58.0/nafnet_deblur-qnn_dlc-w8a16.zip)
| TFLITE | float | Universal | QAIRT 2.45 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/nafnet_deblur/releases/v0.58.0/nafnet_deblur-tflite-float.zip)
For more device-specific assets and performance metrics, visit **[NAFNet-DeBlur on Qualcomm® AI Hub](https://aihub.qualcomm.com/models/nafnet_deblur)**.
### Option 2: Export with Custom Configurations
Use the [Qualcomm® AI Hub Models](https://github.com/qualcomm/ai-hub-models/blob/v0.58.0/src/qai_hub_models/models/nafnet_deblur) 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 [NAFNet-DeBlur on GitHub](https://github.com/qualcomm/ai-hub-models/blob/v0.58.0/src/qai_hub_models/models/nafnet_deblur) for usage instructions.
## Model Details
**Model Type:** Model_use_case.image_editing
**Model Stats:**
- Model checkpoint: NAFNet-REDS-width64
- Input resolution: 360x640
- Number of parameters: 67.89M
- Model size (float): 271.55 MB
## Performance Summary
| Model | Runtime | Precision | Chipset | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit
|---|---|---|---|---|---|---
| NAFNet-DeBlur | ONNX | float | Snapdragon® X2 Elite | 47.739 ms | 11 - 11 MB | NPU
| NAFNet-DeBlur | ONNX | float | Snapdragon® X Elite | 113.074 ms | 142 - 142 MB | NPU
| NAFNet-DeBlur | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 81.438 ms | 0 - 1195 MB | NPU
| NAFNet-DeBlur | ONNX | float | Snapdragon® 8 Gen 1 Mobile | 183.315 ms | 10 - 862 MB | NPU
| NAFNet-DeBlur | ONNX | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 112.679 ms | 0 - 161 MB | NPU
| NAFNet-DeBlur | ONNX | float | Qualcomm® QCS8450 | 183.315 ms | 10 - 862 MB | NPU
| NAFNet-DeBlur | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 45.045 ms | 7 - 995 MB | NPU
| NAFNet-DeBlur | ONNX | float | Snapdragon® 8 Elite Mobile | 63.561 ms | 8 - 941 MB | NPU
| NAFNet-DeBlur | ONNX | float | Qualcomm® Dragonwing™ Q-8750 | 63.561 ms | 8 - 941 MB | NPU
| NAFNet-DeBlur | ONNX | float | Qualcomm® Dragonwing™ IQ-X7181 | 113.074 ms | 142 - 142 MB | NPU
| NAFNet-DeBlur | ONNX | float | Qualcomm® Dragonwing™ IQ-9075 | 152.496 ms | 9 - 54 MB | NPU
| NAFNet-DeBlur | ONNX | w8a16 | Snapdragon® X2 Elite | 43.843 ms | 5 - 5 MB | NPU
| NAFNet-DeBlur | ONNX | w8a16 | Snapdragon® X Elite | 92.128 ms | 77 - 77 MB | NPU
| NAFNet-DeBlur | ONNX | w8a16 | Snapdragon® 8 Gen 3 Mobile | 64.767 ms | 4 - 1084 MB | NPU
| NAFNet-DeBlur | ONNX | w8a16 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 89.707 ms | 0 - 84 MB | NPU
| NAFNet-DeBlur | ONNX | w8a16 | Snapdragon® 8 Elite Mobile | 54.509 ms | 4 - 967 MB | NPU
| NAFNet-DeBlur | ONNX | w8a16 | Qualcomm® Dragonwing™ IQ-9075 | 105.292 ms | 3 - 7 MB | NPU
| NAFNet-DeBlur | ONNX | w8a16 | Snapdragon® 7 Gen 4 Mobile | 133.706 ms | 6 - 1140 MB | NPU
| NAFNet-DeBlur | ONNX | w8a16 | Snapdragon® 8 Elite Gen 5 Mobile | 39.539 ms | 2 - 992 MB | NPU
| NAFNet-DeBlur | ONNX | w8a16 | Qualcomm® Dragonwing™ Q-6690 | 1326.727 ms | 0 - 1528 MB | NPU
| NAFNet-DeBlur | ONNX | w8a16 | Qualcomm® Dragonwing™ Q-7790 | 133.706 ms | 6 - 1140 MB | NPU
| NAFNet-DeBlur | ONNX | w8a16 | Qualcomm® Dragonwing™ Q-8750 | 54.509 ms | 4 - 967 MB | NPU
| NAFNet-DeBlur | ONNX | w8a16 | Qualcomm® Dragonwing™ IQ-X7181 | 92.128 ms | 77 - 77 MB | NPU
| NAFNet-DeBlur | ONNX | w8a8 | Snapdragon® X2 Elite | 19.589 ms | 4 - 4 MB | NPU
| NAFNet-DeBlur | ONNX | w8a8 | Snapdragon® X Elite | 46.725 ms | 74 - 74 MB | NPU
| NAFNet-DeBlur | ONNX | w8a8 | Snapdragon® 8 Gen 3 Mobile | 30.415 ms | 0 - 813 MB | NPU
| NAFNet-DeBlur | ONNX | w8a8 | Snapdragon® 8 Gen 1 Mobile | 85.307 ms | 3 - 848 MB | NPU
| NAFNet-DeBlur | ONNX | w8a8 | Qualcomm® Dragonwing™ QCS6490 | 223.392 ms | 1 - 5 MB | NPU
| NAFNet-DeBlur | ONNX | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 44.802 ms | 0 - 83 MB | NPU
| NAFNet-DeBlur | ONNX | w8a8 | Qualcomm® QCS8450 | 85.307 ms | 3 - 848 MB | NPU
| NAFNet-DeBlur | ONNX | w8a8 | Snapdragon® 8 Elite Mobile | 26.793 ms | 0 - 598 MB | NPU
| NAFNet-DeBlur | ONNX | w8a8 | Snapdragon® 7 Gen 4 Mobile | 59.482 ms | 2 - 835 MB | NPU
| NAFNet-DeBlur | ONNX | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 18.968 ms | 0 - 748 MB | NPU
| NAFNet-DeBlur | ONNX | w8a8 | Qualcomm® Dragonwing™ Q-6690 | 515.518 ms | 0 - 941 MB | NPU
| NAFNet-DeBlur | ONNX | w8a8 | Qualcomm® Dragonwing™ Q-7790 | 59.482 ms | 2 - 835 MB | NPU
| NAFNet-DeBlur | ONNX | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 26.793 ms | 0 - 598 MB | NPU
| NAFNet-DeBlur | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-X7181 | 46.725 ms | 74 - 74 MB | NPU
| NAFNet-DeBlur | QNN_DLC | float | Snapdragon® X2 Elite | 47.531 ms | 3 - 3 MB | NPU
| NAFNet-DeBlur | QNN_DLC | float | Snapdragon® X Elite | 112.583 ms | 3 - 3 MB | NPU
| NAFNet-DeBlur | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 81.126 ms | 3 - 1202 MB | NPU
| NAFNet-DeBlur | QNN_DLC | float | Snapdragon® 8 Gen 1 Mobile | 185.051 ms | 2 - 839 MB | NPU
| NAFNet-DeBlur | QNN_DLC | float | Qualcomm® QCS8275 | 483.078 ms | 2 - 913 MB | NPU
| NAFNet-DeBlur | QNN_DLC | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 109.221 ms | 3 - 6 MB | NPU
| NAFNet-DeBlur | QNN_DLC | float | Qualcomm® SA8775P | 139.95 ms | 1 - 917 MB | NPU
| NAFNet-DeBlur | QNN_DLC | float | Qualcomm® SA8650P | 139.95 ms | 1 - 917 MB | NPU
| NAFNet-DeBlur | QNN_DLC | float | Qualcomm® SA8255P | 139.95 ms | 1 - 917 MB | NPU
| NAFNet-DeBlur | QNN_DLC | float | Qualcomm® QCS8450 | 185.051 ms | 2 - 839 MB | NPU
| NAFNet-DeBlur | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 44.648 ms | 0 - 1003 MB | NPU
| NAFNet-DeBlur | QNN_DLC | float | Snapdragon® 8 Elite Mobile | 63.005 ms | 0 - 948 MB | NPU
| NAFNet-DeBlur | QNN_DLC | float | Qualcomm® SA7255P | 483.078 ms | 2 - 913 MB | NPU
| NAFNet-DeBlur | QNN_DLC | float | Qualcomm® SA8295P | 162.305 ms | 0 - 632 MB | NPU
| NAFNet-DeBlur | QNN_DLC | float | Qualcomm® Dragonwing™ Q-8750 | 63.005 ms | 0 - 948 MB | NPU
| NAFNet-DeBlur | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-X7181 | 112.583 ms | 3 - 3 MB | NPU
| NAFNet-DeBlur | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-9075 | 152.687 ms | 3 - 10 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a16 | Snapdragon® X2 Elite | 43.227 ms | 1 - 1 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a16 | Snapdragon® X Elite | 91.189 ms | 1 - 1 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a16 | Snapdragon® 8 Gen 3 Mobile | 62.713 ms | 0 - 1032 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a16 | Qualcomm® QCS8275 | 192.769 ms | 2 - 780 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 88.626 ms | 2 - 5 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a16 | Qualcomm® SA8775P | 86.069 ms | 2 - 780 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a16 | Qualcomm® SA8650P | 86.069 ms | 2 - 780 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a16 | Qualcomm® SA8255P | 86.069 ms | 2 - 780 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a16 | Snapdragon® 8 Elite Mobile | 52.175 ms | 1 - 934 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ IQ-9075 | 85.581 ms | 3 - 7 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a16 | Qualcomm® SA7255P | 192.769 ms | 2 - 780 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a16 | Snapdragon® 7 Gen 4 Mobile | 136.397 ms | 1 - 1190 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a16 | Snapdragon® 8 Elite Gen 5 Mobile | 39.251 ms | 1 - 1044 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ Q-6690 | 1294.492 ms | 1 - 1486 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ Q-7790 | 136.397 ms | 1 - 1190 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ Q-8750 | 52.175 ms | 1 - 934 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ IQ-X7181 | 91.189 ms | 1 - 1 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a8 | Snapdragon® X2 Elite | 21.311 ms | 1 - 1 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a8 | Snapdragon® X Elite | 47.39 ms | 1 - 1 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a8 | Snapdragon® 8 Gen 3 Mobile | 30.401 ms | 1 - 786 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a8 | Snapdragon® 8 Gen 1 Mobile | 85.808 ms | 1 - 812 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ QCS6490 | 217.601 ms | 1 - 4 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a8 | Qualcomm® QCS8275 | 91.145 ms | 1 - 605 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 45.054 ms | 1 - 68 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a8 | Qualcomm® SA8775P | 44.383 ms | 1 - 605 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a8 | Qualcomm® SA8650P | 44.383 ms | 1 - 605 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a8 | Qualcomm® SA8255P | 44.383 ms | 1 - 605 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a8 | Qualcomm® QCS8450 | 85.808 ms | 1 - 812 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a8 | Snapdragon® 8 Elite Mobile | 27.487 ms | 1 - 602 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a8 | Snapdragon® 7 Gen 4 Mobile | 56.27 ms | 1 - 827 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 44.56 ms | 1 - 4 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a8 | Qualcomm® SA7255P | 91.145 ms | 1 - 605 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a8 | Qualcomm® SA8295P | 62.501 ms | 1 - 603 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 17.199 ms | 1 - 695 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ Q-6690 | 493.208 ms | 1 - 963 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ Q-7790 | 56.27 ms | 1 - 827 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 27.487 ms | 1 - 602 MB | NPU
| NAFNet-DeBlur | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ IQ-X7181 | 47.39 ms | 1 - 1 MB | NPU
| NAFNet-DeBlur | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 80.988 ms | 3 - 1292 MB | NPU
| NAFNet-DeBlur | TFLITE | float | Snapdragon® 8 Gen 1 Mobile | 210.907 ms | 4 - 1008 MB | NPU
| NAFNet-DeBlur | TFLITE | float | Qualcomm® QCS8275 | 483.041 ms | 3 - 1001 MB | NPU
| NAFNet-DeBlur | TFLITE | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 110.539 ms | 3 - 7 MB | NPU
| NAFNet-DeBlur | TFLITE | float | Qualcomm® SA8775P | 139.99 ms | 3 - 1005 MB | NPU
| NAFNet-DeBlur | TFLITE | float | Qualcomm® SA8650P | 139.99 ms | 3 - 1005 MB | NPU
| NAFNet-DeBlur | TFLITE | float | Qualcomm® SA8255P | 139.99 ms | 3 - 1005 MB | NPU
| NAFNet-DeBlur | TFLITE | float | Qualcomm® QCS8450 | 210.907 ms | 4 - 1008 MB | NPU
| NAFNet-DeBlur | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 44.656 ms | 3 - 1090 MB | NPU
| NAFNet-DeBlur | TFLITE | float | Snapdragon® 8 Elite Mobile | 62.301 ms | 2 - 1032 MB | NPU
| NAFNet-DeBlur | TFLITE | float | Qualcomm® SA7255P | 483.041 ms | 3 - 1001 MB | NPU
| NAFNet-DeBlur | TFLITE | float | Qualcomm® SA8295P | 162.41 ms | 3 - 738 MB | NPU
| NAFNet-DeBlur | TFLITE | float | Qualcomm® Dragonwing™ Q-8750 | 62.301 ms | 2 - 1032 MB | NPU
| NAFNet-DeBlur | TFLITE | float | Qualcomm® Dragonwing™ IQ-9075 | 152.356 ms | 1 - 150 MB | NPU
| NAFNet-DeBlur | TFLITE | w8a8 | Snapdragon® 8 Gen 3 Mobile | 60.273 ms | 1 - 1099 MB | NPU
| NAFNet-DeBlur | TFLITE | w8a8 | Snapdragon® 8 Gen 1 Mobile | 123.385 ms | 1 - 1192 MB | NPU
| NAFNet-DeBlur | TFLITE | w8a8 | Qualcomm® QCS8275 | 169.472 ms | 1 - 868 MB | NPU
| NAFNet-DeBlur | TFLITE | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 84.724 ms | 1 - 5 MB | NPU
| NAFNet-DeBlur | TFLITE | w8a8 | Qualcomm® SA8775P | 84.58 ms | 1 - 868 MB | NPU
| NAFNet-DeBlur | TFLITE | w8a8 | Qualcomm® SA8650P | 84.58 ms | 1 - 868 MB | NPU
| NAFNet-DeBlur | TFLITE | w8a8 | Qualcomm® SA8255P | 84.58 ms | 1 - 868 MB | NPU
| NAFNet-DeBlur | TFLITE | w8a8 | Qualcomm® QCS8450 | 123.385 ms | 1 - 1192 MB | NPU
| NAFNet-DeBlur | TFLITE | w8a8 | Snapdragon® 8 Elite Mobile | 40.239 ms | 1 - 703 MB | NPU
| NAFNet-DeBlur | TFLITE | w8a8 | Snapdragon® 7 Gen 4 Mobile | 885.229 ms | 138 - 542 MB | NPU
| NAFNet-DeBlur | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 109.926 ms | 1 - 81 MB | NPU
| NAFNet-DeBlur | TFLITE | w8a8 | Qualcomm® SA7255P | 169.472 ms | 1 - 868 MB | NPU
| NAFNet-DeBlur | TFLITE | w8a8 | Qualcomm® SA8295P | 116.821 ms | 1 - 866 MB | NPU
| NAFNet-DeBlur | TFLITE | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 31.605 ms | 1 - 1209 MB | NPU
| NAFNet-DeBlur | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-7790 | 885.229 ms | 138 - 542 MB | NPU
| NAFNet-DeBlur | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 40.239 ms | 1 - 703 MB | NPU
## License
* The license for the original implementation of NAFNet-DeBlur can be found
[here](https://github.com/megvii-research/NAFNet/blob/main/LICENSE).
## References
* [Simple Baselines for Image Restoration](https://arxiv.org/abs/2204.04676)
* [Source Model Implementation](https://github.com/megvii-research/NAFNet.git)
## Community
* Join [our AI Hub Slack community](https://aihub.qualcomm.com/community/slack) to collaborate, post questions and learn more about on-device AI.
* For questions or feedback please [reach out to us](mailto:ai-hub-support@qti.qualcomm.com).