陈汐程 耿思捷 王淋 杨婕 韩储储
摘要:为去除股骨髓腔CT图像中的无用信息,减少噪声干扰,提高边缘检测的效率,提出了一种基于Canny检测的改进方法。采用中值滤波和腐蚀膨胀对图像进行预处理,结合OSTU算法自适应获取图像边缘的最佳阈值。利用MATLAB软件对文中提出的方法进行仿真,实验结果表明通过该方法所提取的髓腔边界效果较好,提高了股骨髓腔边缘检测的质量。
关键词:股骨髓腔;边缘提取;图像滤波;Canny检测
中图分类号:TP391 文献标识码:A
文章编号:1009-3044(2021)10-0189-03
股骨在人体运动中起支撑和杠杆作用,较其他类型骨骼更容易发生骨折和病变。骨科临床中,股骨骨折和病变的常用治疗手段是实施骨科接骨板内固定手术[1]。股骨髓腔形态参数对接骨板和人工髋关节假体设计有着重要的指导作用。接骨板特征参数与骨骼解剖特征参数越吻合,两者的匹配度越高。准确地测量股骨髓腔形态参数,可提高假体的适应性、稳定性和持久性,减少医源性损伤。
股骨髓腔的边缘信息对股骨形态参数的研究和相关病情诊治具有重要的研究价值和临床意义。John F. Canny于1986年首次提出了一种对弱边缘检测效果十分显著的多级边缘检测算法[2]。陈若珠等选用中值滤波取代高斯滤波[3],使传统Canny算法中对图像平滑过渡而造成边缘信息丢失的结果得到了改善。这些专家与学者在对图像边缘提取的广泛研究中大量涉及了对传统经典边缘算子的深入研究和算法改良,但在医学骨科领域关于股骨髓腔边界的提取研究却十分有限。
本文通过总结对比经典的图像滤波算法和边缘提取算子,经过大量实验和分析,提出了一种利用MATLAB对股骨髓腔CT图像进行边界提取的方法,如图1所示,并详细论述了其中的每个重要步骤。文中提供的方法在髓腔CT图像的边缘定位与图像的噪声抑制之间取得了较好的平衡,采用OSTU方法自适应获取图像阈值,能高效快速地对图像进行边界缘提取,具有良好的边界提取功能。这有助于后期对股骨形态因子作进一步分析和提取,为后期股骨平均模型的构建和接骨板的设计提供数据信息。
1 图像滤波
医学图像主要用于医生对患者的诊治以及医疗研究人员对图像进行参数的测量和分析,相比于传统的数字图像,医学图像具有较高的专业应用性[4]。因此对图像画面的噪声和清晰度有着特殊的要求。此外,考虑到传统的基于一阶和二阶导数的边缘检测算法对图像噪声的敏感度较强[5]。因此有必要使用滤波算法来改善图像的画面,消除影响边缘检测性能的噪声。均值滤波、中值滤波是图像滤波中常用的两种经典滤波算法,其原理的差异使得对图像处理效果也各不相同,需要注意的是,濾波在去除噪声的同时也一定程度地使图像变得模糊。下面对两种滤波算法的原理进行分析,在实验环节通过设置不同的滤波模板和结构参数实现增强边缘和降低噪声的平衡,通过对比不同滤波算法的处理效果,选择效果最优的方法。
1.1 均值滤波
均值滤波也称为线性滤波,其原理是将每个像素和它周围像素计算出来的平均值替换图像中每个像素[6]。但均值滤波在去除噪声和保护图像细节方面无法取得良好的折衷,且无法有效去除具有极大值和极小值的脉冲噪声。均值滤波公式:
其中,M为所用模板中像素点的总个数。
1.2 中值滤波
中值滤波器是一种非线性平滑滤波器,它将每个像素的灰度值设置为像素邻域窗口中所有像素的中值,从而消除孤立的噪声点。中值滤波对消除脉冲噪声十分有效,且常用于保护图像边缘信息,是经典的平滑噪声方法[7]。中值滤波公式:
其中,W为二维模板,通常为3*3或5*5区。
1.3 腐蚀和膨胀
在对图像进行滤波处理后,若图像中仍有残余的噪声点,则需对图像作进一步平滑消噪处理。通过对图像进行一次先腐蚀后膨胀操作,即开运算,能够去除图像中孤立的小点,且保持图像的位置和形状不变[8]。腐蚀操作通过求取图像局部的最小值使图像中的高亮噪声区变小。用结构元素B腐蚀图像A的公式:
膨胀是腐蚀的反操作,通过求取局部最大值赋值给参考点指定的像素,从而实现对图像中残存的细小空隙点的填充。用结构元素B膨胀A的公式:
2 图像边缘检测
灰度图像中快速变化的一组点构成了图像的边缘。传统的边缘检测算子主要通过计算图像的梯度(灰度值变化率)来进行边缘检测[9]。一阶导数的局部最大值和二阶导数的过零点可实现对这种梯度变化剧烈程度的度量。通过前期对不同算子的实验检测,我们发现以下两种算子对股骨髓腔CT图像的边界提取效果相对较好。下面对这两种经典的图像边缘检测算子的原理和功能进行简要分析与对比,在此基础上后文通过实验筛选出处理效果最优的Canny算子并对其进行改良。
2.1 Log算子
高斯拉普拉斯算子(Laplacian of Gaussian, Log)是一种二阶微分算子,具有各向同性、线性、位移不变的特点。其基本原理是利用图像二阶导数在边缘处出现零值这一特性进行边缘检测[10]。该算子对噪声敏感,因此在用Log寻找陡峭边缘前要先使用高斯滤波对图像作平滑处理。
2.2 Canny算子
Canny算子对上述算子作了进一步细化和精确的定位,同时借鉴了Log算子先进行高斯滤波再进行图像梯度计算的思想[11-12]。该算子首先借助高斯滤波对原图像进行卷积,去除图像中的噪声。接着由一阶导数有限差分法计算梯度的大小和方向由,以估计图像中每一点的边缘强度和方向。然后对图像的梯度幅值进行非极大值抑制。最后利用双阈值进行图像的边缘检测和连接。
3 MATLAB仿真实验及结果分析
本文的实验素材选自常州市第一人民医院于2015年收治的1例50岁的身高175cm的男性汉族患者的股骨CT数据。使用GE公司生产的LightSpeed VCT螺旋扫描,主要参数如下:管电压120kV,管电流300mA,层厚0.6mm,层间距5.0mm,扫描时间1.5s,显示视野DFOV为26.9cm×26.9cm,CT矩阵为512×512。
实验配置与环境:处理器Intel(R)Core(TM)i7-8750H CPU@2.20GHz,内存8GB,操作系统64位Windows10。MATLAB软件版本为R2019b。
3.1 图像灰度化
利用MATLAB软件中rgb2gray函数将股骨髓腔CT图像格式转化为灰度图。一方面降低边缘检测的复杂度,另一方面适应后续图像处理函数的基本要求。
3.2 圖像中值滤波
灰度化处理后的股骨髓腔CT图像上的文字对后期边界提取具有较大干扰,可将其视为一种特殊的噪声,对此我们利用MATLAB软件中的滤波函数对灰度化后的CT图像进行滤波平滑处理,对比均值滤波、中值滤波(采用5×5模板)处理的效果,如图2所示,可从中观察到中值滤波去除文字效果显著,仅剩余局部细小的噪声点。中值滤波对图像具有较好的平滑去噪功能,同时也降低了边界的模糊程度。
3.3 图像腐蚀与膨胀
为去除中值滤波后CT图上残余的噪声点,对图像进行先腐蚀后膨胀操作,即进行一次开运算。利用MATLAB软件中的imopen函数,选取[0,1,0,1,1,1,0,1,0]为结构元素,实现对图像的开运算。实验结果如图3所示,从中可以观察出该方法去除了剩余的细小噪声点并得到平滑清晰的股骨CT图像,这有利于提升后期图像边缘提取的精确性。
3.4 利用OSTU自适应获取阈值并对图像进行Canny边缘检测
为对比两种经典算子对股骨髓腔CT图像的边缘提取效果,首先对预处理后的图像进行截取,利用MATLAB软件中提供的edge函数,调用Log,Canny两种算子进行髓腔边界提取,实验结果如图4所示。
从上图可以看出 Log算子的边缘提取效果比较完整,但对离散点噪声较为敏感,且检测出的内边缘间断明显,不能得到较为理想的股骨髓腔边界。Canny算子不仅能有效消除部分噪声,而且对图像边缘定位也较为准确。其对图像进行非极大值抑制和采用双阈值检测边缘的过程,使得检测出来的图像具有边缘误判率低,边缘细腻清晰,抑制虚假边缘的特点。通过调用Canny算子,使用二分法手动设置阈值并经过大量的实验测试,发现当阈值参数为0.185左右时,可获得具有研究价值的髓腔边界,如图5所示。
日本学者大津于1979年提出的了一种自适应的阈值确定的方法即最大类间方差法,简称OTSU[13]。其根据图像的灰度特性,将图像分成两部分:背景和目标。该方法不受图像亮度和对比度的影响,且计算简便。虽然其具有对噪声敏感的缺点,但通过上文对CT图像的逐级优化处理,此处可直接使用该方法来快速求取能过够提取图像边界的阈值。利用MATLAB中的graythresh函数自适应获取阈值并代入edge函数中进行边界提取,如图5所示。
通过对比观察可发现,采用OSTU获得的阈值的方法与上文手动设置阈值的结果图像效果基本相同。在MATLAB软件调用graythresh函数得到返回值threshold=0.184,这与上文经过大量实验总结所得阈值为0.185左右也基本符合。
为了对比本文方法与传统Canny检测方法所得股骨髓腔边界的图像质量,以本文灰度化后的初始图像为素材,引入峰值信噪比和信息熵对实验结果图像作客观评价。由表1的数据得知,本文方法提取的股骨髓腔边界图像的峰值信噪比较高,表明图像失真较小,质量较好。相比于传统Canny检测,本文方法所得图像信息熵较低,表明所提取的边界中所含信息量较少,减少了图像中部分无用信息。
综上所述,在对股骨髓腔CT图像进行边界提取时,本文改进的Canny检测方法比传统的Canny检测方法提取的髓腔边界质量高,不需要人为设置阈值参数,使自适应性得到了一定程度的提高,也提高了股骨髓腔边缘检测的效率。
4 结论
本文通过采用中值滤波和腐蚀膨胀对股骨髓腔CT图像进行预处理,并使用OSTU自适应阈值的方法寻找Canny算子中的阈值。实验结果表明,改进后的边缘检测方法能够较精确地对股骨髓腔边界进行提取,有效剔除了不需要的图像信息,使得产生的图像边界的连续性强,定位精度高,强化显示并保留了医学图像的结构属性,产生更适合医务人员认识和研究的医学图像。在此基础上,课题组将对股骨形态因子作进一步研究和提取。本文中使用中值滤波对图像进行预处理,对脉冲噪声等部分噪声有明显的滤波平滑效果,由于医学图像噪声来源种类较多,如机械噪声、电阻噪声等环境噪声,难以彻底抑制噪声对图像边缘检测的影响,需要根据实际情况进行适当调整滤波参数并综合多种滤波方法才能获得较为理想的处理结果。
参考文献:
[1] Panchal P,Patel C,Poptani A.Treatment of distal end of fracture femur by locking compression plate[J].International Journal of Medical Science and Public Health,2016,5(9):1754.
[2] Canny J.A computational approach to edge detection[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1986,8(6):679-698.
[3] 陈若珠,薛彪.基于MATLAB的改进Canny算子的图像边缘检测研究[J].工业仪表与自动化装置,2014(4):113-116.
[4] 李越.基于Matlab的医学影像增强与边缘检测算法的实验研究[J].电脑知识与技术,2017,13(14):154-157.
[5] 郑永永,刘晓敏,刘洪波,等.一种基于MATLAB图像边界提取算法[J].吉林化工学院学报,2015,32(11):42-44,72.
[6] 祝安定,施鹏汉,肖宗莹.基于阈值增强的均值滤波[J].电脑知识与技术,2020,16(7):283-284.
[7] 关雪梅.一种基于中值滤波和小波变换的图像去噪处理算法研究[J].中州大学学报,2020,37(1):121-124.
[8] 刘亚洁.基于数学形态学膨胀和腐蚀的医学磁共振图像的边缘检测[J].生物医学工程与临床,2012,16(1):11-13.
[9] 柏春岚.Matlab在图像边缘提取中的应用[J].科技信息,2009(14):224-225.
[10] 孙星星,郑俊褒,曹志玲.基于引导滤波与LoG算子的安检图像增强算法[J].软件导刊,2020,19(8):226-229.
[11] 柏丽银,彭亚雄,陆安江.基于改进Canny算子的手势图像边缘检测[J].电子科技,2020,33(7):46-50.
[12] 王玉玺,陈健美.基于自适应Canny算子和多方向Sobel算子的虹膜边缘检测算法[J].计算机与数字工程,2020,48(11):2744-2749.
[13] 田梦娜,徐泮林,丁鹏文.基于MATLAB的边缘检测算法研究[J].测绘与空间地理信息,2020,43(2):197-199,203,207.
【通联编辑:唐一东】