论文选读:结合运动特征、拓扑特征,优化在延时医学影像中的细胞追踪问题(一)

原文:https://ieeexplore.ieee.org/document/5703117
DOI:10.1109/TBME.2011.2109001

简介


        这篇论文提供的方法主要解决细胞自动追踪中,准确率偏低的问题。造成准确率偏低的原因有很多,比如:图像质量偏低;由于担心荧光带来的毒性(cytotoxicity)限制使用荧光亮度而造成的较低的信噪比(Signal to noise ratio);细胞的拓扑结构上的问题(topological),如重叠、细胞分裂;细胞不规则的运动以及由于担心拍照时光对细胞产生的毒素(phototoxicity)而拍摄周期过长等问题。这些都对现有的用于细胞追踪的技术造成了不小的挑战。

        目前人为地对细胞进行追踪、分析,都很费时费力,并且长时间的观察会造成准确率下降。本篇论文的方法如果可以在细胞追踪准确率上得到突破,不仅在细胞分析上将有所建树,也将提升病理诊断的准确率,对医学、生物学均有较大贡献。

 

具体方法

 

本论文中的方法分为了三部分:识别模块、追踪模块、复原模块。下图是作者在文中给出的结构图:

图1:方法结构图

 

本方法是一种基于图片分割的方法(segmentation-based)。首先这第一篇博文先来阐述识别模块。识别模块的输入,是原图像的取反图(inverted image),即若原像素灰度值为i,则取反图中该位置的灰度值取255-i。注:本文之后所说的“输入图像”均为原图的取反。

第一部分叫做照明纠正(Illumination correction),目的是把一些图像中的阴影、噪音进行消除,得到较好的细胞轮廓二值图。此部分的主要操作是,对输入图片进行top-hat卷积处理,之后再将这一步的输出转为二值图。

所谓的top-hat处理,就是先将输入图像A'进行opening操作得到A'',再用A'减去A'',得到最终的输出图像\hat{A}。为什么上面说到这个步骤是卷积呢?因为opening操作本身是一个卷积过程,卷积核为提供的structuring element S。opening操作可以分为两步,一是缩减(erosion),二是扩张(dilation)。缩减的目的是将图像中的白色噪点去除,并且降低细胞区域的灰度值,方便后面相减之后更易于区分细胞和背景。但是缩减之后细胞区域的面积一定会变小,所以需要再进行扩张,扩张并不会恢复局部最大灰度值,但是会将细胞区域恢复到接近原来大小。注:如果这段不太明白,建议了解一下opening操作,或者以后有时间专门讲一下基于集合论的图像处理方法。得到的输出图像A''与输入图像A'进行对应像素相减,由于图像背景是黑色,且色彩变化不大,所以经过opening之后并不会变化很大。但是由于从背景到细胞区域的色彩变化剧烈,所以opening之后,细胞区域的灰度值有明显的降低。这就好像如果有三个数,是0,1,2,此时令输出为三个值中的最小值,即0,无论是对于这三个中的哪一个数而言,都不会有太大变化。相反地,如果有三个数,分别为0,100,200, 此时令输出为三个值中最小值0,那么对于100和200而言,变化是肉眼可见的。

经过top-hat处理之后,从图2的d中可以看出来,\hat{A}的像素灰度值分布是非常适合进行二值化的,因为有非常明显的分界线。比如如果认为灰度值160到180之间的像素为细胞区域,应该也有较好的效果。但是这里作者依然谨慎地使用了Otsu方法去计算阈值并且生成二值图。可以从图2的(e)中看出来,区分效果还是颇为明显的。

图2:(a)为原图,(b)为$\hat{A}$,(c)为(a)中白线上的像素灰度值变化,(d)为(b)中白线上的像素灰度值变化,(e)为最后生成的二值图

 

下一部分就是对细胞进行划分,目的是将不同的细胞区分开来。我们不能保证每个细胞在图像上都是无重叠的,而细胞的重叠会对不同细胞的追踪带来很大影响。所以这部分主要解决这个问题。从图3的(c)中可以发现,细胞核位置的亮度要高于细胞质,因此作者利用这个发现,决定用对细胞核进行划分,而不再是对细胞整体进行划分。从图3中的(d)可以发现,每个灰度值的局部最大值都关联着一个细胞核位置。因此,细胞检测问题就化简成了一个寻找局部最大值的问题,而一般我们寻找局部最大值,是采用高斯卷积再加上h-maxima变换。

高斯卷积在这里的作用,主要是突出局部最大值,防止一些例如局部最大值为一个区域而非一个值、细胞内有多个局部最大值等情况的干扰。高斯分布的标准差的取值是基于细胞本身的性质而人为决定的。

图3

 

接下来我们讲一下h-maxima变换。这个变换的主要意义在于,舍弃掉低于h值的局部最大值。作者给出的计算公式为:

A_{R}=\delta_{B}^{(n)}(\hat{A}-h)

其中A_{R}表示重构后的图像,即此部分的输出图像,\delta_{B}^{(n)}表示n次的扩张运算,即上面提到的dilation。先用上部分的输出\hat{A}减去h,这样小于h的波峰就被舍弃掉。接下来我们需要更快捷准确的找到剩下的波峰值。这里采用的办法,是不断地进行dilation操作。由于上面提到,dilation不会使得灰度值回到原来的高度,所以局部最大值不会变,而局部最大值边上的像素则会逐渐向局部最大值趋近,当A_{R}中每个像素的灰度值均等于\hat{A}中的某个灰度值时(如图3(g)中所示,黑线要么与红线重合,要么等于局部最大值),停止dilation。此时得到的输出图像就是A_{R},然后再用它与\hat{A}相减,得到的大于0的部分,就是原图像灰度中大于h的部分。 关于h值的选取问题,作者给了一个算法:

h=\frac{\beta}{2}\frac{(\bar{I_{c}}-\bar{I_{b}})^{2}}{\bar{I_{c}}+\bar{I_{b}}}

其中,\bar{I_{c}}\bar{I_{b}}分别代表细胞区域和背景的灰度平均值,\beta是一个超参数,需要人工去设置。文中采用的是0.6。

本模块的最后一部分,是细胞定位问题。目的是为了解决由于细胞质变形、噪点出现导致的细胞轮廓线并不规律,从而无法通过细胞轮廓去进行追踪的问题。虽然通过上面两部分处理,已经得到了较好的细胞轮廓,但是细胞及图像的一些噪音变化,依然会导致不同帧中,同一细胞轮廓发生不规律地变化。这里作者采用的方法是给每个细胞区域拟合一个椭圆形边框。

细胞的形状大多可以近似看作是一个椭圆形,不同的细胞拥有不同的离心率(eccentricity)。所以作者通过近似边框的想法,将不同的细胞“套”上不同离心率的椭圆形。此处作者使用了准确率高、运算速度快的最小二乘法,通过寻找细胞区域边界与拟合椭圆之间的最小距离,得到最佳拟合椭圆。图3的(i)(j)给出了结果,这里作者没有过多的叙述具体操作方法,有兴趣的可以阅读[1]。

截至于此,关于细胞识别的部分就已经完成。通过图像处理,找到细胞位置,再经过对亮度的分析,提取细胞核,解决重叠问题,最后通过最小二乘法拟合一个椭圆边框,得到了比较好的识别模型,为后续追踪做准备。

 

[1] A. Fitzgibbon, M. Pilu, and R. B. Fisher, “Direct least square fifitting of ellipses,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 21, no. 5, pp. 476–480, May 1999.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值