5 ms·
Show HN: Multi-Object Tracking in Python
Hello! I've created a small library for tracking, along with a tutorial. I plan to continue developing it.
Tracking is an important topic, closely related to object detection. However, I've noticed that it doesn't receive as much attention compared to machine learning approaches. Or, the focus is on filters like the Kalman filter. This tutorial begins with single object tracking and progressively complicates the tasks, introducing various models and a hypothesis tree to solve them.
- deleted 3y ago[deleted]
- yeldarb 3y agoAre there situations where you'd want to use something like this over a more modern algorithm like ByteTrack or DeepSORT?
- martinky24 3y agoIf you look closely at DeepSORT, you'll find that the topics used in OP's repo are fundamental pieces of its implementation. And with that in mind, things like DeepSORT are generally computer-vision specific, while the stuff in OP's post is more general and applies to more sensor/detection sources. There are many applications of tracking that don't involve an optical sensor source.
- neer201 3y agoThx, I am agree with you.
- neer201 3y agoActually, DeepSORT doesn't use a hypothesis tree, which is common in many hyped CV tracking algorithms. I believe this is due to the abundant contextual data available in dense images. However, in self-driving scenarios, where other sensors are involved and the data (like sparse point clouds) is more challenging, these algorithms might not be as effective. The tracking requirements in such cases, often dealing with small and sparsely distributed data and frequent missed detections, necessitate improved and different tracking approaches.
- quietbritishjim 3y agoVery nice! How does it relate to Stone Soup? https://stonesoup.readthedocs.io/en/v1.1/ https://stonesoup.readthedocs.io/en/v1.1/ (I know this is like a stereotypical HN comment of yeah this is already done. But I think there's no harm in two different libraries for this and you genuinely might not know about and be interested in this other one.)
- neer201 3y agoThx! Yes, you're right about Stone Soup. It's a great library with a wide range of code for developing tracking algorithms. And it's in Python. I really like this library! But my approach is a bit different. I'm focusing on creating algorithms in a single file and interactive notebooks. This should help those who want to learn the topic and understand how the algorithms work, rather than just the library interface. After learning, these algorithms can be applied in any library, whether it's Stone Soup or MATLAB.
- quietbritishjim 3y agoThat's really good! Stone Soup seems to be trying to be quite comprehensive about algorithms, and composable in a way that your library isn't, so it's perhaps not ideal for learning. But then it's pure Python, so probably not useful for live use in most production problems (assuming a fairly large number of targets). It's a bit awkward - it ends up bit really meeting either need. I think it would be good for experimenting with a new tracking algorithm though. I think targetting your library firmly at learning puts it at an advantage for that.
- neer201 3y agoYes, I agree that Stone Soup is well-suited for research because it allows for extensive customization of the scenario and algorithm. However, due to its Python base, it's not the best solution for production environments. Thank you, I'll continue working in this direction.
- visviva 3y agoAre you familiar with the Tracker Component Library[1]? Similar concept, although I like the fact that you show examples in the README. [1] https://github.com/USNavalResearchLaboratory/TrackerComponentLibrary https://github.com/USNavalResearchLaboratory/TrackerComponen...
- neer201 3y agoYes, I am familiar with it. Thank you for mentioning it. It's really cool that in the comments we have a lot of options for similar projects. As mentioned earlier with Stone Soup, there is an interesting point. Most tracking libraries were developed by labs connected with the military and were primarily in MATLAB, due to the long history of the topic. Now, with the growth of autonomous vehicles and robotics, interest in this topic is returning.