High-resolution capture mode

I have a specific recording question about the recording mode in Mapillary apps. As more and more phones have 50 MP+ resolution, I would like to ask if it is possible to add a high-resolution capture mode next to the 4000 × 3000 or 4032 × 4024 standard resolution? Or is this technically complicated because the app cannot access the 50 MP setting? I think Mapillary could profit of the higher resolution when it comes to legibility of road signs etc.

1 Like

@HylianTraveller my understanding is that even if the phone has a 50MP+ resolution camera, most phones don’t normally save the final photo at 50 MP. They typically use pixel binning: 50 MP sensor → 4 pixels combined → ~12.5 MP photo (which is what Mapillary uploads).

1 Like

It depends on the output. What you described is one possible function. I can tell from the Samsung Galaxy S23 Ultra which I use. It offers 12 MP, 50 MP and the not recommended 200 MP. You are right, when used night mode, the resolution gets binned to 12 MP to increase the amount of light captured by one pixel. I also saw that a user was able to upload a 48 MP image from an iPhone.

1 Like

Currently we select the highest available resolution available that is below 30 MP, so if your device returns [12, 50, 200], we will select 12 MP.

(Why 30? I don’t know the historic reason, I assume someone from the computer vision team said that more than that doesn’t really improve things that much, but add other negative side-effects, like taking up more space on device (and on our servers), increase upload time, increase load on our systems, increase processing time etc.)

2 Likes

This was certainly true a few years ago. I think we made huge progress in this decade. 50 MP images usually come from larger sensors, so it has a positive effect on the image quality and the computer vision allows to create more precise models. If the workload is a thing, it may be worth considering allowing higher resolution image but decrase the distance when a new image is taken.

Addendum: 100 or 200 MP wouldn’t be a good option as the more pixels don’t allow a hogher optical resolution on smartphones. If we look at other devices, the resolution increased, too. The GoPro Hero 11 has around 27 MP, modern 360° cameras usually have 32 MP or more. Smartphones which hold 50 MP usually have 128GB or more disk storage. So my suggestion is just a correction to more modern standards :slight_smile:

Kind regards

Thank you @Anders for your in depth explanation. :+1:

Indeed, this is generally true from a SfM reconstruction point of view. More specifically, it depends on the angular pixel density to baseline ratio. There is like an asymptotic meaningful limit. However, computer vision usually rather likes as many pixels as possible. Though it is also true that computer vision systems have to be tuned to certain pixel lengths for best results. In such cases, computer vision systems can be fed images scaled to ideal sizes for best results. And after all, Mapillary imagery is viewed by humans too, who would generally also benefit from higher resolutions.

@HylianTraveller Note that higher resolution images on smartphones not only means that more storage space is required but also more energy is consumed and more heat is lost per image. Image resolution on battery powered devices is a tradeoff. :wink:

1 Like

Yes, indeed, the last points is a valid one. I don’t recognize this when I use my full-frame camera:sweat_smile:

But if users concentrate on 100–200 image large sequence, this could still be managable :slight_smile:

I just saw recent imagery from fresh smartphones and thought it is a bit sad that this potential cannot be used right now in the native Mapillary app

1 Like