All Projects → liruoteng → Opticalflowtoolkit

liruoteng / Opticalflowtoolkit

Licence: mit
Python-based optical flow toolkit for existing popular dataset

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Opticalflowtoolkit

Back2future.pytorch
Unsupervised Learning of Multi-Frame Optical Flow with Occlusions
Stars: ✭ 104 (-52.51%)
Mutual labels:  optical-flow
Deep Learning For Tracking And Detection
Collection of papers, datasets, code and other resources for object tracking and detection using deep learning
Stars: ✭ 1,920 (+776.71%)
Mutual labels:  optical-flow
Hidden Two Stream
Caffe implementation for "Hidden Two-Stream Convolutional Networks for Action Recognition"
Stars: ✭ 179 (-18.26%)
Mutual labels:  optical-flow
Vcn
Volumetric Correspondence Networks for Optical Flow, NeurIPS 2019.
Stars: ✭ 118 (-46.12%)
Mutual labels:  optical-flow
Video2tfrecord
Easily convert RGB video data (e.g. .avi) to the TensorFlow tfrecords file format for training e.g. a NN in TensorFlow. This implementation allows to limit the number of frames per video to be stored in the tfrecords.
Stars: ✭ 137 (-37.44%)
Mutual labels:  optical-flow
Frvsr
Frame-Recurrent Video Super-Resolution (official repository)
Stars: ✭ 157 (-28.31%)
Mutual labels:  optical-flow
Ficm
🎮 [IJCAI'20][ICLR'19 Workshop] Flow-based Intrinsic Curiosity Module. Playing SuperMario with RL agent and FICM!
Stars: ✭ 92 (-57.99%)
Mutual labels:  optical-flow
Df Net
[ECCV 2018] DF-Net: Unsupervised Joint Learning of Depth and Flow using Cross-Task Consistency
Stars: ✭ 190 (-13.24%)
Mutual labels:  optical-flow
Flownet2 Docker
Dockerfile and runscripts for FlowNet 2.0 (estimation of optical flow)
Stars: ✭ 137 (-37.44%)
Mutual labels:  optical-flow
Py Denseflow
Extract TVL1 optical flows in python (multi-process && multi-server)
Stars: ✭ 159 (-27.4%)
Mutual labels:  optical-flow
Densematchingbenchmark
Dense Matching Benchmark
Stars: ✭ 120 (-45.21%)
Mutual labels:  optical-flow
Arflow
The official PyTorch implementation of the paper "Learning by Analogy: Reliable Supervision from Transformations for Unsupervised Optical Flow Estimation".
Stars: ✭ 134 (-38.81%)
Mutual labels:  optical-flow
Spynet
Spatial Pyramid Network for Optical Flow
Stars: ✭ 158 (-27.85%)
Mutual labels:  optical-flow
Pwc Net pytorch
pytorch implementation of "PWC-Net: CNNs for Optical Flow Using Pyramid, Warping, and Cost Volume"
Stars: ✭ 111 (-49.32%)
Mutual labels:  optical-flow
Clover
ROS-based framework and RPi image to control PX4-powered drones 🍀
Stars: ✭ 177 (-19.18%)
Mutual labels:  optical-flow
Ddflow
DDFlow: Learning Optical Flow with Unlabeled Data Distillation
Stars: ✭ 101 (-53.88%)
Mutual labels:  optical-flow
Tfvos
Semi-Supervised Video Object Segmentation (VOS) with Tensorflow. Includes implementation of *MaskRNN: Instance Level Video Object Segmentation (NIPS 2017)* as part of the NIPS Paper Implementation Challenge.
Stars: ✭ 151 (-31.05%)
Mutual labels:  optical-flow
Liteflownet2
A Lightweight Optical Flow CNN - Revisiting Data Fidelity and Regularization, TPAMI 2020
Stars: ✭ 195 (-10.96%)
Mutual labels:  optical-flow
Opticalflow visualization
Python optical flow visualization following Baker et al. (ICCV 2007) as used by the MPI-Sintel challenge
Stars: ✭ 183 (-16.44%)
Mutual labels:  optical-flow
Pysteps
Python framework for short-term ensemble prediction systems.
Stars: ✭ 159 (-27.4%)
Mutual labels:  optical-flow

OPTICAL FLOW TOOLKIT v0.1

RUOTENG LI

20 July 2016

996.icu LICENSE

This toolkit is a python implementation for read, write, calculate, and visualize KITTI 2012 Optical Flow, which contains 200 training and 200 test image pairs each. Ground truth has been aquired by accumulating 3D point clouds from a 360 degree Velodyne HDL-64 Laserscanner according to Andreas Geiger [].

File description:

=================

  • lib/kittitool.py : toolkit for KITTI optical flow dataset
  • demo.py : demonstration on read and visualize KITTI optical flow data
  • lib/flowlib.py : library for manipulate optical flow ...

1. Pre-Requisite:

  1. Python2.7
  2. Numpy and Scipy
  3. Matplotlib
  4. pypng package

2. Installation:

2.1 Installing Python and Pip

You may want to get started on a Unix environment such as Ubuntu, or Linux OS, and use pip to manage python package installation. pip installation guide Briefly for Linux user:

python get-pip.py

2.2 Install Scipy Numpy

sudo pip install scipy
sudo pip install numpy

2.3 Install Matplotlib

pip install matplotlib

2.4 Install PyPng

sudo pip install pypng

3. Usage

python demo.py

4. Scripts for Training Loss Visualization

In your terminal, locate the root directory of this repository, type the following

cd scripts/
python plot_loss.py <YOUR TRAINING LOG FILE>

The plot will be saved with the same name of your logfile in .png format.

5. Scripts for Data Manipulation

5.1 random_crop.py

This program crops the original image data set into small patches specified by the input, by default the size is 384x512 (px). Please make sure that your input image is larger than the patches you want to get. The cropping distribution is uniform across the entire image.

python random_crop.py <name_of_dataset> <number_of_patches> --height <height_of_output_patch> --width <width_of_output_patch>

The patches will be generated at folder and the following files will be generated for CNN training:

  • flo_list.txt
  • img1_list.txt
  • img2_list.txt

5.2 create_filelist

This program create three file lists that containing all the paths of the images/flow files from a dataset. The output of this program will be one single file "filelist.txt" that contains the file path you want to search in the dataset.

python create_filelist.py <file_format> --input_dir <path_of_dataset> --output_dir <output_path>

5.3 crop_flow.py

This program crops the image files and flow files from a dataset at a specific location.

python crop_flow.py <input_dir> <output_dir> <x> <y> <height_of_patch> <width_of_patch> --image_format <format_of_image> --flow_format <format_of_flow>

5.4 segment_flow.py

This script segment the flow into 9 classes according to the flow orientation. Each 45 degree will be recognized into one class starting from 0 degree on x axis.

python segment_flow.py <format_of_flowfile> <input_directory> --output_dir <output_directory>
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].