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

5
我已经设置好了深度相机的输入流,为了使其更有趣,我想从中计算一些数据,如法线、动态/光流和其他数据集,以便将它们用于视觉效果。我特别关注光流,想知道是否可以从仅深度数据流中计算它。
这项技术是否已经实现?如果是,我想了解有哪些方法,并理解哪种方法最易于使用。
1个回答

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

你也可以使用密集轨迹实现,但我认为它会占用处理器资源,最终帧率可能会非常缓慢。

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

希望这可以帮助到你。

@SteakOverflow 如果您对答案满意,请接受答案。 - pavanpadawan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接