如何计算来自深度相机的深度图像流的光流?

时间:2016-02-03 22:28:45

标签: kinect openni

我已经设置了深度相机输入,为了使其更有趣,我想要计算一些数据,如法线,运动/光流和其他数据集,以将它们用于视觉效果。我对光流特别感兴趣,是否可以从仅深度流计算。

这已经实施了吗?如果是这样,我想知道哪些方法是最容易使用的。

1 个答案:

答案 0 :(得分:3)

我在Kinect深度相机上工作并实施了患者跟踪算法。该算法本身是商业的,我不能透露细节。但我可以在这里给我两分钱。

  1. 由于没有深度像素,Kinect的深度馈送不应直接用于光流(运动跟踪)。您可以使用修补来填充深度图像中的间隙。如果您使用的是OpenCV,可以参考此处的实现。
  2. http://www.morethantechnical.com/2011/03/05/neat-opencv-smoothing-trick-when-kineacking-kinect-hacking-w-code/

    1. 我建议在修复后使用平滑滤镜在物体边缘附近获得平滑的深度数据。您可以使用深度流中的OpenCV中存在的简单过滤器。将16位深度下采样到8位RGB图像以帮助可视化视差图像会很不错。

    2. 我相信您可以使用OpenCV的光流算法生成流。这是一个例子。

    3. (HTTP)://docs.opencv.org/3.1.0/d7/d8b/tutorial_py_lucas_kanade.html#gsc.tab=0

      您也可以使用Dense轨迹实现,但我认为它是处理器密集型的,最终帧速率可能非常慢。

      https://lear.inrialpes.fr/people/wang/dense_trajectories

      希望这有帮助。