刘肖肖 孔德友 刘广宇 刘伯强
尿沉渣是尿液经过离心或自然沉淀之后形成的沉渣,是尿液中的各有形成分的集合,包括红细胞、白细胞、上皮细胞、管型、结晶和杂质等成分,对于部分早期肾脏病变、血液病、肝胆疾患等的诊断有重要的参考价值[1-2]。目前,医院常规使用干化学法和流式法检测,当两种结果不一致或白细胞、红细胞呈现阳性时,使用人工镜检进行确认[3]。
尿沉渣检查的仪器有美国的IQ200型尿沉渣分析仪,但价格高,不适合国人生理状况;日本的UF-1000i型尿沉渣分析仪的误检情况严重;而国内长沙爱威尔等机器也是参考国外设备而设计,各种方法都需要人工镜检进行核实[4]。由于人工镜检易受操作者疲劳程度、经验层次等因素的影响,故尿沉渣图像自动分析方法的研究迫在眉睫。
尿沉渣成分繁杂,结构丰富多样,成像效果受标本采集时间、仪器设备、成像环境等因素的影响,在采集过程中可能出现光照不均及散焦严重,有些成分边缘较淡不易识别,且背景上有杂质和阴影[5]。同时,尿沉渣图像中红细胞、白细胞、管型细胞、上皮细胞、结晶等在形态学上又有较为明显的差异,人眼可做识别,进而实现自动识别[6]。
在尿沉渣有形成分显微图像中,可采取周长、面积、圆形度、纹理、均匀度等信息做为特征值进行日后的模式识别,因此对颜色信息并不敏感[7-8]。为了方便后续处理,首先将图像灰度化以去除彩色图像中的冗余信息,其处理效果如图1所示。
图1 彩色图灰度化显微图(×40)
图1显示,图像中的背景刻度框明显,且存在椒盐噪声,需要进行滤波操作。常用的滤波方法有:高通滤波、中值滤波、低通滤波、邻域滤波等[9]。
邻域滤波的方法是将目标像素点的灰度与其相邻区域的像素点的灰度相加取平均,可以抑制噪声,使图像变模糊,用于去除刻度框的投影。中值滤波是一种非线性的去噪方法,在特定情况下既可以去除噪声又可以保护图像边缘信息,用来去除椒盐噪声[10]。
对图像初步处理后可以进行边缘检测。边缘检测是使用数学方法提取图像像素灰度(亮度)值中具有空间方向变化梯度大的边、线特征的过程。为了更好的识别尿沉渣有形成分,使其与背景分离,需要提取出有形成分的轮廓信息并将其二值化。
常用的几种边缘检测算子有:Canny[19]算子、Sobel算子以及Laplace算子等。Laplace算子对噪声敏感,检测效果不佳,此处不表。
Canny算子边缘检测于1986年由John F.Canny[11]开发,是个多级边缘检测算法,在处理上有4个步骤。
(1)使用高斯滤波器来平滑图像,其高斯平滑函数计算为公式1:
设为平滑后的图像,用h(x,y,σ)对图像f(x,y)进行平滑操作,其计算为公式2:
式中*号表示卷积。
(2)使用一阶有限差分计算偏导数阵列f´x(x,y)与f´y(x,y)。第一步中已经平滑的图像函数g(x,y)的梯度可以用两个2×2的一阶有限差分公式Gx、Gy来近似的计算x与y偏导数的两个阵列f´x(x,y)与f´y(x,y),见表1。
在这两个2×2的正方形内求有限差分的均值,第一个正方形内求x方向上的偏导数梯度,使用第二个正方形求y方向上的偏导数梯度。
表1 一阶有限差分正方形
x方向上的偏导数梯度计算为公式3:
y方向上的偏导数梯度计算为公式4:
幅值和方位角可以使用直角坐标系到极坐标系的坐标转换公式来计算,其幅值的计算为公式5:
方位角的计算为公式6:
式中M[x,y]反映了图像的边缘强度,而θ[x,y]反映了边缘的方向,当M[x,y]取得局部最大值时,此时的方向角θ[x,y]反映了边缘的方向。
(3)非极大值抑制。仅仅得到全局的梯度值尚不能确定边缘的位置,若要确定边缘点,还要取得局部梯度的最大值,并抑制非极大值。先利用梯度的方向将梯度角离散为圆周的4个扇区之一,分别为0°、45°、90°和135°,并在这4个方向上做局部梯度运算,若两侧值皆小于该处梯度值,则保留此处作为边缘,反之,若有一处大于该处梯度值,则将该处梯度置为0,表示不为边缘。
(4)使用双阈值算法对边缘进行检测和连接。对非极大值抑制图像作用2个阈值thL和thH,thL=δ*thH,两者比例关系可以调节。先把梯度值小于thH的像素点的梯度值设为0,得到第一幅图像;然后将梯度值小于thL的像素点的梯度值设为0,得到第二幅图像。在第二幅图像中由于阈值较高,所以在去除了大部分噪音的同时,也可能丢失了一些有用的边缘信息;而在第一幅图中,由于阈值较低,所以保留了较多的信息。为了调和这两者关系,可以以第二幅图像为基准,当该图像中边缘不连续时,查找第一幅图像中对应像素点的值补充到第二幅图中,直到找不到边缘点为止。
对外边缘的检测需要连通的边缘信息,对Canny算子处理后进行膨胀腐蚀操作以观后效。经过实验发现,Canny算子可以提取出纤细的边缘信息,但是对于边缘清晰度不同的成分会有断线,从而出现边缘提取不完整的现象。如图2所示。
注:图中A为40倍下尿沉渣正常上皮细胞原图;B为使用Canny算子处理后的效果;C为B图取连通域后的效果。
图2中A为原尿沉渣图像中的上皮细胞;B是对该图像作Canny边缘检测所得图像中该上皮细胞的处理结果,边缘信息提取良好,微有断续现象;为了进一步验证处理效果,对Canny算子处理的上皮细胞作连通域填充,C所示连通域与原图中的上皮细胞形态相差甚远,单Canny算子的边缘处理效果不佳。
Sobel算子边缘检测是离散性的差分算子,被用来求解图像灰度近似值。对图像中的任意像素点使用该算子进行运算,将会产生对应的2个梯度值,分别为垂直梯度和水平梯度。Sobel的卷积因子见表2。
表2 Sobel的卷积因子
表2所示该算子包含2个梯度值,分别为水平梯度和垂直梯度,每个梯度矩阵皆为3×3矩阵,水平梯度矩阵为-1、0、1、-2、0、2、-1、0、1,垂直梯度矩阵为1、2、1、0、0、0、-1、-2、-1。如果以A代表原始图像,Gx及Gy分别表示经过横向和纵向运算边缘检测所得的灰度值,则Gx和Gy的计算为公式7:
具体每个像素的灰度值的计算为公式8和公式9:
式中f(a,b)表示图像在(a,b)点的灰度值。
通过水平和垂直灰度值来计算该点的灰度值的计算为公式10:
也可以使用简单的计算方式获取灰度的近似值,其计算为公式11:
如果梯度G大于某一阀值,则认为该点(x,y)为该图像中的边缘点。
Sobel算子是使用某像素点的上下左右8个像素点的灰度值的加权值会在边缘处达到极致的现象来检测边缘,该算法对噪声有一定的平滑作用,对边缘的方向检测较为精确,但是对边缘的定位精度不高。因此,当对边缘检测要求不高时,可以考虑采用该算法。
对图像进行Sobel算子边缘检测当x方向上差分阶数取0,y方向上差分阶数取1时,效果最佳,并将用灰度值30对图像进行二值化后的结果如图3所示。
图3 Sobel算子对上皮细胞的处理效果图(×40)
图3显示,Sobel算子提取的边缘信息较多,但提取的是双边缘信息,过于冗杂,且仍有断续现象,无法形成连通域。
经过实验发现,对于均匀度欠佳的成分,Canny算子和Sobel算子提取的边缘信息皆有缺失,会降低日后的模式识别率。但经过比对可以发现,由于原理的不同,单算子方法的边缘成分缺失部分并不重合。将用两种算子单独处理过的图像进行加权操作,并进行膨胀腐蚀、孔洞填充等操作进行处理后,效果如图4所示。
图4显示,对上皮细胞分别进行Canny与Sobel边缘检测后叠加并平均之后的图像;对该图像进行连通域填充等一系列处理后的结果如图4中E所示,与原图的形态信息接近,处理结果良好。最终的处理步骤为:①灰度化图像,去除冗余信息;②直方图增强,增大有形成分和背景的对比度;③邻域滤波,去除刻度框阴影;④中值滤波,去除椒盐噪声;⑤Canny和Sobel算法叠加做边缘检测,得到完整的边界信息;⑥孔洞填充和腐蚀膨胀后得到连通域。
图4 叠加算法处理效果图(×40)
白细胞、上皮细胞和管型的对比以及处理结果对比如图5所示。
图5 边缘提取处理对比图(×40)
由观察可知,刻度框阴影已完全消除,且不影响有形成分的边缘提取。白细胞对于右上角粘连现象处理仍需后续努力,但对分立白细胞定位定型检测基本准确。上皮细胞虽灰度较低,但边缘定位良好。管型内虽含大量细胞颗粒,较为零散,但处理效果尚可。本研究对大量图像进行处理观察验证,表明文中的预处理方法对本组图像通用,处理效果显著。
本研究中的不足之处:①对于不同质量的图像,本研究中所使用的算法效果未知,使用的图像分辨率偏低,导致细节模糊,日后应增强相机功能拍摄清晰图像;②当需求更加细致,如需要分析上皮细胞的类型时,要重新设计算法;③对有形成分的类别判断需要依靠大量的临床知识和经验,日后需要努力学习。
单一算法对成像效果均匀清晰的图像效果佳,但融合算法可以用于均匀度不一致的有形成分外边缘检测,对阴影消除及红细胞、白细胞、上皮细胞、管型等分离细胞的定位定型检测效果明显优于Canny和Sobel单一算法的结果。