Введение 3
Постановка задачи 5
Обзор литературы 6
Глава 1. Трехмерная геометрия 8
1.1. Проективная геометрия 8
1.2. Эпиполярная геометрия 9
1.3. Восстановление трехмерных координат точек 11
1.4. Случай калиброванного стерео соответствия 13
1.5. Случай некалиброванного стерео соответствия 14
Глава 2. Этапы работы алгоритма восстановления трехмерной модели 16
2.1. Нахождение, сопоставление и фильтрация особых точек 16
2.1.1. Алгоритм Oriented FAST and Rotated BRIEF (ORB) 17
2.1.2. Алгоритмы BruteForceMatcher и FlannBasedMatcher 18
2.1.3. Алгоритм RANSAC 19
2.2. Вычисление фундаментальной матрицы 20
2.3. Ректификация пары изображений 21
2.4. Построение карты диспаратности 22
2.5. Проектирование в трехмерное пространство 23
Глава 3. Практическая реализация 25
3.1. Выбор языка и технологий программирования 25
3.2. Реализация алгоритма 26
3.3. Экспериментальные результаты и выводы 27
Заключение 32
Список литературы
В настоящее время объемное представление данных пользуется большой популярностью. Задача трехмерной реконструкции сцены имеет место во многих существующих проектах и исследованиях, например, для навигации роботов, управления автомобилем, предотвращение столкновений; в медицине, геологии и в ряде других отраслей. В целом, области обработки трехмерных изображений, цифровой фотографии, игр, мультимедиа, трехмерной визуализации и дополненной реальности все чаще используют трехмерную информацию. В последнее время алгоритмы 3D моделирования находят широкое распространение в аэрокосмической отрасли.
Существует огромное количество алгоритмов построения трехмерной модели местности. Большинство их них основаны на известной цифровой модели рельефа (ЦМР) или высот (DEM - Digital Elevation Model, DTM – Digital Terrain Model), которая описывается набором точек в трехмерном пространстве и дает трехмерное представление данной области. Таким образом, процесс построения модели рельефа местности предполагает наличие базы данных высот характерных точек местности.
В целом, алгоритмы восстановления трехмерных сцен можно разбить на несколько подходов [1-4], каждый их которых называется «Shape from X» (Восстановление формы из X), где X может принимать различные значения:
• Shape from Shading – трехмерная реконструкция сцены по закраске изображения, то есть по изменению яркости между точками объекта;
• Shape from Focus/Defocus – трехмерная реконструкция по набору изображений, снятые при различной степени фокусировки;
• Shape from Stereo – трехмерная реконструкция на основе стереоскопической информации или стереореконструкция;
• Shape from Motion – трехмерная реконструкция сцены из последовательности изображений, снятых с разных позиций и в разные моменты времени;
• Shape from Zoom – трехмерная реконструкция из последовательности изображений, снятых зафиксированной камерой с различной степенью оптического увеличения.
Однако все вышеуказанные методы накладывают серьезные ограничения на изображения и условия съемки. В случае больших неупорядоченных наборов изображений, традиционным является подход стереореконструкции. Основной проблемой этого метода является то, что для трехмерной реконструкции сцены предполагается наличие стереопары изображений и/или известных параметров камеры. Зачастую, информация о параметрах камеры спутника, о масштабе и глубине съемки может быть недоступна. Так же в некоторых случая нецелесообразно использовать все данные о спутниковых снимках ввиду того, что файлы, их содержащие, весят достаточно много.
В данной работе рассматривается способ реконструкции трехмерной модели рельефа по паре спутниковых снимков, не имея априорной информации о параметрах съемки. До сих пор не существует универсальных алгоритмов, решающих данную задачу. Основная проблема заключается в недостатке данных о параметрах съемки и спутниковых изображений. Полученная трехмерная модель местности будет далека от идеальной, так как алгоритмы не в состоянии передать точность масштаба сцены без знаний о реальной глубине сцены.
Постановка задачи
Основной задачей данной работы является описание и реализация алгоритма для восстановления рельефа местности по спутниковым изображениям. Исходная пара спутниковых снимков не является стереопарой и не имеется никакой информации о параметрах спутниковых камер.
Предлагается следующий алгоритм решения данной проблемы:
• Найти особые точки и сопоставить изображения, т. е. найти точки на левом и правом изображениях, соответствующие одной и той же области трехмерного пространства;
• Вычислить фундаментальную матрицу преобразования системы координат и эпиполярные линии;
• Ректифицировать изображения;
• Построить карту смещений и сохранить в наиболее удобном формате для дальнейшего использования;
• Создать 3D модель.
Далее каждый пункт алгоритма будет рассмотрен подробнее.
В ходе проделанной работы был реализован алгоритм восстановления трехмерной модели местности по спутниковым снимкам, для которых не имеется информации о параметрах спутниковых камер, с которых данные снимки были получены. К тому же, было рассмотрено применение данного алгоритма для построения 3D модели сцены или объектов.
Для достижения поставленных целей, были выполнены следующие этапы алгоритма:
• Нахождение, сопоставление и фильтрация особых точек на паре изображений;
• Вычисление фундаментальной матрицы и эпиполярных линий;
• Ректификация (выпрямление) изображений таким образом, чтобы найденные эпиполярные линии были горизонтальными и параллельными друг другу;
• Построение карты смещений;
• Проектирование точек в трехмерное пространство и получение облака точек.
Несмотря на тот факт, что фундаментальная матрица напрямую зависит от параметров камеры, в ходе работы была рассмотрена возможность нахождения матрицы посредством решения системы линейных уравнений, полученных прямо из определения фундаментальной матрицы. Используя метод RANSAC и имея определенное количество пар точек соответствия, матрица успешно вычисляется. Как показала практика, такой способ является допустимым и приводит к приемлемым результатам.
Однако в таком случае полученная карта диспаратности не сможет передать реальный масштаб сцены, потому что нет необходимых параметров камеры (крупный объект на большом расстоянии будет выглядеть так же, как маленький объект поблизости). Ввиду этого, трехмерная модель не сможет полностью восстановить объем объектов изображения.
Можно сделать вывод, что для получения более качественных результатов необходимо, чтобы система изображений была близка к стереопаре (расстояние между оптическими центрами камер должно быть мало), и размеры объектов были известными.
[1] Вежневец B. Задача восстановления формы объекта по закраске (shape from shading) // Компьютерная графика и мультимедиа, 2004. Вып. № 2 (1).
[2] Favaro, P., Soatto, S.: A geometric approach to shape from defocus. // IEEE Transactions on Pattern Analysis and Machine Intelligence, 2005. P.406–417.
[3] Sjoerd C. de Vries, Astrid M. L. Kappers, Koenderink J. J. Shape from stereo: A systematic approach using quadratic surfaces // Perception & Psychophysics, 1993. Vol. 53, P. 71–80.
[4] Jonathan L. Carrivick, Mark W. Smith, Duncan J. Quincey. Structure from Motion in the Geosciences. USA: Wiley-Blackwell, 2016. 208 p.
[5] Гомозов О.А., Кузнецов А.Е., Побаруев В.И., Пошехонов В.И., Сухов А.А., Третьяков А.А. Технология обработки стереоизображений от систем ДЗЗ высокого разрешения // Современные проблемы дистанционного зондирования Земли из космоса: тез. докл. 6-й всерос. конф. – Москва, 2008.
[6] Гомозов О.А., Кузнецов А.Е., Побаруев В.И., Пошехонов В.И., Сухов А.А. Алгоритмы формирования цифровых моделей рельефа по данным от КА «Ресурс-ДК» // Современные проблемы дистанционного зондирования Земли из космоса: сб. науч. статей. Вып.6. Т.1. Москва, 2009. С. 96-104.
[7] Технология восстановления цифровых моделей рельефа по спутниковым снимкам: http://loi.sscc.ru/gis/rlz/NPOMash/NPOMash.htm
[8] Цифровые модели рельефа, созданные по данным спутниковой стереосъемки и лазерного сканирования: http://geomatica.ru/clauses/57/
[9] Т.В. Байкалова, И.Н. Дубина, А.В. Евтюшкин, В.Н. Юшаков. Алгоритм восстановления рельефа местности по стереопаре // Известия Алтайского государственного университета, 1996. №1(1). С.38-42
[10] Тупицын И.В. Реконструкция трехмерной модели объекта на основе стереопары при решении задач 3D-моделирования // Вестник Сибирского аэрокосмического университета имени академика М.Ф. Решетнева, 2011. СибГУ, Красноярск. С. 88-92.
[11] Хрущ Р.М., Гринь А.Н., Соловьев А.В. О построении геометрической модели местности по стереопаре аэрокосмических снимков // Информация и Космос, 2016. № 1. С. 80–84
[12] Оскорбин Н.М., Суханов С.И. Создание цифровой модели местности на основе космических снимков высокого разрешения // Известия Алтайского государственного университета, 2013. № 1/2 (77). С. 87-91.
[13] Ethan Rublee, Vincent Rabaud, Kurt Konolige, Gary Bradski: "ORB: an efficient alternative to SIFT or SURF", Computer Vision (ICCV), IEEE International Conference on IEEE, 2011. P. 2564 – 2571.
[14] Edward Rosten, Reid Porter, and Tom Drummond, Faster and better: a machine learning approach to corner detection // IEEE Trans. Pattern Analysis and Machine Intelligence, 2010. Vol. 32, P. 105-119.
[15] Michael Calonder, Vincent Lepetit, Christoph Strecha, Pascal Fua. BRIEF: Binary Robust Independent Elementary Features // 11th European Conference on Computer Vision (ECCV), 2010. P. 778 – 792. [16] Lowe, D. Distinctive image features from scale-invariant keypoints, cascade filtering approach // IJCV, 2004. Vol. 60, P. 91–110
[17] H. Bay, T. Tuytelaars, and L. Van Gool. Surf: Speeded up robust features // European Conference on Computer Vision, May 2006.
[18] Hartley R. I., Zisserman A. Multiple View Geometry in Computer Vision. Second Edition. Cambridge, UK: Cambridge University Press, 2004. 655 p.
[19] Fusiello A., Trucco E., Verri A. A compact algorithm for rectification of stereo pairs // Machine Vision and Applications, 2000. Vol. 12, No. 1, P. 16-22.
[20] Fusiello A., Luca I. Quasi-Euclidean epipolar rectification of uncalibrated images // Machine Vision and Applications, 2011. Vol. 22, No. 4, P. 663-670.
[21] H. Ko, H. S. Shim, O. Choi, C.-C. J. Kuo. Robust uncalibrated stereo rectification with constrained geometric distortions (USR-CGD) // Image Vis. Comput., Apr. 2017. Vol. 60, P. 98-114.
[22] Jacobsen, K. DEM generation from satellite data // EARSeL, 2003, Ghent
[23] Hirschmuller H. Accurate and efficient stereo processing by semiglobal matching and mutual information // Computer Vision and Pattern Recognition. 2005. No 2. P. 807–814.
[24] R. A. Hamzah, H. Ibrahim, and A. H. A. Hassan. Stereo matching algorithm for 3D surface reconstruction based on triangulation principle // Information Technology, Information Systems and Electrical Engineering (ICITISEE), International Conference on. IEEE, 2016, P. 119–124.
[25] Loop C., Zhang Z. Computing rectifying homographies for stereo vision // Computer Vision and Pattern Recognition. 1999. P. 125–131.
[26] Hartley R. I. In defense of the 8-point algorithm // IEEE Transactions on Pattern Analysis and Machine Intelligence. 1997. No 19(6). P. 580–593. [27] Harris C., Stephens M.J. A combined corner and edge detector // In: Proc. of the 4th Alvey Vision Conference, 1988. P. 147-152.
[28] Fischler M., Bolles R. Random Sample Consensus: A paradigm for model fitting with applications to image analysis and automated cartography // CACM. 1981. No 24. P. 381–395. [29] C. Sun, "Closed-form Stereo Image Rectification," in Image and Vision Computing New Zealand. Dunedin, New Zealand: ACM, 26-28 November 2012, pp. 132-137.
[30] Database with ground truth: http://vision.middlebury.edu/stereo/
[31] Digital Globe: https://www.digitalglobe.com/