Cartucho / OpenLabeling

Label images and video for Computer Vision applications
Apache License 2.0
926 stars 266 forks source link

Distractor Aware Siamese Region Proposal Network #51

Closed WillJStone closed 5 years ago

WillJStone commented 5 years ago

I have implemented a wrapper class for the DaSiamRPN tracking network (https://github.com/foolwood/DaSiamRPN) such that it can be used instead of the OpenCV tracking algorithms that can currently be used in the OpenLabeling software. This method of tracking significantly out-performs those currently available via OpenCV.

I have also added an --n_frames flag to the argparser. This represents the number of frames that the tracking method will operate for before terminating. I have noticed that the OpenCV trackers are faulty on the best of days with regards to realizing when they have failed, and I couldn't think of an effective method of deciding when the DaSiamRPN method has failed. To solve this, I figured it was just better for the user to determine how many frames they think the algorithm can go for given their specific data.

PS: I have never submitted a PR to anything before so please let me know if there is anything I've set up here that isn't optimal, looking to learn!

wolfv commented 5 years ago

.pyc files should probably not be commited -- maybe add them to a .gitignore file?

WillJStone commented 5 years ago

.pyc files should probably not be commited -- maybe add them to a .gitignore file?

I will do this, thanks!

Cartucho commented 5 years ago

Ideally, we should "link" to the other repo using git submodules.

What were the files that you coded by yourself?

WillJStone commented 5 years ago

Ideally, we should "link" to the other repo using git submodules.

What were the files that you coded by yourself?

The only new file that I coded myself is dasiamrpn.py. I figured there was a better way to do this than just include the other repo but was unaware of how to do it. I will look into the submodule functionality.

WillJStone commented 5 years ago

I've made the requested changes. I have also added a file containing the pre-trained weights for the DaSiamRPN network. It's 86 MB so I'm not sure if it should be part of the repo or not.

Cartucho commented 5 years ago

Hello, great! Did you have a look at using git submodules?

Cartucho commented 5 years ago

I think 90 MB it is ok.

Cartucho commented 5 years ago

Great code!

I got the following error: image

I can fix it by adding a . before utils (line 11, DaSiamRPN/code/run_SiamRPN.py), however, this will not come like this when we clone the submodel. image

Do you have any other idea of how we could fix this?

Cartucho commented 5 years ago

Hello @WillJStone, did you manage to do the fork of the DaSiamRPN repo and make the previously mentioned changes?

WillJStone commented 5 years ago

It's on my (very long) list of things to do. I hope to get around to it this weekend. I have figured out exactly what needs doing, just a matter of doing it. Is there time pressure involving another pull request you want to merge that may conflict?

Cartucho commented 5 years ago

I fixed the previously discussed issues (:

Thank you for this PR!