胡天寒,吴 敏,叶明全,昌 杰,卢小杰,柳玉婷
显微镜观察是我们最常用的科研手段之一,长期以来我们一直受困于低倍镜下视野广但成像不够清晰,高倍镜下可观察到更细致的组织细胞结构形态但视野狭小,这是显微镜的光学性质决定的。随着科技的进步,使用例如病理切片扫描系统这样的显微成像系统可以快速完成一张病理切片的全切片高清成像,但成本高,一台病理切片扫描系统动辄需百万元经费,且局限性强,只能观察普通切片不能观察到的细胞。而计算机方法中的图像拼接技术则可以解决当下的问题。
图像拼接是通过找到相邻两幅图像重合的部分,然后确定两张图像之间的变换关系,最后将两幅图像进行拼接和融合[1]。常用的图像拼接算法有直接法和基于特征法,前法[2]因为利用了两幅图像间的像素灰度关系并用之确定图像间的坐标变换参数,也被称为基于图像灰度值法,该方法充分利用了图像的基本信息。基于特征的方法[3]通过找到图像的特征点,然后匹配两幅图像的特征点来计算图像间的变换参数。目前常用的是基于特征的图像拼接方法,即便待拼接的图像存在一定的倾斜和变形,也可以进行很好的拼接,并且允许相邻两幅图像之间有一定的色差。
常见的基于特征的匹配算法有SIFT(Scale Invariant Feature Transform)算法,又称为尺度不变特征变换[4-6]和SURF(Speeded-up Robust Features)算法,即快速鲁棒特征算法[7]。SIFT算法是英属哥伦比亚教授David Lowe于1999年首先提出的局部特征描述子,在几年间得到了深入的发展和完善,该算法具有很强的健壮性,可以较好的处理两幅图像在不同条件下的匹配问题,比如平移、旋转和仿射变换等。Bay在2006年提出了SURF算法[8],它被称为SIFT算法的加速版,该算法采用了积分图像的概念以及Harris角点的特征,在多幅图像拼接下具有更好的鲁棒性[9-11]。特征点提取算法目前在人脸识别、机器视觉等诸多领域应用广泛[12-13],但在显微图像的应用上却研究甚少。常用于显微图像拼接的是基于SIFT特征点提取算法,尽管能在较大程度上解决上面提出的问题,但由于图片自身颜色以及图片内容上的变化,导致图像的正确匹配率较低[14-16]。
本文针对组织切片图像的特殊性,提出一种基于SURF特征点提取的显微图像拼接算法。首先采用SURF特征点提取算法用于特征的匹配,接着采用RANSAC算法剔除不相关和不匹配的特征点,最后用加权平滑的方法消除图像间的拼接缝并对背景亮度不均匀的问题进行处理。实验结果表明该方法是精确和有效的,可以将高倍镜下采集得到的多幅图片完整拼接成一幅图片。
为了使图像的拼接在具有较好的精度和鲁棒性的同时又兼具较好的实时性,本文采用Bay等人[8]提出的SURF算法提取图像的特征点。
SURF算法(即快速鲁棒特征算法),该算法的简化近似思路主要借鉴于SIFT算法,简化对象主要针对DoH中的高斯二阶微分模板,在此算法中图像滤波的完成只需几个加减法的运算即可。
通过实验表明,SURF算法在性能上要远远优于SIFT算法,并且在运算速度上也提高了很多。
应用SURF算法提取特征点的步骤主要如下:
1)首先检测尺度空间的极值。
2)次之精炼特征点的位置。
3)然后计算特征点的信息。
图像配准是对需拼接的两幅图像间重合的区域和位置进行确定。文中采用的图像配准算法主要基于SURF特征点提取,即首先通过匹配特征点对并以此计算两幅图像间的变换矩阵,然后用这个变换矩阵实现两幅图像之间的拼接。文中在计算图像之间的变换矩阵时采用的是RANSAC算法,RANSAC算法首先剔除掉不相关的外点,再使用剩下的特征点进行最小二乘拟合,得到变换矩阵H。该算法能够提高图像配准的精确度,并能够得到较好的空间映射模型,从而达到比较满意的图像拼接效果。
变换矩阵H的计算是图像配准的重要核心,这里我们假设投影变换是图像之间变换的方式,如(1)所示:
(1)
式中,H的自由度为8。在此假设匹配的特征点对为p=(x,y),q=q(x′,y′),根据投影的变换公式模型则可得到式(2),用4组最佳匹配点对计算可得8个H矩阵自由度参数,参数hi=(i=0,1,…,7),然后把这些参数作为初始值。
(2)
依据两幅图像之间的变换矩阵H将图像进行相应变换称图像融合,图像间重合的区域由此确定,然后把需融合的两幅图像分别映射到空白图像中,得到图像拼接后的效果图。通过变换映射矩阵,将需融合图像的最佳匹配特征点映射投影到新图像相对应的坐标位置,两幅待拼接的图像即可在新图像的最佳匹配特征点的坐标位置处进行融合。
由于显微镜拍摄的多幅图片亮度不同,导致在图像融合过程中,拼接后的图像中拼接缝两端有明显的亮度变化及不同程度的变形。因此,若要使拼接后图像能够获得视觉上的一致性,那就需要在融合图像的过程中进行拼接缝的处理。常用于拼接缝处理的方法有很多,如多分辨率样条技术、动态规划寻找拼接缝等方法。
对于拼接缝的问题文中采用加权平滑的算法予以处理。所使用算法的核心是:把两幅图像中所对应点的灰度值Pixel_L和Pixel_R进行加权平均得到两幅图像重合区域内像素点的灰度值Pixel,即:Pixel=k×Pixel_L+(1-k)×Pixel_R,其中:k是渐变因子。
一般情况下0 (3) 为了验证算法的有效性,本文以皖南医学院组织学与胚胎学实验室提供的动物组织切片图像作为实验对象。显微镜下放大倍数10*10,获得图像像素为1500*1000。本实验是在Windows XP下用MATLAB 7. 0编程完成。 图1和图2是显微镜拍摄的两幅组织切片图像,这两幅图像存在部分重合的区域。且图像间还有一定的平移关系及小角度旋转关系。 图1 待拼接图片I1 图2 待拼接图片I2 排除外点的过程中使用了RANSAC算法,最小二乘法获得最终变换矩阵H,H如式(4)所示。 图3为经RANSAC算法处理获得的匹配特征点对,剔除不相关匹配点后共计获得440对正确的匹配点对。 图3 RANSAC算法剔除不相干匹配点后的结果 采用2. 2节的方法,本实验依据匹配特征点对,把需拼接的两幅图通过变换关系到同一个坐标系内,将重合的区域进行融合得到两幅图像拼接的结果,如图4所示。 图4 拼接后的图片I 在图4的拼接缝中,我们将图1和图2之间重合的部分按一定权重进行叠加,以图2在重合部分的比重为1,那么朝图1方向,离重合部分越远,那么图1的权重越大,而图2的权重则逐渐降低,最终使图像实现平稳过渡。 由于显微镜拍摄的不同图像存在亮度不一致的问题,所以需要在图像拼接过程中对两幅图像的背景亮度不均匀问题进行处理,本文使用非线性叠加法提高图像的亮度。公式如下: T(x)=I(x)+(1-I(x))*I(x)*k (5) 其中I表示要处理的亮度较暗图像,T表示处理后的亮度比较亮的图像,T和I图像的取值范围是[0,1]。如果处理完后的图像效果不好,还可以进行多次迭代以达到更好的效果。为了控制亮度的增加强度,在算法中加入一个控制参数K,取值范围是[0,1]。通过多次实验表明K取值为0. 5的时候,图像亮度较好。图5为消除拼接缝和对亮度处理后得到的图片。 图5 拼接缝消除及亮度不均处理后的效果图 本文以动物组织切片图像作为研究对象,采用SURF算法生成用于匹配的特征点对,该法对于图像序列中光照、尺度及旋转方向的变化均有良好的的适应性,且拼接速度快于基于SIFT特征点提取的图像拼接方法,在处理大量需拼接的显微图像时效率更高。同时用RANSAC算法剔除误匹配点。对于拼接后图像中的拼接缝问题,采用加权平滑算法消除拼接缝,背景亮度不均采用非线性叠加的方法,使得图像的亮度达到均衡。 文中所提出的方法不仅适用于组织切片的观察,还适用于细胞培养过程中的细胞观察以及其它一切通过显微镜采集到的多视野实验图像的拼接处理。该方法适用范围广,又无需增加任何经济成本,值得向广大科研工作者推广和普及。3 试验验证
4 结束语