Problem with Caliberation
I am using two kinects with one marker it is not being calibrated and the result is two distinct point clouds. I have tried everything the docs said and can see that it is tracking the marker in the depth window but is showing caliberation=false for both markers. I have added the marker in the settings. Please help me out here as I don't really understand the concept of marker even when i have read all the explanations you have given in other issues. Also please tell me if i want to use two markers then how to adjust the translation and rotation i mean you said that point cloud is made when markers are set correctly, i want to ask how do we translate the value on the basis of real time measurement or what? Didn't really understand. Thanks
Hey Sethi!
Which marker have you printed out? And can you upload a screenshot of the marker settings in your program? If Livescan recognizes your marker, you should see a green or red outline on the marker in the Client preview window. It would also help if you can show us a picture of your printed marker, sometimes the ink is too reflective/glossy or is too low in contrast.
For using multiple markers:
Imagine you have a world center in your scene, at 0,0,0 (XYZ). Livescan always centers the viewport around this center, and the marker places the content in relation to this center, so it's a good idea to have the marker always close to it, The marker offset is always in relation to this world center, If you don't set the transform or rotation of the marker (all values are 0) the marker will be located at the world center.
Now imagine you want to use four markers, arranged like a cube. For the best placement, the world center should be in the middle of the cube. So the offset should be calculated based on the distance of the marker from the center, as well as the rotation offset. I've drawn a small sketch to illustrate this
So let's say this is our coordinate system, XYZ, with the forward axis being on the Z axis. Therefore in the default rotation (0,0,0), our marker faces into the Z direction.

If we want to now use a cube configuration, and we say our marker width is 20cms, we arrange our markers like this:

Livescan uses centimeters for translation and euler angles for rotation. Our cube arrangement gives us the following values:

preview of settings

I have used marker=0
It is not recognizing the marker as I could not see any green or red line also calibrated is showing false too. Can you please send me pictures of how you set up the cameras and marker which I can take as a reference to make mine?

Printed marker image that i am using
Hm, everything looks fine to me in your settings and the printed marker seems to be good aswell! Just to be sure, you did press on the "Calibrate" button inside the server windows after you made sure that both color and depth view of the client can see the marker fully?
You might have to experiement with lighting a bit, try to avoid direct sunlight, but also make sure to have some bright artifical lights in your room. The marker should be well-lit. Also try moving the marker around a bit and change the angle to the camera. In your final calibration you of course want the marker to be still, but just try to play around with it a bit too see if we can detect the marker at all.
If you want to, you can also send some screenshots of your client depth and color preview showing the marker (block out the rest of the room with MS Paint or something for privacy), so I can take a look if everythings looking good there!
These are the images well i haven't stick it to the wall because it was not tracking even when i have stick it to the wall
Try gluing the marker onto a very flat piece of cardboard, wood, or something else, which does not bend.
One marker worked!

Trying to do with two markers one is tracking but the other is not
Is ther problem is with translation, dont know?
Please help me with this too
So several things:
-
You should glue your markers to a flat piece of cardboard. If the marker is bended like in your picture, the chances of being recognized are very low and the precision as well
-
All markers should have the same size
-
Orientation = Rotation, Translation = Position. If you enter 180 into your translation, it means the marker will be 180 meters away from the center.
-
If you do this kind of setup with two kinects facing each other, I'd recommend glueing both markers onto the opposite sides of a piece of cardboard and holding in the middle of the two kinects. This way, you only need to set the Y Rotation/Orientation for one marker to 180 and leave all other values at 0.
Thank you for all the responses, i am now able to track two markers, One last thing i want to ask is how are you setting up your environment for 4 kinects in demo video? I mean how many markers are you using and how are you arranging it?
Good to hear that it is working now!
Coincidentally I'm writing up a detailed guide on multi-camera calibration with Livescan at the moment. If you're patient until the end of the week, I'll post a link to it here.
Yeah no problem
Hi, Are you done writing the blog as i was waiting for it to execute with 4 kinect devices?
Hey! Sorry I got sick until yesterday and could not finish it yet. I'll have it done in the middle of the week I think!
Hi, Are you done writing the blog?
I've just finished writing the documentation on the Calibration process, you can view it here: https://github.com/BuildingVolumes/LiveScan3D/blob/development/docs/Website/content/docs/user-guide/calibration.md
Thanks for the clear docs, I have a question, Well I want to ask if my setup is like I want to capture a person sitting on the chair and using a 4-cube marker setup then how will I place the cube to get all the sides of the person sitting on the chair and marker are readily captured by Kinect.
I'd place the cube on the chair, but elevate it a bit with some boxes so that the backrest doesn't cover anything on the cube. Otherwise I'd arrange the kinects like in the graphic: https://github.com/BuildingVolumes/LiveScan3D/blob/development/docs/Website/content/docs/user-guide/images/Calibration/4_Marker_Setup.png
Hello Thank you for all your support i am able to track 4 kinects, but i want to ask you one thing, i have 4 kinect dks and i am trying to connect all the four with daisy configuration but it wont work until i attach all the kinects to separate laptops and connect livescan client, So wont it work if i connect all the kinects with one computer or two?
Hi! What specifially doesn't work? Do you get an error message? It should be able to run all kinects on one PC, that is in fact what I've been doing most of the time.
Basically when i connect one kinect to the laptop and other to power source, and that kinect and connect to the server then i can only see one kinect connected, but when i connect other to other laptops and then server then only i can see other kinects and master subordinate relationship.
Apologies that sentence was a bit hard to understand for me. Can you describe the process again but each step after the other, like this?
- Connect first Kinect to Laptop
- Connect second Kinect to Laptop
- Open two Livescan Clients on Laptop ... and so on?
Sure
- I connect first kinect i.e. master to server laptop
- I connect other kinects to the master kinect as daisy configuration and didn't connect subordinate kinects to any laptop but only power and to each other
- I only connect one client with master kinect to server
- And enabled the temporary sync but can only see one kinect
- I experimented by connecting other subordinate kinects to connect with laptops and open livescan client for all and connect to server then only i can see other subordinated kinects. So i just wanted to ask if it is possible to use only one kinect for all the 4 kinects?
Ah now I get it! No that is not possible. Also you don't get any advantages from this as far as I can tell, because temporary synchronisation only takes effect when two or more kinects are used for the same capture. If you use just one device, you don't need temporal sync. If you daisy chain all devices, you also need to use all devices for temporal sync, you can't pick just some devices you want. If you only want two devices synced for example, you have to chain only these two devices, and disconnect all other devices.
Just to avoid misunderstandings, the sync cable only carries the sync signal, which is a simple 1bit signal, no other data. The kinects also only relay the sync signal, if they are connected to a PC, and started by a program into the right Sync Mode (Master, Subordinate)
Hello, thank you for your reply, I have read the document you thanked, but the calibration is still successful. I have two Kinectv2 cameras, and put them face to face, the marks are placed in the middle, and the marks 0 and 1 are used, and the mark Y of 1 is turned to fill in 180°, and the other marks are 0, and the correction also appears green box, but it is still false
This means the color camera can see the marker, but the depth camera can not. This is usually caused by the marker being too far away or too close to the sensor. Try moving the marker around. Sometimes this issue can also be caused by too much IR-light in the enviroment.
Hello, thank you for your reply. Do you mean that I should also display the marked green outline in the depth image?
As shown in the image above, shadows can only be roughly shown