提高密集光流分析的性能(轻松)?

时间:2011-09-01 05:47:24

标签: c++ cuda computer-vision glsl opencl

我编写了一个使用OpenCV cvCalcOpticalFlowLK的程序。它在低分辨率网络摄像头输入上运行良好,但是我需要在完整的HD流上运行它,并在每帧的光流分析之后进行重要的其他计算。处理缩小到1440x810的5分钟视频花了4个小时:(大部分时间用于cvCalcOpticalFlowLK

我已经研究过通过添加更多原始CPU来提高速度,但即使我得到一个8核的野兽,并且加速是理论上的理想(比如说8倍,因为我基本上只使用了我的2.9GHz之一)核心),我只得到4FPS。我想达到30FPS。

更多研究似乎指出在GPU上使用CUDA,OpenCL或GLSL(?)实现它。我发现了一些概念验证实现(例如http://nghiaho.com/?page_id=189),许多论文基本上都说“它是GPU的一个很好的应用程序,我们做到了,它很棒,而且我们不会分享我们的代码“。不用说,我没有让他们中的任何一个跑。

有没有人知道基于GPU的实现可以在带有NVIDIA卡的Mac上运行?是否有资源可以帮助我编写自己的资源?还有其他密集的OF算法可能表现更好吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

OpenVidia Bayesian Optical Flow怎么样?另外,论文Real-Time Dense and Accurate Parallel Optical Flow using CUDA说他们的工作可以在CUDA区免费获得。我立即找不到它,但也许你会,或者可以写作者?