0
$\begingroup$

When we do camera calibration, we have to find calibration matrix $M$, which is found by first finding extrinsic matrix and then intrinsic matrix. To validate the accuracy of calibration matrix, we compare groundtruth projections $points \times intrinsic-matrix$ against prediction $points \times extrinsic-matrix \times intrinsic-matrix$. To illustrate results, I plotted the figure below. Source

Question: Why the projections from $points \times intrinsic-matrix$ are regarded as the groundtruth please?

enter image description here

$\endgroup$
2
  • $\begingroup$ Can you cite the source that you're using for reference please? There may be some assumptions from the setup that you're not sharing in this post that could resolve your question. $\endgroup$
    – Tully
    Jun 21 at 15:54
  • $\begingroup$ @Tully. Thank you. I added source. $\endgroup$
    – Avv
    Jun 21 at 17:09

1 Answer 1

1
$\begingroup$

The reason that it's the ground truth is because in the tutorial it's all synthetic data and it's using the ground truth parameters of the model to calculate/construct those values exactly.

First we define the necessary parameters and create the camera extrinsic matrix and intrinsic matrix. These are required to build the pipeline and prepare the ground truth.

This example is not how to do a camera calibration in the real world but is teaching you the fundamentals of how the calibration algorithms work, thus you can know the ground truth before you try to do the optimization so see the performance.

$\endgroup$
5
  • $\begingroup$ Thank you. So, why we need to do optimization by minimizing the error of transformation function (takes points from 3D world -> 3D camera world -> 2D image plane) if all we do is transform the point according to how the camera sees world and then do projection through intrinsic matrix please? $\endgroup$
    – Avv
    Jun 21 at 23:07
  • 1
    $\begingroup$ In this synthetic example we know the ground truth. In the real world you have to estimate these parameters, that's what you're optimizing over many different samples. $\endgroup$
    – Tully
    Jun 22 at 4:08
  • $\begingroup$ Thank you. So it's like machine learning where for a point $(x,y,z)$ we have ground truth $(u,v)$ and a projection/prediction $(u',v')$ of a model? This is how camera calibration works? $\endgroup$
    – Avv
    Jun 22 at 16:19
  • 1
    $\begingroup$ I guess you could think of it that way. There's more layers but yes. And I'd call it an optimization problem and not a machine learning problem; you could try to let the machine learn a model of the lens, but typically one knows the lens model quite well and are just finding the optimal parameters. $\endgroup$
    – Tully
    Jun 22 at 17:25
  • $\begingroup$ Thanks Tully. I have another related question about getting GPS from calibration matrix. I hope you can also help me with that if you can. $\endgroup$
    – Avv
    Jun 23 at 4:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.