lambdaloop / anipose

🐜🐀🐒🚶 A toolkit for robust markerless 3D pose estimation
http://anipose.org
BSD 2-Clause "Simplified" License
344 stars 62 forks source link

aniposelib multiple camera calibration #103

Open yuan0821 opened 1 year ago

yuan0821 commented 1 year ago

Hi, We would like to use the aniposelib to do multiple camera calibrations. but now we meet serval problems. I wonder if there are any good suggestions:

  1. we have 6 cameras, and some are opposite from the others, which means the calibration pattern cannot be captured simultaneously by all cameras. how do the intrinsic and extrinsic calibration?
  2. which pattern do you recommend when using the aniposelib: the ChArUco board and checkerboard?
  3. how to convert the extrinsic parameters into the Matlab format which needs a rotation matrix (3x3) and translation vector (1x3).

thank you!

kmoeri commented 1 year ago

Hi @yuan0821

Your issue was opened quite some time ago and I hope you found a solution by now.

1.) This should work perfectly fine as you only need to capture the board simultaneously by camera pairs and not with all cameras at once. Just make sure that all cameras are in that connection-loop. If there is a camera, where the FOVs does not overlap with any other camera, the algorithm will most probably fail. Finally, the resulting graph will be trimmed to a spanning tree.

2.) Check out the calibration board description in the OpenCV docs: https://docs.opencv.org/3.4/df/d4a/tutorial_charuco_detection.html

3.) I don't really know matlab that well. Is this what you are looking for (rotation vector to rotation matrix)?: https://ch.mathworks.com/help/vision/ref/rotvec2mat3d.html

I hope that helps.