原文:https://ieeexplore.ieee.org/document/5703117
DOI:10.1109/TBME.2011.2109001
论文选读:结合运动特征、拓扑特征,优化在延时医学影像中的细胞追踪问题(一):
https://blog.csdn.net/weixin_45397944/article/details/116245766?spm=1001.2014.3001.5501
上一部分我们讲了具体方法中的识别部分,这一节主要阐述追踪以及轨迹复原部分。
首先讨论的是追踪模块的构建。在进行细胞追踪时,最大的问题就是细胞分裂、细胞移动、细胞阻塞(occlusion)等行为带来的拓扑上的变化(如重叠),以至于无法准确继续追踪细胞。本文作者认为,无法通过仅使用一类特征去准确匹配相关细胞。所以作者提供了以下几种参数:
1. 位移(displacement)
其中分子是向量的范数,该向量表示第n帧到第n+1帧的中心位置位移向量,分母的作用是归一化
2. 偏转(skewness)
这里面作者少写了一个参数t,主要是为了这几个函数参数的统一性。但是可以看得出来这个公式表示的东西,即某一细胞区域中心点在n-1,n,n+1三帧下的偏转情况,中间应该还用到了半角公式。
以上介绍的两个参数,在高密度图像追踪中已经受到广泛应用,作者提供了下面三种基于细胞拓扑的参数,来提高追踪精度。
3. 颜色匹配度(color compatibility)
其中表示u中j像素在n帧时的灰度值,表示v细胞在n+1像素下的平均灰度值,这个公式其实类似一个MSE,数值越小的表示颜色匹配度越高,越可能是同一个细胞。
4. 重叠面积(area of overlap)
其中代表重叠面积,可以看到,当重叠面积越大时,此参数越小,越可能是同一细胞。
5. 形变(deformation)
同样的,这个参数越小时,说明形状变化越小,越有可能是同一细胞。其中Q为椭圆离心率,给出的计算公式如下:
P为椭圆周长,A为椭圆面积。
最终的损失函数定义为上面5个参数的加权和,且权重的总和为1:
表示了每个参数的“重要性”,越低的损失值,代表两个位于不同帧数图像下的细胞越大概率是同一个细胞。图1给出了实验案例的两个帧数图像,表1给出了结果,可以看到,对角线上的损失均为该列(行)最低的,这说明匹配度还是很高的。不难看出,图1中的细胞,2-b,3-c,5-e在位置、形态上变化都较明显,因此损失值也是偏大的。相反地,7-g在位置、形态上均无明显变化,因此损失值最小,且由于该细胞与其他的细胞距离较远,所以在该列(行)的其他损失值非常大。
但是由于这种方法是前后两帧图像中,细胞形成的一一对应的关系,所以对于细胞分裂后,多出来的细胞,无法准确追踪,甚至产生较大误差。所以在下一个模块,作者提供了一种复原方法,来解决这类问题。
最后一部分称作轨道复原(Recovery of a Trajectory)。这部分的目的,主要是解决在细胞追踪过程中,出现的轨迹破损(trajectory break)的问题,所谓轨迹破损,主要是由于细胞出视野范围、新的细胞进入视野范围、细胞分裂、噪点以及划分细胞造成的错误所引起的。一般在追踪中,会给每个细胞赋予一个ID。而当实验中检测到这类破损现象时,一般希望通过复原该错误细胞的轨迹,来寻找到本属于他的ID。作者把细胞分为三类:
A类:在前一帧没有出现,但是后一帧是存在的;
B类:在前一帧后一帧都存在(正常情况);
C类:在后一帧消失了,但是前一帧是存在的。
当然,还有一种情况,就是前后都不存在,这种情况作者认为是由噪音导致的检测错误,所以不予考虑。
在本文中,作者将采用他的方法来复原A类细胞的ID。A类细胞的出现,有两种可能的原因,一是由于检测错误,二是由于细胞分裂。检测错误的话,作者采用反向检测法来处理,也就是反向一帧一帧的检测,查看是否出现与之匹配的B类或者C类细胞,如果有的话,就可以认为这个A类细胞的ID与之相同。
本文主要提供了第二种原因的解决办法,即细胞分裂。其实这部分的复原方法也是非常简单。假设这个A类细胞为A,为了后续表达方便,先定义一下拟合A的椭圆形的参数:a与b分别代表长短轴,表示椭圆中心,那么我们自然而然的得到了椭圆的函数表达式:
现在来构建一个集合,用来表示所有椭圆形内部的像素灰度值。
接下来要做的只有一件事,就是在细胞A“附近”逐帧寻找与细胞灰度值“相似”的区域,直到这个区域是一个B类或者C类细胞才停止。那么现在的问题是,如何定义“附近”和“相似”。作者给出的定义附近的方式,就是一个以为圆心以2a半径的检测区域。而对于“相似”,作者给出了如下定义:
其中为(p,q)位置的相关系数,f是输入图像,算法在附近区域,找到相似度最高的点,不断进行迭代,直到找到B类或C类细胞为止,这就是本文给出的轨迹复原算法。
结果评估
首先评测一下细胞检测模块的效果,如图2所示,其中(b)、(d)、(f)均为Watershed算法的检测结果,而(c)、(e)、(g)均为本文中所述算法的结果。可以看出,Watershed算法会有重叠细胞未分割(d),或分割细胞过细地情况(f)。而通过识别细胞核进行分割,也就是本文的识别结果,很好的优化了这些情况。
图6是作者给出的量化测评数据,其中P为precision,R为recall。其中ground truth是人工数出来的细胞个数,图3中第二个表格给出了几种方法的对比,可以recall值所有方法都差不多,也就是说明没有检测出来的细胞个数都很少,但是从检测出来的细胞的准确度来看,看出本文算法的表现还是非常不错的。
接下来作者给出了追踪模块的测评。这里面不给测试的细胞图了,直接给出量化结果,如图4所示。可以看出,无论是对普通细胞的追踪还是对细胞分裂的检测,整体效果维持在80-85\%左右的准确率,这个结果中的真实值依然是通过人工统计的。
另外,一般来说,细胞追踪会随着细胞数量的增加,准确度下降。但是作者给出了不同方法之间的对比,这里就不上图了,有兴趣的可以去看原文。本文提供的方法在细胞数量的变化上,鲁棒性较高,虽然随着细胞数量增加也会降低准确率,但是依然保持着较高水准。
总结
本文的方法,通过发现细胞核位置突出的亮度,使用top-hat卷积核以及h-maxima变换,将对细胞整体的定位优化为对细胞核的定位,从而基本解决了细胞拓扑结构上的一些误差情况,较明显地提高了识别准确度。并且给每个细胞都赋予一个椭圆形边框。在追踪时,不仅考虑了位移、偏转等传统参数,还结合了重叠面积、形变、颜色匹配等细胞(或细胞之间)本身的性质,提高追踪准确率。最后通过给出一个相关系数公式,逐帧地区域寻找“可能的”匹配细胞,从而解决由于细胞分裂等因素带来的不同帧之间细胞数目不匹配问题。实验整体效果还是比其他传统方法准确率提高不少。作者认为,在一些医学影像分析应用中可能会起到比较重要的作用。