Code Monkey home page Code Monkey logo

Comments (2)

matteorr avatar matteorr commented on June 26, 2024 1

That happens in the _find_kpt_errors function. In particular:

  • Lines 326-346: The different type of localization error is identified for each individual keypoint in the specific detection being analyzed. Issue #2 contains additional details that might help you further understand.

  • Lines 348-376: Based on the type of error identified for each keypoint an update is performed to its x and y coordinates so that the KS of that keypoint is increased.

A few key observations:

  1. For a specific keypoint (i.e. left-eye, right-knee, etc.), the KS between a predicted keypoint location and the ground-truth location is the same over all possible coordinates with a fixed radial distance from the ground-truth location. I.e. if a prediction x is 5 pixels away from the ground-truth location o, it doesn't matter if it's to its left (x-o) or right (o-x), the KS will be the same. For that reason, when correcting a keypoint, I only adjust its x coordinate and leave the y coordinate the same as in the original prediction. This is arbitrary, and has no bearing whatsoever on the final result.

  2. A keypoint can be in one and only one category between miss, swap, inversion, jitter, and good. This is fundamental for the working of the analysis because the corrected location must be unique. The variables good_kpts, jitt_kpts, miss_kpts, swap_kpts, inv_kpts are masks with dimension 17 (total number of keypoints) and never have overlap.

  3. If a keypoint prediction is good its coordinates are not corrected. In fact, the mask good_kpts multiplies the original x coordinates of the detection and those values are assigned to the new corrected keypoint coordinates.

  4. If a keypoint prediction is miss its coordinates are corrected by putting the new coordinates at a distance from the ground-truth location that has KS=0.5.

  5. If a keypoint prediction is jitter its coordinates are corrected by putting the new coordinates at a distance from the ground-truth location that has KS=0.85.

  6. If a keypoint prediction is inversion or swap its coordinates have a KS>=0.5 but with the wrong ground-truth (belonging to the same person in the case of inversion, or a different one in the case of swap). These errors are corrected by putting the new coordinates at a distance from the correct ground-truth location that has the same KS value that the previous prediction had with the wrong ground-truth.

Feel free to re-open the issue if you have further questions.

from coco-analyze.

H19012 avatar H19012 commented on June 26, 2024

Thank you very much.

from coco-analyze.

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.