我正在尝试实施Wand和Adelson(1993)在论文Layered Representation for Motion Analysis中描述的算法,该论文的摘要可以在任何关于计算机视觉的讲座中找到,this one来自于北卡罗来纳大学教堂山分校的CS部门,从幻灯片53开始:
由于我使用OpenCV来实现算法,因此只使用内置函数才有意义。最有意义的功能是estimateRigidTransform,来自文档:
计算两个2D点集之间的最佳仿射变换。
,输出看起来像这样:
幻灯片中的仿射模型说明如下:
该模型当然与论文中的描述(以及其他任何地方)一致。
如果我想尝试将函数的输出映射到给定模型,唯一的解释是a_1和a_4映射到b_1和b_2。 这种直觉是否正确?并且从这一点开始是否有意义a_3 = -a_5?
知道calcOpticalFlowFarneback的输出是关系之后的流矩阵:
应该使用什么输入形式来从estimateRigidTransform函数中获取正确的结果?如何在估算后计算残差?
最后,我是否考虑了计算仿射变换的错误函数?