If you can't find the device you want to use (e.g. web-cam attached after Linuxtrack GUI was started, ...), press the "Refresh" button and check again.
Next thing that you can set is the camera orientation - normally you should not need to change this...
However, if your tracking device is positioned in any other way than in front of you with top pointing up
(you mounted TrackIR upside down for some reason, or you use laptop with a web-cam chip mounted upside down,...),
change the Camera Orientation to match your device's orientation.
Supported device types are the following:
Wiimote Setup
Web-cam Setup
Web-cam Setup for face tracking
TrackIR Setup (including SmartNav devices)
HID device setup
If Wiimote is the tracking device of your choice, first of all, make sure you have the Wiimote server running (comes along with Linuxtrack) and connected to the Wiimote.
If Wiimote server is not running, then start it, press the Connect button and then simultaneously press buttons "1" and "2" on the Wiimote . After a short pause, you should see the state change to Connected and one of LEDs on your Wiimote should blink briefly about every 5 seconds.
Due to the nature of Wiimote there is no way to tweak any parameters except for which LEDs should indicate running/paused tracker. Just select which LEDs should be on in the Running state and which should be on in the Paused state. However, if the battery life is crucial for you, you should turn all LEDs off at least in the Running state (in this state you are going to spend most of the time after all).
Now you can try to start the tracking to verify the device is set up correctly.
To configure a web-cam, first of all you have to set the Pixel Format. The preferred format is YUYV (native UVC web-cam format), but you can experiment and see which one works the best for you (just avoid the JPEG/MJPG formats as they aren't supported).
Continue by selecting the desired Resolution & Frame rate. The safest bet would be something around 352x288@30; when tracking with these setting works, you can experiment with different resolutions and frame rates.
To ensure best frame rate (stable and high), it is recommended to turn at least the Automatic exposure off (better turn off the rest of Auto... features too), if possible. Then set the exposure manually and tweak the rest of parameters (brightness, contrast, ...) to get good picture. On Linux you can use the guvcview for this purpose.
Now you can try to start the tracking to verify the device is set up correctly.
To configure a web-cam, first of all you have to set the Pixel Format. The preferred format is YUYV (native UVC web-cam format), but you can experiment and see which one works the best for you (just avoid the JPEG/MJPG formats as they aren't supported).
Continue by selecting the desired Resolution & Frame rate.
The safest bet would be something around 352x288@30; when tracking with these setting works, you can
experiment with different resolutions and frame rates.
The last thing to set before the first test is the path to the cascade used to track the face. OpenCV Haar and LBP cascades are supported. If the default cascade doesn't suit you, just browse to the cascade of your choice. On Linux you can find them in the following paths:
If you have never used TrackIR before, you are going to need to install the firmware. Just press the Install Firmware button and follow the instructions. Usually just pressing Download button on the presented dialog is all that is needed - it downloads the driver package from NP and extracts firmware needed to run the device.
Now you can try to start the tracking to verify the device is set up correctly.
When done with axes setup, you can jump to the Tracking Setup chapter.
There are two panes in this window, the first pane being the Camera View. This pane allows you to troubleshoot the tracking - it shows exactly what the camera sees, so it can show you for example any interfering light sources, unwanted reflections and so on. The second pane, 3D view shows what the result is going to look like in the simulator.
To start the tracking, all you have to do is press the Start button and wait for the device to initialize (usually takes couple of seconds).
In case of head tracking, you should see your head in the Camera View pane, with a white rectangle around it, or in case of model based tracking there should be 3 (or 1 in case of single point model) "blobs" (fields of bright pixels), each of which has a white cross inside (means a valid blob). You should check, that the rectangles/blobs with crosses are there through the full range of motions you plan to use.
Some devices allow you to do some "post-processing" steps to discriminate some of the interferences, but the first rule of troubleshooting is this: the best way to get rid of the interference is to remove it physically.
With infrared sensitive devices (TrackIR/SmartNav, Wiimote, ...) the interference sources might not be all that easily identifiable - things like light bulbs, lit cigars, candles, IR TV and other remote controls can cause considerable interference. Also sun can cause significant problems - not only direct sun, but also areas lit (and heated) by sun can be sources of severe interference.
When such a solution is not possible, different devices have different means that might help you to achieve better tracking results.
Another way to discriminate the "bad" blobs is according to their size - set the Valid blob size to values, that only the valid blobs satisfy (for higher resolution devices the range of values might be in range of 200 - 600). Just note, that these unwanted blobs can still interfere with the tracking, especially when they merge with some valid blob. Also don't forget to check, the whole range of motion you intend to use - for example setting the lower limit too high might break tracking when you move your head farther away from the camera.
Specialty of some TrackIR models, when using the reflective model is setting of the illuminating IR LEDs brightness. This can help you weaken unwanted reflections - just set the IR LEDs brightness somewhat lower.
When using a web-cam, make sure it is correctly focused and you get sharp image (best checked in some external application).
To minimize the impact of the background light on the web-cam, you might need a visible light filter - piece of magnetic tape material, exposed film, piece of magnetic material from diskette or even piece of black stocking might help there.
Some web-cams also contain IR filters, that can completely filter out light from IR LEDs. However removal of the IR filter might be non-trivial and you risk irreparable damage to the camera, so try that only as a last resort (for example you might use ordinary visible light LEDs instead; also higher current might help to "burn through" the IR filter, but be careful not to burn the LEDs instead!).
Also make sure that your face is well lit, but without sharp shadows.
If the rectangle stays around your face, but the tracking is still jumpy, you should adjust the Smoothing slider - moving the slider right steadies the tracking. Try adjusting the Filter Factor on the Tracking setup tab too - these two filters have somewhat different characteristics and complement each other.
The smoothing filter actually averages input values, ironing out big jumps, but it also introduces a lag. The filter in the Tracking setup tab works best when smoothing small jitter. Try finding some sweet spot that works for you.
To optimize the CPU usage, you may try to move the Optimize for slider towards the Speed end, trading a bit of precision for a considerably lower CPU usage.