Thèse Inria: Vidéo panoramique 360° à très haute résolution

Encadrant: Frédéric Devernay

Tél.: 04 76 61 52 58

Email: frederic.devernay at inria.fr

Équipe et laboratoire: PRIMA, Inria Rhône-Alpes & LIG

Thèmes: Image, Vision

Mots-clés: vision par ordinateur, imagerie panoramique, média immersif, traitement de vidéo

Durée: 36 mois

Description

Dodeca 360 Ladybug Totavision

Ci-dessus: Des exemples de caméras panoramiques vidéo par Immersive Media (Dodeca 2360), PtGrey (Ladybug) et Totavision

L'assemblage de panoramas à partir de photographies prises par un appareil photo standard est une technique bien maîtrisée depuis plus d'une décennie, et de nombreux outils de "stitching" (assemblage), commerciaux ou libres, sont maintenant disponibles qui mettent en œuvre des méthodes d'assemblage de l'état de l'art [1,4] (par exemple Autopano, Panorama Tools, Hugin, ou Autodesk Stitcher). Il consiste à acquérir une série de photographies prises à partir d'un seul point de vue, couvrant un très large champ de vision, et à les assembler pour obtenir un panorama photographique.

La vidéo panoramique est une captation vidéo couvrant un très large champ de vision, typiquement un hémisphère, un cylindre ou une sphère complète. La vidéo panoramique peut être visualisée sous forme de films pour planétariums ou Omnimax (Totavision), ou de films interactifs dans lesquels le spectateur peut choisir sa direction de vue (Kolor, Loop'in). La première expérience de visualisation de film panoramique a été faite à l'exposition universelle de 1900 à Paris, par Raoul Grimoin-Sanson: le film panoramique a été tourné par 10 caméras suspendues à un ballon à air chaud, et le film résultant a été projeté sur 10 écrans de 9x9m couvrant un cylindre de 360​°. Ce processus a été plus tard reproduit par Disney en 1955 en tant que "Circle-Vision 360°" pour ses parcs à thème, mais les jointures entre les écrans et entre les champs des caméras étaient clairement visibles en raison de la configuration de tournage et d'affichage. La seule façon d'éviter les jointures visibles est d'avoir des champs de caméras qui se chevauchent (aussi appelés champs recouvrants), et d'appliquer des techniques dites de "stitching" (assemblage) pour produire la vidéo panoramique finale, ce qui n'était pas possible avant l'avènement des techniques de stitching photographique. Il est également intéressant de mentionner qu'il existe des solutions pour la capture vidéo panoramique sur la base d'une seule caméra, à l'aide d'un objectif fish-eye ou d'un miroir courbe. Cependant, la résolution de l'image qui en résulte est faible car elle est limitée par la résolution d'une seule caméra, et la qualité d'image n'est pas homogène en raison de distorsions et d'aberrations géométriques, ce qui disqualifie ces systèmes pour la production de vidéo immersive haute résolution.

Pour la vidéo panoramique, toutes les images couvrant le panorama doivent être prises simultanément (bien que certaines approches utilisent des images non simultanées [16,17,18]), de sorte que le système matériel se compose généralement de plusieurs caméras à haute résolution [13,14,15,24], et chaque image de la vidéo qui en résulte doit être assemblée à partir de toutes les vidéos. Les systèmes commerciaux les plus notables sont la Dodeca 360 par Immersive Media, la Ladybug par Point Grey [25], la caméra panoramique Totavision, et la caméra OMNICAM du Fraunhofer HHI. La caméra PANOPTIC de l'EPFL [26] regroupe une centaine de capteurs CMOS de faible résolution pour construire une vidéo panoramique à haute résolution, mais sa conception est encore très expérimentale. Des vidéos panoramiques de faible résolution peuvent également être acquises en utilisant une seule caméra et un système catadioptrique [12,14], mais la qualité de l'image obtenue n'est pas adaptée pour l'affichage de vidéo immersive, et leur utilisation est généralement limités à des tâches de navigation, de robotique, ou de vision par ordinateur.

Des panoramas 3D stéréoscopiques statiques peuvent être produits à l'aide d'une caméra tournant avec deux fentes verticales (ou d'une paire de caméras à simple fente) [19,12]. Une caméra à fente peut facilement être simulée en prenant une seule colonne de pixels d'une caméra standard (ou deux colonnes séparées pour simuler une caméra à double fente). Le panorama qui en résulte peut être visualisé soit sur un écran cylindrique avec des lunettes 3D, soit sur n'importe quel écran plat 3D utilisant une interface comme une souris ou d'un joystick pour faire tourner le panorama.

Les panoramas vidéo stéréoscopiques sont beaucoup plus difficiles à acquérir: Couture et al. [20] proposent d'utiliser une paire de caméras tournante pour construire une vidéo Omnistereo, en s'inspirant des méthodes de vidéo panoramique qui utilisent une seule caméra vidéo pour éviter les coutures visibles dans la vidéo qui en résulte [16,17,18]. Cependant, toutes les directions ne peuvent être acquises simultanément en utilisant cette méthode, qui est donc applicable uniquement aux mouvements répétitifs ou aux scènes quasi-statiques, et la caméra doit rester statique. Weissig et al. [21] ont amélioré la caméra OMNICAM du Fraunhofer HHI pour produire en direct des panoramas vidéo stéréoscopiques, mais les problèmes d'assemblage vidéo deviennent encore plus difficiles dans cette configuration, et le problème reste non résolu. La société JauntVR produit des vidéos panoramiques 3D, en utilisant un système de caméras où chaque point est vu depuis au moins 3 caméras, mais la fabrication de la vidéo panoramique 3D requiert encore énormément d'édition manuelle.

L'assemblage d'images se compose de plusieurs phases: l'alignement des images ("alignment"), la déformation des images ("warping"), et le mélange ("blending"). Pour les images statiques, l'alignement des image consiste généralement en le calcul de transformations 2D relatives entre les images, et la déformation consiste à appliquer les transformations calculées aux images initiales. La phase de mélange est généralement considérée comme plus difficile, et la plupart des méthodes cherchent à éviter les artefacts visibles à ce stade, comme les variations de couleurs, les images doubles en raison d'objets animés ou mal alignés, des contours artificiels ou des objets découpés. La plupart des artefacts visuals présents dans les panoramas assemblés sont dus soit à des images qui n'ont pas été prises en même temps (ce qui ne se produit pas dans le cas des vidéos panoramique), soit à de la parallaxe résiduelle due au fait que les centres optiques des prises de vues ne sont pas exactement à la même position en 3D. Malheureusement, ce dernier problème est accentué en assemblage de vidéo panoramique, puisque plusieurs caméras ne peuvent pas à la fois avoir des centres optiques confondus et des champs recouvrants.

Les techniques traditionelles d'assemblage de panorama photographique traditionnels comprennent le mélange doux ("feathering") ou "alpha blending" [1,25], la couture optimale (qui utilise souvent des techniques d'optimisation de type programmation dynamique ou de coupe de graphe) [2], le mélange de pyramides de laplaciens [3,3 b] ou sa version simplifiée, le mélange bi-bande [4], et le mélange dans le domaine des gradients [5,6]. Le "feathering" et mélange de pyamides de laplaciens sont des opérations linéaires, de sorte que lorsque les images subissent de petites modifications (qui peuvent être des modifications temporelles dans le cas de vidéos) la sortie va changer lentement, et des artefacts apparaissent dans les zones de mélange comme des fantômes, des images doubles ou des discontinuités artificielles (voir figure ci-dessous). A l'inverse, les méthodes de couture optimale [6b] et mélange dans le domaine des gradients [6] sont le résultat d'une optimisation, et l'optimum peut sauter brusquement d'un minimum local à l'autre, même si les images changent lentement. Cette deuxième catégorie ne doit donc pas être utilisée pour le mélange de vidéo panoramique, car il causerait du scintillement ou des tremblements dans les zones recouvrement, ou bien les algorithmes doivent être adaptés pour produite un résultat continu dans le temps. Cependant, même en utilisant une méthode de la première catégorie, un détail peut lentement disparaître d'un endroit pour réapparaître à un autre endroit dans les images, de sorte que les effets de parallaxe doivent être explicitement traités séparément.

Plusieurs méthodes proposent de compenser les effets géométriques de la parallaxe dans panoramas statiques [7,8,9,10], mais aucune ne s'intéresse au problème de la correction de parallaxe dans les panoramas vidéo: la cohérence temporelle des séquences panoramiques résultantes n'est pas prise en compte dans le processus de "stitching", de sorte que des artefacts temporels, qui sont très distrayant voire gênants pour l'œil humain, peuvent apparaître de façon aléatoire dans les séquences vidéo panoramiques.

Approche proposée

Dans ce projet, nous proposons de compenser les effets de parallaxe avant l'étape de mélange, puis d'appliquer une méthode de mélange spécifique pour minimiser les artefacts temporels. En utilisation la disparité stéréo ou le flux optique entre les caméras dans les zones de recouvrement, nous appliquerons des techniques d'interpolation de points de vues, combinées avec des idées empruntées au mélange de pyramides de laplaciens, pour produire des vidéos panoramiques qui ne présentent ni des artefacts temporels (scintillements, tremblements), ni des artefacts spatiaux (fantômes, images doubles ou contours artificiels).

Le calibrage des caméras doit être entièrement en 3D, par opposition au calibrage 2D habituellement effectué pour les panoramas photographiques, qui suppose que les centres optiques sont confondus et qu'il y a une rotation pure entre les caméras. Cet étalonnage 3D permettra de : (a) calculer une transformation géométrique 2D des images telle que la parallaxe soit nulle à une distance donnée (cette transformation permettra de minimiser les artefacts sur le sujet principal de la vidéo, et sera appliquée en dehors des zones de recouvrement), (b) connaître a priori l'amplitude du déplacement (en pixels) provoqué par la parallaxe pour une plage de profondeur donnée, et la direction de ce déplacement.

Les effets dela parallaxe seront compensés par une nouvelle méthode proposée dans ce projet, appelé "mélange doux géométrique". Cette méthode est inspirée par les travaux récents sur les méthodes d'interpolation spatiales ou temporelles d'images [22,23], et calcule pour chaque pixel la transformation à appliquer à chaque image dans les zones de recouvrement. De plus, si cez zone de recouvrement sont suffisament importantes, cette parallaxe sera aussi utilisée pour produire des panorama 3D, qui pourront être visualisés dans des dispositifs immersifs comme l'Oculus Rift, le Samung Gear VR, ou le Google Cardboard.

Les algorithmes qui sont à appliquer à chaque instant de temps de la vidéo panoramique seront conçus pour être mis en œuvre sur un GPU.

Parallax error

Ci-dessus: Erreur de parallaxe

Procédure de candidature

Envoyer une lettre de motivation et un curriculum vitae (CV) par e-mail à frederic.devernay at inria.fr avec comme objet "[PhD] Super high resolution panoramic video processing".

Bibliographie

Imagerie panoramique

[1] Richard Szeliski, Image Alignment and Stitching: A Tutorial, Microsoft Research Technical Report MSR-TR-2004-92, October 2004. http://research.microsoft.com/pubs/70092/tr-2004-92.pdf

[2] Efros, A., Freeman, W.: Image quilting for texture synthesis and transfer. Proceedings of SIGGRAPH 2001 (2001) 341-346. DOI=10.1145/383259.383296

[3] E. H. Adelson, C. H. Anderson , J. R. Bergen , P. J. Burt , J. M. Ogden: Pyramid Methods in Image Processing, Radio Corporation of America, RCA Engineer, 29(6):33-41 http://persci.mit.edu/pub_pdfs/RCA84.pdf

[3b] Peter J. Burt and Edward H. Adelson. 1983. A multiresolution spline with application to image mosaics. ACM Trans. Graph. 2, 4 (October 1983), 217-236. DOI=10.1145/245.247

[4] M. Brown and D. G. Lowe. 2003. Recognising Panoramas. In Proceedings of the Ninth IEEE International Conference on Computer Vision - Volume 2 (ICCV '03), Vol. 2. IEEE Computer Society, Washington, DC, USA, 1218-. DOI=10.1109/ICCV.2003.1238630 http://www.cs.ubc.ca/~lowe/papers/brown03.pdf

Assemblage et mélange d'images

[5] Patrick Perez , Michel Gangnet and Andrew Blake, Poisson Image Editing ,Proc. Siggraph, 2003. DOI=10.1145/1201775.882269

[6] A. Levin, A. Zomet, S. Peleg and Y. Weiss. Seamless Image Stitching in the Gradient Domain. Proc. of the European Conference on Computer Vision (ECCV), Prague, May 2004. http://www.wisdom.weizmann.ac.il/~levina/papers/eccv04-blending.pdf

[6b] Brian Summa, Julien Tierny, and Valerio Pascucci. 2012. Panorama weaving: fast and flexible seam processing. ACM Trans. Graph. 31, 4, Article 83 (July 2012), 11 pages. DOI=10.1145/2185520.2185579

Compensation de parallaxe dans les panoramas

[7] Heung-Yeung Shum; Szeliski, R.; , "Construction and refinement of panoramic mosaics with global and local alignment," Sixth International Conference on Computer Vision, pp.953-956, 4-7 Jan 1998 http://research.microsoft.com/pubs/75611/ShumSzeliski-ICCV99.pdf

[8] Kang S. B., Szeliski R., Uyttendaele M.: Seamless Stitching Using Multi-Perspective Plane Sweep. Microsoft Research Technical Report MSR-TR-2004-48, June 2004. ftp://ftp.research.microsoft.com/pub/tr/TR-2004-48.pdf

[9] Michael Adam, Christoph Jung, Stefan Roth, and Guido Brunnett. Real-time stereo-image stitching using GPU-based belief propagation. In Proc. of the Workshop on Vision, Modeling and Visualization (VMV), Braunschweig, Germany, Nov. 2009 http://www.gris.tu-darmstadt.de/%7Esroth/pubs/vmv2009.pdf

[10] Alan Brunton, Chang Shu, "Belief Propagation for Panorama Generation," 3D Data Processing Visualization and Transmission, International Symposium on, pp. 885-892, Third International Symposium on 3D Data Processing, Visualization, and Transmission (3DPVT'06), 2006. DOI=10.1109/3DPVT.2006.36 http://nparc.cisti-icist.nrc-cnrc.gc.ca/npsi/ctrl?action=rtdoc&an=5765151

[11] Helmut Dersch, Panorama Tools, Open source software for Immersive Imaging, International VR Photography Conference 2007 in Berkeley, Keynote Address, http://webuser.fh-furtwangen.de/%7Edersch/IVRPA.pdf

Systèmes de caméras pour l'imagerie panoramique

[12] Peter Sturm, Srikumar Ramalingam, Jean-Philippe Tardif, Simone Gasparini and João Barreto (2011) "Camera Models and Fundamental Concepts Used in Geometric Computer Vision", Foundations and Trends® in Computer Graphics and Vision: Vol. 6: No 1-2, pp 1-183. DOI=10.1561/0600000023.

[13] Aditi Majumder, W. Brent Seales, M. Gopi, and Henry Fuchs. 1999. Immersive teleconferencing: a new algorithm to generate seamless panoramic video imagery. In Proceedings of the seventh ACM international conference on Multimedia (Part 1) (MULTIMEDIA '99). ACM, New York, NY, USA, 169-178. DOI=10.1145/319463.319485

[14] Simon Baker and Shree K. Nayar. 1999. A Theory of Single-Viewpoint Catadioptric Image Formation. Int. J. Comput. Vision 35, 2 (November 1999), 175-196. DOI=10.1023/A:1008128724364

[15] Kar-Han Tan, Hong Hua, and N. Ahuja. 2004. Multiview Panoramic Cameras Using Mirror Pyramids. IEEE Trans. Pattern Anal. Mach. Intell. 26, 7 (July 2004), 941-946. DOI=10.1109/TPAMI.2004.33

Vidéo panoramique utilisant une seule caméra standard

[16] Alex Rav-Acha, Yael Pritch, Dani Lischinski, and Shmuel Peleg. 2005. Dynamosaics: Video Mosaics with Non-Chronological Time. In Proceedings of the 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05) - Volume 1 - Volume 01 (CVPR '05), Vol. 1. IEEE Computer Society, Washington, DC, USA, 58-65. DOI=10.1109/CVPR.2005.137

[17] Aseem Agarwala, Ke Colin Zheng, Chris Pal, Maneesh Agrawala, Michael Cohen, Brian Curless, David Salesin, and Richard Szeliski. 2005. Panoramic video textures. ACM Trans. Graph. 24, 3 (July 2005), 821-827. DOI=10.1145/1073204.1073268

[18] M. El-Saban, M. Izz, A. Kaheel, Fast stitching of videos captured from freely moving devices by exploiting temporal redundancy, 17th IEEE International Conference on Image Processing (ICIP), 2010, 1193-1196. DOI=10.1109/ICIP.2010.5651811

Panorama 3D stéréoscopique

[19] Shmuel Peleg, Moshe Ben-Ezra, and Yael Pritch. 2001. Omnistereo: Panoramic Stereo Imaging. IEEE Trans. Pattern Anal. Mach. Intell. 23, 3 (March 2001), 279-290. DOI=10.1109/34.910880

[20] Vincent Couture, Michael S. Langer, and Sebastien Roy. 2011. Panoramic stereo video textures. In Proceedings of the 2011 International Conference on Computer Vision (ICCV '11). IEEE Computer Society, Washington, DC, USA, 1251-1258. DOI=10.1109/ICCV.2011.6126376

[21] Christian Weissig, Oliver Schreer, Peter Eisert, and Peter Kauff. 2012. The ultimate immersive experience: panoramic 3D video acquisition. In Proceedings of the 18th international conference on Advances in Multimedia Modeling (MMM'12), Klaus Schoeffmann, Bernard Merialdo, Alexander G. Hauptmann, Chong-Wah Ngo, and Yiannis Andreopoulos (Eds.). Springer-Verlag, Berlin, Heidelberg, 671-681. DOI=10.1007/978-3-642-27355-1_72

Interpolation et déformation d'image

[22] Miquel Farre, Oliver Wang, Manuel Lang, Nikolce Stefanoski, Alexander Hornung, and Aljoscha Smolic. 2011. Automatic content creation for multiview autostereoscopic displays using image domain warping. In Proceedings of the 2011 IEEE International Conference on Multimedia and Expo (ICME '11). IEEE Computer Society, Washington, DC, USA, 1-6. DOI=10.1109/ICME.2011.6012182

[23] Frédéric Devernay and Adrian Ramos Peon. 2010. Novel view synthesis for stereoscopic cinema: detecting and removing artifacts. In Proceedings of the 1st international workshop on 3D video processing (3DVP '10). ACM, New York, NY, USA, 25-30. DOI=10.1145/1877791.1877798

Systèmes vidéo panoramiques

[24] J. Foote and D. Kimber, FlyCam: Practical Panoramic Video and Automatic Camera Control, in Proceedings of IEEE International Conference on Multimedia and Expo (III). 2000, 1419-1422. doi=10.1109/ICME.2000.871033 http://www.fxpal.com/publications/FXPAL-PR-00-090.pdf

[25] Point Grey, Overview of the Ladybug Image Stitching Process, Technical Application Note TAN2008010, Revised January 25, 2013 http://www.ptgrey.com/support/downloads/documents/TAN2008010_Overview_Ladybug_Image_Stitching.pdf

[26] Hossein Afshari, Laurent Jacques, Luigi Bagnato, Alexandre Schmid, Pierre Vandergheynst, Yusuf Leblebici, The PANOPTIC Camera: A Plenoptic Sensor with Real-Time Omnidirectional Capability, Journal of Signal Processing Systems (2013) 70:305-328 DOI=10.1007/s11265-012-0668-4

Corrections photométriques

[27] Seon Joo Kim and Marc Pollefeys. 2008. Robust Radiometric Calibration and Vignetting Correction. IEEE Trans. Pattern Anal. Mach. Intell. 30, 4 (April 2008), 562-576. DOI=10.1109/TPAMI.2007.70732

[28] Jean-François Lalonde, Srinivasa G. Narasimhan, and Alexei A. Efros. 2010. What Do the Sun and the Sky Tell Us About the Camera?. Int. J. Comput. Vision 88, 1 (May 2010), 24-51. DOI=10.1007/s11263-009-0291-4

[29] Daniel B. Goldman. 2010. Vignette and Exposure Calibration and Compensation. IEEE Trans. Pattern Anal. Mach. Intell. 32, 12 (December 2010), 2276-2288. DOI=10.1109/TPAMI.2010.55


Frederic Devernay