Struggling with Initial Calibration #35
Replies: 4 comments 3 replies
-
@ronshnapp and myself might help. but could you please provide some information about your setup? a photo and a sketch would be helpful. I find https://github.com/ronshnapp/MyPTV/blob/master/user_manual/user_manual.pdf very helpful |
Beta Was this translation helpful? Give feedback.
-
Hi @hannahwalk, and @alexlib Thanks for your questions and detailed explanation of your system. To explain briefly the difference between the "lab coordinates" and the "image coordinates" - the lab coordinates are the 3D real-space coordinates that desribe location inside of your experimental apparatus; this is the system of x,y,z you drew on the sketch you sent. Basically, you are the one to decide where is the oriin of this system and the orientation of the axes with the constraint that the system complies with the right hand rule. On the other hand, the "image coordinates" describe the 2D location of each pixel in the images of the cameras. The origin of this system in MyPTV is always on the top left of the screen, the "eta" axis points to the right and the "zeta" axis points down. About the camera rotation angles you describe - you on the right path, but I think there's one more missing step. On top of the rotation around "y", I think you need to add a 180 degrees rotation around the "z" axis in order to put the axis of the camera pointing to the left. Thus, the initial guess for the angles rotation in the initial calibration would read: "0, \alpha, 3.14" (note that \alpha should be given in radians). Now to the last point about the "focal depth", 60 does sound to me a bit low of a number. The reason is, that it is given in units of camera pixel sizes which are typically in the ~5 micron size. So, for example, if the focal depth of your camera is 30mm and the pizel physical size is 10 micrometers, then the focal depth should be around 30/(5 X 10^-3) = 600. Anyhow, I find that the best way to estimate the focal depth is empirically by trail and error. A procedure for that might be makin an image of a calibration target where the camera is looking straight at it and at a known "z" location, putting this image into MyPTV, and then manually changing the focal depth until you see the initial guess aligning with the calibration points. I hope all this helps you resolve the issues you're having, and let me know if you're still having trouble! Best, |
Beta Was this translation helpful? Give feedback.
-
@hannahwalk - regarding the calibration targets, we typically use machine tools to create a black (dark, anodized alumina works well) body with multiple steps and small holes that are painted, e.g. that looks like this and you can see it in Ron's experiment inside the water tank: There is a small local engineering company that creates such upon your dimensions and requests in Israel, if you make a drawing, they could probably prepare one. We also made from transparent materials with dots on surfaces, sometimes useful when the cameras are on the two sides of the z-axis. If you Google "3d ptv calibration target" - you'll find many different ideas for creating those. If there is an option to accurately shift the single plate with dots in your setup - then you could use what we call "multiplane calibration" (I help somebody right now to implement one using our other code, OpenPTV) - I'm sure it can work also very well with MyPTV. This requires a precise motion setup. Few additional great ideas I found on the web: |
Beta Was this translation helpful? Give feedback.
-
Hi Hanna and Alex, @alexlib - thanks for the tips on the calibration target. @hannahwalk - regarding the extra \pi rotation - when I'm trying to figure out what is the rotation I need to perform in order to get a working initial calibration, I'm trying imaging what rotations I need to follow with the lab space reference frame such that it fits over the image space reference frame. In your case, we first rotate around the Y axis to get the z and z' axes aligned. After this first rotation, we are left with the x axis pointing to the left whereas x' is point to the right (as sown in your drawing). To fix this, we rotate around the z axis by 180 degrees, which sorts out this problem and fixes the final alignment of the two systems. Let us know how your experiment is going! Best, |
Beta Was this translation helpful? Give feedback.
-
Hi everyone, I've been trying to get the initial calibration working for a while now and have been having a hard time. I was wondering if anyone who has got it working could provide insight on how you defined your coordinate systems. Is the lab coordinate system the same as the image coordinate system (which is usually in the top left of the image)?
Also, the focal length values that give reasonable projections of calibration points are nowhere near what they should be based on the described calculation in the user manual (supposed to be: 60 pixels vs works better with: 1000 pixels). Has anyone else encountered this problem?
Beta Was this translation helpful? Give feedback.
All reactions