如何对齐两张不同的图片,使它们尽可能匹配?

我需要自动对齐图像 B 到另一张图像 A 的顶部,使得图像的内容尽可能匹配。

图像可以在 x/y 方向上平移,并且在 z 轴上旋转最多 5 度,但它们不会被扭曲(即缩放或梯形校正)。

也许有人可以推荐一些关于此主题的好链接或书籍,或者分享一些关于如何完成图像对齐的想法。

如果没有旋转问题,那么我可以简单地尝试用暴力方法比较像素行,直到找到匹配项,然后我就知道偏移量并可以对齐图像。

我需要为此使用人工智能吗?

我很难找到关于图像处理的资源,这些资源详细介绍了这些对齐算法的工作原理。


回答:

所以人们在这种情况下通常会先在图像中找到匹配的点,然后用最小二乘法计算最佳变换矩阵。 点匹配不是特别简单,通常你只需使用人工输入来完成这项任务,你必须一直这样做来校准相机。 无论如何,如果你想完全自动化这个过程,你可以使用特征提取技术来找到匹配的点,关于这个主题已经有很多研究论文了,任何标准的计算机视觉教材都会有一章介绍它。 一旦你有 N 个匹配点,求解最小二乘变换矩阵就非常简单了,而且同样可以在任何计算机视觉教材中找到,所以我会假设你已经掌握了它。

如果你不想寻找点对应关系,你可以直接使用最速下降法优化旋转和平移,问题是这是非凸的,所以不能保证你能找到正确的变换。你可以在此基础上进行随机重启或模拟退火或任何其他的全局优化技巧,这很可能奏效。我找不到任何关于这个问题的参考资料,但这基本上是一个数字图像稳定算法,当我学习计算机视觉的时候,我不得不实现它,但那是很多年前的事了,这里有一些相关的幻灯片,看看 “stabilization revisited”。是的,我知道这些幻灯片很糟糕,我没有制作它们:) 然而,确定梯度的方法非常优雅,因为有限差分显然是棘手的。

编辑:我终于找到了这篇论文,它介绍了如何做到这一点这里,这是一篇非常棒的论文,它很好地解释了 Lucas-Kanade 算法。此外,这个网站有很多关于图像对齐的材料和源代码,可能会很有用。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注