Алгоритм ортотрансформирования; мозаичные аэрофотоснимки

Я работаю над способами сбора аэрофотоснимков фермы (изображения, снятые с вертолета в перпендикулярном направлении), которые я хотел бы сшить вместе, чтобы создать полную фотографию охватываемой области, а затем я хотел запустить аналитику. Я предполагаю, что изображения будут поставляться с координатами [широта, долгота], чтобы помочь мне определить места для размещения изображений.

Чтобы понять проблемы с этой технологией, я попытался вручную сшить фотографии, сделанные с моего телефона, на каком-то участке на моем заднем дворе. Я заметил, что края обычно не выглядят одинаково, потому что камера видит их с разных сторон или под разными углами. Я предполагаю, что это искажение изображения, которое потенциально может быть исправлено орто-выпрямлением (не совсем уверен). Я быстро создал следующую картинку, чтобы помочь объяснить мою проблему.

введите здесь описание изображения

Мой вопрос к вам:

Какие алгоритмы/методы используются для орто-ректификации?

Какие инструменты лучше всего подходят для моих нужд: opencv, или обработка, или матлаб, или любой другой инструмент, который может легко помочь в исправлении изображений и создании мозаичного фото?

Какие еще вопросы следует учитывать при составлении мозаики и анализе аэрофотоснимков?

Спасибо!


person Rose    schedule 04.03.2014    source источник
comment
Этот вопрос можно задать в географических информационных системах. Пример: gis.stackexchange.com/questions/72062/   -  person marsei    schedule 05.03.2014
comment
Этот вопрос кажется не по теме, потому что он касается технических знаний, которые не имеют прямого отношения к программированию.   -  person Andrey Rubshtein    schedule 05.03.2014


Ответы (3)


Сшивка изображений обычно предполагает, что центр камеры зафиксирован на всех фотографиях, и использует гомографии для преобразования изображений, чтобы они казались непрерывными. Когда допущение о фиксированном центре камеры не является строго верным, могут появиться артефакты/искажения из-за трехмерности сцены. Если центр камеры сместился на небольшое расстояние по сравнению с рельефом сцены, методов «бесшовного смешивания изображений» может быть достаточно, чтобы размыть искажения.

В более крайних случаях требуется орто-выпрямление. Ортокоррекция (запись в Википедии) — это задача преобразования изображение, наблюдаемое с заданной перспективы камеры, в ортогональную (запись в Википедии) и, как правило, вертикальная точка зрения. Орфографическое свойство интересно тем, что оно значительно упрощает сшивание нескольких изображений. Особенно хорошо видна следующая картинка из Википедии (слева — орфографическая или направленная проекция, справа — перспективная или центральная проекция):

введите здесь описание изображения

Задача ортотрансформирования обычно требует наличия трехмерной модели сцены, чтобы правильно сопоставить интенсивности, наблюдаемые перспективной камерой, с их положением относительно ортогональной камеры. В контексте аэрофото/спутниковых изображений для этой цели часто используются цифровые модели рельефа (ЦМР), но, как правило, они имеют серьезный недостаток, заключающийся в том, что они не включают искусственные сооружения (только рельеф Земли). НАСА бесплатно предоставляет DEM, полученные в ходе миссий SRTM (ссылка DEM).

Другой подход, если у вас есть два изображения, полученные в разных положениях, вы можете попытаться выполнить 3D-реконструкцию, используя один из методов стереосопоставления, а затем создать ортотрансформированное изображение, сопоставив два изображения, как их видит третий ортогональный и вертикальная камера.

OpenCV имеет несколько интересных функций для этой цели (например, стереореконструкция, функции сопоставления изображений и т. д.) и может быть более подходящим для интенсивного использования. Matlab, вероятно, также имеет интересные функции и может быть более подходящим для быстрых тестов.

person BConic    schedule 05.03.2014
comment
Сшиватель OpenCV предполагает истинное вращение (камера не перемещается, а вращается только вокруг своей оси), что автоматически делает его непригодным для использования, если между изображениями происходит перемещение. Я знаю это не только из личного опыта, но и из изучения исходного кода класса сшивателя в этой библиотеке. Для таких случаев должна быть разработана специальная процедура. - person rbaleksandar; 28.04.2014

Во-первых, ректификация — это какое-то перекос, но не тот, который вам нужен. Обычное выпрямление используется в стерео, чтобы убедиться, что совпадающие точки лежат в одной строке — не ваш случай. Ортокоррекция искажает перспективную проекцию в орфографическую - опять же не ваш случай. Вам не только не хватает 3D-модели для расчета этой деформации, но и она вам не нужна, поскольку ваши искажения перспективы незначительны, и у вас уже есть изображение, довольно близкое к орто (то есть, когда размер объектов мал по сравнению с перспективой расстояния просмотра). эффект небольшой).

Проблемы с выравниванием двух изображений возникают из-за небольших поворотов камеры между кадрами. Чтобы начать решение проблемы, вам нужно убедиться, что ваши изображения действительно перекрываются, скажем, на 30%. Чтобы узнать об этом, см. главу 9 этой книги.

Что вам нужно, так это просмотреть обычные методы сшивания изображений, которые используют гомографию для сопоставления двух изображений. Обратите внимание, что это предполагает, что изображения по существу плоские. Чтобы найти гомографию, вы можете сначала вручную выбрать 4 точки на одном изображении и 4 совпадающие точки на другом изображении и запустить функцию openCV findHomography(). Обратите внимание, что для поиска совпадений требуется перекрытие (на вашем изображении нет перекрытия). warpPerspective() может деформировать изображения после того, как гомография найдена.

person Vlad    schedule 05.03.2014
comment
В настоящее время ЦМР (цифровые модели рельефа) можно получить с использованием таких методов, как структура из движения (SfM), если предоставлено достаточно данных изображения. Кроме того, некоторые из них можно найти в Интернете. - person rbaleksandar; 28.04.2014
comment
SFM — это сверхдорогой алгоритм, не дающий надежной гарантии точности и в этом случае кажется излишним. Он также рассматривает общий случай трехмерной структуры, а не плоских объектов. Более того, он просто не будет работать с плоскими изображениями, так как фундаментальная матрица (первый шаг в SFM) не будет сэмплирована с репрезентативными точками. - person Vlad; 19.05.2015

«Какие алгоритмы/методы используются для орто-ректификации?

Если вам нужен хороший обзор методов, хорошим началом может стать книга «Геометрия множественного представления в компьютерном зрении» Хартли и Зиссермана: http://www.robots.ox.ac.uk:5000/~vgg/hzbook/

У Эндрю Зиссермана также есть несколько учебных пособий, доступных здесь, по адресу www.robots.ox.ac.uk/~az/tutorials/, которые могут быть более доступными/упрощающими поиск конкретной техники, которую вы хотите использовать.

«Какие инструменты лучше всего подходят для моих нужд: opencv, или обработка, или матлаб, или любой другой инструмент, который может легко помочь в исправлении изображений и создании мозаичного фото?»

В OpenCV доступно довольно много инструментов — взгляните на сшивание изображений для начала. Там также много доступно для исправления искажений. Однако это не обязательно должен быть тот инструмент, который вы используете, есть и другие!

person dr.blochwave    schedule 05.03.2014