Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
255 commits
Select commit Hold shift + click to select a range
be329c4
Merge branch 'tier4:main' into main
KSeangTan Jan 21, 2026
6b81116
Merge branch 'tier4:main' into main
KSeangTan Jan 23, 2026
3e3c09d
Merge branch 'tier4:main' into main
KSeangTan Jan 29, 2026
fdeaa33
Merge branch 'tier4:main' into main
KSeangTan Feb 9, 2026
9b71536
Merge branch 'tier4:main' into main
KSeangTan Feb 9, 2026
3b3c734
Merge branch 'tier4:main' into main
KSeangTan Feb 17, 2026
6165a16
Merge branch 'tier4:main' into main
KSeangTan Feb 27, 2026
6d20865
Merge branch 'tier4:main' into main
KSeangTan Feb 27, 2026
0079f71
Merge branch 'tier4:main' into main
KSeangTan Mar 3, 2026
9a1130b
Merge branch 'tier4:main' into main
KSeangTan Mar 4, 2026
94ab3a3
Merge branch 'tier4:main' into main
KSeangTan Mar 6, 2026
cfd5fac
Merge branch 'tier4:main' into main
KSeangTan Mar 17, 2026
e57b46f
Merge branch 'tier4:main' into main
KSeangTan Mar 18, 2026
1a7ebee
Update config
KSeangTan Mar 19, 2026
8402451
Update config
KSeangTan Mar 24, 2026
cf6e13d
Update config
KSeangTan Mar 25, 2026
e1ebc99
Update config
KSeangTan Mar 26, 2026
2dac433
Update config
KSeangTan Mar 27, 2026
9046b7b
Update config
KSeangTan Mar 27, 2026
d4d93fa
Added
KSeangTan Mar 27, 2026
b2714a8
Added
KSeangTan Mar 31, 2026
43adb38
ci(pre-commit): autofix
pre-commit-ci[bot] Mar 31, 2026
73dd1c4
Added
KSeangTan Apr 8, 2026
89e2670
ci(pre-commit): autofix
pre-commit-ci[bot] Apr 8, 2026
dacc863
Merge branch 'tier4:main' into main
KSeangTan Apr 8, 2026
380d7aa
Added
KSeangTan Apr 10, 2026
b60e45a
Update configs
KSeangTan Apr 12, 2026
9b38a42
Added
KSeangTan Apr 13, 2026
f39b584
Updated
KSeangTan Apr 17, 2026
24a88ad
Added
KSeangTan Apr 17, 2026
c637420
Added
KSeangTan Apr 17, 2026
48879b8
ci(pre-commit): autofix
pre-commit-ci[bot] Apr 17, 2026
82457ab
Added
KSeangTan Apr 17, 2026
47d41e0
Added
KSeangTan Apr 17, 2026
827bbb2
Updated
KSeangTan Apr 17, 2026
5f9a4a5
Updated
KSeangTan Apr 17, 2026
1d0ac8d
Added
KSeangTan Apr 18, 2026
d063cf2
Added
KSeangTan Apr 18, 2026
e547e05
Add bevfusion camera 2.6
KSeangTan Apr 18, 2026
2ef16e8
Add bevfusion camera 2.6
KSeangTan Apr 18, 2026
a26782a
Updated
KSeangTan Apr 18, 2026
f4c01a5
Updated
KSeangTan Apr 18, 2026
15371af
Update dataset name
KSeangTan Apr 18, 2026
c6e8a10
Add bevfusion camera 2.6
KSeangTan Apr 18, 2026
7252126
Add bevfusion camera 2.6
KSeangTan Apr 18, 2026
9e79324
Add bevfusion camera 2.6
KSeangTan Apr 18, 2026
a249d42
Add bevfusion camera 2.6
KSeangTan Apr 19, 2026
9d7ddc2
Add bevfusion camera 2.6
KSeangTan Apr 19, 2026
0286f25
Add bevfusion camera 2.6
KSeangTan Apr 19, 2026
4977b33
Update dataset name
KSeangTan Apr 19, 2026
f85a8e9
Update dataset name
KSeangTan Apr 20, 2026
dd50b12
Merge branch 'tier4:main' into main
KSeangTan Apr 21, 2026
cf3310c
Added
Apr 21, 2026
655a0a1
Added
Apr 21, 2026
4222ab9
Update configs
KSeangTan Apr 21, 2026
0f5b588
Update configs
KSeangTan Apr 21, 2026
caecca6
Update base docstring
KSeangTan Apr 21, 2026
07c2e11
Update base docstring
KSeangTan Apr 21, 2026
2665b27
Update j6gen2_base and jpntaxi_base docstring
KSeangTan Apr 21, 2026
57a91d6
Added
Apr 22, 2026
5a2b1e0
Added
Apr 22, 2026
08b50e6
Add the script
KSeangTan Apr 23, 2026
dead69b
Add the script
KSeangTan Apr 23, 2026
db756f5
Update dataset name
KSeangTan Apr 23, 2026
1725f79
Update dataset name
KSeangTan Apr 23, 2026
24d780b
Added
Apr 24, 2026
8175419
Added
Apr 24, 2026
33f11cd
Added
Apr 25, 2026
2237522
Added
Apr 25, 2026
60df4c0
Added
Apr 25, 2026
b5dabf2
Added
Apr 27, 2026
79024cf
Added
Apr 27, 2026
e771a69
Added
Apr 27, 2026
05703cb
Update configs
KSeangTan Apr 27, 2026
06ae9c2
Update configs
KSeangTan Apr 27, 2026
d8c1974
Update configs
KSeangTan Apr 28, 2026
25e581c
Update configs
KSeangTan Apr 28, 2026
9ba440a
Update configs
KSeangTan Apr 28, 2026
aac1e1d
Update configs
KSeangTan Apr 28, 2026
09c06d7
Update configs
KSeangTan Apr 28, 2026
5279b17
Update configs
KSeangTan Apr 28, 2026
0ce7a72
Add the script
KSeangTan Apr 28, 2026
9b4c2f2
Added
Apr 28, 2026
5c0ada8
Add the script
KSeangTan Apr 28, 2026
ad6b07a
Add the script
KSeangTan Apr 28, 2026
a592868
Add the script
KSeangTan Apr 28, 2026
2929ff6
Update configs
KSeangTan Apr 28, 2026
57d6ae6
Update configs
KSeangTan Apr 28, 2026
2e03655
Add the script
KSeangTan Apr 28, 2026
e2a69c1
Add the script
KSeangTan Apr 28, 2026
ebc8034
Update configs
KSeangTan Apr 28, 2026
bb35205
Add the script
KSeangTan Apr 29, 2026
f343fbe
Update configs
KSeangTan Apr 29, 2026
6f55027
Update configs
KSeangTan Apr 29, 2026
d99abd9
Add the script
KSeangTan Apr 30, 2026
b1b247a
Add the script
KSeangTan Apr 30, 2026
36e3811
Add the script
KSeangTan Apr 30, 2026
df3e50c
Merge branch 'tier4:main' into main
KSeangTan May 2, 2026
e905263
Add traffic cone and barrier
KSeangTan May 7, 2026
c429514
Merge branch 'main' into feat/add_traffic_barrier_to_dataset
KSeangTan May 7, 2026
dc2265e
ci(pre-commit): autofix
pre-commit-ci[bot] May 7, 2026
15bbf0e
remove unecessary changes
KSeangTan May 7, 2026
1323d4e
ci(pre-commit): autofix
pre-commit-ci[bot] May 7, 2026
585a0b2
remove unecessary changes
KSeangTan May 7, 2026
a47646e
ci(pre-commit): autofix
pre-commit-ci[bot] May 7, 2026
16eb517
Add the script
KSeangTan May 9, 2026
64c1698
Resolve conflict
KSeangTan May 9, 2026
731f6d9
Resolve conflict
KSeangTan May 9, 2026
ad4f746
Resolve conflict
KSeangTan May 9, 2026
be69b11
Resolve conflict
KSeangTan May 9, 2026
258e64c
Resolve conflict
KSeangTan May 9, 2026
75a46d3
Updated
KSeangTan May 9, 2026
16fe09b
Updated
KSeangTan May 9, 2026
db8e7f8
Updated
KSeangTan May 9, 2026
4c907aa
Updated
KSeangTan May 9, 2026
8cb422d
Updated
KSeangTan May 9, 2026
5635a00
Updated
KSeangTan May 9, 2026
fb27f49
Resolve conflict
KSeangTan May 11, 2026
bb5d757
Resolve conflict
KSeangTan May 12, 2026
3f64c2c
Resolve conflict
KSeangTan May 13, 2026
32da50e
Resolve conflict
KSeangTan May 13, 2026
ac62b49
Resolve conflict
KSeangTan May 13, 2026
45cc9cf
Resolve conflict
KSeangTan May 13, 2026
1a81b03
Add local 3d box expand
KSeangTan May 14, 2026
5257c01
Resolve conflict
KSeangTan May 14, 2026
14a20e1
Updated
KSeangTan May 15, 2026
88e0653
Merge branch 'feat/release_bevfusion_2_8' into feat/release_bevfusion…
KSeangTan May 15, 2026
6dde84d
Add local 3d box expand
KSeangTan May 16, 2026
5213d86
Add local 3d box expand
KSeangTan May 17, 2026
e616c02
Add local 3d box expand
KSeangTan May 18, 2026
b503655
Updated
KSeangTan May 15, 2026
6a9a475
Updated
KSeangTan May 18, 2026
f0f4542
Updated
KSeangTan May 19, 2026
c9c34bb
Add local 3d box expand
KSeangTan May 19, 2026
a8073f8
Add local 3d box expand
KSeangTan May 19, 2026
be70f2f
Add local 3d box expand
KSeangTan May 19, 2026
74143f2
merge conflict
KSeangTan May 19, 2026
25d154b
Update camera config structure
KSeangTan May 19, 2026
842dec2
Updated
KSeangTan May 19, 2026
1499a91
Update camera config structure
KSeangTan May 19, 2026
a5b4065
Add local 3d box expand
KSeangTan May 19, 2026
0b547bf
Add local 3d box expand
KSeangTan May 19, 2026
6949e41
Add local 3d box expand
KSeangTan May 19, 2026
bc6d024
Add local 3d box expand
KSeangTan May 19, 2026
366e7a4
Updated
KSeangTan May 19, 2026
a61c859
Updated
KSeangTan May 19, 2026
81e26bb
Add local 3d box expand
KSeangTan May 20, 2026
770be09
Add local 3d box expand
KSeangTan May 20, 2026
89ab9c3
Updated
KSeangTan May 20, 2026
e6f6452
Update camera config structure
KSeangTan May 21, 2026
7ecba75
Update camera config structure
KSeangTan May 21, 2026
aa0fdda
Update camera config structure
KSeangTan May 21, 2026
178c0e0
Added
KSeangTan May 21, 2026
fb6935d
Added
KSeangTan May 21, 2026
4a95578
Added
KSeangTan May 21, 2026
237e0aa
Added
KSeangTan May 22, 2026
2749ef5
Added
KSeangTan May 22, 2026
5da147b
Add local 3d box expand
KSeangTan May 22, 2026
ef44141
Add local 3d box expand
KSeangTan May 22, 2026
9594f3b
Updated
KSeangTan May 23, 2026
096f443
Updated
KSeangTan May 23, 2026
c6c79f8
Updated
KSeangTan May 23, 2026
1e639c7
Updated
KSeangTan May 23, 2026
03d9416
Updated
KSeangTan May 24, 2026
94e1752
Updated
KSeangTan May 24, 2026
36bfd4e
Updated
KSeangTan May 24, 2026
26e6bb0
Updated
KSeangTan May 25, 2026
b096792
Updated
KSeangTan May 25, 2026
0af40fc
Updated
KSeangTan May 25, 2026
f871a14
Updated
KSeangTan May 25, 2026
9a4642a
Updated
KSeangTan May 26, 2026
3cfe987
Updated
KSeangTan May 26, 2026
798021d
Updated
KSeangTan May 26, 2026
b7a32d0
Added
KSeangTan May 27, 2026
e793d72
Added
KSeangTan May 27, 2026
088c1b3
Added
KSeangTan May 27, 2026
40f3ea9
Updated
KSeangTan May 29, 2026
7053c2d
Updated
KSeangTan May 29, 2026
49e2140
Added
KSeangTan May 30, 2026
504bb42
Merge branch 'feat/release_bevfusion_2_8' into feat/release_bevfusion…
KSeangTan May 30, 2026
bfb3d2e
Updated
KSeangTan May 30, 2026
029dd76
Updated
KSeangTan May 30, 2026
28e6af8
Added
KSeangTan May 30, 2026
3903988
Updated
KSeangTan May 30, 2026
6e6de1c
Added
KSeangTan May 30, 2026
b87c3a3
Added
KSeangTan May 30, 2026
3b79660
Added
KSeangTan May 30, 2026
d5cbf2b
Added
KSeangTan May 30, 2026
5df6adf
Added
KSeangTan May 30, 2026
8da5b16
Added
KSeangTan May 30, 2026
216e557
Added
KSeangTan May 30, 2026
d899a62
Added
KSeangTan Jun 1, 2026
8b6c157
Added
KSeangTan Jun 2, 2026
5002fb2
Added
KSeangTan Jun 2, 2026
cbe6f3b
Added
KSeangTan Jun 2, 2026
4547bb3
Added
KSeangTan Jun 2, 2026
a33fc4c
Added
KSeangTan Jun 2, 2026
44cd089
Added
KSeangTan Jun 3, 2026
b7eae63
Added
KSeangTan Jun 4, 2026
6c88b61
Added
KSeangTan Jun 4, 2026
f05e742
Updated
KSeangTan Jun 4, 2026
69300aa
Updated
KSeangTan Jun 4, 2026
e15de56
Updated
KSeangTan Jun 5, 2026
c3d1e0b
Merge branch 'tier4:main' into main
KSeangTan Jun 5, 2026
b21b1f1
Merge branch 'main' into feat/release_bevfusion_camera_2_6
KSeangTan Jun 5, 2026
aa3818d
ci(pre-commit): autofix
pre-commit-ci[bot] Jun 5, 2026
316f8c7
Merge branch 'tier4:main' into main
KSeangTan Jun 5, 2026
5557900
Clean configs
KSeangTan Jun 5, 2026
a4bd66e
Clean configs
KSeangTan Jun 5, 2026
1d15699
Updated
KSeangTan Jun 5, 2026
4828cf2
ci(pre-commit): autofix
pre-commit-ci[bot] Jun 5, 2026
941d61e
Updated
KSeangTan Jun 5, 2026
f7e5ba6
ci(pre-commit): autofix
pre-commit-ci[bot] Jun 5, 2026
dc90e43
Updated
KSeangTan Jun 5, 2026
d2eab99
ci(pre-commit): autofix
pre-commit-ci[bot] Jun 5, 2026
ee4d973
Updated
KSeangTan Jun 5, 2026
4d484cb
Updated
KSeangTan Jun 7, 2026
d19fd81
Merge branch 'tier4:main' into main
KSeangTan Jun 8, 2026
89eb99c
Merge branch 'tier4:main' into main
KSeangTan Jun 15, 2026
685225b
Merge branch 'tier4:main' into main
KSeangTan Jun 21, 2026
bb236f3
Merge branch 'tier4:main' into main
KSeangTan Jun 22, 2026
cea1364
Resolve conflict
KSeangTan Jun 26, 2026
0bcf8ad
ci(pre-commit): autofix
pre-commit-ci[bot] Jun 26, 2026
100fa70
Resolve conflict
KSeangTan Jun 26, 2026
18b8cfb
ci(pre-commit): autofix
pre-commit-ci[bot] Jun 26, 2026
bfea0bc
Resolve conflict
KSeangTan Jun 26, 2026
f48d595
Resolve conflict
KSeangTan Jun 26, 2026
7126540
ci(pre-commit): autofix
pre-commit-ci[bot] Jun 26, 2026
28b013d
Resolve conflict
KSeangTan Jun 26, 2026
e1eb680
Resolve conflict
KSeangTan Jun 26, 2026
22394e6
ci(pre-commit): autofix
pre-commit-ci[bot] Jun 26, 2026
059cfeb
Resolve conflict
KSeangTan Jun 26, 2026
1750706
Resolve conflict
KSeangTan Jun 28, 2026
4ca10df
ci(pre-commit): autofix
pre-commit-ci[bot] Jun 28, 2026
1ced48c
Resolve conflict
KSeangTan Jun 28, 2026
3c1835d
ci(pre-commit): autofix
pre-commit-ci[bot] Jun 28, 2026
bda2b6e
Resolve conflict
KSeangTan Jun 28, 2026
e8f97ee
Resolve conflict
KSeangTan Jun 28, 2026
1a215dc
Resolve conflict
KSeangTan Jun 28, 2026
a429721
ci(pre-commit): autofix
pre-commit-ci[bot] Jun 28, 2026
ff1cc3e
Resolve conflict
KSeangTan Jul 1, 2026
b9cf26c
Resolve conflict
KSeangTan Jul 1, 2026
dc2cfe6
ci(pre-commit): autofix
pre-commit-ci[bot] Jul 1, 2026
c8b579c
Resolve conflict
KSeangTan Jul 1, 2026
9680c71
Resolve conflict
KSeangTan Jul 1, 2026
0dccd1e
ci(pre-commit): autofix
pre-commit-ci[bot] Jul 1, 2026
8a4934a
Resolve conflict
KSeangTan Jul 1, 2026
482c75c
ci(pre-commit): autofix
pre-commit-ci[bot] Jul 1, 2026
9cca293
Resolve conflict
KSeangTan Jul 1, 2026
5279b13
ci(pre-commit): autofix
pre-commit-ci[bot] Jul 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
221 changes: 221 additions & 0 deletions autoware_ml/configs/detection3d/dataset/t4dataset/gen2_base.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
custom_imports = dict(
imports=[
"autoware_ml.detection3d.datasets.t4dataset",
"autoware_ml.detection3d.evaluation.t4metric.t4metric",
"autoware_ml.detection3d.evaluation.t4metric.t4metric_v2",
]
)

# dataset type setting
dataset_type = "T4Dataset"
info_train_file_name = "t4dataset_gen2_base_infos_train.pkl"
info_val_file_name = "t4dataset_gen2_base_infos_val.pkl"
info_test_file_name = "t4dataset_gen2_base_infos_test.pkl"

info_train_statistics_file_name = "t4dataset_gen2_base_statistics_train.parquet"
info_val_statistics_file_name = "t4dataset_gen2_base_statistics_val.parquet"
info_test_statistics_file_name = "t4dataset_gen2_base_statistics_test.parquet"

# dataset scene setting
dataset_version_list = [
"db_jpntaxigen2_v1",
"db_jpntaxigen2_v2",
"db_j6gen2_v1",
"db_j6gen2_v2",
"db_j6gen2_v3",
"db_j6gen2_v4",
"db_j6gen2_v5",
"db_j6gen2_v6",
"db_j6gen2_v7",
"db_j6gen2_v8",
"db_j6gen2_v9",
"db_j6gen2_v10",
"db_j6gen2_v11",
"db_j6gen2_v12",
"db_largebus_v1",
"db_largebus_v2",
"db_largebus_v3",
]

# TODO (KokSeang): This will be removed to avoid repeatitive computation
# Dataset set, test info files, and enable/disable evaluation of prefix
dataset_test_groups = {
"j6gen2_base": ("t4dataset_j6gen2_base_infos_test.pkl", False),
"j6gen2": ("t4dataset_j6gen2_infos_test.pkl", False),
"largebus": ("t4dataset_largebus_infos_test.pkl", False),
"jpntaxi_gen2": ("t4dataset_jpntaxi_gen2_infos_test.pkl", False),
"gen2_base": ("t4dataset_gen2_base_infos_test.pkl", True),
}

# dataset format setting
data_prefix = dict(
pts="",
CAM_FRONT="",
CAM_FRONT_WIDE="",
CAM_FRONT_LEFT="",
CAM_FRONT_LEFT_WIDE="",
CAM_FRONT_RIGHT="",
CAM_FRONT_RIGHT_WIDE="",
CAM_BACK="",
CAM_BACK_RIGHT="",
CAM_BACK_RIGHT_WIDE="",
CAM_BACK_LEFT="",
CAM_BACK_LEFT_WIDE="",
sweeps="",
)
camera_types = {
"CAM_FRONT",
"CAM_FRONT_WIDE",
"CAM_FRONT_RIGHT",
"CAM_FRONT_RIGHT_WIDE",
"CAM_FRONT_LEFT",
"CAM_FRONT_LEFT_WIDE",
"CAM_BACK",
"CAM_BACK_LEFT",
"CAM_BACK_LEFT_WIDE",
"CAM_BACK_RIGHT",
"CAM_BACK_RIGHT_WIDE",
}

# class setting
name_mapping = {
# DBv1.0
"vehicle.car": "car",
"vehicle.construction": "truck",
"vehicle.emergency (ambulance & police)": "car",
"vehicle.motorcycle": "bicycle",
"vehicle.trailer": "trailer",
"vehicle.truck": "truck",
"vehicle.bicycle": "bicycle",
"vehicle.bus (bendy & rigid)": "bus",
"pedestrian.adult": "pedestrian",
"pedestrian.child": "pedestrian",
"pedestrian.construction_worker": "pedestrian",
"pedestrian.personal_mobility": "pedestrian",
"pedestrian.police_officer": "pedestrian",
"pedestrian.stroller": "pedestrian",
"pedestrian.wheelchair": "pedestrian",
"movable_object.barrier": "barrier",
"movable_object.debris": "barrier",
"movable_object.pushable_pullable": "barrier",
"movable_object.trafficcone": "traffic_cone",
"movable_object.traffic_cone": "traffic_cone",
"animal": "animal",
"static_object.bicycle_rack": "bicycle_rack",
# DBv1.1 and UCv2.0
"car": "car",
"truck": "truck",
"bus": "bus",
"trailer": "trailer",
"motorcycle": "bicycle",
"bicycle": "bicycle",
"police_car": "car",
"pedestrian": "pedestrian",
"police_officer": "pedestrian",
"forklift": "car",
"construction_worker": "pedestrian",
"stroller": "pedestrian",
# DBv2.0 and DBv3.0
"animal": "animal",
"movable_object.barrier": "barrier",
"movable_object.pushable_pullable": "barrier",
"movable_object.traffic_cone": "traffic_cone",
"pedestrian.adult": "pedestrian",
"pedestrian.child": "pedestrian",
"pedestrian.construction_worker": "pedestrian",
"pedestrian.personal_mobility": "pedestrian",
"pedestrian.police_officer": "pedestrian",
"pedestrian.stroller": "pedestrian",
"pedestrian.wheelchair": "pedestrian",
"static_object.bicycle rack": "bicycle rack",
"static_object.bollard": "bollard",
"vehicle.ambulance": "car", # Define vehicle.ambulance as car since vehicle.emergency (ambulance & police) is defined as car
"vehicle.bicycle": "bicycle",
"vehicle.bus": "bus",
"vehicle.car": "car",
"vehicle.construction": "truck",
"vehicle.fire": "truck",
"vehicle.motorcycle": "bicycle",
"vehicle.police": "car",
"vehicle.trailer": "trailer",
"vehicle.truck": "truck",
# DBv1.3
"ambulance": "car",
"kart": "car",
"wheelchair": "pedestrian",
"personal_mobility": "pedestrian",
"fire_truck": "truck",
"semi_trailer": "trailer",
"tractor_unit": "truck",
"construction_vehicle": "truck",
"traffic_cone": "traffic_cone",
"trafficcone": "traffic_cone",
"barrier": "barrier",
"other_vehicle": "car",
"other_pedestrian": "pedestrian",
}

class_names = ["car", "truck", "bus", "bicycle", "pedestrian", "traffic_cone", "barrier"]
num_class = len(class_names)
metainfo = dict(classes=class_names)

merge_objects = [
("truck", ["truck", "trailer"]),
]
merge_type = "extend_longer" # One of ["extend_longer","union", None]

# visualization
class_colors = {
"car": (30, 144, 255),
"truck": (140, 0, 255),
"construction_vehicle": (255, 255, 0),
"bus": (111, 255, 111),
"trailer": (0, 255, 255),
"barrier": (0, 0, 0),
"motorcycle": (100, 0, 30),
"bicycle": (255, 0, 30),
"pedestrian": (255, 200, 200),
"traffic_cone": (120, 120, 120),
}
camera_panels = [
"data/CAM_FRONT_LEFT",
"data/CAM_FRONT",
"data/CAM_FRONT_RIGHT",
"data/CAM_BACK_LEFT",
"data/CAM_BACK",
"data/CAM_BACK_RIGHT",
]

# Add filter attributes
filter_attributes = [
("vehicle.bicycle", "vehicle_state.parked"),
("vehicle.bicycle", "cycle_state.without_rider"),
("vehicle.bicycle", "motorcycle_state.without_rider"),
("vehicle.motorcycle", "vehicle_state.parked"),
("vehicle.motorcycle", "cycle_state.without_rider"),
("vehicle.motorcycle", "motorcycle_state.without_rider"),
("bicycle", "vehicle_state.parked"),
("bicycle", "cycle_state.without_rider"),
("bicycle", "motorcycle_state.without_rider"),
("motorcycle", "vehicle_state.parked"),
("motorcycle", "cycle_state.without_rider"),
("motorcycle", "motorcycle_state.without_rider"),
]

evaluator_metric_configs = dict(
evaluation_task="detection",
target_labels=class_names,
center_distance_bev_thresholds=[0.5, 1.0, 2.0, 4.0],
# plane_distance_thresholds is required for the pass fail evaluation
plane_distance_thresholds=[2.0, 4.0],
iou_2d_thresholds=None,
iou_3d_thresholds=None,
label_prefix="autoware",
# bev minimum distance ranges for each range bucket, must be the same length as max_distance,
# they will form bev distance ranges in [(min_distance[0], max_distance[0]), (min_distance[1], max_distance[1]), ...] when filtering
min_distance=[0.0, 50.0, 90.0, 0.0],
# bev maximum distance ranges for each range bucket, must be the same length as min_distance
max_distance=[50.0, 90.0, 121.0, 121.0],
min_point_numbers=0,
matching_class_agnostic_fps=False,
)
12 changes: 10 additions & 2 deletions autoware_ml/configs/detection3d/default_runtime.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,17 @@

default_hooks = dict(
timer=dict(type="IterTimerHook"),
logger=dict(type="LoggerHook", interval=50),
logger=dict(
type="LoggerHook",
interval=50,
backend_args=dict(backend="local"),
),
param_scheduler=dict(type="ParamSchedulerHook"),
checkpoint=dict(type="CheckpointHook", interval=-1),
checkpoint=dict(
type="CheckpointHook",
interval=-1,
backend_args=dict(backend="local"),
),
sampler_seed=dict(type="DistSamplerSeedHook"),
visualization=dict(type="Det3DVisualizationHook"),
)
Expand Down
23 changes: 17 additions & 6 deletions autoware_ml/detection3d/datasets/t4dataset.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
from typing import List

import numpy as np
import tqdm
from mmdet3d.datasets import NuScenesDataset
from mmengine.logging import print_log
from mmengine.registry import DATASETS
Expand Down Expand Up @@ -51,21 +52,27 @@ def filter_data(self) -> List[dict]:
if not self.filter_cfg:
return self.data_list

filter_frames_with_camera_order = self.filter_cfg.get("filter_frames_with_camera_order", None)
if filter_frames_with_camera_order is None:
filter_frames_with_camera_orders = self.filter_cfg.get("filter_frames_with_camera_orders", None)
if filter_frames_with_camera_orders is None:
return self.data_list

filtered_data_list = []
for entry in self.data_list:
for entry in tqdm.tqdm(self.data_list, desc="Filtering data"):
vehicle_type = entry.get("vehicle_type", None)
if vehicle_type is None:
raise KeyError(f"Missing 'vehicle_type' in entry: {entry}")

filter_frames_with_camera_order = filter_frames_with_camera_orders.get(vehicle_type, None)
if filter_frames_with_camera_order is None:
raise KeyError(f"Missing camera order for vehicle type '{vehicle_type}' in filter configuration.")

filtered = False
for camera_order in filter_frames_with_camera_order:
if camera_order not in entry["images"]:
filtered = True
break

if entry["images"][camera_order]["img_path"] is None or not osp.exists(
entry["images"][camera_order]["img_path"]
):
if entry["images"][camera_order]["img_path"] is None:
filtered = True
break

Expand Down Expand Up @@ -180,6 +187,7 @@ def parse_data_info(self, info: dict) -> dict:
cam_prefix,
img_info["img_path"],
)
# print_log(f"Camera path: {img_info['img_path']}", logger="current")

if self.default_cam_key is not None:
info["img_path"] = info["images"][self.default_cam_key]["img_path"]
Expand All @@ -192,4 +200,7 @@ def parse_data_info(self, info: dict) -> dict:
else:
info["lidar2img"] = info["cam2img"] @ info["lidar2cam"]

# Default difficulty to 0 if not present
if "difficulty" not in info:
info["difficulty"] = 0
return info
4 changes: 2 additions & 2 deletions autoware_ml/detection3d/evaluation/t4metric/t4metric.py
Original file line number Diff line number Diff line change
Expand Up @@ -262,8 +262,7 @@ def _parse_ground_truth_from_sample(self, data_sample: Dict[str, Any]) -> dict:
"num_lidar_pts": num_lidar_pts,
}

@staticmethod
def _get_scene_info(data_infos: List[dict]) -> Tuple[List[str], List[str]]:
def _get_scene_info(self, data_infos: List[dict]) -> Tuple[List[str], List[str]]:
"""Get scene tokens and directory names from data infos.
Args:
Expand All @@ -284,6 +283,7 @@ def _get_scene_info(data_infos: List[dict]) -> Tuple[List[str], List[str]]:
if directory not in directories:
scene_tokens.append(scene_token)
directories.append(directory)

return scene_tokens, directories

@staticmethod
Expand Down
15 changes: 13 additions & 2 deletions projects/BEVFusion/bevfusion/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,17 @@
from .bevfusion_necks import GeneralizedLSSFPN
from .bevfusion_voxel_encoder import HardSimpleVoxelSinCosEncoder
from .depth_lss import DepthLSSTransform, LSSTransform
from .loading import BEVLoadMultiViewImageFromFiles
from .depth_lss_v2 import LSSTransformV2, LSSTransformV2DepthAware
from .loading import BEVLoadMultiViewImageFromFiles, PointsToMultiViewImageDepths
from .sparse_encoder import BEVFusionSparseEncoder
from .transformer import TransformerDecoderLayer
from .transforms_3d import BEVFusionGlobalRotScaleTrans, BEVFusionRandomFlip3D, GridMask, ImageAug3D
from .transforms_3d import (
BEVFusionGlobalRotScaleTrans,
BEVFusionRandomFlip3D,
BEVFusionRemoveLiDARPoints,
GridMask,
ImageAug3D,
)
from .utils import BBoxBEVL1Cost, HeuristicAssigner3D, HungarianAssigner3D, IoU3DCost, TransFusionBBoxCoder

__all__ = [
Expand All @@ -27,6 +34,10 @@
"TransformerDecoderLayer",
"BEVFusionRandomFlip3D",
"BEVFusionGlobalRotScaleTrans",
"BEVFusionRemoveLiDARPoints",
"TransFusionBBoxCoder",
"HardSimpleVoxelSinCosEncoder",
"LSSTransformV2",
"PointsToMultiViewImageDepths",
"LSSTransformV2DepthAware",
]
Loading