![]() |
|
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
INTRODUCTION |
The Teleo Video module is designed to provide basic capabilities for tracking movement using up to two video cameras. Any camera can be used with the Module, provided that it has NTSC composite video output and can be fitted with an RCA plug.
The Teleo Video module can be run in two modes; static background and dynamic background. The static background mode involves setting a master image to which all subsequent images are compared. The module will then report which pixels are different from the master image. In the dynamic background mode, each frame the camera sees is compared to the frame before it.
To use the Teleo Video Module, you will need other Teleo Components. See the Teleo System Overview in the Teleo System section of the Teleo User Guide. For information about setting up a Teleo System see the Teleo Hardware Setup section of the same guide.
In addition you will need an NTSC video source and the appropriate cables.
|
PACKAGE CONTENTS |
Teleo Video Module
A Teleo Video Module providing two video inputs . Teleo Video Module Manual
|
OPERATING INSTRUCTIONS |
|
Video Module |
The Teleo Video Module has two video inputs, enabling the use of two different video cameras at once. Each of the inputs on the Teleo Video Module is an independent device which has its own corresponding software object.
![]()
Fig. 1: Video Module Concept Diagram Each of the inputs has an RCA connector such that it can be connected to most video camera outputs.
Fig. 2: Video Module Connection 1
Video cameras require a source of power which you can supply from a power adapter. Camcorders and other consumer devices have their own supplies, but sometimes tiny video cameras do not. Be careful to match the power requirements of the camera with the output of the power supply you use.
Fig. 3: Video Module Camera Connections
Connecting the Video Input
The camera you have will likely come with an RCA-type connector, making setup very straightforward. If not, you may have to buy an appropriate adapter cable at an electronics supply store.
Although it is not necessary, it is often helpful to be able to see the image your camera is seeing. To achieve this you can connect the video signal to an external monitor and to the video module. You can do this easily by purchasing an RCA Y-connector, which is simply an RCA cable that splits into two. Place one of the leads into the Teleo Video Module's input, and attach the other to your external monitor.
It is also possible to view live video with your computer. To do this requires the purchase of an adapter device that can feed your camera's video signal into your computer through a USB port or other means.
When dealing with splitting signals up and sending them to different places, you will need to be familiar with the idea of a terminator. Every video circuit must be terminated with a 75
resistor exactly once in order to function correctly. Consumer TV's do this automatically so you can plug a camera into a TV without having to worry about it. If you have two things connected to the output of a video camera, however, for example two TV's or one TV and the Video Module, there must be only one termination.
To facilitate this, the Video Module has a terminator function which can be enabled or disabled. Directly behind each RCA connector on the Teleo Video Module is a small blue jumper connector that provides a bridge between the two pins it is resting on. The jumper on the video board provides the termination resistance when it is in place, bridging the two pins. If you hook up the board directly to a camera as in Fig. 3, you will need the jumper in place - since there needs to be one terminator in the circuit. If you hook it up in parallel to a TV (ie through a splitter) as in Fig. 4, you will need to disconnect it since the TV will terminate the circuit. Note how the jumper in Fig. 4 has been turned so that it is only resting on one pin.
Fig. 4: Connecting A Camera to the Teleo Video Module
|
Video Device |
The Teleo Video Module does not send video images to your computer. Instead, the module processes images itself and then passes high-level information to your computer. This information takes the form of a very low resolution 16 x 12 array that corresponds to features of the incoming image. If a pixel value stays within a specified range from one sample period to the next, its corresponding array element is reported as a 0. If its value changes to one outside the range from one sample period to the next, its element is reported as a 1. Since your computer is sent only information regarding a change in pixels rather than the actual pixel value, the amount of image data your computer must process is kept to a minimum.
Since there are two camera devices on the Teleo Video Module, it is possible to point two separate cameras at the same point of interest. This configuration enables you to lay the foundation for 3-dimensional representation. The system is also scalable by simply adding more Teleo Video Modules to the network, such that a very accurate motion tracking system could be developed in conjunction with Max software or our Teleo Application SDK.
Programming - Max
The Teleo Video Module is not meant to be a substitute for full image processing software (i.e. Jitter). Instead, the Module is meant to provide an economical means of accomplishing motion-related data processing tasks without overburdening your computer's processor. Ideally this arrangement would then allow a Max user to devote the software to some of its more sophisticated capabilities.
The Max component that corresponds to the Video device is called t.vid.move. The name specifies the product (t for Teleo), the module (vid for video), and the device (move for movement tracking). t.vid.move can be run in either static or dynamic mode.
By default, the t.vid.move Max object is in Static Background mode. This mode is used for detecting any motion within a scene that is primarily free of motion.
To begin, create a t.vid.move object in a new patch. Place a prepend set object under it, and then place a message box under that. The message box will receive the camera's scene information as a series of 0's and 1's, which will correspond to the camera's viewing area if the box is sized to be an array 16 columns wide and 12 rows high.
Fig. 5: Setting up a patch
If everything is connected properly and in the right sequence, locking the patch will let you begin receiving scene information into Max. Be sure to activate the object by clicking the toggle switch as shown in the diagram above. The first thing to do is to set the background image to which successive images will be compared. Do this by connecting a bang object to the video object's third inlet, and hitting the bang when the camera is viewing the scene that will serve as your background. All subsequent images will then be compared to this one. Once this is done, the message box array will display a 1 if the corresponding pixel has changed from that of the specified background image. If nothing about the image changes, the message box will remain as all 0's. You can update the background image at any time by hitting the bang again, or by pressing the white button on the Video Module itself.
Fig. 6: Setting the backgroundThe background scene may have some constant motion in it, such as a fan or other repetitive motion. The background image will take a few seconds to set while the Module's processor decides whether or not to pay attention to that repetitive motion. Normally, those pixels that change repeatedly yet consistently will be incorporated into the background image and ignored. In order for a pixel change to register in that region later, the pixel will have to change to a value outside that which occurs as a result of the repetitive motion.
The t.vid.move object can be changed to dynamic mode, which is good for situations where there is constant irregular motion or when the background is frequently changing. To change to dynamic mode, place a toggle over the rightmost top inlet of the t.vid.move object and lock the patch. Activating the toggle will switch the video device into dynamic mode. The Module's processor will then compare each new image with the one just before it.
Fig. 7: Toggling to Dynamic Background Mode
To understand the difference and value of the t.vid.move's two different operating modes, an example may be useful. In dynamic mode, a person walking into a room will cause the 16 x 12 array to report changes everywhere that person walks. If the person stops and remains still, the array will gradually return to all 0's. If the object were in static mode and the background image was set before the person walked into the scene, the array would report 1's wherever the person was standing regardless of whether or not they were moving.
A note on the Despeckle Inlet: Despeckle is a feature that enables a Video Device to ignore certain small changes in a scene. It is basically designed to filter out noise. If Despeckle is activated, the device will be more tolerant toward noise. The feature works by comparing a pixel that has recently changed with all those around it. If none of the pixels around it have changed along with it while Despeckle is on, the device will ignore that pixel change. This is good when you are concerned with paying attention to large moving objects, but bad if you are trying to tell whether or not a small light has turned on or off.
A note on the Tolerance Inlet: The Video Device is capable of distinguishing between 16 different grayscale shades, and Tolerance lets you set how much deviation there needs to be from the set value before it reports a change. For example, your camera view could be set to observe a room on a slightly overcast day. Any part of the scene could change grayscale values as the sun brightens and fades with passing clouds. If a passing cloud causes a pixel to change by 1 shade of gray, you would want to set the tolerance to at least 1 in order for it to overlook this change. It's necessary to use some trial and error in this type of situation, as it is impossible to predict just what tolerance you'll need beforehand. Using Tolerance, the Device's sensitivity to environmental and other changes can be calibrated to match your situation.
See the t.vid documentation page for more details.
TROUBLESHOOTING
I get no output from the module Check the camera by plugging it into a TV or monitor. If there's no image check the connections, check the power supply.
Check the position of the terminator - remember there should be only one terminator per circuit. Monitors and TV's will almost certainly be terminating the circuit, so the Video Module doesn't have to.
I get some output, but it's not what I expected In static background mode you need to set the background (either by pushing the module's button or by sending a set-background message) before it will output meaningful data.
Lighting is very important for this module - do your best to create easy high-contrast environments.
I get too much signal If you see more change in the image than you want, increase the tolerance value. This will reduce the likelihood of the module seeing movement or change where there is none. By increasing the tolerance, you're telling the module to ignore more and more of the signal variation.
I get too little signal Decrease the tolerance value. This will make the module be more likely to report a change or movement.
The signal is about right, but it's noisy Try setting the despeckle value to true. This will remove individual pixels that appear by themselves by requiring that all signals have to have at least one neighbor After running the Video Module for a while, I unplug the camera and the Video Module appears to hang. The green light on the module doesn't even flash. The Video Module is waiting for video input. Replug the camera or unplug the module and plug it back in to reset it. If you need to unplug the camera for any reason, disable the video device first.
| copyright © 2002-2004 MakingThings LLC |