Comments (2)
I'll answer the second question first. Yes, these rotations are sampled from a uniform distribution over SO(3).
For the first question, let me elaborate on that. (Just in case of confusion from overridden terms, I will put quotes around "grid" when I'm referring to the "grid" mode; otherwise I'm using the term—grid—to simply denote a discretization of SO(3) of shape [num, 3, 3]
in our code.)
A little background context:
- The "grid" mode will generate an equivolumetric grid over SO(3), which is deterministic and perfectly even over SO(3). The "random" mode samples a given number of rotations from a uniform distribution over SO(3). If the number is sufficiently large, either mode is expected to provide a decent discretization of SO(3).
- Whenever we are predicting the probability of an arbitrary rotation, we will rotate the grid to align with the input rotation so that one rotation from that grid is exactly the input rotation. And then we will query the network with rotations from that grid and normalize the outputs to get the probabilities.
Now if we choose the "grid" mode during training, for each training sample, its probability is normalized over the same grid. This will not be a problem if:
- the number of training samples is sufficiently large;
- the distribution of rotations in the training samples is sufficiently even across SO(3).
However, these conditions might not always hold true because the line for "sufficiently" is fairly blurry. Under those circumstances, you can imagine it's theoretically possible that the probabilities of rotations outside those grids are out of control and can be a troublemaker when we sample during testing.
If we use the "random" mode, for each training sample, the probability is normalized over different grids of rotations, which effectively helps smooth the probabilistic distribution over SO(3).
When we sample from GraspIPDF, we use a pre-generated grid under the "grid" mode for efficiency.
I hope I have delivered my points clearly. Feel free to follow up in this issue otherwise!
from unidexgrasp.
Thanks a lot for the detailed explanation. I fully understand it now.
from unidexgrasp.
Related Issues (20)
- Joint training in grasp generation HOT 8
- Distilled policy student model checkpoint
- Provided checkpoint model is inconsistent with the latest code HOT 8
- "It seems that I'm missing some utility files related to 'data'." HOT 2
- CSDF ---identifier "CHECK_EQ" is undefined HOT 3
- The error "ValueError: num_samples should be a positive integer value, but got num_samples=0" occurs during data loading. HOT 1
- I have a question about training time HOT 2
- The code for the Dataset Generation HOT 2
- Possible Bug in pointcloud observation. HOT 1
- Question about object data. HOT 2
- Will you finished the dex_generation part? HOT 1
- Question about data HOT 1
- good
- Dataset issues HOT 17
- [Error] [carb.gym.plugin] Gym cuda error: out of memory: ../../../source/plugins/carb/gym/impl/Gym/GymPhysX.cpp: 1721 HOT 15
- Questions about the code in dex_dataset.py. HOT 3
- Pre-trained Checkpoints HOT 4
- Bad allocate and PyTorch.cannot allocate memory HOT 8
- seemed missed a file /algo/pn_utils/maniskill_learn/utils/data HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from unidexgrasp.