Using the Kinect
The Kinect's projector is very powerful and will produce a spotted pattern in the IR domain.
If we instead blur this projection by placing a filter in front of the projector it will instead produce a more even IR illumination. We used a piece of packing foam taped ontop of the projector to create this blurring. Effectively, this makes the Kinect a generic IR camera.
With this dispersed IR illumination you can now point the Kinect at the retro-reflective target and isolate just the squares despite bright areas in the visible spectrum. This is a great trick to use to remove a lot of unwanted noise pixels just using equipment that you already have. Without the blurring of the projector the targets will appear spotted and cause processing to consider those dots as individual objects instead of as coherent targets. It is possible to blur these within software but this causes loss of precision.
Note that the ideal material for blurring is a clear filter which allows for maximum passthru without loss of intensity. The example above uses a white plastic bag as the filter. Better filters are tracing paper or wax paper that does not reduce the intensity of the projection as much. Remember, the less powerful the projector is the shorter the distance you would be able to detect the target.
The following images are taken from a distance of 20+ ft which is well beyond the depth range of the Kinect but thanks to the retro-reflective tape the targets are easily enhanced. Just be sure to blur the IR projector well enough otherwise you will see more speckles that may cause detection failure when processing for a 'rectangle' shape later on.
You can also purchase additional IR illuminators that can further enhance the image. Team #2410 Metal Mustang Robotics has reported very high quality results from using an IR LED and a Lens to enhance the IR light received by the Kinect. The brighter the illumination the further the distance you will be able to see the target and the more changes you remove any other image artifacts that may cause successive processing to get confused. Thanks Team 2410!!
- When using the Kinect module be sure to untoggle your camera button in the main RoboRealm interface. Since you will be using the Kinect there is no need to keep gathering data from your webcam so be sure that camera button is up. Processing the webcam image in the background without using it will reduce your USB bandwidth.
- Be sure to select JUST the IR radio button in the Kinect module. You do NOT want to also process the RGB image at the same time. This will throw off ALL your calculations and make processing 2x slower. Just keep it to the IR image and if you want to use the RGB image later, save that as a marker and use the Marker module to bring it back into view.
- Download RoboRealm
- Install the Kinect Drivers
- Run RoboRealm and add the Kinect module to the pipeline
- Once this is activated select the IR radio button and you should see the IR pattern the Kinect generates
- Use a semi-transparent piece of waxpaper, packing foam, etc. and tape that over the lens that has a red spot in the middle of it. Its the one isolated by itself (the other two being the IR camera and RGB camera).
- Once you have blurred things enough you should be able to see objects in IR without all the spots present. Move the Kinect to view the retro-reflective tape and see what that looks like up close and from a distance.