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.
The IR image does contain parts of the rest of the scene so it is still important to process the results. For example,
we used the Color Balance module to generate the following image by maximizing
the Contrast. You can see that the other details of the room are being seen somewhat by the IR camera but are so dark
they are effectively skipped during processing..
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!!
Tips
- 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.
|