項目名稱為Evidential Detection and Tracking Collaboration,主要用于強大的反無人機系統,涉及新問題、基準和算法研究。下面介紹項目的復現步驟:
- 安裝環境:使用Anaconda創建并激活名為
edtc
的虛擬環境,Python版本為3.6,然后執行bash install_pytorch17.sh
腳本安裝相關依賴。
conda create -n edtc python=3.6
conda activate edtc
bash install_pytorch17.sh
- 訓練YOLO檢測器
- 編輯數據集設置文件
/path/to/EDTC/yolov5/data/antiuav.yaml
,配置數據集路徑等信息。 - 進入
/path/to/EDTC/yolov5
目錄,執行python train.py
開始訓練YOLO檢測器。
- 編輯數據集設置文件
cd /path/to/EDTC/yolov5
python train.py
- 訓練跟蹤分支
- 運行
python tracking/create_default_local_file.py --workspace_dir . --data_dir ./data --save_dir .
命令設置項目路徑,之后可通過編輯lib/train/admin/local.py
(訓練路徑相關)、experiments/uavtrack/baseline.yaml
(階段1訓練路徑相關)、experiments/uavtrack_eh/baseline.yaml
(階段2訓練路徑相關)文件修改路徑。 - 階段1訓練:執行
python tracking/train.py --script uavtrack --config baseline --save_dir . --mode multiple --nproc_per_node 8
命令進行訓練。 - 階段2訓練:執行
python tracking/train.py --script uavtrack_eh --config baseline --save_dir /PATH/TO/SAVE/UAVTRACK_EH --mode multiple --nproc_per_node 8 --stage1_model /STAGE1/MODEL/PATH
命令進行訓練,需指定階段1模型的路徑。
- 運行
- 在AntiUAV600數據集上評估
- 從[Models and Raw results](Google Driver)下載預訓練模型。
- 編輯
lib/test/evaluation/local.py
(測試路徑相關)和experiments/uavtrack_eh/baseline.yaml
(YOLO預訓練模型路徑,修改其中第133 - 134行)文件,設置相關路徑。 - 設置環境變量:
export PYTHONPATH=$PYTHONPATH:/path/to/EDTC
export PYTHONPATH=$PYTHONPATH:/path/to/EDTC/yolov5
- 運行評估命令:`python tracking/test.py uavtrack_eh baseline --dataset antiuav --threads 32 --num_gpus 8 --params__model /path/to/UAVTrackEH.pth.tar --params__search_area_scale 4.55`。若要可視化跟蹤結果,需編輯`/path/to/EDTC/lib/test/evaluation/environment.py`文件的第27行,將`self.show_result`設置為`True`。
- 執行`python tracking/evaluate_antiuav_performance.py`命令獲取評估指標。
在復現過程中,若數據集尚未發布,需等待數據集發布后獲取并按要求放置在指定路徑。同時,確保各路徑設置正確,若涉及多GPU訓練,需保證GPU環境正常且符合代碼要求。