Comments (9)
Thanks for your interests to our work! As mentioned in Section 3.3 of the paper, the lower and upper bounds of Tz are calcuated from the training dataset.
from sc6d-pose.
So you went through the training dataset and counted the max and min values, right?
I also read the paper DORN and I find some differences between DORN and SC6D.
- discretization of depth interval. DORN adapts spacing-increasing discretization while you adapt uniform discretization.
- loss function. DORN uses ordinal loss as while you use focal loss.
Could you tell me why do you make such changes?
from sc6d-pose.
So you went through the training dataset and counted the max and min values, right?
I also read the paper DORN and I find some differences between DORN and SC6D.
- discretization of depth interval. DORN adapts spacing-increasing discretization while you adapt uniform discretization.
- loss function. DORN uses ordinal loss as while you use focal loss.
Could you tell me why do you make such changes?
- I compute the min and max values of Tz based on the object-centric image crops, then discretize the Tz into uniform bins.
- As the target objects are usually distributed within a very limited range (e.g., < 2m), not like the case in DORN (>>2m), so uniform discretization should be fine in our case.
- I utilize the dynamic zoom-in strategy (as in CDPN, GDR-Net) to generate the object-centric images for training, and (Tz-) class labels are not uniformly distributed. Thus, I use FocalLoss to handle this unbalanced classification task.
from sc6d-pose.
So you went through the training dataset and counted the max and min values, right?
I also read the paper DORN and I find some differences between DORN and SC6D.
- discretization of depth interval. DORN adapts spacing-increasing discretization while you adapt uniform discretization.
- loss function. DORN uses ordinal loss as while you use focal loss.
Could you tell me why do you make such changes?
- I compute the min and max values of Tz based on the object-centric image crops, then discretize the Tz into uniform bins.
- As the target objects are usually distributed within a very limited range (e.g., < 2m), not like the case in DORN (>>2m), so uniform discretization should be fine in our case.
- I utilize the dynamic zoom-in strategy (as in CDPN, GDR-Net) to generate the object-centric images for training, and (Tz-) class labels are not uniformly distributed. Thus, I use FocalLoss to handle this unbalanced classification task.
Thank you. I'm still confused about the 3rd point. Indeed, focal loss is a good choice in the case of unbalanced data. But it ignores the labels' ranked structure, which might be import in my guess. Why not combine those two losses? Or my guess is wrong?
from sc6d-pose.
So you went through the training dataset and counted the max and min values, right?
I also read the paper DORN and I find some differences between DORN and SC6D.
- discretization of depth interval. DORN adapts spacing-increasing discretization while you adapt uniform discretization.
- loss function. DORN uses ordinal loss as while you use focal loss.
Could you tell me why do you make such changes?
- I compute the min and max values of Tz based on the object-centric image crops, then discretize the Tz into uniform bins.
- As the target objects are usually distributed within a very limited range (e.g., < 2m), not like the case in DORN (>>2m), so uniform discretization should be fine in our case.
- I utilize the dynamic zoom-in strategy (as in CDPN, GDR-Net) to generate the object-centric images for training, and (Tz-) class labels are not uniformly distributed. Thus, I use FocalLoss to handle this unbalanced classification task.
Thank you. I'm still confused about the 3rd point. Indeed, focal loss is a good choice in the case of unbalanced data. But it ignores the labels' ranked structure, which might be import in my guess. Why not combine those two losses? Or my guess is wrong?
In DORN, the task is to estimate the dense pixel-wise depth values, and thesee depth values usually have very strong ordinal correlations among each other (these values can be ordered). But in SC6D, we aim to estimate a single distance value to the object center (it does not make any sense to rank a single value).
from sc6d-pose.
Sorry for the late reply. I ran two experiments, one with an ordinal loss and the other with a focal loss. It seems that ordinal loss leads to better results than focal loss. Have you done these comparative experiments? Also, none of them are better than regressing Tz directly, which is different from your conclusion.
from sc6d-pose.
Thanks for your experiments! Would you mind sharing your experimental results? I didn't experiment with the ordinal loss, but in the ablation study, the classification-based result outperformed the regression-based one by a large margin on T-LESS (0.658 vs. 0.716).
from sc6d-pose.
Of course I don't mind. I ran 100k iterations on linemod to classify delta_tz in two experiments. The delta_tz loss is 0.02395 for the ordinal loss experiment and 0.04922 for the focal loss experiment. I also did an experiment with regressing delta_tz and its loss is 0.01874. Note that I'm not basing the experiment on your code, but on our own project, which is not yet open. But I don't think that changes the conclusion.
Have you tried your ablation study on linemod?
from sc6d-pose.
No, I haven't tried it on LineMOD. Note that I evaluated the performance based on the standard 6D pose metrics. However, you are comparing the delta_Tz training losses calculated from two different objective functions, which does not mean the performance of the regression-based one is better than the classification-based one.
from sc6d-pose.
Related Issues (6)
- Finetuning configuration HOT 2
- Question about position encoding HOT 1
- pXY loss not dropping HOT 2
- Finetuning setting HOT 4
- Licensing HOT 1
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 sc6d-pose.