TensorFlow code for unsupervised optical flow learning research
Top 89.1% on sourcepulse
This repository provides a TensorFlow implementation of UnFlow, a method for unsupervised learning of optical flow using a bidirectional census loss. It is targeted at researchers and practitioners in computer vision and deep learning who need to compute optical flow without ground truth data. The primary benefit is enabling robust optical flow estimation in scenarios where ground truth is unavailable or expensive to obtain.
How It Works
UnFlow trains deep networks end-to-end for dense optical flow estimation without requiring ground truth flow. It utilizes a novel unsupervised proxy loss, specifically a bidirectional census loss, which enforces consistency between forward and backward flow predictions. This approach allows the model to learn meaningful flow representations from readily available video sequences.
Quick Start & Requirements
pip
.tensorflow-gpu
(>= 1.7), CUDA, CuDNN. Requires NVIDIA GPU (8GB+ recommended, 11-12GB for stacked variants).config_template/config.ini
and run experiments using python run.py --ex <experiment_name>
.Highlighted Details
Maintenance & Community
The project was released in 2018. The author notes potential compatibility issues with newer TensorFlow versions due to unstable custom op compilation and is currently too busy to update the code, welcoming contributions.
Licensing & Compatibility
Released under the MIT License, permitting commercial use and closed-source linking.
Limitations & Caveats
The project may have compatibility issues with recent TensorFlow versions due to custom op compilation. The author is seeking contributions to address these issues. Training can be time-consuming, especially with limited GPU memory.
5 years ago
1 day