Intrinsics camera parameters

Post Reply
maxlem
Posts: 5
Joined: Wed Nov 24, 2010 3:37 pm

Intrinsics camera parameters

Post by maxlem »

I tried to search a bit on the forums about this topic without satisfying answers.

If I understand correctly, the current calibration procedure calibrates both intrinsics and extrinsics using 1 or 3 markers wand. I'm quite surprised you don't offer an intrinsic calibration procedure using richer and MUCH more precise features like chessboard corners. There is non-gpl open-source code available for that everywhere (e.g. OpenCV).

Using a wand for extrinsics is the right thing to do, but for the intrinsics, it is not. VICON allows to calibrate intrinsics with more precise methods, for example.

What is your opinion on the matter?
beckdo
Posts: 520
Joined: Tue Jan 02, 2007 2:02 pm

Re: Intrinsics camera parameters

Post by beckdo »

Hey maxlem,

We maintain an internal application that uses the OpenCV chessboard algorithm for testing, development, and comparison. Our 3-marker camera calibration achieves more precise and reliable camera intrinsics than the OpenCV chessboard approach.
maxlem
Posts: 5
Joined: Wed Nov 24, 2010 3:37 pm

Re: Intrinsics camera parameters

Post by maxlem »

It is quite surprising. In what context?

OpenCV algo is quite rudimentary, and, you probably know better, but I noticed that you must grab chessboards in a very structured manner to obtain good results.

Where does the precision comes from? Using corner-like features allows for sub-pixel accuracy. If these 1 cm markers always appeared perfectly round, one could argue that you can localize the marker's center with sub-pixel accuracy, but in a real-life scenario, with 12, 15, 24 cameras and uneven lighting be are far from there.

With our 24 camera setup we've had little success with the 3-marker wand algorithm. We had to wand for 20, 30 minutes to generate at least 1000 samples per camera. The thing is that some camera are easier to calibrate than others because the algorithm requires that 3 or more (?) camera see the wand to accept the samples. This leads to very large dead angles for some cameras, which lead to absurd intrinsics (judging by the shape and placement of the little grid drawn during intrinics calibration).

I would much better have calibrate the intrinsics once and for all, one camera at a time, and never touch them again. Even better : you ship them pre-calibrated, like VICON! Our camera are fixed to walls and ceiling, the intrinsics are virtually fixed.

Thanks for your quick answer, I'm impressed how much you engineers are present on these forums.

Max
beckdo
Posts: 520
Joined: Tue Jan 02, 2007 2:02 pm

Re: Intrinsics camera parameters

Post by beckdo »

First off, if you're worried that the intrinsics are causing issues calibrating, I would suggest setting the solver scope to 'extrinsic only' and then letting it settle into a solution with default intrinsics. Once it's settled into a reasonable positioning for the cameras, then switch the solver scope to 'All' and let it descend to the best solution (which will include solving the intrinsics.

For the amount of time you're having to spend wanding, that would suggest your camera placement is suspect, your camera settings are causing issues, your wand is defective, or your wanding technique is problematic. You shouldn't need to wand for more than I minute or two, and you should be reaching quality results in under 5 minutes for 24 cameras.

Solving intrinsics via our 3-marker engine benefits greatly from capturing synchronized data from multiple cameras simultaneously. This gives the data set particularly strong convergence properties which allows the solver to zero-in on quality results quickly.

Perhaps you could send us your wanding data and I'll take a look at it and give some suggestions as to why you're having calibration issues.
beckdo
Posts: 520
Joined: Tue Jan 02, 2007 2:02 pm

Re: Intrinsics camera parameters

Post by beckdo »

By the way, I'm not knocking the OpenCV checkerboard stuff. It does work and was the best thing I had to measure camera intrinsics for a long time. However, I now rely on the 3-marker multi-camera algorithm which achieves surprising levels of accuracy for intrinsics.
leith
Posts: 194
Joined: Tue Jan 02, 2007 2:17 pm

Re: Intrinsics camera parameters

Post by leith »

Doug, can you go the other way around? Say... calibrate intrinsics first thing of the day. save that calibration. Then, adjust camera placement... load up the saved calib with the already solved intrinsics and then run a calibration of extrinsics? Cameras get bumped.... run another extrinsic solve on the already saved intrinsics?
leith
Posts: 194
Joined: Tue Jan 02, 2007 2:17 pm

Re: Intrinsics camera parameters

Post by leith »

btw... also:

The 3 marker wand calib uses the same premise as a checkerboard calibration. the difference is that checkboard calibrations have uniformly spaced verticies that create non-overlapping line segments. The wand technique provides much much more line segments than the checkerboard. How the line segments are decimated is key to creating a stable solve. But practically, you can get a lot more samples of use in a wanding over time than with a checkerboard.

If you put your camera into precision mode, it does grayscale centroid fitting. So the sub pixel accuracy of image processing the grid is moot. Its the same trick of using grey values and knowledge of the shape, to estimate sub pixel position.

Lastly... the last vicon mx+ system I used had completely removable replaceable and back-focusable lenses. It did NOT have locked camera intrinsics. Nor would you want it to, so you had flexibility to change the lense. It used a three marker wand just like the NP system to recalibrate distortion every calibration.
beckdo
Posts: 520
Joined: Tue Jan 02, 2007 2:02 pm

Re: Intrinsics camera parameters

Post by beckdo »

Hey Brad,

You can do a full calibration. Then later reload that and select Extrinsic only, to just adjust the positioning.

D
LinusA
Posts: 37
Joined: Mon Nov 08, 2010 8:43 am
Location: Aachen, Germany
Contact:

Re: Intrinsics camera parameters

Post by LinusA »

[quote=NaturalPoint - Doug]
We maintain an internal application that uses the OpenCV chessboard algorithm for testing, development, and comparison. [/quote]
Hey Doug, do you have more details on that OpenCV application? Although I doubt it will be possible, but do you even provide the whole app or parts of it (or parts of the source)? It's what I'm basically doing and working with on my own at the moment. If there are any more resources, or tips and tricks on working with OpenCV and the OptiTrack cams, I'd be really glad to receive them (just to clarify, I own the standard OpenCV book, and know the documentation and tutorials). It's just that (as was discussed here) the checkerboard method focuses on "regular vision" and not "infrared marker-based tracking".

I posted a small sample of how to get frame data into OpenCV here ( http://forum.naturalpoint.com/forum/ubb ... #Post46195 ), and I was wondering if this is the fastest and most effective method?

[quote=Brad_Friedman]
The 3 marker wand calib uses the same premise as a checkerboard calibration. the difference is that checkboard calibrations have uniformly spaced verticies that create non-overlapping line segments. The wand technique provides much much more line segments than the checkerboard. How the line segments are decimated is key to creating a stable solve. But practically, you can get a lot more samples of use in a wanding over time than with a checkerboard.
[/quote]
Brad or Doug,
do you have more information on this 3 marker wand calibration technique. Are there any famous authors or papers I should be aware of? I know the classic 2000 paper by Zhang (about chessboard / square calibration), but would be very interested in other methods, such as this 3 marker wand.

It's not that I want to copy the existing Tracking Tools app, but instead develop for some customized tracking research. I found your discussion very helpful so far, thanks.
Post Reply