Структура із руху
Структура із руху (англ. Structure from motion, SfM) — це техніка діапазонної візуалізації; вона являє собою процес оцінювання тривимірної структури із послідовності двовимірних зображень, що можуть сполучатися із місцевими сигналами руху. Ця техніка вивчається в галузі комп'ютерного бачення і при вивчені зору. В біологічному зорі, під структурою із руху мають на увазі феномен, за допомогою якого люди (та інші зрячі істоти) можуть відновлювати тривимірну структуру із двовимірних проекцій (на сітківку) слідів руху від об'єктів або сцени, що рухаються.
Отримання тривимірної інформації із двовимірних зображень
Людина сприймає багато інформації про просторову структуру об'єктів оточення при переміщенні в ньому. Коли спостерігач рухається і об'єкти зміщуються довкола нього, інформація отримується із образів, що сприймаються протягом часу.[1]
Відбудова структури рухомих об'єктів є задачею, схожою на відбудову структури зі стереоскопічних зображень. В обох випадках необхідно знайти відповідність між зображеннями та реконструювати тривимірний об'єкт.
Для знаходження відповідності між зображеннями на них відстежують такі ознаки як кутові точки (грані із градієнтом в різних напрямках). Одним із найширше вживаних алгоритмів пошуку ознак є алгоритм SIFT (англ. Scale-invariant feature transform). Як ознаки він використовує максимуми піраміди різниць гаусіан. Першим кроком алгоритму SIFT є віднаходження домінантного напряму градієнта. Для того, щоб зробити це інваріантним до обертання, повертають дескриптор таким чином, щоби він збігся з даною орієнтацією.[2] Іншим поширеним алгоритмом виділення ознак є SURF (англ. Speeded Up Robust Features).[3] В алгоритмі SURF різниці гаусіан замінюють операцією виділення областей на базі матриці Гессе. Також замість підрахунку гістограм градієнтів SURF проводить розрахунки на основі сум градієнтних компонент і сум їхніх абсолютних значень.[4] Виділені на всіх зображеннях ознаки потім зіставляються. Одним із алгоритмів такого зіставлення, що відстежує ознаки від одного зображення до іншого, є відстежувач Лукаса-Канаде.[5]
Іноді деякі із зіставлених ознак зіставляються не вірно. Тому знайдені результати має бути також відфільтровано. Зазвичай для усунення викидів відповідності використовується алгоритм RANSAC (англ. Random Sample Consensus). У праці Фішера та Боллза RANSAC використовується для розв'язання задачі визначення положення (англ. Location Determination Problem, LDP), у якій метою є визначення точок у просторі, що проектуються на зображення у множину орієнтирів з відомими положеннями.[6]
Траєкторії виділених елементів зображення, що переміщуються з плином часу, використовуються для реконструкції їхніх положень у тривимірному просторі та руху камери.[7] Альтернативою є так звані прямі підходи, де геометрична інформація (тривимірна структура та рух камери) визначаються із зображень напряму, без проміжного абстрагування до ознак або кутів. [8]
Існує декілька підходів до отримання структури з руху. В інкрементній структурі з руху положення камери розв'язуються та додаються до колекції одне по одному. В глобальній структурі з руху всі положення камери розв'язуються одночасно. Дещо проміжним підходом є структура з руху із зовнішньою пам'яттю, в якій обчислюються деякі часткові реконструкції, що потім інтегруються в глобальний розв'язок.
Див. також
- Одночасне визначення місцезнаходження та картографування (англ. SLAM)
- Кінетичний ефект глибини
- Рух зіставлення
- Поле руху
- Епіполярна геометрія
- Розклад Томасі-Канаде
Література
- Richard Hartley and Andrew Zisserman (2003). Multiple View Geometry in Computer Vision. Cambridge University Press. ISBN 0-521-54051-8. (англ.)
- Olivier Faugeras and Quang-Tuan Luong and Theodore Papadopoulo (2001). The Geometry of Multiple Images. MIT Press. ISBN 0-262-06220-8. (англ.)
- Yi Ma, S. Shankar Sastry, Jana Kosecka, Stefano Soatto, Jana Kosecka (November 2003). An Invitation to 3-D Vision: From Images to Geometric Models. Interdisciplinary Applied Mathematics Series, #26. Springer-Verlag New York, LLC. ISBN 0-387-00893-4. (англ.)
Примітки
- Linda G. Shapiro, George C. Stockman (2001). Computer Vision. Prentice Hall. ISBN 0-13-030796-3. (англ.)
- D. G. Lowe (2004). Distinctive image features from scale-invariant keypoints. International Journal of Computer Vision. (англ.)
- H. Bay, T. Tuytelaars, and L. Van Gool (2006). Surf: Speeded up robust features. 9th European Conference on Computer Vision. (англ.)
- K. Häming and G. Peters (2010). The structure-from-motion reconstruction pipeline – a survey with focus on short image sequences. Kybernetika. (англ.)
- B. D. Lucas and T. Kanade. An iterative image registration technique with an application to stereo vision. IJCAI81. (англ.)
- M. A. Fischler and R. C. Bolles (1981). Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography. Commun. ACM. (англ.)
- F. Dellaert, S. Seitz, C. Thorpe, and S. Thrun (2000). Structure from Motion without Correspondence. IEEE Computer Society Conference on Computer Vision and Pattern Recognition. (англ.)
- Engel, Jakob; Schöps, Thomas; Cremers, Daniel (2014). LSD-SLAM: Large-Scale Direct Monocular SLAM (PDF). European Converence on Computer Vision (ECCV) 2014. (англ.)
Посилання
Відкриті рішення
C++
- Bundler — структура з руху для невпорядкованих колекцій фотографій, автор — Noah Snavely
- openMVG бібліотека Open Multiple View Geometry + демонстратори структури з руху
- Libmv — бібліотека структури з руху
- Theia — швидка та масштабована бібліотека структури з руху, випущена на базі ліцензії BSD
- MicMac — вільний джерельний код структури з руху, випущений Національним географічним інститутом Франції
- LSD-SLAM — великомасштабне пряме монокулярне одночасне визначення місцезнаходження та картографування в реальному часі, автор — Jakob Engel
- MVE — The Multi-View Environment, автор — Simon Fuhrmann, TU Darmstadt.
- ceres-solver для загальних нелінійних найменших квадратів. Має функції для зрівнювання зв'язок. Раніше використовувався всередині компанії Google для Google Maps. Випущено в світ у 2012 році.
- SBA для загального зрівнювання зв'язок, автор — Manolis Lourakis.
Matlab
- Structure from Motion toolbox for Matlab, автор — Vincent Rabaud
- Matlab Functions for Multiple View Geometry, автор — Andrew Zissermann
- Structure and Motion Toolkit, автор — Phil Torr
- Matlab Code for Non-Rigid Structure from Motion, автор — Lorenzo Torresani
Python
- Python Photogrammetry Toolbox GUI — відкритий ГІК структури із руху (запускач Easy SfM та щільної множини точок), автори — Pierre Moulon та Arc-Team
Інше програмне забезпечення
- Smart3DCapture, повне рішення для фотограмметрії від Acute3D.
- 3DF Samantha — конвеєрна командно-рядкова структура із руху для Windows від 3Dflow SRL. Безкоштовна для некомерційного призначення.
- Automatic Camera Tracking System (ACTS) — система структури із руху для Microsoft Windows, автор — State Key Lab з CAD&CG, Zhejiang University.
- VisualSFM: A Visual Structure from Motion System, автор — Changchang Wu
- SFMToolkit, повне рішення для фотограмметрії на базі відкритого програмного забезпечення
- MountainsMap SEM, програмне забезпечення для сканувальних електронних мікроскопів. 3D отримується нахилом зразка + фотограмметрією.
- Voodoo Camera Tracker, некомерційний інструмент для поєднання віртуальних та реальних сцен.
Первісний сайт, заархівований: Laboratorium für Informationstechnologie, University of Hannover - MetaIO Toolbox, структура з руху для доповненої реальності на мобільних пристроях.
- TacitView від 2d3 Sensing
- Catena Python Abstract Workflow Framework з компонентами структури з руху.