votchallenge / toolkit

The official VOT Challenge evaluation and analysis toolkit
http://www.votchallenge.net/
GNU General Public License v3.0
153 stars 43 forks source link

Rust Support #67

Closed alsuren closed 1 year ago

alsuren commented 1 year ago

Some background: I was looking for a benchmark dataset for evaluating a rust-based implementation of the MOSSE tracker. I found the OTB-2015 dataset, which was really hard to use, and then I found the VOT datasets, which are really easy to use 😃.

I threw together a simple implementation of the trax protocol, and used it to evaluate the tracker's performance. My implementation only supports RGB images with square target regions, and doesn't support filenames with spaces in, etc. but it was good enough to run against the 2020 dataset, to get us started.

The code for the protocol bit currently lives here: https://github.com/jjhbw/mosse-tracker/pull/6/files#diff-760f763636fdf5a7b407ee67396404031d573d2e203d67025b17a939173b7870 and there is an example usage in main.rs. It's currently "demo quality" code.

Do you think that it would be worth me cleaning up the code and publishing it for others to use?

If so, should I do it as a PR against this repo, or host it under the https://github.com/rust-cv namespace?

If you would prefer to keep all implementations uniform (binding into the C library) then that's also fine. If that is the case, I'll leave my code where it is until someone does the rust trax implementation properly, and then port the mosse-tracker benchmark code across.

lukacu commented 1 year ago

Hi, thank you for your work, this is really exciting. It would be better to move this discussion to trax project issue tracker. PRs should also be made towards that repo and not the toolkit.

The protocol is pretty stable and no immediate updates are planned (although extension to multiple targets may be interesting in the future). So a pure implementation would be ok, that is the point of a protocol anyway. But from maintenance standpoint I would prefer C bindings, I do not know Rust well enough to maintain a separate implementation. Is C-Rust integration difficult?

alsuren commented 1 year ago

closed in favour of https://github.com/votchallenge/trax/issues/68