This is the user guide for the ball tracking software, usually used via the GUI in the browser. The normal workflow is to go through the 3 stages (Detect, Track, Draw) sequentially with a single video. The Project Name must remain the same for all three stages. The intermediate data is saved between each step. This means that if you don't like the effect you chose, you can go back and change the effect and re-draw the video. Similarly, if you feel the need to adjust the tracking parameters, you can go back to that step, re-track all the balls, and then re-draw your effect with the new output.
Currently, there are two supported detectors:
Name | Speed | Accuracy |
---|---|---|
DETR | 1/5 | 4/5 |
RN50 | 3/5 | 2/5, with quite a few false positives |
Since detection only needs to be run once per video, I would recommend DETR for its higher accuracy, even though it'll take a few more minutes compared to RN50.
There are two options for ball trackers, Constant Velocity and Constant Acceleration. The Constant Velocity tracker generally outputs more smooth trajectories, but it's overall less accurate. The Constant Acceleration tracker tracks objects closer, but at times extrapolates too far and makes sharp corrections.
Here's an example that illustrates the difference between the two:
Constant Velocity | Constant Acceleration |
---|---|
Using constant velocity is recommended, though if the system is losing track of balls then you might want to try constant acceleration.
Here are all the effects listed. Note that not all effects take all arguments.
For example, The effect fully_connected
doesn't change when the "length" attribute
is changed, because it doesn't have a fixed length.
Effect Name | Example | Speed |
---|---|---|
dot | 5/5 | |
lagging_dot | 5/5 | |
line | 5/5 | |
highlight_line | 2/5 | |
neon_line | 2/5 | |
contrail | 1/5 | |
fully_connected | 4/5 | |
fully_connected_neon | 4/5 | |
debug | 2/5 |
- Use a high framerate. Most cameras, even phone cameras, can shoot 60 frames per second now, go as high as you can. Every frame is additional information for the tracker, so it's better able to track the balls.
- Use a fast shutter speed. This is usually implied by high framerate, but technically different. A fast shutter speed will reduce motion blur, making the balls in every frame look more like balls and thus making them easier to detect.
- Expose for the things you want to track. If the exposure of the camera is too high or too low, the objects will lose detail and they'll be almost impossible to detect, because they won't look like much of anything. Even lighting is best, so the camera doesn't have to expose for the highlights or the shadows.
- Use a small file to test ideas. Some of the effects and detections are very slow to run, especially without a GPU. It's best to test and tweak an effect on a short clip, iterate fast, and then apply it to a longer clip once you're sure you have what you want.