一种密度聚类的染色精子医学图像识别算法

2014-08-04 01:19祝晓凤
关键词:头部精子灰度

谭 征,祝晓凤

(烟台大学计算机与控制工程学院,山东 烟台 264005)

医学图像精确处理技术一直是受到国内外相关专家学者关注的课题,对数字化医学影像的处理和分析日益成为国内外研究热点之一[1].医学图像的识别需要人工参与的工作较多,采用计算机处理时也会遇到较多困难,例如图像中存在大量噪声,拍摄图像时光源所在的位置对图像的灰度有明显影响等.这些干扰因素使得直接进行图像分割与识别的精确度较低.在数据挖掘领域,实用性聚类分析受到越来越多的关注.密度聚类算法DBSCAN[2](Density-Based Spatial Clustering of Applications with Noise)是聚类挖掘中的经典算法之一,该算法能够识别各种复杂形状,有效排除噪声干扰,聚类结果不受输入顺序的影响,因而得到广泛应用[3-5].文献[3]将DBSCAN算法应用于网格计算中的资源管理,将资源分成若干个相似的集合,实现对资源属性的划分.由于密度聚类算法在处理实际数据集的过程中,常常要对同一数据集进行多次的聚类分析,以获取不同层次有意义的或者感兴趣的知识.空间聚类中I/O消耗大,若采用统一参数,聚类质量会较差[4].文献[5]针对空间数据挖掘讨论了DBSCAN算法中的2个参数的选择,利用参数的设置,去除噪音等低密度数据,通过调整参数,获取高密度簇.

本文以某医院提供的染色精子医学图像为研究对象,图像中精子的头部和尾部灰度值差别较大,数据点密度差别也很大,如果采用调整参数的方式,需要多次测试参数的取值.因此本文对图像采用分步处理的方式,利用两阶段的DBSCAN 算法对样本图像进行聚类分析,尽可能减少噪音数据点的干扰,从源图像中识别出目标图像,自动对清晰度不高的医学图像数据进行不规则形状聚类划分,显示图像样本中测试细胞的数目,为医护人员判定患者的患病情况提供有效依据.

1 图像的预处理方法

由于原始数据图像存在噪声等干扰信息,因此需要预处理步骤尽可能地去除噪声和光源伪影干扰,凸显目标位置对比度,尽可能保留有效数据,删除干扰数据,减轻计算量;把精子头部、尾部分开处理以提高聚类算法的效果.本文的预处理过程包括:(1)RGB图像转化成灰度图.(2)借助灰度直方图确定阈值以实现对高密度区域(精子头部)的分割.(3)通过对背景进行估计来移除背景.(4)最后通过线性变换增强目标对象的灰度.

(1)RGB图像转化成灰度图

将图1所示原始图像的RGB转化为灰度图像是依据公式:I=0.299×R+0.587×G+0.114×B进行的[6],显示并将整个RGB图像转化成灰度图像,见图2.

图1 原始图像

图2 灰度图像

(2)高密度区域分割

灰度直方图是关于灰度级的函数,用于描述图像中具有该灰度级像素的个数,即一个灰度图像最基本的统计特征[6].

根据灰度直方图设定精子头部、尾部分离的阈值,头部是亮区,即灰度值高于集中区域灰度值,范围:140~150.由图2可知图像的反差很小,对比度不高.对灰度图像进行二值化处理,图像中所有大于阈值T的灰度值可用数值1取代,而所有小于或等于T的灰度值可用数值0取代,分离并保留出头部数据,此时仍然有少量背景噪音点,见图3.

图3 头部数据二进制图像

(3)背景模型估计及背景移除

如果对整体图像设置对比度阈值来进行二值化,会有很高的误差,很多目标细胞位置不能正常显示,而且在目标细胞周围产生大量的噪音点,很难进一步去除,因此本文根据用户设置的背景阈值估算背景像素[7].由于背景为暗区,灰度级较低,使用背景阈值范围内的灰度最小值估计本区域范围内的背景值,见图4.源数据图像与背景图像做减法,由于整体数据都做了减法,整体的图像会变得很暗,但是背景光照的干扰却极大减弱了.

图4 背景估计

(4)对比度提高

背景移除后,包括目标细胞在内图像都变暗了,需要对整体图像增强,此处采用线性灰度变换的方法.设原始图像像素灰度f的范围为[a,b],线性变换后的图像灰度g范围为[a′,b′],灰度g与灰度f之间的关系为

采用线性变换的方式对图像中的每一个像素灰度做线性拉伸,有效地改善了图像的视觉效果,见图5.提高目标细胞的亮度,削弱背景的亮度,提高整个图像目标细胞的对比度.将灰度图像转化为二进制图像,成为DBSCAN算法可以处理的数据,但是目标细胞周围有噪音点.

图5 对比度提高的图像

2 DBSCAN算法描述

2.1 DBSCAN算法

DBSCAN算法是基于密度的聚类算法,由于它可以确定出任意不规则形状的高密度簇,因此得到很广泛的应用.DBSCAN算法中的参数包括对象的邻域半径ε以及该邻域内数据点的阈值MinPts.某点的ε邻域内的点数超过阈值,便成为核心点.该算法通过判断该点是否为核心点,进而决定如何扩展簇.本文采用DBSCAN算法对数据图像进行聚类,给出其中重要参数Eps和Minpts的确定方法.

DBSCAN算法描述如下:

输入: 包含n个数据对象的数据集合,半径Eps,邻域中数据对象数目阈值MinPts;

输出: 簇聚类结果.

(1) Repeat;

(2) 从数据集合中抽出一个未处理的数据点;

(3) IF正在处理点为核心点 THEN 找出对于该核心点是直接密度可达和间接可达的所有数据对象,形成一个密度簇;

(4) ELSE继续处理下一个点;//正在处理点为非核心对象,不标记处理标签;

(5) UNTIL 所有数据点都被处理.

DBSCAN对Eps和Minpts的参数很敏感,参数的选择可以通过实验确定.

2.2 两阶段的DBSCAN算法

首先调用DBSCAN算法直接对预处理(1)、(2)后的图像进行聚类,结果发现,由于噪声的影响,聚类结果不准确,样本图像中的精子数量为38个,识别的结果是55个,而且识别出的细胞尾部被截断,见图6.

观察发现,精子头部图像属高密度区,而尾部密度低更易受噪声的影响,因此本文提出了两阶段的图像识别算法.第一阶段先聚出细胞头部,以确定精子的数量;第二阶段以头部为聚类的核心点,识别精子的尾部,而不是采用DBSCAN进行全新的计算.

图6 使用一次DBSCAN算法处理结果

两阶段的DBSCAN算法的步骤如下:

输入:原始数据图像G(512×512,RGB彩色图像),Eps,Minpts;

输出:发现的各簇;

步骤:

(1)RGB图像G转化成灰度图;

(2)高密度区域分割,保留精子头部数据HG;

(3)对HG进行DBSCAN密度聚类,得出各簇C1,C2,…,Ck,每簇是一个精子的头部;

(4)尾部图像TG:=G-精子头部数据HG;

(5)对TG进行背景估计和背景移除;

(6)通过线性变换增强TG图像并二值化;

(7)利用DBSCAN算法,在TG中以C1,C2,…,Ck中的点为核心点,找出所有密度可达的簇.(注:此步骤为每个头部找出相应的尾部.)

(8)返回.

算法中的步骤1、2、5、6分别对应预处理方法的(1)~(4).作为实际的应用,可以将每个精子的头部与尾部的比例计算出来,提供给用户.CT染色精子样本图中的染色情况对应精子的蛋白质含量,为医生判定精子的活性提供依据.统计各精子的头尾比例,可以提供对病人的整体情况分析.

3 实验与结果分析

对于DBSCAN算法,调整的参数主要有Eps和Minpts.本文的做法是先对数字图像进行分析,找到一个我们认为的最佳参数,然后相对已确定的参数值,2个参数分别有变大、变小和不变3种情况,共有9种组合,对这9种组合分别进行实验(见表1),结果证明,本文确定的参数为最佳参数组合.

(1)参数选择

表1 参数变化对聚类结果的影响

图7 Eps和 Minpoints取值

(2)该参数下的实验结果

按以上参数Eps=2.12,Minpts=9运行两阶段的DBSCAN算法,得出头部细胞簇如图8所示,最终结果如图9所示.样本中的38个精子清晰可见,尾部完整.

(3)最佳参数的确认

Eps和Minpts相对于(1)中已确定的数值,各有3种变化:变大、变小、不变.根据排列组合,共有9种情况,本文分别做了实验,结果见表1.输入不变,得到在不同的参数下的输出.由表1可知,编号为2、3、5的实验结果中图像识别受参数影响较大,即Eps变小且Minpts不变、Eps不变且Minpts变大、Eps变小且Minpts变大.在这3种条件下,会使形成核心对象的条件变的更为严格,在本文样例中,甚至无法聚出完整细胞.

图8 精子头部簇

图9 最终的结果

(4)不同方法时间特性分析对比

文中的DBSCAN算法的执行方法较传统使用方法做了调整,分为两步,因为每步的聚类目标明确,使得不仅准确度得到提高,运行效率也得到改善.Minpts值取为9,Eps值取为2.12,在同一台机器上(软、硬件环境一致),一次调用DBSCAN算法的执行时间为94.364 7 s,而本文算法的方法执行时间为30.455 3 s,提高了运行效率.

4 结束语

改善图像质量,快速、高效地实现图像修正重现,最大限度地避免噪声和光源伪影干扰,清晰呈现目标图像,为现代医学临床诊断治疗提供了有力保证.本文在图像预处理的基础上,描述了如何通过二次调用密度聚类算法清晰呈现精子细胞图像的过程,并确定了DBSCAN算法中2个参数的最佳值.在实验中发现DBSCAN对处理大量数据时时间复杂度比较高,从而使系统分析响应较慢.图像预处理的过程中削弱干扰数据上不够完美,使得处理结果仍然受到图像清晰度的影响.这些都是今后的研究中有待进一步解决的.

参考文献:

[1] 张霞,汪超. 医学图像处理技术及发展趋势[J]. 中外医学研究,2010,8(7):22-23.

[2] 毛国君,段立娟,王石,等.数据挖掘原理与算法[M].北京:清华大学出版社,2007.

[3] 马晨明,黄德才,吴天虹,等. 基于QoS的网络资源聚类管理[J]. 浙江工业大学学报,2009,37(4):421-425.

[4] 毕方明,王为奎,陈龙. 基于空间密度的群以噪声发现聚类算法研究[J]. 南京大学学报:自然科学版,2012,48(4):491-498.

[5] 孙鹏,韩承德,曾涛. S-DBSCAN:一种基于DBSCAN发现高密度簇的算法[J].高技术通讯,2012,22(6):589-595.

[6] 秦襄培,郑贤中. MATLAB图像处理宝典[M].北京:电子工业出版社,2011.

[7] 韩晓军. 数字图像处理技术与应用[M]. 北京:电子工业出版社,2009.

猜你喜欢
头部精子灰度
采用改进导重法的拓扑结构灰度单元过滤技术
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
火箭的头部为什么是圆钝形?
多吃熟番茄,精子质量好
精子求偶记
基于最大加权投影求解的彩色图像灰度化对比度保留算法
精子DNA完整性损伤的发生机制及诊断治疗
自适应统计迭代重建算法在头部低剂量CT扫描中的应用
基于像素重排比对的灰度图彩色化算法研究
补肾生精汤配合针刺治疗少弱精子症45例