图像的可形变配准分为参数法和非参数法,参数法例如仿射变换、B-spline based FFD等方法通过对形变的参数化表示,减小求解的变量个数,但是也限制了形变复杂程度。非参数化的方法将图像的形变表示成位移场,每一个像素都有一个位移,可以表示更加复杂的形变,但是要求解的变量也更多。
1, Thirion’s Demons
Demons就是一种著名的非参数化可形变配准方法。它最早来自于光流算法(optical flow),光流是用来估计视频图像中相邻的两帧图像目标的位移,也就是目标移动的速度,其基本方程为
v=(s−m)∇s|∇s|2 (公式1)
其中 s 是第一帧图像,
光流算法有两个基本假设:1, 相邻两帧图像中目标的灰度值不变。2, 相邻两帧之间目标的位移比较小。
在图像配准中, s 也叫做静止图像,
u=(s−m)∇s|∇s|2+(s−m)2 (公式2)
该公式得到一个小的位移量,在Demons算法中,通过该公式的多次迭代并且用高斯滤波器对位移场进行平滑处理,得到配准所需的变化。其基本代码如下:
S=im2double(imread('images/lenag2.png')); % static image
M=im2double(imread('images/lenag2.png')); % moving image
% The transformation fields
Tx=zeros(size(M)); Ty=zeros(size(M));
for itt=1:200
% Difference image between moving and static image
Idiff=M-S;
% Default demon force, (Thirion 1998)
Ux = -(Idiff.*Sx)./((Sx.^2+Sy.^2)+Idiff.^2);
Uy = -(Idiff.*Sy)./((Sx.^2+Sy.^2)+Idiff.^2);
% When divided by zero
Ux(isnan(Ux))=0; Uy(isnan(Uy))=0;
% Smooth the transformation field
Uxs=3*imfilter(Ux,Hsmooth);
Uys=3*imfilter(Uy,Hsmooth);
% Add the new transformation field to the total transformation field.
Tx=Tx+Uxs;
Ty=Ty+Uys;
M=movepixels(I1,Tx,Ty);
end
2, Wang’s Demons
Thirion’s Demons 只使用了静止图像的梯度计算形变的力(即 u⃗ ),为了使配准过程更快,Wang’s Demons既使用静止图像的梯度,也使用运动图像的梯度来定义形变力。
u⃗ =(s−m)×(∇s|∇s|2+α2(s−m)2+∇m|∇m|2+α2(s−m)2) (公式3)
通过使用静止图像和运动图像两方面的力,算法可以收敛的更快。其中