File size: 13,372 Bytes
a376747
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
---
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/real_esrgan_general_x4v3/web-assets/model_demo.png)

# Real-ESRGAN-General-x4v3: Optimized for Qualcomm Devices

Real-ESRGAN is a machine learning model that upscales an image with minimal loss in quality.

This is based on the implementation of Real-ESRGAN-General-x4v3 found [here](https://github.com/xinntao/Real-ESRGAN/tree/master).
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/main/src/qai_hub_models/models/real_esrgan_general_x4v3) 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.42, ONNX Runtime 1.24.3 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/real_esrgan_general_x4v3/releases/v0.53.1/real_esrgan_general_x4v3-onnx-float.zip)
| ONNX | w8a8 | Universal | QAIRT 2.42, ONNX Runtime 1.24.3 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/real_esrgan_general_x4v3/releases/v0.53.1/real_esrgan_general_x4v3-onnx-w8a8.zip)
| QNN_DLC | float | Universal | QAIRT 2.45 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/real_esrgan_general_x4v3/releases/v0.53.1/real_esrgan_general_x4v3-qnn_dlc-float.zip)
| QNN_DLC | w8a8 | Universal | QAIRT 2.45 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/real_esrgan_general_x4v3/releases/v0.53.1/real_esrgan_general_x4v3-qnn_dlc-w8a8.zip)
| TFLITE | float | Universal | QAIRT 2.45 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/real_esrgan_general_x4v3/releases/v0.53.1/real_esrgan_general_x4v3-tflite-float.zip)
| TFLITE | w8a8 | Universal | QAIRT 2.45 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/real_esrgan_general_x4v3/releases/v0.53.1/real_esrgan_general_x4v3-tflite-w8a8.zip)

For more device-specific assets and performance metrics, visit **[Real-ESRGAN-General-x4v3 on Qualcomm® AI Hub](https://aihub.qualcomm.com/models/real_esrgan_general_x4v3)**.


### Option 2: Export with Custom Configurations

Use the [Qualcomm® AI Hub Models](https://github.com/qualcomm/ai-hub-models/blob/main/src/qai_hub_models/models/real_esrgan_general_x4v3) 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 [Real-ESRGAN-General-x4v3 on GitHub](https://github.com/qualcomm/ai-hub-models/blob/main/src/qai_hub_models/models/real_esrgan_general_x4v3) for usage instructions.

## Model Details

**Model Type:** Model_use_case.super_resolution

**Model Stats:**
- Model checkpoint: realesr-general-x4v3
- Input resolution: 128x128
- Number of parameters: 1.21M
- Model size (float): 4.65 MB
- Model size (w8a8): 1.25 MB

## Performance Summary
| Model | Runtime | Precision | Chipset | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit
|---|---|---|---|---|---|---
| Real-ESRGAN-General-x4v3 | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 2.65 ms | 0 - 152 MB | NPU
| Real-ESRGAN-General-x4v3 | ONNX | float | Snapdragon® 8 Elite Mobile | 3.572 ms | 0 - 147 MB | NPU
| Real-ESRGAN-General-x4v3 | ONNX | float | Snapdragon® X2 Elite | 3.438 ms | 4 - 4 MB | NPU
| Real-ESRGAN-General-x4v3 | ONNX | float | Snapdragon® X Elite | 6.426 ms | 9 - 9 MB | NPU
| Real-ESRGAN-General-x4v3 | ONNX | float | Snapdragon® X Elite | 6.426 ms | 9 - 9 MB | NPU
| Real-ESRGAN-General-x4v3 | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 4.557 ms | 6 - 199 MB | NPU
| Real-ESRGAN-General-x4v3 | ONNX | float | Qualcomm® QCS8550 (Proxy) | 5.973 ms | 6 - 8 MB | NPU
| Real-ESRGAN-General-x4v3 | ONNX | float | Qualcomm® QCS9075 | 9.826 ms | 6 - 9 MB | NPU
| Real-ESRGAN-General-x4v3 | ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 3.572 ms | 0 - 147 MB | NPU
| Real-ESRGAN-General-x4v3 | ONNX | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 0.695 ms | 0 - 157 MB | NPU
| Real-ESRGAN-General-x4v3 | ONNX | w8a8 | Snapdragon® 8 Elite Mobile | 0.979 ms | 0 - 39 MB | NPU
| Real-ESRGAN-General-x4v3 | ONNX | w8a8 | Snapdragon® X2 Elite | 2.788 ms | 0 - 0 MB | NPU
| Real-ESRGAN-General-x4v3 | ONNX | w8a8 | Snapdragon® X Elite | 1.948 ms | 2 - 2 MB | NPU
| Real-ESRGAN-General-x4v3 | ONNX | w8a8 | Snapdragon® X Elite | 1.948 ms | 2 - 2 MB | NPU
| Real-ESRGAN-General-x4v3 | ONNX | w8a8 | Snapdragon® 8 Gen 3 Mobile | 1.226 ms | 0 - 169 MB | NPU
| Real-ESRGAN-General-x4v3 | ONNX | w8a8 | Qualcomm® QCS6490 | 154.727 ms | 23 - 29 MB | CPU
| Real-ESRGAN-General-x4v3 | ONNX | w8a8 | Qualcomm® QCS8550 (Proxy) | 1.728 ms | 0 - 79 MB | NPU
| Real-ESRGAN-General-x4v3 | ONNX | w8a8 | Qualcomm® QCS9075 | 1.95 ms | 0 - 3 MB | NPU
| Real-ESRGAN-General-x4v3 | ONNX | w8a8 | Qualcomm® QCM6690 | 146.545 ms | 23 - 31 MB | CPU
| Real-ESRGAN-General-x4v3 | ONNX | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 0.979 ms | 0 - 39 MB | NPU
| Real-ESRGAN-General-x4v3 | ONNX | w8a8 | Snapdragon® 7 Gen 4 Mobile | 119.411 ms | 26 - 35 MB | CPU
| Real-ESRGAN-General-x4v3 | ONNX | w8a8 | Snapdragon® 7 Gen 4 Mobile | 119.411 ms | 26 - 35 MB | CPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 2.302 ms | 0 - 159 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | float | Snapdragon® 8 Elite Mobile | 3.253 ms | 0 - 155 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | float | Snapdragon® X2 Elite | 3.497 ms | 0 - 0 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | float | Snapdragon® X Elite | 6.353 ms | 0 - 0 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | float | Snapdragon® X Elite | 6.353 ms | 0 - 0 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 4.291 ms | 0 - 184 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | float | Qualcomm® QCS8275 (Proxy) | 33.183 ms | 0 - 150 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | float | Qualcomm® QCS8550 (Proxy) | 5.828 ms | 0 - 3 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | float | Qualcomm® SA8775P | 9.407 ms | 0 - 154 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | float | Qualcomm® SA8775P | 9.407 ms | 0 - 154 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | float | Qualcomm® SA8775P | 9.407 ms | 0 - 154 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | float | Qualcomm® QCS9075 | 9.619 ms | 0 - 5 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | float | Qualcomm® QCS8450 (Proxy) | 8.887 ms | 0 - 89 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | float | Qualcomm® SA7255P | 33.183 ms | 0 - 150 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | float | Qualcomm® SA8295P | 9.725 ms | 0 - 51 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | float | Snapdragon® 8 Elite For Galaxy Mobile | 3.253 ms | 0 - 155 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 0.638 ms | 0 - 38 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | w8a8 | Snapdragon® 8 Elite Mobile | 0.924 ms | 0 - 39 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | w8a8 | Snapdragon® X2 Elite | 0.97 ms | 0 - 0 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | w8a8 | Snapdragon® X Elite | 1.975 ms | 0 - 0 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | w8a8 | Snapdragon® X Elite | 1.975 ms | 0 - 0 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | w8a8 | Snapdragon® 8 Gen 3 Mobile | 1.242 ms | 0 - 163 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | w8a8 | Qualcomm® QCS6490 | 6.263 ms | 0 - 2 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | w8a8 | Qualcomm® QCS8275 (Proxy) | 5.675 ms | 0 - 148 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | w8a8 | Qualcomm® QCS8550 (Proxy) | 1.751 ms | 0 - 2 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | w8a8 | Qualcomm® SA8775P | 2.047 ms | 0 - 151 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | w8a8 | Qualcomm® SA8775P | 2.047 ms | 0 - 151 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | w8a8 | Qualcomm® SA8775P | 2.047 ms | 0 - 151 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | w8a8 | Qualcomm® QCS9075 | 1.98 ms | 2 - 4 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | w8a8 | Qualcomm® QCM6690 | 25.018 ms | 0 - 147 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | w8a8 | Qualcomm® QCS8450 (Proxy) | 2.809 ms | 0 - 66 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | w8a8 | Qualcomm® SA7255P | 5.675 ms | 0 - 148 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | w8a8 | Qualcomm® SA8295P | 3.233 ms | 0 - 45 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 0.924 ms | 0 - 39 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | w8a8 | Snapdragon® 7 Gen 4 Mobile | 2.353 ms | 0 - 147 MB | NPU
| Real-ESRGAN-General-x4v3 | QNN_DLC | w8a8 | Snapdragon® 7 Gen 4 Mobile | 2.353 ms | 0 - 147 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 2.302 ms | 0 - 163 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | float | Snapdragon® 8 Elite Mobile | 3.219 ms | 0 - 158 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 4.291 ms | 0 - 186 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | float | Qualcomm® QCS8275 (Proxy) | 33.217 ms | 3 - 157 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | float | Qualcomm® QCS8550 (Proxy) | 5.886 ms | 3 - 6 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | float | Qualcomm® SA8775P | 9.439 ms | 3 - 160 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | float | Qualcomm® SA8775P | 9.439 ms | 3 - 160 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | float | Qualcomm® SA8775P | 9.439 ms | 3 - 160 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | float | Qualcomm® QCS9075 | 9.566 ms | 3 - 11 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | float | Qualcomm® QCS8450 (Proxy) | 8.891 ms | 3 - 96 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | float | Qualcomm® SA7255P | 33.217 ms | 3 - 157 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | float | Qualcomm® SA8295P | 9.76 ms | 3 - 57 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | float | Snapdragon® 8 Elite For Galaxy Mobile | 3.219 ms | 0 - 158 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 0.648 ms | 0 - 39 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | w8a8 | Snapdragon® 8 Elite Mobile | 0.918 ms | 0 - 35 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | w8a8 | Snapdragon® 8 Gen 3 Mobile | 1.244 ms | 12 - 177 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | w8a8 | Qualcomm® QCS6490 | 6.18 ms | 1 - 5 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | w8a8 | Qualcomm® QCS8275 (Proxy) | 5.693 ms | 1 - 150 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | w8a8 | Qualcomm® QCS8550 (Proxy) | 1.759 ms | 0 - 2 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | w8a8 | Qualcomm® SA8775P | 2.063 ms | 0 - 152 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | w8a8 | Qualcomm® SA8775P | 2.063 ms | 0 - 152 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | w8a8 | Qualcomm® SA8775P | 2.063 ms | 0 - 152 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | w8a8 | Qualcomm® QCS9075 | 1.997 ms | 0 - 4 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | w8a8 | Qualcomm® QCM6690 | 24.952 ms | 1 - 150 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | w8a8 | Qualcomm® QCS8450 (Proxy) | 2.842 ms | 0 - 65 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | w8a8 | Qualcomm® SA7255P | 5.693 ms | 1 - 150 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | w8a8 | Qualcomm® SA8295P | 3.227 ms | 0 - 46 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 0.918 ms | 0 - 35 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | w8a8 | Snapdragon® 7 Gen 4 Mobile | 2.364 ms | 0 - 149 MB | NPU
| Real-ESRGAN-General-x4v3 | TFLITE | w8a8 | Snapdragon® 7 Gen 4 Mobile | 2.364 ms | 0 - 149 MB | NPU

## License
* The license for the original implementation of Real-ESRGAN-General-x4v3 can be found
  [here](https://github.com/xinntao/Real-ESRGAN/blob/master/LICENSE).

## References
* [Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data](https://arxiv.org/abs/2107.10833)
* [Source Model Implementation](https://github.com/xinntao/Real-ESRGAN/tree/master)

## 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).