Giter VIP home page Giter VIP logo

Comments (6)

zhan-xu avatar zhan-xu commented on August 13, 2024
  1. cosine similarity is used to filter points that close to each other in Euclidean space but actually not close on surface. Assume one point on left leg and the other on right left -- they can be close , but their normal will be opposite.
  2. it is just parameter you can tune. It depends on your sampling density.

from rignet.

yorard123 avatar yorard123 commented on August 13, 2024

Hi! Thanks for your answer. I still have some doubts.
1)
a)

cosine similarity is used to filter points that close to each other in Euclidean space but actually not close on surface. Assume one point on left leg and the other on right left -- they can be close , but their normal will be opposite.

Then, what you do is compute the cosine similarity between the normal vector of the current point and the normals of each neighbour, isn't it?

b)
About that I have a doubt here:
nn_p = nn_p[cos_similar > -0.5]
Why do you just take the values larger than -0.5?

it is just parameter you can tune. It depends on your sampling density.

Do you have any idea of the factor you will use if you increment the sampling density? Imagine you increase the number of points to 6k. Which value should be used?

Thank you so much for your attention!

from rignet.

zhan-xu avatar zhan-xu commented on August 13, 2024

1 yes I am computing the cosine similarity. -0.5 (meaning the angling between normals are smaller than 120 degree) is also a parameter that you can tune. This is based on our previous experiments.
2. i would say the best way to determine this is by visualization. Check whether non-geodesic neighbors are picked by a radius. Note there won't be a perfect value -- even 1, when legs overlap, incorrect neighbors will still be picked.
If you increase to 6K, you can still use 5. That means you are being conservative -- only trust 5 closest ones. Dijkstra will take care of long-range distance.

from rignet.

yorard123 avatar yorard123 commented on August 13, 2024

About the 5 closest vertices. I'm assuming that you are doing that because you are trying to create the initial paths for the Dijkstra algorithm, is that right? I assume that all that process is to make the algorithm more efficient, isn't it? Because you could use the dijkstra algorithm directly to the mesh.

from rignet.

zhan-xu avatar zhan-xu commented on August 13, 2024

yes

from rignet.

yorard123 avatar yorard123 commented on August 13, 2024

Thanks!

from rignet.

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.