Upscaling IA gratuit sur un serveur GPU : Upscayl, Real-ESRGAN et Video2X testés
L’upscaling par IA transforme une petite image ou une image floue en une image plus grande et plus nette : le modèle n’étire pas seulement les pixels, il redessine les détails fins comme les cheveux, la fourrure ou les contours d’un dessin. Des outils payants comme Topaz le font bien, et les upscalers en ligne le font avec des limites d’envoi, des files d’attente ou des filigranes. Les outils gratuits et open source sont tout aussi faciles à trouver : Upscayl (une application de bureau basée sur Real-ESRGAN), et Video2X pour la vidéo, qui fait aussi de l’interpolation d’images avec RIFE et des filtres Anime4K.
Tous tournent sur Vulkan, donc ils veulent un GPU. Nous nous sommes donc posé une question : sur un serveur cloud avec un GPU Intel partagé, qu’apporte vraiment le GPU par rapport au CPU du même serveur ? Nous avons utilisé les binaires officiels, les mêmes images et la même vidéo, et mesuré le temps, le CPU et la mémoire.
Les résultats en bref
- Images : le GPU est plus rapide et laisse le CPU libre. Agrandir 4 fois une photo de 512 pixels a pris 24,9 s sur le GPU contre 34,0 s sur 4 vCPU (1,4 fois plus rapide) et 55 s sur 2 vCPU (2,2 fois plus rapide). L’essai sur GPU a utilisé 0,1 vCPU ; l’essai sur CPU a occupé 3,8 vCPU.
- Les grandes images demandent de la mémoire sur le CPU. Une photo 1080p agrandie en 8K a pris 189 s sur le GPU et 234 s sur le CPU, et l’essai sur CPU est monté à 11,8 Go de RAM (1,2 Go avec le GPU).
- Video2X n’a pas de mode CPU. Forcé sur le CPU via Vulkan logiciel, il a été 4 à 6 fois plus lent : Anime4K vers 1080p a tourné à 12,2 images par seconde sur le GPU contre 1,9, le doublement d’images RIFE à 7,3 contre 1,1.
- Real-ESRGAN sur une vidéo est lent, même sur le GPU. Le modèle vidéo rapide a traité 0,65 image par seconde : environ 8 minutes pour un extrait de 10 secondes. Bien pour un court extrait ou un lot la nuit, pas pour un film.
- Soyons honnêtes sur le matériel. Un GPU intégré est bien plus lent qu’une carte RTX de bureau. L’intérêt, c’est un serveur à 14,99 € qui fait le travail sans occuper son CPU.
Configuration du test
| Élément | Valeur |
|---|---|
| Serveur | Debian 13, Linux 7.3, Intel UHD 770 (GPU partagé), 4 vCPU, 12 Go de RAM |
| Images, GPU | upscayl-bin 20251207 (le moteur qu’appelle l’application Upscayl, version officielle) avec les modèles Real-ESRGAN, Vulkan (Mesa 25.0.7), taille de tuile par défaut |
| Images, CPU | le code PyTorch officiel de Real-ESRGAN (inference_realesrgan.py, PyTorch 2.15 CPU, fp32, 4 threads ; 2 threads limités à 2 vCPU pour le résultat « 2 vCPU ») |
| Vidéo | Video2X 6.4.0 (AppImage officielle), sortie H.264 (libx264, CRF 18). CPU : le même Video2X sur le Vulkan logiciel de Mesa (llvmpipe), plus le script vidéo PyTorch officiel pour Real-ESRGAN |
| Images | trois photos de 512 × 512, une photo de 1920 × 1080, une image de dessin animé de 854 × 480 |
| Vidéo | 10 s de Big Buck Bunny en 854 × 480, 30 images par seconde (300 images) |
| Mesures | temps réel, chargement du modèle et écriture du fichier compris, temps CPU et pic de mémoire via /usr/bin/time |
Les chiffres CPU sont en vCPU (1,0 = un cœur entier). Le GPU est partagé avec d’autres serveurs : nous avons vérifié qu’il était inoccupé par ailleurs pendant les essais retenus ici (voir « Limites »).
Médias de test : photos de Wikimedia Commons (Albert Einstein par Orren Jack Turner, domaine public ; Buzz Aldrin par la NASA, domaine public ; un chat par Alvesgaspar, CC BY-SA 3.0) et Big Buck Bunny (© Blender Foundation, CC BY 3.0).
1. Images : Real-ESRGAN avec le moteur d’Upscayl
| Image | Modèle | GPU | CPU, 4 vCPU | CPU, 2 vCPU |
|---|---|---|---|---|
| Photo 512 × 512 → 2048 × 2048 | RealESRGAN x4plus | 24,9 s, 0,1 vCPU, 1,0 Go | 34,0 s, 3,8 vCPU, 4,1 Go | 55,0 s |
| Photo 1920 × 1080 → 7680 × 4320 | RealESRGAN x4plus | 189 s, 0,03 vCPU, 1,2 Go | 234 s, 4,0 vCPU, 11,8 Go | — |
| Image de dessin animé 854 × 480 → 3416 × 1920 | x4plus-anime | 12,9 s, 0,1 vCPU, 0,4 Go | 17,9 s, 3,6 vCPU, 6,0 Go | — |
| Image vidéo 854 × 480 → 3416 × 1920 | animevideov3 (rapide) | 2,2 s, 0,6 vCPU | 4,0 s, 2,4 vCPU, 0,9 Go | — |
Le temps de la photo est la médiane de trois photos différentes ; elles ont toutes pris entre 24,8 et 25 secondes sur le GPU.
Ce que cela veut dire :
- Face aux 4 vCPU, le GPU est 1,2 à 1,8 fois plus rapide. C’est un vrai gain, pas un miracle : le modèle photo de Real-ESRGAN est lourd, et quatre cœurs de CPU modernes ne sont pas lents.
- Face à 2 vCPU, la taille de notre offre Start, le GPU est 2,2 fois plus rapide. Le GPU ne rétrécit pas avec l’offre ; le CPU, si.
- Le GPU laisse le serveur libre. Pendant un essai sur GPU, le CPU du serveur reste à environ 0,1 vCPU : vous pouvez faire tourner une application web, une galerie ou un deuxième travail en même temps. Sur le CPU, l’agrandissement prend tout.
- Mémoire. Sans découpage en tuiles, le code PyTorch a eu besoin de 11,8 Go de RAM pour la photo 1080p. Sur un serveur à 8 Go, il faudrait aussi découper l’image en tuiles sur le CPU, ce qui le ralentit encore.
2. Vidéo : Video2X avec Real-ESRGAN, Anime4K et RIFE
Video2X lit une vidéo, passe chaque image dans un filtre sur le GPU, et encode le résultat avec FFmpeg. Il propose trois types de travail : Real-ESRGAN (upscaling IA, lent, meilleure qualité), Anime4K (shaders GLSL rapides pour les dessins animés, via libplacebo) et RIFE (interpolation d’images par IA : de 30 à 60 images par seconde).
| Travail Video2X (source 854 × 480) | GPU | CPU (Vulkan logiciel) | Extrait de 10 secondes sur le GPU |
|---|---|---|---|
| Real-ESRGAN animevideov3 ×4 → 3416 × 1920 | 0,65 i/s, 0,1 vCPU | 0,15 i/s, 3,8 vCPU | environ 7 min 40 s |
| Real-ESRGAN animevideov3 ×2 → 1708 × 960 | 0,65 i/s | — | environ 7 min 40 s |
| Anime4K → 1920 × 1080 | 12,2 i/s, 0,7 vCPU | 1,9 i/s, 3,1 vCPU | 25 s |
| Anime4K → 3840 × 2160 | 7,4 i/s, 1,5 vCPU | — | 40 s |
| RIFE v4.6, 30 → 60 i/s | 7,3 i/s (14,6 images produites par seconde), 0,2 vCPU | 1,1 i/s, 3,1 vCPU | 41 s |
| Real-ESRGAN x4plus (modèle photo) ×4 | 0,02 i/s (48 s par image) | — | environ 4 heures |
Pour comparer Real-ESRGAN avec un outil réellement optimisé pour le CPU, nous avons aussi lancé le script vidéo PyTorch officiel sur les 4 vCPU : 0,60 image par seconde, presque la vitesse du GPU, mais avec tout le serveur occupé (3,8 vCPU). Pour Anime4K et RIFE, il n’existe pas d’outil CPU de ce genre : sans GPU, Video2X se rabat sur le Vulkan logiciel et il est 6 fois plus lent.
Conseils pratiques tirés de ces chiffres :
- Pour les dessins animés et les animés, commencez par Anime4K : presque en temps réel en 1080p, et le résultat est propre.
- Utilisez le modèle animevideov3 de Real-ESRGAN pour la vidéo, jamais le modèle photo (x4plus) : à 48 secondes par image, un extrait de 10 secondes devient un travail de quatre heures.
- RIFE ne coûte pas cher : 41 secondes pour passer un extrait 480p de 10 secondes de 30 à 60 images par seconde.
- Les longues vidéos se traitent la nuit. À 0,65 image par seconde, un épisode de 20 minutes à 30 images par seconde prend environ 15 heures avec Real-ESRGAN. Le serveur le fait pendant que vous dormez ; c’est fait pour ça.
3. Limites
- GPU partagé. Le GPU est partagé avec d’autres serveurs. Quand un autre serveur l’utilise, vos travaux reçoivent une part équitable mais tournent plus lentement : pendant notre session, la même photo 1080p a pris 189 s quand le GPU était inoccupé par ailleurs, et 226 à 268 s quand un autre serveur l’utilisait. Les chiffres ci-dessus sont mesurés avec un GPU inoccupé par ailleurs.
- Gardez la taille de tuile par défaut. Avec
-t 512, chaque travail GPU a duré plus longtemps que ce que le pilote autorise et a été arrêté : les images produites étaient noires. La valeur par défaut (automatique) ou-t 256fonctionnent et sont aussi rapides. - Pas de miracle. Une carte RTX de bureau fait tourner Real-ESRGAN bien plus vite. Si vous agrandissez des milliers d’images 4K chaque jour, louez un GPU dédié. Si vous agrandissez une photothèque, de vieux scans ou des extraits courts, cela suffit.
- L’IA invente des détails. Real-ESRGAN rend les images nettes, mais les nouveaux détails sont une supposition. Pour des documents, des visages à identifier ou des preuves, gardez l’original.
- L’application Upscayl elle-même est un programme de bureau. Sur un serveur, utilisez son moteur
upscayl-binen ligne de commande (ci-dessous), comme le fait Upscayl derrière ses boutons.
4. Quelle offre ?
- iGPU Start (2 vCPU, 8 Go de RAM, Perf 1, 14,99 € HT par mois) : agrandissement de photos avec le moteur d’Upscayl, lots d’images, Anime4K et RIFE sur des vidéos courtes. Ici, le GPU est 2,2 fois plus rapide que les 2 vCPU de l’offre, et les laisse libres.
- iGPU Power (4 vCPU, 14 Go de RAM, Perf 2 = deux fois la part GPU de Start, 29,99 €) : travaux Video2X qui durent des heures, grandes images (de 1080p à 8K), ou upscaling à côté d’autres services. La part GPU plus grande compte quand d’autres serveurs utilisent le GPU en même temps.
- iGPU Pro (6 vCPU, 14 Go, Perf 3, 44,99 €) : plusieurs longs travaux vidéo à la suite, ou upscaling plus d’autres travaux GPU (transcodage, inférence IA) sur le même serveur.
5. L’installer sur un serveur Linux GPU
Envie d’un serveur prêt à l’emploi ? Demandez-le par e-mail à la commande (contact@linuxgpu.eu) : nous pouvons vous livrer le serveur avec upscayl-bin, les modèles Real-ESRGAN et Video2X déjà installés et testés sur le GPU.
Nos serveurs sont livrés avec le pilote Vulkan Intel installé ; vulkaninfo --summary doit afficher
l’Intel UHD Graphics 770. Ensuite, pour les images :
# Le moteur d'Upscayl et les modèles Real-ESRGAN (versions officielles)
wget https://github.com/upscayl/upscayl-ncnn/releases/download/20251207-174704/upscayl-bin-20251207-174704-linux.zip
wget https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.5.0/realesrgan-ncnn-vulkan-20220424-ubuntu.zip
unzip upscayl-bin-*-linux.zip && unzip -d realesrgan realesrgan-ncnn-vulkan-*-ubuntu.zip
U=./upscayl-bin-20251207-174704-linux/upscayl-bin
# une photo, 4 fois plus grande, sur le GPU (-g 0)
$U -i photo.jpg -o photo-x4.png -m realesrgan/models -n realesrgan-x4plus -g 0
# un dossier entier, modèle dessin animé, sortie JPEG
$U -i scans/ -o scans-x4/ -m realesrgan/models -n realesrgan-x4plus-anime -g 0 -f jpg
Pour la vidéo, Video2X 6.4 est fourni en AppImage. Les serveurs n’ont en général pas FUSE, donc extrayez-la une fois :
wget https://github.com/k4yt3x/video2x/releases/download/6.4.0/Video2X-x86_64.AppImage
chmod +x Video2X-x86_64.AppImage && ./Video2X-x86_64.AppImage --appimage-extract
cd squashfs-root/usr/share/video2x # Video2X cherche ses modèles à partir d'ici
V=../../../AppRun
$V -l # le périphérique 0 doit être l'Intel UHD 770
# Real-ESRGAN, 2 fois plus grand
$V -i ~/clip.mp4 -o ~/clip-x2.mp4 -p realesrgan --realesrgan-model realesr-animevideov3 -s 2 -c libx264 -e crf=18
# Anime4K vers 1080p
$V -i ~/clip.mp4 -o ~/clip-1080p.mp4 -p libplacebo --libplacebo-shader anime4k-v4-a -w 1920 -h 1080
# RIFE : de 30 à 60 images par seconde
$V -i ~/clip.mp4 -o ~/clip-60fps.mp4 -p rife --rife-model rife-v4.6 -m 2
Lancez les longs travaux dans tmux ou avec nohup pour qu’ils continuent après votre déconnexion.
Pour le moteur vidéo du même GPU (décodage et encodage avec VA-API), lisez Transcodage vidéo accéléré : pas besoin d’un GPU à 500 €/mois et Intel Quick Sync (VAAPI) sur un VPS Linux : les commandes ffmpeg qui marchent. Pour d’autres modèles d’IA sur le même GPU, voir Inférence IA économique : OpenVINO sur GPU intégré, sans GPU à 500 €/mois.
Essayer
Voir les offres : iGPU Start coûte 14,99 € et iGPU Power 29,99 € HT par mois.