如何平滑一系列仿射变换?

时间:2016-06-20 21:45:45

标签: opencv math image-processing affinetransform homography

我使用OpenCV跟踪了一个通过图像序列的平面,并产生了一系列3x3 TRS同质变换矩阵(实际上是仿射/单应性,但我正在简化)。我现在希望随着时间的推移平滑运动以稳定飞机的运动。我不想只是平滑翻译,我也想平滑旋转和缩放的混蛋。在处理枢轴时我的问题出现了。

我的第一个想法是将每个矩阵分解为T,R,S(平移/旋转/缩放)分量,然后用高斯卷积过滤每个分量。我不认为这会奏效。问题在于,如果围绕不位于原点的枢轴进行纯旋转运动,那么当作为TRS分解时,平移和旋转都需要随时间同步变化。如果我然后分别平滑T和R,可能会发生奇怪的事情,因为在这种情况下,翻译不是真正的翻译,而是由枢轴引起的翻译。例如,想象一下我想要平滑T非常小并且平滑旋转的情况 - 这将导致摆动,因为T和R的链接变化一起负责围绕枢轴的旋转。在这个特定的例子中,如果我改为分解为SRT而不是TRS,那么就没有问题了。

我的第二个想法是,通过查看变换序列,我可以通过某种方式找出其后的枢轴。我可以假设旋转/比例的枢轴的存在在整个图像序列上是恒定的,然后尝试最小化(通过梯度下降)剩余平移分量在整个序列上的变化。我不确定这会有效。

一般来说,我不确定这是否是一个可以解决的问题。

0 个答案:

没有答案