module inscription newsletter haut de page forum mobile

Ateliers et Formations

[CpteRendu] Interpolation d'images via l'Intelligence artificielle: DAIN - Depth-Aware Video Frame Interpolation

Discussion dans 'Compression, conversion vidéo' créé par PhilippeParis, 18 Février 2021.

  1. PhilippeParis

    Points Repaire:
    3 470
    Recos reçues:
    17
    Messages:
    1 023
    Appréciations:
    +16 / 47 / -0
    DAIN 1.0.PNG

    Essai de DAIN - L'interpolation d'image via l'Intelligence Artificielle (AI)
    Depth-Aware Video Frame Interpolation


    Tout le monde le sait, l'Intelligence Artificielle est partout et va révolutionner (pour le meilleur et pour le pire) le monde à venir et la vidéo n'y échappe pas (pour le meilleur).

    S'il existe des solutions pour augmenter la résolution d'une vidéo (Topaz Video Enhance dont je vous ferai peut-être un petit compte-rendu à l'occasion), je vous propose aujourd'hui un bref essai sur DAIN, l'outil d'interpolation d'images basé sur l'intelligence artificielle, qui a de plus l'avantage d'être entièrement gratuit pour peu que vous possédiez à ce jour (début 2021) une configuration PC Windows adéquate.

    Concrètement, DAIN va vous permettre de changer la fréquence d'images (Frame Rate) d'un film en créant de toute pièce des images intermédiaires manquantes.

    Ceci est particulièrement utile dans deux cas:
    • Le passage d'anciens films tournés par exemple en 18 Images/seconde (Super 8) pour les transformer en 24,25, 50 ou même plus, images par seconde
    • la possibilité de ralentis extrêmes sur des vidéos standard.
    Pour cela, DAIN s'appuie sur des techniques d'intelligence artificielle, dont pas grand monde ne comprend le fonctionnement, mais qui sont extrêmement efficaces.

    L'inconvénient est que la puissance de calcul nécessaire est phénoménale et ne fonctionne que sur des cartes graphiques de toute dernière génération NVIDIA équipée au minimum de CUDA cores, voire de TENSOR cores et que le traitement reste de toute façon très - très - long.

    Techniquement, les tests ont été réalisés sur un PC moyenne gamme récent (AMD Ryzen 1700 - 16Go de mémoire - Crate graphique NVIDIA GTX 1650 - sous Windows 10), le minimum pour DAIN qui a été téléchargé (c'est de l'Open Source) ici : Dain-App 1.0 [Nvidia Only] by GRisk (on n'est pas obligé de contribuer financièrement)

    J'ai pris un tout petit bout de film argentique scanné avec mon scanner Somikon ( voir les détails ici : Numérisation Super 8 - Retour d'expérience Scanner Somikon | Film argentique : projection et numerisation ) donc en 18 images/seconde que j'ai transformé en 72 Images/seconde (18X4). A titre indicatif, sur mon PC il faut compter environ 40 secondes pour générer les 3 images intermédiaires entre 2 images de base.

    Je vous ai mis le résultat final ici: Demo DAIN - Depth-Aware Video Frame Interpolation - pCloud

    Les fichiers:
    • 18FPS - Scan original.avi ==> Le fichier de départ
    • 72FPS - Interpolé par DAIN X4.avi ==> Le fichier résultat de DAIN en mode X4 (Interpolation fois 4)
    • 24FPS - DAIN 72FPS réduit à 24FPS.avi ==> J'ai repris le fichier DAIN 72FPS et je l'ai converti via VirtualDub en 24FPS (Virtual enlève les images pour arriver à 24FPS)
    • Idem pour 25FPS et 50 FPS
    • 50FPS - Adobe Optical Flow.mp4: ==> Pour comparaison, le fichier de départ 18FPS transformé par Adobe Premiere Pro via le mode Optical Flow, on voit qu'il y a beaucoup plus d'erreurs et d'artéfacts, même si l'on exclut les changements de scènes qui ne sont pas détectés.
    Dans le répertoire Détail des images, une séquence d'interpolation:

    1/ 18FPS - 0000000060 - Original Début.png l'image de début en 18i/s
    2/ 18FPS - 0000000061 - Original Fin.png l'image de fin en 18 images/secondes
    qui donne:

    3/ 72FPS - 000000000000221 Original début.png
    qui est l'image de départ en 72i/s donc la même que 1/
    4/ 72FPS - 000000000000225 Original Fin.png qui est l'image de fin en 72i/S donc la même que 2/​

    Et les 3 images interpolées:
    • 72FPS - 000000000000222 - Interpolé 1.png
    • 72FPS - 000000000000223 - Interpolé 2.png
    • 72FPS - 000000000000224 - Interpolé 3.png
    Ces 3 images sont quasi parfaites, on croirait qu'elles ont été tournées !

    Un dernier point, le système n'est malgré tout pas parfait, il reste des erreurs d'interpolation (que je vous laisse découvrir), mais bien moins qu'avec les techniques de morphing type Optical Flow.

    Pour plus d'information sur DAIN: Wenbo Bao's Homepage - DAIN
     
    #1 PhilippeParis, 18 Février 2021
    Dernière édition: 19 Février 2021
  2. Guilerep

    Points Repaire:
    2 320
    Recos reçues:
    5
    Messages:
    526
    Appréciations:
    +41 / 157 / -44
    Bonjour, interessant mais pas encore dispo !
    upload_2021-2-18_21-26-59.png
     
  3. PhilippeParis

    Points Repaire:
    3 470
    Recos reçues:
    17
    Messages:
    1 023
    Appréciations:
    +16 / 47 / -0
    Ca va venir, mais de doute façon il est recommandé de télécharger les fichiers et de les regarder en local (avec VLC par exemple) pour éviter le recodage par la plate-forme de Cloud.
     
    #3 PhilippeParis, 18 Février 2021
    Dernière édition par un modérateur: 18 Février 2021
  4. PhilippeParis

    Points Repaire:
    3 470
    Recos reçues:
    17
    Messages:
    1 023
    Appréciations:
    +16 / 47 / -0
    Afin de rendre les choses plus visuelles sur le site, ci joint un exemple d'interpolation.
    • La 1ère et la 5ème images sont des images scannés du film, donc des images originales.
    • Les 2,3, et 4ème images sont des images interpolés par DAIN donc totalement "inventées" par le logiciel. Le décalage est très léger mais ces images assurent la transition entre l'image 1 et l'image 5 du film tourné à l'origine en 18 images/seconde. Le film généré est ainsi à la fréquence de 72 images/seconde.
    On vérifie aisément qu'il n'y a quasiment pas d'artéfacts et que la qualité des images créées par DAIN est au rendez-vous.

    72FPS - 000000000000221 Original début.png 72FPS - 000000000000222 - Interpolé 1.png 72FPS - 000000000000223- Interpolé 2.png 72FPS - 000000000000224 - Interpolé 3.png 72FPS - 000000000000225 Original Fin.png
     
  5. PhilippeParis

    Points Repaire:
    3 470
    Recos reçues:
    17
    Messages:
    1 023
    Appréciations:
    +16 / 47 / -0
    Ci-dessous, un extrait détaillé des 5 images permettant de visualiser le déplacement par rapport au sol de la voiture:
    Démo DAIN.PNG
     
  6. TVA

    TVA

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    143
    Appréciations:
    +0 / 1 / -0
    Je suis ébahi par le résultat. C'est absolument remarquable.
    Il faut dire que je n'ai pas commencé petit, j'ai lancé un essai avec un AVI natif issu d'une numérisation d'un scanner FilmFabriek. Un fichier de 20 Go d'une durée de près de 5 minutes. Je n'ai pas un PC très haut de gamme mais quand même assez récent. L'opération a duré ... six heures environ.
    Pour mieux affiner mon propos, il s'agissait d'un petit morceau d'une bobine 8mm des années 60 qu'on m'avait chargé de numériser. Et l'opérateur avait cette manie de filmer des séquences de deux ou trois secondes, voire moins, comme quand on déclenchait un appareil photo. Dans ces conditions Premiere Pro est incapable d'interpoler les images en "flux optique" sans faire de la bouillie de pixels entre chaque séquence.
    Seul petit défaut, le logiciel ne propose pas d'autre solution que de produire un résultat qui ne soit un multiple du nombre d'image par seconde du fichier d'origine, dans mon cas 16 fps ce qui produit une vidéo à 32 fps qu'il va falloir ralentir.
    Je ne ferai pas ça tous les jours mais c'est très intéressant. Quand on a le temps ...
     
    • J'aime J'aime x 1
  7. bcauchy

    So

    Points Repaire:
    16 000
    Recos reçues:
    376
    Messages:
    26 449
    Appréciations:
    +809 / 2 767 / -66
    ;) Testé DAIN - Depth-Aware Video Frame Interpolation cet après-midi

    Impressionnant :
    pour un original d'une minute S8 généré par le scanner Sumikon
    Il découpe le fichier original en 1897 images PNG pour 3.6 Go ensuite il génère 3795 images PNG pour 4.66 Go complété par une vidéo mp4 ** de 218 Mo (59 fps) (total du dossier 8.5 Go)
    Mais hors encombrement ( ~ 510 Go pour une heure ) le temps de calcul est aberrant .
    j'aurais du relever le temps précis de calcul, il m'a semblait plus de deux heures !
    soit fois 120 !!
    Consomation :
    Cpu > i9 @ 3.60GHz (18868 Average CPU Mark ) ~ 16%
    Gpu > NVIDIA GeForce RTX 2060 SUPER ~ 6% (2176 Cœurs/CUDA , 8 Go GDDR6)

    Résultat : satisfaisant ...mais à quel prix
    Bertrand :jap:


    N.B. : paramétrage du logiciel "standard " il doit pouvoir être optimisé ?

    Demain je teste " Topaz Video Enhance AI "




     
  8. PhilippeParis

    Points Repaire:
    3 470
    Recos reçues:
    17
    Messages:
    1 023
    Appréciations:
    +16 / 47 / -0
    DAIN GPU.PNG Chez moi, avec une GTX 1650, le temps de traitement d'une interpolation (une itération) en mode X2 (doublement du Framerate) est d'environ 9 secondes, quand à la consommation GPU, elle est de 100% (voir l'indicateur Cuda sur le graphique).
     
  9. THEMASTER

    Points Repaire:
    1 970
    Recos reçues:
    11
    Messages:
    991
    Appréciations:
    +9 / 18 / -0
    As-tu un extrait video pour qu'on se rende bien compte ? Merci
     
  10. PhilippeParis

    Points Repaire:
    3 470
    Recos reçues:
    17
    Messages:
    1 023
    Appréciations:
    +16 / 47 / -0
  11. PhilippeParis

    Points Repaire:
    3 470
    Recos reçues:
    17
    Messages:
    1 023
    Appréciations:
    +16 / 47 / -0
    upload_2021-4-21_21-32-6.png

    RIFE-APP est l'évolution de DAIN
    Real-Time Intermediate Flow Estimation


    2 différences avec DAIN:
    • La mauvaise nouvelle: RIFE-APP est payant (24,90$)
    • La bonne nouvelle: IL est annoncé comme 25 fois plus rapide que DAIN !
    Le prix étant raisonnable, j'ai tenté l'expérience, c'est parfait :
    • Le résultat de l'interpolation est excellent
    • Le temps d'exécution est excellent aussi. A titre d'information, pour interpoler X4 une bobine 18ips de 4 minutes , moins d'une heure suffit avec une carte NVIDIA RTX 3060 12Go RAM.
    C'est ici: Rife-App by GRisk
     
    #11 PhilippeParis, 21 Avril 2021
    Dernière édition: 21 Avril 2021
    • J'aime J'aime x 1
Chargement...

Dernières occasions

 

Partager cette page