Как стать автором
Обновить

Как использовать покадровую фотосъемку камерой GoPro для сервиса «Mapillary»

Время на прочтение 7 мин
Количество просмотров 31K
Всего голосов 32: ↑29 и ↓3 +26
Комментарии 23

Комментарии 23

Замечу, что быстрее и точнее можно привязать фотографии в редакторе JOSM: открыть трек, добавить слои OSM и Bing/Mapbox, затем правую кнопку мыши на слое GPX, «загрузить изображения». Для сохранения координат в EXIF понадобится плагин photo_geotagging.

Записи с видеорегистратора, у которого нет таймлапса, несложно разбить на картинку с помощью того же ffmpeg (не знаю конкретных параметров).
Точнее не получится, в josm шаг смещения между временем трекера и временем камеры кратен 1 секунде. gpx2exif позволяет задавать смещения в доли секунды. Понимаю, это не сильно актуально для велика, но на авто из-за такой дискретности промахи значительные
В EXIF поле DateTimeOriginal в любом случае имеет формат YYYY:MM:DD HH:MM:SS и это ASCII-строка, запихнуть туда что-то точнее секунд — нельзя.
Так что несмотря на формат YYYY-MM-DDTHH:MM:SS.SSSZ в GPX, любая картинка, в какой бы момент относительно целой секунды по UTC она ни была снята, окажется привязана к точке трека с целым значением секунд.

Потому для высокой точности совпадения панорам либо затвор должен быть синхронизирован с GPS по времени, либо снимать нужно с частотой, которая превышает 1Гц во столько раз, чтобы расстояние, проходимое средством передвижения с камерой за промежуток между кадрами, было меньше или равно допустимой величине ошибки в привязке.
Хорошо, ошибка камеры в дискретной привязке снимка ко времени неустранима, но остается же еще разница между часами трекера и часами камеры — вот она может быть выражена в долях секунды. Иначе мы имеем ошибку камеры (до половины секунды) + ошибку смещения (до половины секунды).
Разница между часами GPS и часами камеры может составлять долю секунды, это совершенно верно.

Но даже если мы будем знать, что она составляет, скажем, 0.4 секунды, мы все равно не сможем сообщить об этом сервису Mapillary, сдвинув время в EXIF на эту величину, потому что EXIF хранит только целые секунды.

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

Именно потому, что дискретность координаты времени в EXIF неустранима, мы должны пытаться сделать сам снимок ближе к целому значению секунд (что, как я сказал выше, достигается либо синхронизацией затвора, либо повышением частоты кадров и выборкой из получившихся тех, которые ближе всего к искомому моменту).
мы сможем сообщить об этом сервису Mapillary, но только не сдвинув время в exif, а выставив координаты снимка с учетом этой 0.4 секунды
Подскажите, пожалуйста, как сделать такую задачу:

Есть трек без времени. Есть информация о времени начала трека и времени конца трека. Нужно проставить время для промежуточных точек трека (по средней скорости).

Суть в том, что есть фото, сделанные в путешествии, есть планируемый трек, а вот трек реальный был потерян. Теперь предстоит задача разбросать фото по треку.
А я для склейки таймлапсов в GoPro использую AMVSimple GUI, хоть она и не совсем для этой задачи:
amvnews.ru/index.php?go=Pages&in=view&id=34

Драг энд дроп первого кадра на окно, выбираешь FPS, ставишь на deluxe, жмешь Run и все через несколько минут готовый MP4 файлик.
А видео чем-то дополнительно стабилизировалось?
Целевым использованием бюджета на строительство дорог.
Я так понимаю ошибка во времени просто от рассинхронизации камеры и смарта? Можно ведь просто синхронизировать время до записи, или я не так понял?
Правильно. Но абсолютно точно синхронизировать часы не всегда легко получается. Всё зависит от того, позволяет ли настройка времени на камере остановить часы и запустить их точно в момент подтверждения. И еще от скорости реакции пользователя. Ошибка в несколько секунд типична в подобных ситуациях.
Касательно гопро в приложении есть синхронизация, но я не проверять насколько идеально точно она время выставляет.

Кстати спасибо за наводку, попробую теперь рациональнее использовать камеру на веле)
Для сдвига времени в EXIF-заголовках всех файлов серии с шагом, кратным секунде, можно использовать программу jhead с опцией -ta.

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

Еще более гибкие и эффективные методы синхронизации предлагает ExifTool.
О! Вот это красота.

Пять лет назад, сделать подобную регистрацию на базе PocketPC для картографирования районов, обошлось мне во много усилий. Можно оценить технологический прогресс по качеству полученного результата: www.youtube.com/watch?v=naT7cft52r8

За 5 лет прогресс весьма хорош, совсем другой уровень качества на выходе!
Движемся к светлому будущему :)
Жаль, что перевод. Хотелось бы узнать у автора, что за крепление для смартфона такое, что не отваливается от рифлёной приборной панели.
вполне возможно что какой-нить «злой» двусторонний скотч от 3М, который отдирается только с этой самой панелью.
Судя по «хвостику» на правом краю крепежа, это устройство с присоской. Я себе в салоне таким же образом укрепляю туристский Garmin. В комплект автомобильного крепежа входит гладкий пластмассовый кругляш со скотчем. Скотч достаточно могучий. Несмотря на небольшое рифление приборной панели и выпуклость, кругляш приклеился намертво. Но для надежности я, когда приклеил его, сразу положил груз и оставил его лежать сутки. В роли груза была коробка с дрелью.
Это фирменное крепление HTC.
image
Судя по описанию с сайта, комплекте идёт Dash Mount Pad, как написал surly. Буду искать аналог и прекращаю оффтопить. Спасибо.
И это, «time lapse» не переводится с английского, как «замедленная съемка» (и уж если на то пошло — она обычно получается не замедленная, а ускоренная, потому что частота кадров при съемке меньше частоты при воспроизведении, а не наоборот) — это «интервальная съемка».
она обычно получается не замедленная, а ускоренная, потому что частота кадров при съемке меньше частоты при воспроизведении

Правильно отмечено, что частота кадров при съемкеменьше частоты воспроизведении. Именно поэтому такой вид съёмки и называется замедленной съемкой. При воспроизведении же возникает впечатление убыстренной окружающей жизни.

По поводу перевода «time lapse» — да, можно еще перевести как «покадровая съёмка», «интервальная съемка». Но Мультитран подсказывает ( http://www.multitran.ru/c/m.exe?a=3&&s=time%20lapse&sc=128&l1=1&l2=2, http://www.multitran.ru/c/m.exe?a=3&s=time%20lapse&sc=91&l1=1&l2=2), что «замедленная съемка» — тоже общепринятый перевод этого термина. Перенаправления в Википедии между статьями RU: Замедленная_киносъёмка и EN:Time-lapse_photography подтверждают это мнение. Так что, извините, но вынужден не согласиться с вашим возражением.
Есть нормальные термины, исключающие кривотолки «рэйпид» это как в матрице, и «таймлэпс» это когдаоблака быстро летят.
И все.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории