1、基本原理
1.1图像配准
图像配准(apap)是将两张场景相关的图像进行映射,寻找其中的关系,多用在医学图像配准、图像拼接、不同摄像机的几何标定等方面,其研究也较为成熟。OpenCv中的stitching类就是使用了2007年的一篇论文(Automatic panoramic image stitching using invariant features)实现的。虽然图像配准已较为成熟,但其实其精度、鲁棒性等在某些场合仍不足够,如光线差异很大的两张图片、拍摄角度差异很大的图片等。2013年,Julio Zaragoza等人发表了一种新的图像配准算法Apap(As-Projective-As-Possible Image Stitching with Moving DLT),该算法的效果还是不错的,比opencv自带的auto-stitch效果要好。而2015年也有一篇cvpr是介绍图像配准(Non-rigid Registration of Images with Geometric and Photometric Deformation by Using Local Affine Fourier-Moment Matching),其效果貌似很牛,但没有源码,难以检验。
1.2关于最小割
如图1所示,是一个有向带权图,共有4个顶点和5条边。每条边上的箭头代表了边的方向,每条边上的数字代表了边的权重。
G = < V, E >是图论中对图的表示方式,其中V表示顶点(vertex)所构成的集合,E表示边(edge)所构成的集合。顶点V的集合和边的集合E构成了图G(graph)。
那什么是最小割呢?
以图1为例,图1中顶点s表示源点(source),顶点t表示终点(terminal),从源点s到终点t共有3条路径:
s -> a -> t
s -> b -> t
s -> a -> b-> t
现在要求剪短图中的某几条边,使得不存在从s到t的路径,并且保证所减的边的权重和最小。相信大家能很快想到解答:剪掉边”s -> a”和边”b -> t”。
剪完以后的图如图2所示。此时,图中已不存在从s到t的路径,且所修剪的边的权重和为:2 + 3 = 5,为所有修剪方式中权重和最小的。
我们把这样的修剪称为最小割。