Skip to content

Uncertainties calculation for omnidir calibration can be incorrect #3406

@savuor

Description

@savuor
System information (version)
  • OpenCV => 3.4
  • Operating System / Platform => all
  • Compiler => all
Detailed description

Related to #19803@main

According to the [MVG], various least squares method explanations (like this) and the standard camera calibration code in OpenCV (here), the parameters uncertainty should be calculated with the "minus k" denominator correction:
$$\sigma^2 = \frac{1}{n - k} \sum^n_{i=1} \left( x_i - \bar{x} \right)^2$$
where k is a number of non-fixed model parameters.

The incorrect calculation appears in two places in omnidir calibration:

  • cv::omnidir::internal::estimateUncertainties(): here
  • cv::omnidir::internal::estimateUncertaintiesStereo(): here

MVG: R. Hartley, A. Zisserman, Multiple View Geometry in Computer Vision, 2004, section 5.1.3, page 134

Issue submission checklist
  • I report the issue, it's not a question
  • I checked the problem with documentation, FAQ, open issues,
    forum.opencv.org, Stack Overflow, etc and have not found any solution
  • I updated to the latest OpenCV version and the issue is still there
  • There is reproducer code and related data files: videos, images, onnx, etc

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions