稀疏光流(Sparse Optical Flow,简称 SparseOptFlow)是一种用于估计视频序列中两帧之间或两幅图像之间的运动的技术,通过跟踪第一帧中的一组特征点到第二帧。它在计算机视觉应用中常用于检测和分析运动。
全局运动补偿(Global Motion Compensation,简称 GMC)是视频编码过程中用于提高编码效率、减少帧之间冗余的一种处理方法。GMC在摄像机运动较大或场景从一帧到另一帧变化显著的情况下特别有用。
将稀疏光流用于全局运动补偿包括以下步骤:
-
特征点检测:稀疏光流算法首先在初始帧中检测容易跟踪的特征点。
-
特征点跟踪:然后在后续帧中跟踪这些点。跟踪过程涉及在下一幅图像中为每个点寻找最佳匹配,这可能涉及查看基于前一帧运动的预期位置周围的区域。
-
运动估计:一旦跟踪到点,算法估计描述这些点从第一帧到第二帧运动的运动向量。
-
运动补偿:有了运动向量,GMC过程使用这些信息基于前一帧预测下一帧的内容。然后可以使用这个预测来减少新帧需要编码的数据量,因为编码器只需要编码预测和实际帧之间的差异。
-
优化:在某些情况下,可能会对运动向量进行优化以提高预测的准确性,这可能涉及使用更复杂的技术,如迭代方法或使用额外的帧。
-
编码:最后,补偿后的帧(实际帧和预测帧之间的差异)被编码进视频流中。
使用稀疏光流进行GMC时,重要的是要考虑到计算成本,因为光流可能是一个资源密集型的过程。然而,就压缩效率而言,其好处可能是显著的,特别是在具有复杂运动的视频内容中。
在实践中,稀疏光流只是许多可以用于视频编码中运动估计和补偿的技术之一。其他方法包括基于块的运动估计,由于计算成本较低,它在视频编解码器中更常用。