module inscription newsletter haut de page forum mobile

Rejeter la notice

ateliers live resolve avec forest

Ateliers Live Resolve - Formez-vous en ligne tous les mois avec Forest !
Faites rapidement évoluer la qualité de vos étalonnage avec nos ateliers mensuels de 3h.
Toutes les infos
Rejeter la notice

Nouvelle Formation Prise de son : les inscriptions sont ouvertes !
Maîtrisez la qualité de vos prises de son avec notre formation théorique et pratique de 3 jours ! Du 14 au 16 mai 2024 à Paris.

DeepFake Live

Discussion dans 'Effets spéciaux visuels' créé par giroudf, 5 Décembre 2022.

  1. giroudf

    So

    Points Repaire:
    15 400
    Recos reçues:
    454
    Messages:
    18 164
    Appréciations:
    +747 / 3 142 / -34
    Bon, j'ai essaye pour vous le DeepFake Live, programme en telechargement libre qui permet de remplacer votre visage par celui de quelqu'un d'autre et tout ca en remps reel, pour autant que vous possediez le GPU de course qu'il convient d'utiliser. (perso une 3090)

    Premiere constatation, ca marche, plutot facilement, installation rapide sans connaissance particuliere.
    Apres, c'est evidemment assez bluffant pour avoir envie de jouer avec quelques heures, mais la qualite de l'image reste tres basique, donc evitons les gros plan. Efficace pour rigoler sur Whatsapp avec vos copains, qui seront surpris de se retrouver en ligne avec Poutine ou Tom Cruise.

    Petite limitation, la fonction de remplacement de visage garde la forme de votre tete, donc il faut quand meme ressembler vaguement dans la forme au personnage dont vous voulez enfiler l'apparence.
    un chapeau/casquette sera evidemment necessaire, le programme ne vous fera pas repousser les cheveux.

    une autre fonction plus pratique pour nous amateurs, est celle qui permet d'animer une photo,
    Ca marche etonnament bien, avec une meilleure resolution et l'avantage c'est que vous pouvez utiliser la photo de n'importe qui.

    Pour ceux qui voudraient recreer le setup complet de substitution de visage pour ne pas se limiter aux quelques stars disponibles (une vingtaine en format DFM, un fichier d'environ 700mb a 1giga selon la resolution, qui en standard est de 244 pixels), il y la possibilite de mouliner votre propre DFM avec l'application d'origine DeepFake.
    Mais la ca rigole plus, il faut environ 5000 images de la tete de votre cible , prises sous tous les angles, avec un eclairage variable. (c'est pour ca que c'est pratique de faire ca avec une personalite, c'est pas les images qui manquent).
    Ensuite il faut mouliner tout ca dans l'application pendant plusieurs jours, a feux doux, en touillant de temps en temps. La encore , il faut une machine de course pour que ca ne dure pas une eternite.
    La encore, la procedure est assez simple et a la portee de n'importe qui.
    On peut envisager par exemple de le faire pour rajeunir ses propres videos, en se remplacant par soi-meme en version plus jeune.
    On peut accelerer le processus de capture en montant une installation ad-hoc qui consiste en un anneau de lumiere (comme une aureole au-dessus de la tete) qui permet d'avoir une lumiere qui vient de differentes direction et en faisant bouger sa bouche, ses yeux, ses sourcils et sa tete et la camera (plongee , contre-plongee, face profils etc.., on peut meme accelerer le processus en mettant plusieures cameras.)
    Pour aider les non-acteurs, on peut meme mettre un grand ecran (55 pouces) assez pres de lui (env 1m) avec un mots qui se ballade sur l'ecran . le sujet doit suivre le mot des yeux et le repeter jusqu'a ce qui'il change).En plus on peut faire varier le fond de l'ecran ce qui projette une lumiere de couleur differentes. Un ecran HDR pourrait etre un atout avec sa luminosite plus elevee qu'un ecran standard.
    a 12 i/s , on obtient les 5 a 10.000 images en 15 minutes.

    on filme en continu et ensuite on convertit le film en sequence d'images.
    On obtient ainsi rapidement une gamme d'images tres variees qui convient a ce genre d'usage.
    Je pense qu'on va voir rapidement ce genre de service apparaitre professionellement.

    Resultat, si vous avez besoin d'un bout de film connu avec votre tete a la place de l'acteur en titre, c'est facile et rapide.
     
    #1 giroudf, 5 Décembre 2022
    Dernière édition: 5 Décembre 2022
    • J'aime J'aime x 3
  2. nestaphe

    So

    Points Repaire:
    13 225
    Recos reçues:
    216
    Messages:
    1 764
    Appréciations:
    +169 / 1 207 / -2
    Merci. Si on peut faire quelque chose pour toi... T'as le plus besoin du visage ou du corps ? :-)

    Trêve de niaiserie, la technologie est quand même bien utile pour montrer le visage du comédien jouant le personnage sur les scènes doublées par un cascadeur, un danseur ou un artiste martial.

    Bon, espérons qu'il nous arrive quand même encore des Bebel, des Jean Marais, des Buster Keaton, des Burt Lancaster, des Steeve McQueen, des Harisson Ford, des Tom Cruise, des Angélina Jolie, des Zoë Bell, des Jason Statham, des Bruce Lee, des Jackie Chan, des Van Damme, des Stallone et des Schwarzy...
     
    • Je recommande ! Je recommande ! x 1
  3. homero

    So

    Points Repaire:
    16 500
    Recos reçues:
    742
    Messages:
    28 178
    Appréciations:
    +1 083 / 5 576 / -20
    Et des Kitten Natividad ... ;) ... Surtout en période Noël !
     
  4. giroudf

    So

    Points Repaire:
    15 400
    Recos reçues:
    454
    Messages:
    18 164
    Appréciations:
    +747 / 3 142 / -34
    bon, je vais piquer vos photos et vous faire dire des conneries...
    allez, par qui je commence....
    au hasard...
    upload_2022-12-6_14-54-42.jpeg

    comme quoi laisser trainer son visage sur internet, ca devient compromettant...
     
    • Amusant Amusant x 2
  5. bcauchy

    So

    Points Repaire:
    16 000
    Recos reçues:
    341
    Messages:
    24 350
    Appréciations:
    +649 / 2 269 / -38
    Et pour d'autres si ce n'étais que le visage !:rolleyes:....
    Les Instagram et consort cela devient n'importe quoi !
    les gens étalent leur vie que cela en devient indécent !
     
  6. samalaplaya

    So

    Points Repaire:
    6 205
    Recos reçues:
    42
    Messages:
    602
    Appréciations:
    +31 / 82 / -0
    Hello, ça aurait été sympa de mettre un lien (même si ce n'est pas difficile à trouver), c'est toujours plus friendly dans un post... ;)

    Sinon, petite expérience qui ne concerne pas la techno en question mais la rapidité d'implémentation dans l'existant d'une technologie naissante : à en juger par ce qui s'est passé avec ce qui a fini en Magic Mask dans Resolve, je pense que ce type de code va rapidement arriver dans les mises à jours 2023 des logiciels intéressés...
    Le code python qui se sert de l'AI pour reconnaitre les éléments du contexte était en effet disponible à peu près 2 ans avant, je l'avais essayé avec Damian Allen et c'était très efficace.
    Évidemment, installer en ligne de commande des instructions et lancer des lecteurs de scripts pour analyser un clip et sortir des masques image/image, c'était pas très sexy :). Mais ça fonctionnait pareil sans accélération que maintenant avec quelques clics dans l'environnement d'un logiciel soutenu par le GPU.

    En plus, la partie concernant l'adaptation du visuel aux reliefs - du visage notamment - existe déjà dans son coin (c'est par exemple le powermesh de Mocha Pro ou le Surface Tracker de Resolve), si on est optimiste on peut donc considérer que l'adoption peut être imminente.
    :jap:
     
  7. giroudf

    So

    Points Repaire:
    15 400
    Recos reçues:
    454
    Messages:
    18 164
    Appréciations:
    +747 / 3 142 / -34
    ca depend, vu le coté "hacker" et l'usage principal actuel (des Jokes, mais surtout du Porn et des fakes), ont peut se demander si Adobe ou blackmagic s'empresseront d'implementer ca. Pas trop facile a défendre du point de vue "Corporate".
    C'est vrai que DeepFaceLive est juste un "lecteur" de contenu et qu'il faut quand meme de l'huile de coude pour faire quelque chose de personalisé.
    si on se limite ajouer avec la bouille de tom Cruise et d'une poignée d'autres modèles dispo (il va y en avoir de plus en plus, mais on voit que ca demande du travail, parce que le nombre n'explose pas pour l'instant) ca va.
    Mais faire ca pour un client qui veut un truc particulier ca demande encore un travail assez énorme (surtout la capture video, ce qui va donner du boulot aux videastes) sans compter les jours et les semaines de calcul pour obtenir un DFM dans une resolution accesptable (au moins 320, voir 512).

    C'est pour ca le genre de setup que je decris pour la capture peut faire la difference, si tu arrives a produire les 5000 images nécessaire en une quinzaine de minutes tu peux avoir des clients.
    sinon le temps et le travail a fournir (donc le prix) deviennent vite redhibitoire.

    peut-etre que pour ceux que ca interesse , ca vaut la peine de decrire sommairement le procédé.

    Pour commencer on utilise un autoencodeur, qui va prendre des miliers de photos d'une tete, en ressortir les traits genéraux (ceux qui changent) et essayer de reconstruire l'image de départ.
    on arrive a un apprentissage parfait quand la tete en entrée est reproduite parfaitement en sortie.

    Alors vous me direz, a qui ca sert tout ca pour avoir la meme image en sortie qu'en entrée ?
    En fait c'est pas le résultat qui compte, mais le fait que le programme a pu créer un ensemble de règles qui lui permettent a partie d'un visage, de recréer un visage et ca surtout par le fait qu'on utilise le meme encodeur, mais des decodeurs differents.
    du coup on refait la manip une deuxieme fois avec un autre visage (par exemple celui de nicolas Sarkozy) et on obtient un autre ensemble de règles qui permettent de reconstruire le visage de l'ex president.

    De cette maniere, comme on a utilisé le meme autencodeur (qui utilise la backpropagation au contraire d'un GAN, la backpropagation consistant a faire un truc, a regarder si c'est bien ou pas, et a recommencer en essayant de faire mieux) pour créer les règles, il suffit de croiser les fichiers de règles pour permettre de reconstruire le visage de N.Sarkozy a partir d'un autre visage.
    [​IMG]
    Le programme ne s'apercoit pas qu'on a croisé les fichiers, le decodeur essaie donc de reconstruire votre visage, avec les regles de celui de Sarkozy.(ou plutot de reconstituer le visage de Sarkozy avec les regles de votre visage

    alors idealement, le premier fichier de règle devrait etre fait avec le visage de celui qui va se faire passer pour Sarkozy. Mais evidemment c'est pas pratique, parce qu'on aimerait bien que n'importe qui puisse utiliser le programme.

    Alors le premier fichier de règle on l'a fait avec des milliers de visages pris au hasard (librairie d'image que vous trouvez sur le web) , ce qui fait que si on glisse le votre dedans, le programme devrait pas etre trop déstabilisé,parce des visages il en a vu plein comme le votre ( a part si vous ressemblez a éléphantman ou que vous venez d'une autre planete.)

    A noter que le gros boulot pour l'humain, c'est de creer ces images. en general on le fait a partir de videos (on colle ensemble plein de petits bouts de videos ou apparaitt le personnage a copier), puis on transforme cette video en image (en prenant 1 frame sur 5 par exemple, parce qu'il est necessaire d'avoir des images tres differentes, deux images quasi identiques vont allonger le temps de calcul sans rien apporter.
    Ensuite on doit passer en revue ces images pour eliminer celle qui sont floue, ou carrement si c'est la tete d'un autre bonhomme qui a ete capturee.
    Vous imaginez que passer 5 ou 8000 (quand c'est pas 20.0000) images en revue, ca prend du temps
    ensuite on passe a la moulinette ces images pour extraire que le visage. A cet effet on peut encore ajouter des masques pour cacher des zones qu'on ne veut pas introduire (comme une meche de cheveux ou des lunettes ou une cigarette etc...).
    On fait pas le masque sur toutes les images , mais plus il y en a mieux c'est.
    On voit donc que meme si c'est un travail pas trop complique, ca demande enormement de temps, et il faut encore s'assurer qu'on a bien toutes les images requises.
    Par exemple si vous n'avez pas d'images de votre personnage qui tire la langue, vous ne pourrez pas lui faire tirer la langue. Ou si il ne sourit jamais ou ne fronce jamais les sourcils, ca va poser probleme.
    On voit que pour certains personnages publique ou il convient de montrer un visage impassible, ca facilite pas les choses. (sauf peut-etre avec des gars bien vivant comme Georges Marchais ou Jean-Luc Melenchon ou Nicolas Sarkozy)
    On comprend donc l'avantage de pouvoir faire son modele avec un equipement dedie (comme decrit precedemment) avec plusieures cameras qui donnent un angle different de la meme photo, un eclairage different avec des ombres differentes, une position des yeux qui change, une bouche tantot ouverte ou fermee, etc...
    Le probleme aussi c'est que certains acteurs sont modelises a partir d'un seul film, pas trop recent.
    Le resultat obtenu ne joue donc pas si entre-temp l'acteur a pris 20 ans.
    Donc meme si on possede le modele d'un acteur, il est probable qu'il faudra le mettre a jour regulierement. L'avantage est qu'on peut rajeunir un acteur en collant sur lui-meme, un visage anterieur de quelques annees, puisque on possede les deux modeles.

    Idealement pour que ca marche super bien, on ne devrait avoir qu'un visage, celui de l'utilisateur du programme. Probable que Nicolas Canteloup s'est fendu de quelques jours de calcul pour passer sa tete a la moulinete, ce qui n'est rien en regard de l'enorme travail de passer a la moulinette les principaux personnages du PAF.
    Et probable qu'il n'est pas pret a mettre en ligne ses fichiers, vu que c'est son gagne pain.
    On peut imaginer aussi que rapidement, les cascadeurs ou des doublures specialisees se fassent passer la tronche a la moulinette pour pouvoir offrir a leurs client la possibilite de mettre d'autres visages (plus connus) sur le tete.
     
    #7 giroudf, 7 Décembre 2022
    Dernière édition: 8 Décembre 2022
  8. giroudf

    So

    Points Repaire:
    15 400
    Recos reçues:
    454
    Messages:
    18 164
    Appréciations:
    +747 / 3 142 / -34
    voila j'ai ecris un petit programme en AUTOIT qui affiche des bandes de couleurs en haut, bas, gauche et droite de l'ecran pour generer un eclairage different et aleatoire.
    au milieu de l'ecran on a une liste de mots qui s'affiche que le cobay doit prononcer.
    eventuellement , sous le mot a prononcer, une action a faire.

    idealement on fera tourner ca sur un pc connecté a un ecran 55 pouces face au sujet (et assez pres pour que les couleurs de l'ecran rejaillissent sur le visage du sujet.
    les bandes bougent pour avoir un eclairage encore plus aleatoire.
    on mettra au moins 3 cameras (une au centre , une a gauche en legere contre-plongee , une a droite en legere plongee)

    tout le truc maintenant est de choisir la liste des mots, des actions et les couleurs pour optimiser les images. on peut aussi diminuer la largeur des barres de couleurs si l'effet est trop prononcé et agrandire la zone blanche du centre de l'écran pour apporter plus d'eclairage.
    a tester selon les cameras.

    voila le script autoit (on l'arrete avec la touche espace)

    Code:
    #include <GuiConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ColorConstants.au3>
    #Include <ScreenCapture.au3>
    #Include <Misc.au3>
    
    Global $iXL, $iYL, $iXP, $iYP, $iBar, $iCol, $sColbackgnd, $Label1, $iWord, $iAction
    Dim $word[25]
    $word[1]="BA-BE-BI-BO-BU"
    $word[2]="FRAPADINGUE"
    $word[3]="MIRACULEUX"
    $word[4]="COLOSSAL"
    $word[5]="MULTIPLE"
    $word[6]="MAMAN"
    $word[7]="PAPA"
    $word[8]="SUPERIEUR"
    $word[9]="INFERIEUR"
    $word[10]="CASSANDRA"
    $word[11]="MERLIN"
    $word[12]="TOGOLAIS"
    $word[13]="SYMANTEC"
    $word[14]="VUVUZELA"
    $word[15]="PISTACHE"
    $word[16]="CACATOES"
    $word[17]="MISTIGRI"
    $word[18]="NOVELLA"
    $word[19]="IMPOSSIBLE"
    $word[20]="SCHTROUPF"
    $word[21]="GARGAMEL"
    $word[22]="HORRIBLE"
    $word[23]="FINISTERRE"
    $word[24]="ODIEUX"
    
    Dim $action[11]
    $action[1]=""
    $action[2]="(fermer les yeux)"
    $action[3]="(tirer la langue)"
    $action[4]="(pencher la tete en avant)"
    $action[5]="(regarder a gauche)"
    $action[6]="(regarder a droite)"
    $action[7]="(regarder en bas)"
    $action[8]="(froncer les sourcils)"
    $action[9]="(lever les sourcils)"
    $action[10]="(sourire)"
    
    
    Local $hDLL = DllOpen("user32.dll")
    ;create fixed light for text and picture
    $hFixed_GUI = GUICreate("", 640, 360 ,640 , 360, $WS_POPUP)
    ;create label to display text
    $Label1=GUICtrlCreateLabel("a dire", 200, 100 , 600, 300)
    GUICtrlSetFont(-1, 40, 400, 0, "Arial Rounded MT Bold")
    $Label2=GUICtrlCreateLabel("(a faire)", 200, 160 , 600, 300)
    GUICtrlSetFont(-1, 25, 400, 0, "Arial Rounded MT Bold")
    GUISetState()
    ; Create moving GUI for light
    $hBitmap_GUI = GUICreate("", 240, 50, 0, 0, $WS_POPUP)
    GUISetState()
    
    While 1
    GUISetState(@SW_SHOW, $hBitmap_GUI)
    If _IsPressed("20", $hDLL) Then
    ExitLoop
    Else
    Sleep (2000)
    $iBar=random (1, 4, 1)
    switch $iBar
    case 1
    $iXL=1920
    $iYL=360
    $iXP=0
    $iYP=0
    case 2
    $iXL=1920
    $iYL=360
    $iXP=0
    $iYP=720
    case 3
    $iXL=640
    $iYL=1080
    $iXP=0
    $iYP=0
    case 4
    $iXL=640
    $iYL=1080
    $iXP=1280
    $iYP=0
    EndSwitch
    $iCol=random (1, 10, 1)
    switch $iCol
    case 1
    $sColbackgnd="0xFF0000"
    case 2
    $sColbackgnd="0x00FFFF"
    case 3
    $sColbackgnd="0x0000FF"
    case 4
    $sColbackgnd="0xFFFF00"
    case 5
    $sColbackgnd="0xFF00FF"
    case 6
    $sColbackgnd="0x00FFFF"
    case 7
    $sColbackgnd="0x777777"
    case 8
    $sColbackgnd="0xAA4422"
    case 9
    $sColbackgnd="0x33AA88"
    case 10
    $sColbackgnd="0x228855"
    EndSwitch
    $iWord=random (1, 24, 1)
    if $iCol=5 or $iCol=3 then
    $iAction=random (2, 10, 1)
    Else
    $iAction=1
    EndIf
    GUICtrlSetData($Label1, $word[$iWord])
    GUICtrlSetData($Label2, $action[$iAction])
    GUISetState()
    GUISetBkColor ( $sColbackgnd, $hBitmap_GUI )
    WinMove ( "", "", $iXP, $iYP, $iXL , $iYL , 5 )
    GUISetState()
    EndIf
    WEnd
    DllClose($hDLL)
    exit 
     
Chargement...

Partager cette page

Dernières Occasions

 
Vous souhaitez annoncer sur le Repaire ? Contactez-nous