Hungarian algorithm寻找点的对应集合
python实现
http://github.com/tdedecko/hungarian-algorithm
调试和wiki的说明一起对照看
Hungarian 算法对于m,n不等的情况怎么处理,以下链接解题步骤一目了然
TPS算法
代码实现可参看里面的bookstein
https://www2.eecs.berkeley.edu/Research/Projects/CS/vision/shape/sc_digits.html
源码已传到同步盘
Thin Plate Spline
http://mathworld.wolfram.com/ThinPlateSpline.html
The name "thin plate spline" refers to a physical analogy involving the bending of a thin sheet of metal. In the physical setting, the deflection is in the z direction, orthogonal to the plane. In order to apply this idea to the problem of coordinate transformation, ++one interprets the lifting of the plate as a displacement of the x or y coordinates within the plane. Thus, in general, two thin plate splines are needed to specify a two-dimensional coordinate transformation++
Shape context
https://www2.eecs.berkeley.edu/Research/Projects/CS/vision/shape/sc_digits.html
- 模板点对X,图片点对Y(Y点对的数目可能大于X)
- hungarian algorithm出当前距离最小的点对,然后根据这些点对使用TPS算法(bookstein)计算出coofficient,然后计算出原始点X变换后的点对XA,更新energy loss
- 对XA和Y再用hungarian algorithm 算法计算点对assignment,然后根据assignment计算coofficient,然后用coofficient处理原始点对X后更新XA,和energy loss
- 根据迭代次数和energy loss 选择合适的时候结束迭代