A Rust implementation of the Minimum Output Sum of Squared Error (MOSSE) tracking algorithm, as presented in the 2010 paper Visual Object Tracking using Adaptive Correlation Filters by David S. Bolme et al.
For a bit of extra context, check out the accompanying blog post at https://barkeywolf.consulting/posts/mosse-tracker/.
ffmpeg -i ./testdata/traffic.mp4 -vf fps=30 ./testdata/traffic/img%04d.png
Running a debug build (not using the --release
flag) will dump the state of the filter at each frame to a file and will output additional debug information. Note that the image filenames need to be provided in order. Below commands should result in test_tracking.mp4
.
cargo run --release --example demo $(ls ./testdata/traffic/img0*.png) &&\
ffmpeg -y -framerate 30 -i ./predicted_image_%4d.png -pix_fmt yuv420p test_tracking.mp4 &&\
rm *.png
wasm-pack build --no-default-features --target web
python3 -m http.server
Open http://localhost:8000 and allow webcam access.
See /examples/votchallenge. Thanks @alsuren for contributing the necessary code!