Ideas & tips on how to Mapillary a concrete canyon?

Just wondering if anyone has any thoughts or ideas on how to Mapillary a concrete canyon. (For those not familiar with the term, we use it in the U.S. to refer to urban areas with lots of tall buildings, where the streets essentially form an artificial canyon between the buildings.)

Short of buying an external GPS receiver, has anyone found a way to maintain a good enough GPS lock to keep the Mapillary app happy?

For that matter, Mapillary developers, have you given any thought to a “concrete canyon” mode that would allow pictures to be taken–and retained–in such a situation? I’m not referring to the “Skip location check” setting as that one specifically refers to discarding pics…unless you have tips on how to use that to obtain retainable results.



there is no real tip or way to do it, except getting a real good GPS receiver.
Or a lot of manual work, e.g. get the pictures in “take pictures without good GPS signal” mode and edit the GPS position of the pictures before uploading.
Or try and see if they upload and show at all. I got some of these tracks in valleys in austria, and they do show on map, mostly, but currently not able to edit.

@JackTheRipper @Amiga4000 One solution is to correct the gps positions is to use the 3D reconstruction of the scene and the camera positions. We have been working on this internally. In our experiments, the gps correction looks good in places when the captured sequences have good overlaps/matches and it fails when there is no 3D reconstruction available from the photos. We are investigating a better capturing mode to facilitate better 3D reconstruction. We will keep you updated on the progress!


So…if I can manage to get a few pictures where I still get a GPS signal, then the first one where I lose GPS might be uploaded and positioned approximately correctly? (Or is the system still not going to accept an upload without GPS data yet, because you’re still working on it internally?)

@JackTheRipper Yes. If there are some images with good GPS positions and the 3d reconstruction works well, we will be able to re-position the images with bad GPS. However, if the images (when you lose GPS) have no GPS data at all in the EXIF, they will still be rejected by our system now (there are still lots of works to be done to make the processing robust). On the other hand, if one can add some rough GPS (e.g. the last available GPS position during the capture), our current system might be able to refine the positions.

So I would need to enable that “Skip location check” setting to capture the images first. I have an app that I can use to add GPS data (fairly accurately, if I’m careful). Just so I understand, enabling the Skip location check setting doesn’t stop the app (Android) from recording the GPS data if it receives it, it only allows it to continue to snap pictures if it doesn’t have GPS data?

@JackTheRipper Yes. enabling"Skip location check", you will still be able to record GPS if location is available. To give you a bit more details about the position refinement. In our database, we are keeping track of two sets of GPS positions for each photo: one from the photos (original) and one from after 3D reconstruction (refinement). We are not rendering the refinement on the map yet (it will be in the future).

By the way, it is really cool you are diving into the ‘concrete canyon’ problem. It is a grand challenge!

Here’s a crazy idea: take an optical mouse. Put a lens in front of it to change its focal length to three feet or somesuch. Put it on the bumper of a car looking down at the road. Use that as an auxiliary movement tracker.

@yubin - If I have some time this coming weekend, then, I might try to image a couple of streets deep in downtown Atlanta, then, and manually set GPS locations if I have to. Then later, if you get the refined GPS location bit working like you want, I can go back and reimage them, and see how well your algorithm does.

@RussNelson - errr…would the return light be strong enough for the sensor to pick up? :stuck_out_tongue:

@JackTheRipper Awesome! It will be great to have those images to test!

until most consumer class devices have inertial navigation/positioning, for me the best way has been this :

i use standalone gps with a standalone camera. i try to walk at an even pace on every block.
at the end, i geotag photos from the gpx trace, then load photos & trace in josm. i convert the trace to data layer, split it per block and straighten it out (shift+b). if i have stopped at the crossing (red light AND cars :wink: ), i split the trace before and after the stopping (easy to identify by a cluster of points and images). of course, the trace is logging once per second.
convert back to gpx, export.
then i retag the photos from the new trace - there, much better location quality than any consumer gps or phone could get.