Skip to content

calib3d: improve fisheye extrinsic refinement - #29940

Open
sergiud wants to merge 1 commit into
opencv:4.xfrom
sergiud:fisheye-lm-solver
Open

calib3d: improve fisheye extrinsic refinement#29940
sergiud wants to merge 1 commit into
opencv:4.xfrom
sergiud:fisheye-lm-solver

Conversation

@sergiud

@sergiud sergiud commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

Description

Related: #23962

Improve fisheye extrinsic refinement for ill-conditioned views and poorly
scaled object points. The previous hand-crafted and numerically fragile
Gauss-Newton solver could fail for near-collinear views and small
object-point scales.

This also improves code reuse by replacing the custom Gauss-Newton solver with
the existing Levenberg-Marquardt implementation. Translation parameters are
normalized to make convergence less sensitive to object-point scale.

Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

  • I agree to contribute to the OpenCV 4.x branch under the Apache 2 License.
  • To the best of my knowledge, this patch is not based on GPL-incompatible code.
  • The PR is proposed to the proper branch.
  • There is a reference to related work: Unreliable behaviour of cv::fisheye::calibrate #23962.
  • There is accuracy test, performance test and test data in opencv_extra repository, if applicable.
    Synthetic accuracy and degeneracy tests are included. No external test data is required.
  • The feature is well documented and sample code can be built with the project CMake.

Improve fisheye extrinsic refinement for ill-conditioned views and
poorly scaled object points. Replace the Gauss-Newton update with a
Levenberg-Marquardt solver and normalize translation parameters to make
convergence less sensitive to problem scale.
@asmorkalov asmorkalov self-assigned this Sep 14, 2026
@asmorkalov asmorkalov added this to the 4.15.0 milestone Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants