结肠镜3D视频数据集-C3VD论文中文版

文章目录

  • 标题
  • 作者
  • 摘要
  • 一、介绍
    • 1.1. 相关工作
      • 1.1.1. 内镜重建数据集
      • 1.1.2. 注册真实和虚拟内窥镜图像
      • 1.1.3. 2D-3D注册
      • 1.2. 贡献
  • 二、方法
      • 2.1. 幻影模型生产
      • 2.2. 数据采集
      • 2.3. 注册流程概述
      • 2.3.1. 数据预处理
      • 2.3.2. 目标深度估计
      • 2.3.3. 渲染深度帧
      • 2.3.4. 边缘损失和优化
    • 2.4. 模拟筛查结肠镜检查
  • 三、实验与结果
    • 3.1. 实施
    • 3.2. 综合数据评估
    • 3.3. 使用真实视频序列进行评估
  • 四、数据集和分布格式
  • 五、讨论与结论


标题

  《结肠镜3D视频数据集,具有2D-3D配准的成对深度》

作者

  Taylor L. Bobrow, Mayank Golhar, Rohan Vijayan, Venkata S. Akshintala, Juan R. Garcia, Nicholas J. Durr

摘要

  筛查结肠镜检查是几种3D计算机视觉技术的重要临床应用,包括深度估计、表面重建和缺失区域检测。然而,由于获取地面真实数据的困难,这些技术在真实结肠镜检查视频中的开发、评估和比较在很大程度上仍然是定性的。在这项工作中,我们提出了一个结肠镜3D视频数据集(C3VD),该数据集是通过高清临床结肠镜和高保真结肠模型获得的,用于对结肠镜检查中的计算机视觉方法进行基准测试。我们介绍了一种新的多模态2D-3D配准技术,用于将光学视频序列与已知3D模型的真实渲染视图配准。通过使用生成对抗网络将光学图像转换为深度图,并使用进化优化器对齐边缘特征,来注册不同的模态。这种配准方法在模拟实验中实现了0.321毫米的平均平移误差和0.159度的平均旋转误差,其中可以获得无误差的地面真值。该方法还利用了视频信息,与单帧配准相比,平移和旋转的配准精度分别提高了55.6%和60.4%。注册了22个短视频序列,生成了10015个总帧,其中包含成对的地面真实深度、表面法线、光流、遮挡、六自由度姿态、覆盖图和3D模型。该数据集还包括胃肠病学家通过配对的地面真实姿势和3D表面模型获得的筛查视频。数据集和注册源代码可在上durr.jhu.edu/C3VD获得。

一、介绍

  结直肠癌(CRC)是美国(Siegel et al., 2021)癌症致死率第二高的癌症。据信,至少80%的CRC是由癌前腺瘤(Cunninghamet al., 2010)发展而来的。筛查结肠镜检查仍然是检测和清除癌前病变的金标准,有效降低了患CRC(Rex et al.,2015)的风险。尽管如此,估计有22%的癌前病变在筛查过程(van Rijn et al., 2006)中未被发现。这些遗漏的病变被认为是间隔性CRC的主要原因,即在阴性筛查结肠镜检查后5年内发生CRC,占CRC病例(Samadder et al.,2014)的6%。
  结肠镜检查仍然是计算机视觉研究人员的一个积极应用,他们致力于降低病变漏检率并改善临床结果(Aliet al., 2020; Fu et al., 2021; Chadebecq et al., 2023)。最近的工作采用了卷积神经网络(CNN)来检测和提醒临床医生结肠镜检查视频帧(Hassan et al., 2020; Livovsky et al.,2021; Luo et al., 2021)中可见但有时微妙的息肉。虽然这些算法已经证明了令人印象深刻的检测率,但它们要求在检测过程中息肉出现在结肠镜视野(FoV)中。在内窥镜视频(McGill et al., 2018)的回顾性分析中发现,遗漏的区域——筛查过程中从未成像的结肠区域——估计占结肠表面的10%,使患者有患间歇性CRC的风险。
  为了减少遗漏区域的程度,研究探索了在筛查过程(Hong et al., 2007, 2011; Armin et al., 2016)中测量结肠的观察覆盖率。Freedman et al. (2020)描述了一种数据驱动的方法,用于使用深度学习直接回归一小群帧的数值可见性得分。一些方法利用深度学习来回归像素级深度(Mahmood and Durr, 2018; Rau et al., 2019; Cheng et al.,2021),这些信息可以结合到同步定位和映射(SLAM)技术中,以重建结肠表面(Chen et al., 2019b)。这些重建中的孔洞可能表明未被观察到的组织区域,这些区域已被实时标记以提醒结肠镜医生(Ma et al., 2019)。3D计算机视觉技术在结肠镜检查中的其他相关应用包括息肉大小预测(Abdelrahim et al., 2022)、表面形貌重建(Parotet al., 2013)、视觉里程计估计(Yao et al., 2021)以及通过3D增强(Mahmood et al., 2018b)增强的病变分类。

1.1. 相关工作

1.1.1. 内镜重建数据集

  用于评估内窥镜重建方法的数据集因预期应用、模型类型、记录设置和地面真实数据可用性而异。在手术环境中获取具有准确表面信息的数据集通常是不切实际的。作为替代方案,已经探索了商业(Stoyanov et al.,2010)和计算机断层扫描(CT)衍生(Penza et al., 2018)的硅胶模型。表面信息可以通过CT或光学扫描(OS)直接测量,一些腹腔镜中的立体传感器配置可用于生成地面真实深度(Recasens et al., 2021)。除了具有相对均匀光学特性的合成模型外,离体 (Mahmood and Durr, 2018;Edwards et al., 2022; Allan et al., 2021; Maier-Hein et al.,2014; Ozyoruk et al., 2021)和体内 (Ye et al., 2017)动物组织都被用来生成具有更真实的双向散射分布函数(BSDF)的数据。
  最近,Unity(Unity Technologies)等游戏引擎已被用于渲染来自3D解剖模型的合成图像,如CT结肠造影体积(Mahmood et al., 2018a; Rau et al., 2019; Ozyoruk et al.,2021; Zhang et al., 2021; Rau et al., 2022)。渲染数据是有利的,因为可以从渲染图元中获得无误差的像素级地面真实标签,如深度和表面法线。此外,可以快速生成大量数据。一个显著的缺点是渲染引擎模拟真实世界相机光学、非全局照明、专有采集后处理、传感器噪声和光组织交互的能力有限。大多数具有真实图像的内窥镜重建数据集都是为腹部和胸部的腹腔镜成像而设计的。腹腔镜数据集不适合作为结肠镜成像的基准,因为角度FoV(和相应的失真)、传感器排列和器官几何形状存在很大差异。此外,用刚性腹腔镜模拟结肠镜的真实运动是具有挑战性的。Ozyoruk等人提供了一个视频数据集,用于用几种不同的相机类型对胃、小肠和结肠进行成像,并使用临床结肠镜(Ozyoruk et al., 2021)记录一个序列。该数据集中的每个视频序列都与地面实况相机轨迹和3D表面模型配对,但没有生成像素级的地面实况数据,限制了数据的实用性。由于空间受限的成像环境、高分辨率要求和与临床应用相关的大范围工作距离,生成像素级地面真实信息对结肠镜检查来说尤其具有挑战性。

1.1.2. 注册真实和虚拟内窥镜图像

  将内窥镜框架与地面实况表面模型进行配准,可以提取衍生的地面实况数据和度量。例如,如果已知内窥镜相对于表面模型的姿态,则可以将地面真实深度帧分配给真实的内窥镜图像。然而,由于缺乏鲁棒的角点和内窥镜图像中常见的可变镜面反射,使用传统的基于特征的方法进行配准具有挑战性。为了规避这一挑战,分段基准点已被用于将光学图像配准到地面真实CT体积(Rau et al., 2019; Stoyanov et al.,2010)。虽然这种方法很稳健,但一个缺点是整个图像FoV中存在不切实际的基准点。Edwards et al. (2022)选择移除基准点,转而依赖于虚拟相机与地面真实CT体积的手动对齐。这种方法的手动性质对于生成少量数据非常有效,但它是注册大量数据的障碍,其准确性受到操作员之间可变性的限制。Penza et al. (2018)使用校准目标来校准固定相机和激光扫描仪的坐标系,允许在不受尺寸限制的腹腔镜成像环境中同时记录内窥镜帧和3D表面信息。
  表1中报告了现有和拟议的内窥镜3D数据集和采集方法的总结。
在这里插入图片描述

1.1.3. 2D-3D注册

  2D-3D配准能够将2D图像与3D空间体积配准,并且它经常用于将3D术前CT体积与2D术中X射线图像对齐。大多数方法依赖于优化目标2D图像与在估计姿态(Markeljet al., 2012)下采集的3D体积的模拟2D射线照片之间的相似性。常见的相似性度量是基于梯度、强度和特征(Groher et al., 2007)的度量。最近,2D-3D配准方法已经发展到包括基于学习的算法,以解决跨模态配准(Oulbacha and Kadoury, 2020)和特征提取(Grupp et al.,2020)中的挑战。

1.2. 贡献

  虽然计算机视觉在结肠镜检查中的研究范围很广,但由于缺乏地面实况注释数据,评估和基准测试方法仍然是一个挑战。在这项工作中,我们提出了一个高清晰度(HD)结肠镜3D视频数据集(C3VD),用于定量评估计算机视觉方法。据我们所知,这是第一个完全用临床结肠镜记录的具有3D地面真相的视频数据集。在这项工作中,我们做出了贡献:

  1. 2D-3D视频配准算法,用于将真实的2D光学结肠镜检查视频序列与地面真实3D模型对齐。将GAN估计的深度帧与沿着测量的相机轨迹渲染的预测视图进行比较,以最小化基于边缘的损失。
  2. 一种生成具有不同纹理和颜色的高保真硅胶体模模型以促进域随机化的技术。
  3. 具有像素级配准到已知3D模型的地面真实数据集,用于定量评估结肠镜检查中的计算机视觉技术。该数据集包含10015个高清视频帧,这些帧是通过临床结肠镜获得的逼真结肠体模模型。每一帧都与地面真实深度、表面法线、遮挡、光流和六自由度相机姿态配对。每个视频都与地面实况表面模型和覆盖图配对(图1)。
      数据集、3D结肠模型、体模和2D-3D配准算法都可以在durr.jhu.edu/C3VD上公开。

二、方法

  我们提出了一种通过临床结肠镜生成视频序列的方法,该方法具有成对的像素级地面实况。我们首先描述了一种用于生成高保真幻影模型(第2.1节)和记录具有地面真实轨迹的视频序列(第2.2节”)的协议。然后,我们介绍了一种将获取的视频和轨迹序列与地面真实3D表面模型进行配准的新技术(第2.3节)。

2.1. 幻影模型生产

  一个完整的3D结肠模型——从乙状结肠到盲肠——由一位经过委员会认证的整形外科医生(JRG)使用结肠镜检查程序的参考解剖图像在Zbrush(Pixologic)中进行了数字雕刻。与分辨率受限的CT结肠成像模型相比,该方法在数字模型中引入了更高频率的细节。我们将雕刻的模型分为五个部分:乙状结肠、降结肠、超越结肠、升结肠和盲肠。每个部分都生成了三个零件模具。两部分由外壳的两半组成,一个插入部分形成结肠腔和粘膜表面。所有模具均采用Objet 260 Connex 3进行3D打印,分辨率为16微米。每个模具的铸件用硅树脂制成(Dragon SkinTM,Smooth-On,股份有限公司)。使用硅树脂颜料(Silc PigTM,Smooth-On,股份有限公司)来改变颜色和质地。硅胶以不同程度的不透明性手动施加5-12层,以模拟不同光学深度下患者特定的组织特征和脉管系统模式。在记录时间将硅酮润滑剂(015594011516,BioFilm,股份有限公司)施加到模型的表面以模拟粘膜的高度镜面外观。

2.2. 数据采集

在这里插入图片描述

  用于数据采集的设置如图2所示。使用奥林巴斯CF-HQ190L视频结肠镜、CV-190视频处理器和CLV-190光源记录体模模型的视频序列。模型被放置在模具内,插入物被移除,以保持其静止,在视频录制过程中不会变形。结肠镜的尖端牢固地安装在UR-3(通用机器人)机械臂上。对于每个视频片段,手动编程4-8个连续的姿势,以模仿典型的结肠镜检查轨迹。机器人手臂以10微米的可重复性在这些姿势之间进行插值,穿过结肠。以63Hz的采样率记录手臂的姿势日志。结肠镜视频是使用连接到奥林巴斯视频处理器SDI输出的OrionHD(Matrox)图像采集卡以未压缩的HD格式录制的。

2.3. 注册流程概述

  通过沿记录的轨迹移动虚拟相机并渲染3D模型的地面实况帧,生成了每个视频帧的像素级地面实况。虽然虚拟相机的结肠镜轨迹是已知的,但体模相对于该轨迹的位置是未知的。假设幻影模型在视频序列的持续时间内是静止的,幻影姿态可以表示为单个刚体变换(Tfinal),由旋转分量(θ)和平移分量(t)组成。我们使用三个欧拉角和一个平移向量([θα θβ θγ tx ty tz])来参数化这个变换。为了估计这种未知的变换,我们利用2D-3D配准方法来对齐2D视频帧和体模的虚拟3D模型之间共享的几何特征。注册管道对模型变换预测的参数空间进行采样(Ti),评估当前模型变换时目标深度帧和渲染之间的特征对齐,并使用进化优化器更新模型变换预测。此注册方法如图3所示,并在以下小节中详细说明。

2.3.1. 数据预处理

  在开始配准优化之前,对每个视频序列、姿态日志和地面真实3D模型进行了预处理。对于由N帧组成的视频序列,关键帧的δ采样间隔为δ,总共有K个关键帧。然后使用经过训练以估计深度的生成对抗网络为每个关键帧估计深度帧(第节2.3.2)。对于每个关键帧,从姿势日志中采样一个姿势Ai,描述机器人手臂末端执行器相对于基座的位置。通过求解相对时间偏移,实现了视频序列和姿态日志之间的同步,该偏移导致光流幅度和相机姿态位移之间的最大相关性。进行了手眼校准,XAi以表征机器人手臂姿势和结肠镜相机姿势之间的转换(Bi)。此校准允许以下关系
在这里插入图片描述
  其中Aa/Ba和Ab/BaBb是为校准而捕获的成对机器人和相机姿态。校准后,通过求解重新排列的手眼关系,将机器人手臂姿势转换为相机姿势
在这里插入图片描述
  其中Acal和Bcal是从校准中保留的一对姿势。
  最后,将地面实况三角网格转换为分割边界体积层次(SBVH),并创建渲染上下文,用于从3D地面实况模型渲染深度帧(第2.3.3节)。手动对齐每个视频序列的初始模型变换(Tinitial)。我们使用了一个自定义的图形用户界面,当模型变换被手动扰动时,该界面将第一个关键帧与在相机姿态B1下渲染的帧叠加在一起。

2.3.2. 目标深度估计

  预测每个关键帧的像素级深度被制定为图像到图像的转换任务。使用合成渲染的输入-输出图像对训练条件生成对抗网络(cGAN),并对真实图像进行推理。先前的研究表明,当在合成数据上训练并应用于使用cGAN网络架构(Chen et al., 2018; Rau et al., 2019)激励的真实数据时具有很强的领域泛化能力。使用虚拟3D模型和3个独特的BSDF进行域随机化,渲染了1000对具有成对深度的合成结肠镜检查图像。降结肠模型和第四个BSDF从训练数据中省略,并保存用于验证实验。为了实现高清分辨率的训练,除了传统的GAN损失(Wanget al., 2018)外,还采用了多尺度鉴别器模型和多层特征匹配损失。关键帧被馈送到训练好的生成器,以生成用于对齐的目标深度帧。

2.3.3. 渲染深度帧

  使用3D结肠模型中的虚拟相机渲染每个相机姿态的深度帧,并将这些帧与目标深度帧进行比较,以评估当前模型变换预测的准确性。宽FoV(≈170°)是临床结肠镜的一个关键特征,它最大限度地提高了外周结肠表面的可见度。然而,这种鱼眼效应尚未在合成内窥镜数据(Ozyoruk et al., 2021; Rau et al., 2022)集中进行模拟。为了对商用结肠镜的整个FoV进行建模,我们采用了如图4所示的球面相机固有模型(Scaramuzza et al., 2006)。
  对于每个像素[u v],都存在一个从相机原点O ∈ R3发射到世界空间的光线方向V →∈ N3。像素坐标首先相对于相机c ∈ R2×1的光学中心进行偏移,然后通过仿射变换A ∈ R2×2进行倾斜,以考虑镜头错位,从而产生失真的像素坐标[u′v′] ∈ R2:
在这里插入图片描述
  畸变像素坐标和相应的光线方向通过参数方程相关联
在这里插入图片描述
在这里插入图片描述
  其 中ρ =√u‘2 + v′2, 、f(ρ) = α0 + α2ρ2 + α3ρ3 +α4ρ4和α0…α4是校准期间求解的系数参数。通过当前相机姿态的旋转矩阵进行变换,并从光线原点投射出最终的光线方向。
  对于每次优化迭代,首先将模型变换更新为当前样本(Ti−1 → Ti),并在每个虚拟相机姿态(B1 · · · BK)处渲染深度帧(DTB1 · · · BK)。为了高效计算,我们使用英伟达®OptiXTM光线追踪API实现了自定义光线投射引擎。这使得可以直接访问GPU RT内核(Parker et al.,2010)。SBVH模型用于初始化加速结构,并且该结构随着每个新的模型变换而更新。

2.3.4. 边缘损失和优化

  将目标和渲染的深度帧进行比较,以评估当前预测的准确性。为了最小化深度学习预测的深度中常见的尺度不一致的影响,我们比较了目标和模型深度帧中深度不连续性的几何轮廓。使用Canny边缘提取和二值化来提取轮廓。为了在比较目标和模型深度帧时提供连续平滑的损失函数,我们用归一化高斯核模糊了这些边缘,将此操作表示为Eˆ = E(D)。然后,配准优化旨在通过计算帧对之间的相似性度量来最大化这些模糊边缘帧的重叠,
在这里插入图片描述
  其中Eˆ是渲染边缘帧的集合,E是目标边缘帧的集,是帧对的数量。此相似性函数的输出是一个介于0.0和1.0之间的值,当目标边缘和渲染边缘等效且完全对齐时,该值最大。为了将函数重新定义为最小化问题,从1.0中减去相似性值,得到完整的目标函数
在这里插入图片描述
  模型变换的评估样本由称为协方差矩阵自适应进化策略(CMA-ES)(Hansen et al., 2003)的进化优化器迭代细化。

2.4. 模拟筛查结肠镜检查

  除了可以用机器人手臂精细姿态信息计算像素级地面真实度的视频片段外,我们还记录了四个具有粗略六自由度姿态和3D表面模型的模拟筛查结肠镜检查视频序列。用硅树脂粘合剂(Sil-PoxyTM,Smooth-On,股份有限公司)将体模节段粘附在一起,并安装在激光切割的泡沫支架中。将电磁场发生器(Aurora,Northern Digital股份有公司)定位在模型上方,并将六自由度电磁传感器(EM,610016,Northern Digital股份有限公司)刚性地固定到瞄准镜的远端,用于以40Hz记录姿势信息。从盲肠开始,一名训练有素的胃肠病学家(VSA)撤回了范围,同时记录了视频和姿势信息。EM姿态被同步,并使用第2.3.1节中描述的相同过程转换为相机姿态。如果传感器未能跟踪轨迹的一部分,则对时间上相邻的姿势进行线性插值。

三、实验与结果

3.1. 实施

  完整的雕刻结肠模型的横截面如图5所示。模型节段长度、病变类型和长轴直径如表2所示。该模型的3D打印模具用于铸造四套完整的模型。每个幻影组都是用独特的材料属性铸造的。使用具有10x10平方毫米的10x15棋盘的30幅图像和Matlab 2022a相机校准工具箱(Mathworks)测量了CF-HQ190L视频结肠镜的相机固有参数。校准导致0.47像素的平均重投影误差。表3中报告了该校准的最终结果。根据校准估计的相机外部姿态与相应的机器人姿态一起计算手眼变换X。使用提出的XPark and Martin (1994)优化方法找到了的X解决方案。

在这里插入图片描述

在这里插入图片描述
  深度估计网络架构在Pytorch中实现。0.0002的初始学习率在前50个迭代周期内保持不变,然后在最后50个迭代阶段线性衰减。输入帧被零填充到的1088 × 1376大小,并以1的1088 × 1376批大小馈送到网络。训练计算分为4个Nvidia® RTX A5000图形处理单元,需要31个小时才能完成。然后将真实的结肠镜检查视频帧输入到训练好的生成器中,以生成目标深度帧。由于在配准优化过程中目标深度帧保持不变,因此在开始迭代优化之前提取一次目标边缘特征。
  完 整 的 注 册 流 程 是 用C++和CUDA实 现 的 , 并 使用Nvidia® RTX 2080 TI图形处理单元进行计算。渲染样本评估,提取边缘,并以每个关键帧4.0毫秒的平均速率计算损失。使用100个样本的总体大小计算CMA-ES迭代。相对于(Tinitial),参数空间以θ = ±0.1弧度和t = ±7.5毫米为界。在参数采样期间,边界被线性缩放到均匀空间(σ = 0.1),以解释旋转和平移参数之间的比例差异。

3.2. 综合数据评估

  为了定量验证所提出算法的配准误差,使用3D模型和BSDF渲染了10个合成视频序列,每个序列由200帧组成,BSDF不包括在用于训练深度估计网络的数据集中。在每个实验中,首先手动对齐模型初始变换,然后使用配准流水线进行优化。为了量化配准精度,我们将误差Terror计算为
在这里插入图片描述
  其中Tgt是地面真值模型变换,是最终的注册变换,两者都是齐次形式。齐次变换Terror被分解为旋转和平移分量,将旋转分量转换为欧拉形式(θ),然后独立评估∥θ∥和∥t∥。
  使用这些合成序列和验证度量,我们首先研究了关键帧K数量对配准精度的影响。对所有10个视频序列进行了优化,范围从1到10。结果如图6所示。我们发现,配准精度的提高率在K等于K5时显著降低,达到0.321毫米和0.159度的精度。与仅使用单个帧相比,这导致平移精度提高了55.6%,旋转精度提高了60.4%。考虑到这一点,K对于剩余的实验,K将其设置为等于5,以平衡配准精度和计算时间效率。
在这里插入图片描述
  为了评估在损失函数中使用模糊边缘特征的效果,我们在边缘提取之前对深度帧的对齐进行了优化实验。基于深度的配准使用L1、、L2归一化互相关(NCC)和梯度相关(GC)损失函数(De Silva et al., 2016)进行了优化。为了验证我们对边缘的损失函数选择,我们还对L1DICE(使用二值化边缘)和NCC损失与边缘帧进行了实验。表4中报告了每种输入类型和损失函数的结果。
  为了评估在深度域中注册的好处,我们将没有深度变换的合成视频帧注册到用朗伯BSDF渲染的预测视图中。从彩色合成帧中提取边缘,渲染预测视图,并使用提出的函数计算损失。这种方法的平均配准精度比深度域中的配准精度高一个数量级(图6)。
  最后,我们研究了轨迹复杂性如何影响配准精度。合成结肠镜检查序列使用三种日益复杂的轨迹类型进行渲染:简单(仅线性平移)、中等(仅螺旋平移)和复杂(带俯仰和偏航旋转的螺旋平移)。每种轨迹类型渲染10个合成序列,并将其注册到地面真实3D模型中。该实验分别导致简单、中等和复杂轨迹的旋转误差为0.117度、0.063度和0.070度。对于简单、中等和复杂的轨迹,平移误差分别为0.150毫米、0.070毫米和0.089毫米。

3.3. 使用真实视频序列进行评估

  一旦使用具有可用地面实况的合成数据验证了注册管道,该算法就被应用于真实记录的视频和姿势。虽然真实数据的地面真值模型变换未知,但可以通过定性比较每个视频的边缘对齐质量来评估每个配准的质量。记录序列的样本结果如图7所示。结果表明,配准流水线在整个视频中将样本帧与目标帧对齐。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、数据集和分布格式

  由10015帧组成的22个视频序列被注册以包含在数据集中。通过调整临床光源的照明模式(自动与手动)和照明功率设置,改变每个序列中的照明条件。这些序列还包括“桶下”、“正面”和部分遮挡的视图的组合。表5中列出了数据集视频序列。注册后,虚拟相机将移动到与每个视频帧对应的相机姿态,并为每个帧渲染地面真实深度、表面法线、遮挡和光流。示例数据集框架如图8所示。对于每个视频序列,通过累积整个视频中每一帧中观察到的表面人脸,然后标记那些未被观察到的人脸,生成覆盖图。数据集中视频序列的样本覆盖图如图9所示。对于视频数据集中的每一帧,我们提供相应的:

• 深度帧:沿相机帧-z轴的深度,从0-100毫米夹紧。值被线性缩放并编码为16位灰度图像。

• 表面法线帧:相对于相机坐标系报告。X/Y/Z分量存储在单独的R/G/B颜色通道中。组件从±1线性缩放到0-65535。值被编码为16位彩色图像。

• 光流帧:从当前帧到前一帧的计算流,这意味着序列中的第一帧没有值:Ii−1 = Ii(u + ∆u, v + ∆v)。值保存在彩色图像中,其中R通道包含X方向运动(左右→,-20到20像素),G通道包含Y方向运动(上下→,-20到二十像素)。值从0线性缩放到65535,并编码为16位彩色图像。

• 遮 挡 帧 : 编 码 为8位 二 进 制 图 像 。 遮 挡 相 机 原点100毫米内其他网格面的像素被分配为255,所有其他像素被分配了0。

• 相机姿态:以均匀形式保存。

  对于每个视频序列,我们还提供:

• 3D模型:地面实况三角网格,存储为WavefrontOBJ文件。

• 覆盖图:二进制纹理,指示摄像机在视频序列中观察到哪些网格面(1=观察到,2=未观察到)。

  最 后 , 我 们 包 括 四 个 模 拟 筛 选 过 程 的 视 频 序 列 ,由20058帧和均匀形式的地面实况相机姿态组成。

五、讨论与结论

  这项工作提出了一种2D-3D配准方法,用于获取和配准体模结肠镜检查视频数据与地面真实表面模型。与
注册单个视图的传统2D-3D注册技术不同,这种方法对视频序列和测量的姿态进行操作。我们的结果表明,与注册单个帧相比,利用这种时间信息可以提高注册精度(图6)。为了避免由镜面反射和表面纹理引起的配准误差,我们将关键帧转换到深度域进行相似性评估。转换后的深度帧显示出尺度不一致(图7),这在GAN预测深度中很常见。我们发现,通过对齐从深度帧中提取的边缘特征,可以减少这种不一致性的影响,从而进一步提高配准精度(表4)。此外,我们的损失函数优于NCC和DICE等其他指标,同时计算成本也更低。
  我们还发现,中等和复杂轨迹的配准精度优于简单轨迹。一种可能的解释是用于对齐的独特边缘特征的数量增加,以及它们在中等和复杂轨迹的成像平面中的平移增加。在配准优化之前,对输入序列进行采样以生成一组关键帧,并且所有轨迹的关键帧数量都是恒定的(K=5)。虽然简单的轨迹仅包括主要在结肠长轴方向上的线性平移,但中等和复杂的轨迹还包括横向平移以及俯仰和偏航变化。复杂轨迹中的相机姿态比简单轨迹更加多样化,这导致对齐的边缘特征更加多样化。此外,与垂直于结肠轴的相机平移相比,平行于结肠主轴的相机简单线性平移会导致图像特征的位移小得多。
  这种配准方法用于生成C3VD,这是第一个结肠镜检查重建数据集,其中包括用配准的地面真相标记的真实结肠镜检查视频。与EndoSLAM数据集(Ozyoruk et al.,2021)不同,C3VD完全用HD临床结肠镜记录,包括深度、表面正常、闭塞和光流帧标签。虽然EndoSLAM使用安装在非管状支架上的真实猪组织,但我们选择管状体模模型来模拟几何形状逼真的管腔。通过使用真实的结肠镜进行记录,C3VD克服了渲染器模拟非全局照明、光散射和非线性后处理(Rau et al., 2022)的有限能力。与省略大部分角FoV的其他数据集相比,C3VD是第一个通过全向相机模型对整个结肠镜FoV进行建模的数据集。
  C3VD可用于验证SLAM重建算法的子组件,包括估计像素级深度、表面法线、光流和遮挡区域。地面实况表面模型和覆盖图可用于评估整个SLAM重建方法和技术,以识别遗漏区域。此外,3D模型资产是开源的,为渲染合成训练数据提供了CT结肠造影体积的更高分辨率替代方案。还提供了模具文件和制造协议,以便其他研究人员可以生产和修改幻影结肠模型。模拟筛查结肠镜检查视频可用于在具有真实范围运动的全序列上测试算法。
  所提出的方法有几个重要的局限性。需要精确的姿态测量来生成注册的视频序列,这些轨迹是通过将结肠镜安装到机器人手臂上来记录的。虽然这种方法能够提供几种其他形式的地面实况信息,但运动的范围和类型是有限的。此外,在视频采集过程中,体模模型必须保持静止,而结肠组织是灵活的、动态的,在成像过程中经常与内窥镜接触。最后,手眼校准中的小误差会累积,导致相机轨迹逐渐漂移。未来的工作可以通过调整数据采集协议和注册算法来改善这些局限性。更精确的射频位置传感器可以绕过机器人手臂施加的轨迹限制。通过共同优化模型变换和手眼变换,可以减少手眼校准误差。这种方法也可以与动态CT配对,类似于Stoyanovet al. (2010)使用可变形结肠模型生成视频数据。
  这里提出的C3VD数据集在多样性和范围方面也有重要局限性。未来的工作可以扩展这个数据集,以涵盖更多种类的内窥镜成像和组织状况。对于质量度量应用,如分数覆盖率,应开发具有各种遗漏区域的额外轨迹和结肠形状。将3D重建算法应用于结肠镜检查的挑战之一是松散的粪便和经常堵塞视野的碎片。为了模拟这些伪影,可以将人造粪便应用于硅胶模型,以涵盖不同水平的肠道准备质量。结肠镜的辅助喷水和抽吸系统可用于模拟视频中的肠道清洁和水下成像。同样,空气和水喷嘴可用于去除物镜上的碎屑。未来的数据集也可能受益于包括替代内窥镜系统和模式,如窄带成像(NBI)和染色内窥镜。还可以探索EndoCuff(Rex et al., 2018)等远端附件的使用及其对观察覆盖率的影响。最后,我们还设想生成地面真实数据,用于评估结构化照明Parot et al.(2013)和高光谱方法(Yoon et al., 2021)。这些方法的验证数据可能包括具有调谐光学散射和吸收特性的体模,以真实地模拟光与组织的相互作用(Ayers et al., 2008; Chenet al., 2019a; Sweer et al., 2019)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/900141.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

hadoop 集群的常用命令

# 查看HDFS目录内容 hadoop fs -ls /path # 创建目录 hadoop fs -mkdir /path/to/dir # 上传本地文件到HDFS hadoop fs -put localfile /hdfs/path # 下载HDFS文件到本地 hadoop fs -get /hdfs/path localfile # 查看文件内容 hadoop fs -cat /hdfs/path/file # 删除文件/…

MaxEnt物种分布建模全流程;R+ArcGIS+MaxEnt模型物种分布模拟、参数优化方法、结果分析制图与论文写作

融合R语言的MaxEnt模型具有以下具体优势: 数据处理高效便捷 📊强大的数据预处理功能:R语言提供了丰富的数据处理工具,能够轻松完成数据清洗、筛选、转换等操作,为MaxEnt模型提供高质量的输入数据。 🌐自动…

Java基础 4.4

1.方法快速入门 public class Method01 {//编写一个main方法public static void main(String[] args) {//方法使用//1.方法写好后,如果不去调用(使用),不会输出Person p1 new Person();p1.speak();//调用方法 p1.cal01();//调用计算方法1p1.cal02(10);…

Tiktok矩阵运营中使用云手机的好处

Tiktok矩阵运营中使用云手机的好处 云手机在TikTok矩阵运营中能够大幅提高管理效率、降低封号风险,并节省成本,是非常实用的运营工具。TikTok矩阵运营使用云手机有很多优势,特别是对于需要批量管理账号、提高运营效率的团队来说。以下是几个…

指针函数、函数指针和指针函数指针的全面总结

C中指针函数、函数指针和指针函数指针的全面总结 一、核心概念区别 概念本质声明示例核心特征指针函数返回指针的函数int* func(int);函数定义,返回值是指针类型函数指针指向函数的指针int (*ptr)(int);变量,存储函数地址指针函数指针指向指针函数的指…

CherryStudio MCP实战(一)filesystem篇

随着DeepSeek的爆火,各行各业都在围绕着大模型寻找新质量生产力。简单来说,DeepSeek像是人的大脑,他可以推理,帮你思考一些问题,但是具体要做一些事情的时候,他还需要“手脚”来协同。MCP(Model…

TCP基础篇(一)

文章目录 1.TCP 是如何保证可靠性的?2. 滑动窗口机制3 超时重传4.TCP 报文格式5. 什么是 TCP 协议5.1 如何唯一确定一个 TCP 连接 6.TCP 三次握手过程6.1 可以两次握手吗? 7.TCP 的四次挥手7.1 为什么客户端要等待2MSL? 8.linux 中查看 TCP 的连接9.TCP 为什么要有…

【Axure元件分享】时间范围选择器

时间范围选择器下拉选择开始时间和结束时间,实现效果如下。 源文件截图: 元件获取方式:

大模型学习一:deepseek api 调用实战以及参数介绍

一、说明 DeepSeek(杭州深度求索人工智能基础技术研究有限公司)是一家专注于大语言模型(LLM)研发的中国创新型科技公司,成立于2023年7月17日,由幻方量化孵化。其核心产品包括开源推理模型DeepSeek-R1、多模…

【Linux网络与网络编程】03.UDP Socket编程

一、UDP Socket编程接口 // 创建套接字 int socket(int domain, int type, int protocol); // 参数: // domain:域(协议家族),这里使用 AF_INET 表示进行网络编程 // type:网络通信传输的类型&#xff0…

linux gcc

一、常用编译选项 ​基本编译 gcc [input].c -o [output] ​示例: gcc hello.c -o hello # 将 hello.c 编译为可执行文件 hello ./hello # 运行程序 ​分步编译 预处理:-E(生成 .i 文件) gcc -E hello.c -o hello…

若依框架二次开发——RuoYi-AI 集成本地大模型

文章目录 前提条件1. RuoYi-AI 已成功部署并运行2. Ollama 本地大模型已安装1. 配置本地大模型2. 切换至本地模型3. 开始对话总结本文将详细介绍如何在 RuoYi-AI 中集成本地 Ollama 大模型,使系统能够在 离线环境 下提供智能对话能力。 前提条件 在开始集成本地大模型之前,…

Flask学习笔记 - 模板渲染

Flask 模板渲染 模板是包含占位符的 HTML 文件 Flask 使用 Jinja2 模板引擎来处理模板渲染。模板渲染允许你将动态内容插入到 HTML 页面中,使得应用能够生成动态的网页内容。 创建模板:将 HTML 文件放在 templates 文件夹中,使用 Jinja2 占…

解码 from XXX import * - 导入的真相

文章目录 前言一、 什么是 from XXX import *?二、基本用法:导入的实际效果三、默认行为:无 __all__ 的情况四、与直接运行 XXX.py 的对比示例模块使用 from XXX import *直接运行 python example.py关键差异五、为什么需要注意 from XXX import *?最佳实践六、实际应用场景…

JavaScript 中常见的鼠标事件及应用

JavaScript 中常见的鼠标事件及应用 在 JavaScript 中,鼠标事件是用户与网页进行交互的重要方式,通过监听这些事件,开发者可以实现各种交互效果,如点击、悬停、拖动等。 在 JavaScript 中,鼠标事件类型多样&#xff0…

Nacos注册中心AP模式核心源码分析(单机模式)

文章目录 概述一、客户端启动主线流程源码分析1.1、客户端与Spring Boot整合1.2、注册实例(服务注册)1.3、发送心跳1.4、拉取服务端实例列表(服务发现) 二、服务端接收请求主线流程源码分析2.1、接收注册请求2.1.1、初始化注册表2…

prism WPF 模块

模块 DLL ModuleA 和 ModuleB 都要安装 Prism.Unity 引用方式1 项目引用 直接 在引用中添加项目引用 App.xaml.cs 添加模块 ConfigureModuleCatalog using ModuleA; using ModuleB; using Prism.Ioc; using Prism.Modularity; using Prism.Unity; using PrismWpfApp.ViewMo…

CSS:换行与不换行

一、CSS 不允许换行 在 CSS 中,有几种方法可以控制文本不换行: 1. 使用 white-space 属性 .no-wrap {white-space: nowrap; } white-space: nowrap; 会强制文本在一行显示,不换行。 2. 使用 overflow 和 text-overflow 通常与 white-sp…

JavaScript BOM、事件循环

目录 BOM(浏览器对象模型) 一、window 对象 1. 窗口控制 2. 定时器 二、location 对象 三、navigator 对象 四、history 对象 五、screen 对象 六、本地存储 1. localStorage 2. sessionStorage 七、BOM 应用场景 八、总结 JavaScript 执行…

k8s运维面试总结(持续更新)

一、你使用的promethues监控pod的哪些指标? CPU使用率 内存使用率 网络吞吐量 磁盘I/O 资源限制和配额:Prometheus可以监控Pod的资源请求和限制,确保它们符合预设的配额,防止资源过度使用。具体指标如container_spec_cpu_quota用于…