All Projects → anuragranj → flowattack

anuragranj / flowattack

Licence: other
Attacking Optical Flow (ICCV 2019)

Programming Languages

python
139335 projects - #7 most used programming language
Cuda
1817 projects

Projects that are alternatives of or similar to flowattack

Joint-Motion-Estimation-and-Segmentation
[MICCAI'18] Joint Learning of Motion Estimation and Segmentation for Cardiac MR Image Sequences
Stars: ✭ 45 (-22.41%)
Mutual labels:  optical-flow
SimP-GCN
Implementation of the WSDM 2021 paper "Node Similarity Preserving Graph Convolutional Networks"
Stars: ✭ 43 (-25.86%)
Mutual labels:  adversarial-attacks
EPC
Every Pixel Counts ++: Joint Learning of Geometry and Motion with 3D Holistic Understanding
Stars: ✭ 27 (-53.45%)
Mutual labels:  optical-flow
mmflow
OpenMMLab optical flow toolbox and benchmark
Stars: ✭ 711 (+1125.86%)
Mutual labels:  optical-flow
Pro-GNN
Implementation of the KDD 2020 paper "Graph Structure Learning for Robust Graph Neural Networks"
Stars: ✭ 202 (+248.28%)
Mutual labels:  adversarial-attacks
geometric adv
Geometric Adversarial Attacks and Defenses on 3D Point Clouds (3DV 2021)
Stars: ✭ 20 (-65.52%)
Mutual labels:  adversarial-attacks
Unflow
UnFlow: Unsupervised Learning of Optical Flow with a Bidirectional Census Loss
Stars: ✭ 239 (+312.07%)
Mutual labels:  optical-flow
CorrelationLayer
Pure Pytorch implementation of Correlation Layer that commonly used in learning based optical flow estimator
Stars: ✭ 22 (-62.07%)
Mutual labels:  optical-flow
humanflow2
Official repository of Learning Multi-Human Optical Flow (IJCV 2019)
Stars: ✭ 37 (-36.21%)
Mutual labels:  optical-flow
flow1d
[ICCV 2021 Oral] High-Resolution Optical Flow from 1D Attention and Correlation
Stars: ✭ 91 (+56.9%)
Mutual labels:  optical-flow
grb
Graph Robustness Benchmark: A scalable, unified, modular, and reproducible benchmark for evaluating the adversarial robustness of Graph Machine Learning.
Stars: ✭ 70 (+20.69%)
Mutual labels:  adversarial-attacks
CrowdFlow
Optical Flow Dataset and Benchmark for Visual Crowd Analysis
Stars: ✭ 87 (+50%)
Mutual labels:  optical-flow
POPQORN
An Algorithm to Quantify Robustness of Recurrent Neural Networks
Stars: ✭ 44 (-24.14%)
Mutual labels:  adversarial-attacks
Optical-Flow-based-Obstacle-Avoidance
Image based obstacle avoidance using optical flow
Stars: ✭ 24 (-58.62%)
Mutual labels:  optical-flow
video features
Extract video features from raw videos using multiple GPUs. We support RAFT and PWC flow frames as well as S3D, I3D, R(2+1)D, VGGish, CLIP, ResNet features.
Stars: ✭ 225 (+287.93%)
Mutual labels:  optical-flow
Maskflownet
[CVPR 2020, Oral] MaskFlownet: Asymmetric Feature Matching with Learnable Occlusion Mask
Stars: ✭ 242 (+317.24%)
Mutual labels:  optical-flow
generative adversary
Code for the unrestricted adversarial examples paper (NeurIPS 2018)
Stars: ✭ 58 (+0%)
Mutual labels:  adversarial-attacks
PyTrx
PyTrx is a Python object-oriented programme created for the purpose of calculating real-world measurements from oblique images and time-lapse image series. Its primary purpose is to obtain velocities, surface areas, and distances from oblique, optical imagery of glacial environments.
Stars: ✭ 31 (-46.55%)
Mutual labels:  optical-flow
AdvPC
AdvPC: Transferable Adversarial Perturbations on 3D Point Clouds (ECCV 2020)
Stars: ✭ 35 (-39.66%)
Mutual labels:  adversarial-attacks
GuidedNet
Caffe implementation for "Guided Optical Flow Learning"
Stars: ✭ 28 (-51.72%)
Mutual labels:  optical-flow

Flow Attack

This is an official repository of

Anurag Ranjan, Joel Janai, Andreas Geiger, Michael J. Black. Attacking Optical Flow. ICCV 2019.

[Project Page] [Arxiv]

Known Issues

  • To obtain the batch, use the learning rate of 1e3 and 1e4. For each learning rate, run at least five different trials for 30 epochs.
  • The best patch for FlowNetC was obtained with LR of 1e3 and for FlowNet2 was obtained with LR of 1e4.

Prerequisites

Python3 and pytorch are required. Third party libraries can be installed (in a python3 virtualenv) using:

pip3 install -r requirements.txt

Install custom cuda layers for FlowNet2 using

bash install_flownet2_deps.sh

Preparing training data

Download the KITTI dataset using this script provided on the official website, and then run the following command.

python3 data/prepare_train_data.py /path/to/raw/kitti/dataset/ --dataset-format 'kitti' --dump-root /path/to/resulting/formatted/data/ --width 1280 --height 384 --num-threads 1 --with-gt

For testing optical flow ground truths on KITTI, download KITTI2015 dataset.

Pretrained Models

Download the pretrained models for FlowNetC, FlowNet2, PWC-Net. The pretrained models for SPyNet and Back2Future are provided with this repository.

Generating Adversarial Patches

White-Box Attacks

In the White-Box attacks we optimize a patch for a single network. We use gradient descent as described in the paper. Use the following command to generate an adversarial patch for a specific network architecture using the prepared dataset:

python3 main.py --data [Path to prepared dataset] --kitti-data [Path to KITTI 2015 test set] --flownet [FlowNetS|FlowNetC|FlowNet2|PWCNet|Back2Future|SpyNet] --patch-size 0.10 --name [Name of the experiment]

The patch size is specified in percentage of the training image size (default: 256). All other arguments such as the learning rate, epoch size, etc are set to the values used in our experiments. For details please check main.py

Acknowledgements

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].