Skip to content
This repository has been archived by the owner on Jun 12, 2023. It is now read-only.

How to train on custom synthetic dataset? #68

Open
mikkeljakobsen opened this issue Nov 16, 2020 · 4 comments
Open

How to train on custom synthetic dataset? #68

mikkeljakobsen opened this issue Nov 16, 2020 · 4 comments
Assignees
Labels
question Further information is requested

Comments

@mikkeljakobsen
Copy link

Hi,

I would like to train MoreFusion on my own synthetic dataset of boxes. I've generated my dataset using BlenderProc and I have ground truth instance masks and 6D poses for the boxes. An example train image from my generated data is shown below:
image
I managed to train Mask R-CNN so it generalizes to real images to some extend. But I need to do full 6D pose estimation.

So my question is: do you think it would be possible to succesfully train MoreFusion on my own custom synthetic data as described above? And what would I need to do in order to adapt the training script to custom data?

Best regards, Mikkel

@wkentaro
Copy link
Owner

To train the 6D pose estimation model, we need the below information, which probably you can extract from Blender.

instance_ids=instance_ids,
class_ids=class_ids,
rgb=frame["color"],
depth=frame["depth"],
instance_label=frame["label"],
intrinsic_matrix=frame["meta"]["intrinsic_matrix"],
T_cam2world=T_cam2world,
Ts_cad2cam=Ts_cad2cam,

For the actual training, you need to create your custom dataset class similar to the below.

class YCBVideoRGBDPoseEstimationDataset(RGBDPoseEstimationDatasetBase):

And use it in the train.py script.
https://github.com/wkentaro/morefusion/blob/master/examples/ycb_video/singleview_3d/train.py

@wkentaro wkentaro self-assigned this Nov 19, 2020
@wkentaro wkentaro added the question Further information is requested label Nov 19, 2020
@alanxuefei
Copy link

alanxuefei commented Feb 23, 2021

In ./singleview_3d/train.py, YCBVideoRGBDPoseEstimationDatasetReIndexed is used.
YCBVideoRGBDPoseEstimationDatasetReIndexed uses the sample data 1 as below.
in_data
The above datasets is generated from the sample data 2 as below via MyRealRGBDPoseEstimationDataset
rosdatacollection
The sample data 2 may be collected via data_collection_server.py.

Questions:

  • How does these sample data 2 generated?

@hz-ants
Copy link

hz-ants commented Jul 23, 2021

@ mikkeljakobsen @alanxuefei Hi,have you completed the project task of multiple instances of similar objects?Can you share your successful experience,thank you!

@mikkeljakobsen
Copy link
Author

@ mikkeljakobsen @alanxuefei Hi,have you completed the project task of multiple instances of similar objects?Can you share your successful experience,thank you!

Sorry, I didn't manage to train MoreFusion on my own data.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

4 participants