36 comments

[ 0.21 ms ] story [ 79.7 ms ] thread
Do they use the same NeuralNets that are used to improve videos on these pictures to reconstruct the details?
I wonder if you wouldn't get cleaner results if you eliminated points that don't have an adjacent point nearer than a certain distance?
Yes. We can apply different heuristics to remove outlier points. One interesting way to do it will be to train a neural network to refine the dense point cloud.
Never heard of OpenSfM before but have been looking for something like it.
I have personal and professional projects that involve mundane data feeding and service-building around this core capability. This totally fills a niche that's been on my tech radar for a while.
very cool. that's quite dense.

So the segmentation convnet is applied on the 2d image pixels before SfM, rather than on the point cloud data? I've been looking for neural net semantic segmentation for 3D point cloud data

Exactly, the convnet is applied on 2d pixels instead of on 3D point clouds. If one have labelled 3D points (e.g. if a point is part of a car or not), one can train a network for recognition directly on 3D points.
Nice. I wonder if this could be used for robot navigation. The segmented point clouds especially are useful.

Been looking forward to a DIY Roomba project using point clouds and neural nets for navigation

I discovered VisualSfM this weekend after trying Adobe ReCap 360. The photo reconstruction functionality of ReCap is cloud based, which was a blocker for me, because I have a beefy graphics rig and want to script it into a pipeline.

I am curious how OpenSfM compares to VisualSfM and if they are related in any way.

Edit: The VisualSfM license is only open for non-commercial uses. OpenSfM is BSD licensed, so I can safely build my business on top of it.

Both VisualSfM and OpenSfM use similar methodology (incremental structure from motion) to reconstruct 3D scene points and camera positions from photos.

And yes, you can build your own tools (even commercially) with OpenSfM.

I am curious how the quality compares and if they have common library dependencies.
I am curious, did you try to build VisualSfM yourself? I had to use it for a project at Uni a few years ago and the build process was quite adventurous, without this[0] guide I would have been completely lost. Would be interesting to know whether it has gotten any easier.

[0] http://www.10flow.com/2012/08/15/building-visualsfm-on-ubunt...

No, I used the windows binaries during evaluation.
For those who have not tried it, OpenSfM is an amazing tool. Can't wait to play with dense reconstructions. Congrats mapillary team, I know this has been a long time coming!
Is it possible to use images from say Google Street View to reconstruct 3D city model with this tool? Maybe it could fall into fair use for small part of city...
It would likely violate their TOS.

No creation or augmentation of data sets based on Google’s Content or Services. You will not use Google’s Content or Services to create or augment your own mapping-related dataset (or that of a third party), including a mapping or navigation dataset, business listings database, mailing list, or telemarketing list.

There's probably some other issues.

https://developers.google.com/maps/terms

You would need a significant number of images for a particular scene (more than Google Street View would provide -- maybe in the tens or hundreds depending on the complexity -- but perhaps mining Google Maps photo uploads for a particular location would suffice). A Google Image search for a particular landmark is likely to yield better results ([1], [2], [3]). Also, stitching together multiple scenes after reconstructing each individual scene may prove difficult. Apple Maps does a sort of satellite view projection on to 3D building models ([4]), but this is far from a dense reconstruction.

[1]http://grail.cs.washington.edu/projects/timelapse/

[2]http://grail.cs.washington.edu/projects/timelapse3d/

[3]https://grail.cs.washington.edu/rome/

[4]http://www.theverge.com/2015/9/29/9413583/apple-maps-3d-flyo...

You'll want to use the OpenStreetView dataset for that, which has a much more liberal license for collected images than Mapillary. (OSV is a direct competitor to Mapillary, with OSV being sponsored by Navteq)

http://openstreetview.com/terms/

You might also consider mining Flickr by geotag, constraining to CC licenses that allow for use.

Or even just directly capture geotagged photos. That's going to be the best way to ensure good coverage of the target area.
What would the capture source be if not an existing online repository?
A camera.

That's where Mapillary and OSV get their imagery from, people that decide to go out and take pictures.

An additional advantage is that you then have full rights to the imagery (so for example, you can upload them to both services).

That'd work of course! Bit more of a schlep to build out your processing pipeline to ingest those images, store them, and then render them with OpenSfM, but could definitely be done.
Oh yeah, it'd be quite some work, especially if small isn't small. But I think at the moment, neither OpenStreetView nor Mapillary can be relied on for coverage, so the shortcut of using images gathered by others isn't widely available.
> OSV is a direct competitor to Mapillary, with OSV being sponsored by Navteq

s/Navteq/Telenav/

Thanks for the very informative and detailed answers. The Google TOS seems very restrictive, and I can't quite stomach the idea that our data, including photo of my house, is free to use by big companies in any way conceivable, but on the other hand, a small, maybe scientific purpose, is in violation of TOS :(
Photos of a house from the public street isn't your data though. This is why you are empowered to go and collect all sorts of data and information that is exposed to the public in all sorts of ways, and do with it as you please.

You have just as much right to take pictures of Google's complexes from public locations and bill them should they want to use what you have collected, and this whole situation is really a good thing. Things in the public domain are in the public domain.

You are right. But on some level I don't like that huge disbalance of power, where on one hand you can take a photo with your smartphone, but someone can take a fleet of vehicles and run them 24/7 around globe, photographing everything, making hi res lidar images, georeferencing, coupling that with smartphone data, etc. I would be more OK with it, if it was open dataset though. End of rant :)
How well would this work in a situation with artificial (moving) lighting? I have seen reconstructions for wrecks underwater, and we are interested in doing something similar.
What techniques are available to transform point clouds like these into closed polygonal meshes (like the ones you see in Google Earth where 3D imagery is available)?
So why can't this be used instead of LIDAR for Self-Driving cars?

Experts?