APP下载

基于改进SIFT算法的胃部图像拼接方法研究

2022-10-18夏振港华德正刘晓帆刘新华

自动化仪表 2022年9期
关键词:像素点胃部关键点

夏振港 ,华德正,张 旭,王 勇,刘晓帆,刘新华

(1.中国矿业大学机电工程学院,江苏 徐州 221116;2.徐州工业职业技术学院信息工程学院,江苏 徐州 221140;3.中国煤炭教育协会,北京 100713)

0 引言

使用医疗胶囊机器人检查人体胃肠道疾病是1种新兴方法。该方法结合近年来迅速发展的微型机电系统、传感测试技术以及图像处理技术,实现主动控制、提高诊疗精度、降低手术风险,对现代医疗领域发展具有重大意义[1-2]。医疗胶囊机器人通过机器视觉技术拍摄胃部内的图片,帮助医护人员可视化地诊断患者疾病。但医疗胶囊机器人在运动过程中拍摄的图片存在倾角和旋角变化差异大、视野范围窄等问题,不容易确定疾病的具体位置。因此,本文提出基于改进尺度不变特征转换(scale-invariant feature transform,SIFT)算法的胃部图像拼接方法,使医疗胶囊机器人能够快速获取视野更广泛、更清晰的胃部图像。

目前,图像拼接方法主要为空间域与频域[3]。其中,国内外研究人员对空间域的图像拼接展开了广泛的研究[4]。Lowe提出了1种图像空间尺度不变性算法。该算法具有对图像局部特征的旋转、缩放、明暗变化等保持不变的优点,对图像的视角变化也保持一定程度的稳定性,但对于图像稳定点的特征提取速率较慢。Bay对经典尺度不变换特征SIFT算法进行改进,并提出了快速鲁棒特征(speeded-up robust features,SURF)图像拼接算法。该算法改进了图像特征提取的方法,提高了特征提取的速率,但匹配精度较低。刘向增提出了1种仿射不变性与尺度不变特征变换相结合(affine invariant fast kernel independent component analysis scale invariant feature transformation,FKICA-SIFT)的方法,提出由粗到细的匹配方式,实现了图像的多尺度精确匹配。候宏录等[5]提出了1种改进SIFT的目标检测算法,通过剔除边缘丢失点,消除相机运动带入的误差,从而提高算法实时性。Han等[6]通过调节SIFT算法中绝对距离的匹配,对算法描述子进行降维,提高了算法的计算速率和图像拼接速度。王昱皓等[7]利用相位相关性确定图像的重叠区域、归类图像纹理特征,提高了图像特征点提取的效率。Tang等[8]提出了1种新的局部特征描述子。该方法结合了局部二值模式(local binary pattern,LBP)描述子在光照变化方面和SIFT在尺度不变性方面的鲁棒性优势。Dong等[9]对调节阈值进行粗匹配,确定了图像信息较多的大致区域,再对该区域进行细匹配,提高了原算法的匹配速率。

上述学者在研究图像拼接算法中都获得了完整的拼接图像,但算法配准的准确率不高和运行速率较低,不能完全满足胃部疾病诊断图像的需求。因此,本文通过对图像进行双边滤波处理,保留了图像边缘点信息;建立改进后的图像尺度空间金字塔,减少了图像特征点检测的时间;使用改进的方法计算出关键点的描述符,提高了关键点描述符生成的效率;简单随机一致性算法对图像进行空间变换,有效地解决了图像拼接的重影问题[10]。

1 胃部图像拼接方法的总体框架

胃部图像拼接技术是胶囊机器人实现全景复现的核心,主要包含图像的配准与融合。SIFT算法通过描述图像中的局部特征,寻找图像的极值点,并提取出其位置、尺度、旋转不变量。算法的实质是在不同的尺度空间上查找特征点、确定关键点的方向,从而在一定程度上去除因光照、遮挡、仿射变换而变化的点。本文提出的胃部图像拼接算法包括图像获取、双边滤波处理、尺度空间建立、关键点定位及描述、图像配准以及图像融合等步骤。图像拼接算法流程如图1所示。

图1 图像拼接算法流程图Fig.1 Image stitching algorithm flowchart

图像拼接算法具体步骤如下。

①输入需要拼接的图片。

②进行双边滤波处理,保留图像的边缘信息,增强图像相似性特征。

③构建图像尺度空间,计算出图像金字塔,判断每组层数是否小于等于3层。若小于等于3层,则执行下一步;反之,提取这一组图像的前两层再执行下一步。

④确定图像关键点位置,利用相邻像素点的方向分布特性确定关键点的方向信息。

⑤使用改进的方法,由邻近像素点计算出关键点的描述符。

⑥根据检测到的特征点,将2幅图像进行配准。

⑦利用简单随机一致性方法将图像融合,使用加权平均融合方法得到平滑的拼接图像。

⑧输出拼接完成的图像。

2 基于改进SIFT算法的图像拼接方法

2.1 双边滤波

为了保留图像边缘信息点、增强图像相似性特征,采用双边滤波对采集图像进行预处理。该滤波器利用周边像素的加权平均值来表示这个像素的强度。权重值原理如图2所示。

图2 权重值原理图Fig.2 Schematic diagram of weighting value

图2中:输入为原图像,突出部分为图像噪声;输出为滤波后的图像,通过计算得出该像素中心周围像素点的灰度值和空域值。同时,考虑空域和值域2个权重,将其融合为新的权重因数,达到保边去噪的目的。

双边滤波器的定义为:

式中:Gr为像素点权重值;Ip-Iq为像素点与邻近像素点的差值。

采用双边滤波算法处理图像,剔除了图像噪声,保留了图像的边缘信息,有利于图像边缘关键点描述符的生成。

2.2 改进尺度空间的建立

尺度空间是图像处理模型中连续变化的尺度参数,能够展示多尺度参数下的图像综合信息[11]。在尺度空间内提取出图像综合信息的主轮廓,并以主轮廓作为特征向量检测图像的边缘、角点信息。尺度空间的计算式为:

L(x,y,σ)=G(x,y,σ)⊗I(x,y)

(5)

式中:L(x,y,σ)为高斯函数与原图像进行卷积后的尺度空间图像;G(x,y,σ)为二维的高斯函数;⊗为卷积运算;I(x,y)为原图像;σ为尺度空间因子,越小则表示图像被平滑得越少。

使用高斯函数对图像作降采样,构成由下到上、由大到小的图像金字塔模型。为了提高特征点检测速率,在构建尺度空间的过程中,通过减少高斯金字塔图像每组层数s降低了图像差分时所消耗的时间。图像金字塔组数计算公式如下:

O={log2[min(M,N)]}-3

(7)

式中:O为图像金字塔的组数;M、N分别为图像的行、列数;{ }为取整运算,本文取图像金字塔每组层数s=3。

在建立高斯图像金字塔过程中,取每组图像的前3层。这样既可以得到差分后的图像,又能够减少图像特征点检测的时间。图像差分过程如图3所示。

图3 图像差分过程Fig.3 Process of image differencing

在实际计算过程中,将高斯金字塔每组图像中的2层相减,得到高斯差分金字塔。计算式为:

D(x,y,σ)=[G(x,y,kσ)-G(x,y,σ)]⊗I(x,y)=

L(x,y,kσ)-L(x,y,σ)

(8)

式中:D(x,y,σ)为差分后的图像;L(x,y,kσ),L(x,y,σ)为上、下2层高斯函数与原图像进行卷积后的尺度空间图像。

将高斯差分金字塔图像中的每个像素点与其周围相邻的8个像素点比较,再将像素点与相邻尺度范围的像素点比较,以初步判断其是否为极值点。

2.3 关键点定位及改进描述符的生成

通过拟合三维二次函数求得键点的位置和方向,去除不稳定的边缘点和低对比度的关键点。将已知的离散空间点插值,得到连续空间极值点[12]。对尺度空间高斯差分函数进行曲线拟合,以提升关键点的稳定性。将式(8)作Taylor展开计算式为:

对应极值点的方程的值为:

根据Lowe提出的算法,本文使用所求值大于0.04的像素点,反之则剔除。

利用尺度不变性求极值点,使其具有旋转不变性,将图像的每个局部特征分配1个方向基准,然后利用相邻像素点的方向分布特性,求出关键点的方向信息。像素梯度的模值和方向计算式如下。

式中:m(x,y)为像素点的梯度模值;θ(x,y)为像素点的方向。

为了确定描述符所需要的图像区域,选取特征点周围16×16个窗格。每个窗格代表1个像素点。将关键点对应高斯图像的16×16个邻域像素点划分成4个子区域。

关键点描述符如图4所示。

图4 关键点描述符示意图Fig.4 Schematic diagram of key point descriptor

以右上角8×8个像素点组成的子区域b为例。首先,找到该子区域中心像素点,将该像素点视为坐标原点,作出3个八边形环;其次,以0°、45°、90°、135°、180°、225°、270°、315°、360°为描述符特征向量的方向,分别计算出3个八边形环内8个方向的特征向量,将8×3=24维特征向量叠加到子区域的中心像素点;最后,将4个子区域的特征向量按照距离权值叠加到关键点,生成关键点的描述符。计算式为:

式中:hi(mi,θi)为子区域八边形环的任一向量;Hb(m,θ)为子区域b的向量描述符。

(15)

式中:H0(m,θ)为关键点描述符的96维向量。

采用此种方法生成的关键点描述符为4×3×8=96维向量,少于原SIFT算法的4×4×8=128维向量。这就减少了图像特征点匹配所消耗的时间。

子区域内中心像素点的描述符由3个八边形环按照8个方向不同距离权值生成。相比于原SIFT算法利用生成的16个种子点计算关键点描述符,该方法提高了关键点描述符的可靠性和准确性,进而提升了匹配准确率。

2.4 特征点匹配和图像融合

本文采用快速最近邻开源库(fast library for approximate nearest neighbors,FLANN)进行特征点匹配。图像匹配完成之后存在误匹配点,因此使用随机抽样一致性(random sample consensus,RANSAC)的方法剔除这些误匹配点,以保证匹配精度。匹配完成后,如果直接进行图像拼接,会使得图像重叠区域产生裂缝、融合阴影和鬼影等现象。为消除这种拼接现象,从而在图像重叠区域获得更好的过渡效果、实现图像无缝拼接,本文利用加权平均融合的方法对匹配后的图像进行处理。

加权平均图像融合的计算式为:

(16)

式中:f(x,y)为融合后的图像;ω1、ω2为权重系数,ω1+ω2=1,0 ≤ω1≤ 1,0 ≤ω2≤1。

计算过程中,ω1由1到0,而ω2由0到1,实现了2个图像的平滑过渡。

3 试验结果与分析

本试验在Anaconda环境下,使用Python3.8软件进行编译。

为了验证改进后的算法对胃部图片拼接的效果,本文使用医疗胶囊机器人采集某胃部模型内的局部图像。胶囊机器人及胃部模型如图5所示。

图5 胶囊机器人及胃部模型Fig.5 Capsule robot and stomach model

胃部模型局部图片如图6所示。试验一图像拍摄于胃部模型的上方。试验二图像拍摄于胃部模型的下方。试验三图像拍摄于胃部模型的任意位置。试验四图像拍摄于胃部模型的任意位置。四组试验图像均具有胃部褶皱、明暗变化等多种特征,具有较强的代表性。

图6 胃部模型局部图片Fig.6 Partial picture of stomach model

3.1 试验数据及分析

将四组图像分别输入试验平台进行试验,得到特征点数据结果和试验匹配数据结果。四组图像的特征点数据结果和试验匹配数据结果分别如表1、表2所示。其中,每组算法用时都通过50次试验求平均值。

表1 四组图像的特征点数据结果Tab.1 Results of feature point data for four gruops of images

表2 四组图像的试验匹配数据结果Tab.2 Experimental matching data results of four groups of images

匹配结果图像如图7所示。由表1、表2中试验一试验数据可知,原算法对图6(a)、图6(b)进行特征点匹配,正确匹配率为78.03%,匹配结果如图7(a)所示。本文算法有较好的匹配精度,正确匹配率达到86.91%,提高了8.88%。本文算法相比原算法耗时下降了16.80%,匹配结果如图7(b)所示。

由于图像质量较高,所以检测点数目较多。原算法对图6(c)、图6(d)进行特征点匹配,正确匹配率为78.69%,匹配结果如图7(c)所示。本文算法正确匹配率为85.71%,提高了7.02%。本文算法相比原算法耗时下降了14.73%,匹配结果如图7(d)所示。

试验三数据显示,本文算法正确匹配率为91.59%,相比于原SIFT算法提高了7.71%,用时下降了16.04%,匹配结果如图7(e)所示。试验四数据显示,本文算法正确匹配率为88.81%,相比于原SIFT算法提高了7.85%,用时下降了15.26%,匹配结果如图7(f)所示。

四组试验图像拼接结果如图8所示。

图8 图像拼接结果Fig.8 Image stitching results

3.2 图像评价

图像拼接质量评价指标采用平均绝对误差(mean absolute error,MAE)、峰值信噪比(peak signal to noise ratio,PSNR)和结构相似性(structural similarity,SSIM)。其中,MAE越小越好,PSNR与SSIM越大则代表与实际越接近。四组图像拼接质量评价如表3所示。

表3 四组图像拼接质量评价Tab.3 Evaluation of stitching quality of four groups of images

由表3可以得到以下结论。试验一结果显示,本文算法图像拼接质量评价指标中MAE降低了约2%、PSNR提高了约7%、SSIM高于原算法图像拼接的评价数值。试验二结果显示,本文算法图像拼接质量评价指标中MAE降低了约8%、PSNR提高了约13%、SSIM高于原算法图像拼接的评价数值。试验三结果显示,本文算法图像拼接质量评价指标中MAE降低了约3%、PSNR提高了约10%、SSIM高于原算法图像拼接的评价数值。试验四结果显示,改进后算法图像拼接质量评价指标中MAE降低了约5%、PSNR提高了约10%、SSIM高于原算法图像拼接的评价数值。以上结果均表明,本文算法图像拼接质量更好。

综上所述,改进后的算法在图像拼接质量评价指标对比中, MAE、PSNR以及SSIM均优于原始算法。

4 结论

本文针对医疗胶囊机器人拍摄的图片倾角和差异大、视野范围窄等问题,提出了1种基于改进SIFT算法的胃部图像拼接方法。该方法改进了基于改进图像金字塔的尺度空间构建方法,提出了1种图像特征点描述符生成的方法,生成关键点96维向量的特征描述符,降低了描述符生成的计算量,提高了算法的运算效率。仿真试验结果表明,图像匹配准确率相比于原SIFT算法提高了8.88%,耗时降低了16.8%。利用MAE、PSNR、SSIM等图像评价指标进行图像拼接质量对比。对比结果表明,改进后算法获得的图像质量优于原SIFT算法。后续将在本文的研究的基础上,针对胃部环境的三维重建技术开展研究。

猜你喜欢

像素点胃部关键点
论建筑工程管理关键点
水利水电工程施工质量控制的关键点
胃部爱情
胃部反酸吃什么好
什么原因造成男人的肠胃不好
一种X射线图像白点噪声去除算法
基于灰度直方图的单一图像噪声类型识别研究
生花生可以缓解胃部反酸
基于canvas的前端数据加密
利用定义法破解关键点