MosseTracker
MOSSE tracker used to track a single object on the frame sequence
Install / Use
/learn @WowSoLaggy/MosseTrackerREADME
MosseTracker
Description
MOSSE tracker is used to track a single object on the frame sequence.
Algorithm is based on the paper: "Visual Object Tracking using Adaptive Correlation Filters" by David S. Bolme, J. Ross Beveridge, Bruce A. Draper, Yui Man Lui, Computer Science Department, Colorado State University. Original Fast Fourier Transform algorithm was written by Miroslav Voinarovsky (distributed as freeware open source) with insignificant modifications by me. The usage of fftw (single precision, distributed via GNU GPL) can be defined instead of FFT by Miroslav Voinarovsky.
Compiled via MS Visual Studio 2015. Uses std and Windows.h. Should be slightly modified for Lin-support. Uses OpenCV to output test results, OpenCV distribs are not included.
Algorithm is singlethreaded and provides no thread safety. Thread safety should be provided by the control application. FPS is calculating via QueryPerformanceCounter. FPS is about 7000 for the 64x64 rectangle of interest (with fftw) or about 1600 without it (Intel Core i5, 3.2GHz). Warning: FPS calculated in TestFromFile can be inaccurate. It is better to estimate FPS via TestOneFrame. Suggestions for more accurate FPS counting are welcome.
Structure
-
MosseTracker project (dll)
-
MosseTracker module 1. MosseTracker.h 2. MosseTracker.cpp - contains main tracker functions - initialization and onFrame 3. MosseTracker_Misc.cpp - contains misc tracker functions 4. MosseTracker_Debug.cpp - contains some debug functions
-
Export section 1. Mosse_Export.h - contains declaration of exported functions 2. Mosse_Export.cpp - contains definition of exported functions, controls MosseTracker objects lifetime
-
FFT - Fast Fourier Transform 1. Fft.h 2. Fft.cpp 3. Fft_arrays.h - contains large magic arrays used for FFT calculations
-
MosseSamples (exe)
-
Samples 1. SampleFromFile - runs MosseTracker sample with the images loaded from files 2. SampleOneFrame - runs sample with only one frame (and one for the initialization). It processes this frame 5000 times and counts the total time 3. Sample4Trackers - runs sample with 4 trackers purely for academic purposes (that is, for entertainment) 4. SampleSwarm - runs sample with a lot of trackers (e.g. 100). New position is taken as the average of their offsets
-
fftw distrib
-
fftw3.h
-
libfftw3f-3.dll
-
libfftw3f-3.lib
-
Test image sequences
Related Skills
node-connect
349.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
