Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SipMask-VIS tracking implementation #50

Closed
ollefager opened this issue May 18, 2021 · 9 comments
Closed

SipMask-VIS tracking implementation #50

ollefager opened this issue May 18, 2021 · 9 comments

Comments

@ollefager
Copy link

Hi,

In your paper you say that you match instances across frames similar to MaskTrack R-CNN. Where in your code do you perform this matching? and where can I adjust the parameters such as how many frames in the past to consider (beta in the MOTS paper) and the distance threshold (delta in the MOTS paper)?

@JialeCao001
Copy link
Owner

@ollefager During Inference, we just compare the previous one frame with current frame. Please refer

@ollefager
Copy link
Author

Thank you! Hmm, maybe I'm misunderstanding you. Because from my results I see that a specific track_id can disappear for a couple of frames to then appear again. This seems to indicate that the tracks are being saved for a number of frames.

@JialeCao001
Copy link
Owner

@ollefager The code save the last features of each previous object in memory.

@ollefager
Copy link
Author

yes, so in each frame you also compare to the features of the objects in memory? If you only compare to the objects in the previous frame how could an object that has appeared earlier but does not appear in the previous frame, appear in the current frame?

@JialeCao001
Copy link
Owner

Yes. You are right. We only save one feature for each existed object.

@ollefager
Copy link
Author

Okay. So do you ever remove an object from memory? Like if it hasn't appeared for a number of frames?

@ollefager
Copy link
Author

If you don't mind I have another question. When comparing feature vectors you seem to compute their dot product, this line

prod = torch.mm(det_roi_feats, torch.transpose(self.prev_roi_feats, 0, 1))

I don't really see how this measures their similarity however, as a feature vector with large values would score higher than a more similar feature vector with lower values, could you maybe explain?

@JialeCao001
Copy link
Owner

The dot product is used to compute the feature similarity. L638-L643 select the best match.

@ollefager
Copy link
Author

Okay, thank you very much for your time!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants