-
Notifications
You must be signed in to change notification settings - Fork 8k
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
Rotated Bounding Box output #2148
Comments
@BGA3 Hi, I think there will be many changes, at least there:
2.1 Lines 84 to 109 in 48d461f
2.2 Lines 156 to 163 in 48d461f
3.1 Lines 385 to 389 in 48d461f
Lines 482 to 602 in 48d461f
|
Yeah okay, I see that it is a lot of work for a person that is not (yet) familiar with the code. Damn. Is this something that would be of interest for the repo, or do you think it is only interresting for my project? |
@BGA3 It would be interesting, but so far not a priority. |
So, I have done some good progress in adding the alpha/rotation parameter. I can now train and test the network, and the x,y,w,h are found perfectly (as before) but the angle is not. I feel that I am close to resolving this, but I have been stuck for days now. @AlexeyAB would you be interested in looking my modifications (perhaps you can quickly spot the remaining issue)? |
@BGA3 Hi, |
Ah that sounds great, @AlexeyAB. Thank you very much. I will give you all the likes and stars I can :) Give me a couple of days to make my modifications readable to others, and to create a new branch. I will revert. |
@AlexeyAB Im ready with a commit now, that I think is well readable to others :) do you need to give me special acces to the repo? I am getting a "error 403" when trying to push to a new branch. |
@BGA3 You can fork this repo, commit your changes there and press Pull request. |
ah ofc, like that. I tried branching and pushing using Sourcetree directly from your repo, but ofc I dont have rights to that. |
@AlexeyAB a small update: I got the rotation output working! When I run darknet.exe directly and also using Darknet.py from python using the CPU build. However, I have one issue: when I use the GPU dll from python (Spyder/Anaconda) I get the following error: What is even more weird is, that I can easily use GPU (on the same PC) when I run darknet.exe. Would it be possible for your to have a quick look? I have just made a new commit to my pull request. |
Hi @dselivanov The thing is, that I unfortunately somewhat abandoned this topic, as my project went in another direction. So at the moment I dont have time to further develop this unfortunately. |
I've tried to "hack" darknet codebase - it is not easy, parameters are hardcoded in many files and it will take quite a lot of time to make it work. For now I've switched to pytorch, it seems it will be faster to make it work there. |
@AlexeyAB |
For information, I ended up implement rotated bounding box detection in python/keras using the yolov2 framework (easier due to only one yolo-layer). And I realized that the learning curve was large for the darknet solution, atleast for my skillset. |
@dexception not yet |
I revised the code for rotating ROI detection, but angle is not correct. Can someone help me to correct it ? @AlexeyAB |
@zcrnudt which code did you revise? what is incorrect? it is completely unclear what do you ask. |
Add angle parameter to the model (x,y,w,h) as (x,y,w,h,a), but the angle cannot converge in training step.@dselivanov |
This is pending for last 1 year. Any progress ? |
@jamessmith90 task for whom? Feel free to contribute code, this is open source project. |
The fact that @BGA3 has not updated the code for rotation. |
@AlexeyAB , @dselivanov I have added rotation support in detection mode and make a pull request in this link but I would also like to implement this requested enhancement. As far as I looked in comments I can't find any fork that make progress on it, If there isn't any fork in this issue so I will deploy rotated bounding box from scratch.(I think in some tasks makes convergence faster and maybe better accuracy) It seems that we have to work on labeling procedure too. |
@robosina there is some relevant discussion here #4360 (comment). In our case we have great success with rotated boxes. We even submitted paper to ECCV this year but got "border reject" due to "not enough scientific novelty" (but at the same time I've seen so many bullshit papers accepted). However I haven't seen any serious attempts to implement it within darknet framework. Initially (~ 1.5 year ago) I've tried to do so but gave up as calculations related to the b-boxes are hardcoded in quite a lot of places. I'm not that comfortable with darknet codebase. |
@dselivanov Hi! I've read all discussions here about rotated bboxes, still haven't found worked solution. Trying to implement it by my own. As I understood you have some working solution on pytorch as shown at #4360. Could you please share some code how you did that or at least that public implementation I could get as starting point. It would be very helpfull for me, if I had it would match it with current C code and make a PR. |
@HFVladimir unfortunately I can't share code as it belongs to the company. But overall logic is described in #4360 - you need just to add one extra parameter for the angle.
We've tried |
Hi
This is not really an issue/bug, but more a request. Would it be possible to output rotated bounding boxes (non-axis alligned)? Would this be a huge change?
I have started looking into the code to implement this myself, however as I dont know the code the learning curve is quite steep.
Thx in advance
The text was updated successfully, but these errors were encountered: