基于farneback算法的cuda加速体光流估计

farneback3d的Python项目详细描述


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

计算稠密体积流场的farneback光流算法[1]的cuda实现。由于该算法是基于多项式展开的信号逼近,特别适用于没有清晰边缘的平滑信号的运动估计。

要了解有关实现的更多信息,请查看用作此实现模板的this OpenCV class

发展发生在Github

python接口

该项目使用pycuda来提供pypi上可用的纯python包

pip install farneback3d

用法:

importfarneback3d...# 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 levelslevels=6,# Number of multi-scale levelsnum_iterations=5,# Iterations on each multi-scale levelwinsize=9,# Window size for Gaussian filtering of polynomial coefficientspoly_n=5,# Size of window for weighted least-square estimation of polynomial coefficientspoly_sigma=1.2,# Sigma for Gaussian weighting of least-square estimation of polynomial coefficients)# calculate frame-to-frame flow between vol0 and vol1flow=optflow.calc_flow(vol0,vol1)
< H2> C++界面

待实施……

未来计划

当前的实现使用一种简单的方法来执行必要的卷积。 通过沿每个坐标轴执行可分离卷积可以极大地加快算法。

参考文献

[1]Farnebäck, Gunnar. “Two-frame motion estimation based on polynomial expansion.” Scandinavian conference on Image analysis. Springer, Berlin, Heidelberg, 2003.

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
二进制字符串的java NumberFormatExceprion   java如何在Neo4j中查找/匹配/选择标识符名称   java哪一年的日期与原始年份相同?   java什么时候JAXB可以用于Json而不是XML?   java使用PayPal权限API进行PayPal支付   java Getting error在使用安卓 vision api扫描二维码时加载图像失败   java直接突出显示RichTextFX中的一个文本范围   java Resolve@RegisteredAuth2AuthorizedClient,其令牌在spring Security 5.2的spring server之外获得。十、   yyyymmddhhmmss的Java正则表达式   java我试图将google recaptcha与spring mvc集成,但GreCaptCharResponse总是返回false。这里有一些代码   java使用JsonPath将文本转换为json   java无法解析符号。Maven依赖项已就位,但代码为红色   java使用循环查找范围内具有不同数字的数字   java这个SwingWorker是否不重用ThreadPoolExecutor中的线程?