文献学习-28-Endora: 用于内镜仿真的视频生成模型

2024-04-06 14:44

本文主要是介绍文献学习-28-Endora: 用于内镜仿真的视频生成模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Endora : Video Generation Models as  Endoscopy Simulators
Authors: Chenxin Li, Hengyu Liu, Yifan Liu, Brandon Y. Feng, Wuyang Li, Xinyu Liu, Zhen Chen, Jing Shao, Yixuan Yuan
Keywords:  Medical Generative AI · Video Generation · Endoscopy

Abstract

生成模型有望革新医疗教育、机器人辅助手术以及机器学习的数据增强。尽管在生成二维医疗图像方面有了进展,但临床视频生成这个复杂领域很大程度上还未实现突破。本文介绍了Endora,一种创新方法来生成模拟临床内窥镜场景的医学视频。提出了一个新领域的生成模型设计,它将精心设计的空间时间视频Transformer与先进的2D视觉基础模型先验结合起来,明确地在视频生成过程中建模空间时间动态。首次开创了以视频生成模型对内窥镜模拟进行的公开基准测试,并将现有国内外领先方法应用于这一领域。Endora在广泛测试中显示出在生成内窥镜视频中的非凡视觉品质,超过了国内外领先方法。此外,还探索了这个内窥镜模拟器如何支持下游视频分析任务,甚至可以有多视图一致性地生成3D医学场景。总之,Endora在将生成AI技术应用到临床内窥镜研究领域方面标志着一个重要的突破,为医学内容生成领域的继续进步奠定了坚实基础。

肠胃镜检查是研究肠胃疾病诊断、微创手术和机器人外科的前沿领域之一。尽管它在临床中的作用重要,但由于在人体内采集镜头图像本身就很困难,导致肠胃镜研究和训练资源相对短缺。有必要建立一个丰富多样且质量高的临床肠胃镜视频库,这亦提出了医学生成智能的迫切需求。目标是构建一个强大的肠胃镜视频模拟系统,并生成大量高质量的肠胃镜视频资源,以丰富医务工作者的学习资源,并改进外科机器人和 AI 算法的数据训练。这一研究提出以下几个重要问题:

  1. 建立视频基准测试:医学影像和文字数据已有自动生成报告和重构影像等应用作为基准。能否同样将这一成功应用于医疗视频,建立视频模拟质量的评估标准?

  2. 空间时间建模:目前诸如生成对抗网络(GAN)和扩散模型已经很好地生成真实医学 2D 影像,但视频的动态属性和空间时间相关性提出了更大挑战。模型是否能有效模拟真实手术过程的细节?

为解决这些问题,提出一个框架来生成时空连贯且现实可信的肠胃镜视频,模拟临床场景。这超越了传统医学内容生成只针对文本和静态 2D 影像的范围,旨在为医学视频生成定下更全面性的基准。具体来说,设计的 Endora 模型通过预训练的变分自编码器将视频编码到潜变量空间,然后通过变换器块处理特征,同时采用基于 DINO 模型的特征匹配来保证不同视角下的一致性。测试表明 Endora 能生成高真实度的肠胃镜视频,具有很好的效果和潜在应用前景。总体来说,Endora 为医学生成智能在探索复杂高维的外科视频内容生成奠定了基础。

图1。Endora训练概述。扩散模型从噪声输入的视频序列开始,迭代地去除噪声,恢复干净的序列。长期时空动力学是由交错级联的时空变压器块。进一步注入了基于二维视觉基础模型(DINO)来指导特征提取。

Methodology

视频生成的扩散模型
基于去噪扩散概率模型(DDPM)的生成扩散模型专门用于将无序噪声转化为理想样本。这些模型通过逐步从高斯噪声$p(x_T)=N(0,I)$中去除噪声,生成与目标数据分布一致的样本。前向扩散步骤$q(x_t|x_{t-1})$将高斯噪声添加到图像$x_t$中。相应的边际分布可表示为:

$q(x_t|x_0)=N(\sqrt{\alpha_t}x_0,\sigma_t^2I)$

其中$\alpha_t$$\sigma_t$在前向过程结束时设计为收敛到$N(0,I)$。反向扩散过程$p(x_{t-1}|x_t)$被设计为噪声估计器$\epsilon_\theta(x_t,t)$,用于从噪声图像估计噪声。训练过程包括优化加权证据下界(ELBO):

$\mathbb{E}[w(t)||\epsilon_\theta(\sqrt{\alpha_t}x_0+\sigma_t\epsilon;t)-\epsilon||_2^2]$

其中$\epsilon\sim N(0,I)$, 时间步$t$服从均匀采样,而$w(t)=1$是加权函数。

将扩散模型提升到视频会增加计算开销和表示复杂性。潜在扩散模型在编码的潜在空间而非像素空间执行扩散过程,提高了模型效率。另一种策略同时训练视频和图像生成以提高视频生成质量。框架采用了类似策略,但进一步提出了新的创新,详述如下。

时空Transformer
借鉴ViT在捕获空间相关性方面的见解,引入了一个专门从共享相同时间索引的token中提取空间信息的空间转换器。采用patch embedding策略为这个空间转换器指示位置嵌入。

进一步引入了一个时间转换器来捕获视频帧之间的时间信息。使用绝对位置编码策略整合时间位置嵌入,该策略将不同频率的正弦函数相结合。这种策略使得模型能够准确地确定每个帧在视频序列中的确切位置。

特别地,给定一个潜在空间中的视频片段$V\in\mathbb{R}^{F\times H\times W\times C}$,其中$F,H,W,C$分别表示视频帧数、潜在特征图的高度、宽度和通道数。将$V$转换为一序列token$\hat{Z}\in\mathbb{R}^{NF\times N_H\times N_W\times D}$。视频片段潜在空间中总token数为$NF\times N_H\times N_W$,$D$表示每个token的维度。将时空位置嵌入$PE$整合到$\hat{Z}$中,因此$Z=\hat{Z}+PE$作为转换器主干的输入。将$Z$reshape为$Z_S\in\mathbb{R}^{NF\times L\times D}$,作为空间转换器块的输入,用于捕获空间信息。这里$L=N_H\times N_W$表示每个时间索引的token数。然后,包含空间信息的$Z_S$被reshape为$Z_T\in\mathbb{R}^{L\times N_F\times D}$,作为时间转换器块的输入,用于捕获时间信息。通过交替堆叠一系列空间和时间转换器,模型能够全面地建模长程空间相关性和时间动态。

实验

实验设置
数据集和评估指标。在三个公开的内窥镜视频数据集Colonoscopic、Kvasir-Capsule和CholecTriplet上进行了全面的实验。根据常见做法,以特定的采样间隔从这些数据集中提取16帧视频clips,并将每一帧调整到128×128的分辨率用于训练。在定量比较评估中,采用三种评估指标:Fréchet视频距离(FVD)、Fréchet初始距离(FID)和Inception分数(IS)。遵循StyleGAN-V的评估规则,通过分析2048个每个包含16帧的视频clips来计算FVD分数。

实现细节。使用AdamW优化器,学习率为1×10^-4训练所有模型。简单应用了水平翻转的基本数据增强。跟随生成模型的标准做法,使用了指数移动平均(EMA)策略,并报告了EMA模型的最终结果取样性能。直接使用了Stable Diffusion预训练的变分自动编码器。模型由n=28个Transformer块构建,隐藏维度为d=1152,每个块有n=16个多头注意力,遵循ViT结构。

与现有技术的对比
通过在内窥镜视频数据集上复现几种针对一般场景设计的先进视频生成模型,包括StyleGAN-V、MoStGAN-V和LVDM,来进行性能对比。如表1所示,在所有三种指标上,Endora在内窥镜视频生成的视觉保真度方面优于基于GAN的最新方法。此外,Endora还在所有方面超越了先进的基于扩散的LVDM方法,表明Endora能有效地生成内窥镜场景的准确视频表示。图2进一步展示了Endora和之前技术的定性结果。可以观察到,其他技术导致视觉上的违和扭曲(第1行)、内容变化受限(第2和4行)以及帧间过渡不连续(第5行,手术器械的突然闯入)。相比之下,Endora生成的视频帧(第3和6行)避免了视觉违和的扭曲,保留了更多视觉细节,并提供了更优秀的组织表示。

进一步的实证研究
本节阐述了利用Endora生成视频进行几种潜在应用,并对关键策略进行了严格的消融研究。

案例一:Endora作为时间数据扩充器。探索了使用生成视频作为无标签实例进行半监督训练(通过FixMatch)的情况,评估在视频疾病诊断基准PolyDiag上的性能。特别地,使用PolyDiag训练集中随机选择的nl=40个视频作为有标签数据,并分别使用nu=200个从Colonoscopic和CholecTriplet生成的视频作为无标签数据。表2给出了疾病诊断的F1分数,显示了相比仅使用有标签训练实例(Supervised-Only基线)和其他视频生成方法,使用Endora生成的数据能够明显提高下游性能,证实了Endora作为可靠视频数据扩充器用于下游视频分析的有效性。

案例二:Endora作为手术世界模拟器。生成内容中新出现的多视角一致性启发探索生成的手术视频中是否存在类似的几何一致性。特别地,从生成的视频中,取一些帧作为训练数据(训练视角),保留其他帧作为测试数据(新视角)。然后使用COLMAP对训练视角进行预处理,再运行现成的3D重建管线(EndoGaussian)获得重建的3D内窥镜场景。图3给出了在新视角下渲染的RGB图像和深度图的可视化,并标注了图像PSNR和深度全变分(TV)。可以观察到,从生成的视频重建的3D场景展现了逼真连续的几何结构,显示了Endora以多视角一致的方式有效执行手术世界模拟的潜力。

消融研究。表3给出了对Endora提出的关键组件的消融研究。最初,使用一个不带任何提出策略的普通视频扩散模型作为基线。随后,一次添加三种提出的设计策略:修改后的扩散、时空编码和先验引导。可以观察到它们导致了模型性能的稳定进展,确认了设计的策略在提高整体内窥镜视频生成模型的效率和效果方面的关键作用。

Reference

[1] Li, C., Liu, H., Liu, Y., Feng, B. Y., Li, W., Liu, X., ... & Yuan, Y. (2024). Endora: Video Generation Models as Endoscopy Simulators. arXiv preprint arXiv:2403.11050.

这篇关于文献学习-28-Endora: 用于内镜仿真的视频生成模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/880120

相关文章

Java利用docx4j+Freemarker生成word文档

《Java利用docx4j+Freemarker生成word文档》这篇文章主要为大家详细介绍了Java如何利用docx4j+Freemarker生成word文档,文中的示例代码讲解详细,感兴趣的小伙伴... 目录技术方案maven依赖创建模板文件实现代码技术方案Java 1.8 + docx4j + Fr

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

C/C++随机数生成的五种方法

《C/C++随机数生成的五种方法》C++作为一种古老的编程语言,其随机数生成的方法已经经历了多次的变革,早期的C++版本使用的是rand()函数和RAND_MAX常量,这种方法虽然简单,但并不总是提供... 目录C/C++ 随机数生成方法1. 使用 rand() 和 srand()2. 使用 <random