MasterBin-IIAU / CSA

Licence: other
Official implementation of CVPR2020 Paper "Cooling-Shrinking Attack"

Programming Languages

python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
shell
77523 projects
matlab
3953 projects
TeX
3793 projects

Projects that are alternatives of or similar to CSA

SiamFusion
No description or website provided.
Stars: ✭ 26 (-45.83%)
Mutual labels:  object-tracking
survey-computer-vision-2021
2021年计算机视觉技术综述分类汇总
Stars: ✭ 54 (+12.5%)
Mutual labels:  object-tracking
Squot
Squeak Object Tracker - Version control for arbitrary objects, currently with Git storage
Stars: ✭ 45 (-6.25%)
Mutual labels:  object-tracking
chainer-sort
Simple, Online, Realtime Tracking of Multiple Objects (SORT) implementation for Chainer and ChainerCV.
Stars: ✭ 20 (-58.33%)
Mutual labels:  object-tracking
rpi-urban-mobility-tracker
The easiest way to count pedestrians, cyclists, and vehicles on edge computing devices or live video feeds.
Stars: ✭ 75 (+56.25%)
Mutual labels:  object-tracking
mosse-object-tracking
This is the implementation of MOSSE tracking algorithm (correlation filter based).
Stars: ✭ 89 (+85.42%)
Mutual labels:  object-tracking
video labeler
A GUI tool for conveniently label the objects in video, using the powerful object tracking.
Stars: ✭ 87 (+81.25%)
Mutual labels:  object-tracking
robotics-level-4
This repo contains projects created using TensorFlow-Lite on Raspberry Pi and Teachable Machine. AI and ML capabilities have been integrated with Robot's software.
Stars: ✭ 34 (-29.17%)
Mutual labels:  object-tracking
pytorch-detect-to-track
A pytorch implementation of Detect and Track (https://arxiv.org/abs/1710.03958)
Stars: ✭ 114 (+137.5%)
Mutual labels:  object-tracking
OpenMultiTracker
Tracker that uses computer vision methods to track players on the hockey field
Stars: ✭ 18 (-62.5%)
Mutual labels:  object-tracking
USOT
[ICCV2021] Learning to Track Objects from Unlabeled Videos
Stars: ✭ 52 (+8.33%)
Mutual labels:  object-tracking
objtrack
实现常用的目标跟踪算法
Stars: ✭ 22 (-54.17%)
Mutual labels:  object-tracking
zero-shot-object-tracking
Object tracking implemented with the Roboflow Inference API, DeepSort, and OpenAI CLIP.
Stars: ✭ 242 (+404.17%)
Mutual labels:  object-tracking
ailia-models
The collection of pre-trained, state-of-the-art AI models for ailia SDK
Stars: ✭ 1,102 (+2195.83%)
Mutual labels:  object-tracking
object-tracking
Multiple Object Tracking System in Keras + (Detection Network - YOLO)
Stars: ✭ 89 (+85.42%)
Mutual labels:  object-tracking
Prediction-using-Bayesian-Neural-Network
Prediction of continuous signals data and Web tracking data using dynamic Bayesian neural network. Compared with other network architectures aswell.
Stars: ✭ 28 (-41.67%)
Mutual labels:  object-tracking
d3d
Devkit for 3D -- Some utils for 3D object detection based on Numpy and Pytorch
Stars: ✭ 27 (-43.75%)
Mutual labels:  object-tracking
SiamFC-tf
A TensorFlow implementation of the SiamFC tracker, use with your own camera and video, or integrate to your own project 实时物体追踪,封装API,可整合到自己的项目中
Stars: ✭ 22 (-54.17%)
Mutual labels:  object-tracking
TrackNet-Badminton-Tracking-tensorflow2
TrackNet for badminton tracking using tensorflow2
Stars: ✭ 37 (-22.92%)
Mutual labels:  object-tracking
ObjectTracking
Object Detection and Tracking based on C++ and OpenCV
Stars: ✭ 23 (-52.08%)
Mutual labels:  object-tracking

Cooling-Shrinking Attack (CSA)

The official implementation for CVPR2020 Paper Cooling-Shrinking Attack: Blinding the tracker with imperceptible noises

Demos

Demos for Cooling-Shrinking Attack.

Please cite our work as follows, if you find it helpful to your research. :)

@inproceedings{CSA-CVPR2020,
author = {Bin Yan and Dong Wang and Huchuan Lu and Xiaoyun Yang},
title = {{Cooling-Shrinking Attack: Blinding} the Tracker with Imperceptible Noises},
booktitle = {CVPR},
year = {2020}
}

Installation

This code has been tested on the following environment:
       NVIDIA RTX-2080Ti
       Ubuntu 16.04
       CUDA 10.0

Clone the repository

git clone https://github.com/MasterBin-IIAU/CSA.git
cd <Project_name>

Create Environment

conda create -n CSA python=3.6
source activate CSA
conda install pytorch=1.0.0 torchvision cuda100 -c pytorch
pip install -r requirements.txt
conda install pillow=6.1

Prepare the training set (optional)

  1. Download the training set of GOT-10K.
  2. Then change 'got10k_path' and 'save_path' in Unified_GOT10K_process.py to yours.
  3. Finally, run the following script.
    (it takes a long time. After running it, you can do the next steps :)
python Unified_GOT10K_process.py

Download pretrained models

  1. SiamRPN++(Model_Zoo)
    Download siamrpn_r50_l234_dwxcorr and siamrpn_r50_l234_dwxcorr_otb
    Put them under pysot/experiments/<MODEL_NAME>
  2. Perturbation Generators
    Download checkpoints you need, then put them under checkpoints/<MODEL_NAME>/
    (Google Drive, Baidu[Extraction code: 98rb])

Set some paths

Step1: Add pix2pix and pysot to environment variables

sudo gedit ~/.bashrc
# add the following two lines to the end
export PYTHONPATH=<CSA_PATH>:$PYTHONPATH
export PYTHONPATH=<CSA_PATH>/pysot:$PYTHONPATH
export PYTHONPATH=<CSA_PATH>/pix2pix:$PYTHONPATH
# close the file
source ~/.bashrc

step2: Set another paths

  1. Gather testing datasets
    create a folder outside the project folder as <DATASET_ROOT>
    then put soft links for OTB100, VOT2018 and LaSOT into it
  2. Set 'project_path_' and 'dataset_root_' Open common_path.py, go to the end
    project_path_ = <CSA_PATH>
    dataset_root_ = <DATASET_ROOT> train_set_path_ = <TRAIN_SET_PATH>

Training (Optional)

Option1: Use Default Settings
Train a generator for attacking search regions (Cooling+Shrinking)

python train1.py # See visualization in http://localhost:8097/

Train a generator for attacking search regions (Only Cooling)

python train0.py # See visualization in http://localhost:8096/

Option2: Change Settings
       If you want to train other models (like the generator for attacking the template), you can change the lines 23 and 24 in pix2pix/options/base_option0.py (or base_option1.py). In specific, modify the default values to 'G_template_L2_500' (or 'G_template_L2_500_regress'). Then run python train0.py or python train1.py
Option3: Train Your Own Models
Step1: Create a new python file under pix2pix/models.
       You can copy a file that belongs to this folder, then develop based on it. Note that the class name must match the filename.
Step2: Change default values and train (Do as instructions in Option2)

Testing

open common_path.py, choose the dataset and siamese model to use.
open GAN_utils_xx.py, choose the generator model to use.
cd pysot/tools
run experiments about attcking search regions

python run_search_adv0.py # or run_search_adv1.py

run experiments about attacking the template

python run_template_adv0.py # or run_template_adv1.py

run experiments about attacking both search regions and the template

python run_template_search_adv0.py # or run_template_search_adv1.py
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].