关于原文
Few-Shot Learning Enables Population-Scale Analysis of Leaf Traits in Populus trichocarpa
基于少镜头学习的毛果杨群体叶片性状分析
原文:https://doi.org/10.48550/arXiv.2301.10351
代码:https://github.com/jlager/few-shot-leaf-segmentation
数据:https://doi.ccs.ornl.gov/ui/doi/415
注:绿字为本人理解内容。
摘要
植物表型分析通常是一项耗时且昂贵的工作,需要大量的研究人员细致地测量生物相关的植物性状,这是在种群规模上理解植物适应和复杂性状背后的遗传结构的主要瓶颈。本次我们通过利用卷积神经网络(CNN)的少镜头学习来分割田间获得的2,906张毛果树叶片图像的叶体和可见脉络,以应对这些挑战。
与以前的方法相比,我们的方法:
不需要实验或图像预处理
使用全分辨率的原始RGB图像
只需要非常少的样本用于训练(比如只需要8张图像进行静脉分割)
使用传统的开源图像处理工具从产生的分割中提取与叶片形态和静脉拓扑有关的特征,通过实际物理测量进行验证,并将之用于全基因组关联研究,以确认这些基因如何控制形状。(研究最终归宿?)
因此目前的工作旨在为植物表型界提供:
通过最少的训练数据,提供快速和准确的基于图像的特征提取方法
建立新的种群规模数据集,包括68种不同的叶片表型,供相关领域科学家和机器学习研究人员使用
本文所有少量的学习代码、数据和结果都是公开的。
1前言
基于图像的植物表型是一种科学家使用图像数据来描述和分类物种内和跨物种的植物的方法。这一过程通常涉及使用工具、仪器和领域专门知识来(I)测量温室、田间和/或自然界中单个或一组样本的信息,(Ii)跨尺度应用,从细胞显微镜到卫星图像,以及(Iii)允许研究人员提取复杂的形态和拓扑特征,否则这些特征是不可能手工测量的。(研究植物表型特征很重要,而且难提取)基于图像的表型分析的主要挑战之一是从背景中识别目标叶片。某些情况下可以修改成像方式以突出这些叶片结构(例如使用背光或依赖这些叶片的荧光),然而更多情况下目标叶片对象和背景之间的对比度较低。即使是对比度较高的情况,可以使用简单的灰度或基于颜色的阈值,但在更复杂的彩色图像中,植物表型学更希望使用机器学习的方法。
深度学习使计算机视觉发生了革命性的变化,成为从基于图像的数据中提取特征的一种强大而高效的方法。这种方法的一个重要优点是深度学习模型可以学习对异质背景效应的不变性,从而允许它们推广到训练集之外的新样本。然而,采用这种方法既费力又昂贵,因为用户通常必须对成百上千的图像进行注释才能提供足够的训练数据。例如,在植物生物学中,要在种群规模上可靠地将植物特征与基因联系起来,需要进行跨越数百或数千种基因类型的大量观察。这些关联提供了对控制植物生长、驯化、反应和组成的复杂过程的遗传结构和潜在机制的更深层次的理解,对可持续农业和生物能源具有重要意义。因此,需要开发快速和准确的基于图像的植物表型分析方法,以缓解数据注释瓶颈。(即使使用机器学习方法,大量注释也耗时耗力,所以我们需要建立一个少镜头的表型分析方法来缓解图像注释压力)
与传统的深度学习方法不同,传统的深度学习方法可能需要数千或数百万个训练样本才能达到足够的预测精度,而少镜头学习是机器/深度学习的一个新兴子集,它试图在仅使用少量标记样本进行训练的同时最大化预测精度。有多种方法可以解决这个问题,包括数据扩充、度量学习、外部记忆和参数优化。这项工作利用了数据增强(即在训练期间对图像应用随机的空间和颜色增强)和迭代算法的组合,这些算法以前已经被证明用于生物医学图像分析,例如细胞和视网膜血管的语义分割。本研究的目标是将这些方法扩展到用于图像的植物表型研究中,利用卷积神经网络(CNNs)从田间获得的高分辨率扫描中分割出毛果杨叶片的轮廓和可见的脉络结构。特别是,在这项工作中使用了少镜头学习,因为它将少量的大图像划分为大量的小图像瓦片。这样,整个图像分割的复杂任务被分解成更小的、更容易的决策规则,从而可以使用很少的标记图像进行准确的分割。(引出研究目标以及强调一下运用了少镜头学习的方法)
毛果杨树(又称黑杨、西香杨或加州杨)是研究木本植物复杂性状遗传结构和气候适应的模式系统。从美国加利福尼亚州中部到加拿大不列颠哥伦比亚省北部,它拥有巨大的地理、气候、表型和遗传多样性。此外,毛果青霉拥有完全测序的基因组、基因组注释、丰富的转录本、重新测序和表型数据。重要的是,快速的生物量生长、克隆繁殖以及在农业投入低的边际土地上生长的能力使其成为可持续生物能源应用的理想作物。因此,研究和商业团体投入巨资开发毛果松树,将其作为森林产品和生物燃料生产的高影响物种。为此,叶片在生物量生产中起着关键作用,因为它们是负责吸收阳光和固碳的主要器官,是维管植物系统的主要食物来源。此外,叶脉结构支持叶片的机械结构,并控制水分和其他营养物质的分布,这对植物的生理、生物力学和结构具有重要意义。因此,捕捉准确的叶片特征并将它们与控制它们的遗传成分联系起来,可能会为提高树木的生物量和组成提供洞察力。(研究毛果杨形状的意义)
在植物表型中,对单个叶片和它们的脉序的分割很少受到关注。现有主流方法:(i)化学地清除叶片并对叶脉染色以相对于背景突出脉络的实验方法,(ii)通过灰度化、聚集特定颜色通道或空间重新缩放来进行图像预处理,(iii)全局过滤器和形态操作(例如,奇Gabor过滤器、海森矩阵、血管过滤器和区域合并)以获得二进制分割,(iv)尺度和模型的集合以进行聚集预测,以及(v)需要数百个人工标注的训练样本来产生准确的分割模型。然而,这些常见的步骤可能会在种群规模上阻碍基于图像的植物表型的可扩展性和准确性。例如,与仅捕获原始图像相比,方法(i)向数据采集添加额外的实验时间、工作量、材料、费用和危害;(ii)破坏空间和颜色维度上的细粒度图像细节;(iii)可能过于简单化并在分割后处理中产生大量工作;(iv)使用可能难以大规模自动化的复杂工作流程;以及(v)对于时间和预算有限的较小研究小组来说可能是不可行的。这些挑战可能有助于解释为什么在植物胁迫、新梢形态和植物/器官计数方面,叶片和叶脉分割没有作物或田间水平的表型那么受到关注。(主流叶片分割方法举例以及它们的弊端)
本文提出了两种基于CNNs的少镜头学习方法来分割毛果树叶片的轮廓和可见的叶脉结构。树叶分割被描述为一种追踪任务(tracing task),在该任务中,CNN迭代地追踪树叶的边界以产生单个连续的树叶分割。以前的研究表明一些基于CNN的分割方法(例如FCNN、U-Net)可能导致“斑状”分割,而且得用复杂的后续处理方法来解决,这难以推广使用。相比之下,边界追踪通过仅分割一个连续区域来消除这种斑块问题,从而确保了后续形态特征的准确提取(这是第一种分割方法)。叶脉分割被表示为区域生长任务(region growing task),其中CNN迭代地将相邻像素添加到与可见叶脉结构相对应的增长的感兴趣区域。与追踪方法类似,叶脉分割确保了叶片在生物学上真实的形态特征,只有当相邻的像素先前被分类时,才将像素纳入分割。(这是第二种分割方法)。每种方法都是完全自动化的(不需要人工监督或初始化),与手动注释相比,分割图像的速度快了几个数量级。
目前的工作主旨为:(i)为植物表型提供快速和准确的基于图像的特征提取的方法,以及(ii)为领域科学家和机器学习研究人员提供新的种群规模的数据集。特别是,本文开发的少镜头学习方法适用于未经实验或图像预处理的原始RGB图像,通过使用单独的CNN模型,学习像素之间的复杂关系,以实现准确的叶片和静脉分割,并且需要很少的训练样本在群体范围内进行概括和准确预测。这些分割被用来提取生物上真实的特征,这些特征通过真实世界的物理测量得到验证,并使用广义克隆遗传力估计和全基因组关联研究应用于下游。
2材料和方法
采用少镜头学习方法从高分辨率扫描图像中分割出毛果树的叶片实体和可见叶脉结构,由此产生的分割与用于图像处理和基因组分析的开源工具相结合,以将这些方法的应用扩大到更广泛的科学受众。
所有深度学习方法都是使用PyTorch深度学习库(版本1.11.0)在Python 3.7.8中实现的,代码链接:https://github.com/jlager/few-shot-leaf-segmentation。特征提取通过Fiji(版本2.9.0)和RhizoVision Explorer(版本2.0.3)完成,基因组分析在R(版本4.2.0)中使用GAPIT3软件包(版本3)进行。所有数据(包括图像、手动分割、模型预测、提取的特征和潜在的基因组)链接:https://doi.ccs.ornl.gov/ui/doi/415。
2.1数据收集
叶片数据是在2021年8月的一次实地考察中收集的,来自加州大学戴维斯分校10英亩的杨树种植园,那里有一个普通的杨树花园,可以在低质量、贫穷和边缘的土地上生长。种植园遵循随机完全区组设计,由三个区组组成。每个块被划分成行和位置,这些行和位置唯一地标识相应的基因类型,并且每个块包含大约1,500个三果青霉基因类型。出于实际原因,从一个完整的区块(1,322个可存活的样本)和部分从第二个区块(131个样本)共1,453棵树上采集了叶片样本。(毛果杨数据来源于加州大学的杨树花园,共采集了1453棵树上的叶片样本)
树叶是从每棵树朝南的一根树枝上采集的,树枝的高度约为胸围(即约1.37米)。叶片的选择是通过选择第一个完全成熟的叶片,从每个枝条的顶部开始计数。每片叶片还与条形码标签配对,条形码标签编码了树的处理、区块、行和位置,这唯一地识别了相应的基因型,并允许用户在数据捕获期间记录样本ID。这有助于加快表型鉴定过程,减少人为错误。选择的树叶在田间被扫描,因为它们是使用USB供电的爱普生完美模型V39从每棵树上采样的。每片树叶的顶部和底部都被扫描,分辨率为300点/英寸(DPI)。为了考虑不同种类的叶片形状(例如,具有非平凡的3D特征的叶片,例如,波浪度),在扫描仪盖上使用重量来将每个叶片压缩到扫描仪的玻璃上,以便减少诸如模糊的图像伪影。此外,在一排排树之间(每排大约有30棵树),扫描仪玻璃和背景被清洁,以减少灰尘和其他碎片的堆积。(采集叶片的方法,尽量减少无关因素的干扰。因为研究重点在于通过少量样本分割出更为精准的叶片轮廓和脉络,因此需要尽量减少无关因素的干扰)
在数据捕获期间,扫描仪遇到硬件故障,扫描仪的一个像素开始出现故障,并导致在每次后续扫描的中心附近逐渐出现一条垂直白线。这一人工产物影响了大约100次叶扫描。为了减轻故障,LEAFE被移到扫描仪的边缘,远离故障像素,影响了62次LEAFE扫描。购置了一台新的扫描仪,并将其用于外地行动的剩余部分(2634次树叶扫描)。尽管出现了硬件故障,这些数据采集步骤还是产生了2906次RGB叶扫描(即1453个样本的顶部和底部),每个样本的尺寸为3510×2550像素。
除了基于图像的测量外,还手动测量了每片叶片的叶柄长度和直径。使用与LEAFE成像类似的程序,使用条形码扫描仪记录样本ID,然后使用USB供电的SPI 17-600-8电子卡尺测量长度/直径。叶柄长度和宽度的手动测量用于验证基于图像的测量。
一般来说,获取准确的高质量地面真实数据对于深度学习应用是重要的,但对于极少的学习是至关重要的,因为模型必须从少量训练样本中学习特征,这些特征能够很好地推广到更广泛的人群。为此,使用随机选择并手动追踪的25片树叶(总共50幅图像)的顶部和底部扫描来生成用于叶体分割的训练数据。手动分割是使用开源图形编辑器GNU图像处理程序(GIMP)完成的,每幅图像需要15到30分钟,具体取决于叶片的大小和锯齿。同样,对于静脉分割,使用GIMP手动绘制所有可见的叶静脉,进行8次叶底扫描,根据静脉密度的不同,每幅图像花费4到8个小时。请注意,在这项工作中只考虑了叶底部的脉序。叶顶脉序将在今后的工作中考虑。
由于静脉分割需要大量的人工工作,因此使用迭代数据集精化来构建训练数据集,其中基于对所有图像集上的模型性能的手动检查将图像单独添加到训练集。例如,将样本压在扫描仪玻璃上会导致一些树叶自己折叠起来,从而产生被错误识别为静脉的深色线条。因此,具有这种折叠的多个示例的图像被手动分割并添加到训练集,以使模型学习对这种伪影的不变性。对于其他叶片特征(例如,死亡、患病和营养缺乏的叶片组织),包括显示上述硬件故障的扫描,类似地重复该过程,直到模型收敛到整个种群中可接受的性能。这一战略产生了前面提到的总共8个图像(6个用于训练,2个用于验证)。请注意,在实践中,图像的数量可能会随应用和图像质量的不同而不同,但重要的是(特别是对于少镜头学习),将训练数据集微调到模型能够泛化的程度。
(主要描述了叶片数据收集的步骤,以及手机过程中遇到的问题和解决方法,以使得到的最终数据集更具有针对性,同时更具有说服力)
2.2叶片分割
在基于深度卷积神经网络的生物医学图像自动目标追踪,一种用于生物医学图像分割的卷积神经网络边界优化方法的基础上,将叶体分割表示为目标追踪任务,其中使用CNN来迭代追踪树叶的轮廓。这些方法已经被证明在生物医学图像分割中达到最先进的精度,而只需要使用其他方法所需的训练数据的一小部分。在此框架中,CNN输入位于对象边缘某处的小图像块,并输出预测轨迹(即像素位移集合)。迭代通过沿着预测的轮廓生成新的图像块来进行,继续追踪直到到达起始位置,从而闭合循环并完成分割。这种方法的一个重要好处是它将复杂的整片叶片分割任务分解成多个更小、更容易的决策规则,并且只需要少量的图像就可以训练出准确的模型。叶片轮廓追踪算法见图1,迭代方法见补充视频S1。
![](https://i-blog.csdnimg.cn/blog_migrate/a9c74313b2ed2da397339c92710c3685.png)
图1 叶片轮廓追踪算法。一个图像块和先前跟踪路径的一小段被输入到CNN, CNN预测追踪的下一步,这些预测被添加到叶子轮廓中,并在新位置生成图像块。此迭代继续进行,直到轨迹到达轮廓的起始位置。左:RGB叶片扫描图像和输入tile(前)和先前追踪的像素(后)。中:叶子跟踪CNN,将256 × 256的输入块转换为2 × 128的像素位移集,用于轨迹预测。右:用于在下一次迭代中更新追踪和生成图像块的预测像素位移。
叶片轮廓追踪CNN输入的tiles尺寸为256×256×4,包括3个颜色通道(RGB)和一个覆盖之前追踪路径的额外通道。tiles的大小要选择足够大,以便为模型提供足够的上下文,以追踪叶片轮廓可能被遮挡的区域(例如,在受损/病变区域或叶柄附近)。为了计算的稳定性,RGB值归一化为[0,1]。附加通道是二进制图像,包括沿先前跟踪的路径的像素的1,否则由0组成,并由此向网络提供继续跟踪的方向。每个tile均以树叶轮廓上的一个像素为中心,通过使用50个手动跟踪的样本来生成30多万个单独的tiles用于训练。此外,使用重图像增强(被增强到甚至妈都不认识的程度)以便CNN学习对不同叶片形状和条件的不变性,组合使用随机连续旋转、水平和垂直翻转、位移偏差(displacement jitter)和颜色增强(色调、饱和度、亮度和对比度)等数据增强方法,因此在训练期间没有两个图像看起来是相同的。
叶片追踪CNN输出2×N个预测轨迹,这些预测轨迹沿着叶片轮廓编码N个相对于输入tile中心像素的水平和垂直像素位移。训练数据是通过沿着树叶的轮廓从tile的中心到边缘均匀采样像素来生成的,然后使用均方误差LMSE作为目标函数来计算预测轨迹和ground truth之间的距离。重重要的是,预测轨迹的质量在图像块的边缘附近下降,因为CNN没有超出输入边界的上下文。然而,对于模型来说,预测从中心像素到图像块边缘的轨迹仍然很重要,以便预测的轨迹可以“跳过”轮廓的模糊部分。为了解决这些影响,加权均方误差对靠近中心像素的预测进行比靠近边缘的预测更重的加权。目标函数见下式:
其中:,为输入的图像tile;
,为ground truth的行/列坐标集合,
表示第i个像素的行/列位置;
,为权重;N=128为像素位移量;选择α = 8/N和β= 4,使得双曲正切函数沿预测轮廓将误差权重从2逐渐降至1。这样,目标函数对接近tile中心的像素的加权大约是接近边缘的像素的两倍。(该公式目的是为了使LMSE对于tile中心像素的权重更大,对边缘像素的权重降低)
模型架构遵循CNN的标准。特别是,CNN使用三个3×3卷积层的块,带有零填充和一个最大池层。每个卷积层包括批量标准化以稳定训练和非线性的“LeakyReLU”激活函数。此外,残差连接应用于卷积层之间,以便于优化和提高预测精度。总之,叶追踪CNN包括具有最大池的六个块和没有最大池的一个块,这将空间图像维度从256 × 256变换到4×4。然后,最后一个4×4卷积层将输出缩减为长度为256的矢量,该矢量被整形为2×128,用于轨迹预测。注意,最终卷积是线性的(即,它不包括非线性激活函数),因此轨迹预测可以在任何方向上到达输入图块的边缘。为了防止过度拟合,图像被随机分成80%训练(即,40个图像总共240K图像块)和20%验证(即,10个图像总共60K图像块)集合。然后,用256的批量和具有默认参数的Adam优化器[42]对模型进行1000个时期的训练。此外,使用20个时期的早期停止(即,如果验证误差在20个时期内没有改善,则停止训练)来保证模型的收敛。