ibrhr's picture
Update model card with benchmark results (up to 13x faster)
526cd18 verified
|
Raw
History Blame Contribute Delete
3.23 kB
---
license: apache-2.0
tags:
- openvino
- image-to-image
- super-resolution
- image-upscaling
- real-esrgan
base_model:
- xinntao/RealESRGAN_x4plus
- xinntao/RealESRGAN_x2plus
- xinntao/RealESRGAN_x4plus_anime_6B
pipeline_tag: image-to-image
---
# Real-ESRGAN OpenVINO
Pre-converted [Real-ESRGAN](https://github.com/xinntao/Real-ESRGAN) models in OpenVINO IR format, optimized for Intel CPUs.
**Up to 13x faster** than PyTorch for the same accuracy while using less memory.
## Models
| Model | Scale | Parameters | Use Case |
|-------|-------|------------|----------|
| `real_esrgan_x4plus_fp32` | 4x | 16.7M | General photos |
| `real_esrgan_x2plus_fp32` | 2x | 16.7M | General photos (2x) |
| `real_esrgan_x4plus_anime_6B_fp32` | 4x | 5.9M | Anime/illustrations |
All models accept `uint8` NHWC input directly (preprocessing baked into IR).
## Highly Optimized
This implementation leverages Intel OpenVINO with AVX-512 and AMX instructions for maximum CPU performance. The speedup increases with image size, making it especially efficient for large images.
### Benchmark
For reference, here's the time required to upscale images using different implementations:
* [PyTorch](https://pytorch.org/) - Standard PyTorch inference
* [OpenVINO](https://docs.openvino.ai/) - Optimized for Intel CPUs
### x4plus model on Intel Xeon Platinum 8581C
| Input Size | Output Size | PyTorch (s) | OpenVINO (s) | Speedup | Memory |
|------------|-------------|-------------|--------------|---------|--------|
| 128x128 | 512x512 | 0.635 | 0.114 | **5.58x** | 9.9 MB |
| 256x256 | 1024x1024 | 3.673 | 0.391 | **9.39x** | 39.2 MB |
| 512x512 | 2048x2048 | 19.919 | 1.485 | **13.42x** | 57.9 MB |
| 1024x1024 | 4096x4096 | 79.385 | 5.955 | **13.33x** | 96.2 MB |
### x2plus model on Intel Xeon Platinum 8581C
| Input Size | Output Size | PyTorch (s) | OpenVINO (s) | Speedup | Memory |
|------------|-------------|-------------|--------------|---------|--------|
| 128x128 | 256x256 | 0.193 | 0.051 | **3.81x** | 2.6 MB |
| 256x256 | 512x512 | 0.682 | 0.111 | **6.13x** | 9.9 MB |
| 512x512 | 1024x1024 | 3.604 | 0.405 | **8.89x** | 15.2 MB |
| 1024x1024 | 2048x2048 | 21.174 | 1.618 | **13.09x** | 26.5 MB |
### x4plus_anime_6B model on Intel Xeon Platinum 8581C
| Input Size | Output Size | PyTorch (s) | OpenVINO (s) | Speedup | Memory |
|------------|-------------|-------------|--------------|---------|--------|
| 128x128 | 512x512 | 0.243 | 0.047 | **5.15x** | 6.9 MB |
| 256x256 | 1024x1024 | 1.287 | 0.154 | **8.35x** | 27.2 MB |
| 512x512 | 2048x2048 | 6.617 | 0.583 | **11.34x** | 45.9 MB |
| 1024x1024 | 4096x4096 | 26.366 | 2.341 | **11.26x** | 84.2 MB |
*Benchmarks executed on Intel Xeon Platinum 8581C (8 cores, 16 threads, AVX-512, AMX).*
## Usage
See the [GitHub repository](https://github.com/ibrhr/Real-ESRGAN-cpu) for usage instructions, examples, and benchmarks.
## Citations
```bibtex
@inproceedings{wang2021realesrgan,
title={Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data},
author={Wang, Xintao and Xie, Liangbin and Dong, Chao and Shan, Ying},
booktitle={International Conference on Computer Vision Workshops (ICCVW)},
year={2021}
}
```