AUTOPANO-COMPLETE(1) User Manual AUTOPANO-COMPLETE(1)
NAME
autopano-complete - Generate panorama project file from images.
SYNOPSIS
autopano-complete.sh [options] -o output.pto image1 image2 [image3
[..]]
DESCRIPTION
Generate panorama project from image files. First, generate temporary
keypoint files for each of the image files given on the command line.
Then match the image files to identify the same features in two or
more images. Generate a PTO panorama project file from the matching
results. (Programs such as hugin can read it.)
OPTIONS
image The image files to read in. They can be in any common format,
including JPEG, PNG and TIFF.
-o|--output <file>
Set PTO panorama output file (mandatory).
-s|--size <pixelsize>
Set downscale resolution. If any of the image dimensions exceed
this side, the image is resized so the longer side of the
images will be this size. This is a preprocessing step and no
file on disc will be changed. Use this when memory is rare.
-p|--points <count>
The maximum number of control points to generate per image
pair. When more than the given number of pairs are found, only
the best are kept.
-n|--noransac
Do not use the RANSAC algorithm (RANdom Sample Consensus),
which does use geometric correllation to remove unwanted
matches. Use this when uncommon lens geometries are used, such
as fisheye lenses.
-c|--clean
In any case, wipe the table - the previously generated keypoint
files - and then generate the keypoint files from the images
and match. If no clean is used, then previous image keypoint
files are also used for matching.
-h|--help
Output a concise usage help.
BUGS
No bugs known, if you find any, please send a bug report to me. I will
try to fix it. An old, obselete version of this script exists with
similar functionality, see autopano-complete.old
AUTHOR
Pablo d’Angelo <pablo dot dangelo at web dot de>, Sebastian Nowozin
<nowozin at cs dot tu dash berlin dot de>
SEE ALSO
autopano-sift(7), generatekeys(1), autopanog(1), showone(1),
showtwo(1)
autopano-sift MAY 2004 AUTOPANO-COMPLETE(1)
AUTOPANO-SIFT(7) Overview AUTOPANO-SIFT(7)
NAME
autopano-sift - Automatic panorama stitching package
INTRODUCTION
The autopano-sift package contains a number programs to ease the cre-
ation of panoramic images. A tedious task in panoramic image creation
from many individual images is the aligning of the images so they fit
together. This is normally done by using control points which give
information about shared image features. For example, image two images
of a church. Lets assume both images overlap so that the rooftop of
the church is visible in both. By telling a panorama software that the
roof is in both images at a specific position the images can be
aligned. At least three control point pairs between every two images
are required usually.
The manual work of creating this control points can be immense. Espe-
cially for panorama images holding more than one line of images there
is a huge number of possible overlaps.
The autopano-sift package can automatically create control point pairs
by using a combination of sophisticated algorithms and models. For
most feature-rich images it works very well, often outperforming
humans in coverage, precision and speed.
In the following, the individual utilities are introduced. If you want
a quick start, try the autopanog(1) GUI frontend.
DESCRIPTION
autopanog The GTK# GUI frontend for generating and matching SIFT key-
points. As a user wanting to stitch panorama images, this is all you
will ever need. See autopanog(1)
autopano The keypoint matching program. It can take SIFT keypoint
files as input and produce PTO output files. See autopano(1)
generatekeys The SIFT keypoint extraction program. Takes an image from
you, and gives keypoints back. Optionally can downscale the image to a
given resolution, so your memory size is cared for. See gener-
atekeys(1)
showone Show the SIFT keypoints overlayed over the source image. Use
includes debugging and tuning of SIFT parameters and to get an impres-
sion how well spread the keypoints are. See showone(1)
showtwo Do simplistic matching of SIFT keypoints between two images,
without geometric model. Use includes representing general matching
quality. Optionally filter only a given number of "best" keypoint
matches. See showtwo(1)
BUGS
If you find any bugs in the programs, please mail the author.
AUTHOR
Sebastian Nowozin <nowozin at cs dot tu dash berlin dot de>
SEE ALSO
autopano(1), autopanog(1), generatekeys(1), showone(1), showtwo(1)
autopano-sift MAY 2004 AUTOPANO-SIFT(7)
AUTOPANO(1) User Manual AUTOPANO(1)
NAME
autopano - Generate panorama project from SIFT keypoint files.
SYNOPSIS
autopano [options] output.pto keyfile1[.gz] keyfile2[.gz] [key-
file3[.gz] [..]]
DESCRIPTION
Generate panorama project from keypoint data. First, read in two or
more SIFT keypoint files, then correlate the keypoint data and build a
list of matches. This list undergoes some filtering and the best
matches are used to create control point information. The control
point information are writting to a PTO compatible panorama project
file. For example, programs such as hugin can read it.
Prior to any further use of the PTO, you ABSOLUTELY HAVE TO ADJUST THE
FOCAL LENGTH of all the images. This can be done in hugin, in the
"Camera and Lens" tab.
OPTIONS
--ransac <on|off|1|0>
Switch RANSAC postfiltration on or off. Default is on. There
are only a few reasons to switch this off: if the keypoint den-
sity and matches are very sparse, RANSAC may filter too much.
Or, if the lens geometry used is unusual (fish eye, very wide
angle, micropanorama, ...) and does not resemble a rectilinear
projection. That is, if you get really bad results with RANSAC
on, disable it.
--maxmatches <count>
Set the maximum number of control point pairs you want to gen-
erate per image pair. The default is 16, so for each image
pair, there are no more than 16 control points generated. If
there are more control points to choose from, an area maximiza-
tion metric is applied to keep the matches that cover most of
the image area. You can disable this by setting count to zero.
Then all matches are kept.
--disable-areafilter
At the final stage of creating control points, there is a list
of matches for every image pair that overlaps. All this matches
are thought to be correct and have been filtered using the
RANSAC algorithm. However, often there are more matches avail-
able than the user wants to keep (see the "--maxmatches"
option). In previous versions we applied a simple metric to
pick out the matches that have a good matching score. Now, we
have an area maximization algorithm, that maximizes the area
covered by the matches. In general, this leads to better cover-
age of the image overlap area. However, if you want the old
behaviour, that only considers the SIFT matching score of every
match, enable this option.
--integer-coordinates
Use natural number coordinates in the PTO file for the found
matches. Default is to use sub-pixel float coordinates to
increase precision. You may want to try this option in case
you use another frontend than hugin and you experience problems
with the PTO files created by autopano-sift.
--absolute-pathnames <on|off|1|0>
Store the absolute pathnames of the image files in the PTO
file. Normally, in case all images are in the same directory
and the output PTO file is also saved in this directory, only
the image filenames are used. Otherwise the absolute pathnames
are used. Using this option you can enforce the behaviour.
output.pto
The filename of the PTO project file to generate.
keyfile[.gz]
The SIFT XML keypoint data file, as generated with the gener-
atekeys(1) program. If the filename ends in ".gz", transparent
gzip(1) decompression is used.
ALIGN OPTIONS
--align
Enable fully automatic pre-aligning algorithm. This results in
yaw, pitch and rotation coordinates being assigned to the
images in the resulting PTO file. This option is not perfect
yet, but in most cases the result is far better than without
using it.
There are a number of conditions on the input images that can
be used with this algorithm. First, the images should all be of
the same dimension, scale and have a simple (rectangular) geom-
etry with roughly euclidean distances. Second, the order of the
input images is considered so that the first images build an
ordered row on the horizon. That is, the first, second, third,
etc. images are strictly aligned left-to-right or right-to-left
and all lie roughly on the horizon. They must also all be of
the same rotation angle, which must be one of three rough
cases: bottom-is-bottom, bottom-is-left, bottom-is-right. Bot-
tom-is-top is forbidden. In case the bottom is either left or
right, we estimate its position based on average keypoint den-
sity (also experimental).
In case the horizontal first row is not properly detected, try
to increase the downscale resolution when creating the keypoint
data. This will produce more keypoints which makes it easier to
build the horizont-row. In case it still does not work, you
should not enable this option. Please report bugs or successes
with this option.
--bottom-is-left
--bottom-is-right
Only usable if --align option is enabled. If your input images
are 90 or -90 degree tilted for the first row of horizontal
images, you can force the orientation by telling the program
where the bottom (floor) of the images is located: on the left
or right side. If this option is not used, the program will
attempt to automatically figure the orientation based on aver-
age keypoint density in the left and right half of the image.
--generate-horizon <count>
Generate a horizon from the first row of aligned horizontal
images. This can only be used if the --align option is enabled.
Then, up to count number of horizon control lines are written
into the resulting PTO file at the middle of the first row
images. The lines are optimally spaced and you should use val-
ues such as 2, 6 or 14 to get optimal results (the sum of power
of two, starting with 2, 2 + 4, 2 + 4 + 8).
REFINEMENT OPTIONS
--refine
Enable the refinement step. The refining is done as last step
before writing the PTO output file. For every matching control
point pair a small patch in the original images is extracted at
the original resolution. The image patches are matched against
each other with the highest possible quality of matching, usu-
ally yielding dozens of keypoints. As this matches are derived
from the original resolution image, their location is more pre-
cise and they are used to refine the original keypoint using
one of the two methods below. Note that enabling the refine-
ment step makes the total process longer, hence it is not
enabled by default.
--refine-by-middle
--refine-by-mean
Two methods are available to choose the best point from the
high resolution matches. Refine by middle searches the match
closest to the original keypoints position and keeps only this
match. Refine by mean builds the geometric center of all key-
points found in the patch and uses this coordinates.
--keep-unrefinable <on|off|1|0>
In case a good match cannot be refined because it is located to
near to the boundary of the image, the original match is kept
by default. To disable this behaviour, you can use this
option, which throws away matches that cannot be refined. How-
ever, you might want to increase the number of matches to keep
per image pair using the "--maxmatches" option then.
COMPONENT IDENTIFICATION
The program complains about non-connected components in case there is
one or more images or image groups which have no relationship to the
rest of the images. This means there is no way to jump from an image
in one group to another group by just following control point pairs
between any two images. This component identification is crucial for
further optimization: if there is one or more non-connected compo-
nents, global optimization based on control point pairs will be impos-
sible.
To fix this problem, first identify the reason why there are no key-
point matches between the images in the different components. A common
reason is that the images in one component are very diffuse and only
have very few control points (such as images of the sky or water). If
this is the case, you can try to increase the number of keypoints
found in each image by increasing the downscaleResolution parameter of
the generatekeys(1) program. Or you can add control point pairs
between the images of the individual components manually, using soft-
ware such as hugin. Another reason for different components could be
that the images do not belong together to one panorama.
COMMON PROBLEMS
PTO does not optimize/render in hugin. Please check that you adjusted
the camera lens or focal length parameter for each image. We inten-
tionally set it to a value that will disallow any operation from
within hugin as to force the user to set this parameter. Without know-
ing this parameter, any work would be invalid, thats why we force such
strict behaviour, sorry.
BUGS
No bugs known, if you find any, please send a bug report to me. I will
try to fix it.
AUTHOR
Sebastian Nowozin <nowozin at cs dot tu dash berlin dot de>
SEE ALSO
autopano-sift(7), autopano-complete(1), generatekeys(1), autopanog(1),
showone(1), showtwo(1)
autopano-sift JANUAR 2005 AUTOPANO(1)
GENERATEKEYS(1) User Manual GENERATEKEYS(1)
NAME
generatekeys - Generate SIFT keypoints from an image file
SYNOPSIS
generatekeys.exe imagefile keyfile[.gz] [downscaleResolution]
DESCRIPTION
Generate SIFT key descriptors for an image. It reads in the image
file, finds SIFT keypoints for descriptive image locations and outputs
the SIFT descriptors to the keyfile. The image is internally doubled
in size, as this increases the number of keypoints found. If you do
not want this behaviour or want to downscale the picture, see the
downscaleResolution option. The resulting keyfiles can be processed by
the other utilities in the autopano-sift package.
OPTIONS
imagefile
The image file name that will be read in and processed. It can
be in any format readable by the GDK pixbuf loaders. Usually
that includes JPEG, PNG and TIFF.
keyfile
The name of the keypoint XML file to generate. When ".gz" is
used at the end of the filename, the file is transparently com-
pressed using the gzip compression. See gzip(1)
downscaleResolution
An optional integer width and height limitation. If given, the
input image is downscaled so its larger dimension matches the
given size in pixels. The smaller the downscale resolution,
the smaller the memory requirements, but also less keypoints
are found. In case no downscale resolution is given, the image
is doubled in size prior to processing, which leads to sub-
stantly more keypoints. If you use 0 as downscaleResolution you
can switch this behaviour off and the original image is used
without applying any scaling.
BUGS
The memory requirements are quite big. If you have 256Mb of ram, you
should go with a 700 downscale resolution, if you have 512Mb 1300 is a
good value.
AUTHOR
Sebastian Nowozin <nowozin at cs dot tu dash berlin dot de>
SEE ALSO
autopano-complete(1), autopano(1), autopanog(1), showone(1),
showtwo(1)
autopano-sift MAY 2004 GENERATEKEYS(1)
--
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 hugi...@googlegroups.com
To unsubscribe from this group, send email to hugin-ptx+...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
Zoran's latest Windows build is looking really nice. However, the default APSC
parameters really do cause some trouble.
The following two issues are fixed by changing args to
--maxdim 1600 --maxmatches %p %o %s
1) Wrong hfov causes non-spherical lens to be treated as spherical
2) If more than 122 images are loaded, the "Align" step immediately crashes
FWIW,
Pete