一种适用于肝脏CT图像配准改进的尺度不变特征变换算法*

2019-10-30 08:16万振环
生物医学工程研究 2019年3期
关键词:分块聚类肝脏

万振环

(厦门医学院, 厦门 361000)

1 引 言

CT图像在肝脏肿瘤等疾病的诊断中具有十分重要的作用。通过造影剂的显影作用,在肝脏动脉和肝脏门静脉两个不同相位期,可以获得两组清晰的肝内血管影像序列。肝脏诊断中对肝脏CT图像同一位置两组相位期图像对比观察分析很有必要,两组图像可以通过体外标记点来粗略配准,也可以基于肝脏CT图像局部特征、基于图像灰度统计、基于变换域等要素进行精确配准。基于图像特征的配准方法不受灰度的影响,通过提取点特征、线特征或者面特征对图像进行匹配,鲁棒性强,匹配效果好[1-2]。

尺度不变特征变换(SIFT)[3-4],加速鲁棒特征(SURF)[5]、快速定向二进制描述(ORB)[6]等算法,通过使用基于描述符的度量,而不是直接比较像素强度,匹配过程得到了显著改进。SIFT算子是目前学术界认可的较为稳定的特征匹配算子,具有较好的鲁棒性,降低特征点的描述符维度会导致特征点携带的图像信息减少,减弱算法鲁棒性。由于SIFT算子使用了高斯差分(difference of Gaussian,DoG)算子,因而具有较强的边缘响应,即使使用高级描述符,匹配过程也可能导致错误匹配。这些错误匹配需要识别和删除,随机样本一致性(RANSAC)算法是一种非常流行的鲁棒拟合算法,可以用于消除虚假匹配。本研究结合肝脏CT图像特点,提出了一种基于特征点聚类区域分块的SIFT快速匹配算法,在一定程度上降低了SIFT算法匹配阶段迭代次数和计算时间,剔除错误匹配,能够准确、快速、稳定的实现动静脉期两组肝脏CT图像的配准,提高了图像配准精度。

2 肝脏CT图像配准流程

CT多期相增强扫描是肝脏诊断的常见检查方法,对比观察相同位置肝脏动脉和静脉管道,水平轴状切面是肝脏CT检查中最常用的断层面[7]。肝脏的动脉、静脉管道与肝实质在CT扫描时在成像数值上接近,不容易区分,利用造影剂流经动、静脉具有时间间隔的特点,通过造影剂的显影作用,在造影剂流经肝动脉和肝门静脉的两个不同相位期,可以获得两组清晰的脏内血管影像序列,见图1。

图1 肝脏CT多相期扫描图像(a) .肝动脉期;(b).门静脉期Fig.1 Multiphase CT scan of liver

通常一组CT扫描序列图像数量在150幅以上,CT图像连续以等间距沿脊柱从上往下扫描,两个相期的扫描起始位置并不能确保从相同位置开始,患者两次扫描间期的位移也会导致两组图像序列位置有错位。配准即是以动脉期有诊断意义的一幅图像作为参考图像,依次与静脉期的序列图像匹配,通过SIFT算法特征点匹配数量确定实际正确静脉期对应位置图像的过程。原CT序列对应编号的动脉期与静脉期图像见图2,使用SIFT算法配准后动脉期图像与实际正确静脉期图像见图3,从图中可以看出两个相期图像实际对应位置序号是有错位的。

图2 CT不同相期序列对应编号图像(a).肝动脉期(序号80);(b).门静脉期(序号80)Fig.2 Corresponding number images of different CT phase sequences

图3 SIFT算法配准的对应位置图像(a).动脉期(序号80);(b).门静脉期(序号74)Fig.3 SIFT algorithm for registration of corresponding position images

3 SIFT算法简介

3.1 SIFT算法流程

David在2004年总结完善了SIFT算法,用于检测和描述图像的局部特征。SIFT算法的实质是在多个尺度空间上查找局部数据的极值点,使用位置、尺度、旋转不变量等来描述特征点,并用向量表示特征点的方向,这些特征点不会因为光照、位移、旋转、缩放、仿射而变化。该算法的主要流程可以概括为,特征点检测和特征点匹配两个主要步骤。特征点检测过程模拟人的视觉系统构建图像尺度空间,在领域内统计直方图梯度并确定特征点方向,采用向量的形式描述特征点。

3.2 特征点检测

尺度空间L(x,y,)用卷积定义,由带有尺度变化的高斯函数G(x,y,k)与原图像I(x,y)做卷积运算,k为尺度变化量,见式(1)。

L(x,y,σ)=G(x,y,kσ)*I(x,y)

(1)

尺度空间通过图像的模糊程度来模拟人的视网膜上成像过程,尺度空间在实现时使用比高斯拉普拉斯算子更为高效的高斯差分算子(DoG)金字塔表示,特征点由DoG空间的局部极值点D(x,y,)组成,见式(2),在实际计算时使用高斯金字塔每组相邻上下层图像相减得到高斯差分图像,再进行极值检测。极值点是离散空间的极值点,通过拟合三维二次函数来精确确定特征点的位置和尺度,同时去除低对比度和边缘的不稳定点[8]。

D(x,y,σ)=(G(x,y,σ)-G(x,y,σ))*I(x,y)=L(x,y,kσ)-L(x,y,σ)

(2)

SIFT算法采用图像梯度的方法求取局部结构的稳定方向,梯度模和方向见式(3),完成特征点的梯度计算后使用直方图统计领域内像素的梯度和方向,确定主方向,含有位置、尺度和方向的特征点即是图像的SIFT特征点[9-10]。

m(x,y)=

(3)

Lowe建议SIFT描述子在特征点尺度空间4×4的窗口中计算8个方向的梯度信息,用128维特征向量表示,归一化处理后特征向量具有旋转不变性、尺度不变性和一定的光照不变性。

3.3 特征点匹配

SIFT算法根据特征点描述子之间的欧式距离判断描述子之间的相似性。将一幅图的特征描述子与第二幅图的特征描述子进行比较,并检测特征描述子间的最小欧式距离,如果最小距离小于特定阈值,则将对应的特征点视为匹配。此外,还利用RANSAC算法接收匹配步骤输出的对应集,用以去除错误匹配,一般来说,RANSAC是一个迭代过程。

SIFT算法应用于两幅指定图像的配准时,计算量是可以接受的。当图像特征点的数量达到数千上万,或者是图像需要与多幅图像进行匹配比对时,匹配过程的计算就构成了沉重的处理负担,需要巨大的资源,错误匹配率增加。从SIFT算法提出至今,针对算法的完善改进主要集中在SIFT特征点提取和特征点匹配两个方面。

4 基于区域分块的SIFT匹配算法改进

4.1 传统的SIFT匹配算法

在屏住呼吸,且保持平躺不动的情况下,患者完成肝脏CT扫描。患者可以近似视为刚体,生成的横断面序列扫描图像具有连续变换的特点,动脉期选定图像与静脉期序列目标图像依次匹配。在一对匹配图像中,假设匹配图像中检出了n个SIFT特征点{xi|i=1,2,3,……,n},在待匹配图像中检出了m个特征点{yj|j=1,2,3, ……m},则对于匹配图像中的任意一个128维的特征点xi={xi1,xi2,xi3,……xi128}来说,需要遍历待匹配图像的所有SIFT特征点,通过式(4)计算找出最邻点和次邻点,当最邻点距离小于次邻点并且满足一定的匹配阈值distRatio时,可以认为xi与yj是一对正确匹配对。

(4)

显然计算过程耗费了很大的时间,并且在匹配过程中检测出的特征点越多越耗时,错误匹配的概率越高。

4.2 基于K-means聚类的区域分块SIFT算法改进

图像上的像素坐标系之间的关系可由图像之间的变换模型确定,图像之间的变换模型主要有刚体变换、仿射变换、弹性变换、流体变换、B样条变换和投影变换等[11]。刚性变换P包括平移、旋转这两种几何变换。对于近似刚体的胸腹腔横断面CT扫描图像,可以使用刚体变换处理图像后再配准[12]。设原图像上一点X=(x,y,z)经过平移和旋转变换后X′=(x′,y′,z′),CT图像连续的沿脊柱从上到下扫描,可以将三维空间内的旋转简化为二维空间的变换,只考虑z轴方向的旋转,见式(5),其中θ为z轴旋转角度,tx为图像水平平移量,ty为垂直平移量 ,tz为纵向平移量。

(5)

刚体变换不改变图像点与点之间距离具有相对性,两幅图像的匹配可以通过分块来降低计算,减少错误匹配率,提高匹配效率。SIFT算法特征点表示为:T=[im, des, loc],其中im为灰度图像,des为128维向量,loc是位置、尺度和方向等信息,根据特征点位置距离对特征点位置进行聚类区域分块,改进分块算法如下:

(1)选取K个初始聚类质心c1,c2,…,ck,计算特征点两两间坐标距离,选取最小距离的两个特征点中一个作为初始聚类质心c1,选取距离c1最远的特征点作为第二个质心点c2,选取距离c1和c2最远的点作为c3,依次计算c4,c5,…,ck。

(2)所有的SIFT特征点都计算与这k个聚类质心点的距离,根据距离将特征点分配到距离最近质心的一类。

(3)算出每个簇平均值,用这个点作为新的质心,重复步骤(2)直至迭代稳定,实验中迭代次数设置为3 000,完成区域分块。

考虑到肝脏CT扫描图像的结构特点,将区域划分为3~4块,见图4。

图4 区域分块示意图Fig.4 Area block diagram

肝脏CT图像配准的流程包括图像获取和选择、预处理、区域分块、区域图像配准、统计图像特征点匹配数量、确定最优配准图像等环节,基于区域分块的SIFT图像配准主要流程见图5。分块区域使用SIFT算法配准后,统计各分块的特征点匹配数量总和,序列图像依次配准后,依据图像的匹配数量总和即可确定与动脉期参考图像对应的正确静脉期图像,从而确定动脉期图像序列与静脉期图像序列的对应关系。

图5 肝脏CT图像区域分块配准流程Fig.5 Regional block registration procedure for liver CT images

5 实验结果及分析

为验证提出的基于K-means聚类的区域分块SIFT算法性能,选取有诊断意义的序号为80的动脉期图像,采用改进算法将聚类分为4块后,依次与静脉期序列图像组成155组进行了相关测试,聚类分块后其中一个块区域特征点匹配见图6。

图6 聚类分块后SIFT配准Fig.6 SIFT registration after clustering and blocking

统计动脉期序号80的图像对应静脉期图像序列前后20组图像分块匹配情况,数据见表1。

表1 改进后SIFT算法与原算法匹配结果对比表Table 1 Comparison of matching results between improved SIFT algorithm and original algorithm

从表1可以看出SIFT算法和改进的SIFT算法均能实现肝脏CT图像的配准,确定正确的序列对应关系。改进算法在SIFT特征点检测阶段没有做优化,改进的算法增加了特征点匹配过程中的聚类分块迭代计算时间,由于分块后特征点的比对范围缩小在对应块内进行,总的特征点匹配比对时间有所减少,改进后算法总耗时有所减少。特征点比对在对应块内进行,避免了跨块区域间的错误匹配,可以调整比对过程中特征向量空间余弦相似度的比值系数,在保证SIFT算法鲁棒性的前提下,匹配对数量明显增多,错误的匹配对也得到了有效剔除。

图像配准技术是当前计算机视觉领域的研究热点,在临床应用中具有广泛应用,主要用于疾病诊断与分析、术前规划、术中引导和术后疗效量化评估[13]。本研究针对传统SIFT算法的匹配阶段计算量大容易出现误匹配的问题,利用聚类分块方法对特征点比对进行了优化,剔除了错误匹配对,降低了肝脏CT图像配准中错误匹配对对配准结果的影响。

猜你喜欢
分块聚类肝脏
七种行为伤肝脏
肝脏里的胆管癌
钢结构工程分块滑移安装施工方法探讨
关于4×4分块矩阵的逆矩阵*
基于K-means聚类的车-地无线通信场强研究
加州鲈肝脏养护
懒交互模式下散乱不规则分块引导的目标跟踪*
基于高斯混合聚类的阵列干涉SAR三维成像
基于Spark平台的K-means聚类算法改进及并行化实现
基于改进的遗传算法的模糊聚类算法