On Wed 06-Jan-2010 at 01:21 -0800, Bruno Postle wrote:

All ptochain does is match consecutive photos in the project together,
no other possible matches are checked, so one of the things it is
suitable for is stitching the frames of a movie:
http://www.flickr.com/photos/36383...@n00/4207656698/

An advantage of doing this with a Makefile is that this is massively
parallisable, the other is that there were no 'bad' control points
whatsoever.

Actually stitching frames of a movie isn't the reason for writing ptochain... The big problem is generating control-points for multi-row panoramas: autopano-sift-c compares features between all photos simultaneously, this consumes a lot of memory and results in a significant number of 'bad' control points between photos that don't actually overlap. In the past we have had discussions where the solution looked like a new tool that understands the approximate relative positions of photos and only creates control points between photos that are known to overlap.

This is the new 'ptofill' tool in Panotools::Script. As with the other tools, it takes an existing .pto project as input, it then looks at the roll, pitch and yaw positions, and only matches pairs of photos that are 'near' to each other:
http://search.cpan.org/dist/Panotools-Script/bin/ptofill

This works well, but the problem here is creating this input project, we discussed a GUI that distributed photos based on user input - but I'm not convinced this will work in the real world, people don't shoot photographs in nice regular grids, and I can never remember what I did anyway.

So here is my recipe for efficiently matching a multi-row panorama: 1. First use ptochain to connect all consecutive photos in the project, the result will be a project with one or more groups of connected photos - With luck each of these groups will correspond with a 'row' of the panorama.

2. Then take the first and last photos from each group and match them all together in one go (this is another tool with the same interface: ptobind). With luck there will be a single group of connected photos in the project (if not you can open this subset in Hugin and manually add points before continuing).

3. Next optimise this project, but only optimise pitch and yaw (not roll), this will distribute the photos around the scene even if there is only one control point between each photo.

4. Use ptofill to place control points between the remaining overlapping photos that are not already linked.

For example, here is Bernhard Vogl's gigapixel test set consisting of 337 photos:
http://www.flickr.com/photos/36383...@n00/4224767699/

In the Hugin layout mode you can see that nearly every overlap between photos has control points:
http://www.flickr.com/photos/36383...@n00/4224767703/

You can also see that Bernhard didn't shoot in a regular grid:
http://www.flickr.com/photos/36383...@n00/4224767709/

Identify and Show Control Points modes:
http://www.flickr.com/photos/36383...@n00/4224767713/
http://www.flickr.com/photos/36383...@n00/4224767717/

There are just 4 'bad' control points out of 19163 in this whole project. Since it is all managed with 'make', features are only identified once per photo and pairs of photos are only compared once. Practically all comparisons of photos have resulted in a match so this process scales linearly with the number of photos in the project. It is also very parallisable with `make -j`'

Though this works fine for me, and there is another tool called 'gigastart' to manage all the steps, there is no reason why the same steps couldn't happen in a different standalone tool at some point.
http://search.cpan.org/dist/Panotools-Script/bin/gigastart

--
Bruno
-- 
You received this message because you are subscribed to the Google Groups 
"hugin and other free panoramic software" group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx

Reply via email to