Celeganser: Automated Analysis of Nematode Morphology and Age(线虫形态和年龄的自动分析)
自动分析秀丽隐杆线虫图像的目的是研究寿命,健康跨度和老化的潜在基因决定因素。
方法:系统检测并分割蠕虫,并预测蠕虫内部每个像素位置的身体坐标。这些坐标提供了体动物之间的紧密对应关系,以便进行有意义的比较分析。一个预先训练的模型执行身体坐标回归提取丰富的特征,可用于预测个体蠕虫的年龄与高精度。
在这篇文章中,描述了一个用于对单个蠕虫进行高通量纵向分析的原型管道。这个自动化的“线虫分析器”,称之为Celeanser,("高通量"表示可以高效地处理大量数据,而"纵向分析"表示对个体在一段时间内的变化进行观察和分析,而不仅仅是对单一时间点的瞬时分析。)
线虫分析器主要由三部分组成:
- 从平板背景中分割蠕虫的蠕虫分割
- 将蠕虫身体上的像素回归到预定义坐标系的蠕虫身体坐标回归
- 基于分割的蠕虫身体预测蠕虫年龄的年龄回归
由于动物的“生理年龄”并不总是与实际年龄相匹配,因此如果自动化系统(例如,机器学习模型)能够很好地回归身体坐标和年龄,它必须学会提取与蠕虫的内部结构相关的图像特征。
这篇论文的主要工作:
提出了一个用于研究线虫寿命和健康寿命的自动化分析系统Celeanser,并验证了该系统的各个组成部分,包括分割、身体坐标回归和年龄回归。
证明为身体坐标回归预先训练的模型提取了一些在预测年龄方面有用的特征。
通过实验来分析蠕虫的形状和大小、内部外观和背景环境对年龄的预测程度。
相关工作:
背景:通过实验来分析蠕虫的形状和大小、内部外观和背景环境对年龄的预测程度。这为未来的寿命和健康研究提供了基础。
手工观察乏味耗时,需要构建自动化系统,通过自动显微镜扫描获取和分析蠕虫去实现具有强大计算统计能力的高通量研究的潜力。
与其他研究的不同之处:最近发表的一篇论文以蠕虫的图像作为输入,训练卷积神经网络进行年龄估计。本片论文是自动对蠕虫进行成像(而不是移除个体并进行成像麻醉),从而允许在一个10倍大的数据集上进行训练和评估。因此,对于年龄预测的报告在某种程度上更加精确。
Net架构:
- Encoder: 编码器负责从输入图像中提取高级特征。在这个具体的模型中,采用了 ResNet34作为编码器的骨干网络。ResNet34是一个具有深度残差连接(Residual Connections)的卷积神经网络,它允许网络更轻松地学习残差,有助于解决深度网络训练中的梯度消失问题。
- Decoder: 解码器负责将编码器提取的特征映射还原为与输入图像相同分辨率的输出掩码。解码器中使用了跳跃连接(skip connections),这是连接编码器和解码器的快捷路径。这种结构有助于保留图像的空间信息,同时提高对不同尺度特征的感知。上采样层用于将特征图的分辨率增加到与输入图像相同的分辨率。
蠕虫定位策略:采用从粗到细的策略
粗分割: 首先,他们采用了一个缩小的图像,将其双线性插值至512×512的大小,作为输入。然后进行粗略的分割,产生一个大小为512×512的二进制掩码(通过阈值处理得到)。这个掩码用于定位蠕虫的大致位置。
细粒度预测: 在得到二进制掩码的基础上,他们对原始图像进行裁剪,得到一个960×960的子图像,这个子图像包含了完整的蠕虫。这个裁剪后的子图像成为第二个模块的输入,用于进行更精细的预测和分析。
将蠕虫分割问题看作两类语义分割问题,即将图像中的每个像素分类为蠕虫前景或背景。
模型通过编码器提取特征,然后通过解码器生成与输入分辨率相同的输出掩码,该掩码表示图像中每个像素是否属于蠕虫前景。
二分类交叉熵损失:
- S 是总的尺度数,这里是 5 个尺度。
- Is? 是尺度为 s 时的像素集合。
- ∣Is∣ 是尺度为 s 时的像素数量。
- xi? 是像素 i 的预测概率。
- yi? 是像素 i 的实际标签,表示该像素属于蠕虫前景(yi=1)还是背景(yi?=0)
蠕虫体坐标回归(细粒度检测):
UV坐标(与XY坐标相反):
u 坐标表示蠕虫从尾部到头部沿中心线的距离(以像素或体长百分比表示)。点到尾部的相对位置,其中 0% 对应尾部,假设我们以蠕虫的中心线为基准,U 坐标为 0 可以表示蠕虫的尾部,而 U 坐标为 1 可以表示蠕虫的头部。如果以像素为单位,那么 U 坐标的值就表示蠕虫中心线上某点到尾部的距离。如果以体长百分比表示,那么 U 坐标的值表示这一100% 对应头部。
V 坐标可以提供关于蠕虫图像中水平位置的信息。当 V 坐标的值为 0 时,表示在图像的最左侧,而当 V 坐标的值达到图像的宽度时,表示在最右侧。这样,V 坐标可以被用来描述蠕虫身体在水平方向上的位置。
- V坐标表示(没有很清楚的明白U-V坐标是如何工作)
蠕虫体坐标回归:
第一模块是粗分割,第二模块是细分割
与蠕虫分割模块类似,采用 U-Net 架构进行像素级的密集回归。
主要任务是将每个像素回归到 UV 坐标。对这一模块进行了训练,以输出精细的分割掩码,指明 UV 坐标有效的位置。
分割掩码使用的损失函数:
LU(横坐标损失):这个损失表示预测的横坐标与平均横坐标之间的差异。
蠕虫的年龄估计:
损失函数:
模型的目标是最小化对于所有图像的年龄预测与真实年龄之间的绝对差异。这种损失函数的选择是因为作者认为简单的 L1 损失足以捕捉到他们感兴趣的年龄预测问题的信息,而无需引入更复杂的损失函数。作者还指出,他们在实验证明了这种简单损失函数在年龄预测上的有效性。
实验:
数据集:训练(9,056 张图片)和验证(1,019 张图片)两部分。我们是根据蠕虫的身份进行拆分的,因此特定的单个蠕虫绝不会同时出现在训练和测试中。
网络设计:使用 ResNet34 作为三个模型的编码器/骨干网。考虑到可用的训练数据量,更深层次的模型并不一定能进一步提高性能。对于通过蠕虫分割和身体坐标回归进行像素预测,建立了一个解码器,它与具有相同结构的编码器跳接,包括上采样层、卷积层、ReLU 层和批量归一化层。
蠕虫分类:
通过模型a训练后的图像是进行了粗分割,模型b训练后的图像是进行了细分割。但是为了评估了粗略(低分辨率)分段模型和精细(高分辨率)分段模型预测的分段掩码的准确性。(请注意,由于大小调整和裁剪的原因,两种模型的分割掩码具有不同的分辨率。)为了进行公平比较,将粗分割掩码(sigmoid 变换图)的大小调整回原始图像大小(使用双线性插值),对调整后的图进行二值化处理,然后进行裁剪,使其与高分辨率子图像相匹配。这样,就得到了两个具有相同大小和相同区域的分割掩码。
是否使用(预测的)分割掩码来遮蔽背景
W/o mask:不遮蔽 w/mask 遮蔽背景
在训练阶段,模型预测了图像的分割掩码。掩码是一个二进制图像,其中“1”表示蠕虫的区域,而“0”表示背景。在训练过程中,可以选择使用这个分割掩码来在计算回归损失时遮蔽背景。
遮蔽背景的目的是让模型更专注于蠕虫的形状和位置,而忽略背景的影响,从而更好地学习蠕虫的坐标。这种方法可以在L1损失计算中使用掩码,只考虑预测掩码中蠕虫区域的坐标差异,而不考虑背景。展示了强制模型关注蠕虫区域而不是输入图像的所有像素的好处
预测的uv坐标,可以将蠕虫拉直成一个“标准形状”,从而可以更好地分析内部结构,假设,一个擅长身体坐标回归的模型可能会提取内部纹理的特征,这对预测年龄也很有用。
年龄估计:
使用五种输入,分别是 :原始图像(经过第一个模型剪切),仅仅只有蠕虫(掩盖所有的背景),背景,剪影,剪影加背景
通过微调ImageNet预先训练的检查点来训练的模型在验证集上的年龄估计误差。可以看到模型,即使有不同的输入格式,平滑地收敛在相似的速度。
由于使用了batchnormalization不会出现过拟合现象
三种模式和五种不同输入的比较:
三种模式:从头开始训练,从imagenet预训练的检查点进行微调,以及从坐标回归模型进行微调
- 从头开始训练: 使用随机初始化的权重,从头开始训练模型。
- 使用ImageNet预训练模型: 利用在ImageNet上预训练的模型权重,进行微调以适应年龄估计任务。
- 使用身体坐标回归模型进行预训练: 先预训练身体坐标回归模型,然后将其权重用于年龄估计任务的微调。
虽然使用原始图像可以得到每个模型的最佳预测性能,但我们注意到Worm Only对于不同的模型有很大的不同,ImageNet-pretrain工作得最好,优于coord.-re。训练前,而从头开始的训练并不显示出竞争结果(这是可以理解的)。我们认为原因是,坐标回归模型作为预先训练的检查点,虽然看到了蠕虫图像,但实际上并没有看到分布非常不同的worm Only图像。然而,imagenet预训练的检查点提供了一个更通用的特征提取器,通过微调使其更适合蠕虫图像.
图像处理名词:
阈值处理(Thresholding): 阈值处理是图像处理中常用的一种方法,其目的是将图像中的像素值划分为两个区域,一个是小于或等于某个阈值的区域,另一个是大于阈值的区域。这样的操作通常用于图像分割,帮助识别图像中的目标物体或特定区域。在二进制图像中,根据阈值将像素设置为0或1,形成明显的目标轮廓。
双线性插值(Bilinear Interpolation): 双线性插值是一种用于在离散数据点之间估算新数据点的方法。在图像处理中,当图像被缩小或放大时,可能会导致像素点不再落在整数坐标上,此时就需要通过插值方法估算这些坐标上的像素值。双线性插值使用了相邻四个像素的权重,通过对这些像素值进行线性组合来估算新的像素值。这种插值方法能够在一定程度上保留图像的平滑性,得到更为连续和真实的图像。
二类语义分割问题:
二类语义分割问题是指将图像中的每个像素分为两个类别的任务。通常,这两个类别是前景(目标对象)和背景。这种问题的目标是在图像中准确地标记每个像素,使得每个像素都被分配到正确的类别中。
在二类语义分割中,每个像素的标签可以是0或1,分别表示背景和前景。这种任务通常涉及使用深度学习模型,特别是卷积神经网络(CNN),因为CNN在图像处理任务中表现出色。
U-V坐标:
"U-V坐标"通常指的是纹理坐标(Texture Coordinates),它是在计算机图形学和计算机图像处理中经常用到的概念。在三维图形中,纹理坐标是一个二维坐标系,通常用 U 和 V 表示,用来定位纹理图像中的特定点。
在图形渲染中,当将纹理映射到三维模型表面时,需要为模型的每个顶点指定一个对应的纹理坐标。这样,渲染引擎就知道在纹理图像中的哪个位置采样颜色,从而在渲染过程中贴上纹理,使模型呈现出更加真实和细致的外观。
一般而言,U 轴和 V 轴分别与图像的水平和垂直方向对应,原点通常位于纹理的左下角。纹理坐标的取值范围通常是 [0,1][0,1],表示纹理图像的整个范围。例如,U=0 表示位于纹理的最左边,U=1 表示位于纹理的最右边;V=0 表示位于纹理的最下边,V=1 表示位于纹理的最上边。
总的来说,U-V坐标提供了一种在三维模型表面上定位纹理的方式,使得图形渲染能够更加逼真地显示纹理和细节。
- 编码器(Encoder):编码器负责将输入数据转换为潜在表示或特征向量。它通过多个层级的网络结构逐渐降低输入数据的维度,提取出数据中的高级特征。在图像处理中,编码器可以看作是一个逐渐减小空间分辨率的卷积神经网络(CNN)。
- 解码器(Decoder):解码器则负责将编码器生成的潜在表示还原为原始输入的形式。它通过逐渐上采样或增加维度的方式,将低维特征映射还原为与原始数据相同的维度。在图像处理中,解码器可以看作是一个逐渐增加空间分辨率的神经网络。