EfficientPose icon indicating copy to clipboard operation
EfficientPose copied to clipboard

my custom dataset for multi object pose estimation

Open peppa114 opened this issue 3 years ago • 5 comments

Hi, I want to train my custom dataset using EfficientPose.But I have some problems. How can I get the files(mask_all , merged_masks) as shown below: 2021-07-20 14-23-12屏幕截图

What do 'rotation center extend' mean in the file: Linemod_preprocessed/data/02/valid_poses/ape 2021-07-20 14-40-57屏幕截图

peppa114 avatar Jul 20 '21 06:07 peppa114

Hi @peppa114,

I am sorry for the late answer. The "02" subdir is a special case because this is also the Occlusion dataset and so there is more data in it. If you want to use the Linemod generator and not the Occlusion generator for your custom dataset then you can ignore those additional files. But in case you want to use the Occlusion generator then you need the merged_masks and valid_poses subdir for your custom dataset. The merged_masks folder contains a single mask for all objects for every data example. Each object has a different mask value and can be identified with the name_to_mask_value dict in generators/occlusion.py. So, for your custom dataset you need to create such a mask in which each object category has its unique value and you also need to set this value in the mentioned name_to_mask_value dictionary.

The valid_poses is only used to get all annotations from occlusion that are actually valid. Because as far as I remember there were always ground truth annotations for all objects, even if an object was completely occluded and not visible at all. The only thing you need from these text files is the data example id in the last line (00000 in the example above). You can also look at the parse_valid_examples and parse_valid_example_id functions in generators/occlusion.py. But since this is actually more of a special case for the Occlusion annotations and you use your own custom dataset, it is possible that you do not need the valid_poses at all if you only have annotations for objects that are really contained in the image.

Sincerely, Yannick

ybkscht avatar Oct 05 '21 13:10 ybkscht

Hey @ybkscht , I understand that a marker board has been used to obtain labels for Linemod Dataset. But I see different R & T values in the occlusion dataset for different dishes in the same image. I wonder how they got different values with a single board. Any idea on this? Thanks.

0:
- cam_R_m2c: [0.79796083, 0.60237870, -0.02630684, 0.38035542, -0.53676251, -0.75330230, -0.46784284, 0.59102839, -0.65733923]
  cam_t_m2c: [183.63633301, -131.49685045, 1147.30061109]
  obj_bb: [397, 155, 32, 50]
  obj_id: 1
- cam_R_m2c: [-0.06894210, 0.99749202, -0.01604350, 0.69675398, 0.03663440, -0.71637398, -0.71398997, -0.06056670, -0.69753200]
  cam_t_m2c: [16.07958566, -104.70886953, 1030.66843587]
  obj_bb: [299, 143, 68, 119]
  obj_id: 2

satpalsr avatar Jun 07 '22 04:06 satpalsr

hello! I want to ask some questions about the production of datasets, can you give me some help? thanks

8umpk1n avatar Nov 12 '22 12:11 8umpk1n

@8umpk1n You can drop me a mail.

satpalsr avatar Nov 12 '22 15:11 satpalsr

Hi. I'm sorry to bother you. I am a beginner and my English is not very good, so I will make it short. I Efficientpose to train my data set, but encountered some problems during production. I first used ObjectDatasetTools to make RGB, Depth, mask and mesh.ply, but I could not get gt.yaml and modle.info.yaml. May I ask how you get these two data? It is mainly the internal parameter matrix of the camera and the corresponding rotation and shift matrix. Thanks!

------------------ 原始邮件 ------------------ 发件人: "Satpal Singh @.>; 发送时间: 2022年11月12日(星期六) 晚上11:52 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [ybkscht/EfficientPose] my custom dataset for multi object pose estimation (#31)

@8umpk1n You can drop me a mail.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

8umpk1n avatar Nov 13 '22 08:11 8umpk1n