首页 > 其他分享 >《基于物理一致性的全息成像自监督学习》精读笔记

《基于物理一致性的全息成像自监督学习》精读笔记

时间:2024-05-28 21:27:21浏览次数:15  
标签:精读 训练 数据 模型 全息 一致性 GedankenNet hat

基于物理一致性的全息成像自监督学习

原文链接:https://www.nature.com/articles/s42256-023-00704-7

三句话评价

  1. 为计算成像与显微学中的逆问题的求解提供了新的方法;
  2. 根据物理一致性(也即物理规律)构造自监督损失函数,实现模型的训练;
  3. 在构造合理的情况下,所述方法可以实现基于超声波或其他成像手段的生物学全息成像。

摘要

本文聚焦于深度学习在计算成像与显微学领域中的应用。

目前该领域面临的主要挑战在于,已有的模型主要基于监督学习,需要大量的标签化训练数据。获取和准备这样的训练数据集通常需要耗费大量的时间和成本,并且会导致模型在应用于新的样本类型时泛化能力有限

为了解决这一问题,本文提出了一种自监督学习模型,称为GedankenNet,可以消除对标签化以及实验训练数据的依赖,并且显示出其在全息重建任务中的有效性及优秀的泛化性能。GedankenNet不需要依赖样本类型的先验知识,而是通过物理一致性代价函数与随机生成的图像进行训练。所使用的图像不需要通过实验获得,也不需要与真实世界样本一致。

GedankenNet模型在自监督训练完成之后,成功实现了生物样本的全息成像,根据实验获得的数据重建了多个目标的幅值和相位图像。在没有获取实验数据,也没有真实样本或其几何特征的先验下,GedankenNet基于自由空间中的波动方程实现了复数值图像的重建。GedankenNet也显示出了针对物理世界中存在的随机、未知扰动的适应能力,包括全息距离的改变、像素大小、以及波长。

本文所述的基于自监督学习的图像重建模型为解决全息术(holography)、显微学(microscopy)、以及计算成像(computational imaging)领域中的逆问题(inverse problem)提供了新的解决方案。

引言

背景与意义

深度学习领域中近期的工作已经在计算成像已经显微学中引起了一场革命。在生物医学成像、感知、诊断、三维显示、以及多种图像转化与增强任务中取得了巨大的成就,例如,超分辨率、图像降噪、虚拟染色等等。一个重要的例子是,数字全息显微学,一种在生物医学、物理与工程科学中有广泛应用的无标签成像技术,也从深度学习与神经网络中得到了赋能。卷积神经网络(convolutional neural networks)与循环神经网络(recurrent neural networks)已经被应用于全息图像重建,并且相比于其他传统的相位检索算法显示出了独特的优势。例如,需要的测量更少,以及可以实现更大的成像深度。

存在的挑战

这些已有的方法使用的主要是监督学习模型,需要大规模、高质量以及分散的训练数据集。所谓的分散指的是需要包括多种数据源以及多种类型的数据。同时需要为每一个样本创建相应的标签(label)。一方面,数据集的获取需要较高的代价;另一方面,训练好的模型的适用场景会受到所使用的训练集的约束。

一种提高模型的泛化能力的方法是使用迁移学习,也即使用较大的数据集进行训练,同时在测试集上进行测试之前,先使用测试集的一部分对模型进行进一步训练。对应于实际场景,则是针对具体的使用场景收集一部分数据对模型进行进一步训练。但是,在实际的应用中可能带来更多的挑战。

物理驱动的神经网络在训练的过程中,对代价函数加入了物理规则约束,从而一定程度上提高了模型的泛化性能。但是目前尚未有这样的物理驱动神经网络,在计算成像中逆问题求解中成功泛化于新类型的样本,并且性能接近经典监督学习方法。

方法与贡献

本文提出了一种基于自监督学习的深度神经网络,用于zero-shot全息重建。其不需要任何实验数据或者关于样本的空间特征的先验。模型训练所使用的数据是随时生成的数据,其空间频率和任何的实际事物都没有关系,因此,称之为自监督学习模型。

图1展示的是本文所提出的GedankenNet模型和经典的基于优化的方法、基于数据驱动的神经网络模型之间区别。就其本质而言,GadenkenNet实现的是通过神经网络来拟合物理模型\(f(Ho)\)。这一过程实际是不需要真实的仿真或者实验数据的。

但是这也决定了,GedankenNet模型的上限受到了所建立的物理模型的限制。但是,只要这个物理模型足够精确,那么理论上GadenkenNet可以达到比经典的数据驱动的神经网络强得多的泛化能力和推理精度。

主要结论

由于GedankenNet使用物理一致性损失函数,其推理结果与麦克斯韦方程的契合度非常高,并且可以精确反映自由空间中波的传播现象。在实验中,对于未知的轴向偏移,GedankenNet采样平面上的场信息可以被精确追踪,而不需要对模型进行重新训练。这说明对于训练集中不存在的样本类型,GedankenNet具有优秀的泛化能力。此模型同时可以隐式获取波在自由空间中传播的物理信息,对于非聚焦全息以及不同尺寸的像素具有较强的鲁棒性。此外,对于纯相位对象,比如较薄的无标签样本,GedankenNet框架显示出了对随机未知扰动的较强的适应性,包括样本到传感器之间的距离以及光波长的未知变化。

GedankenNet主要解决了三个挑战:

  1. 对于大规模、发散的标签化训练数据的依赖;
  2. 对于未知样本类型的泛化能力,以及对于输入数据中存在的扰动的鲁棒性;
  3. 建立了训练得到的网络和实际物理模型之间的联系。

研究成果

全息重建的自监督学习

全息重建任务可以表示为

\[\hat o = \operatorname{arg} \underset{o}{\operatorname{min}} L(H(o), i) + R(o), \]

其中\(i\in \mathbb R^{MN^2}\)表示向量化的\(M\)次全息测量结果,每一次测量的维度为\(N\times N\),并且\(o\in \mathbb C\)是向量化的对象复数场。\(H(\cdot)\)表示前向传播模型,\(L(\cdot)\)是损失函数,\(R(\cdot)\)是正则项。对于一个较薄的样品,在时间与空间相干的条件下,可以将\(H(\cdot)\)简化为

\[H(o) = f(Ho) + \epsilon \]

其中\(H\in \mathbb C^{MN^2\times N^2}\)表示自由空间中的转移矩阵,\(\epsilon\in\mathbb R^{MN^2}\)表示随机检测噪声,\(f(\cdot)\)表示阵列传感器的采样函数。

目前已有的求解全息成像问题的方法列举在图1中,主要可以分为两种:

  1. 迭代相位追踪方法,基于前向传播模型以及迭代误差下降;
  2. 基于监督深度学习方法,从训练数据\((i, o)\)中学习输入的全息数据与真实物理场分布之间的关系。

和第一类方法比较相似,目前也有使用神经网络实现从全息数据到真实数据的估计,但是只能适用于特定的全息数据对,无法应用于其他的场景(泛化能力较差)。

和数据驱动方法不同,GedankenNet首先根据全息数据\(i\)推理得到输出\(\hat o\),然后通过一个确定的前向传播模型,计算\(\hat o\)所产生的全息数据\(\hat i\),进而构造物理一致性代价函数\(L\)为

\[L(\hat i, i) = \alpha L_{\text{FDMAE}}(\hat i, i) + \beta L_{\text{MSE}}(\hat i, i) \]

其中\(L_{\text{FDMAE}}, L_{\text{MSE}}\)分别是Fourier域平均绝对误差,和均方误差。

GedankenNet的高级通用性

图2展示了针对人肺组织切片进行全息成像,并使用重建图像与真实图像之间的结构相似度度量(structural similarity index measure)值作为重建质量的评价指标。作为基准的真实值是通过8组全息原始数据通过相位追踪(phase retrieval)方法重建得到的图像。图中展示了GedankenNet在使用随机数据进行训练的前提下,可以达到较高的重建质量(前提是前向传播模型足够好,这一点在光全息成像领域中似乎不是一个比较难的事情)。

图3展示了GedankenNet模型在其他人体组织切片以及子宫颈抹片样本上的全息成像结果。GedankenNet可以直接泛化应用于子宫颈抹片以及人肺、唾腺和前列腺切片。作为对比,作者使用人工图像数据集训练了两个其他的监督学习模型,分别是Fourier成像器网络,和改进的U-Net架构网络。这些监督学习模型在同一批实验全息数据上进行了测试。使用增强互相关系数(Enhanced correlation coefficient)作为评价指标。在ECC意义下,GedankenNet可以达到更高的重建图像质量。

表1列出了GedankenNet方法和其他几种作为对比的方法的推理时间。可以发现,GedankenNet方法的推理速度和FIN方法相当,比U-Net架构要慢,但是几种基于学习的方法都远快于经典的迭代方法。经典迭代方法的主要问题在于难以并行化实施。

GedankenNet方法的主要优势在于优秀的泛化能力,相比经典的监督学习架构可以实现超强的泛化性能。作者设计了三种不同的训练数据集(人工随机图像、自然图像数据集、人体组织切片的实验全息数据集),分别独立训练了三个GedankenNet模型,并且在同一个测试数据集上进行了测试,得到的结果是四个独立训练的模型达到了相近的推理结果。同时,作者注意到FIN模型出现了一定的过拟合,因为其在肺部组织切片数据集上的推理结果与在COCO数据集上的推理结果之间的差异过大。

GedankenNet模型与波动方程之间的兼容性

为了验证GedankenNet模型与波动方程之间的兼容性,作者设计了一组实验,将训练数据集和测试数据集对应的轴距设置为相差\(\Delta z\)距离。通过将GedankenNet输出的场按照角谱法传播\(\Delta z\)距离之后,与真实值吻合得非常好。

由此可见,模型的输入和输出之间的关系,实际上是自由空间中,输入一个切面上的声场,模型可以输出另一个切面上的声场。如果推理时候采集全息数据的轴向距离和训练数据集的不同,则输出的数据并不是直接的全息成像结果,而是需要额外叠加一个角谱法。那么如果推理时采集数据不仅仅是轴向距离的变化,就不能直接得到成像的结果了。
换言之,文章所述的模型仍然依赖严格的传感器与待测对象之间的相对位置关系。

讨论

文章解决了几个传统深度学习中的重要挑战:1. 需要大量的高质量的带标签的训练数据集;2. 模型在训练过程中的过拟合问题。文章使用的主要技术手段在于,使用物理驱动的代价函数,从而从根本上解决了过拟合问题出现的可能性。

此外,文章所提出的方法可以解决经典全息成像问题中的相干噪声(twin-image-related artefacts,不太懂这个术语,笔者就当相干噪声来理解了)。

最后,由于物理驱动代价函数的使用,文章中的方法针对训练数据集中根本不存在的样本,也能达到较好的推理结果。

研究方法

样本准备与成像

主要介绍了生物样本的来源以及采集全息数据使用的设备。使用的光波长为530nm,采集设备为SONY的CMOS相机,像素大小为1.12μm。

人工全息图准备与预处理

文章中使用的人工全息图主要来自于两种,第一是随机生成的图像,第二是COCO数据集(一个公开的用于物体识别、分割与追踪模型训练的数据集)中的图像。

给定图像的幅值和相位(复数值图像),全息数据可由下式计算得到

\[i(x,y;z) = \left\lvert \operatorname{FSP}\left((A+\delta)\odot e^{i\pi\phi}; z\right) + \epsilon \right\rvert \]

其中\(\odot\)表示矩阵的元素乘法,\(\delta \in \mathbb R\)是一个附加的小量(大概是用于提高数值稳定性),\(\epsilon\in \mathbb C^{N\times N}\)是一个附加的高斯白噪声。
对于纯相位对象,则通过下式给定

\[i(x,y;z) = \left\lvert \operatorname{FSP}(e^{i\pi\phi}; z) + \epsilon \right\rvert \]

FSP表示自由空间传播(Free Space Propagation),通过角谱法实施。

实验全息数据集准备与处理

略。

网络架构

GedankenNet模型的网络架构由Extended Data Fig. 1给出。

GedankenNet架构包含一系列空间Fourier变换模块,一个大规模的残差连接,此外在模型的头部和尾部各有一个\(1\times 1\)卷积层。在每一个SPAF块(block),输入张量被输入给一个两层递归的SPAF模块(module)并通过残差连接,两个递归的SPAF模块使用共享的参数,并最终进入参数化的ReLU激活层。参数化ReLU激活函数定义为

\[\operatorname{PReLU}(x) = \max(0, x) + a\times \min(0, x) \]

其中\(a\)是一个可学习的参数。

在一个SPAF模块内部,输入张量首先通过一个二维FFT转换到频域,然后通过一个窗函数裁剪,以滤除高频成分。然后在频域内执行一次像素乘法,实现线性变换

\[F_{j,u,v}' = W_{j,u,v}\cdot \sum_{i=1}^c F_{i,u,v}, u,v = 0, \pm 1, \dots, \pm k, j = 1, \dots, c \]

其中\(F\in \mathbb C^{2\times (2k+1)\times (2k+1)}\)是裁剪之后的频域成分。计算得到的\(F'\)通过二维IFFT变换到空间域。

算法实施

基于PyTorch实施算法。具体细节略。

重建图像评价指标

一共使用三个指标:

  • SSIM
  • RMSE
  • ECC

SSIM和RMSE是针对单通道图像的。使用\(\hat o \in \mathbb R^{N\times N}\)作为重建的幅值或者相位图像,\(o\in \mathbb R^{N\times N}\)表示对应的真实值。

\[\operatorname{SSIM}(\hat o, o) = \frac{(2\mu_{\hat o}\mu_o + c_1)(2\sigma_{\hat o o} + c_2)}{(\mu_{\hat o}^2 + \mu_{o}^2 + c_1)(\sigma_{\hat o}^2 + \sigma_o^2 + c_2)} \]

\[\operatorname{RMSE}(\hat o, o) = \sqrt{\frac{1}{N^2}\sum_{x=1}^N\sum_{y=1}^N(\hat o(x,y) - o(x,y))^2} \]

其中\(\mu_o, \mu_{\hat o}\)分别是\(o, \hat o\)的平均值,\(\sigma_o, \sigma_{\hat o}\)是方差。\(c_1,c_2\)是一组超参数。

\[\operatorname{ECC}(\hat o', o') = \operatorname{Re}\left\{ \frac{\operatorname{vec}(\hat o')^H\cdot \operatorname{vec}(o')}{\lVert \operatorname{vec}(\hat o')\rVert \cdot \lVert \operatorname{vec}(o') \rVert} \right\} \]

其中\(\operatorname{vec}(\hat o)^H\)代表复共轭转置,\(\lVert\cdot\rVert\)为欧式范数。

总结

论文从经典监督学习模型的训练数据集获取成本较高的角度入手,提出了一种不需要通过实验或者计算机仿真来获得训练数据集的深度学习模型。也可以称为纯物理驱动的深度学习模型。

论文找到了一个足够好的应用方向,首先这个领域中存在一个足够好的前向传播模型,从而可以通过这个前向传播模型本身来生成大量的训练数据。换句话说,文章所谓的自监督模型,实际上也是监督学习的一种,但是数据对应的标签可以直接通过前向传播模型计算得到,实际消除的是人工对数据进行采集、标定的过程。

论文展示出了足够好的成像结果,包括生物组织的全息成像结果等,并且和经典标准方法相比具有相当的重建精度。

标签:精读,训练,数据,模型,全息,一致性,GedankenNet,hat
From: https://www.cnblogs.com/out-of-string/p/18211863

相关文章

  • 分布式系统中的智能缓存:有界一致性哈希算法详解
    普通hash算法​在分布式系统中,普通哈希算法通常用于确定数据存储在哪个节点上。例如,如果我们有3个节点,我们可以通过计算hash(key)%3来确定一个给定的key应该存储在哪个节点上。然而,这种方法存在一个显著的问题:当节点数量发生变化(增加或减少)时,会导致大量的缓存数据失效......
  • 【秒杀系统】秒杀系统实战(四):缓存与数据库双写一致性深度分析
    【秒杀系统】秒杀系统实战(四):缓存与数据库双写一致性深度分析前言微笑挖坑,努力填坑。————已经拥有黑眼圈,但还没学会小猪老师时间管理学的蛮三刀同学本文是秒杀系统的第四篇,我们来讨论秒杀系统中缓存热点数据的问题,进一步延伸到数据库和缓存的双写一致性问题,并且给......
  • 卡片笔记写作法 精读笔记 01
    熟悉不等于理解单纯的重复阅读没有任何意义,无论是对理解还是对学习都是如此。甚至,我们能不能将其称为“学习”都还值得商榷。感悟熟悉不等于掌握,看书、听书、看电影、看视频都一样,看再多都没有用,包括做项目也一样,不总结没有用,就想我之前准备考试一样,不重复做题,不可以联系,不从大......
  • Xtrabackup 不备份 binlog 怎么保证一致性?
    公司大佬出的考核题中有个有意思的问题:已知:MySQL的内部两阶段提交,是为了解决binlog和redolog的一致性(在crashrecovery的过程中,如果发现某个事务的redolog已经完成prepare阶段,但未完成commit,那么会验证该事务是否在binlog中,如存在,则进行提交,否则进行回滚)。又......
  • ORACLE 物理读 逻辑读 一致性读 当前模式读区别
    转自:https://www.cnblogs.com/kerrycode/p/5940626.html在ORACLE数据库中有物理读(PhysicalReads)、逻辑读(LogicalReads)、一致性读(ConsistantGet)、当前模式读(DBBlockGets)等诸多概念,如果不理解或混淆这些概念的话,对你深入理解一些知识无疑是一个障碍,但是这些概念确实挺让让人犯......
  • 短语挖掘与流行度、一致性及信息度评估:基于文本挖掘与词频统计|附数据代码
    全文链接:https://tecdat.cn/?p=36193原文出处:拓端数据部落公众号在信息爆炸的时代,文本数据呈现出爆炸式的增长,从新闻报道、社交媒体到学术论文,无处不在的文本信息构成了我们获取知识和理解世界的重要来源。然而,如何从海量的文本数据中提取有价值的信息,尤其是那些能够反映主题、......
  • 8.备份恢复检查一致性
    检查一致性检查一致性_allow_resetlogs_corruption可以在checkpointscn不一致时强制打开数据库,但不建议使用oracle判断是否需要进行介质恢复--判断以下3个scn是否一致selectdistinctto_char(CHECKPOINT_CHANGE#)fromv$datafile_header;--startscnselectto_char(......
  • kafka数据一致性
    kafka作为商业级中间件,它在设计时优先考虑的可靠性、可用性,同时兼顾一致性,这是所有分布式都会遇到的cap理论,kafka也不例外;可靠性通过副本机制解决,可用性通过leader和follower机制来解决。   kafka的可靠性,根据ack的设置不同,可靠性不同,ack=-1可靠性最高,但效率会稍微低一点。......
  • openGauss 检查时间一致性
    检查时间一致性数据库事务一致性通过逻辑时钟保证,与操作系统时间无关,但是系统时间不一致会导致诸多潜在问题,主要是后台运维和监控功能异常,因此在月度检查时建议检查各个节点的时间一致性。操作步骤以操作系统用户omm登录数据库主节点。创建记录openGauss各节点的配置文件(m......
  • Oracle之数据库一致性读的原理
    1.概述在Oracle数据库中,undo主要有三大作用:提供一致性读(ConsistentRead)、回滚事务(RollbackTransaction)以及实例恢复(InstanceRecovery)。2.原理一致性读是相对于脏读(DirtyRead)而言的。假设某个表T中有10000条记录,获取所有记录需要15分钟时间。当前时间为9点整,某用户A发出一条......