如何从深度相机的深度图像流中计算光流?

Ste*_*low 5 kinect openni

我已经设置了一个深度摄像头提要,为了使其更有趣,我想从中计算出一些数据,例如法线,运动/光学流和其他数据集,以将它们用于视觉效果。我对光流以及是否可以从仅深度流中进行计算特别感兴趣。

实施了吗?如果是这样,我想知道什么方法,并了解哪种方法最容易使用。

pav*_*wan 5

我研究了Kinect深度相机,并实现了患者跟踪算法。该算法本身是商业性的,我无法透露细节。但是我可以在这里给我两分钱。

  1. 由于没有深度像素,因此Kinect的深度馈送不应直接用于光流(运动跟踪)。您可以使用修复来填充深度图像中的间隙。如果您使用的是OpenCV,则可以在此处参考实现。

http://www.morethantechnical.com/2011/03/05/neat-opencv-smoothing-trick-when-kineacking-kinect-hacking-w-code/

  1. 我建议在修复后使用平滑过滤器,以在对象边缘附近获得平滑的深度数据。您可以将OpenCV中存在的简单过滤器与深度流一起使用。最好将16位深度采样到8位RGB图像,以帮助可视化视差图像。

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

(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

希望这可以帮助。