# Talk:Lens correction model

Erik Krause (Talk | contribs) m |
Erik Krause (Talk | contribs) m (→Kannala and Brandt) |
||

(One intermediate revision by one user not shown) | |||

Line 19: | Line 19: | ||

:Interresting reading! However, panotools lens correction model already takes fisheye mapping into account. It works quite well. Even very non-standard mappings like the Nikkor 10.5 fisheye can be corrected. See [http://michel.thoby.free.fr/Blur_Panorama/Nikkor10-5mm_or_Sigma8mm/Sigma_or_Nikkor/Comparison_Short_Version_Eng.html] for details.<small>--[[User:Erik Krause|Erik Krause]] 21:02, 10 July 2008 (CEST)</small> | :Interresting reading! However, panotools lens correction model already takes fisheye mapping into account. It works quite well. Even very non-standard mappings like the Nikkor 10.5 fisheye can be corrected. See [http://michel.thoby.free.fr/Blur_Panorama/Nikkor10-5mm_or_Sigma8mm/Sigma_or_Nikkor/Comparison_Short_Version_Eng.html] for details.<small>--[[User:Erik Krause|Erik Krause]] 21:02, 10 July 2008 (CEST)</small> | ||

+ | ::[[General lens model|Fish eye]] projections could be equidistance, equisolid angle or orthogonal. The Peleng is something in between equidistance and equisolid. I know panotools (hugin) handles fisheye mapping, that is, equidistance mapping. However, the panotools (hugin) lens correction model only takes radial distortion into account, not any tangential distortion due to misalignment of lens elements. I'll have a look at the paper you reference. [[User:Dedalus|Dedalus]] 13:00, 16 July 2008 (CEST) | ||

+ | ::: panotools model features decentered distortion correction (parameters d and e). However, lens correction goal in panotools is not the geometrically perfect lens correction but a correction good enough to have images align each other. | ||

+ | |||

+ | :::It would be a nice research project to measure the remaining errors after a panotools lens correction. There are BTW solutions for a non-parametric distortion correction, f.e.(german only): [http://www.stoske.de/digicam/Artikel/verzeichnung.html] | ||

+ | |||

+ | :::In reality the correction model is often not even used to it's limits because it's simply not necessary. In most cases other factors than lens correction are responsible for stitching errors, first of all fisheye [[No-parallax point]] shift... <small>--[[User:Erik Krause|Erik Krause]] 21:58, 21 July 2008 (CEST)</small> |

## Latest revision as of 21:58, 21 July 2008

For (circular) fish eye lenses another way to model the lens (distortion) is: r = a sin (b*theta) where r is the distance from the center of the camera image to the point of interest, theta is the angle between the central axis of the fisheye lens and the line to the point of interest in the real image, a is a scale factor, in these cases to convert from angle in space to millimeters in the image plane, and b is the radial mapping parameter. (It should be noted that b effects a very strongly.) The theoretical fisheye map of r = a*theta is approached as b approaches zero. The perfect fish eye lens is F-Theta mapping so to say, while rectilinear lenses do f tan(theta) mapping.

- We have a page about fisheye mapping as well: Fisheye Projection which mentions the sine mapping, too.--Erik Krause 21:02, 10 July 2008 (CEST)

I copied these ideas from: Fisheye lens designs and their relative performance by James “Jay” Kumler, Martin Bauer from Coastal Optical Systems and Internet Pictures Corporation.

They've estimated a and b for example for the Peleng as 23.8 and 0.34 which would imply if my computations are correct a=0,001691363 b=-0,051282569 c=0,000469245 and (1-(a+b+c))=1,049118709 in the Fish eye quartic distortion model. However given parameters of the sinus model above with r in millimeters from the sensor of the image, that can be easily renormalized to pixels on a cropped sensor.

The article cited discusses also "relative illumination" or vignetting as we speak. They have found this to be dependent on f-number, higher f-numbers producing greater uniformity, or less severe vignetting.

## [edit] Kannala and Brandt

Kannala and Brandt have researched correction models for fish eye lenses, see http://www.ee.oulu.fi/~jkannala/calibration/Kannala_Brandt_calibration.pdf

- Interresting reading! However, panotools lens correction model already takes fisheye mapping into account. It works quite well. Even very non-standard mappings like the Nikkor 10.5 fisheye can be corrected. See [1] for details.--Erik Krause 21:02, 10 July 2008 (CEST)
- Fish eye projections could be equidistance, equisolid angle or orthogonal. The Peleng is something in between equidistance and equisolid. I know panotools (hugin) handles fisheye mapping, that is, equidistance mapping. However, the panotools (hugin) lens correction model only takes radial distortion into account, not any tangential distortion due to misalignment of lens elements. I'll have a look at the paper you reference. Dedalus 13:00, 16 July 2008 (CEST)
- panotools model features decentered distortion correction (parameters d and e). However, lens correction goal in panotools is not the geometrically perfect lens correction but a correction good enough to have images align each other.

- Fish eye projections could be equidistance, equisolid angle or orthogonal. The Peleng is something in between equidistance and equisolid. I know panotools (hugin) handles fisheye mapping, that is, equidistance mapping. However, the panotools (hugin) lens correction model only takes radial distortion into account, not any tangential distortion due to misalignment of lens elements. I'll have a look at the paper you reference. Dedalus 13:00, 16 July 2008 (CEST)

- It would be a nice research project to measure the remaining errors after a panotools lens correction. There are BTW solutions for a non-parametric distortion correction, f.e.(german only): [2]

- In reality the correction model is often not even used to it's limits because it's simply not necessary. In most cases other factors than lens correction are responsible for stitching errors, first of all fisheye No-parallax point shift... --Erik Krause 21:58, 21 July 2008 (CEST)