Nine DOF pinhole camera calibration using Computer Vision Toolbox?

I have a set of 3D world points and corresponding 2D image points. Using these, I would like to do a single pinhole camera calibration with 9 degrees of freedom. In other words, I know that I have no camera distortion or skew and that my 2D pixel scaling is the same in x and y (so I have only 3 intrinsic parameters).
Is there a way to do this restricted form of calibration using Computer Vision Toolbox functions? I have been looking at estimatecameraParameters() in R2015. However, this function does not appear to give the option of turning off radial distortion estimation. It also does not appear to give the option of estimating with fewer than 4 intrinsic parameters.

댓글 수: 1

will this calibration toolbox satisfy your needing?camera calibration toolbox caltech It can modify the distorsion parameter of radial and tangental

댓글을 달려면 로그인하십시오.

 채택된 답변

Dima Lisin
Dima Lisin 2015년 12월 4일
편집: Dima Lisin 2015년 12월 4일

2 개 추천

I don't think estimateCameraParameters is suitable for this. It implements the calibration algorithm by Zhengyou Zhang, which assumes multiple images of a planar calibration pattern.
If you have a single set of non-coplanar 3D points, and their corresponding image points, then you should use the Tsai calibration algorithm.
On the other hand, if you do have multiple images of a planar calibration pattern, then you can simply edit estimateCameraParameters.m and comment out the call to refine() method. That will skip the non-linear optimization step, and just give you a closed-form solution of the intrinsics and the extrinsics, assuming no distortion. Needless to say, that means you would be editing a built-in MATLAB file at your own risk.

댓글 수: 5

Matt J
Matt J 2015년 12월 4일
편집: Matt J 2015년 12월 4일
Thanks, Dima. I'll definitely check out that reference to the Tsai algorithm. Any reason it's not implemented in the Computer Vision System Toolbox? Seems like a common enough thing to want to do, both for educational and practical purposes.
Hi Matt. The reason for that is that Zhang's algorithm is more practical. It is much easier to print a checkerboard, than to build a 3D calibration rig, which is what the Tsai algorithm needs.
Hi Dima,
Except that,
(1) As I mentioned in my post, it doesn't appear that the implementation of Zhang in the toolbox covers the 9 DOF pinhole model, as Tsai seems to.
(2) Checkerboards are easy for photographic cameras, but not other kinds. For X-ray cameras, I think it would be quite expensive to manufacture a lead checkerboard as compared to a 3D fixture of BBs, which are more commonly used. Furthermore, since the calibration object is not opaque to an x-ray imager, you also never get an ideally planar image.
Hi Matt,
That's an interesting use case. Thank you. The calibration tools in the Computer Vision System Toolbox are indeed designed with the photographic or infra-red cameras in mind. X-Ray is whole different ball-game.
Hi Dima,
Just to add a further footnote here, I did read the article in your link on Tsai's algorithm, but it appears to be an approximate algorithm only. The article describes it really as just a way of initializing a more rigorous iterative nonlinear estimation.
Th bottom line seems to be that if you want to do calibration with 3D-to-2D data and any fewer than 11 degrees of freedom, you really just need to go over to the Optimization Toolbox.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 MATLAB Support Package for USB Webcams에 대해 자세히 알아보기

질문:

2015년 12월 3일

댓글:

2019년 1월 11일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by