Giter VIP home page Giter VIP logo

Comments (4)

zhulf0804 avatar zhulf0804 commented on June 2, 2024

Hello @hongduc2307,

11 recall positions are calculated on validation set here.

Because sampling precisions every 4 intervals as follows, so "11" is hard-coded here.

PointPillars/evaluate.py

Lines 238 to 241 in a0e8af7

sums_AP = 0
for i in range(0, len(score_thresholds), 4):
sums_AP += precisions[i]
mAP = sums_AP / 11 * 100

For evaluation, we keep consistent with mmdet3d, as implemented in the following lines.

https://github.com/open-mmlab/mmdetection3d/blob/eb5a5a2d166d2d60dfbdffe63b925cb37a6541e3/mmdet3d/core/evaluation/kitti_utils/eval.py#L573-L577

from pointpillars.

hongduc2307 avatar hongduc2307 commented on June 2, 2024

@zhulf0804 Thank you for quick reply.

Yes I see your point here, but when I print len(score_thresholds) it is not always 41 so the loop size is not 11.

I see the score_thresholds could be taken from the following mmdet3d function. The third argument num_sample_pts=41 may not ensure that len(score_thresholds) is 41.

https://github.com/open-mmlab/mmdetection3d/blob/eb5a5a2d166d2d60dfbdffe63b925cb37a6541e3/mmdet3d/core/evaluation/kitti_utils/eval.py#L10

from pointpillars.

zhulf0804 avatar zhulf0804 commented on June 2, 2024

Yes, you are right.

P-R curve draws (precision, recall) point at the specific scores. However, the recall can't be 100% even if given a very small score. Just like the following figure, the highest recall is slightly higher than 0.8. So it's not always 41 or 11.
PR-Curve

from pointpillars.

hongduc2307 avatar hongduc2307 commented on June 2, 2024

@zhulf0804 Yes you're alright.

Now it's clear that the hard-code "11" should be changed depending on len(score_thresholds) so the result AP will change a bit.
Thank you so much for kind answers. This repo is a really great work.

from pointpillars.

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.