精子动/静态图像自动分析检测程序算法简介

图像的获取与存储

 检查原理方框示意图

检查原理方框示意图

由上图可知本系统对精子的检测主要包括以下四部分:图像的拍摄(获取)和存储,精子的识别,关联运算和运动参数计算。其基本原理是通过一系列的有序图像来描述实际样品(指精子,下文统称样品)的运动情况,如下图所示(以下主要以精子为例进行详细介绍)的连续图像是表示精子由位置1运动到位置6的轨迹序列。

 精子运动的连续图像

精子运动的连续图像

利用所选用彩色图像板的特有功能很方便地实现图像的连续抓拍和存储,现在很关键的是如何准确地实现对精子的识别。

精子的识别

从迭加序列图(上图)中可见,利用连续图像判断精子的运动情况,首先关键的问题是能否从图像中准确地识别出精子A和精子B,这属于计算机模式的问题,解决此问题要涉及图像的去噪声处理、图像二值化(去背景)处理、图像中精子特征的提取和匹配(模式识别)等等问题,其关系框图如下图所示。

 图像中精子特征的提取和匹配的关系框图

图像中精子特征的提取和匹配的关系框图

局部背景的计算

由于在精液中除了有精子外还存有杂质,加之显微光学中光路的不均性,使得所记录到的图像呈现出背景明暗不一致的现象,因此对所获取整幅图采取一个统一的阈值模式进行去背景处理就很困难,往往是某一个具体的阈值仅能实现一部分图像背景的良好分离。

针对这一问题,我们采用了动态阈值的方法,对图像进行动态二值化处理,也就是根据局部图像内部的平均值,来计算我们所需要的阈值,使得二值化阈值随局部灰度的变化而变化,这样就可以使整个图像都能实现精子与背景的良好分离。计算局部背景平均值的方法是:将现有的800×600图像分割成8×8 或4×4像素的小块图像,对每一小块的图像计算其灰度的平均值U。

二值化阈值的计算

在一般情况下,从显微镜下所获得的精子运动图像中,精子的灰度级常常是在一定范围内发生变化的,往往是头部颜色较黑,尾部颜色较浅,头的中部颜色较浅,灰度级较高;四周颜色较深,灰度级低。此外,由于噪声的影响,精子体本身的灰度级变化也是随机的,特别是牛、马精子灰度级的变化更为不均匀。为了实现较好的二值化处理效果,我们在二值化过程中采用了双阈值方法,即采用两个阈值分别对颜色深的和颜色浅的部分进行二值化处理,且两个阈值的使用是有一定的限制关系的,如下图所示。这种双阈值的处理方法具有背景分离和噪声消去双重处理的功能。

 二值化阈值的关系图

二值化阈值的关系图

去噪声处理和二值化运算

由于各种因素的干扰和对图像观测条件的限制,所获得的图像往往是信噪比很低的,其噪声的来源常常是精液中所含有的呈颗粒状的杂质,这种杂质在简单二值化运算中不随背景的分离而消除,这些噪声的存在影响了精子图像的均匀连续性,给精子的识别带来很大困难,所以我们在图像的二值化过程中引入了噪声消除处理。

由于噪声多呈现颗粒状,与精子的尺度相比,它的尺寸一般较小,它的灰度也不像精子图像的灰度那样有明、暗的渐变性,故我们利用这些特点对图像进行去噪声处理,处理的方法是:对要处理的图像进行扫描,对每一个被扫描的像素点(k,i),检测其灰度值U(K,L)及其四周各点灰度值的大小,若满足条件:①该点的灰度值U(K,L)<T1,②该点的灰度值U(K,L)<T2,而且上、下、左、右四点中至少有一点的灰度值<T1时,则该点为精子图像的像素点,否则该点不是精子图像的像素点(为背景点或噪声点)。

经过这样的处理之后,图像中的颗粒性噪声被消除了,而精子的图像也因噪声被消除而保证了较好的均匀连续性。另外,由于双阈值法的采用,也使精子图像的轮廓有了较完整的保留。

边界提取

在图像经过二值化处理后,下一步是如何将图像中分离出的轮廓(这些轮廓有些是精子的轮廓,有些可能不是精子的轮廓)进行边界跟踪(也就是边界提取)。即通过跟踪图像中的灰度变化点得到所需要的轮廓曲线,这些轮廓曲线便是我们进行精子形状识别和精子位置参数提取的依据。

边界提取的方法有多种,本系统中所采用的是方向链码方法,链码的方向定义如下图所示。

 轮廓曲线

轮廓曲线

跟踪时采用右手摸墙准则,在跟踪过程中,设当前要查寻得到的方向为direction,而前一个方向为before-direction,对于before-direction取不同的值时,要顺序查找的方向按下表:

顺序查找的方向

顺序查找的方向

起始方向的选择与具体的扫描方式有关,由于我们所采用的是从下向上的扫描方式,故将起始方向设为before-direction=2。

位置参数的计算

下图是我们利用边界跟踪方式得到的精子轮廓,对这一轮廓,我们需要选择精子某一部位中的某一点来计算精子移动的位置参数。因为精子的头部,一方面代表了精子生命的关键物质所在,另一方面,精子在运动过程中头部的形状变化比尾部变化要小得多,明显得多。

 计算精子移动的位置参数示意图

计算精子移动的位置参数示意图

在实际工作中,位置的选择是利用求平均法得到的,也就是位置点(Cx,Cy)可通过下面两式求出:

Cx=1/2(Xmax+Xmin)

Cy=1/2(Ymax+Ymin)

其中Xmax和Xmin,Ymax和Ymin分别代表了精子轮廓跟踪过程中所获得的最大和最小边界坐标值。为了保证这一位置参数能够落在精子头部的范围内,我们采取了两个措施:第一,选择合理的二值化阈值,使得图像在经过二值化处理后,精子头部的图像得到完整的保留,而尾部图像不一定全部保留,只保留接近头部附近的图像,以示和其他杂质图像的区别;第二,在实施边界跟踪时,通过计算跟踪曲线各点的曲率,而求其精子头部和尾部位置。对其尾部位置进行部分删除,对中心点的计算主要是头部边界和尾部局部边界跟踪来进行。

数量的统计

在图像完成边界跟踪之后,也就是已确定了所采集精子样本的数量,有多少条跟踪曲线,就有多少个精子样本被采集到。利用计算机强有力的累计计算功能,可很快地求出其数量的多少。但应当指出:利用摄像机(CCD)采集显微镜下的精子数与实际视场内有的精子数相比,存在一定的差异,这种差异的大小与精子的实际运动速度是相关的,这只能通过大量的实验来确定其差异的大小。

关联运算

据前所述,精子运动的情况是通过一系列有序图像来描述的,对这一系列图像中的每一幅分别进行精子识别运算,便可得到一系列的精子位置参数组(这些参数组也是有序的),每一组参数都一一对应于有序图像序列中的每一幅精子图像,显然,在每一组位置参数之间也是存在有一定的相互关系的。如第二组中的各位置参数分别对应于第一组中各位置参数上精子的下一步位移,找到了这种对应关系,也就找到了位移曲线。所谓关联运算也正是寻找各组位置参数之间的这种对应关系的运算。

关联运算的核心是三个基本准则:距离准则、速度准则和方向准则。

距离准则

由下图所示,图(1)中某一精子a的位置(参数)为A(即用参数A来记录精子a所在的位置点。在下面的论述中还会提到“位置A”,也就是由参数A所表示的那一位置点)。图(1)的相邻后续图像为图(2),其中有B1、B2和B3三个位置与图(1)中的位置A相接近,那么哪一个参数所对应的位置可能是精子a所对应的下一个位置呢?(我们称这一位置为预测位置)。

 精子a的预测位置

精子a的预测位置

根据连续拍摄过程中的图像时间间隔和精子运动速度的大致上限,在位置A的附近确定一个区域范围,例如,以位置A为中心,r为半径所划的圆形区域[如图(2)所示],后续图像中,落在这个区域之内的位置点,如B1、B3位置点,则可能成为精子a的预测位置点,而B2位置则不是精子a的预测位置点,这种确定方式即为距离准则,它把所要处理的位置参数划分为可能预测位置点参数和非预测位置点参数两大类。如用数学表达式描述则为:

设{Ai|i=1,2……,I}为某一位置参数组,{ai|i=1,2……,I}为所对应检测精子的集合,{Bi|i=1,2……,J}为参数组{Ai}的相后续参数组,r=拍摄时间间隔Δt×精子速度上限Vmax,r称为距离准则的判别半径。

距离准则可描述为:

  1. 对于{Ai}中的某一个元素AkKE{1,2……,I},
  2. 计算距离d=D(Ak,Bj)|j=1,2……,J
  3. 若d<r,则Bj为精子ai的可能预测位置点参数,
  4. 若d>r,则Bj为精子ai的非预测位置点参数,
  5. 其中D(Ak,Bj)表示位置Ak与位置Bj之间的距离。

速度准则

当以判定半径r所限定的范围内出现多个可能的精子预测位置时,对每一个可能观测位置下的瞬时运动速度进行预测,取其中速度变化最小的那个可能位置为精子的预测位置,这就是速度判定准则。

设精子a所具有的初始速度为V,对应于预测位置B1可以求出相应的瞬时速度为V=D(A,B1)/ Δt,而对应于位置B3的相应瞬时速度是V=D(A,B3)/Δt,于是精子a的观测位置B为:

B=Bi,且BiE{B1,B3},Va-Vb=min(Va-Vb,Va-Vb)。

方向准则

首先我们对精子运动的方向性做出定义,即规定精子在图像平面内运动具有16种不同的运动方向,如下图所示:对于每一个运动方向,我们也规定了一个数字作为该方向的值。当精子处于静止状态时,我们定义为运动方向值是“16”。

所谓方向准则是:当根据速度准则确定了某一精子a的预测位置之后,对该预测位置下的精子运动方向值进行计算。若计算所得的方向值与精子a原有的运动方向值相比,变化在某一范围之内,则该预测位置确为精子a的预测位置,否则变化不在某一范围之内,该位置就不是精子a所预测位置。这时要根据最小距离准则对精子a的预测位置进行重新计算。用公式表示这一方向准则便是:

 精子在平面运动时的方向预测图

精子在平面运动时的方向预测图

设精子原有的运动方向为SA,由预测位置B所计算得到的运动方向是SB,再设定运动方向的变化阈值为ΔS,于是又有:

若1SB-SA1≤ΔS或1(SB-SA)mod161≤ΔS成立,则位置S是所要求的预测位置,否则就不是预测位置。

最小距离准则

当采用速度准则和方向准则不能产生出精子a的确切预测位置时,我们又选择了最小距离准则作为最后确定精子预测位置的计算依据。所谓最小距离准则也即:已知精子a的位置为A,还知精子a的可能预测位置集合是:{BL|=1,2……,L},对所有的L值,计算距离D(A1B1|L=1,……L),选择其中最小的一个作为精子a的预测位置。精子a的预测位置B为:B=Bi|D(A,Bi)=min[D(A7B1)]。

作为以上准则规定的基础是:一个正常运动的精子,在没有外界因素的影响下,精子运动的瞬间速度和瞬时方向都不可能发生较大幅度的跳变,这种非跳变的特点表现为精子的运动曲线是一条平滑的曲线,如下图所示:

 精子运动曲线示意图

精子运动曲线示意图

当精子的运动受到外界影响发生碰撞时,或当精子处于不正常状态时,精子的运动速度和其方向都将发生较大幅度的变化,而这时精子运动的瞬时速度往往较小,这也是我们采用最小距离准则的原因。

关联运算的流程图

前4个问题是介绍了关联运算中的几个准则,下面将给出关联运算的流程图,如下图所示:

关联运算流程图

从流程图中可见,在利用上述几个判别准则对精子运动的关联性进行计算之后,还要对计算结果进行重叠位置检测和重叠位置消除运算。这是因为在经过速度准则和方向准则的判断之后,每一个精子都有了其相应的预测位置,而这些预测位置有可能是相同的。重叠检测和重叠位置消除运算的处理方法,如下图所示。

在经过重叠检测和重叠位置消除处理之后,精子运动检测的关联性运算就结束了,接下来的就是计算精子运动的各参数指标。

重叠位置检测与消除方法示意图

系统医学科普站点:天山医学院, 转载请注明出处:https://www.tsu.tw/edu/5302.html

小程序

内容拓展

中华皮肤病30年研究成果

心电图学一学就会

认识人体心脏,从解剖开始!

诱发心血管疾病的综合征

近视屈光激光手术矫正

适用于口腔科

做一个健康强健的男人!

智齿为萌出受阻的牙齿

内分泌与机体代谢医学