module inscription newsletter haut de page forum mobile

Ateliers et Formations

[Projet] Restauration IA — Apocalypse Now Workprint

Discussion dans 'IA - les nouveaux outils audiovisuels' créé par PhilippeParis, 27 Avril 2026, à 23:34.

Tags:
  1. PhilippeParis

    Appréciations:
    +16 / 49 / -0

    Points Repaire:
    3 470
    Recos reçues:
    18
    Messages:
    1 029
    Bonjour à tous,

    Ce fil présente un projet de restauration du Workprint d'Apocalypse Now — la version de travail du film, captée sur VHS, qui circule depuis des années dans une qualité très dégradée. L'objectif est de lui redonner une image propre grâce à l'intelligence artificielle, en développant un modèle entraîné spécifiquement pour corriger ce Workprint.

    Le Workprint

    Le Workprint est une version de montage intermédiaire du film, différente des sorties officielles. Elle contient des scènes absentes des versions commerciales — séquences étendues, prises alternatives. Dans notre cas, le Workprint n'existe qu'en VHS, avec tout ce que ça implique — bruit vidéo, instabilité, couleurs passées, définition catastrophique.

    L'entraînement

    La source est un fichier de 555 947 frames en 29.97fps, issu d'une capture d'écran filmé — une caméra filmant l'écran cinéma —, ensuite enregistrée sur bande, copiée sur VHS puis recodée en DVD. Les images ne sont pas synchronisées et peuvent apparaitrent sur plusieurs frames.

    À partir de là, un réseau GAN (modèle IA de restauration d'image) a été entraîné en mettant en parallèle des scènes du Workprint avec les scènes rigoureusement identiques issues des versions commerciales du film — Final Cut et Redux — alignées le plus précisément possible frame à frame. Le modèle apprend ainsi précisément comment transformer la VHS du Workprint pour atteindre la qualité de la version commerciale, en connaissant exactement les caractéristiques de la cible, les textures, les couleurs, les déformations, les artéfacts à corriger, etc. Pas de modèle générique — un modèle taillé pour cette source.

    Il applique ensuite ce qu'il a appris sur des images qu'il ne connaît pas, restaurant ainsi la source VHS. Les principales difficultés sont de constituer le jeu de données d'entrainement qui doit être représentatif et équilibré (si vous mettez trop d'images de nuages, vous aurez des nuages partout) et de suivre et régler la courbe d'apprentissage du modèle. Il faut vérifier régulièrement les résultats et corriger.

    Le traitement s'effectue en résolution VHS native, une étape 4K étant préparée mais trop longue à entraîner pour l'instant. Cette étape, interruptible à tout moment, progresse par itérations successives qui améliorent la qualité à chaque passe et se compte en dizaines d'heures sur un système top niveau 2026 (Proc 16 cores, Carte Nvidia RTX5090, 2To mini d'espace disque libre sur SSD ultra rapide, quand c'est bien codé, les traitements prennent 100% CPU, 100% GPU et 1GO/seconde et lecture d'un côté ET en écriture de l'autre côté).

    Le timecode brûlé

    Ce Workprint dispose d'un timecode brûlé dans l'image, typique des copies de travail. Un pipeline complet a été développé pour le lire, le corriger automatiquement et le réinjecter en overlay sur l'ensemble du film.

    Le rôle de Claude

    L'intégralité du code du projet — pipeline d'extraction, préparation des données, entraînement du GAN, inférence, correction du timecode, génération de l'overlay — a été écrite par Claude (claude.ai), l'IA d'Anthropic. Aucune compétence en programmation n'est nécessaire : le projet est piloté uniquement à partir de directives en langage naturel. Claude génère, corrige et fait évoluer le code à chaque session. Ce projet est autant une démonstration de ce qu'il est possible d'accomplir avec un outil IA bien dirigé que de restauration vidéo en elle-même.

    État d'avancement

    36 heures d'entraînement ont été réalisées sur cet example. Un exemple restauré a été généré à l'échelle du DVD NTSC, suivi d'un suréchantillonnage avec un logiciel du marché. Un exemple suit — la VHS d'origine, puis la VHS restaurée par l'IA.

    Le projet est publié ici : Apocalypse Now Workprint - Ultimate 2026 IA Restoration and Remaster : Free Download, Borrow, and Streaming : Internet Archive

    Apocalypse Workprint SD Sample1.mp4 - pCloud

    Apocalypse Workprint SD Restauré Sample1.mp4 - pCloud

    Apocalypse Workprint FHD Sample 1.mp4 - pCloud

    Attention, le lecteur intégré à Pcloud ne restitue pas la qualité de l'enregistrement, pour voir les détails, il est nécessaire de télécharger les enregistrements.

    N'hésitez pas si vous avez des questions !
     
    #1 PhilippeParis, 27 Avril 2026, à 23:34
    Dernière édition: 28 Avril 2026, à 01:20
    • Je recommande ! Je recommande ! x 1
    • J'aime J'aime x 1
  2. Pierre_F

    So
    Appréciations:
    +82 / 340 / -1

    Points Repaire:
    7 575
    Recos reçues:
    36
    Messages:
    709
    Projet très intéressant d'application de LLM. Dans quel cadre fais tu cela ?
    J'imagine que tu as utilisé ta machine de bureau pour faire cela. Elle est un peu faible pour de l'image en mémoire. As tu essayé de combiner Claude avec un moteur plus dédié image ?

    Quels sont les traitements liés aux nettoyages et ceux liés au traitement de la couleur ?

    Merci pour le partage en tout cas.
     
  3. PhilippeParis

    Appréciations:
    +16 / 49 / -0

    Points Repaire:
    3 470
    Recos reçues:
    18
    Messages:
    1 029
    Apocalypse Now est mon film préféré de tous les temps (avec 2001, l'Odyssée de l'Espace pour l'inventivité des images), c'est un hobby personnel de restaurer cette copie du Workprint, j'aurais adoré être Daniel Costelle et restaurer les images d'archive :) (et réaliser les interviews des Grandes Batailles du Passé dans les années 60, LA référence).

    Le système est mon PC personnel, Ryzen 9950X3D 16 cores, NVIDIA CUDA RTX 5090, 48 GO RAM, le haut de gamme 2026, qui me sert également à faire de la simulation de vol, il est parfaitement adapté à la tâche (pour du personnel), le point étant que l'IA, utilise massivement toutes les ressources disponibles, ça consomme autant qu'un radiateur électrique (~800 watts en charge, l'adaptateur coudé d'alimentation de ma carte graphique avait commencé à fondre, c'est Claude qui m'a diagnostiqué le problème à partir de copies d'écran PNG des mesures techniques d'un logiciel de monitoring de mon système !).

    Je fais de l'informatique perso depuis que ça existe (c'est aussi mon métier). je suis fasciné par l'IA, je me rappelle il y une quinzaine d'années quand on parlait des réseaux neuronaux, on n'imaginait pas que ça irait jusque là, c'est totalement incroyable, une révolution dont on n'est qu'aux débuts, les progrès vont être fabuleux dans tous les domaines, je pense à la médecine notamment, mais tout le reste aussi.
    Dans ce projet, Claude m'écrit (et corrige) en quelques secondes ce qui m'aurait pris une semaine avant, J'ai développé en 10 jours ce qui m'aurait pris au moins 6 mois il y a encore 2 ans, ça multiplie les possibilités, il n'y a plus de limites aux idées...
    J'ajoute que c'est accessible à tous du moment que vous savez vous servir d'un clavier et d'une souris, Claude vous donne chaque commande à passer, il vous corrige chaque erreur, il propose des solutions, développe le code, les interfaces, vous explique les possibilités, le tout en français et sans aucun bagage technique nécessaire, la version gratuite permet de découvrir les possibilités, j'ai commencé par optimiser mon PC "Claude je veux optimiser mon PC qui plante de temps en temps".

    Aujourd'hui, j'utilise Grok, l'IA de Musk, pour toutes les questions pour lesquelles j'utilisais Google avant, et pour ce projet Claude.ai spécifiquement suite à une discussion avec un internaute sur Discord il y a 3 semaines.

    Plus globalement, disposer d'une plate-forme IA en France est aussi stratégique que de disposer du nucléaire pour l'énergie qui est la clef de tout !

    Pour revenir au sujet, j'espère que vous avez regardé la vidéo avant/après, c'est vraiment bluffant, je me rappelle il y a une vingtaine d'années quand on essayait simplement de débruiter une vidéo VHS et qu'on disait que les outils ne pouvaient pas inventer les détails qui n'existaient pas sur la copie...
     
    #3 PhilippeParis, 28 Avril 2026, à 11:33
    Dernière édition: 28 Avril 2026, à 12:06
    • J'aime J'aime x 1
  4. PhilippeParis

    Appréciations:
    +16 / 49 / -0

    Points Repaire:
    3 470
    Recos reçues:
    18
    Messages:
    1 029
    En fait j'ai deux traitements, un traitement avec le modèle spécifique que j'entraine, je lui donne 1/ l'image VHS et 2/ l'image équivalent du Bluray, et je lui dit "apprend". Il apprend par lui-même à passer de l'un à l'autre sur tous les domaines. Dans le principe il créé une fonction mathématique qui permet de partir de l'image VHS pour aboutir à l'image Bluray, donc ça couvre tout, les déformation de l'écran, les couleurs, les détails, le grain, les textures, la netteté, etc. C'est un process unique et c'est ce que fait le moteur entre la vidéo SD numéro 1 et la numéro 2.

    Ensuite, pour l'upscale en Full HD, j'ai utilisé un moteur du commerce sur ma vidéo résultat (numéro 2). Si on applique l'upscale directement sur la vidéo VHS de base, les résultats sont nets, mais les couleurs, les détails ne sont pas ajoutés (forcément le moteur du commerce ne les connait pas) et l'image est juste un upscale net et lissé, les halos VHS apparaissent comme des auras autour de la tête d'un Saint, c'est moche.
    L'upscale sur ma vidéo numéro 2 permet d'utiliser les détails que j'ai ajoutés, les nouvelles couleurs, et ne traite pas les artéfacts VHS qui ont été supprimés. Les résultat est totalement différent.
     
  5. PhilippeParis

    Appréciations:
    +16 / 49 / -0

    Points Repaire:
    3 470
    Recos reçues:
    18
    Messages:
    1 029
    Exemple d'une session Claude:

    je pose une question simple, il me répond techniquement (pas besoin de comprendre le détail, mais on apprend au fur et à mesure), mais surtout, il va me générér les fichiers STEP10, etc. que je vais copier/coller et lancer sur mon PC. Si ça plante, je lui fait une copie d'écran ou des messages et je lui demande de me corriger le fichier et on recommence. C'est tout !

    Prompt (ce que je tape):

    Je reprends à zéro le training avec des quintuplets. Par contre, tu me crées des steps à partir de 10, sans effacer les anciens. Peux-tu résumer les opérations et les techniques que nous allons utiliser, ainsi que les steps que tu prévois ?

    Réponde de Claude:

    Résumé du nouveau pipeline — Quintuplets natif 654×480

    Problème résolu

    Le flottement des textures et micro-grille verticale vient d'un contexte temporel insuffisant (±1 frame). Les quintuplets portent le contexte à ±2 frames, et RAFT actif dès iter 0 force la cohérence de mouvement dès le début de l'apprentissage.

    Techniques utilisées

    Architecture — RRDBNet avec num_in_ch: 15 (5 frames × 3 canaux). La couche conv_first lit les 5 frames simultanément et apprend directement la trajectoire de mouvement dans ses features.

    RAFT dès iter 0 — 4 paires de flux optique calculées à chaque itération :

    • lq_prev2 → lq_prev1
    • lq_prev1 → lq_curr
    • lq_curr → lq_next1
    • lq_next1 → lq_next2
    Chaque frame SR doit être cohérente avec les 4 voisines warpées selon le flux réel — pas de tolérance au flottement.

    flow_weight: 1.0 — doublé par rapport au run précédent (0.5), car le modèle part de zéro et doit apprendre la contrainte temporelle dès les premières itérations.

    Rejet des quintuplets sur coupure de scène — si une des 5 frames franchit un cut détecté (saut de luminance > seuil), le quintuplet est rejeté à la construction du dataset.

    temporal_weight: 0.1 — réduit car RAFT couvre mieux la cohérence directionnelle. La loss temporelle brute reste pour les zones statiques.

    Milestones — [120000, 200000, 260000], total_iter: 300000, LR initial 1.2e-4.

    Steps prévus

    Step Fichier Rôle

    10
    step10_prepare_quintuplets_654x480_native.py Construit le dataset quintuplets — extrait les paires (LR×5, HR centrale) alignées depuis les frames existantes, rejette les quintuplets avec coupure de scène

    11
    step11_check_quintuplets_654x480_native.py Audit du dataset — vérifie alignement, distribution de variance, couverture des travellings, affiche statistiques et exemples visuels

    12
    step12_train_quintuplets_654x480_native.py Lancement training from scratch — crée un nouvel experiment finetune_quintuplets_654x480_native, initialise les poids RRDBNet depuis zéro

    12b
    step12_train_resume_quintuplets_654x480_native.py Resume training depuis le dernier state sauvegardé

    12c
    step12_train_monitor_quintuplets.py Monitor Tkinter adapté — affiche l_flow sur 4 paires, l_temporal, phases GAN, ETA milestones

    13
    step13_infer_quintuplets_654x480_native.py Inférence sur les 555k frames avec le nouveau modèle quintuplets — sliding window de 5 frames, même format de sortie que step04

    13b
    step13_infer_monitor_quintuplets.py Monitor inférence — progression, preview, ETA, ERR
    Fichiers de config créés en parallèle :

    • finetune_quintuplets_654x480_native.yml — yml complet avec num_in_ch: 15, flow_weight: 1.0, nouveaux milestones
    • temporal_sr_model.py mis à jour — 5 branches RAFT, quintuplet feed, _make_safe_log_dict étendu
    Ordre d'exécution

    step10 → step11 (vérification) → step12 → [step12b si reprise]
    → step13 → tc06 overlay → Resolve
    On commence par quel step ? Je recommande step10 d'abord — le dataset est la fondation de tout, et il faut valider le rejet des coupures de scène avant de lancer quoi que ce soit.
     
    #5 PhilippeParis, 28 Avril 2026, à 12:51
    Dernière édition: 28 Avril 2026, à 13:07
  6. Pierre_F

    So
    Appréciations:
    +82 / 340 / -1

    Points Repaire:
    7 575
    Recos reçues:
    36
    Messages:
    709
    (Je fais ce genre de projets iA pour les entreprises, c'est mon métier, nous développons nous même les modèles et nous sommes sur du serveur d'entreprise en RHEL dans des DataCenters).

    Oui j'ai regardé l'avant après.
    Ce que j'aime dans Apocalypse Now, c'est aussi la bande son ;)
     
  7. PhilippeParis

    Appréciations:
    +16 / 49 / -0

    Points Repaire:
    3 470
    Recos reçues:
    18
    Messages:
    1 029
    Je vois, je vois, j'ai fait une grande partie de ma carrière chez IBM Software.

    Pour la bande son, je me suis posé la question de savoir si, à l'exception des outils du marché, on pouvait faire quelque chose pour l'améliorer, l'original est en mono, j'ai fait un cleanup, j'ai tenté un bande son stéréo qui est potable puis du 5.1, mais là, le résultat est mauvais (je sais, c'est un métier), je me demandais si en terme d'IA il y avait des pistes à explorer.
     
    #7 PhilippeParis, 28 Avril 2026, à 13:41
    Dernière édition par un modérateur: 28 Avril 2026, à 15:38
  8. homero

    So
    Appréciations:
    +1 184 / 6 495 / -20

    Points Repaire:
    16 500
    Recos reçues:
    818
    Messages:
    28 984
    Résultats étonnants, on n'est pas dans la renaissance habituelle des images, comme un "re-développement" pour des archives qui va améliorer et révéler tout ce qui est pourrait y être enfoui à leur insu, autrefois par des procédés de restauration classiques argentiques : contre-types avec étalonnages soustractifs ou additifs, ou même de la restauration numérique car là ce qui n'existe pas à l'état physique dans l'original, l' IA offre une re-création permettant d'ouvrir des hypothèses : ça aurait pû être ça, c'est là son principal mérite. Passionnant !

    Merci à Philippe Paris pour son travail de recherche. :bravo:

    Edité car j'avais envoyé un mauvais brouillon
     
    #8 homero, 28 Avril 2026, à 13:48
    Dernière édition: 28 Avril 2026, à 20:31
    • Merci Merci x 1
  9. PhilippeParis

    Appréciations:
    +16 / 49 / -0

    Points Repaire:
    3 470
    Recos reçues:
    18
    Messages:
    1 029
    Oui, l'IA peut trouver des infos cachées et invisibles, des motifs sous-jacents qui permettent de retrouver des détails enfouis mais existants.

    Il y a encore de gros progrès possible, par exemple pour la colorisation, j'imagine qu'on pourrait retourner sur le lieu d'une vidéo d'archive, filmer à une période équivalente et retrouver la colorimétrie exacte, voire la couleur et la texture exactes de la terre, des arbres, etc.

    Ca permet aussi de vulgariser et rendre accessible, concernant la séquence Apocalypse Now restaurée, je considère que la version VHS est difficilement regardable, c'est assez désagréable, le son est mauvais aussi, c'est assez pénible.

    Avec les nouveaux détails, les couleurs et un son nettoyé, c'est vraiment agréable, y compris sur un écran ciné via un rétroprojecteur, on découvre une nouvelle version avec le plaisir de l'image, meme si de près il y a des artéfacts, globalement on les oublie.
     
    #9 PhilippeParis, 28 Avril 2026, à 14:22
    Dernière édition: 28 Avril 2026, à 15:43
  10. Pierre_F

    So
    Appréciations:
    +82 / 340 / -1

    Points Repaire:
    7 575
    Recos reçues:
    36
    Messages:
    709
    Moi aussi .. IBM EMEA à l'époque mais plus maintenant.:)
     

Partager cette page