VTrak
(Disclaimer: This software is provided as is, without
warranty. It is not associated in any way with any company. Use at
your own risk)


Left: VTrak in a stereo configuration, Right: A
typical tracked object
VTrak is a multiple camera optical tracking system that is primarily used for the
virtual patients system. It is similar to the
A.R.T. and
VICON in that it tracks infrared markers configured in rigid constellations.
The system previously worked with any camera that supported Directshow or the
Carnegie Mellon 1394 drivers.
Now it's been updated to use (CHEAP!!) specialized cameras from
NaturalPoint (OptiTrack V100).
The new system does not work the same way, mainly due to synchronization
issues...I don't care to make it work with any type of camera because I can't
imagine why anyone would use anything other than the NaturalPoint cameras right
now. Supposedly, NaturalPoint is going to be coming out with their own
software that is similar my software, but probably better...so you should check
that out too.
If you are interested in using VTrak (old or new) let me know, I will provide
the software free of charge (you still have to buy the cameras, see NaturalPoint
link above), and help you get it working, provided that 1) you can program 2)
you try to figure things out on your own 3) you give me some credit somewhere
for whatever you develop from it. The only thing that you have to do is
build the calibration boards (intrinsic and extrinsic) as seen below. The
same calibration board could be used for both, but the extrinsic calibration
board needs to be sturdier and doesn't need as many points. You
could probably guess the intrinsics fairly well, or you could just use values
from an already calibrated camera, and in that case, you just need to build the
simpler extrinsics board.


Left: Intrinsic Calibration board (ignore the colors, they
aren't used), Right: Extrinsic calibration board
This is also a research system, so don't expect it to be perfect. The
documentation is well written source code, which I give you as well.
Features and Specs (old)
Specs
- Latency-depends on the cameras, do the math, 1/30s+ processing time
- Accuracy- generally you can expect 1cm accuracy with a decent
calibration using 1/2'' markers
- Jitter- unfortunately this is considerable, .5 cm at times for 1/2"
markers with no filtering
- Update rate - no synchronization on cameras, runs as fast as possible,
so number_of_cameras * camera_frame_rate
- Maximum tracked objects - depends on a lot of things, on a decent PC,
Core 2 2Ghz with 2 cameras at 30Hz, you can track 5 or 6 3 point objects
- Cost - Variable, for our past setups, we have used
Unibrain Fire-i cameras ($150), and
Sony DV cameras ($300). You have to build an IR LED ring into the
cameras, as seen in the picture to the right
Features
- Windows only (if you want to port VTrak it shouldn't be too hard,
especially if you are using cmu drivers)
- Distributed-the 2D components are separate programs from the 3D
component. They are interfaced with vrpn
- Uses VRPN for
communication
- 2 Cameras minimum, no hard-coded maximum
- Intrinsic and Extrinsic (OpenCV
style) Calibration built into system
- Requires either active infrared markers, or reflective markers and an
infrared light source....OR, you can turn the lights off and use Christmas
lights
- Built in filtering algorithms (window filter, moving average, jitter
reduction)
-
Virtual calibration objects for multiple camera calibration (you still
need a calibration board though to orient the whole system)
Features and Specs (new, changes only)
Specs
- Latency-10ms + processing time
- Accuracy- <1cm with 1/2'' markers
- Jitter- <1mm with 1/2'' markers
- Update rate - 100Hz
- Maximum tracked objects -On a decent PC, Core 2 2Ghz with 2 cameras at
100Hz, you can track about 10 3 point objects
- Cost - $529 a camera + $3/ foot of reflective tape...so a 4 camera
system is ~$2100...in contrast a 2 camera system from A.R.T is
>$20,000...who can afford that! granted, the A.R.T system is a
professional setup, but the core value--tracking clusters of points--can be
done with VTrak cheaper, as accurate, and faster (100Hz vs 60Hz).
Features
- Not distributed, the only reason for the distribution was because the 2D
calculations were expensive. With the V100 cameras, all 2D
computations are performed in hardware on the camera, and transferred over
the USB bus
- Synchronized, strobed cameras- you can actually capture 1-10ms of action
every 10ms. This is because of the infrared strobe, which illuminates
the scene for only part of the exposure time
- 12 cameras maximum (I think, although I haven't tested this because I
don't have 12 V100's), although we only use 4 and it works great...but 12
would be great if occlusion is an issue