When you look at a dashcam or 360 sequence, it uploads more images for the same space driven, why is that? If phones captured at the same rate it would make looking at previous captures people made on a phone more smooth and less choppy, and it would help phone users get higher on the leaderboard, as opposed to people who have a dashcam. In the image, the line with more images is my GoPro Max 2 captures, and the line with less is a simple image from my phone.
I don’t know the reason for sure, but I would suspect the phone app takes individual images/frames vs a dashcam that can creates a movie as fast as 30FPS. My older (slower CPU) Samsung phones that I use for Mapillary are flat out at 2-3FPS. They have to write the EXIF information as well as compress a jpeg. The BlackVue dashcam I have only has to create an mpeg compressed stream and nmea data. Far less CPU usage per frame. The GoPro I would assume can create both individual images as well as a movie.
It also depends on how the mapillary_tools spacing/timing parameters are set.
The reason one wouldn’t see a lot bigger rate difference is that (AFAIK) Mapillary processing will drop interframes when there is “too much” detail. eg one frame (say) every 2metres minimum.
I guess just do the maths then. How many FPS and what is the spacing on the map for each. Plus compare what your device sampling rates actually are.
CPU usage does make sense for the cause, I guess I hadn’t considered that.
@bob3bob3 is right to the point.
First of all, how it works. If you’re driving out of the city, and your speed is usually higher, Mapillary mobile (iOS and Android) switches to another capture mode and takes images each 10 or 20 meters. When you are driving in the city, or you are walking, Mapillary mobile takes images each 3 meters approximately.
Camera vs Mobile app. Cameras usually capture videos, while the mobile apps take images. From video, one can later extract frames with a given FPS or distance. At the same time, when you’re taking an image on mobile, it cannot take images so often with stabilization and other parameters we use. More to that, we wait for the image to be saved before taking the next one, instead of queuing them. That helps to prevent overheating and lower system resources usage, but it also doesn’t allow us to take images very often.
I understand your intents (I capture 99% with the phone) and we discuss how to improve such things from time to time, yet it is really challenging to find the right balance.
Those are the main points I can recall from the top of my head. I hope that helps to clarify some parts.
__
BR,
Yaro
Default mapillary_tools setting is minimum sampling distance of 3m for video (used to be 5), and for images are considered duplicates if closer than 0.1m and ange also too close. (See constants VIDEO_SAMPLE_DISTANCE, DUPLICATE_DISTANCE.) This makes interfall photos allot more variable in distance, and this may also be seen on low FPS video.
Could be worse, my 360-camera has a 6 second processing latency for JPEG images, so 1/6 FPS for interval photos
It can do 2 & 10 FPS in is hi-res video, so that what I normally use; and yes I do do see a similar pattern now and then comparing with the dachacm’s sequence.
