Структура із руху

Матеріал з Вікіпедії — вільної енциклопедії.
(Перенаправлено з Структура з руху)
Перейти до навігації Перейти до пошуку
Цифрова модель поверхні транспортної розв'язки автомагістралі при будівництві

Структура із руху (англ. Structure from motion, SfM) — це техніка діапазонної візуалізації; вона являє собою процес побудови тривимірної структури із послідовності двовимірних зображень, що можуть сполучатися із місцевими сигналами руху[en]. Ця техніка вивчається в галузі комп'ютерного бачення і при вивчені зору. В біологічному зорі, під структурою із руху мають на увазі феномен, за допомогою якого люди (та інші зрячі істоти) можуть відновлювати тривимірну структуру із двовимірних проєкцій (на сітківку) слідів руху від рухомих об'єктів або сцени.

Отримання тривимірної інформації із двовимірних зображень[ред. | ред. код]

Тривимірна цифрова модель місцевості аеродрому Безмігова Горішня, видобута з даних, зібраних протягом 30-хвилинного польоту БПЛА Pteryx[en]
Реальне фото × Структура з руху з текстурним кольором × Структура з руху з простим затіненням. Зроблено за допомогою Python Photogrammetry Toolbox GUI та візуалізовано в Blender with Cycles.

Людина сприймає багато інформації про просторову структуру об'єктів довкілля при переміщенні в ньому. Коли спостерігач рухається і об'єкти зміщуються довкола нього, інформація отримується із образів, що сприймаються протягом часу.[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]

Існує декілька підходів до отримання структури з руху. В інкрементній структурі з руху положення камери розв'язуються та додаються до колекції одне по одному. В глобальній структурі з руху всі положення камери розв'язуються одночасно. Дещо проміжним підходом є структура з руху із зовнішньою пам'яттю[en], в якій обчислюються деякі часткові реконструкції, що потім інтегруються в глобальний розв'язок.

Див. також[ред. | ред. код]

Література[ред. | ред. код]

  • 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. (англ.)

Примітки[ред. | ред. код]

  1. Linda G. Shapiro, George C. Stockman (2001). Computer Vision. Prentice Hall. ISBN 0-13-030796-3. (англ.)
  2. D. G. Lowe (2004). Distinctive image features from scale-invariant keypoints. International Journal of Computer Vision. (англ.)
  3. H. Bay, T. Tuytelaars, and L. Van Gool (2006). Surf: Speeded up robust features. 9th European Conference on Computer Vision. (англ.)
  4. K. Häming and G. Peters (2010). The structure-from-motion reconstruction pipeline – a survey with focus on short image sequences. Kybernetika. Архів оригіналу за 18 лютого 2015. Процитовано 22 лютого 2015. (англ.)
  5. B. D. Lucas and T. Kanade. An iterative image registration technique with an application to stereo vision. IJCAI81. (англ.)
  6. 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. (англ.)
  7. F. Dellaert, S. Seitz, C. Thorpe, and S. Thrun (2000). Structure from Motion without Correspondence (PDF). IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Архів оригіналу (PDF) за 24 вересня 2015. Процитовано 22 лютого 2015. (англ.)
  8. Engel, Jakob; Schöps, Thomas; Cremers, Daniel (2014). European Converence on Computer Vision (ECCV) 2014 (PDF). Архів оригіналу (PDF) за 22 жовтня 2014. Процитовано 22 лютого 2015. {{cite journal}}: Проігноровано |contribution= (довідка) (англ.)

Посилання[ред. | ред. код]

Програмні інструментарії структури з руху[ред. | ред. код]

Відкриті рішення[ред. | ред. код]

C++

Matlab

Python

  • Python Photogrammetry Toolbox GUI — відкритий ГІК структури із руху (запускач Easy SfM та щільної множини точок), автори — Pierre Moulon та Arc-Team

Інше програмне забезпечення[ред. | ред. код]