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