Google a une nouvelle technique pour affiner les images de basse résolution

Félix Cattafesta |

Google travaille actuellement sur une façon d'améliorer la résolution d'images de mauvaise qualité grâce à une intelligence artificielle. Dans un billet de blog, la firme de Mountain View a dévoilé des résultats impressionnants. Sur cette image, on peut voir l'augmentation de la résolution d'un portrait, qui passe de 64 x 64 pixels à 1024 x 1024 pixels.

Image : Google.

Le procédé utilisé ici est le SR3 (ou Super-résolution par raffinement répété). Il consiste à appliquer du bruit gaussien à une image à faible résolution jusqu'à ce qu'elle se transforme en bruit pur. Ensuite, l'IA utilise des technologies de réduction de bruit pour inverser le processus de corruption de l'image en supprimant peu à peu le bruit, et aboutir à la même image mais d'une bien plus grande définition et de meilleure qualité. Pour parvenir à ces résultats, les chercheurs ont entrainé leur modèle de calcul sur des images de haute qualité qui ont subi cette dégradation.

Cette technique permet de reconstruire efficacement une image presque sans bruit et dont la résolution est quatre fois supérieure à l'originale. Des tests ont été menés en interne avec des humains, qui ont été dupés presque une fois sur deux par les clichés recréés. Google annonce que son IA est plus puissante que celles développées jusqu'à présent : à terme, elle pourra être utilisée pour améliorer de vieilles photos de famille, mais aussi dans le domaine médical.

avatar 7X | 

Je n'arrive pas à le croire.

avatar Tomtomrider | 

Ce que l’on voit dans les séries policières depuis 20 ans en quelque sorte!
John, augmentez moi la résolution !
Tout de suite chef!
Et voilà, on a le coupable!

avatar raoolito | 

@Tomtomrider

j'allais le dire hahaha !

avatar celebration | 

@Tomtomrider

Ahaha oui c’est exactement ça 😁

avatar noooty | 

@Tomtomrider

C’est vrai que ça faisait rêver ces vieilles séries. Et je n’ai jamais réussi à faire pareil.
Mais que vont bien pouvoir inventer encore ces séries américaines ?

avatar Amaczing | 

@noooty

"@Tomtomrider
C’est vrai que ça faisait rêver ces vieilles séries. Et je n’ai jamais réussi à faire pareil.
Mais que vont bien pouvoir inventer encore ces séries américaines ?"

La prochaine évolution ça sera un doigt bien placé et les inspecteurs sauront qui est coupable 🤡

avatar laraigneegypsymontealagouttiere | 

@Tomtomrider

Les mecs qui arrivent toujours à avoir une image hyper nette du tatouage au niveau du poignet du gars qui se trouve à 10m et en plus de nuit via les images de la caméra de surveillance analogique basse résolution de la station service 😂😂😂

avatar cybercooll | 

@laraigneegypsymontealagouttiere

Dans ennemi d’état ils arrivent à faire une rotation de l’image pour voir l’arrière d’un sac après avoir augmenté la résolution. C’était il y a 20 ans. Alors je suis pas impressionné.

avatar NicolasBordeaux | 

Il existe déjà Remini sur l’app store qui donne des résultats probants ! Je l’utilise régulièrement
Mais la solution de Google semble encore plus puissante

avatar Lucas | 

C’est assez impressionnant c’est clair ! La question reste de savoir quand et comment la technologie sera accessible, et évidemment il y aura un mix de super usages et de détournement dangereux, comme pour tout…

avatar Celeri | 

Je ne sais pas si c'est une grosse blague ou s'il y a un problème de traduction, mais c'est mathématiquement inepte : si à un moment on se retrouve avec une image composée de bruit pur, on pourra faire tous les traitements du monde sans en tirer la moindre information que ce soit, et donc la moindre image.

avatar YetOneOtherGit | 

@Celeri

"ne sais pas si c'est une grosse blague ou s'il y a un problème de traduction, mais c'est mathématiquement inepte : si à un moment on se retrouve avec une image composée de bruit pur, on pourra faire tous les traitements du monde sans en tirer la moindre information que ce soit, et donc la moindre image."

Et pourtant:

http://ai.googleblog.com/2021/07/high-fidelity-image-generation-using.html

L’entraînement s’effectue bien à partir d’une création de dégradation conduisant à une image haute résolution ayant les caractéristiques spectrales du bruit.

😉

Je sais c’est assez déstabilisant quand on rentre pas dans les détails 🤓

Faire attention à ce que ne qualificatif inepte ne soit pas utilisé juste par une vision trop superficielle et des réflexes mécaniques.

avatar Alex Giannelli | 

@YetOneOtherGit

Boum.
This is John Cena.
💥

avatar marc_os | 

> si à un moment on se retrouve avec une image composée de bruit pur

Ben je dirais justement qu'il ne s'agit pas de bruit "pur".
Il s'agit de quelque chose qui ressemble à du bruit mais qui a été produit par des algorithmes.
Un peu comme les nombres pseudo-aléatoires qui ont les propriétés statistiques de nombres aléatoires mais dont on peut reproduire la séquence si on part de la même "graine". Enfin, c'est ce à quoi ça me fait penser...

avatar YetOneOtherGit | 

@marc_os

"Ben je dirais justement qu'il ne s'agit pas de bruit "pur".
Il s'agit de quelque chose qui ressemble à du bruit mais qui a été produit par des algorithmes."

Spectralement c’est bien du bruit et c’est ce qui est impressionnant dans le processus d’apprentissage qui va “apprendre” à retrouver le signal à partir de ce bruit😎

Quand on est sur des approches de ML il faut abandonner bien des principes classiques du traitement de signal. C’est un véritable changement de paradigme.

avatar YetOneOtherGit | 

@marc_os

"Un peu comme les nombres pseudo-aléatoires qui ont les propriétés statistiques de nombres aléatoires mais dont on peut reproduire la séquence si on part de la même "racine". "

Nope une série est pseudo aléatoire car elle à une périodicité qui permet d’inférer ses valeurs futures si l’on a un horizon d’observation suffisant.

Ce n’est pas un enjeu de distribution statistique des valeurs qui fait la nature pseudo aléatoire, mais la prédictibilité des valeurs futures à partir de la connaissance des valeurs passées.

Bref une comparaison qui n’est ici pas pertinente.

avatar marc_os | 

@ YetOneOtherGit

Voici la pertinence de la comparaison :

Toi même tu écris : image haute résolution ayant les caractéristiques spectrales du bruit
Moi : les nombres pseudo-aléatoires [...] ont les propriétés statistiques de nombres aléatoires

avatar YetOneOtherGit | 

@marc_os

"Voici la pertinence de la comparaison :"

Comparaison n’est pas raison 😉

Les comparaison c’est toujours douteux et ce n’est pas d’un point de vue statistique qu’une suite est pseudo-aléatoire mais de part son déterminisme 😉

C’est pour cela que je relevais la limite de ton analogie.

Nous avons réellement du bruit en fin de processus ici pas du pseudo-bruit 😎

avatar sachouba | 

@YetOneOtherGit

Donc si j'invente une suite de nombres déterministe, par exemple la suite :
1, 2, 3, 4, 5, 1, 2, 3...
elle est pseudo-aléatoire car elle est déterministe ?
C'est une condition suffisante ?

avatar YetOneOtherGit | 

@sachouba

"C'est une condition suffisante ?"

Tu as raté une marche dans nos propos 😉

C’est le pseudo que l’on questionne pas l’aléatoire 😉

Le fait que d’un point de vue statistique la distribution de valeurs sembles aléatoire est un postulat de base ici.

Le pb c’est la périodicité.

TAOCP, Vol 2, Chap 3 😛

avatar iPop | 

@marc_os

Le bruit EST algorithmique. Le hasard ça n’existe pas en informatique.

avatar marc_os | 

@ iPop

C'est ce que je sous-entendais. 😉

avatar YetOneOtherGit | 

@iPop

"Le bruit EST algorithmique"

Ça c’est intéressant un bruit généré n’est-il pas du bruit?

Comme souvent tout est affaire d’horizon d’observation.

Au vue de la période d’un bon générateur de nombre pseudo aléatoire pour que le spectre ne soit pas celui d’un bruit il faut une fenêtre d’observation trés très largement plus large que le nb de pixel de l’image.

Une séquence de longueur raisonnable face à la période du générateur pseudo aléatoire de qualité est bel est bien du bruit absolument indifférentiable par l’analyse d’un bruit issu d’une source physique sur le même interval d’observation.

Le pb d’un bon générateur de nb pseudo aléatoire n’est pas la qualité de son aléa sur un intervalle raisonnable mais sa périodicité permettant sur un intervalle d’observation long de prédire ses résultats (Et pire si le seed est toujours le même évidemment)

avatar dodomu | 

@Celeri

C’est parce que l’on ne se base pas sur l’image composée de bruit pur pour faire la reconstitution.
Le pur bruit de départ n’est qu’une base de travail, qui va être modifiée par passe successive de l’algorithme, pour se rapprocher petit à petit de l’image voulu en haute résolution.
L’algorithme ne va pas chercher à extraire de l’information du bruit, mais va en rajouter petit à petit.

C’est finalement assez semblable au travail du peintre qui peint un paysage sur une toile : il va réaliser une copie d’une image (la réalité qu’il perçois avec ses yeux), sur un support (la toile), en appliquant des couches de peinture successives, de façon conforme à son apprentissage du métier de peintre.
Remplacez la toile par l’image constituée de bruit pur, le paysage par l’image en faible résolution, le peintre par l’algorithme, et l’apprentissage du métier de peintre par l’entraînement de l’algorithme, et l’on se retrouve dans la situation décrite par l’article 🙂

avatar Woaha | 

@Celeri

À partit de bruit pur on aura aussi des images mais des images aléatoires. C’est un peu le principe du deep dreaming.

avatar mne | 

@Celeri

JE n'ai pas lu le detail technique mais je soupçonne qu'il n'y ai pas seulement l'image de départ -> le bruit -> l'image de fin mais que l'algorithme de reconstruction se base sur une analyse de la manière dont la décomposition initiale s'est faite (de l'image vers le bruit). En gros on montre à un algorithme comment transposer d'une image en bruit, puis on lui demande de faire l'inverse.

avatar raoolito | 

c'est pas les ML scale qu'on peut trouver sur photoshop ou pixelmator ?

avatar pocketalex | 

@raoolito

L'IA d'Adobe est formidable, mais franchement loin de ce que je vois ici

avatar Ensearque | 

@raoolito

Pas exactement. Le ML décale comme son nom l’indique fait une mise à l’échelle. Ici on parle d’augmenter la résolution (le nombre de pixel par pouce) afin d’avoir une image plus détaillée

avatar Pico | 

Impressionnant mais difficile de juger tout de même.
Un test intéressant serait de prendre une image haute résolution. La réduire et la proposer à cet algo Google puis de comparer la version Google avec l’originale.

avatar jchirac | 

@Pico

J’imagine que c’est en grande partie comme ça que l’ « IA » est entraînée.

avatar switch (non vérifié) | 

Etant donné qu'un algorithme de Machine Learning ne fonctionne correctement qu'après un entrainement avec des terra-octets de données, il y a fort à parier que Google à puisé dans les milliards de photos haute définition stockées par les utilisateurs dans Google photos (sans oublier Google images) pour arriver à de tels résultats. Ce n'est pas l'usage le plus bluffant que le ML puisse fournir, mais il sera surement très utile dans tous les systèmes de reconnaissance faciale.

avatar v1nce29 | 

Pas sûr. Il parle d'ImageNet qui est une banque publique qui compte "moins de" 15 millions d'images.

avatar misterbrown | 

Impressionnant !

J’applaudis

avatar BLM | 

«résolution est quatre fois supérieure à l'originale»
• Résolution ou définition? Si on conserve la taille de l’image, cela revient au même : augmenter la définition d’un facteur 4 est aussi augmenter la résolution du même facteur.
• je ne comprends pas le « quatre fois supérieur ».
Si on passe d’une image de 64 pixels de large à une image de 1024 pixels, la définition est multipliée par 2 pour passer à 128 px, puis par 2 pour passer à 256, puis par 2 pour passer à 5 12, avant une dernière multiplication par 2 pour arriver à 1024. Autrement dit la définition finale n’est pas 4 fois l’initiale, elle est améliorée d’un facteur 2 exposant 4, soit 16.
De plus ce facteur 16 est aussi appliqué dans le sens de la hauteur.
La définition de l’image finale 1024 x 1024 est donc 16 × 16 = 256 fois meilleure que celle de l’image initiale 64 x 64.

avatar marc_os | 

@ BLM
C'est bien ce que je me disais aussi...

avatar YetOneOtherGit | 

@BLM

"• je ne comprends pas le « quatre fois supérieur ». "

C’est un processus en pipeline quadruplant le nb de pixel à chaque étape , c’est cette précision qui manque à l’article 🤓

avatar YetOneOtherGit | 

@BLM

"Résolution ou définition"

Vieux débat où on oublie le poids des anglo-saxons pour qui il y a :
- Le concept de pixel-density lié à la dimension physique
- Le concept de resolution absolument abstrait

avatar BLM | 

@YetOneOtherGit
Ce n’est pas du tout « un vieux débat ».
Une image est caractérisé par trois choses :
–sa dimension « métrique », en unité de longueur (largeur fois longueur), ou de surface;
–Sa définition : L’échantillonnage spatial utilisé (sur la largeur ou sur la longueur, en général c’est le même échantillonnage) pour mesurer les caractéristiques de l’objet originel, qui lui n’est pas numérique mais analogique (continu) ;
–le rapport de la qualité de l’échantillonnage (définition) par la dimension métrique, donne la résolution(En pixels par unité de longueur).
Certes, définition et résolution ne sont donc pas des grandeurs indépendantes puisqu’elles sont reliées par la dimension métrique.
Il n’empêche que ce sont quand même des notions différentes.
– la seule qui vaille pour décrire la qualité intrinsèque d’une image est sa définition.
– la résolution de l’image est une notion intéressante quand on s’intéresse à sa perception par l’œil (humain): pour un œil standard, une résolution supérieure à 300 pixels par pouce n’a guère d’intérêt. Autrement dit une image de 300 pixels sur (environ) 1 cm de largeur paraît à l’œil continue (à distance normale d’observation, soit environ 25 cm ou plus). Mais si on observe l’image (comme une publicité sur un panneau 4x3), à une distance d’une dizaine de mètres ou plus, sa résolution peut être « dégueulasse » : quelques pixels par pouce.
Ce n’est pas un discours sur le sexe des anges anglo-saxons.

avatar YetOneOtherGit | 

@BLM

"Ce n’est pas du tout « un vieux débat »."

Au que si c’est même une antienne assez ridicule frôlant la sodomisation inutile de drosophiles pour des enjeux triviaux.

avatar BLM | 

@YetOneOtherGit
«Au que si c’est même une antienne assez ridicule frôlant la sodomisation inutile de drosophiles pour des enjeux triviaux.»
Oh que non!
C’est parce que de nombreuses personnes ne comprennent rien au distinguo subtil entre définition et résolution que ces mêmes personnes balancent une image 24Mpx dans un mail, quand elle sera affichée sur un écran avec une définition VGA (Et là, franchement, j’aimerais bien que mes correspondants enculent un peu plus les mouches).
Ou bien c’est parce que de nombreuses personnes ne comprennent rien à ces fondamentaux qu’elles vont avoir de la peine à scanner ou imprimer correctement un document.

avatar YetOneOtherGit | 

@BLM

"Ou bien c’est parce que de nombreuses personnes ne comprennent rien à ces fondamentaux qu’elles vont avoir de la peine Un scanner ou imprimer correctement un document."

Si tel est ton enjeu, que je partage, je ne crois pas que la clé soit dans le distinguo de vocabulaire mais plutôt dans l’explication du concept simple de densité de pixel à travers les DPI.

C’est moins académique mais plus efficace pour éviter les écueils que tu dénonce, de mon point de vue.

avatar pocketalex | 

Mes clients m'envoient souvent des visuels trop petits pour être correctement exploités

Par exemple du 1000x1000px environ, pour faire des créas sur des supports digitaux dont les dimensions vont de 1000x1000 à 1000x2000 ou 2000x1000. Même pour le plus petit format, la source est déja trop petite car bien souvent il convient de la recadrer, isoler une partie, ect

Alors je leur demande si ils ont pas plus grand, ce à quoi ils me répondent parfois "c'est du TIF" ou "c'est du 300dpi"

Une image a beau être au format TIF, ou définife à 300 dpi dans ses réglages (meta-datas), cela n'en fait pas automatiquement une grande image, mais juste un visuel au format TIF, et/ou défini à 300 dpi, au final si elle fait 1000x1000px ... elle reste trop petite pour être utilisable

Et ça j'en ai tous les jours 😂

avatar Flyingbike | 

@BLM

+1000

A force d’éviter d’en»@&ler les diptères, les gens deviennent stupides.
Donc oui parfois en&€@lons les diptères !

avatar DG33 | 

@Flyingbike

Pour ça encore faudrait-il que la nature n’ait pas été très généreuse coté outil…

avatar YetOneOtherGit | 

@BLM

"Une image est caractérisé par trois choses :"

Notions assez triviales il me semble.

Je suis en général assez exigeant sur la rigueur du vocabulaire, mais sur ce point j’ai toujours trouvé que c’était une posture de “sachant” stigmatisant “l’ignorant” pour peu de choses.

Bref c’est véniel et le fruit de la domination anglo-saxonne sur nos secteurs.

Par contre expliquer qu’une image en 300 DPI sans autre information ça ne veut rien dire, là c’est un combat nécessaire (Même s’il est évidemment corollaire, je préfère réagir sur cette base et non sur la confusion de vocabulaire entre définition et résolution un peu académique)

avatar v1nce29 | 

L'algo fonctionne bien pour x4 à x8. Pour passer de 64 à 1024, ils ont fait 2 passes en cascade 64 => 256 => 1024.

avatar YetOneOtherGit | 

@v1nce29

"L'algo fonctionne bien pour x4 à x8. Pour passer de 64 à 1024, ils ont fait 2 passes en cascade 64 => 256 => 1024."

Si tu regardes la version longue du papier ils ont testé plusieurs pipeline avec des gains différents sur chaque étapes 😉

avatar BLM | 

Pour venir au fond de l’article, c’est-à-dire à la reconstruction d’un objet « fantasmé » à partir d’une image réelle de basse résolution,
– j’ai quelques doutes(par exemple sur l’image de la femme) sur la véracité des ridules imaginées sous son œil droit, ou bien des légères imperfections imaginées sur sa joue droite.
–Lorsqu’une image est prise en basse résolution, il y a perte définitive d’information. Essayer de retrouver l’information d’origine comporte me semble-t-il une partie de supposition. Algorithmes d’intelligence artificielle ou pas, ce ne sont quand même pas des « trucs » doté de pouvoirs magiques.
– Ce que je veux dire, c’est que la prise de vue d’un objet par un dispositif de résolution limitée constitue une perte d’information qui se traduit par une solution mathématique unique ; alors que l’inverse n’est pas vrai : L’intelligence artificielle peut supposer l’aspect de l’objet d’origine, lui faire subir la transformation mathématique correspondant à la dégradation de la résolution pour obtenir une image virtuelle en basse résolution et comparer cette image virtuelle avec l’image réelle, et adapter peu à peu l’aspect supposée de l’objet originel pour que l’image virtuelle colle au mieux avec l’image réelle de basse résolution.
Pour traduire ça mathématiquement :
- la mesure (l’image) obtenue est le produit de convolution de la matrice décrivant les qualités de l’objet originel par la matrice décrivant la transformation induite par l’appareil de mesure (ici l’appareil photo);
– Retrouver à partir d’une image les qualités de l’objet originel revient à inverser la matrice de l’appareil de mesure, puis à effectuer la convolution entre la matrice de l’image réelle par la matrice inverse de mesure;
–Tout le problème est qu’inverser une matrice de prise de vue… est impossible. Il n’y a pas unicité de la reconstruction.
– La seule méthode est celle que je décrivais : itérativement supposer une matrice descriptive de l’objet originel, simuler numériquement le produit de convolution par l’appareil de mesure, comparer l’image virtuelle obtenue avec l’image réelle, et recommencer. On obtient Les caractéristiques de l’objet originel… avec une certaine « confiance » mathématiquement mesurable.

avatar YetOneOtherGit | 

@BLM

"Pour traduire ça mathématiquement : "

Penches toi sérieusement sur le ML qui remet en question bien des visions classique du traitement du signal et de l’information.

D’un certain poids de vu c’est aussi déstabilisant que ne le fut le passage à la physique quantique en son temps.

Un véritable changement de paradigme demandant de remettre en question tout son système de pensée.

Pages

CONNEXION UTILISATEUR