first of all, a BIG thank you to Tanel @jorrarro for his amazing work and enthusiasm!
While everything has started with a simple extraction and geotagging, the result is by many means more advanced and powerful than original mapillary_tools
The script looks already pretty much complete, only distance-based sampling was not tested thoroughly yet.
Script could be found here
It’s written on python, so obviously you will need:
- some additional libraries not included in default python installation:
pip install opencv-python
pip install exif
python ts_processor.py --input 'filename_or_folder'
You could check all default parameters applied inside the script
ONLY .TS files are supported at the moment, MP4 files support is work in progress
It is confirmed working with Viofo A119 V3 and Blueskysea B4K produced files, but other Novatek 966x based models (supporting TS recording) may work as well (not tested)
From my testing I can say that most common an optimal config would be:
1st is basically tells to extract 1 image per second
2nd is very important one. I have observed that gps coordinates recorded inside the video stream are a little bit late (out-of-sync), which means that gps position on the map is a little behind the actual sampled image location.
With timeshift parameter you could make an adjustment.
After extensive testing on both B4K and A119V3 footage I can say that 0.5 appears to be the optimal value under most conditions and will be giving you a precise positioning of your sampled data.
Thanks to interpolation support, you can obviously do the sampling at a higher fps, i.e. 2-5 frames per second (sampling interval 0.5-0.2 sec) is working fine and gps coordinates are accurately interpolated.
Interpolation inside the tunnels works fine (obviously resulting in interpolated coordinates distributed along the line), similar to Mapillary_tools and you can control this behavior with
I will prepare and upload some test sequences later next week so you could have a look.
In general with this script the workflow is very much straightforward and time-efficient:
- do the batch processing using ts_processor with desired parameters set
- process&upload with mapillary_tools or directly with Web or Desktop uploader.
Latest version of the script supports image crop and image mask options!