tianweiy / CenterPoint

MIT License
1.88k stars 456 forks source link

How to train my own data using centerpoint (If I only have pcd_files and label_files)? Is there a easy way? #236

Open machengnan opened 2 years ago

tianweiy commented 2 years ago

not sure what is considered easy. Everything is hard for me when I started two years ago lol.

You can get some idea here https://github.com/tianweiy/CenterPoint/issues/56

You basically want to load your points here https://github.com/tianweiy/CenterPoint/blob/952f14b694970cb667d8e3fa00ab5ae0936fa164/det3d/datasets/pipelines/loading.py#L150

and load your boxes here

https://github.com/tianweiy/CenterPoint/blob/952f14b694970cb667d8e3fa00ab5ae0936fa164/det3d/datasets/pipelines/loading.py#L203

then you can use a simple cfg like this one https://github.com/tianweiy/CenterPoint/blob/master/configs/waymo/voxelnet/waymo_centerpoint_voxelnet_1x.py

you probably can remove the db_sampler (set it to None) at https://github.com/tianweiy/CenterPoint/blob/952f14b694970cb667d8e3fa00ab5ae0936fa164/configs/waymo/voxelnet/waymo_centerpoint_voxelnet_1x.py#L110

I think the hardest one is to make sure your label_files coordinate aligns with ours. Otherwise, you will need some conversion like https://github.com/tianweiy/CenterPoint/blob/952f14b694970cb667d8e3fa00ab5ae0936fa164/det3d/datasets/waymo/waymo_common.py#L267

This may require some trial and error or visualizations.

You can also use pretrained models if your dataset is small (e.g. Waymo).

Let me know if you have other detailed questions.