Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
9bb04ce
Update docker installation commit for perception_evaluation
KSeangTan Jan 14, 2026
ebee4a0
Merge branch 'tier4:main' into main
KSeangTan Jan 14, 2026
775f1d0
Resolve merge conflicts
KSeangTan Jan 20, 2026
edb373a
Merge branch 'tier4:main' into main
KSeangTan Jan 20, 2026
a358886
Merge branch 'tier4:main' into main
KSeangTan Jan 20, 2026
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
380d7aa
Added
KSeangTan Apr 10, 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
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@

# dataset scene setting
dataset_test_groups = {
"jpntaxi_gen2": ("t4dataset_jpntaxi_gen2_infos_test.pkl", False),
"jpntaxi_base": ("t4dataset_jpntaxi_base_infos_test.pkl", True),
}

Expand Down
3 changes: 2 additions & 1 deletion projects/BEVFusion/bevfusion/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from .sparse_encoder import BEVFusionSparseEncoder
from .transformer import TransformerDecoderLayer
from .transforms_3d import BEVFusionGlobalRotScaleTrans, BEVFusionRandomFlip3D, GridMask, ImageAug3D
from .utils import BBoxBEVL1Cost, HeuristicAssigner3D, HungarianAssigner3D, IoU3DCost
from .utils import BBoxBEVL1Cost, HeuristicAssigner3D, HungarianAssigner3D, IoU3DCost, TransFusionBBoxCoder

__all__ = [
"BEVFusion",
Expand All @@ -26,4 +26,5 @@
"TransformerDecoderLayer",
"BEVFusionRandomFlip3D",
"BEVFusionGlobalRotScaleTrans",
"TransFusionBBoxCoder",
]
2 changes: 1 addition & 1 deletion projects/BEVFusion/bevfusion/bevfusion_head.py
Original file line number Diff line number Diff line change
Expand Up @@ -554,7 +554,7 @@ def get_targets_single(self, gt_instances_3d, preds_dict, batch_idx):
vel = None

boxes_dict = self.bbox_coder.decode(
score, rot, dim, center, height, vel
score, rot, dim, center, height, vel, filter=False
) # decode the prediction to real world metric bbox
bboxes_tensor = boxes_dict[0]["bboxes"]
gt_bboxes_tensor = gt_bboxes_3d.tensor.to(score.device)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"../../../../../autoware_ml/configs/detection3d/dataset/t4dataset/j6gen2_base.py",
"../default/pipelines/default_camera_lidar_intensity_120m.py",
"../default/models/default_camera_swin_fpn_120m.py",
"../default/schedulers/default_30e_4xb8_adamw_linear_cosine.py",
"../default/schedulers/default_30e_8xb8_adamw_linear_cosine.py",
"../default/default_misc.py",
]

Expand All @@ -16,7 +16,7 @@
info_directory_path = "info/user_name/"

experiment_group_name = "bevfusion_camera/j6gen2_base/" + _base_.dataset_type
experiment_name = "bevfusion_camera_swin_fpn_30e_4xb8_j6gen2_base_120m"
experiment_name = "bevfusion_camera_swin_fpn_30e_8xb8_j6gen2_base_120m"
work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name

# model parameter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"../../../../../autoware_ml/configs/detection3d/dataset/t4dataset/j6gen2_base.py",
"../default/pipelines/default_camera_lidar_intensity_120m.py",
"../default/models/default_camera_swin_fpn_lidar_second_secfpn_120m.py",
"../default/schedulers/default_20e_4xb8_adamw_linear_cosine.py",
"../default/schedulers/default_20e_8xb8_adamw_linear_cosine.py",
"../default/default_misc.py",
]

Expand All @@ -16,7 +16,7 @@
info_directory_path = "info/user_name/"

experiment_group_name = "bevfusion_camera_lidar_intensity/j6gen2_base/" + _base_.dataset_type
experiment_name = "bevfusion_camera_lidar_voxel_second_secfpn_20e_4xb8_j6gen2_base_120m"
experiment_name = "bevfusion_camera_lidar_voxel_second_secfpn_20e_8xb8_j6gen2_base_120m"
work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name

# model parameter
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
_base_ = [
"../../../../../autoware_ml/configs/detection3d/default_runtime.py",
"../../../../../autoware_ml/configs/detection3d/dataset/t4dataset/jpntaxi_gen2_base.py",
"../../../../../autoware_ml/configs/detection3d/dataset/t4dataset/jpntaxi_base.py",
"../default/pipelines/default_camera_lidar_intensity_120m.py",
"../default/models/default_camera_swin_fpn_lidar_second_secfpn_120m.py",
"../default/schedulers/default_20e_4xb8_adamw_linear_cosine.py",
"../default/schedulers/default_20e_8xb8_adamw_linear_cosine.py",
"../default/default_misc.py",
]

Expand All @@ -15,8 +15,8 @@
data_root = "data/t4dataset/"
info_directory_path = "info/user_name/"

experiment_group_name = "bevfusion_camera_lidar_intensity/jpntaxi_gen2_base/" + _base_.dataset_type
experiment_name = "bevfusion_camera_lidar_voxel_second_secfpn_20e_4xb8_jpntaxi_gen2_base_120m"
experiment_group_name = "bevfusion_camera_lidar_intensity/jpntaxi_base/" + _base_.dataset_type
experiment_name = "bevfusion_camera_lidar_voxel_second_secfpn_20e_8xb8_jpntaxi_base_120m"
work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name

# model parameter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"../../../../../autoware_ml/configs/detection3d/dataset/t4dataset/j6gen2_base.py",
"../default/pipelines/default_offline_lidar_intensity_120m.py",
"../default/models/default_lidar_second_secfpn_120m.py",
"../default/schedulers/default_30e_4xb8_adamw_cosine.py",
"../default/schedulers/default_30e_8xb8_adamw_cosine.py",
"../default/default_misc.py",
]

Expand All @@ -16,7 +16,7 @@
info_directory_path = "info/user_name/"

experiment_group_name = "bevfusion_lidar_intensity_offline/j6gen2_base/" + _base_.dataset_type
experiment_name = "lidar_voxel_second_secfpn_30e_4xb8_j6gen2_base_120m"
experiment_name = "lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m"
work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name

# model parameter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"../../../../../autoware_ml/configs/detection3d/dataset/t4dataset/jpntaxi_gen2_base.py",
"../default/pipelines/default_offline_lidar_intensity_120m.py",
"../default/models/default_lidar_second_secfpn_120m.py",
"../default/schedulers/default_30e_4xb8_adamw_cosine.py",
"../default/schedulers/default_30e_8xb8_adamw_cosine.py",
"../default/default_misc.py",
]

Expand All @@ -16,7 +16,7 @@
info_directory_path = "info/user_name/"

experiment_group_name = "bevfusion_lidar_intensity_offline/jpntaxi_gen2_base/" + _base_.dataset_type
experiment_name = "lidar_voxel_second_secfpn_30e_4xb8_jpntaxi_gen2_base_120m"
experiment_name = "lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_gen2_base_120m"
work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name

# model parameter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"../default/pipelines/default_offline_lidar_120m.py",
"../models/default_lidar_second_secfpn_120m.py",
"../default/models/default_lidar_second_secfpn_120m.py",
"../default/schedulers/default_50e_4xb8_adamw_cosine.py",
"../default/schedulers/default_50e_8xb8_adamw_cosine.py",
"../default/default_misc.py",
]

Expand All @@ -17,7 +17,7 @@
info_directory_path = "info/user_name/"

experiment_group_name = "bevfusion_lidar_offline/base/" + _base_.dataset_type
experiment_name = "lidar_voxel_second_secfpn_50e_4xb8_base_120m"
experiment_name = "lidar_voxel_second_secfpn_50e_8xb8_base_120m"
work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name

# model parameter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"../../../../../autoware_ml/configs/detection3d/dataset/t4dataset/j6gen2_base.py",
"../default/pipelines/default_lidar_intensity_120m.py",
"../default/models/default_lidar_second_secfpn_120m.py",
"../default/schedulers/default_30e_4xb8_adamw_cosine.py",
"../default/schedulers/default_30e_8xb8_adamw_cosine.py",
"../default/default_misc.py",
]

Expand All @@ -13,10 +13,10 @@

# user setting
data_root = "data/t4dataset/"
info_directory_path = "info/user_name/"
info_directory_path = "info/kokseang_2_6_2/"

experiment_group_name = "bevfusion_lidar_intensity/j6gen2_base/" + _base_.dataset_type
experiment_name = "lidar_voxel_second_secfpn_30e_4xb8_j6gen2_base_120m"
experiment_group_name = "bevfusion_lidar_intensity_2.6.1/j6gen2_base/" + _base_.dataset_type
experiment_name = "lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m"
work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name

# model parameter
Expand Down Expand Up @@ -143,3 +143,5 @@
checkpoint=dict(type="CheckpointHook", interval=1, max_keep_ckpts=3, save_best="NuScenes metric/T4Metric/mAP"),
)
log_processor = dict(window_size=50)

load_from = "work_dirs/bevfusion_lidar_2.6.0/base/T4Dataset/lidar_voxel_second_secfpn_50e_8xb8_base_120m/epoch_50.pth"
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
_base_ = [
"./bevfusion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py",
]

# user setting
data_root = "data/t4dataset/"
info_directory_path = "info/kokseang_2_6_1/"

experiment_group_name = "bevfusion_lidar_intensity_2.6.1/j6gen2_base/" + _base_.dataset_type
experiment_name = "lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m_t4metric_v2"
work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name

# Add evaluator configs
perception_evaluator_configs = dict(
dataset_paths=_base_.data_root,
frame_id="base_link",
evaluation_config_dict=_base_.evaluator_metric_configs,
load_raw_data=False,
)

frame_pass_fail_config = dict(
target_labels=_base_.class_names,
# Matching thresholds per class (must align with `plane_distance_thresholds` used in evaluation)
matching_threshold_list=[2.0, 2.0, 2.0, 2.0, 2.0],
confidence_threshold_list=None,
)

training_statistics_parquet_path = (
_base_.data_root + _base_.info_directory_path + _base_.info_train_statistics_file_name
)
testing_statistics_parquet_path = _base_.data_root + _base_.info_directory_path + _base_.info_test_statistics_file_name
validation_statistics_parquet_path = (
_base_.data_root + _base_.info_directory_path + _base_.info_val_statistics_file_name
)

val_evaluator = dict(
_delete_=True,
type="T4MetricV2",
data_root=_base_.data_root,
ann_file=_base_.data_root + _base_.info_directory_path + _base_.info_val_file_name,
training_statistics_parquet_path=training_statistics_parquet_path,
testing_statistics_parquet_path=testing_statistics_parquet_path,
validation_statistics_parquet_path=validation_statistics_parquet_path,
output_dir="validation",
dataset_name="base",
perception_evaluator_configs=perception_evaluator_configs,
critical_object_filter_config=None,
frame_pass_fail_config=frame_pass_fail_config,
num_workers=64,
scene_batch_size=-1,
write_metric_summary=False,
class_names={{_base_.class_names}},
name_mapping={{_base_.name_mapping}},
experiment_name=experiment_name,
experiment_group_name=_base_.experiment_group_name,
)

test_evaluator = dict(
_delete_=True,
type="T4MetricV2",
data_root=_base_.data_root,
ann_file=_base_.data_root + _base_.info_directory_path + _base_.info_test_file_name,
training_statistics_parquet_path=training_statistics_parquet_path,
testing_statistics_parquet_path=testing_statistics_parquet_path,
validation_statistics_parquet_path=validation_statistics_parquet_path,
output_dir="testing",
dataset_name="base",
perception_evaluator_configs=perception_evaluator_configs,
critical_object_filter_config=None,
frame_pass_fail_config=frame_pass_fail_config,
num_workers=64,
scene_batch_size=-1,
write_metric_summary=True,
class_names={{_base_.class_names}},
name_mapping={{_base_.name_mapping}},
experiment_name=experiment_name,
experiment_group_name=_base_.experiment_group_name,
)
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
_base_ = [
"../../../../../autoware_ml/configs/detection3d/default_runtime.py",
"../../../../../autoware_ml/configs/detection3d/dataset/t4dataset/jpntaxi_gen2_base.py",
"../../../../../autoware_ml/configs/detection3d/dataset/t4dataset/jpntaxi_base.py",
"../default/pipelines/default_lidar_intensity_120m.py",
"../default/models/default_lidar_second_secfpn_120m.py",
"../default/schedulers/default_30e_4xb8_adamw_cosine.py",
"../default/schedulers/default_30e_8xb8_adamw_cosine.py",
"../default/default_misc.py",
]

Expand All @@ -13,10 +13,10 @@

# user setting
data_root = "data/t4dataset/"
info_directory_path = "info/user_name/"
info_directory_path = "info/kokseang_2_6_1/"

experiment_group_name = "bevfusion_lidar_intensity/jpntaxi_gen2_base/" + _base_.dataset_type
experiment_name = "lidar_voxel_second_secfpn_30e_4xb8_jpntaxi_gen2_base_120m"
experiment_group_name = "bevfusion_lidar_intensity_2.6.1/jpntaxi_base/" + _base_.dataset_type
experiment_name = "lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_base_120m"
work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name

# model parameter
Expand Down Expand Up @@ -143,3 +143,5 @@
checkpoint=dict(type="CheckpointHook", interval=1, max_keep_ckpts=3, save_best="NuScenes metric/T4Metric/mAP"),
)
log_processor = dict(window_size=50)

load_from = "work_dirs/bevfusion_lidar_2.6.0/base/T4Dataset/lidar_voxel_second_secfpn_50e_8xb8_base_120m/epoch_40.pth"
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
_base_ = [
"./bevfusion_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_base_120m.py",
]

# user setting
data_root = "data/t4dataset/"
info_directory_path = "info/kokseang_2_6_1/"

experiment_group_name = "bevfusion_lidar_intensity_2.6.1/jpntaxi_base/" + _base_.dataset_type
experiment_name = "lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_base_120m_t4metric_v2"
work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name

# Add evaluator configs
perception_evaluator_configs = dict(
dataset_paths=_base_.data_root,
frame_id="base_link",
evaluation_config_dict=_base_.evaluator_metric_configs,
load_raw_data=False,
)

frame_pass_fail_config = dict(
target_labels=_base_.class_names,
# Matching thresholds per class (must align with `plane_distance_thresholds` used in evaluation)
matching_threshold_list=[2.0, 2.0, 2.0, 2.0, 2.0],
confidence_threshold_list=None,
)

training_statistics_parquet_path = (
_base_.data_root + _base_.info_directory_path + _base_.info_train_statistics_file_name
)
testing_statistics_parquet_path = _base_.data_root + _base_.info_directory_path + _base_.info_test_statistics_file_name
validation_statistics_parquet_path = (
_base_.data_root + _base_.info_directory_path + _base_.info_val_statistics_file_name
)

val_evaluator = dict(
_delete_=True,
type="T4MetricV2",
data_root=_base_.data_root,
ann_file=_base_.data_root + _base_.info_directory_path + _base_.info_val_file_name,
training_statistics_parquet_path=training_statistics_parquet_path,
testing_statistics_parquet_path=testing_statistics_parquet_path,
validation_statistics_parquet_path=validation_statistics_parquet_path,
output_dir="validation",
dataset_name="base",
perception_evaluator_configs=perception_evaluator_configs,
critical_object_filter_config=None,
frame_pass_fail_config=frame_pass_fail_config,
num_workers=64,
scene_batch_size=-1,
write_metric_summary=False,
class_names={{_base_.class_names}},
name_mapping={{_base_.name_mapping}},
experiment_name=experiment_name,
experiment_group_name=_base_.experiment_group_name,
)

test_evaluator = dict(
_delete_=True,
type="T4MetricV2",
data_root=_base_.data_root,
ann_file=_base_.data_root + _base_.info_directory_path + _base_.info_test_file_name,
training_statistics_parquet_path=training_statistics_parquet_path,
testing_statistics_parquet_path=testing_statistics_parquet_path,
validation_statistics_parquet_path=validation_statistics_parquet_path,
output_dir="testing",
dataset_name="base",
perception_evaluator_configs=perception_evaluator_configs,
critical_object_filter_config=None,
frame_pass_fail_config=frame_pass_fail_config,
num_workers=64,
scene_batch_size=-1,
write_metric_summary=True,
class_names={{_base_.class_names}},
name_mapping={{_base_.name_mapping}},
experiment_name=experiment_name,
experiment_group_name=_base_.experiment_group_name,
)
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"../../../../../autoware_ml/configs/detection3d/dataset/t4dataset/base.py",
"../default/pipelines/default_lidar_120m.py",
"../default/models/default_lidar_second_secfpn_120m.py",
"../default/schedulers/default_50e_4xb8_adamw_cosine.py",
"../default/schedulers/default_50e_8xb8_adamw_cosine.py",
"../default/default_misc.py",
]

Expand All @@ -13,10 +13,10 @@

# user setting
data_root = "data/t4dataset/"
info_directory_path = "info/user_name/"
info_directory_path = "info/kokseang_2_6_2/"

experiment_group_name = "bevfusion_lidar/base/" + _base_.dataset_type
experiment_name = "lidar_voxel_second_secfpn_50e_4xb8_base_120m"
experiment_group_name = "bevfusion_lidar_2.6.0/base/" + _base_.dataset_type
experiment_name = "lidar_voxel_second_secfpn_50e_8xb8_base_120m"
work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name

# model parameter
Expand Down Expand Up @@ -143,3 +143,5 @@
checkpoint=dict(type="CheckpointHook", interval=1, max_keep_ckpts=3, save_best="NuScenes metric/T4Metric/mAP"),
)
log_processor = dict(window_size=50)

resume = True
Loading