Offsetting time for GoPro Max

My GoPro Max has excellent GPS, I’m finding! The paths the sequences go along are far more accurate than what my phone’s GPS can create.

But with 360° time lapse photos, it misplaces images about a full second ahead of where they were taken.

I use the following command:

mapillary_tools process --import_path Trip1 --cutoff_time 10 --duplicate_distance 1.5 --duplicate_angle 360 --interpolate_directions --offset_angle 0 --overwrite_EXIF_direction_tag --user_name jesseakaraccoon --advanced

I get a situation that looks like this:

Sequence: >==A=====a===B======b===C==>

Where A and B are the ACTUAL photo positions, and a and b are what their geotag says, and thus where they show up on mapillary, too far ahead. At faster speeds, this can be a difference of over 10 meters!

What additional commands or subprocesses can you suggest to correct this?

EDIT: Turns out the solution is exactly as simple as adding “–offset_time 1” to the command. It then looks like:

mapillary_tools process --import_path Trip1 --cutoff_time 10 --duplicate_distance 1.5 --duplicate_angle 360 --interpolate_directions --offset_angle 0 --offset_time 1 --overwrite_EXIF_direction_tag --user_name jesseakaraccoon --advanced

I’ll just leave this here, since the official readme is kinda lacking in real-world explanations of offset time. I was afraid I’d have to, like, create a GPX file, since the ONLY examples the readme gives for offset time involve a GPX file.

3 Likes

Hi,

I’ve been trying to use --offset_time 1 to correct the GPS position of my Gopro MAX photos, but whenever I run the process command and offset the time, I open the photos in JOSM and they are still at the exact same position. Do you have an updated workflow that addresses this issue?

I’m using mapillary_tools 0.10.0a on Linux Mint 21.

Since v0.8, the process command does not modify the original images by default (it should be called “extract” instead TBH).

To overwrite EXIF tags, use “process --overwrite_EXIF_time_tag”, or “process --overwrite_all_EXIF_tags”.

I’ve been using the interpolation_offset_time flag to move my geotags. If you need the updated geotag in the metadata, you have to do what @tao said and pass the --overwrite_EXIF_gps_tag flag.

–interpolation_offset_time INTERPOLATION_OFFSET_TIME
Time offset, in seconds, that will be added for GPX interpolation, which affects image
locations
. Note that it is applied after --interpolation_use_gpx_start_time. Only works for
geotagging from gpx, gopro_videos, nmea, blackvue_videos, camm. [default 0.0]

–offset_time OFFSET_TIME
Time offset, in seconds, that will be added to your image timestamps after
geotagging/interpolation. [default: 0.0]