Comments (7)
Hi,
The original code for paper was implemented under pytorch 1.1.0 (and only runnable under this version). We upgraded the code adaptive to new pytorch and pointnet++ to make it earlier for more users. The pre-trained weights were also retrained under the new pytorch and pointnet++ libs. There could be some differences, and you can see our claim here.
from rfdnet.
Thanks for the clarification! I didn't expect the difference to be this large.
And for the second question, I have tried to use conf_thresh = 0.8
, but still got 3179
mesh proposals per category. Is this a normal behaviour to have so many false positives?
from rfdnet.
Hi,
For each bbox proposal, we predict a shape correspondingly. so actually the number of box proposals and mesh proposals are equal. For the detection part, we followed the architecture of votenet. Maybe you can refer to their code for the false positives problem.
Hope this addressed your questions.
from rfdnet.
Hi,
After checking the code again, I think there is a mistake in the online evaluation code, which causes the abnormal number of FPs.
The online evaluation code seems to repeatedly use the same mesh proposal for 8 classes, even if the network has predicted the class of the mesh (and use the class code to generate the mesh).
# i = batch_id, ii = label, j = proposal_id
# e.g., we already know proposal j is table, but this line will add it repeatedly as table, chair, sofa, ..., for evaluating mAP.
sample_idx = [(ii, j) for ii in range(config_dict['dataset_config'].num_class) for j in range(N_proposals) if pred_mask[i, j] == 1 and obj_prob[i, j] > config_dict['conf_thresh']]
which in my opinion should be:
sem_cls_preds = sem_cls_probs.argmax(2) # add earlier for convenience
# e.g., only add proposal j as table for evaluating mAP.
sample_idx = [(sem_cls_preds[i, j], j) for j in range(N_proposals) if pred_mask[i, j] == 1 and obj_prob[i, j] > config_dict['conf_thresh']]
This will also speed up the evaluation greatly since the total number of the proposals processed is divided by 8.
from rfdnet.
@yinyunie Looking forward to your reply. This can be helpful to follow your work.
from rfdnet.
Hi, thanks for your comments.
For the mAP calculation, we followed the eval code from votenet. The philosophy here is to assign each predicted proposal box with the corresponding mesh. The number of meshes should be equal to the number of box proposals. In votenet, they also used the same box proposal for all classes in evaluation, in case they need to calculate AP score for each class. could you please check: https://github.com/facebookresearch/votenet/blob/2f6d6d36ff98d96901182e935afe48ccee82d566/eval.py#L41
and their evaluation argument:
python eval.py --dataset scannet --checkpoint_path log_scannet/checkpoint.tar --dump_dir eval_scannet --num_point 40000 --cluster_sampling seed_fps --use_3d_nms --use_cls_nms --per_class_proposal
Hope this helps you.
Best regards,
Yinyu
from rfdnet.
Hi,
So this is an intended behaviour. Thanks a lot!
from rfdnet.
Related Issues (17)
- ChamferDistance HOT 2
- demo executed fail HOT 2
- Demo is not executing successfully
- How to use custom dataset?
- Processed ShapeNet_data's link had been invalid HOT 2
- ShapeNetv2_data download error HOT 3
- Preprocess data download error HOT 2
- 请问您提供的预训练模型可以在ShapeNetv2数据集上使用吗? HOT 2
- 为什么 demo/output/scene0549_00 下的所以mesh 文件打开都是相同的,都是沙发呢?
- Project not building HOT 2
- Missing file external.pointnet2.pytorch_utils HOT 2
- ShapeNetv2_data/watertight_scaled preprocessed ScanNet data not provided HOT 1
- distutils.errors.DistutilsPlatformError: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools" HOT 2
- how to label custom datasets?eg.use what software?
- 这个环境有问题啊,按照readme,装不起来根本, HOT 3
- Same data for validation set and testing set 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 rfdnet.