@Azat2015

Как вычислить географические координаты объекта на панорамной фотогрфии?

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

Из исходных данных - панорамные фотографии, снятые через небольшие (секунды) промежутки времени с координатами в exif (коордианты могут быть в том числе RTK, то есть с точностью в сантиметры).
Высота положения камеры известна.
Скорость движения камеры не постоянная.
Компаса в камере и в exif нет.
Азимут камеры во время съемки случайным образом меняется (поворачивается относительно севера, относительно предыдущей фотографии).
Задача - из этих данных выяснить координаты объектов, распознанных на фото.

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

Может быть есть способ проще?

Есть конечно вариант с фотограмметрией - создавать на основе панорамных фото 3д модель пространства, находить в ней объекты нужной формы и соответствующие им координаты. Но по ощущениям это избыточно, а в плане разницы потребления ресурсов - вообще не вариант.
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ответы на вопрос 1
hint000
@hint000
у админа три руки
Из исходных данных - панорамные фотографии, снятые через небольшие (секунды) промежутки времени с координатами в exif
Координаты чего? Самой камеры? При том, что камера постоянно накодится в одной точке и эти координаты на всех фотографиях одинаковые?
отсюда по азимутам между этих объектов на разных фото и координатам соседних фотографий вычислять направление севера
Откуда возьмёте азимуты, если компаса нет?
Панорама круговая (на 360 градусов)? Если да, то вы только сможете вычислить, сколько пикселей составляют какой угол, а на основе этого вычислить углы между объектами (но не азимуты объектов). И всё равно линейные расстояния будут неизвестны. Если панорама меньше, чем на 360 градусов, то даже для вычисления углов между объектами не будет данных.

В любом случае потребуется как минимум одно калибровочное фото, для которого будет известно: 1) точный азимут на объект, 2) точное расстояние от камеры до объекта, 3) точные размеры объекта (высота или ширина). Тогда уже можно вычислять. Без этого исходных данных просто нет.
И это ещё при отсутствии дисторсии у оптики камеры. А при наличии дисторсии потребуются точные данные о нескольких объектах в калибровочном кадре, чтобы можно было вычислить и в дальнейшем как-то учитывать дисторсию.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы