Repository navigation
KeyError when doing "2.Prepared nuScenes 3D detection data" with create_data.py #14
Copy link
Copy link
Open
Description
Environment
docker container, with image
sudo nvidia-docker run -it -p 7600:7600 -p 8022:22 --name="occnet" -v /home/apan/occnet_ws:/home/occnet_ws -it pytorch/pytorch:1.10.0-cuda11.3-cudnn8-devel /bin/bash, python==3.7
Problem
when doing step '2.Prepared nuScenes 3D detection data' with create_data.py, there would be a KeyError:
v1.0-trainval ./data/nuscenes
======
Loading NuScenes tables for version v1.0-trainval...
23 category,
8 attribute,
4 visibility,
64386 instance,
12 sensor,
10200 calibrated_sensor,
2631083 ego_pose,
68 log,
850 scene,
34149 sample,
2631083 sample_data,
1166187 sample_annotation,
4 map,
Done loading in 27.901 seconds.
======
Reverse indexing ...
Done reverse indexing in 6.5 seconds.
======
total scene num: 850
exist scene num: 850
train scene: 700, val scene: 150
[ ] 0/34149, elapsed: 0s, ETA:Traceback (most recent call last):
File "tools/create_data.py", line 249, in <module>
max_sweeps=args.max_sweeps)
File "tools/create_data.py", line 75, in nuscenes_data_prep
root_path, out_dir, can_bus_root_path, info_prefix, version=version, max_sweeps=max_sweeps)
File "/home/occnet_ws/OccNet/tools/data_converter/nuscenes_converter.py", line 93, in create_nuscenes_infos
nusc, nusc_can_bus, train_scenes, val_scenes, test, max_sweeps=max_sweeps)
File "/home/occnet_ws/OccNet/tools/data_converter/nuscenes_converter.py", line 237, in _fill_trainval_infos
l2e_r = info['lidar2ego_rotation']
KeyError: 'lidar2ego_rotation'
I shift the console to path /home/occnet_ws/OccNet,while the file organized as follow:
home/occnet_ws/OccNet/data# tree -L 2
|-- can_bus
| |-- basemap
| |-- expansion
| `-- prediction
|-- nuscenes
| |-- maps
| |-- readme.md
| |-- samples
| |-- sweeps
| |-- v1.0-test
| `-- v1.0-trainval
`-- occ_gt_release_v1_0
|-- nuscenes_infos_temporal_train_occ_gt.pkl
|-- nuscenes_infos_temporal_val_occ_gt.pkl
|-- occ_gt_train.json
|-- occ_gt_val.json
|-- train
`-- val
then I found 'lidar2ego_rotation' in nuscene_converter.py line 237, there is no declaration about this key:
# started from line 215
info = {
'lidar_path': lidar_path,
'token': sample['token'],
'prev': sample['prev'],
'next': sample['next'],
'can_bus': can_bus,
'frame_idx': frame_idx, # temporal related info
'sweeps': [],
'cams': dict(),
'scene_token': sample['scene_token'], # temporal related info
'scene_name': scene_name,
'lidar2ego_translation': cs_record['translation'],
'ego2global_rotation': pose_record['rotation'],
'timestamp': sample['timestamp'],
}
if sample['next'] == '':
frame_idx = 0
else:
frame_idx += 1
l2e_r = info['lidar2ego_rotation']
l2e_t = info['lidar2ego_translation']
e2g_r = info['ego2global_rotation']
e2g_t = info['ego2global_translation']
l2e_r_mat = Quaternion(l2e_r).rotation_matrix
e2g_r_mat = Quaternion(e2g_r).rotation_matrix
...
`
`
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
aksjdakwhdijahskjdhkajbsf commentedon Oct 14, 2023
Me too. Check it please!
tongwwt commentedon Oct 14, 2023
Thanks for your comment. The variable info should be defined as