Slide show Powiter
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Slide show Powiter

  • 503 views
Uploaded on

Presentation Powiter Concours Boost your code 2013

Presentation Powiter Concours Boost your code 2013

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
503
On Slideshare
501
From Embeds
2
Number of Embeds
1

Actions

Shares
Downloads
2
Comments
0
Likes
1

Embeds 2

https://twitter.com 2

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Powiter Alexandre Gauthier-Foichat Boost your code 2013 31 mai 2013 Alexandre Gauthier-Foichat 1/35
  • 2. Plan 1 Introduction 1 Qu’est-ce que Powiter 2 Portée 3 Philosophie 2 Développement 1 Le noyau du logiciel 2 Kit de développement 3 Organisation 4 Conclusion Alexandre Gauthier-Foichat 2/35
  • 3. Qu’est-ce que Powiter? • Logiciel de compositing et de traitement vidéo • Open-source et portable (Windows, Linux, OSX) Alexandre Gauthier-Foichat 3/35
  • 4. Qu’est-ce que le compositing ? Image avant matting Elements à ajouter Image retouchée Alexandre Gauthier-Foichat 4/35
  • 5. Domaines d’application Le cinéma La publicité Le divertissement Alexandre Gauthier-Foichat 5/35
  • 6. Portée : pour qui ? • Éducation, recherche , industrie... Alexandre Gauthier-Foichat 6/35
  • 7. Portée : pour qui ? • Éducation, recherche , industrie... • Utilisable pour des applications commerciales ou non Alexandre Gauthier-Foichat 6/35
  • 8. Portée : pour qui ? • Éducation, recherche , industrie... • Utilisable pour des applications commerciales ou non −→ Offrir la possibilité à tout le monde de créer des films Alexandre Gauthier-Foichat 6/35
  • 9. Communauté • Communauté similaire à celle du logiciel Blender Alexandre Gauthier-Foichat 7/35
  • 10. Communauté • Communauté similaire à celle du logiciel Blender • Blender : multitâche mais peu performant Alexandre Gauthier-Foichat 7/35
  • 11. Communauté • Communauté similaire à celle du logiciel Blender • Blender : multitâche mais peu performant • Une interface trop complexe Alexandre Gauthier-Foichat 7/35
  • 12. Philosophie: accessible • Fournir une alternative gratuite Alexandre Gauthier-Foichat 8/35
  • 13. Philosophie: accessible • Fournir une alternative gratuite Nuke: 4000 euros After Effects: 1500 euros Alexandre Gauthier-Foichat 8/35
  • 14. Philosophie: créatif • Stimuler la créativité avec une interface simple Alexandre Gauthier-Foichat 9/35
  • 15. Philosophie: créatif • Stimuler la créativité avec une interface simple • Interface similaire aux autres logiciels du marché Alexandre Gauthier-Foichat 9/35
  • 16. Philosophie: communautaire • Objectif : permettre à quiconque de programmer avec le SDK Alexandre Gauthier-Foichat 10/35
  • 17. Philosophie: communautaire • Objectif : permettre à quiconque de programmer avec le SDK−→ Intérêt: profiter de Powiter pour son propre algorithme. Alexandre Gauthier-Foichat 10/35
  • 18. Philosophie: communautaire • Objectif : permettre à quiconque de programmer avec le SDK−→ Intérêt: profiter de Powiter pour son propre algorithme. Calcul de points d’intêrets pour faire du suivi de mouvements Alexandre Gauthier-Foichat 10/35
  • 19. Philosophie: communautaire • Objectif : permettre à quiconque de programmer avec le SDK−→ Intérêt: profiter de Powiter pour son propre algorithme. Calcul de points d’intêrets pour faire du suivi de mouvements • L’aspect communautaire sera l’atout principal −→ plus d’outils pour l’utilisateur Alexandre Gauthier-Foichat 10/35
  • 20. Licence • Le coeur du logiciel sera sous licence GPL • Le SDK sera sous licence LGPL −→ Une sociéte de post-production pourra vendre ses technologies Licence du noyau Licence du SDK Alexandre Gauthier-Foichat 11/35
  • 21. Plan 1 Introduction 1 Qu’est-ce que Powiter 2 Portée 3 Philosophie 2 Développement 1 Le noyau du logiciel 2 Kit de développement 3 Organisation 4 Conclusion Alexandre Gauthier-Foichat 12/35
  • 22. Une structure nodale • Outil de travail principal : le DAG (direct acyclic graph) • Chaque noeud représente une modification de l’image Un graphe complexe Alexandre Gauthier-Foichat 13/35
  • 23. Un exemple de graphe Alexandre Gauthier-Foichat 14/35
  • 24. Un exemple de graphe(2) Alexandre Gauthier-Foichat 15/35
  • 25. Un exemple de graphe(3) Alexandre Gauthier-Foichat 16/35
  • 26. Un exemple de graphe(4) Alexandre Gauthier-Foichat 17/35
  • 27. Un exemple de graphe(5) Image tirée du film: La planète des singes: les origines Alexandre Gauthier-Foichat 18/35
  • 28. Avantages du graphe Simple flou gaussien • Retour utilisateur très visuel et intuitif Alexandre Gauthier-Foichat 19/35
  • 29. Avantages du graphe Simple flou gaussien • Retour utilisateur très visuel et intuitif • Réutilisation de résultats intermédiaires Alexandre Gauthier-Foichat 19/35
  • 30. Avantages du graphe Simple flou gaussien • Retour utilisateur très visuel et intuitif • Réutilisation de résultats intermédiaires • Il est très facile d’éffectuer des modifications au graphe Alexandre Gauthier-Foichat 19/35
  • 31. Graphes templates • Création de graphes "templates" Alexandre Gauthier-Foichat 20/35
  • 32. Graphes templates • Création de graphes "templates" Conversion d’un graphe en un seul noeud Alexandre Gauthier-Foichat 20/35
  • 33. Performances du graphe • Besoin → changer le graphe ne doit pas provoquer de délai Alexandre Gauthier-Foichat 21/35
  • 34. Performances du graphe • Besoin → changer le graphe ne doit pas provoquer de délai • Chaque noeud stocke ses résultats Alexandre Gauthier-Foichat 21/35
  • 35. Performances du graphe • Besoin → changer le graphe ne doit pas provoquer de délai • Chaque noeud stocke ses résultats • Certains noeuds verront leur implémentation faite en Cuda/OpenCL Alexandre Gauthier-Foichat 21/35
  • 36. Performances du graphe • Besoin → changer le graphe ne doit pas provoquer de délai • Chaque noeud stocke ses résultats • Certains noeuds verront leur implémentation faite en Cuda/OpenCL • Objectif −→ être au moins aussi performant que les logiciels propriétaires Alexandre Gauthier-Foichat 21/35
  • 37. Viewer: Retour utilisateur Interface pensée pour l’utilisateur Alexandre Gauthier-Foichat 22/35
  • 38. Viewer: Retour utilisateur(2) Déplacement et zoom Couleurs au pixel près Alexandre Gauthier-Foichat 23/35
  • 39. Performances: Un viewer real-time • Une très grande partie du développement est axée sur l’optimisation Alexandre Gauthier-Foichat 24/35
  • 40. Performances: Un viewer real-time • Une très grande partie du développement est axée sur l’optimisation • Utilisation en plus du matériel graphique Alexandre Gauthier-Foichat 24/35
  • 41. Propriétés des noeuds • Le dock à droite s’occupe de paramétrer les noeuds Propriétés du noeud Reader Alexandre Gauthier-Foichat 25/35
  • 42. Propriétés des noeuds • Le dock à droite s’occupe de paramétrer les noeuds Propriétés du noeud Reader • Un système de script permettra de configurer le graphe sans interface Alexandre Gauthier-Foichat 25/35
  • 43. Plan 1 Introduction 1 Qu’est-ce que Powiter 2 Portée 3 Philosophie 2 Développement 1 Le noyau du logiciel 2 Kit de développement 3 Organisation 4 Conclusion Alexandre Gauthier-Foichat 26/35
  • 44. SDK: Scripts • Graphe configurable en scripts Python Alexandre Gauthier-Foichat 27/35
  • 45. SDK: Scripts • Graphe configurable en scripts Python Script pour changer le format : convert.py Alexandre Gauthier-Foichat 27/35
  • 46. SDK: Scripts • Graphe configurable en scripts Python Script pour changer le format : convert.py Utilisation en ligne de commande Alexandre Gauthier-Foichat 27/35
  • 47. Le kit de développement • Interface C++ simple et documentée permettant de créer de nouveaux noeuds. Alexandre Gauthier-Foichat 28/35
  • 48. SDK: Compatibilité avec les autres logiciels • Powiter implémente OpenFX −→ standard d’interchange pour les effets spéciaux. Alexandre Gauthier-Foichat 29/35
  • 49. SDK: Compatibilité avec les autres logiciels • Powiter implémente OpenFX −→ standard d’interchange pour les effets spéciaux. • Fichiers de géométrie en .fbx (format de Maya de Autodesk) Alexandre Gauthier-Foichat 29/35
  • 50. SDK: Compatibilité avec les autres logiciels • Powiter implémente OpenFX −→ standard d’interchange pour les effets spéciaux. • Fichiers de géométrie en .fbx (format de Maya de Autodesk) • Dans le futur, Powiter proposera une API pour une technologie de frame-server Alexandre Gauthier-Foichat 29/35
  • 51. Plan 1 Introduction 1 Qu’est-ce que Powiter 2 Portée 3 Philosophie 2 Développement 1 Le noyau du logiciel 2 Kit de développement 3 Organisation 4 Conclusion Alexandre Gauthier-Foichat 30/35
  • 52. Travail réalisé • Interface utilisateur Alexandre Gauthier-Foichat 31/35
  • 53. Travail réalisé • Interface utilisateur • Moteur d’éxécution de graphe Alexandre Gauthier-Foichat 31/35
  • 54. Travail réalisé • Interface utilisateur • Moteur d’éxécution de graphe • Viewer Alexandre Gauthier-Foichat 31/35
  • 55. Travail réalisé • Interface utilisateur • Moteur d’éxécution de graphe • Viewer • Moteur de cache Alexandre Gauthier-Foichat 31/35
  • 56. Gestion des sources • Le noyau possède un dépôt github réservé aux développeurs expérimentés Alexandre Gauthier-Foichat 32/35
  • 57. Gestion des sources • Le noyau possède un dépôt github réservé aux développeurs expérimentés • Plug-ins séparés du noyau avec un système automatique de gestion Alexandre Gauthier-Foichat 32/35
  • 58. Gestion des sources • Le noyau possède un dépôt github réservé aux développeurs expérimentés • Plug-ins séparés du noyau avec un système automatique de gestion • Certains plug-ins incorporés de base au noyau Alexandre Gauthier-Foichat 32/35
  • 59. Documentation • Documentation utilisateur: manuel et tutoriels vidéos Alexandre Gauthier-Foichat 33/35
  • 60. Documentation • Documentation utilisateur: manuel et tutoriels vidéos • Le noyau comportera une documentation interne. Alexandre Gauthier-Foichat 33/35
  • 61. Documentation • Documentation utilisateur: manuel et tutoriels vidéos • Le noyau comportera une documentation interne. • Documentation SDK: guide de développement + documentation automatique Une page web pour le SDK Alexandre Gauthier-Foichat 33/35
  • 62. Conclusion • Un projet ambitieux qui a commencé en juin 2012 • Le cinéma et les effets spéciaux sont une grande passion pour moi • Des centaines d’heures passées dessus • Un remerciement particulier à Frédéric Devernay (équipe prima Inria) qui continue de m’aider dans ce projet Alexandre Gauthier-Foichat 34/35
  • 63. Questions • Merci de votre attention ! • Des questions? Alexandre Gauthier-Foichat 35/35