GithubHelp home page GithubHelp logo

Comments (4)

monniert avatar monniert commented on June 8, 2024 1

That's a good point. From what I observed, there is indeed some noise in the number of primitives contributing to the scene but nothing unrealistic. For example for the BlendeddMVS scene of the egg, it can sometimes be reconstructed with 2 or 3 primitives, with one sphere at the bottom and another small ellipsoid to reconstruct the top.

However, as stated in the paper, we observed that the training rendering loss was a good proxy to automatically select the good run amond severals ones.

Closing the issue, feel free to reopen if needed!

from differentiable-blocksworld.

monniert avatar monniert commented on June 8, 2024

Hi @ktertikas thanks for reaching out!

Compared to standard Pytorch3d mesh renderer, we modify two things:

1. Softmax blending > Alpha-compositing blending

We propose a new formulation in our previous work UNICORN on SVR because we observed that pytorch3d simply does not work when learning geometry from RGB rendering comparisons only (they use silhouettes to make it work). You can have a look at appendix A for why this is happening, but basically the standard softmax RGB blending formulation prevents gradient from flowing to the occupancy maps, which is necessary to update geometry. We raised an issue with working examples in pytorch3d repo showing that our alpha-compositing blending function make the learning work with RGB comparisons.

2. Adding mesh transparency values

We incorporate transparency values inside the blending function to be able to model a variable number of meshes in a differentiable manner, by simply setting some mesh transparency values to 0. This is our proposed solution to optimize over the number of meshes in a differentiable manner, other solutions typically imply reinforcement learning or greedy algorithms which are difficult to handle.

Let me know if this makes sense!

from differentiable-blocksworld.

ktertikas avatar ktertikas commented on June 8, 2024

Hey @monniert , thanks for the great explanation!

I was not aware of the gradient issues on the current Pytorch3D Renderer, thanks for letting me know!

Re the transparency values, from my experience experimenting with parsimony losses similar to your proposed loss, the number of primitives that eventually contribute to the scene (alpha > 0.5) is quite noisy, and can even change significantly on different runs of the same scene (different seed per run). Did you experience something similar in your work?

Best,
Konstantinos

from differentiable-blocksworld.

ktertikas avatar ktertikas commented on June 8, 2024

Great, thanks for the help and the insights!

from differentiable-blocksworld.

Related Issues (7)

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.