https://github.com/qcraftai/simtrack
3D MOT 중 JDT(Joint Detection and Tracking) method를 사용한 논문의 코드.
test 데이터로 Nuscenes mini dataset을 이용하였다.(코드 상으로 trainval사용하도록 되어있음)
왜인지 윈도우에서는 compiler 충돌이 일어나서 테스트는 우분투 상에서 진행하였음.
환경 설정
Requirements
- Python 3.6 or higher
- PyTorch 1.1 or higher
- CUDA 10.0 or higher
- CMake 3.13.2 or higher
Setup
git clone https://github.com/qcraftai/simtrack.git
cd simtrack
pip install -r requirements.txt
이 때, opencv-python과 opencv-contrib-python을 최신 버전으로 하면 오류가 발생하여 버전을 낮추어 4.2.0.32로 진행하였음.
#Compile CUDA code for IOU3D_NMS.
cd det3d/ops/iou3d_nms
python setup.py build_ext --inplace
Data Preparation
$python create_data.py nuscenes_data_prep --root_path=NUSCENES_TRAINVAL_DATASET_ROOT --version="v1.0-mini" --nsweeps=10
환경변수 문제(?)로 create_data.py를 tools밖으로 꺼내 실행하였음.
Test
simtrack 폴더 내부에 data폴더를 만들고 nuscenes mini dataset과 Data preparation 결과를 넣었음.
$python val_nusc_tracking.py examples/point_pillars/configs/nusc_all_pp_centernet_tracking.py --checkpoint CHECKPOINTFILE --work_dir SAVE_DIR
마찬가지로 val_nusc_tracking.py를 tools에서 꺼내 실행하였음.
checkpoint같은 경우 pretrained weight를 저자가 제공하여 그것을 이용하였다.(/model_zoo/simtrack_pillar.pth)
test데이터를 nuscenes trainval에서 mini로 변경함에 따라 코드를 약간 수정하였음.
#val_nusc_tracking.py
nusc = NuScenes(version='v1.0-mini', dataroot='data/', verbose=True) #line66
#nusc_all_pp_center_tracking.py
data_root = "data/" #line87
db_info_path="data/dbinfos_train_1sweeps.pkl", #line92
train_anno = "data/infos_train_10sweeps_tracking.pkl" #line173
val_anno = "data/infos_val_10sweeps_tracking.pkl" #line174
#det3d/.../nuscenes.py
version="v1.0-mini", #line39
eval_set='mini_val', #line376
nusc_version="v1.0-mini", #line379
결과
'Code > 3D tracking' 카테고리의 다른 글
simple track data format (0) | 2023.10.08 |
---|---|
simple track_def load gt() (0) | 2023.10.06 |
Simple Track Inference (0) | 2023.10.04 |
Simple Track Preprocessing (0) | 2023.10.04 |
nuScenes tracking data (0) | 2023.10.03 |