luyh20 / FGC-GraspNet

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

请问如何自己生成FGC网络的标签呀 #12

Open pange1802703882 opened 3 months ago

pange1802703882 commented 3 months ago

您好,感谢您出色的工作。 请问我在Graspnet-1-billion的数据集之外重新生成了一批自有的数据集。请问我如何对这批新的数据集生成FGC的标签,我看您提供了FGC_generate的文件夹,但是没有指明具体怎么使用...

luyh20 commented 3 months ago

生成grasp pose的score label首先需要两个基本数据,object model的点云,以及在object model上生成的grasp pose几何参数。拿到这些参数可以计算FGC的标签。抱歉我当时没有整理label generate的code,FGC_generate里面的code比较乱,main function在FGC_generate/score_gen_mp的contact_find()。

pange1802703882 commented 3 months ago

请问是先用FGC_generate/score_gen_mp的contact_find()生成,然后再使用FGC_generate/score_allocation.py汇总前面生成的结果吗?

pange1802703882 commented 3 months ago

您好,我发现FGC_generate/score_allocation.py中还使用了s5 = np.load(os.path.join(root, 'score5', '{}_labels.npz'.format(str(i).zfill(3)))) 这个应该是用FGC_generate/score_gen_mp的save_score5()生成的吧? 那就是用FGC_generate/score_allocation.py汇总得到最终的结果,需要contact_find()和savescore5()两步骤? 您看我理解的对吗 ^^

luyh20 commented 3 months ago

是的,score2对应原文中gravity(S_g),score3和score4对应原文中的flatness(S_f1和S_f2),score5对应原文中的collision(S_c)。

pange1802703882 commented 3 months ago

感谢您的回复^_^

pange1802703882 commented 3 months ago

请问您生成的这个scores, 我发现在生成的时候您采用了scores = 1.1 - fric_coefs, 同时在utils/label_generation.py的第109行您注释了 #batch_grasp_labels[label_mask] = torch.log(u_max / batch_grasp_labels[label_mask]), 那就是您这个scores是越大越好, 而原始的graspnet的score是越小越好,我的理解正确吗 ?

luyh20 commented 3 months ago

scores = 1.1 - fric_coefs是原GraspNet-1Billion数据集里的评分机制,fric_coefs是摩擦力系数,需要使用更大的摩擦力系数抓握说明抓握姿势的得分更差。