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. 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 |
|---|---|---|---|---|
| ONNX | float | Universal | QAIRT 2.42, ONNX Runtime 1.25.0 | Download |
| ONNX | w8a16 | Universal | QAIRT 2.42, ONNX Runtime 1.25.0 | Download |
| QNN_DLC | float | Universal | QAIRT 2.45 | Download |
| QNN_DLC | w8a16 | Universal | QAIRT 2.45 | Download |
| TFLITE | float | Universal | QAIRT 2.45 | Download |
For more device-specific assets and performance metrics, visit NAFNet-DeBlur 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 NAFNet-DeBlur on GitHub 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® 8 Elite Gen 5 Mobile | 46.752 ms | 8 - 991 MB | NPU |
| NAFNet-DeBlur | ONNX | float | Snapdragon® X2 Elite | 50.135 ms | 162 - 162 MB | NPU |
| NAFNet-DeBlur | ONNX | float | Snapdragon® X Elite | 114.344 ms | 146 - 146 MB | NPU |
| NAFNet-DeBlur | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 82.212 ms | 9 - 1261 MB | NPU |
| NAFNet-DeBlur | ONNX | float | Qualcomm® QCS8550 (Proxy) | 111.326 ms | 0 - 171 MB | NPU |
| NAFNet-DeBlur | ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 63.027 ms | 8 - 928 MB | NPU |
| NAFNet-DeBlur | ONNX | float | Qualcomm® QCS9075 | 153.169 ms | 8 - 53 MB | NPU |
| NAFNet-DeBlur | ONNX | float | Qualcomm® QCS8750 | 63.027 ms | 8 - 928 MB | NPU |
| NAFNet-DeBlur | ONNX | float | Qualcomm® QCS7181 | 114.344 ms | 146 - 146 MB | NPU |
| NAFNet-DeBlur | ONNX | w8a16 | Snapdragon® 8 Elite Gen 5 Mobile | 49.896 ms | 4 - 1202 MB | NPU |
| NAFNet-DeBlur | ONNX | w8a16 | Snapdragon® X2 Elite | 52.661 ms | 211 - 211 MB | NPU |
| NAFNet-DeBlur | ONNX | w8a16 | Snapdragon® X Elite | 123.321 ms | 148 - 148 MB | NPU |
| NAFNet-DeBlur | ONNX | w8a16 | Snapdragon® 8 Gen 3 Mobile | 83.717 ms | 4 - 1460 MB | NPU |
| NAFNet-DeBlur | ONNX | w8a16 | Qualcomm® QCS6490 | 14323.605 ms | 1474 - 1492 MB | CPU |
| NAFNet-DeBlur | ONNX | w8a16 | Qualcomm® QCS8550 (Proxy) | 118.494 ms | 0 - 109 MB | NPU |
| NAFNet-DeBlur | ONNX | w8a16 | Qualcomm® QCM6690 | 7066.147 ms | 1459 - 1480 MB | CPU |
| NAFNet-DeBlur | ONNX | w8a16 | Snapdragon® 7 Gen 4 Mobile | 6463.166 ms | 1403 - 1420 MB | CPU |
| NAFNet-DeBlur | ONNX | w8a16 | Snapdragon® 8 Elite For Galaxy Mobile | 69.946 ms | 4 - 1052 MB | NPU |
| NAFNet-DeBlur | ONNX | w8a16 | Qualcomm® QCS9075 | 145.941 ms | 4 - 49 MB | NPU |
| NAFNet-DeBlur | ONNX | w8a16 | Qualcomm® QCS7790 | 6463.166 ms | 1403 - 1420 MB | CPU |
| NAFNet-DeBlur | ONNX | w8a16 | Qualcomm® QCS8750 | 69.946 ms | 4 - 1052 MB | NPU |
| NAFNet-DeBlur | ONNX | w8a16 | Qualcomm® QCS7181 | 123.321 ms | 148 - 148 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 44.478 ms | 0 - 991 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | float | Snapdragon® X2 Elite | 47.47 ms | 3 - 3 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | float | Snapdragon® X Elite | 112.202 ms | 3 - 3 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 80.681 ms | 3 - 1203 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | float | Qualcomm® QCS8550 (Proxy) | 109.364 ms | 3 - 5 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | float | Qualcomm® SA8775P | 139.945 ms | 0 - 915 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | float | Qualcomm® SA8650P | 139.945 ms | 0 - 915 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | float | Qualcomm® SA8255P | 139.945 ms | 0 - 915 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | float | Qualcomm® QCS8450 (Proxy) | 186.589 ms | 2 - 841 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | float | Qualcomm® SA8295P | 162.508 ms | 0 - 632 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | float | Snapdragon® 8 Elite For Galaxy Mobile | 63.577 ms | 0 - 944 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | float | Qualcomm® QCS9075 | 152.183 ms | 5 - 11 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | float | Qualcomm® QCS8750 | 63.577 ms | 0 - 944 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | float | Qualcomm® QCS7181 | 112.202 ms | 3 - 3 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | w8a16 | Snapdragon® 8 Elite Gen 5 Mobile | 40.146 ms | 1 - 1034 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | w8a16 | Snapdragon® X2 Elite | 43.299 ms | 1 - 1 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | w8a16 | Snapdragon® X Elite | 91.135 ms | 1 - 1 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | w8a16 | Snapdragon® 8 Gen 3 Mobile | 62.882 ms | 0 - 1030 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | w8a16 | Qualcomm® QCS8275 | 192.965 ms | 2 - 781 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | w8a16 | Qualcomm® QCS8550 (Proxy) | 88.845 ms | 2 - 5 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | w8a16 | Qualcomm® SA8775P | 86.059 ms | 2 - 780 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | w8a16 | Qualcomm® SA8650P | 86.059 ms | 2 - 780 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | w8a16 | Qualcomm® SA8255P | 86.059 ms | 2 - 780 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | w8a16 | Qualcomm® QCM6690 | 1292.196 ms | 1 - 1488 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | w8a16 | Qualcomm® SA7255P | 192.965 ms | 2 - 781 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | w8a16 | Snapdragon® 7 Gen 4 Mobile | 137.101 ms | 1 - 1183 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | w8a16 | Snapdragon® 8 Elite For Galaxy Mobile | 52.163 ms | 1 - 934 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | w8a16 | Qualcomm® QCS9075 | 101.792 ms | 1 - 6 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | w8a16 | Qualcomm® QCS7790 | 137.101 ms | 1 - 1183 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | w8a16 | Qualcomm® QCS8750 | 52.163 ms | 1 - 934 MB | NPU |
| NAFNet-DeBlur | QNN_DLC | w8a16 | Qualcomm® QCS7181 | 91.135 ms | 1 - 1 MB | NPU |
| NAFNet-DeBlur | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 46.057 ms | 2 - 1076 MB | NPU |
| NAFNet-DeBlur | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 80.313 ms | 0 - 1282 MB | NPU |
| NAFNet-DeBlur | TFLITE | float | Qualcomm® QCS8275 | 483.489 ms | 3 - 1002 MB | NPU |
| NAFNet-DeBlur | TFLITE | float | Qualcomm® QCS8550 (Proxy) | 109.824 ms | 3 - 7 MB | NPU |
| NAFNet-DeBlur | TFLITE | float | Qualcomm® SA8775P | 139.931 ms | 3 - 1005 MB | NPU |
| NAFNet-DeBlur | TFLITE | float | Qualcomm® SA8650P | 139.931 ms | 3 - 1005 MB | NPU |
| NAFNet-DeBlur | TFLITE | float | Qualcomm® SA8255P | 139.931 ms | 3 - 1005 MB | NPU |
| NAFNet-DeBlur | TFLITE | float | Qualcomm® QCS8450 (Proxy) | 206.205 ms | 0 - 1003 MB | NPU |
| NAFNet-DeBlur | TFLITE | float | Qualcomm® SA8295P | 162.481 ms | 3 - 738 MB | NPU |
| NAFNet-DeBlur | TFLITE | float | Snapdragon® 8 Elite For Galaxy Mobile | 63.17 ms | 2 - 1033 MB | NPU |
| NAFNet-DeBlur | TFLITE | float | Qualcomm® QCS9075 | 153.064 ms | 1 - 150 MB | NPU |
| NAFNet-DeBlur | TFLITE | float | Qualcomm® SA7255P | 483.489 ms | 3 - 1002 MB | NPU |
| NAFNet-DeBlur | TFLITE | float | Qualcomm® QCS8750 | 63.17 ms | 2 - 1033 MB | NPU |
License
- The license for the original implementation of NAFNet-DeBlur can be found here.
References
Community
- Join our AI Hub Slack community to collaborate, post questions and learn more about on-device AI.
- For questions or feedback please reach out to us.
