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

Would you like to share the GT? #1

Closed
HaFred opened this issue Feb 12, 2019 · 10 comments
Closed

Would you like to share the GT? #1

HaFred opened this issue Feb 12, 2019 · 10 comments

Comments

@HaFred
Copy link

HaFred commented Feb 12, 2019

Hi, I ran the codes and an error occurred. The 'Groundtruth_rect' is missing. I am wondering where could I acquire it?
THANK YOU!

@HaFred
Copy link
Author

HaFred commented Feb 12, 2019

I have found the corresponding OTB groundtruth, and I still have an inquiry. What is the main difference after using the MMR in this work, comparing to the original work proposed by Dr. Yang? (http://users.umiacs.umd.edu/~fyang/papers/wacv14.pdf)

Could you go over it more specifically? Thank you!

@nayeem8527
Copy link
Owner

Hello HaFred,
I have still not read the paper you mentioned completely but what I can infer is that the paper is using dictionary learning approach and what I am using is based on regression, so the learning formulation is different and also their approach is based for single class objects mainly where as the MMR approach can also be extended to multi-class (which is in my to-do list).
Rest of the things are more or less matching with the paper such as tracking approach, features used for tracking (they are using HoG and I am using fHoG but the features would be almost same only fHoG is faster than HoG).

Hoping this would help you in your work.

@HaFred
Copy link
Author

HaFred commented Feb 12, 2019

Thank you for your reply! You have really done a good job on this project! I still have 2 questions, hopefully, you could reply.

  1. In your code, I did not find the 'multiple layers' implementation of MMR (see original paper,
    https://github.com/HaFred/e-nose/blob/master/Multi-Target%20Regression%20via%20Robust.pdf).
    Seems like what you have done is updating S and A using Sylvester equation, right?
    So why do you abandon the multiple layers training part, I am wondering?

  2. I am trying to reproduce MMR to solve a regression problem. Say the training input as X_i=(x_i1, x_i2, ... , x_i16) , Y_i=(y_i1, y_i2, y_i3). The label, y_i1, y_i2, y_i3 are all continuous. What I do in inference is trying to come up with a new Y_s=(y_s1, y_s2, y_s3) with the input as X_s=(x_s1, x_s2, ... , x_s16).
    In your opinion, could I use MMR to solve the problem mentioned above? Is that feasible?

Really looking forward to your reply! Appreciated it!

@nayeem8527
Copy link
Owner

For your first question I left the the multiple layer part because it was making the tracking slow and also not much helping in improving the results. It might be beneficial for multi-object tracking but that I have to check.

For your second question can you please elaborate it a little more, if you can provide a small example it will help me in understanding your problem.

@HaFred
Copy link
Author

HaFred commented Feb 12, 2019

Thank you!
For my second question, what I am trying to do is multi-target regression to infer the testing label Y_test.

In this case, actually, it is a gas component analysis problem. There is a training dataSet X[NUM× CHANNEL], every row denotes a certain gas sample. and every column can be considered as a feature. The label is Y[NUM×3], for each column it denotes the concentration of a certain gas.

Say for X_i, the corresponding Y_i=[0.31 0.23 0.54] indicates that sample i contains 0.31 units of CO2, 0.23 units of METHANOL, 0.54 units of ACETONE.

So my question is, is it feasible to infer a certain label,'Y_test' with a new 'X_test' as input using MMR?

Thank you very much!

@nayeem8527
Copy link
Owner

Yes, you can definitely use MMR for this problem in my opinion. MMR can really help you in solving this problem.

@HaFred
Copy link
Author

HaFred commented Feb 13, 2019

Mr. Nayeem, thank you for your help!

I am going through your whole project and grasping the whole idea of how the MMR updates the S and A repectively. I have to say, your implementation combining dictionary_init and S&A updating is really amazing! Hope that I can learn how to do MMR specifically with reviewing your project.
Then I will try my best to do MMR in my case.

Thank you very much!

@HaFred
Copy link
Author

HaFred commented Feb 13, 2019

There is one more puzzle left... I spent hours thinking and debugging but I cannot make it clear.

Why is that only the very first row of the groundtruth file (for OTB_football dataSet, its dimension is [362×4]), is being used? That is to say, only the groundtruth of the first frame is used in the classifying part. You used your 2-dimensional label as new groundtruth to denote if the frame belongs to background or not, so what is the relationship between your new groundtruth and the given groundtruth? Because I don't see any usage except for the first row like I mentioned above.

But MMR supposed to be supervised regression right? How can we set the groundtruth(label) aside?

Thank you!

@nayeem8527
Copy link
Owner

You are absolutely correct, I am only using the groundtruth bounding box for the first frame only because I need to initialize my tracker. The tracking approach I am using need to know the foreground location for the very first frame. So I am taking the gt bounding box location for first frame as foreground and creating random boxes around it of varying sizes as background and then learning the S and A. And then after every 5th frame S and A is again updated by all the saved features and label saved during tracking those 5 frames.
You can see it like a semi-supervised approach, used here for tracking.

@HaFred
Copy link
Author

HaFred commented Feb 14, 2019

I got it. Thank you for your explanation!

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