Skip to main content
https://badge.fury.io/py/farneback3d.svg https://travis-ci.org/theHamsta/farnback3d.svg?branch=master

A CUDA implementation of the Farneback optical flow algorithm [1] for the calculation of dense volumetric flow fields. Since this algorithm is based on the approximation of the signal by polynomial expansion it is especial suited for the motion estimation in smooth signals without clear edges.

To know more about the implementation, have a look on this OpenCV class that was used as a template for this implementation.

Development takes place on Github.

Python interface

The project uses pycuda to provide a pure-python package available on PyPi

pip install farneback3d

Usage:

import farneback3d

... # create some numpy volumes vol0 and vol1 (can also be pycuda GPUArrays)

# set parameters for optical flow (parameters have the same meaning as in the OpenCV implementation)
optflow = farneback3d.Farneback(
        pyr_scale=0.8,         # Scaling between multi-scale pyramid levels
        levels=6,              # Number of multi-scale levels
        num_iterations=5,      # Iterations on each multi-scale level
        winsize=9,             # Window size for Gaussian filtering of polynomial coefficients
        poly_n=5,              # Size of window for weighted least-square estimation of polynomial coefficients
        poly_sigma=1.2,        # Sigma for Gaussian weighting of least-square estimation of polynomial coefficients
    )

# calculate frame-to-frame flow between vol0 and vol1
flow = optflow.calc_flow(vol0, vol1)

C++ interface

To be implemented…

Future plans

The current implementation uses a naive approach to perform the necessary convolutions. The algorithm could be sped up drastically by performing separable convolutions along each coordinate axis.

References

Release files for farneback3d 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for farneback3d 0.1.4
File Size Uploaded
farneback3d-0.1.4.tar.gz 33.8 kB Details

Release files / farneback3d-0.1.4.tar.gz

Download URL farneback3d-0.1.4.tar.gz
Size 33.8 kB
Tags Source
SHA-256 checksum
How to use checksums
4893291301c340b952d08ac559f4fadb0c87990f0423e1f5dad2b6c5135a2321
BLAKE2b-256 checksum
How to use checksums
5eb116e48efe419ce998c3e593f05c54012cd463f8c06e9673d131f5b3322fc0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release history Release notifications | RSS feed

This release

0.1.4 This release

1 release file

0.1.3

1 release file

0.0.1.2

1 release file

0.0.1.1

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page