Giter VIP home page Giter VIP logo

Comments (11)

yijingru avatar yijingru commented on July 17, 2024

I didn't remove the negative images from the output of image split algorithms. For center+wh+theta, I used the same training skills and architectures except for the output branches for a fair comparison.

from bbavectors-oriented-object-detection.

Fly-dream12 avatar Fly-dream12 commented on July 17, 2024

I also wonder how to adopt CenterNet by adding an extra angle prediction branch, could you mention the code of this part?
Thanks @ yijingru @Tarazed

from bbavectors-oriented-object-detection.

yijingru avatar yijingru commented on July 17, 2024

Change heads in the main.py:

    heads = {'hm': num_classes[args.dataset],
             'wh': 2,
             'reg': 2,
             'angle': 1
             }

and change the ground-truth accordingly (wh is the width and height of the box, angle \in [-90,0) is theta in Fig1a, note ground-truth theta is already calculated in datasets/base.py. I used SmoothL1 loss for angle regression.

from bbavectors-oriented-object-detection.

Tarazed avatar Tarazed commented on July 17, 2024

Change heads in the main.py:

    heads = {'hm': num_classes[args.dataset],
             'wh': 2,
             'reg': 2,
             'angle': 1
             }

and change the ground-truth accordingly (wh is the width and height of the box, angle \in [-90,0) is theta in Fig1a, note ground-truth theta is already calculated in datasets/base.py. I used SmoothL1 loss for angle regression.

I have found a strange phenomenon: when I used the 3rd channel of 'wh' head to predict angle, I got 0.636 of mAP, but when I used an extra branch to predict angle as you said, I got 0.530 mAP... I set the random seed to 0, the performance of which is a little bit lower than random seed. I'm confused as extra branch should be better.

from bbavectors-oriented-object-detection.

yijingru avatar yijingru commented on July 17, 2024

Maybe training loss matters. I used weighted loss asloss = hm_loss + wh_loss + off_loss + 0.1*angle_loss. The multi-tasks are hard to optimize sometimes. But we do see the angle is hard to learn for the network.

from bbavectors-oriented-object-detection.

Tarazed avatar Tarazed commented on July 17, 2024

Maybe training loss matters. I used weighted loss asloss = hm_loss + wh_loss + off_loss + 0.1*angle_loss. The multi-tasks are hard to optimize sometimes. But we do see the angle is hard to learn for the network.

That's awesome! The loss weight of multi-task can significantly affect the results! After changing the weight of angle_loss, I got 0.68mAP! Thank you very much!

from bbavectors-oriented-object-detection.

yijingru avatar yijingru commented on July 17, 2024

Maybe training loss matters. I used weighted loss asloss = hm_loss + wh_loss + off_loss + 0.1*angle_loss. The multi-tasks are hard to optimize sometimes. But we do see the angle is hard to learn for the network.

That's awesome! The loss weight of multi-task can significantly affect the results! After changed the weight of angle_loss, I got 0.68mAP! Thank you very much!

My pleasure.

from bbavectors-oriented-object-detection.

yingyu13 avatar yingyu13 commented on July 17, 2024

i also want to know the loss weight of multi-task of 0.68mAP, can you share it? thanks very much! @Tarazed

from bbavectors-oriented-object-detection.

Tarazed avatar Tarazed commented on July 17, 2024

i also want to know the loss weight of multi-task of 0.68mAP, can you share it? thanks very much! @Tarazed

just the same as what the author replied, loss = hm_loss + wh_loss + off_loss + 0.1*angle_loss

from bbavectors-oriented-object-detection.

18804601171 avatar 18804601171 commented on July 17, 2024

@Tarazed 请问用原始的centernet加一个额外的角度,除了main.py,还需要修改哪里嘛

from bbavectors-oriented-object-detection.

Tarazed avatar Tarazed commented on July 17, 2024

@Tarazed 请问用原始的centernet加一个额外的角度,除了main.py,还需要修改哪里嘛

Change the ground-truth accordingly in base.py

from bbavectors-oriented-object-detection.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.