Comments (6)
@kkyiss max_age ensures the case of occlusion. So if a track is lost then we don't keep that track aside, instead we try to track that object until max_age frames(even after disappearance).
I hope, I am clear.
from sort.
@abhiagwl4262 has explained why the max_age variable exists in SORT code, but do not answer why he added self.max_age to this line.
by default, the SORT tracker would only return the targets which have been updated(matched by detections or new detections) in current frame. but sometimes some targets would not be detected for few frames by detector, the missed targets would not be returned by SORT in this manner.
if we want SORT to return the missed targets even if they are missed by few frames, we need change the code
if((trk.time_since_update < 1) and (trk.hit_streak >= self.min_hits or self.frame_count <= self.min_hits)):
to
if((trk.time_since_update <= self.max_age) and (trk.hit_streak >= self.min_hits or self.frame_count <= self.min_hits)):
and set min_hits == 0
this means the SORT would return any targets in SORT's cache(predicting location for those not updated), as long as they have not been missed for frames of self.max_age. it is very useful for some situations such as the detector is not good enough and it always misses some small targets in the detecting step before tracking.
there is a drawback that the SORT will return targets which have already disappeared indeed, for example the targets arrive at the edge of the picture and cannot be detected by detector. we should ignore the targets of which location points are out of range, and also the self.max_age should not be set too large or the number of missed targets are too large to maintain in SORT's cache.
from sort.
You should be able to achieve this through the min_hits and max_age parameters of the tracker initialiser.
from sort.
Thanks. I was able to resolve this issue.
I changed the following line to https://github.com/abewley/sort/blob/master/sort.py#L222
if((trk.time_since_update < self.max_age+1) and (trk.hit_streak >= self.min_hits or self.frame_count <= self.min_hits)):
and set min_hits=0 and max_age=4
from sort.
Hey @abhiagwl4262
Could you tell me why you are adding self.max_age to this line?
thanks!
from sort.
@abhiagwl4262 , if its not too much trouble could you upload a video with the following changes, because i am not able to observe any change when these parameters are changed. The algorithm still dumps the trackers as soon as there is a miss of detection of that object in a frame.
from sort.
Related Issues (20)
- running SORT on custom dataset
- missing intermediate IDs HOT 2
- Using SORT when the number of elements to track is constant and known - ideas to recover missidentification and missmatches HOT 6
- C-Python implementation of SORT
- Multi-class multi-object tracking HOT 3
- error in iou__batches HOT 7
- Tracking other objects HOT 2
- Why are FP and FN different for each Tracker method in the paper?
- Preparing RLE for MOTS20 evaluation
- SORT ID for new detection between other old detections
- Logic Error? trk.hit_streak >=self.min_hits, ret.append(...)
- multiclass tracking HOT 3
- can I use this for windows ? because it still show me the same error ?
- No issue, just here for `lap` -> `lapx`
- instalation error
- How to get next state KalmanFilter
- ValueError: operands could not be broadcast together with shapes (0,) (1,3) HOT 1
- Python Version support for SORT
- Converting into Grayscale increasing the inference time ? Is there any way we can increase the model inference time ? HOT 1
- ImportError: Cannot load backend 'TkAgg' which requires the 'tk' interactive framework, as 'headless' is currently running HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sort.