luyh20 / FGC-GraspNet

ICRA 2022 "Hybrid Physical Metric For 6-DoF Grasp Pose Detection"
MIT License
43 stars 5 forks source link

关于论文复现的问题 #3

Open yaoyao-sourse opened 1 year ago

yaoyao-sourse commented 1 year ago

前辈您好,根据您分享的代码,我尝试对原文结果进行复现,但是复现的结果与原文出现了很大的差别。以下是我在kinect数据集上进行复现的结果。

result

在该代码运行之前,是否需要做一些额外的设置,根据我复现的结果,您可否给出一些我可能发生错误的猜测?恳请您给予一些建议。

luyh20 commented 1 year ago

首先check一下test的代码,mAP是各个AP的平均,你的结果mAP大于AP_0.3这是反常的。然后check一下数据集输入和标签,我论文里的测试结果是基于论文的Hybrid Physical Metric产生的标签。最后train,test,demo对label的处理有一点差异,check一下FGC_Graspnet的label的处理。如果需要的话,我可以把我的model发你邮箱。

yaoyao-sourse commented 1 year ago

首先check一下test的代码,mAP是各个AP的平均,你的结果mAP大于AP_0.3这是反常的。然后check一下数据集输入和标签,我论文里的测试结果是基于论文的Hybrid Physical Metric产生的标签。最后train,test,demo对label的处理有一点差异,check一下FGC_Graspnet的label的处理。如果需要的话,我可以把我的model发你邮箱。

感谢您的回复,我的邮箱是yao_hua_yang@163.com,烦请您将modle发至此邮箱。

另外:在您提供的graspnet_dataset.py第251行的代码,在graspnet-1Billion的代码中并没有该行代码。我知道您在载入标签时将原来的分数标签进行了替换,但是该行代码似乎是用于跳过某个模型的标签加载?我感觉这里可能会有问题。 code

stunback commented 1 year ago

首先check一下test的代码,mAP是各个AP的平均,你的结果mAP大于AP_0.3这是反常的。然后check一下数据集输入和标签,我论文里的测试结果是基于论文的Hybrid Physical Metric产生的标签。最后train,test,demo对label的处理有一点差异,check一下FGC_Graspnet的label的处理。如果需要的话,我可以把我的model发你邮箱。

感谢您的回复,我的邮箱是yao_hua_yang@163.com,烦请您将modle发至此邮箱。

另外:在您提供的graspnet_dataset.py第251行的代码,在graspnet-1Billion的代码中并没有该行代码。我知道您在载入标签时将原来的分数标签进行了替换,但是该行代码似乎是用于跳过某个模型的标签加载?我感觉这里可能会有问题。 code

应该是18号模型grasp labels点太多了,加载训练可能会爆显存

Sjey-Lyn commented 1 year ago

前辈,求个model,2735174868@qq.com

luyh20 commented 1 year ago

前辈,求个model,2735174868@qq.com

Realsense model's link,https://drive.google.com/file/d/1Y-CWHr_eZDoZm3XJocrUJq1SA5tfrONX/view?usp=sharing

TKroos18 commented 4 months ago

@luyh20 前辈您好,我也出现了类似的问题,对网络进行一些模块的改动之后,test.py计算出来的mAP远远大于AP0.3甚至是AP0.1,我发现是mAP似乎是遭到了AP数组中第一列(对应的是score_gap为0的情况)的影响,这一列基本都是远远超过了100,请问为什么在阈值中设置了一个0呢?

TKroos18 commented 4 months ago

@luyh20 前辈您好,我也出现了类似的问题,对网络进行一些模块的改动之后,test.py计算出来的mAP远远大于AP0.3甚至是AP0.1,我发现是mAP似乎是遭到了AP数组中第一列(对应的是score_gap为0的情况)的影响,这一列基本都是远远超过了100,请问为什么在阈值中设置了一个0呢?

似乎不只是我自己的模型,使用FGC-Graspnet和发布的权重mAP也出现了奇怪的情况,变成了80多

TKroos18 commented 4 months ago

我想我知道原因了,在今年3月份的改动中有人提出demo模式运行会报错,于是作者将FGC网络代码中, , _, end_points = match_grasp_view_and_label(end_points)这句话给注释掉了,但是实际上这将会对模型评估造成很大的影响,虽然没有报错,但是缺少了这句话将会导致AP计算出现错误(第一列将会远远超出100),比较合理的改动应该是设置为: if not self.is_demo: _, _, _, end_points = match_grasp_view_and_label(end_points)