SamsungLabs / tr3d

[ICIP2023] TR3D: Towards Real-Time Indoor 3D Object Detection
Other
153 stars 10 forks source link

Question About S3DIS Dataset #26

Closed vinhle169 closed 8 months ago

vinhle169 commented 8 months ago

Hey, first off just wanted to say this is an amazing repo that is well-documented. I just have a question that I can't seem to find an answer for after looking through the code. In tr3d/data/s3dis/indoor3d_util.py and in tr3d/mmdet3d/datasets/s3dis_dataset.py it mentions how stairs as a class isn't included with valid_class_ids or how it is moved to the clutter class. Is there a reason for this? I am curious because it seems like for object detection a "stairs" object might be important. Also if I wanted to include the "stairs" class would I have to change the code and rebuild from this step (python collect_indoor3d_data.py) or is this something I can change in the config?
EDIT: Another question, for ignore index, does it always have to be len(class_names). What I mean is, if I write: class_names = ('ceiling', 'floor', 'wall', 'beam', 'column', 'window', 'clutter', 'door') and I want clutter to be the ignored index(7, 1-indexed) can I put ignore_index=7 or will it still be ignored_index=len(class_names) even though the last item in class_names is something I don't want to ignore. Or should I always just have 'clutter' as the last item in class_names so ignore_index can always be len(class_names)? Thank you so much for your time. image image

filaPro commented 8 months ago

Hi @vinhle169 , We just follow the S3DIS preprocessing from mmdetection3d, so use the same set of classes as other detection and instance segmentation methods on this benchmark.

Yes you need to modify collect_indoor3d_data.py, also the number of classes and their names in S3DISDataset, and the number of classes and their names in config file, and for the model classification layer. I think ignore_index is the number of classes.

vinhle169 commented 8 months ago

Ok thank you!