[ptx] morphing (was: new reference for stitching algorithms)
Rik Littlefield
rj.littlefield at computer.org
Sun May 8 20:15:21 BST 2005
Pablo,
I am glad to hear that people are thinking about morphing again. For my
own photos, I have been pushing in the other direction, learning how to
use things like plumb-bob or trekking-pole-with-level to avoid parallax
in the first place. But there are limits to that approach, and I would
definitely like to see morphing in nona.
I am not sure what you mean by "image based". Auto stuff is always
good, but I would need to retain the ability to define morph control
points manually. For example, some work with John Hollenberg last fall
convinced me that visually it is usually better to have a little too
much overlap (thus losing a little info) than to have not quite enough
overlap (thus gaining obviously duplicated detail along the seam).
Regarding more than 2 images overlap, I think what's needed is only to
think in terms of "same world feature visible in all images" and compute
a single morph coordinate as a compromise of all the images in which it
occurs. This contrasts with the current PTOptimizer approach, which
will happily compute 3 different compromise coordinates if you give it
the same control points between images A/B, B/C, and A/C. At one point
I convinced myself that this change could be shoehorned into the
existing pano12 and PTOptimizer interfaces by looking for exactly
duplicated control point coordinates. But I had no way to generate such
control points with the existing gui's or autopano's, so I never
implemented it.
The polar stuff, I never got a perfect handle on. It seemed clear to me
(after much thought) that the compromise coordinates should be computed
in spherical coordinates to minimize average spherical distances,
instead of averaging rectangular coordinates in the projection plane.
That provides a uniform approach that has no problems computing
compromises near the poles. I played around some with manually editing
scripts to morph control points over the poles, looking at the effect on
equirectangular projections from PTStitcher. I eventually convinced
myself that all the behavior I was seeing was probably correct. (I did
not know how to view spherical panos at the time, so I was trying to
interpret the equirectangulars directly -- how confusing!) But how the
coordinate transform code was doing its tricks, I never did figure out.
Hope this is helpful. Write to me offline if you'd like, or keep in
on-list if you think there's sufficient interest.
--Rik
Pablo d'Angelo wrote:
> Btw. I was thinking about the morph to fit feature that you seem to be
> using quite often. Especially for problems like stitching cracks in
> the pavement etc, where parallax error often occurs, should a image
> based morphing be a good alternative? This morphing would then be done
> based on the multilayer output of panotools. I still have to think
> about the details a bit more, like how the poles of a spherical
> projection should be handled and how it works for areas where more
> than 2 images overlap etc.
More information about the ptX
mailing list