On Sat, Sep 26, 2009 at 4:18 PM, D M German <dmg@uvic.ca> wrote:

If you mean correcting the lens projection, not more than 8. That counts the projection type as a parameter, along with focal length, 3 or 4 "distortion" parameters, and the center shifts.. On this accounting libpano presently uses 7 parameters: projection type, fov, a, b, c, d, e. For lensFunc, there need to be new projection types that explicitly mean "rectilinear lens", and one or more kinds of "fisheye lens". The use of these codes would imply the use of 3 or 4 lensFunc-style distortion parameters, one or two for a mathematical model of the lens and 2 or 3 for a correction polynomial. The meaning of fov and center shifts would remain unchanged.

It might be possible to get the number of distortion parameters down to 3, which would be preferable from the statistical point of view, if they were to be optimized at stitching time. However the basic idea of lens calibration is to predetermine some lens parameters rather than optimizing them at each stitch, one big benefit of which is to reduce the number of parameters that need to be estimated from the control points. I don't think it is realistic to stop optimizing fov or center shifts, and maybe one adjustable shape parameter should be provided for stitching, but that could be different from any of the calibration parameters. My thinking is that some adjustable stretching -- like morph-to-fit -- is likely to be better at fitting images together than fiddling with the lens parameters.

Regards, Tom

Thomas> Hi Jim,

Thomas> I'd say the floor example is aligned as well as could be

Thomas> expected with just a tilt and shift. Or has the magnification

Thomas> (or Z distance) been optimized too?

Shear also. tried shear with the Tr model, but didn't work.

I am being confused by the optimizer. I can't get the Tr parameters to

stay within reasonable values and still get good results.

Thomas> Anyhow, to do much better would probably require lens

Thomas> calibration, and some higher order corrections.

Thinking about corrections, how many parameters do you need for your

corrections?

If you mean correcting the lens projection, not more than 8. That counts the projection type as a parameter, along with focal length, 3 or 4 "distortion" parameters, and the center shifts.. On this accounting libpano presently uses 7 parameters: projection type, fov, a, b, c, d, e. For lensFunc, there need to be new projection types that explicitly mean "rectilinear lens", and one or more kinds of "fisheye lens". The use of these codes would imply the use of 3 or 4 lensFunc-style distortion parameters, one or two for a mathematical model of the lens and 2 or 3 for a correction polynomial. The meaning of fov and center shifts would remain unchanged.

It might be possible to get the number of distortion parameters down to 3, which would be preferable from the statistical point of view, if they were to be optimized at stitching time. However the basic idea of lens calibration is to predetermine some lens parameters rather than optimizing them at each stitch, one big benefit of which is to reduce the number of parameters that need to be estimated from the control points. I don't think it is realistic to stop optimizing fov or center shifts, and maybe one adjustable shape parameter should be provided for stitching, but that could be different from any of the calibration parameters. My thinking is that some adjustable stretching -- like morph-to-fit -- is likely to be better at fitting images together than fiddling with the lens parameters.

Regards, Tom

Thomas> Ultimately, the nadir matching problem needs 3D depth analysis

Thomas> and some "orthophoto"-type local adjustments. Perhaps we

Thomas> should think seriously about reviving morph-to-fit?

I worked on that long time ago. I think I can get it working again.

--

Daniel M. German

http://turingmachine.org/

http://silvernegative.com/

dmg (at) uvic (dot) ca

replace (at) with @ and (dot) with .