Mise à l'échelle de l'image - Image scaling

Une image mise à l'échelle avec la mise à l'échelle du plus proche voisin (à gauche) et la mise à l'échelle 2 × SaI (à droite)

En infographie et en imagerie numérique , la mise à l' échelle de l' image fait référence au redimensionnement d'une image numérique. Dans la technologie vidéo, le grossissement du matériel numérique est connu sous le nom de mise à l'échelle ou d' amélioration de la résolution .

Lors de la mise à l'échelle d'une image graphique vectorielle , les primitives graphiques qui composent l'image peuvent être mises à l'échelle à l'aide de transformations géométriques, sans perte de qualité d'image . Lors de la mise à l'échelle d'une image graphique raster , une nouvelle image avec un nombre de pixels supérieur ou inférieur doit être générée. Dans le cas d'une diminution du nombre de pixels (mise à l'échelle), cela entraîne généralement une perte de qualité visible. Du point de vue du traitement du signal numérique , la mise à l'échelle des graphiques matriciels est un exemple bidimensionnel de conversion de fréquence d' échantillonnage , la conversion d'un signal discret d'une fréquence d'échantillonnage (dans ce cas la fréquence d'échantillonnage locale) à une autre.

Mathématique

La mise à l'échelle de l'image peut être interprétée comme une forme de rééchantillonnage ou de reconstruction d'image à partir du théorème d'échantillonnage de Nyquist . Selon le théorème, le sous-échantillonnage vers une image plus petite à partir d'un original à plus haute résolution ne peut être effectué qu'après avoir appliqué un filtre anti-aliasing 2D approprié pour éviter les artefacts d'aliasing. L'image est réduite à l'information qui peut être portée par la plus petite image.

Dans le cas d'un suréchantillonnage, un filtre de reconstruction remplace le filtre anti-aliasing.

Une approche plus sophistiquée de la mise à l'échelle traite le problème comme un problème inverse , résolvant la question de la génération d'une image plausible qui, une fois réduite, ressemblerait à l'image d'entrée. Diverses techniques ont été appliquées pour cela, notamment des techniques d'optimisation avec des termes de régularisation et l'utilisation de l'apprentissage automatique à partir d'exemples.

Algorithmes

La taille d'une image peut être modifiée de plusieurs manières.

Interpolation du plus proche voisin

L'un des moyens les plus simples d'augmenter la taille de l'image est l' interpolation du plus proche voisin , en remplaçant chaque pixel par le pixel le plus proche dans la sortie ; pour la mise à l'échelle, cela signifie que plusieurs pixels de la même couleur seront présents. Cela peut préserver des détails nets dans le pixel art, mais également introduire des irrégularités dans des images auparavant lisses. "Le plus proche" dans le plus proche voisin ne doit pas nécessairement être le plus proche mathématique. Une implémentation courante consiste à toujours arrondir vers zéro. Arrondir de cette manière produit moins d'artefacts et est plus rapide à calculer.

Algorithmes bilinéaires et bicubiques

L'interpolation bilinéaire fonctionne en interpolant les valeurs de couleur des pixels, introduisant une transition continue dans la sortie même lorsque le matériau d'origine présente des transitions discrètes. Bien que cela soit souhaitable pour les images à tons continus, cet algorithme réduit le contraste (bords nets) d'une manière qui peut être indésirable pour les dessins au trait. L'interpolation bicubique donne des résultats nettement meilleurs, avec une augmentation du coût de calcul.

Rééchantillonnage Sinc et Lanczos

Le rééchantillonnage sinc fournit en théorie la meilleure reconstruction possible pour un signal parfaitement limité en bande. En pratique, les hypothèses sous-jacentes au rééchantillonnage sinc ne sont pas complètement satisfaites par les images numériques du monde réel. Le rééchantillonnage de Lanczos , une approximation de la méthode sinc, donne de meilleurs résultats. L'interpolation bicubique peut être considérée comme une approximation efficace du point de vue informatique du rééchantillonnage de Lanczos.

Échantillonnage de boîtes

Une faiblesse des algorithmes bilinéaires, bicubiques et apparentés est qu'ils échantillonnent un nombre spécifique de pixels. Lors d'une réduction d'échelle en dessous d'un certain seuil, par exemple plus de deux fois pour tous les algorithmes de bi-échantillonnage, les algorithmes échantillonnent les pixels non adjacents, ce qui entraîne à la fois une perte de données et des résultats approximatifs.

La solution triviale à ce problème est l'échantillonnage par boîte, qui consiste à considérer le pixel cible comme une boîte sur l'image d'origine et à échantillonner tous les pixels à l'intérieur de la boîte. Cela garantit que tous les pixels d'entrée contribuent à la sortie. La faiblesse majeure de cet algorithme est qu'il est difficile à optimiser.

Mipmap

Les mipmaps sont une autre solution au problème de réduction d'échelle de la mise à l'échelle du bi-échantillonnage . Un mipmap est un ensemble pré-dimensionné de copies à échelle réduite. Lors de la réduction d'échelle, la mipmap la plus grande la plus proche est utilisée comme origine, pour garantir qu'aucune mise à l'échelle en dessous du seuil utile de mise à l'échelle bilinéaire n'est utilisée. Cet algorithme est rapide et facile à optimiser. Il est standard dans de nombreux frameworks tels que OpenGL . Le coût utilise plus de mémoire d'image, exactement un tiers de plus dans l'implémentation standard.

Méthodes de transformée de Fourier

Une interpolation simple basée sur la transformée de Fourier complète le domaine fréquentiel avec zéro composant (une approche basée sur une fenêtre lisse réduirait la sonnerie ). Outre la bonne conservation (ou récupération) des détails, on remarque la sonnerie et le saignement circulaire du contenu du bord gauche au bord droit (et inversement).

Interpolation dirigée par les bords

Les algorithmes d'interpolation dirigée par les bords visent à préserver les bords de l'image après la mise à l'échelle, contrairement à d'autres algorithmes, qui peuvent introduire des artefacts en escalier.

Des exemples d'algorithmes pour cette tâche incluent la nouvelle interpolation dirigée par les bords (NEDI), l'interpolation d'images guidées par les bords (EGGI), l' interpolation itérative basée sur la courbure (ICBI) et l' interpolation directionnelle par convolution cubique (DCCI). Une analyse de 2013 a révélé que DCCI avait les meilleurs scores en PSNR et SSIM sur une série d'images de test.

hqx

Pour agrandir des graphiques informatiques avec une faible résolution et/ou peu de couleurs (généralement de 2 à 256 couleurs), de meilleurs résultats peuvent être obtenus par hqx ou d'autres algorithmes de mise à l'échelle pixel-art . Ceux-ci produisent des bords nets et maintiennent un niveau de détail élevé.

Vectorisation

L'extraction vectorielle, ou vectorisation , offre une autre approche. La vectorisation crée d'abord une représentation vectorielle indépendante de la résolution du graphique à mettre à l'échelle. Ensuite, la version indépendante de la résolution est rendue sous forme d'image raster à la résolution souhaitée. Cette technique est utilisée par Adobe Illustrator , Live Trace et Inkscape . Les graphiques vectoriels évolutifs sont bien adaptés aux images géométriques simples, tandis que les photographies ne s'en sortent pas bien avec la vectorisation en raison de leur complexité.

Réseaux de neurones à convolution profonde

Cette méthode utilise l'apprentissage automatique pour des images plus détaillées telles que des photographies et des illustrations complexes. Les programmes qui utilisent cette méthode incluent waifu2x , Imglarger et Neural Enhance.

Démonstration de l'upscaling conventionnel vs l'upscaling Waifu2x avec réduction du bruit, en utilisant un détail de Phosphorus et Hesperus par Evelyn De Morgan . Cliquez pour les tailles complètes.
Image originale
Image agrandie à 200 % à l'aide de PaintShop Pro
Image agrandie à 200% à l'aide de waifu2x en mode photo avec réduction de bruit moyenne
Image redimensionnée à 400 % à l'aide de Topaz AI Gigapixel avec une faible réduction du bruit
Image agrandie à 400 % à l'aide de RealSR DF2K-JPEG

Applications

Général

La mise à l'échelle de l'image est utilisée, entre autres, dans les navigateurs Web , les éditeurs d' images, les visionneuses d'images et de fichiers, les loupes logicielles, le zoom numérique, le processus de génération d' images miniatures et lors de la sortie d'images via des écrans ou des imprimantes.

Vidéo

Cette application est le grossissement d'images pour les home cinémas pour les périphériques de sortie compatibles HDTV à partir de contenu PAL-Resolution, par exemple à partir d'un lecteur DVD. La mise à l'échelle est effectuée en temps réel et le signal de sortie n'est pas enregistré.

Mise à l'échelle pixel-art

Comme les graphiques pixel-art sont généralement à faible résolution, ils reposent sur un placement minutieux des pixels individuels, souvent avec une palette de couleurs limitée. Il en résulte des graphiques qui s'appuient sur des repères visuels stylisés pour définir des formes complexes avec une faible résolution, jusqu'aux pixels individuels. Cela fait de la mise à l'échelle du pixel art un problème particulièrement difficile.

Des algorithmes spécialisés ont été développés pour gérer les graphiques pixel-art, car les algorithmes de mise à l'échelle traditionnels ne prennent pas en compte les indices perceptuels.

Étant donné qu'une application typique consiste à améliorer l'apparence des jeux vidéo de quatrième génération et des versions antérieures sur des émulateurs d' arcade et de console , beaucoup sont conçus pour fonctionner en temps réel pour de petites images d'entrée à 60 images par seconde.

Sur du matériel rapide, ces algorithmes sont adaptés aux jeux et à d'autres traitements d'images en temps réel. Ces algorithmes fournissent des graphiques nets et nets, tout en minimisant le flou. Des algorithmes de mise à l'échelle ont été implémentés dans une large gamme d'émulateurs tels que HqMAME et DOSBox , ainsi que des moteurs de jeux 2D et des récréations de moteurs de jeux tels que ScummVM . Ils ont gagné en notoriété auprès des joueurs, pour qui ces technologies ont encouragé un renouveau des expériences de jeu des années 1980 et 1990.

De tels filtres sont actuellement utilisés dans les émulateurs commerciaux sur Xbox Live , Virtual Console et PSN pour permettre aux jeux classiques à basse résolution d'être plus attrayants visuellement sur les écrans HD modernes . Les jeux récemment sortis qui intègrent ces filtres incluent Ultimate Genesis Collection de Sonic , Castlevania: The Dracula X Chronicles , Castlevania: Symphony of the Night et Akumajō Dracula X Chi no Rondo .

Voir également

Les références