nicholaskajoh / ivy

Video-based object counting software.
MIT License
428 stars 170 forks source link

Use joblib to run tracker updates in parallel #36

Closed nicholaskajoh closed 4 years ago

nicholaskajoh commented 4 years ago

This is a performance improvement for the multi-tracker. Prior to this change, vehicle trackers were updated sequentially. Since the tracker update process is computationally expensive, it was a huge bottleneck especially when there are several vehicles to be updated.

This PR employs threads via the joblib library to make tracker updates faster. You should be able to observe the speed improvement when running the VCS on a CPU with multiple cores.