Giter Site home page Giter Site logo

Comments (8)

sarafridov avatar sarafridov commented on August 16, 2024 3

We did plane visualization by averaging over the feature dimension, and plotting as a grayscale image. This is sufficient for figuring out the right dimensions for the bbox (and how to allocate resolution among the planes).

from k-planes.

sarafridov avatar sarafridov commented on August 16, 2024 2

You can set the bbox by changing it in the config file you're using, but the best values depend on the data. If you have an unbounded scene where you are using scene contraction (e.g. our Phototourism configs), then the bbox should be -2 to 2 in each dimension. If you have a bounded scene or forward-facing scene then there is some manual tuning to choose a bounding box; making it tighter will increase effective resolution, but too tight and you'll cut something off. One way you can do the tuning is to train for a bit and then visualize the planes, and then you can tell if you are using the dimensions effectively and make any adjustments. Note also that even for a scene with contraction, you'll get the best performance if you make sure the scene is centered and scaled so that it uses most of the planes; you can tune these with "global_scale" and "global_translation" parameters in the config.

from k-planes.

SunghwanHong avatar SunghwanHong commented on August 16, 2024

Hi, how did you visualize the planes? I'm thinking of how TensoRF visualized its planes. What approach did you use?

from k-planes.

SunghwanHong avatar SunghwanHong commented on August 16, 2024

Thanks for the answers!
But I'm quite confused by what you mean by "how to allocate resolution among the planes". Can you explain what you meant?

from k-planes.

Giodiro avatar Giodiro commented on August 16, 2024

Normally you should see recognizable parts of your scene on the planes. If a large part of the plotted planes (say the left half) appears to be noise instead of parts of the scene, then you can reduce the bbox in the relevant dimension.
So you can start with a large bbox, then plot and noting which parts of the planes are just noise, you can find out how to reduce the bbox size.

from k-planes.

sarafridov avatar sarafridov commented on August 16, 2024

Right, so you can adjust the bbox based on which parts of the planes are used, and you can separately adjust the resolution in each dimension to match the desired aspect ratio. For example, the Trevi fountain scene is wider than it is tall, so you can adjust the x resolution to be higher than the y resolution.

from k-planes.

Mariusmarten avatar Mariusmarten commented on August 16, 2024

I am facing a similar problem with my own data, but I am not sure whether the scene_bbox is the problem. Could scaling problems also result from x,y,z coordinates that are not centered or not properly normalized? Is there an easy way to check for this?

from k-planes.

sarafridov avatar sarafridov commented on August 16, 2024

Yes, it does help if the scene is centered around the origin in the world coordinates (corresponding to the center of the planes). For example, for the Phototourism dataset we manually found a global translation and scaling in x, y, z for each scene (e.g. https://github.com/sarafridov/K-Planes/blob/main/plenoxels/configs/final/Phototourism/trevi_explicit.py#L11) based on visualizing the planes and adjusting until the scene is centered and roughly fills the planes.

from k-planes.

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.