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

Create final bounding_box.json file from bounding boxes of different users #173

Open
sagarvijaygupta opened this issue Apr 13, 2018 · 9 comments

Comments

@sagarvijaygupta
Copy link
Collaborator

To create final bounding_box.json file, I am thinking of having IOU as the basic criteria with some defined threshold with at least 50% bounding_box.json from the label_persons directory agreeing with it.
We can discuss different ideas in this thread.

@sagarvijaygupta sagarvijaygupta changed the title Create final bounding_box.json file from bounding boxes of different users. Create final bounding_box.json file from bounding boxes of different users Apr 13, 2018
@Shashi456
Copy link
Contributor

@sagarvijaygupta i have a couple of doubts in this regard , do you mean for each person A you'll keep adding the bounding box they created for a particular set of images to the bounding box jsons and then apply IOU with a threshold to get one definite value?

@sagarvijaygupta
Copy link
Collaborator Author

@Shashi456 I am thinking of using all the bounding boxes for a given screenshot by all users who have annotated them and calculate the maximum area of intersection with maximum people agreeing with it (there will be trade off between area of intersection and more people agreeing with it - what trade off will be best I am not sure). Now for this area we know the bounding box we are talking about for every user, so I start taking union of these bounding boxes with the found area of intersection one by one (sorted on the basis of area) such that their IOU with the found intersection is above the threshold.

@sagarvijaygupta
Copy link
Collaborator Author

sagarvijaygupta commented Apr 14, 2018

I was going through https://arxiv.org/pdf/1506.01497.pdf faster RCNN and came across NMS (Non-Maximum Suppression). I think it will be more preferable.
@marco-c any thoughts about it?

@marco-c
Copy link
Owner

marco-c commented Apr 18, 2018

It sounds interesting, but maybe it's too much work?

@sagarvijaygupta
Copy link
Collaborator Author

@marco-c I searched about NMS and found it is much similar to what I proposed above. If by

too much work

you mean about the length of code, it won't be much and is quiet easy to understand.
https://www.pyimagesearch.com/2015/02/16/faster-non-maximum-suppression-python/
has an implementation of it which is simple and fast enough.
We can think about other possible options also. As after this only we will be able to provide information from these bounding boxes for training.

@marco-c
Copy link
Owner

marco-c commented Apr 19, 2018

Sounds good then!

@sagarvijaygupta
Copy link
Collaborator Author

old
new

@marco-c This is the output I am getting with overlapping threshold value of 0.5. Is it fine? Or should I make some changes.
Also I wanted to ask one thing. What should I do with the read_labels in utils.py? I mean we have some already labeled data. If we remove labels.csv we will lose the information. Should I just create the final_bounding_box.json and keep read_labels as it is (and everything else the same and continue writing labels separately) till we have sufficient marked data with bounding_box.json after which read_labels can be updated and labels.csv removed?

@marco-c
Copy link
Owner

marco-c commented Apr 30, 2018

This is the output I am getting with overlapping threshold value of 0.5. Is it fine? Or should I make some changes.

It looks OK to me.

Also I wanted to ask one thing. What should I do with the read_labels in utils.py? I mean we have some already labeled data. If we remove labels.csv we will lose the information. Should I just create the final_bounding_box.json and keep read_labels as it is (and everything else the same and continue writing labels separately) till we have sufficient marked data with bounding_box.json after which read_labels can be updated and labels.csv removed?

Let's convert the current file, making the boundary box the entire image when an image was labeled with n or d.

@marco-c
Copy link
Owner

marco-c commented Apr 30, 2018

(The label_persons/amitrockon.csv should be converted, labels.csv should be generated automatically)

@marco-c marco-c added this to the 3a. Accuracy improvements milestone Dec 7, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants