Какими программами совмещаем растры ?

Sergey Astakhov
Активный участник
Сообщения: 218
Зарегистрирован: 21 дек 2012, 01:57
Репутация: 52
Откуда: Питер

Re: Какими программами совмещаем растры ?

Сообщение Sergey Astakhov » 29 авг 2016, 18:56

sergsh писал(а):а может быть вы в Берлине видели какие то другие проекты кроме OpenDroneMap по сведению снимков с БПЛА ?
Не в Берлине, но пробовал такие коммерческие сервисы:

https://www.altizure.com/
https://www.dronedeploy.com/
https://www.mapsmadeeasy.com/
https://www.propelleraero.com/

Все работают, но разнятся по фичам и стоимости. Везде есть триалы с ограничениями на попробовать.
Но это не просто совмещение, а полноценная обработка, с построением 3D-моделей и ортофото.
sergsh писал(а):Нам нужна не точность сама по себе, а точное совмещение снимков друг над другом.
Ну это же просто один из шагов обработки, обычно делается через автоматический поиск общих точек. Там ещё много других этапов, вы их хотите сами сделать или что?
Ну и точность итогового результат вас не волнует? Для примера, при обработке снимков с DJI Phantom 3, в автоматическом режиме, без использования GCP, результат в итоге может легко гулять на +/- 15 метров (на одном краю квартала в одну сторону смещение, на другом - в другую).

sergsh
Активный участник
Сообщения: 205
Зарегистрирован: 20 фев 2013, 21:48
Репутация: 30

Re: Какими программами совмещаем растры ?

Сообщение sergsh » 29 авг 2016, 22:21

Точность зависит от высоты. Если у меня пикс в центре кадра размером 0.5 или 1 см, то +/- 15 метров на краю никак не будет. Если конечно снимок более менее горизонтален, что обычно получается.

Вообще обработка зависит от задачи. У меня задача классификации, и мне над одной точкой важно получить как можно больше снимков.

Спасибо за список сервисов ! Вы пользовались из них каким-нибудь ? Я спрашиваю потому, что мне не нужна одна мозаика, собранная из набора снимков. А нужно для каждой точки местности сопоставить точку в каждом снимке, то есть после обработки должны быть доступны все снимки и возможность получить информацию из всех снимков для произвольной точки.
Есть такая возможность в каком нибудь из перечисленных вами сервисов ?

Sergey Astakhov
Активный участник
Сообщения: 218
Зарегистрирован: 21 дек 2012, 01:57
Репутация: 52
Откуда: Питер

Re: Какими программами совмещаем растры ?

Сообщение Sergey Astakhov » 30 авг 2016, 01:53

sergsh писал(а):Точность зависит от высоты. Если у меня пикс в центре кадра размером 0.5 или 1 см, то +/- 15 метров на краю никак не будет. Если конечно снимок более менее горизонтален, что обычно получается.
Разрешение снимка тут не при чём. Точность результата зависит от точности измерений параметров съёмки. Сам по себе снимок не содержит информации о том, с какой высоты и под каким углом его сняли - эти данные или содержатся в метаданных (измеряется и записывается беспилотником с соответствующей погрешностью) или вычисляются из нескольких снимков, при условии наличия измерений на местности (точки GCP, масштабные линии, вертикали и т.п. которые надо вручную указывать на снимках).
sergsh писал(а):Вообще обработка зависит от задачи. У меня задача классификации, и мне над одной точкой важно получить как можно больше снимков.

Спасибо за список сервисов ! Вы пользовались из них каким-нибудь ? Я спрашиваю потому, что мне не нужна одна мозаика, собранная из набора снимков. А нужно для каждой точки местности сопоставить точку в каждом снимке, то есть после обработки должны быть доступны все снимки и возможность получить информацию из всех снимков для произвольной точки.
Есть такая возможность в каком нибудь из перечисленных вами сервисов ?
Я ими всеми пользовался, но меня пока что интересовал результат только в виде ортофото. Вообще же обычный джентельменский результат обработки:
  • облако связующих точек
  • плотное облако точек
  • 3-D модель (с текстурами и без)
  • ортофото
Насколько я понял из вашего описания, вам нужно брать плотное облако и дальше заняться его классификацией. Это наверное лучше делать уже в десктопных программах. Ну или сразу делать всё в них.
Вот так, к примеру это выглядит в PhotoScan: http://www.agisoft.com/index.php?id=35
А вот так в Pix4DMapper: https://support.pix4d.com/hc/en-us/arti ... #gsc.tab=0

gamm
Гуру
Сообщения: 4044
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1049
Ваше звание: программист
Откуда: Казань

Re: Какими программами совмещаем растры ?

Сообщение gamm » 30 авг 2016, 07:54

sergsh писал(а):Если у меня пикс в центре кадра размером 0.5 или 1 см, то +/- 15 метров на краю никак не будет.
будет, поскольку высота съемки вам не известна. Если только будет опора хорошая.
У меня задача классификации, и мне над одной точкой важно получить как можно больше снимков.
с классификацией все несколько сложнее, чем вам представляется, особенно на сверхвысоком разрешении.

Начиная с того, что границы пикселей у разных снимков не совпадают, стандартные методы интерполяции искажают фотометрию, и нужно делать фотометрическую коррекцию (в простейшем случае) с учетом взаимоположения Солнца и камеры, и геометрии объекта. А вообще нужна коррекция с учетом теней, в том числе от подвижности объектов (веток дерева, облаков), и изменения освещенности от разных BRDF, HDRF, BRF, BHR, DHR, etc.

andreygeo
Гуру
Сообщения: 1085
Зарегистрирован: 27 окт 2010, 10:53
Репутация: 358
Откуда: Ракурс & GISGeo

Re: Какими программами совмещаем растры ?

Сообщение andreygeo » 30 авг 2016, 10:59

sergsh писал(а): Есть такая возможность в каком нибудь из перечисленных вами сервисов ?
Нет, это исключительно ручная работа. В софте должна быть функция ручного редактирования связующих точек.
Производители АФС камер UltraCam используют такое понятие как Multi Ray Photogrammetry. Они получают данные с 90% перекрытием, с разных залётов. Пиксел 10 см, на одну точку приходится 12 снимков. Но там выходная задача иная стоит.
Проект GISGeo: геомаркетинг

sergsh
Активный участник
Сообщения: 205
Зарегистрирован: 20 фев 2013, 21:48
Репутация: 30

Re: Какими программами совмещаем растры ?

Сообщение sergsh » 31 авг 2016, 11:35

gamm писал(а):
sergsh писал(а):Если у меня пикс в центре кадра размером 0.5 или 1 см, то +/- 15 метров на краю никак не будет.
будет, поскольку высота съемки вам не известна. Если только будет опора хорошая.
У меня задача классификации, и мне над одной точкой важно получить как можно больше снимков.
с классификацией все несколько сложнее, чем вам представляется, особенно на сверхвысоком разрешении.

Начиная с того, что границы пикселей у разных снимков не совпадают, стандартные методы интерполяции искажают фотометрию, и нужно делать фотометрическую коррекцию (в простейшем случае) с учетом взаимоположения Солнца и камеры, и геометрии объекта. А вообще нужна коррекция с учетом теней, в том числе от подвижности объектов (веток дерева, облаков), и изменения освещенности от разных BRDF, HDRF, BRF, BHR, DHR, etc.
Вообще для нашей задачи чем больше разного положения Солнца , теней подвижности объектов , изменения освещенности - тем лучше. Для этого мы и набираем как можно больше повторных кадров одного полигона. Надеемся получить их по всем сезонам года. Разнообразие условий дает больше признаков для классификации.
То есть мы сознательно не делаем никаких коррекций.

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

sergsh
Активный участник
Сообщения: 205
Зарегистрирован: 20 фев 2013, 21:48
Репутация: 30

Re: Какими программами совмещаем растры ?

Сообщение sergsh » 31 авг 2016, 11:53

Sergey Astakhov писал(а):
Я ими всеми пользовался, но меня пока что интересовал результат только в виде ортофото. Вообще же обычный джентельменский результат обработки:
  • облако связующих точек
  • плотное облако точек
  • 3-D модель (с текстурами и без)
  • ортофото
Я к сожалению не очень понимаю что есть облако точек а что есть плотное облако точек.
Приведу пример. Совмещены 2 кадра, №1 и №2.

Изображение

Мне нужно получить массив размером как черный квадрат, в котором 2 слоя.
В каждом слое есть маска кадра, в слое 1 маска кадра №1 и в слое 2 маска кадра №2.
Маска - это где есть кадр записаны например единицы, а где нет кадра - там нули.

При наличии 1000 кадров получаем бинарный массив в котором 1000 слоев, так сказать каждый кадр имеет свое место.

Можно ли получить такие данные в каком нибудь из перечисленных вами пакетов ?

sergsh
Активный участник
Сообщения: 205
Зарегистрирован: 20 фев 2013, 21:48
Репутация: 30

Re: Какими программами совмещаем растры ?

Сообщение sergsh » 31 авг 2016, 12:01

andreygeo писал(а):
sergsh писал(а): Есть такая возможность в каком нибудь из перечисленных вами сервисов ?
Нет, это исключительно ручная работа. В софте должна быть функция ручного редактирования связующих точек.
Производители АФС камер UltraCam используют такое понятие как Multi Ray Photogrammetry. Они получают данные с 90% перекрытием, с разных залётов. Пиксел 10 см, на одну точку приходится 12 снимков. Но там выходная задача иная стоит.
Почему "исключительно ручная работа" ?
Я сейчас пользуюсь автоматическим выбором точек, и все вполне работает. Ручной работы по выбору точек нет вообще. У меня конкретно в Матлабе есть столько разных способов выбора точек:

detectMinEigenFeatures
detectSURFFeatures
detectBRISKFeatures
detectFASTFeatures
detectHarrisFeatures
detectMSERFeatures

Их описание можно посмотреть на сайте матлаба

andreygeo
Гуру
Сообщения: 1085
Зарегистрирован: 27 окт 2010, 10:53
Репутация: 358
Откуда: Ракурс & GISGeo

Re: Какими программами совмещаем растры ?

Сообщение andreygeo » 31 авг 2016, 12:07

sergsh писал(а):Можно ли получить такие данные в каком нибудь из перечисленных вами пакетов ?
Нет, нельзя. Все пакеты нацелены на создание конечного картографического продукта. Во многих пакетах о которых тут речь используется один и тот же алгоритм. Больше скажу, во многих пакетах обработки БПЛА используется вообще одна и таже программа, купленная и поставленная в облаке или же переименованная. И все эти программы не дадут вам самого главного - отчета по ошибкам на связях.
Вам же нужна исседовательская система. Конечно, она должна быть с открытым кодом и открытым алгоритмом поиска связующих точек. Ваша цель исследований - дело очень важное, т.к. именно связи снимков это самый ответственный и долгий процесс. Качество этих связей определяет качество выходного продукта.
В вашем случае, самый оптимальный вариант - искать разработчиков, которые заинтересованы в ваших исследованиях и совместно с ними отрабатывать ваши алгоритмы. Или же искать программистов, которые могут воплотить ваши идеи в код.
Практический смысл исследований пока туманен. Гораздо востребованней сейчас сшивка данных над водной поверхностью.
Проект GISGeo: геомаркетинг

andreygeo
Гуру
Сообщения: 1085
Зарегистрирован: 27 окт 2010, 10:53
Репутация: 358
Откуда: Ракурс & GISGeo

Re: Какими программами совмещаем растры ?

Сообщение andreygeo » 31 авг 2016, 12:10

sergsh писал(а): Я сейчас пользуюсь автоматическим выбором точек, и все вполне работает. Ручной работы по выбору точек нет вообще. У меня конкретно в Матлабе есть столько разных способов выбора точек:
Ну вы же как-то проверяете корректность работы автомата? Сколько снимков одновременно сейчас у вас "ест" Матлаб и какие ошибки на связях он может генерить? Интересны именно ошибки.
Проект GISGeo: геомаркетинг

gamm
Гуру
Сообщения: 4044
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1049
Ваше звание: программист
Откуда: Казань

Re: Какими программами совмещаем растры ?

Сообщение gamm » 31 авг 2016, 16:18

sergsh писал(а):Вообще для нашей задачи чем больше разного положения Солнца , теней подвижности объектов , изменения освещенности - тем лучше. Для этого мы и набираем как можно больше повторных кадров одного полигона. Надеемся получить их по всем сезонам года. Разнообразие условий дает больше признаков для классификации.
у вас опять какой-то сумбур вместо музыки. Вы чего классифицировать собрались, свойства самих объектов, или шум вносимый условиями съемки, тенями, и т.д. :roll:

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

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

sergsh
Активный участник
Сообщения: 205
Зарегистрирован: 20 фев 2013, 21:48
Репутация: 30

Re: Какими программами совмещаем растры ?

Сообщение sergsh » 31 авг 2016, 21:14

andreygeo писал(а):
Гораздо востребованней сейчас сшивка данных над водной поверхностью.[/quote]

Да, эта задача по сравнению с съемкой суши посложнее будет. Волнение на месте не стоит, постоянного "рельефа" нет, вихри Ленгмюра чуть более постоянная штука, но тоже двигаются

Мы пока рассматриваем такой способ - один БПЛА сверху, и несколько внизу.
Верхний снимает общий кадр, а нижние снимают части общего кадра - и все это строго одновременно.
Привязка нижних кадров по верхнему кадру общего плана, а он уже краями цепляется за береговую зону.
Но это все для прибрежной зоны и тем более водоем у нас не очень большой.

А для удаленных от берега участков - непонятно. Одного GPS явно недостаточно.

sergsh
Активный участник
Сообщения: 205
Зарегистрирован: 20 фев 2013, 21:48
Репутация: 30

Re: Какими программами совмещаем растры ?

Сообщение sergsh » 31 авг 2016, 21:37

andreygeo писал(а):
sergsh писал(а): Я сейчас пользуюсь автоматическим выбором точек, и все вполне работает. Ручной работы по выбору точек нет вообще. У меня конкретно в Матлабе есть столько разных способов выбора точек:
Ну вы же как-то проверяете корректность работы автомата? Сколько снимков одновременно сейчас у вас "ест" Матлаб и какие ошибки на связях он может генерить? Интересны именно ошибки.
Работа автомата, как я понимаю такая. Выделяется облако характерных точек на одном изображении.
Я могу видеть эти точки, и если бы я делал вручную то взял бы другие точки.
А потом этот набор точек накладывается на второе изображение и находится наилучшее совпадение из всех возможных.
Не все точки выбранные в первом изображении совпадают со вторым. Совпадающее число зависит от метода, это от 100 до 3000-5000 совпадающих точек. При этом совмещается все одинаково хорошо.

Я думаю что полученное совмещение есть наиболее корректное для данного набора изображений.

Сейчас я много снимков не загружаю, тестирую все на 10 штуках. Памяти ест не много, кроме самих снимков полюсом 1.5-2.0 Гб. Если хранить только бинарный массив 0-1 расположения снимков то памяти хватит я думаю и на 1000 снимков. Далее можно использовать формат сильно разряженных матриц, это еще компактнее будет.
Но реально пока большое количество снимков не пробовал.

sergsh
Активный участник
Сообщения: 205
Зарегистрирован: 20 фев 2013, 21:48
Репутация: 30

Re: Какими программами совмещаем растры ?

Сообщение sergsh » 01 сен 2016, 15:59

andreygeo писал(а): Ну вы же как-то проверяете корректность работы автомата? Сколько снимков одновременно сейчас у вас "ест" Матлаб и какие ошибки на связях он может генерить? Интересны именно ошибки.

Сделал проверку совмещения двух снимков через кросс-корреляцию.
Все получается красиво. Снимки вроде сведены идеально.

Изображение

А далее разделяем исходные сведенные снимки на маленькие квадраты 9*9, и для них отдельно считаем корреляцию. Получаем оценку локальной взаимной корреляции между снимками.
И тут картина выглядит грустно.

Изображение

Видно что центральная часть снимков совпадает, а к краям все начинает расползаться.

Интересно было бы посмотреть локальную взаимную корреляцию для снимков совмещенных другими программами.
В связи с чем просьба прислать мне пару сведенных кадров, если у кого такие есть.

Может такая точность и должна быть, а может именно мой алгоритм работает с сильными ошибками.

andreygeo
Гуру
Сообщения: 1085
Зарегистрирован: 27 окт 2010, 10:53
Репутация: 358
Откуда: Ракурс & GISGeo

Re: Какими программами совмещаем растры ?

Сообщение andreygeo » 01 сен 2016, 16:29

sergsh писал(а):Видно что центральная часть снимков совпадает, а к краям все начинает расползаться.
Интересно было бы посмотреть локальную взаимную корреляцию для снимков совмещенных другими программами.
В связи с чем просьба прислать мне пару сведенных кадров, если у кого такие есть.
Может такая точность и должна быть, а может именно мой алгоритм работает с сильными ошибками.
Без данных о самой съемке (камера, борт, калибровка) говорить об алгоритмах бесмысленно.
Проект GISGeo: геомаркетинг

Ответить

Вернуться в «Беспилотники»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя