ethnhe / FFB6D

[CVPR2021 Oral] FFB6D: A Full Flow Bidirectional Fusion Network for 6D Pose Estimation.
MIT License
295 stars 72 forks source link

Evaluating on the LineMOD Dataset,“TypeError: must be real number, not list” #50

Closed d-serafly closed 2 years ago

d-serafly commented 2 years ago

When I evaluate LineMOD by sh test_lm.sh, I have met this question.

kps_pth in get_kps: datasets/linemod/kps_orb9_fps/ape_8_kps.txt loss_rgbd_seg 0.0031760090761374505 loss_kp_of 0.48176388206936066 loss_ctr_of 0.038992881453817796 loss_all 0.527108782359532 loss_target 0.527108782359532 acc_rgbd 99.66883713858469 obj_id: 1 0.1 diameter: 0.010209865663 1 ape add auc: 64.65965404030123 adds auc: 87.38284107699322 add(-s) auc: 64.65965404030123 add < 0.1 diameter: 1.5238095238095237 ***adds < 0.1 diameter: 85.90476190476191 Traceback (most recent call last): File "train_lm.py", line 694, in train() File "train_lm.py", line 676, in train test_loader, is_test=True, test_pose=args.test_pose File "train_lm.py", line 413, in eval_epoch seg_resfn += '%s%.2f' % (k, v) TypeError: must be real number, not list

There anyone else have the some question? Or can help me solve this question. Please! thanks a lot!

Theopetitjean commented 2 years ago

Hey! I have the same problem than you. We tried to replicates the results by just running the code without changing anything on it. We obtain the following result:

kps_pth in get_kps: datasets/linemod/kps_orb9_fps/ape_8_kps.txt loss_rgbd_seg 0.002694820675089778 loss_kp_of 0.4796774632306326 loss_ctr_of 0.037936181447335654 loss_all 0.5230032857826777 loss_target 0.5230032857826777 acc_rgbd 99.71056330771674 obj_id: 1 0.1 diameter: 0.010209865663 1 ape add auc: 63.393883012269 adds auc: 90.00338269221461 add(-s) auc: 63.393883012269 add < 0.1 diameter: 2.1904761904761907 ***adds < 0.1 diameter: 85.90476190476191

Use time: 422.245965719223 s

We can see a similarity on add 0.1 diameters metric that collapse to 1,xx

Did you fix it? We have been able to remove the "TypeError: must be real number, not list" issues but are still unable to recreate similar result with the code The only warning I still get in the code is: No Module Named 'syncbn' and the rest of the code look like it is clean

Have you a way to fix this problem? Do you have any idea from where it could come from? Thanks in advance for your help

d-serafly commented 2 years ago

Hey! I have the same problem than you. We tried to replicates the results by just running the code without changing anything on it. We obtain the following result:

kps_pth in get_kps: datasets/linemod/kps_orb9_fps/ape_8_kps.txt loss_rgbd_seg 0.002694820675089778 loss_kp_of 0.4796774632306326 loss_ctr_of 0.037936181447335654 loss_all 0.5230032857826777 loss_target 0.5230032857826777 acc_rgbd 99.71056330771674 obj_id: 1 0.1 diameter: 0.010209865663 1 ape add auc: 63.393883012269 adds auc: 90.00338269221461 add(-s) auc: 63.393883012269 add < 0.1 diameter: 2.1904761904761907 ***adds < 0.1 diameter: 85.90476190476191

Use time: 422.245965719223 s

We can see a similarity on add 0.1 diameters metric that collapse to 1,xx

Did you fix it? We have been able to remove the "TypeError: must be real number, not list" issues but are still unable to recreate similar result with the code The only warning I still get in the code is: No Module Named 'syncbn' and the rest of the code look like it is clean

Have you a way to fix this problem? Do you have any idea from where it could come from? Thanks in advance for your help

The first question can refer to the preparation of the LineMOD dataset in README.md. "Generate rendered and fused data following raster_triangle." And normal results can be obtained after retraining.

Is the second question just a warning? Due to version issues, I also have a similar warning here, but it does not affect the code running. Just like follows: Warning: using Python fallback for SyncBatchNorm, possibly because apex was installed without --cuda_ext.

Theopetitjean commented 2 years ago

Do you think that the differences in the metrics come from the lak or raster-triangle rendering ? Is adding thoses raster triangle are able to fix the add<0.1 diameter issue ? as i quoted just here https://github.com/ethnhe/FFB6D/issues/62

d-serafly commented 2 years ago

Do you think that the differences in the metrics come from the lak or raster-triangle rendering ? Is adding thoses raster triangle are able to fix the add<0.1 diameter issue ? as i quoted just here #62

Using the augmented dataset, I got the results described in the paper. So I think the extended rendering dataset is helpful to improve the estimation accuracy of asymmetric targets, but the time and space cost also increases a lot. Hope this helps you.

Theopetitjean commented 2 years ago

Thanks a lot for that i'm gonna try it the same way.

HannahHaensen commented 2 years ago

Hey! I have the same problem than you. We tried to replicates the results by just running the code without changing anything on it. We obtain the following result:

kps_pth in get_kps: datasets/linemod/kps_orb9_fps/ape_8_kps.txt loss_rgbd_seg 0.002694820675089778 loss_kp_of 0.4796774632306326 loss_ctr_of 0.037936181447335654 loss_all 0.5230032857826777 loss_target 0.5230032857826777 acc_rgbd 99.71056330771674 obj_id: 1 0.1 diameter: 0.010209865663 1 ape add auc: 63.393883012269 adds auc: 90.00338269221461 add(-s) auc: 63.393883012269 add < 0.1 diameter: 2.1904761904761907 ***adds < 0.1 diameter: 85.90476190476191

Use time: 422.245965719223 s

We can see a similarity on add 0.1 diameters metric that collapse to 1,xx

Did you fix it? We have been able to remove the "TypeError: must be real number, not list" issues but are still unable to recreate similar result with the code The only warning I still get in the code is: No Module Named 'syncbn' and the rest of the code look like it is clean

Have you a way to fix this problem? Do you have any idea from where it could come from? Thanks in advance for your help

@Theopetitjean how did you fix the error I also got this for ycb?

HannahHaensen commented 2 years ago

Hey! I have the same problem than you. We tried to replicates the results by just running the code without changing anything on it. We obtain the following result:

kps_pth in get_kps: datasets/linemod/kps_orb9_fps/ape_8_kps.txt loss_rgbd_seg 0.002694820675089778 loss_kp_of 0.4796774632306326 loss_ctr_of 0.037936181447335654 loss_all 0.5230032857826777 loss_target 0.5230032857826777 acc_rgbd 99.71056330771674 obj_id: 1 0.1 diameter: 0.010209865663 1 ape add auc: 63.393883012269 adds auc: 90.00338269221461 add(-s) auc: 63.393883012269 add < 0.1 diameter: 2.1904761904761907 ***adds < 0.1 diameter: 85.90476190476191

Use time: 422.245965719223 s

We can see a similarity on add 0.1 diameters metric that collapse to 1,xx

Did you fix it? We have been able to remove the "TypeError: must be real number, not list" issues but are still unable to recreate similar result with the code The only warning I still get in the code is: No Module Named 'syncbn' and the rest of the code look like it is clean

Have you a way to fix this problem? Do you have any idea from where it could come from? Thanks in advance for your help

Hey how have you fixed it? https://github.com/ethnhe/FFB6D/issues/78 can you have a look at my issue and provide some help?