如何识别两张同一物体的图片中的变化

3
我有两张图片,我知道它们代表同一个物体。在下面的图片中,它们被称为参考和匹配。
图片Match相对于Reference可以进行以下变换:
1. 物体可能会局部改变外观,例如添加(如侧面的污垢或字母)或省略(如侧镜已拆除)。 2. 水平方向上缩小或拉伸大小(垂直方向上不改变大小) 3. 参考图像的某些部分在Match中不存在(在参考图像中用红色阴影表示)
问题:如何确定上述方式中“更改”的区域?
想法#1:动态时间规整似乎是一个很好的选择,一旦Match图像的开始和结束(编号为1和3的图像)与参考图像中的相应列对齐,但我不确定如何继续。
想法#2:在图像中匹配SIFT特征。由特征点位置产生的平铺将图像分成非均匀的瓷砖。使用图像间的特征对应来确定要在图像间匹配的瓷砖。使用相似性度量来找出任何更改。
1个回答

4
您可能需要考虑使用迭代式注册算法。基本上,您需要执行优化来查找变换的参数,在您的情况下是水平缩放和水平平移。一旦您优化了参数,您就会得到两个图像之间的变换,将一个变换以匹配另一个,并可以使用减法来识别具有差异的区域。
对于注册,请查看ITK库。您可以使用互信息作为度量标准进行梯度下降优化。它具有许多不同的变换,可以捕获平移和缩放。代码应该在您展示的示例图像上快速运行。

变换不仅仅是水平缩放和水平平移。正如我在原始问题中提到的,原始对象的部分可能已经改变(添加或删除)。 - curryage
1
@curryage - 只要它们仅代表图像的一部分,您就不必太在意它们。如果颜色发生变化,汽车着火等情况,优化过程仍将足够强大,以便为您提供准确的结果。这样想吧,您正在寻找共识,需要有大量像素更改才能使您的度量在正确的优化时不再最大化/最小化。 - denver
1
此外,如果您使用互信息等度量标准,它将忽略颜色变化之类的因素 - 它不会寻找精确匹配,而是在目标图像和移动图像中寻找相应的颜色对。 - denver

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接