Hello Steve,
again thank you very much for your reply.
Well well, on point!
Yes I thought the same. I will try a new calibration with new pictures the upcoming days.
I would agreee, especially when considering that there are 60 000 000 pixels per image!
Yes your right on that. I even thought about that myself. I am going to try the per image error that OpenCV provides, in order to gain the ability to “sort out” bad pictures used for calibration. (e.g. Ones that dont provide additional information, because they are too similar.)
Furthermore the variance of the parameters is a very interesting feature. (Especially “stdDeviationsIntrinsics”). I tried diving into that, but got a bit overwhelmed. One thing that confuses me is that in usual error propagation you need your input uncertainties. (Like e.g. you know that your checkerboard was printed with an accuracy of 0.1 mm.) But the “stdDeviationsIntrinsics” does some other kind of magic and ignoring your input uncertainties.
(Using covariance matricies as far as I know. But i wasnt able to grasp it. If your into that topic I would also apprechiate any help.)
Thats a good point. And thank you for the tips on calibration.
I already printed out the Charuco board based on your hint. That will cover the edges. In Zhangs paper the angles have been tested:
Zhengyou Zhang, A Flexible New Technique for Camera Calibration, Page 11.
All around 45 ° prooved to be good:
That point with the distances is where I needed some time to grasp. (Not from your text but from my own experiance.)
Maybe for future readers stumbeling across this discussion: You arent allowed to use a zoom lens. Zooming changes the focal length and so the intrinsics. But focussing is okay! That doesnt change focal length.
(Sike!: From the datasheet of the lens that I am using:
“Depending on the lens mechanism, the focal length may change with any change in shooting distance. The focal lengths given above assume the lens is focused at infinity.”, Sony manual for SEL90M28G. So maybe don’t overabuse different distances too much )
So with the lens I am using ther is kinda a small distance range at which the checkerboard is not too big and not to small. But I totally agree with your point. The more dfferent the pictures the more general my model, even if the reprojection error gets worse. Better having a worse repr. error and a model that fits the camera more general than a very low repr. error ony on selected calibration images.
I am going to take a few new ones with the charuco chart and I will share them here. Thanks for offering to have a look at them.
Because thats where I was woundering. I thought: Well, if I know the intrinsics and extrinsics I just apply the reverse projection and I am able to measure. But no: The projection matrix is a 3x4 matrix (Hartley and Zisserman page 154) so its not invertable. A point on my imageplane (so a pixel with x and y) maps to a ray in 3D. I am not able to recover any 3D information using one camera. (Neglecting depth of focus and other fancy techniques.)
Yes, absolutely. And thats where I started getting down the rabbit hole.
Haha yes, the results I shared before showed that, prooving you right My “it’s the middle of the sensor” approach would certainly fail!
Hmm thats what I am interested in too. My initial question is more about a general understanding of the whole topic. My guess would be that the undistort function doesn’t need it at all. But I want to avoid diving into the source code. Im not quite fluently in speeking C(++).
I am only interested in measuring the length of a single object. But maybe you are right that I should just start measuring and getting into theroey later on, if it doesnt work or isnt accurate enough.
Thats a great hint. I dint realize that its not a circle anymore, but your right. The known diameter information may be “encoded” in both directions by the ellipis.
Same “problem” the circular calibration boards feature. (Nice paper I found covering that: Which Pattern? Biasing Aspects of Planar Calibration Patterns and Detection Methods from John Mallon and Paul F. Whelan. TLDR: Checkerboard is “better”, because points map to points under any projection AND distortion.)