关于SO也有类似的问题,但是我没有找到想要的答案。我需要实现鲁棒的光学流程以跟踪(检测到的)面部上的特征。我使用goodFeaturesToTrack / SURF(我尚未决定哪个是最好的)来获取初始功能。

我的问题是如何去除光流产生的异常值? RANSAC是对此有效的选项吗?如果是,那么如何将其与calcOpticalFlowPyrLK结合使用?

我还考虑过拒绝位移大于阈值的功能,但这只是一个想法,并不真正知道如何实现(如何选择阈值,应该计算平均位移等)。那么,哪种方法最好呢?

最佳答案

如果您的模型符合运动的要求,那么RANSAC是一个很好的选择。
通常,LK是局部流,不必遵循任何(全局)运动模型,因此在许多情况下,RANSAC是不合适的。

对于一般流程,您可以考虑:

  • 对称流:从A到B的LK流与从B到A的独立LK流具有相同的结果。
  • Action 范围:使用特定 Realm 的知识,例如删除太大,太稀疏,与邻居差异太大的 Action 。
  • 10-08 05:37