visualize ParisLille3D
- Dominant language
- Python
- Stars
- 2.3k
- Forks
- 365
- Avg merge
- 4h 6m
- Merged PRs (30d)
- 1
Description
### Checklist
- [X] I have searched for [similar issues](https://github.com/isl-org/Open3D-ML/issues).
- [X] I have tested with the [latest development wheel](http://www.open3d.org/docs/latest/getting_started.html#development-version-pip).
- [X] I have checked the [release documentation](http://www.open3d.org/docs/release/) and the [latest documentation](http://www.open3d.org/docs/latest/) (for `master` branch).
### Describe the issue
I am trying to visualize parislille3d data, the code identifies the presence of the dataset, but does not visualise it.
### Steps to reproduce the bug
```python
import os
import glob
import open3d.ml.tf as ml3d
import open3d.ml as _ml3d
from open3d.ml.tf.models import KPFCNN
from open3d.ml.tf.pipelines import SemanticSegmentation
# construct a dataset by specifying dataset_path
dataset = ml3d.datasets.ParisLille3D(dataset_path='/home/jarvis/Open3D-ML/data/Paris_Lille')
# get the 'validation' split that combines validation
validation_split = dataset.get_split('validation')
# print the attributes of the first datum
print(validation_split.get_attr(0))
# print the shape of the first point cloud
print(validation_split.get_data(0)['point'].shape)
# show the first 100 frames using the visualizer
vis = ml3d.vis.Visualizer()
vis.visualize_dataset(dataset, 'validation', indices=range(100))
```
### Error message
INFO - 2022-05-02 13:35:44,460 - parislille3d - Found 1 pointclouds for validation
{'idx': 0, 'name': 'Lille2', 'path': '/home/jarvis/Open3D-ML/data/Paris_Lille/training_10_classes/Lille2.ply', 'split': 'validation'}
INFO - 2022-05-02 13:35:45,937 - parislille3d - Found 1 pointclouds for validation
(21402421, 3)
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
/home/jarvis/Open3D-ML/paris.ipynb Cell 6' in ()
[13](vscode-notebook-cell://wsl%2Bubuntu-20.04/home/jarvis/Open3D-ML/paris.ipynb#ch0000003vscode-remote?line=12) # show the first 100 frames using the visualizer
[14](vscode-notebook-cell://wsl%2Bubuntu-20.04/home/jarvis/Open3D-ML/paris.ipynb#ch0000003vscode-remote?line=13) vis = ml3d.vis.Visualizer()
---> [15](vscode-notebook-cell://wsl%2Bubuntu-20.04/home/jarvis/Open3D-ML/paris.ipynb#ch0000003vscode-remote?line=14) vis.visualize_dataset(dataset, 'validation', indices=range(100))
File ~/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py:1689, in Visualizer.visualize_dataset(self, dataset, split, indices, width, height)
[1686](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=1685) self.set_lut("labels", lut)
[1688](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=1687) self._consolidate_bounding_boxes = True
-> [1689](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=1688) self._init_dataset(dataset, split, indices)
[1690](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=1689) self._visualize("Open3D - " + dataset.name, width, height)
File ~/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py:770, in Visualizer._init_dataset(self, dataset, split, indices)
[769](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=768) def _init_dataset(self, dataset, split, indices):
--> [770](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=769) self._objects = DatasetModel(dataset, split, indices)
[771](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=770) self._modality = dict()
[772](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=771) self._modality['use_lidar'] = True
File ~/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py:292, in DatasetModel.__init__(self, dataset, split, indices)
[290](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=289) path2idx[self._dataset.path_list[i]] = i
[291](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=290) real_indices = [path2idx[p] for p in sorted(path2idx.keys())]
--> [292](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=291) indices = [real_indices[idx] for idx in indices]
[294](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=293) # SemanticKITTI names its items _,
[295](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=294) # "mm_nnnnnn". We'd like to use the hierarchical feature of the tree
[296](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=295) # to separate the sequences. We cannot change the name in the dataset
[297](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=296) # because this format is used to report algorithm results, so do it
[298](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=297) # here.
[299](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=298) underscore_to_slash = False
File ~/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py:292, in (.0)
[290](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=289) path2idx[self._dataset.path_list[i]] = i
[291](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=290) real_indices = [path2idx[p] for p in sorted(path2idx.keys())]
--> [292](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=291) indices = [real_indices[idx] for idx in indices]
[294](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=293) # SemanticKITTI names its items _,
[295](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=294) # "mm_nnnnnn". We'd like to use the hierarchical feature of the tree
[296](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=295) # to separate the sequences. We cannot change the name in the dataset
[297](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=296) # because this format is used to report algorithm results, so do it
[298](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=297) # here.
[299](file:///home/jarvis/anaconda3/envs/interceptor/lib/python3.8/site-packages/open3d/_ml3d/vis/visualizer.py?line=298) underscore_to_slash = False
IndexError: list index out of range
### Expected behavior
visualisation of data
### Open3D, Python and System information
```markdown
- Operating system: WSL 20.04 on windows 11
- Python version: Python 3.8.13
- Open3D version: Open3D 0.15.2
- System type: x86_64
- Is this a remote workstation?: no
- How did you install Open3D?: pip
```
### Additional information
_No response_
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.