ZhaoJ9014 / Anti-UAV

🔥🔥Official Repository for Anti-UAV🔥🔥
MIT License
317 stars 52 forks source link

Anti-Unmanned Aerial Vehicle (UAV)

License

The project of Anti-UAV is released under the MIT License.


News

:white_check_mark: 07 June 2024: We have released the Jittor version of Anti-UAV for domestic hardware support and inference speed up. :blush:

:white_check_mark: 04 July 2024: We have released the Jittor version of Anti-UAV410 for domestic hardware support and inference speed up. :blush:

:white_check_mark: 21 August 2024: We have released the Jittor version of Anti-UAV_EDTC for domestic hardware support and inference speed up. :blush:


Originality

To our best knowledge, we are the first to propose a new Anti-UAV task, corresponding datasets, evaluation metrics and baseline methods, with both PyTorch and Jittor support (Jittor Official News, BSIG Official News).


Contents


Task Definition

Anti-UAV refers to discovering, detecting, recognizing, and tracking Unmanned Aerial Vehicle (UAV) targets in the wild and simultaneously estimate the tracking states of the targets given RGB and/or Thermal Infrared (IR) videos. When the target disappears, an invisible mark of the target needs to be given. A lot of higher-level applications can be founded upon anti-UAV, such as security of important area, defense against UAV attack, and automated continuous protection from potential threat caused by UAV instrusion.


Motivation


Environment Setup

Refer to: 3rd_Anti-UAV_CVPR2023.

Note:


Data Preparation

Currently, we offer three public datasets for the ANTI-UAV task.

Dataset Google Drive Baidu Drive
Anti-UAV300 link Password:sagx
Anti-UAV410 N/A Password:wfds
Anti-UAV600 modelscope N/A

Evaluation Metrics

We define the tracking accuracy as:

For frame t, IoU_t is Intersection over Union (IoU) between the predicted tracking box and its corresponding ground-truth box, p_t is the predicted visibility flag, it equals 1 when the predicted box is empty and 0 otherwise. The v_t is the ground-truth visibility flag of the target, the indicator function δ(v_t>0) equals 1 when v_t > 0 and 0 otherwise. The accuracy is averaged over all frames in a sequence, T indicates total frames and T^* denotes the number of frames corresponding to the presence of the target in the ground-truth.


Training and Inference

Currently, we have some problems with training in Jittor, but you can still try to run the commands as follows:

cd {PROJECT_ROOT}/anti_uav_jittor
python ltr/run_training.py modal modal

Or you can train the model with PyTorch.

Also, if you have any suggestions on how to do it, feel free to open an issue!

In the root path of the project, run the command python pysot_toolkit/test.py


Notebooks

We provide a demo notebook in anti_uav_jittor/demo.ipynb that can help developers better understand the workflow of this demo.


Model Zoo

:monkey:

Keep updating...


FAQs

We will keep updating this section, so feel free to open an issue.

1. Q: When I run the training command, there is an error indicating that setting an array element with a sequence, the requested array has an inhomogeneous shape. A: In AntiFusion.py, set `visible_data = np.array, dtype = object`.

Achievement





Citation