Créer un encodeur pal/secam/ntsc

Les vidéos présentées ici ont été colorisées grâce à l’IA.
https://www.youtube.com/channel/UCRTR0R-2n-rcMrItamVKX9g
Toutefois, je me demande comment coloriser informatiquement si aucune information de couleur n’est présente dans l’original ?

Cela utilise les réseaux de neurones artificiels :

  • On entraîne au préalable un modèle de réseaux de neurones en lui donnant en entrée une image en noir et blanc, avec en sortie l’image colorisée qu’il devra prédire,

l’image est convertie en vecteur numérique, pour être facilement manipulable par des opérations mathématiques,
entre l’entrée et la sortie du réseau de neurones il y a plusieurs couches équipées de neurones artificiels, qui vont appliquer des opérations mathématiques (une multiplication) sur des vecteurs via des « poids » (un peu comme des coefficients), lorsque la multiplication dépasse une certaine valeur (déterminée par une fonction d’activation) alors la valeur est transmise au neurone de la couche suivante, qui refait le même travail, jusqu’à la sortie (l’image colorisée),

on répète l’opération des millions de fois avec d’autres exemples d’images, à chaque itération les poids de chaque neurone de chaque couche sont mis à jour de manière à minimiser l’erreur de prédiction en sortie (la tâche du réseau étant de prédire la bonne couleur de tel pixel de l’image en sortie), une fois l’apprentissage terminé on aura un modèle efficace, qui saura prédire une image couleur plausible, en faisant de simples opérations de multiplications (aucune intelligence réelle, c’est juste une grosse calculatrice qui applique des poids sur des valeurs numériques).

voilà expliqué de manière très grossière comment fonctionne un réseau de neurones artificiels, il y a rien d’intelligent en fait, c’est juste une moulinette mathématique à plusieurs couches dont on a trouvé les bons « poids » (après un long apprentissage) qui permettent de générer des couleurs plausibles depuis une image noir et blanc en entrée.

fr.wikipedia.org/wiki/Apprentissage_profond
fr.wikipedia.org/wiki/R%C3%A9se … %C3%A9seau
towardsdatascience.com/colorizi … 92d71956e2

le principe existe depuis les années 50, mais à l’époque on avait pas assez de puissance de calcul pour mettre en oeuvre ces réseaux de neurones artificiels, il a fallu attendre le début des années 2010 quand les cartes graphiques sont devenus suffisamment puissantes pour faire l’apprentissage sur des quantités énormes de données (un CPU mettrait trop de temps, les cartes graphiques ont l’avantage de faire des millions de calculs en parallèle, ça accélère le temps d’apprentissage des réseaux de neurones, au lieu que ça prenne plusieurs mois avec un CPU ça prendra que 8 heures par exemple avec des données d’apprentissage de 50 millions d’images et une bonne carte graphique).

J’imagine que cela implique entre autres la méthode des moindres carrés ?
https://fr.wikipedia.org/wiki/M%C3%A9thode_des_moindres_carr%C3%A9s

On mesure de l’erreur de prédiction avec une fonction de coût (loss en anglais) appellée aussi parfois « fonction objectif », qui peut être de plusieurs type : cross-entropy pour les problèmes de classification (dire si telle image est un chat ou un chien, ici 2 étiquettes), l’erreur quadratique (mean square error) pour les problèmes de régression (prédire un nombre, la température qu’il fera demain à partir d’une donnée statistique en entrée par exemple).

une fois connue l’ampleur de l’erreur alors un algorithme est utilisé pour modifier les poids de chaque couche du réseau de neurones afin de minimiser l’erreur, le plus connu et le plus ancien s’appelle « descente de gradient stochastique » (SGD en anglais), il en existe d’autres plus ou moins performants selon le type de réseau de neurones artificiels et le type de données.

fr.wikipedia.org/wiki/Algorithm … ochastique

Malheureusement, mon niveau de maths et d’algèbre est assez limité !
Difficile pour moi de comprendre ces équations :frowning:

Mince, je suis démasqué :mrgreen:

C’est clair c’est pas évident, après il y a des chaines youtube qui tentent de rendre la chose beaucoup plus compréhensible pour le grand public ou ceux qui ne sont pas fans des maths,
youtube.com/results?search_ … p+learning

si tu sais faire du python alors il y a des tutoriels autour de keras, une bibliothèque pour python (intégrée à tensorflow) pour faire du deep-learning, sans trop être embêté par les maths, c’est un peu comme du légo,
tu assembles des briques pour obtenir un résultat à la fin, tous les concepts mathématiques sont masqués, pour ne présenter que l’essentiel à l’utilisateur :
keras.io/

(sans objet)

+1
D’ailleurs je rappelle à Domi-Niaque qu’il est interdit de publier la photo de quelqu’un sans son accord.

Oui c’est vrai qu’il y a un risque d’usurpation, et les autres personnes sur la photo peuvent n’être pas d’accord pour la publication.
Le souci a été corrigé, je retrouve donc mon anonymat (relatif vu qu’il est très théorique sur internet, avec les cookies, les traqueurs, les logs des FAI).