|
|
pre-trained weights
https://github.com/priest-yang/VADv2/issues/1
https://github.com/priest-yang/VADv2
2. SparseDrive (S/B)
BEV grid 대신 객체 중심의 instance Feature과 Geometric Anchor를 사용하여
주행 환경을 Sparse하게 표현하는 E2E model이다.
https://arxiv.org/pdf/2405.19620
https://github.com/swc-17/sparsedrive
https://build.nvidia.com/nvidia/sparsedrive/modelcard
결과 비교
https://github.com/swc-17/sparsedrive
pre-trained weight
https://github.com/swc-17/SparseDrive/blob/main/docs/quick_start.md
사전에 알아야 할 논문
https://arxiv.org/abs/2211.10581
https://arxiv.org/pdf/2005.12872
3. DiffusionDrive
SparseDrive의 학습/추론 프로토콜을 그대로 따른다.
truncated diffusion 기반 planning head만 얹은 구조, 추가 학습 비용이 제일 적다.
동일 조건에서 VAD보다 빠르게 동작하며 점수도 좋다.
https://arxiv.org/pdf/2411.15139
https://github.com/hustvl/DiffusionDrive
pre-trained weight
https://github.com/hustvl/diffusiondrive#checkpoint
DiffusionDrivev2
https://arxiv.org/abs/2512.07745
https://github.com/hustvl/DiffusionDriveV2
https://github.com/hustvl/DiffusionDriveV2/blob/master/docs/train_eval.md
Baseline Framework
VAD : https://github.com/hustvl/VAD
https://github.com/hustvl/VAD/blob/main/docs/install.md
Ubuntu22.04
https://github.com/hustvl/VAD/blob/main/docs/prepare_dataset.md
https://www.nuscenes.org/download
위의 폴더들을 다운 받아서 data 디렉터리에 압축해제하면 된다.
https://github.com/hustvl/VAD/blob/main/docs/train_eval.md
https://github.com/hustvl/VAD/blob/main/README.md
model을 다운 받아서 resnet-backbone과 같은 디렉터리에 위치해두면 된다.
evaluation 진행
| CUDA_VISIBLE_DEVICES=0 python tools/test.py \ projects/configs/VAD/VAD_base_e2e.py \ ckpts/VAD_base.pth \ --launcher none --eval bbox --tmpdir tmp |
원인은 mini 데이터셋이 너무 작아서 특정 클래스(차량/보행자 등)의 카운트가 0이 되어 나누기 에러가 나는 것이라고 한다.
(실제로 지표가 터미널에 안 뜸)
현재 알고 싶었던 건 FLOPs였기 때문에 이를 측정해보면 된다.
mmcv의 flops_counter (add_flops_counting_methods, compute_average_flops_cost)
thop이나 별도 FLOPs 라이브러리가 아니라, mmdetection3d/mmcv 생태계에 이미 내장된 카운터를 사용했다.
VAD는 표준 forward_dummy()(단순 이미지 텐서 하나만 받는 더미 입력)로는 동작하지 않는 구조다.
(scene_token, can_bus 등 실제 데이터에만 있는 필드를 내부에서 직접 참조)
더미 입력 대신 실제 nuScenes(mini) val 데이터로더에서 뽑은 진짜 배치 1개를 모델에 흘려보내면서
그 경로에서 실행되는 모든 레이어의 연산량을 후킹(hook)해서 합산하는 방식을 썼다.
정확하지 않지만 대략 이정도로 생각하면 될 듯하다.
첫댓글 후보모델 3개 선정하고 팀원이 분담하여 개발할것