OpenStreetMap

Photogrammetry

Posted by Ainsworth on 5 February 2010 in English.

I recently experimented with using photogrammetry to do mapping for OSM and thought I would post the results on here.

I started by taking quite a few photos of St Dionysius church in the centre of Market Harborough using a cheap digital camera (Pentax Optio S5i).

Once I got home I spent some time experimenting with various pieces of software before settling on Bundler, http://phototour.cs.washington.edu/bundler/. It took a bit of messing, isn't exactly user friendly and the whole process can be slow, but produces some pretty good results.

The software outputs .ply files which can be opened with Blender to get an idea of how successful the bundle adjustment was. This video shows the point cloud that was created using my photos. http://www.youtube.com/watch?v=cApFzm4KHiU

I cheated a little to get the data into a usable format for JOSM by taking a screen dump of Blender and using PicLayer to give me a guide. I then traced the building shape and positioned using a GPS trace from a previous visit.

http://yfrog.com/jv13731260p

http://yfrog.com/i390058948p

http://yfrog.com/jx68938219p

When time permits I hope to take this a little further and get a high detail map of the surrounding buildings of Market Harborough town centre done.

Discussion

Comment from JohnSmith on 6 February 2010 at 00:43

Wow...

The only comment I have is you didn't include example pics that you fed into Bundler...

Comment from Ciprian on 6 February 2010 at 10:15

Looks great, definitely something that can help us getting more buildings without having access to satellite photos. I would like to a little bit more detail about using Bundler to achieve this, but a great job overall!

Comment from Valent Turkovic on 6 February 2010 at 14:19

mee too - woow !

Comment from vvoovv on 6 February 2010 at 14:44

How many pictures did you use for the Bundler input?

Comment from Ainsworth on 6 February 2010 at 17:15

Hi guys,

Thanks for the feedback. I put that post together in rather a hurry and didn't go into much detail so I'll post again tomorrow explaining exactly what I did and I'll include more pictures. I'll post the .ply file up here as well so people can have a play with it.

Comment from simone on 6 February 2010 at 19:51

Can you post a detailed guide on how to reproduce something like this at other locations? It could open up some interesting possibilities - Thanks, Simone.

Comment from vvoovv on 6 February 2010 at 21:36

Ainsworth, I would suggest to setup a page at the OSM-wiki, e.g. "Bundler for OpenStreetMap"
I can contribute with bundler scripts ported to windows (it means no installation of Cygwin and Perl is required).

Comment from vvoovv on 6 February 2010 at 21:40

simone, Ciprian, Valent Turkovic

the first step is to take several hundreds of photos following the same recomendations as for Microsoft Photosynth (http://photosynth.net/)

Comment from slashme on 7 February 2010 at 06:39

I've pasted the howto that Ainsworth posted on the wiki: http://wiki.openstreetmap.org/wiki/Photogrammetry That's a good place to take this discussion further.

Comment from HannesHH on 7 February 2010 at 10:01

You could replace

for f in *.JPG; do convert "$f" -resize 2048x1536 -quality 100 "$f"; done

with

mogrify -geometry 2048x1536 -quality 100 *.jpg

Can't wait to try this. Thank you!

Comment from Ainsworth on 7 February 2010 at 10:11

HannesHH,

Quite right, much easier command. I've edited the wiki to suit.

Comment from lindi on 7 February 2010 at 14:09

The sift program that is used by bundler does not seem to be free software [:

"This software for the detection of invariant keypoints is being made
available for individual research use only. Any commercial use or any
redistribution of this software requires a license from the University
of British Columbia."

Any idea if it is still possible to do anything useful without sift?

Comment from Ainsworth on 7 February 2010 at 14:18

lindi,

Not sure really, I'm looking at alternatives and trying to force bundler to work without sift input. I'm having a look at the bundler source code to see if I can adapt it at all but my programming skills aren't that great. Someone mentioned OpenSURF along the way and was going to see if it's output could be made to look like SIFT files. Not something I've looked into yet.

Today I've been experimenting with providing bundler with my own files (manual keypoints) that look like SIFT files and seeing what happens. I think given enough time I might be able to fudge something together. In the mean time with mapping I'm going to use some out of copyright maps.

Log in to leave a comment