Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
OpenPCDet
Commits
0db30f45
Commit
0db30f45
authored
May 13, 2023
by
chenshi3
Browse files
Adjust the hook function and nuscenes_dataset.py
parent
ed2bb815
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
60 additions
and
55 deletions
+60
-55
pcdet/datasets/augmentor/data_augmentor.py
pcdet/datasets/augmentor/data_augmentor.py
+1
-1
pcdet/datasets/nuscenes/nuscenes_dataset.py
pcdet/datasets/nuscenes/nuscenes_dataset.py
+58
-53
tools/train_utils/train_utils.py
tools/train_utils/train_utils.py
+1
-1
No files found.
pcdet/datasets/augmentor/data_augmentor.py
View file @
0db30f45
...
...
@@ -24,7 +24,7 @@ class DataAugmentor(object):
cur_augmentor
=
getattr
(
self
,
cur_cfg
.
NAME
)(
config
=
cur_cfg
)
self
.
data_augmentor_queue
.
append
(
cur_augmentor
)
def
disable
A
ugmentation
(
self
,
augmentor_configs
):
def
disable
_a
ugmentation
(
self
,
augmentor_configs
):
self
.
data_augmentor_queue
=
[]
aug_config_list
=
augmentor_configs
if
isinstance
(
augmentor_configs
,
list
)
\
else
augmentor_configs
.
AUG_CONFIG_LIST
...
...
pcdet/datasets/nuscenes/nuscenes_dataset.py
View file @
0db30f45
...
...
@@ -151,6 +151,63 @@ class NuScenesDataset(DatasetTemplate):
input_dict
[
'img_process_infos'
]
=
img_process_infos
input_dict
[
'camera_imgs'
]
=
crop_images
return
input_dict
def
load_camera_info
(
self
,
input_dict
,
info
):
input_dict
[
"image_paths"
]
=
[]
input_dict
[
"lidar2camera"
]
=
[]
input_dict
[
"lidar2image"
]
=
[]
input_dict
[
"camera2ego"
]
=
[]
input_dict
[
"camera_intrinsics"
]
=
[]
input_dict
[
"camera2lidar"
]
=
[]
for
_
,
camera_info
in
info
[
"cams"
].
items
():
input_dict
[
"image_paths"
].
append
(
camera_info
[
"data_path"
])
# lidar to camera transform
lidar2camera_r
=
np
.
linalg
.
inv
(
camera_info
[
"sensor2lidar_rotation"
])
lidar2camera_t
=
(
camera_info
[
"sensor2lidar_translation"
]
@
lidar2camera_r
.
T
)
lidar2camera_rt
=
np
.
eye
(
4
).
astype
(
np
.
float32
)
lidar2camera_rt
[:
3
,
:
3
]
=
lidar2camera_r
.
T
lidar2camera_rt
[
3
,
:
3
]
=
-
lidar2camera_t
input_dict
[
"lidar2camera"
].
append
(
lidar2camera_rt
.
T
)
# camera intrinsics
camera_intrinsics
=
np
.
eye
(
4
).
astype
(
np
.
float32
)
camera_intrinsics
[:
3
,
:
3
]
=
camera_info
[
"camera_intrinsics"
]
input_dict
[
"camera_intrinsics"
].
append
(
camera_intrinsics
)
# lidar to image transform
lidar2image
=
camera_intrinsics
@
lidar2camera_rt
.
T
input_dict
[
"lidar2image"
].
append
(
lidar2image
)
# camera to ego transform
camera2ego
=
np
.
eye
(
4
).
astype
(
np
.
float32
)
camera2ego
[:
3
,
:
3
]
=
Quaternion
(
camera_info
[
"sensor2ego_rotation"
]
).
rotation_matrix
camera2ego
[:
3
,
3
]
=
camera_info
[
"sensor2ego_translation"
]
input_dict
[
"camera2ego"
].
append
(
camera2ego
)
# camera to lidar transform
camera2lidar
=
np
.
eye
(
4
).
astype
(
np
.
float32
)
camera2lidar
[:
3
,
:
3
]
=
camera_info
[
"sensor2lidar_rotation"
]
camera2lidar
[:
3
,
3
]
=
camera_info
[
"sensor2lidar_translation"
]
input_dict
[
"camera2lidar"
].
append
(
camera2lidar
)
# read image
filename
=
input_dict
[
"image_paths"
]
images
=
[]
for
name
in
filename
:
images
.
append
(
Image
.
open
(
str
(
self
.
root_path
/
name
)))
input_dict
[
"camera_imgs"
]
=
images
input_dict
[
"ori_shape"
]
=
images
[
0
].
size
# resize and crop image
input_dict
=
self
.
crop_image
(
input_dict
)
return
input_dict
def
__len__
(
self
):
if
self
.
_merge_all_iters_to_one_epoch
:
...
...
@@ -182,59 +239,7 @@ class NuScenesDataset(DatasetTemplate):
'gt_boxes'
:
info
[
'gt_boxes'
]
if
mask
is
None
else
info
[
'gt_boxes'
][
mask
]
})
if
self
.
use_camera
:
input_dict
[
"image_paths"
]
=
[]
input_dict
[
"lidar2camera"
]
=
[]
input_dict
[
"lidar2image"
]
=
[]
input_dict
[
"camera2ego"
]
=
[]
input_dict
[
"camera_intrinsics"
]
=
[]
input_dict
[
"camera2lidar"
]
=
[]
for
_
,
camera_info
in
info
[
"cams"
].
items
():
input_dict
[
"image_paths"
].
append
(
camera_info
[
"data_path"
])
# lidar to camera transform
lidar2camera_r
=
np
.
linalg
.
inv
(
camera_info
[
"sensor2lidar_rotation"
])
lidar2camera_t
=
(
camera_info
[
"sensor2lidar_translation"
]
@
lidar2camera_r
.
T
)
lidar2camera_rt
=
np
.
eye
(
4
).
astype
(
np
.
float32
)
lidar2camera_rt
[:
3
,
:
3
]
=
lidar2camera_r
.
T
lidar2camera_rt
[
3
,
:
3
]
=
-
lidar2camera_t
input_dict
[
"lidar2camera"
].
append
(
lidar2camera_rt
.
T
)
# camera intrinsics
camera_intrinsics
=
np
.
eye
(
4
).
astype
(
np
.
float32
)
camera_intrinsics
[:
3
,
:
3
]
=
camera_info
[
"camera_intrinsics"
]
input_dict
[
"camera_intrinsics"
].
append
(
camera_intrinsics
)
# lidar to image transform
lidar2image
=
camera_intrinsics
@
lidar2camera_rt
.
T
input_dict
[
"lidar2image"
].
append
(
lidar2image
)
# camera to ego transform
camera2ego
=
np
.
eye
(
4
).
astype
(
np
.
float32
)
camera2ego
[:
3
,
:
3
]
=
Quaternion
(
camera_info
[
"sensor2ego_rotation"
]
).
rotation_matrix
camera2ego
[:
3
,
3
]
=
camera_info
[
"sensor2ego_translation"
]
input_dict
[
"camera2ego"
].
append
(
camera2ego
)
# camera to lidar transform
camera2lidar
=
np
.
eye
(
4
).
astype
(
np
.
float32
)
camera2lidar
[:
3
,
:
3
]
=
camera_info
[
"sensor2lidar_rotation"
]
camera2lidar
[:
3
,
3
]
=
camera_info
[
"sensor2lidar_translation"
]
input_dict
[
"camera2lidar"
].
append
(
camera2lidar
)
# read image
filename
=
input_dict
[
"image_paths"
]
images
=
[]
for
name
in
filename
:
images
.
append
(
Image
.
open
(
str
(
self
.
root_path
/
name
)))
input_dict
[
"camera_imgs"
]
=
images
input_dict
[
"ori_shape"
]
=
images
[
0
].
size
# resize and crop image
input_dict
=
self
.
crop_image
(
input_dict
)
input_dict
=
self
.
load_camera_info
(
input_dict
,
info
)
data_dict
=
self
.
prepare_data
(
data_dict
=
input_dict
)
...
...
tools/train_utils/train_utils.py
View file @
0db30f45
...
...
@@ -267,6 +267,6 @@ def disable_augmentation_hook(hook_config, dataloader, total_epochs, cur_epoch,
dataset_cfg
=
cfg
.
DATA_CONFIG
logger
.
info
(
f
'Disable augmentations:
{
DISABLE_AUG_LIST
}
'
)
dataset_cfg
.
DATA_AUGMENTOR
.
DISABLE_AUG_LIST
=
DISABLE_AUG_LIST
dataloader
.
_dataset
.
data_augmentor
.
disable
A
ugmentation
(
dataset_cfg
.
DATA_AUGMENTOR
)
dataloader
.
_dataset
.
data_augmentor
.
disable
_a
ugmentation
(
dataset_cfg
.
DATA_AUGMENTOR
)
flag
=
True
return
flag
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment