Любительская "аэрофотосъемка"

Случайно наткнулся на статью https://habrahabr.ru/company/croc/blog/301178/

Плохой обзор всех программ и мало инструкций, но как вводная статья “что это такое вообще” пойдёт.

Подскажите можно как то снимки и видео с квадракоптера обработать в слой карты, по типу спутниковых снимков?есть ли какой сервис опеновский для этого, кто знает все про https://openaerialmap.org/ делитесь опытом ссылками на программы, квадрик пишет в 4к видео. Можно ли в последующем как то этот слой использовать в JOSM. Оно но квадрик не наш фото и видео тоже но автор всего этого не против и готов даже нам помочь со съемкой на безвозмездной основе.

Можно, конечно. Это делается обычно через программы фотограмметрии, их много разных: https://en.wikipedia.org/wiki/Comparison_of_photogrammetry_software
Снимки все умеют, видео только некоторые (например pix4d).

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

Я в прошлом году игрался на разных сервисах:
https://www.altizure.com/project/57961548861d8cb72c266641/model
http://drdp.ly/lFFiF6
https://www.mapsmadeeasy.com/maps/public/edc7bd95ca5d4bc2890bf7a0ac0f97fe
https://www.propelleraero.com/
https://cloud.pix4d.com/

Но эти сервисы имеют мало настроек, как правило там зашит стандартный процесс обработки (связующие точки-плотное облако-3D модель-ортофото), для которого нужны хорошие исходные данные (единая высота снимков, отсутствие горизонта на снимках, хороший набор контрольных точек, хорошее перекрытие и т.п.).
Главная засада, на которой я споткнулся - для хорошей привязки необходимость делать измерения контрольных точек на местности, причём с сантиметровой точностью. Без этого всё плавает от нескольких метров до десятков, а т.к. разрешение получается высоким, обрисовать это потом становится сложно (привяжешь один угол - другой съезжает). Если есть возможность снять точки геодезическим приёмником (в RTK или PPP), то это должно улучшить ситуацию.

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

Выглядит отлично! А можно поинтересоваться, сколько для этого потребовалось фотографий и какого разрешения? И сколько заняло облететь это всё?

Вы привязывали ортофото как изображение в JOSM, или как-то ещё?

Это был Phantom 3 Advanced, снимки у него разрешением 4000х3000, высота полёта была 100 метров, всего 87 фотографий.

Полёт на высоте - минут 8 + взлёт/посадка.

Есть разные способы. Можно geotiff сразу открыть, но это съедает много памяти. Некоторые сервисы и программы умеют генерить тайловый набор помимо geotiff, но можно и самому gdal-ом из geotiff его сгенерить и подключить его к JOSM.

Спасибо. Ещё появилась идея, что можно генерировать карту высот (DEM) и использовать её для определения высот зданий. Какие-то программы умеют её экспортировать? Это может быть полезно для промзон и прочих нежилых зданий, где от знания этажности мало толку.

Да большинство умеет. Модель высот - это ведь промежуточные данные при формировании ортофото.

Можно использовать опенсорсную утилиту OpenDroneMap, например, если хотите у себя дома снимки склеить в ортофотоплан.
Более хорошие результаты даёт онлайн-сервис dronedeploy, там даже бесплатный план есть, вроде по 4 карты в месяц.
Лучше всего не с видео делать, а с серии фотографий, качество будет лучше и геопривязку можно будет сделать, ибо коптер пишет координаты в снимки. Снимать лучше в raw.
Я использую утилиту UGCS чтобы задавать коптеру программу облёта местности и съемки фото каждые n секунд.
Потом при склеивании можно получить что-то вроде такого: https://pavl.uk/tiles/kislo1b/
Там можно включить на панели gps-треки с OSM и посмотреть насколько точно геопривязалось. Получается обычно довольно точно, имея только координаты снимков, без использования наземных точек с известными координатами. Если дополнительно привязать по наземным точкам, будет ещё точнее.

Посоветуйте коптер для OSM.
Присмотрел пока DJI Phantom 3 Advanced, стоит брать? Или есть что-то лучше за туже цену?

For our purposes are DJI Phantom models more than enough. I made tests in Poland two years before with Phantom 2. Results were very exactly. If I would search after one model, I would look after prices for batteries. You need in free space at least two or three batteries for efectively data collecting.

Thanks Marek!

Коптер хороший (у меня такой), для съёмки вполне годится.
Сейчас облизываюсь на DJI Mavik Pro. Подороже, но куда удобнее в использовании (компактный, с винтами возиться не нужно и т.п.) + время полёта больше.

Посоветуйте какие-то ссылки для новичка. С чего начать, как делать маршруты и как случайно не угробить коптер :smiley:

Пробовал программы автоматической съёмки - но как-то с ними не заладилось. Большинство хорошо работает только на открытой местности, т.к. пытаются полностью контролировать процесс съёмки. Если связь теряется в процессе (что в городе обычное дело) - сразу начинаются проблемы. То съёмка не стартанёт, то прекращается при потере связи (когда коптер за зданием скрывается) то ещё что.

В итоге вернулся к ручному планированию маршрута. Для этого удобнее всего программа Litchi - https://flylitchi.com/
Там можно запланировать маршрут облёта, высоту контрольных точек, скорость полёта и прочее. Для ортофото маршрут нужен в виде змейки, на одной высоте, с равномерной скоростью и хорошим перекрытием снимков - такую съёмку затем проще всего обрабатывать. Режим съёмки - автоматический по таймеру, с минимальной паузой, без ограничения кол-ва, угол камеры -90 градусов (вертикально вниз). По завершении программы - возврат “домой”. Такая программа получается независимой от потери связи - загрузил, запустил и потом просто наблюдаешь как коптер сам летает и снимает. При сильном ветре лучше не летать, заряд батарей быстро тратится на борьбу с ним.

Чем больше высота - тем больше охват одного снимка, но тем ниже разрешение в результате. Высота должна быть не ниже окружающих деревьев/зданий, чтобы не зацепить случайно чего. В городе это как минимум 100 метров. Этот же минимум нужно выставить для режима возврата. Камера делает снимки 3000px x 4000px Примерная таблица для оценки результирующего пространственного разрешения снимков у Phantom 3:

Высота Охват снимка Разрешение
500m: 600m x 800m 20 cm/px
400m: 500m x 700m 17 cm/px
300m: 400m x 500m 13 cm/px
250m: 300m x 400m 10 cm/px
200m: 250m x 340m 8 cm/px
100m: 110m x 155m 4 cm/px

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

Для хорошего результата и качества привязки так же нужны измерения точек на местности. Без этого привязка будет гулять на точность координат, снятых GPS коптера (+/- 5-10 метров). Бытовые навигаторы тут подходят плохо (у них такая же погрешность), т.к. разрешение снимков высокое, нужна соответствующая точность (сантиметровая). Это означет или применение профессиональных приёмников (самые дешёвые стоят несколько сотен тысяч рублей), либо колхозить что-то на базе ublox и rtklib (см. соседнюю тему).
В роли контрольных точек в городе летом хорошо подходят канализационные люки - стационарные (измерять можно в любое время как до съёмки, так и после), обычно довольно хорошо различимы на снимках. Зимой можно люки теплотрасс (на которых снег тает) или углы заборов (обычно хорошо видны на фоне снега).

Это, так сказать, программа максимум. В результате можно получить ортофото с разрешением в сантиметры и заняться микромаппингом - мапить бордюры, канализационные люки, заборчики, урны, скамейки и прочая. Пример: http://www.openstreetmap.org/#map=19/59.85319/30.38864

Если без микромаппинга, можно обойтись программой минимум - просто сделать несколько снимков с максимальной высоты, 500 метров, чтобы уменьшить перспективные искажения. Привязку их можно делать в qgis или даже в самом JOSM. Разрешение снимков при этом получится порядка 20 см/пиксель, что превосходит обычные спутниковые, но для неровной местности/высоких зданий перспективные искажения могут существенно подпортить результат. Такую съёмку лучше тоже программировать в автоматическом режиме, через Litchi, дабы возможная потеря связи не мешала. А то у меня бывали случаи - вроде дистанция небольшая, видимость прямая, хочешь вручную отвести коптер на нужное место, а связь постоянно рвётся из-за помех и он всё время возвращается обратно.

Чтобы не угробить коптер - обязательно сначала обновить все прошивки на последние, выполнить калибровку компаса, выставить корректно минимальную высоту и затем освоиться с управлением, как минимум потренироваться во взлёте/посадке и полётах на небольшие дистанции. Это нужно, чтобы потом нормально сажать коптер после выполнения программы, т.к. он из-за погрешностей может нацелиться сесть в неподобающее место, надо суметь его тогда направить. Ну и вообще полетать/поснимать видео может быть интересным само по себе.

Спасибо Сергей.

А можете поделиться сырыми материалами, чтобы потренироваться?

https://cloud.mail.ru/public/BCGu/WCb4QRPUF

Спасибо.

эх,
у нас дроны тяжелее 250 грамм, или имеющие на борту средства навигации или съемки, законом запрещены

Значит скоро и у нас.

Надо у мелкого взять вертолётик полетать - на его игрушке есть камера.