open-mmlab / mmdetection3d

OpenMMLab's next-generation platform for general 3D object detection.
https://mmdetection3d.readthedocs.io/en/latest/
Apache License 2.0
5.3k stars 1.54k forks source link

How to train with my own lidar dataset? #429

Closed minghaohsu410168 closed 3 years ago

minghaohsu410168 commented 3 years ago

Hello,

Thank you for the nice repo, I want to train with my custom lidar data (Velodyne VLP 16) for the PointPillars model, how could I label the object (People, Car) like Kitti dataset?

I have only a VLP 16 lidar and try not to have camera, how could I do? I have collected several .pcd file and can convert to .bin file

Tai-Wang commented 3 years ago

Please refer to #334 and #260 , or you can set the calib and image information to be something random.

minghaohsu410168 commented 3 years ago

Thank you for your quick reply,

But would you please tell me how to implement a dataset class or a data converter in detail? It means to create the kitti_converter.py with only velodyne and label information? Or are there any tutorial for reference?

minghaohsu410168 commented 3 years ago

@Tai-Wang, Set the calib and image information to be something random means I can set the two information to be 0 or other value if I don' t use it?

Tai-Wang commented 3 years ago

Yes, you can simply set them share the shape with those used in KITTI. Because you do not use them, I guess it can work well in your case.

Tai-Wang commented 3 years ago

Thank you for your quick reply,

But would you please tell me how to implement a dataset class or a data converter in detail? It means to create the kitti_converter.py with only velodyne and label information? Or are there any tutorial for reference?

Dataset class refers to files like this. It is the basic API to read the data and do evaluation. Data converter is those in tools/data_converter/ that is used to convert data to compact infos. You just need to implement these two or either of them to achieve a compatible data reader.

minghaohsu410168 commented 3 years ago

Yes, you can simply set them share the shape with those used in KITTI. Because you do not use them, I guess it can work well in your case.

So can I just replace the file in velodyne and label_2 dictionary to my own bin file and label file so that I can run create_data and train simply? Have you recommend some label tool to label my data like KITTI format?

Tai-Wang commented 3 years ago

You can have a try. I do not know exactly whether there will be any unexpected errors. As for the label tool, although I have done a related project, it is typically inconvenient to open source such tools because there are many commercial use about it. So I guess you need to find some paid services provided by those annotation companies if you would like to obtain high-quality labels.

minghaohsu410168 commented 3 years ago

Very thank you for your advice, it helped me a lot. I will try annotate my data first.

clytze0216 commented 3 years ago

Very thank you for your advice, it helped me a lot. I will try annotate my data first.

Hi@minghaohsu410168 Did you success to train with your own lidar dataset? Could I just replace the file in velodyne and label_2 dictionary to my own bin file and label file? Looking forward to your reply ! Thanks a lot!

Wuziyi616 commented 3 years ago

For those who are interested in annotation tools of LiDAR dataset, can have a look at this repo

INF800 commented 2 years ago

For those who are interested in annotation tools of LiDAR dataset, can have a look at this repo

+1 One of very good tools

INF800 commented 2 years ago

For those who are interested in annotation tools of LiDAR dataset, can have a look at this repo

@Wuziyi616 Can you help me with what to do once I generate annotation PCD file using the tool?

This is how my PCD file looks like.

VERSION .7
FIELDS x y z label object
SIZE 4 4 4 4 4
TYPE F F F I I
COUNT 1 1 1 1 1
WIDTH 49762
HEIGHT 1
POINTS 49762
VIEWPOINT 0 0 0 1 0 0 0
DATA ascii
2.7750001 3.0999999 10.42 0 -1
2.7750001 3.1099999 10.43 0 -1
2.7850001 3.1099999 10.43 0 -1
2.7750001 3.115 10.44 0 -1
2.7850001 3.1099999 10.47 0 -1
2.8 3.1199999 10.465 0 -1