Image sequence continuity

Hi! I have like 29K geotagged images of a few neighborhoods. They are in random order in terms of continuity. Would that work with Mapillary?

You fear problems like this: Mapillary ?

sort of, however my images all of them are timestamped in one exact time. would that be an issue?

The desktop uploader connects images if timestamps differ by less than 60s. My approach is to do separate uploads if I want to make sure that such images are not put into the same sequence.

2 Likes

I do remember in the past that sequences were generated in file naming order, the (EXIF) timestamp really only being used for the geoencoding the image against the GPS data. This would then create a really strange sequence of random looking tracking lines, each image was correctly positioned, but often badly direction skewed if interpolation was enabled. I don’t know if this is still the case. I just don’t risk it.

If the files are named in a date time order something like YYYYMMDDHHMMSS.s then it works fine

Sequencing is also important then for sign/object recognition to work properly as (I believe) part of that process is to check for the same object in multiple (ordered) frames.

@tao what happens if multiple images have the same timestamp?


this is nightmare lol. tips to fix it?

thoughts on how to do that with 27k images?

I’d suggest

  • Ask support to delete all your uploads within the affected time range. Advise them you’ll be doing a new upload - so they don’t delete your replacements.
  • Backup then rename your image files locally so they sequence conform. (I assume you have some kind of pattern or rename using the EXIF datestamp and exiftools. There is a working example about this either in their help or forum)
  • Remove the hidden directories (incl json file) from the upload directory
  • Remove the image direction and location EXIF tags if they exists.
  • Process and upload using mapillary_tools and your original GPS data. As the upload takes a long time it will actually be worth doing process only first, check the results, then upload

Oh also be careful with subsecond handling of datestamps. The EXIF “standard” originally had precision to 1 second, so if capturing faster a composite and/or special tag is used additionally.

This can cause duplicate timestamps if not resolved.

Please do not do this, there is really no need to bother support with this. You can delete your uploaded sequences by clicking “…”→“Delete entire sequence”.

Looking at your feed reveals that many of your images share identical timestamps. Image metadata timestamps must exhibit strong monotonic growth to be properly ordered into a sequence. In other words, no two timestamps must be equal in any of the images in a sequence. Make sure you have that.

There is no silver bullet for fixing you problem. You have to either manually fix the metadata timestamps in your images or manually create a script to automatically fix the timestamps following some pattern. Like @bob3bob3 has already mentioned, it may be enough for mapillary_tools or the Desktop Uploader to accept your images to rename them following some timestamp format. But, for this to work you will have to strip your images off the Exif metadata first because mapillary_tools reads timestamps by file name only as a fallback option.

Actually, this isn’t entirely true because the Exif specification has enabled encoding sub‑second precision timestamps through the seconds rational component of the GPSTimeStamp field since day one. This “Exif 1 second precision” myth has been propagated through the fact that most image editing apps do not add or work on GPS data and hence have little to no business in adding GPSTimeStamp fields but modify image or photo data only, thus resort to modifying DateTime (in the Image directory), DateTimeOriginal (Photo directory), and DateTimeDigitized (Photo directory) 1 second precision fields only.

mapillary_tools has handled all companion sub‑second Exif fields, like SubSecTime, SubSecTimeOriginal, and SubSecTimeDigitized properly for a long time already. But indeed, other tools may not be as feature complete.

mapillary_tools does support duplicate timestamp detection and handling (we have to be precise when talking about what kind of duplicates). If it detects identical timestamps within 1 second range and SubSecTime* fields are lacking then images are ASCII sorted by filename and timestamps are adjusted in 1 ms increments so that in the end all timestamps exhibit strong monotonic growth. Of course, this fallback algorithm does not guarantee that a sequence will always be properly sorted. But, it is often fair to assume that filenames grow in parallel with timestamps.

mapillary_tools also does report potential duplicates, including with regards to time, space, and direction.

--duplicate_distance DUPLICATE_DISTANCE
  The maximum distance that can be considered "too close" between two images. If
  both images also point in the same direction (see --duplicate_angle), the later image
  will be marked as duplicate and will not be upload. [default: 0.1]
--duplicate_angle DUPLICATE_ANGLE
  The maximum camera angle difference between two images to be considered as
  heading in the same direction. If both images are also close to each other (see
  --duplicate_distance), the later image will be marked as duplicate and will not be
  upload. [default: 5.0]

Please, update to the latest version.

1 Like