Context-Aware Depth and Pose Estimation for Bronchoscopic Navigation翻译

news2024/11/17 9:25:01

文章目录

  • 摘要
  • 1.引言
  • 2. 相关工作
  • 3. 方法概述
    • 3.1. 基于CT数据的虚拟深度生成
    • 3.2. 基于视频帧的上下文感知深度估计
      • 3.3. 方法概述
        • 3.3.1. 从CT数据生成虚拟深度图
        • 3.3.2. 基于上下文感知的深度估计从视频帧中
        • 3.3.3. 相机姿态估计通过 2D/3D 配准
  • 4. 实验
    • 4.1. 数据集和基线
    • 4.2. 实现
    • 4.3. 验证与讨论
  • 5. 结论
  • 致谢

摘要

支气管内介入越来越多地被用作肺部介入的微创手段。基于视觉的定位方法通常对支气管镜视频中的图像伪影敏感。在本文中,提出了一种基于上下文感知深度恢复方法的鲁棒导航系统,用于单目视频图像。为了处理这些伪影,提出了一种条件生成对抗学习框架,以实现可靠的深度恢复。在活体数据集上验证了深度估计和摄像机定位的准确性。定量和定性结果表明,所提出方法恢复的深度在图像伪影存在的情况下更好地保留了气道腔体的结构信息,并且改进的摄像机定位精度展示了其在支气管镜导航中的临床潜力。

1.引言

近年来,支气管镜活检技术(如图1所示)在肺癌分期中相比传统的经皮肺穿刺活检(TTNA)正逐渐成为一种更受欢迎的方法[1]。TTNA常见的术后并发症包括气胸、出血和空气栓塞[2]。研究表明,支气管镜活检在诊断孤立性肺结节时的并发症发生率低于TTNA[1]。然而,由于视野受限,在复杂的气道网络中定位和操控柔性支气管镜依然是一个具有挑战性的任务。因此,开发有效的导航系统对于辅助支气管内介入治疗至关重要[1]。自动化支气管镜相机定位系统的关键在于估计手术过程中支气管镜相对于术前计算机断层扫描(CT)重建的气道模型的六自由度(6 DoF)位置和方向。这不仅可以帮助肺科医生,还可以帮助外科机器人平台[3][4]保持设备朝向目标气道位置的正确方向。

在这里插入图片描述
图1。支气管镜活检技术用于肺癌分期。

基于视频与CT配准和电磁(EM)跟踪的导航系统已被广泛研究,以辅助支气管镜相机定位[5]。基于视觉的技术的可靠性主要依赖于支气管镜视频和CT气道模型的质量,而EM技术则对传感器校准和场畸变较为敏感。相比于EM系统,基于视觉的框架具有成本低、无需额外设备安装以及对组织变形影响较小的优点[6]。此外,进行外周气道介入的支气管内设备直径理想情况下应小于2毫米[4],加入跟踪设备会给设备的小型化带来额外负担。本信件的重点是开发基于视觉的定位框架。已经开发了几种基于不同相似性度量的2D/3D配准方法用于支气管镜导航[6]-[9]。其中,基于深度图的方法[9]被证明相比于其他基于强度或梯度特征的方法对光照变化更具鲁棒性。然而,支气管镜图像的深度估计仍然具有以下挑战:1)传统的运动形状(SFM)技术在视野小且缺乏显著特征的情况下难以正确恢复深度;2)由于气道尺寸受限,目前仅广泛使用单目支气管镜,这使得基于立体相机设置的深度恢复方法不适用;3)由于手动对齐耗时且容易出错,难以获取匹配的体内视频帧和CT虚拟视图,而有监督的深度学习算法通常需要大量的标记数据;4)在实际临床场景中,如图2所示,由于患者剧烈咳嗽、快速操控支气管镜以及频繁的支气管冲洗,图像伪影如模糊和水泡可能会被引入,而现有的大多数方法对这些图像伪影可能非常敏感。

在这里插入图片描述
图2。样本清晰的视图和有图像伪影的帧。(a)颜色模糊,没有流明的遮挡。(b)气泡,没有管腔的阻塞。©气泡与闭塞。(d)彩色条纹。(e)雾状模糊物。(f)引起镜面反射的气泡。(g)重叠的阴影。(h)清晰的视图。

在本文中,我们提出了一种基于上下文感知深度估计的支气管镜导航框架,该框架可以从体内视频帧生成深度图,而无需配对的视频和CT深度图像。受到近年来生成对抗网络(GAN)[10],[11]发展的启发,引入了视图属性条件邻域扭曲来处理图像伪影造成的部分遮挡。然后,将视频帧的估计深度图CT数据生成的虚拟深度图进行配准,以估算相机的姿态。该导航框架在体内数据集上进行了验证。对视频图像的深度估计和支气管镜导航中的相机定位精度的评估表明,该方法具有良好的性能。

本文的其余部分组织如下:第二部分讨论了相关工作。第三部分介绍了所提出方法的详细信息。第四部分展示了实验结果,最后在第五部分进行总结。

2. 相关工作

当前的支气管镜导航系统大致可以分为三类,包括基于传感器的系统[12]、基于视觉的系统[6],[8],[9]以及混合系统[7],[13],[14]。外部跟踪设备如EM传感器可以集成到柔性内窥镜中,以报告实时的尖端姿态。然而,校准和复杂的设备设置会影响正常的临床工作流程,并且其对金属干扰和组织变形的敏感性可能导致跟踪失败[6]。

与基于传感器的导航系统相比,基于视觉的方法仅依赖于支气管镜视频,在视频帧与虚拟CT视图之间执行2D/3D配准,使用特定的相似性度量。基于图像的配准方法对呼吸运动更具鲁棒性,因为内窥镜会与气道同时移动[6]。相似性度量可以基于图像强度[6],[7]、梯度[8],[14]、深度[9]或气道腔特征[15],[16]。文献[6],[7]中提出的基于图像强度的相似性度量要求从CT气道模型生成逼真的渲染图像。然而,气管壁的表面纹理和光照条件难以恢复。为了避免使用图像强度,一些研究尝试将配准转化到pq空间[8],[14]或深度图[9]中,这些方法更独立于纹理,同时更好地保留了气道分叉的形态。由于基于像素的图像配准计算成本高,因此开发了更高效的基于气道腔检测的定位方法[15],[16],用于在可以观察到多个分叉的远端气道中进行导航。在这些方法中,基于深度的2D/3D配准对表面纹理不敏感,并且可以保留场景中丰富的形态信息。

最近,单目图像的深度估计已经通过几种有监督[17]-[19]或无监督[20],[21]的深度学习方法得到了研究。监督的深度恢复方法如[17]需要图像和深度数据之间的成对匹配,而支气管镜视频图像中很难获得这种匹配数据。为了解决这个问题,[18],[19]采用领域适应技术,将视频帧转换为无纹理图像,从而可以利用大量合成数据学习从渲染视图到深度图的映射。文献[18]提出的模型在气管模型数据上提供了良好的深度估计结果。Mahmood等人[19]在使用合成数据训练的模型上展示了在猪结肠内窥镜图像上保留结构的深度恢复效果。

此外,还提出了无监督方法[20],[21]用于不使用合成数据的单目深度估计。然而,[20]使用立体图像进行训练,这对支气管镜图像来说是不适用的。文献[21]提出了一种自监督方法,通过视图合成和运动形状(SFM)估计深度图和相机姿态。然而,SFM技术通常需要平滑的相机运动和丰富的视觉信息。内支气管表面上显著特征的缺乏和快速的内窥镜运动可能会限制其在支气管镜图像中的应用。

我们的工作还与近期的GAN模型发展相关[10],[11],[22]。Isola等人[22]将GAN适用于通用的图像到图像翻译框架,要求多个领域之间的精确对应。为了放松这一限制,Zhu等人[11]提出了一种基于循环一致性(CycleGAN)的无配对图像到图像翻译框架。这种无配对框架在从支气管镜视频生成深度图方面表现良好。然而,当存在伪影时,循环一致性无法总是得到保持。对于特定的视频帧,对应的深度图是唯一的,而逆变换则不是。同一气道位置的深度图可能与视野清晰或有伪影的视频帧匹配。为了解决这个问题,我们构建了互补条件来对支气管镜图像中的伪影进行建模。

在这里插入图片描述图3。(a)使用视频-ct配准的支气管镜导航的工作流程。基于GAN的(b)上下文感知深度估计。

3. 方法概述

本文提出的用于支气管镜导航的相机定位方法的工作流程如图3(a)所示,主要包括三个步骤:从CT气道模型的多个虚拟相机投影中提取深度图(见第III-A节);基于上下文感知生成对抗学习从单个支气管镜视频帧重建深度图(见第III-B节);以及估算相机姿态以最大化视频深度图与相应虚拟深度图之间的相似性(见第III-C节)。

3.1. 基于CT数据的虚拟深度生成

在术前采集胸部CT扫描数据,并使用ITK-SNAP [23]提供的3D主动轮廓分割方法对气管树进行3D分割。然后,使用气管分割结果计算3D气道网格。在给定特定相机姿态 p t p_t pt(一个在时间戳t处的6自由度向量)的情况下,通过建模具有与真实视频支气管镜相机相同内参的虚拟相机生成虚拟深度图 z C ( p t ) ∈ Z C z_C (p_t) \in Z_C zC(pt)ZC,其中 Z C Z_C ZC 是CT深度图集合。为了模拟所有可能的视角,虚拟相机姿态 p p p 被设置为沿着通过快速行进算法[24]计算的气道中心线,并控制一定程度的变化。由CT气道模型生成的虚拟深度图用于训练所提出的深度估计网络。

3.2. 基于视频帧的上下文感知深度估计

给定特定的支气管镜视频帧 x ∈ X x \in X xX,深度估计的目标是学习一个映射 G : X → Z G : X \rightarrow Z G:XZ,以生成相应的深度图。对于从时间步t的视频帧估计的合适深度图 z t = G ( x t ) z_t = G(x_t) zt=G(xt),它需要满足以下属性:

  1. z t z_t zt 的局部特征应与由CT气道网格生成的虚拟深度图 z C ∈ Z C z_C \in Z_C zCZC 相似。
  2. 深度图 z t z_t zt 应该能够提供足够的信息来指示 x t x_t xt 的分叉,例如,腔通常具有较大的深度。
  3. 深度图 z t z_t zt 不易受到伪影的影响。因此,同一气道位置的深度图可能会对应不同类型的图像伪影。
  4. 应保持连续视频帧 z t z_t zt z t − 1 z_{t-1} zt1 之间的视觉一致性。

上述属性启发我们构建了如图3(b)所示的上下文感知深度估计方法。通过解决包含以下损失项的学习框架,可以获得最佳的深度估计函数:

对抗损失: 为了避免基于手动配对数据学习映射 G Depth : X → Z G_{\text{Depth}} : X \rightarrow Z GDepth:XZ,我们引入逆映射 G Video : Z → X G_{\text{Video}} : Z \rightarrow X GVideo:ZX 以及分别识别真实深度和支气管镜帧的判别器 D Depth D_{\text{Depth}} DDepth D Video D_{\text{Video}} DVideo。按照对抗学习中的常规设置[10],对这两个映射函数应用对抗损失。

在这里插入图片描述
图4中展示了神经网络的架构,包括(a) 生成器,(b) 残差块,和© 判别器。“M × M conv (Na, Nb)” 表示一个具有M × M卷积核、Na个输入通道和Nb个输出通道的2D卷积层。“M × M deconv (Na, Nb)” 表示一个2D反卷积层。“IN” 表示实例归一化层。“ReLU” 表示ReLU激活函数。“BN” 表示批量归一化层。

3.3. 方法概述

图3(a)展示了用于支气管镜导航的相机定位方法的工作流程,主要包括三个步骤:从CT气道模型的多个虚拟相机投影中提取深度图(第III-A节);基于上下文感知生成对抗学习从单个支气管镜视频帧重建深度图(第III-B节);以及估计相机姿态以最大化视频深度图与相应虚拟深度图之间的相似性(第III-C节)。

3.3.1. 从CT数据生成虚拟深度图

术前进行胸部CT扫描,从中分割出3D支气管树,使用ITK-SNAP提供的3D主动轮廓分割方法[23]。然后,使用支气管分割结果计算3D气道网格。给定特定的相机姿态 p t p_t pt,这是一个在时间戳 t t t的6自由度向量,虚拟深度图 z C ( p t ) ∈ Z C z_C(p_t) \in Z_C zC(pt)ZC通过建模具有与实际视频支气管镜相同的内在参数的虚拟相机生成,其中 Z C Z_C ZC是CT深度图的集合。为了模拟所有可能的视角,虚拟相机姿态 p p p被设置为沿着气道中心线,中心线由快速行进算法[24]计算,并具有控制的变异量。生成的虚拟深度图用于训练所提出的深度估计网络。

3.3.2. 基于上下文感知的深度估计从视频帧中

给定特定的支气管镜视频帧 x ∈ X x \in X xX,深度估计的目标是学习一个映射 G : X → Z G : X \to Z G:XZ,以生成相应的深度图。对于从时间步 t t t的视频帧 x t x_t xt估计的正确深度图 z t = G ( x t ) z_t = G(x_t) zt=G(xt),它需要具备以下属性:

  1. z t z_t zt的局部特征应与由CT气道网格生成的虚拟深度图 z C ∈ Z C z_C \in Z_C zCZC相似。
  2. 深度图 z t z_t zt应具有指示 x t x_t xt分叉的能力,例如,腔道通常具有较大的深度。
  3. 深度图 z t z_t zt不应容易受到伪影的影响。因此,深度图可能对应于相同的气道位置,但具有不同类型的图像伪影。
  4. 应保留连续视频帧之间的深度图 z t z_t zt z t − 1 z_{t-1} zt1的视觉一致性。

上述属性启发我们构建了如图3(b)所示的上下文感知深度估计方法。通过解决学习框架获得最优深度估计函数,该框架包括以下损失项:

对抗损失: 代替基于人工配对数据学习映射 G Depth : X → Z G_{\text{Depth}} : X \to Z GDepth:XZ,我们采用无监督框架,引入逆映射 G Video : Z → X G_{\text{Video}} : Z \to X GVideo:ZX以及判别器 D Depth D_{\text{Depth}} DDepth D Video D_{\text{Video}} DVideo来分别识别真实深度和支气管镜帧。根据对抗学习的一般设置[10],对两个映射函数应用对抗损失:
G Depth , D Depth = arg ⁡ min ⁡ G Depth arg ⁡ max ⁡ D Depth L adv ( G Depth , D Depth ) = arg ⁡ min ⁡ G Depth arg ⁡ max ⁡ D Depth E z ∼ Z [ log ⁡ D Depth ( z ) ] + E x ∼ X [ log ⁡ ( 1 − D Depth ( G Depth ( x ) ) ) ] ( 1 ) \begin{aligned} G_{\text{Depth}}, D_{\text{Depth}} &= \arg \min_{G_{\text{Depth}}} \arg \max_{D_{\text{Depth}}} L_{\text{adv}}(G_{\text{Depth}}, D_{\text{Depth}}) \\ &= \arg \min_{G_{\text{Depth}}} \arg \max_{D_{\text{Depth}}} \mathbb{E}_{z \sim Z} \left[ \log D_{\text{Depth}}(z) \right] + \mathbb{E}_{x \sim X} \left[ \log (1 - D_{\text{Depth}}(G_{\text{Depth}}(x))) \right](1) \end{aligned} GDepth,DDepth=argGDepthminargDDepthmaxLadv(GDepth,DDepth)=argGDepthminargDDepthmaxEzZ[logDDepth(z)]+ExX[log(1DDepth(GDepth(x)))]1
其中 G Depth G_{\text{Depth}} GDepth尝试生成看起来与来自CT数据的真实深度相似的深度 G Depth ( x ) G_{\text{Depth}}(x) GDepth(x),而 D Depth D_{\text{Depth}} DDepth旨在区分合成样本 G Depth ( x ) G_{\text{Depth}}(x) GDepth(x)和真实样本 z ∈ Z z \in Z zZ。类似地,视频帧的对抗损失项 L adv ( G Video , D Video ) L_{\text{adv}}(G_{\text{Video}}, D_{\text{Video}}) Ladv(GVideo,DVideo)也定义为区分真实和合成数据。

循环一致性损失: 不同于监督方法,假设支气管镜帧的相应深度图在本工作中不可用。考虑到支气管镜帧和深度图共享的类似形态,良好的深度估计应能够恢复原始支气管镜帧,这在[11]中被形式化为循环一致性:
G Depth = arg ⁡ min ⁡ G Depth L cycle ( G Depth ) = arg ⁡ min ⁡ G Depth E x ∼ X [ ∥ x − G Video ( G Depth ( x ) ) ∥ ] ( 2 ) G_{\text{Depth}} = \arg \min_{G_{\text{Depth}}} L_{\text{cycle}}(G_{\text{Depth}}) = \arg \min_{G_{\text{Depth}}} \mathbb{E}_{x \sim X} \left[ \| x - G_{\text{Video}}(G_{\text{Depth}}(x)) \| \right](2) GDepth=argGDepthminLcycle(GDepth)=argGDepthminExX[xGVideo(GDepth(x))]2
其中最小化原始和恢复的支气管镜帧之间的误差。

为了避免偏差,循环一致性也适用于通过以下方式估计的视频帧:
G Video = arg ⁡ min ⁡ G Video L cycle ( G Video ) = arg ⁡ min ⁡ G Video E z ∼ Z [ ∥ z − G Depth ( G Video ( z ) ) ∥ ] ( 3 ) G_{\text{Video}} = \arg \min_{G_{\text{Video}}} L_{\text{cycle}}(G_{\text{Video}}) = \arg \min_{G_{\text{Video}}} \mathbb{E}_{z \sim Z} \left[ \| z - G_{\text{Depth}}(G_{\text{Video}}(z)) \| \right](3) GVideo=argGVideominLcycle(GVideo)=argGVideominEzZ[zGDepth(GVideo(z))]3

条件上下文损失: 尽管循环损失可以实现从深度图恢复视频帧,但它不能处理支气管镜图像中的伪影。深度图可能对应于相同的气道位置,但具有不同类型的伪影。因此,我们将视频帧 x x x标记为视图属性 a a a以指示伪影的存在。对于 c c c种伪影,视图属性是一个 c + 1 c + 1 c+1维的独热编码向量,其中 a 1 = 1 a_1 = 1 a1=1表示当前视频帧视图清晰,而 a i = 1 , i = 2 , … , c + 1 a_i = 1, i = 2, \ldots, c + 1 ai=1,i=2,,c+1表示具有特定伪影的视频帧。在我们的体内数据集中,26.22%的支气管镜视频图像具有伪影。伪影帧被选择并手动标注为七个不同的视图属性组( c = 7 c = 7 c=7)。9%的视图完全遮挡的视频帧被排除在本文之外。图2展示了具有伪影和清晰视图的样本图像。通过接受视图属性作为输入,生成器 G Video G_{\text{Video}} GVideo生成具有特定伪影的合成视频帧和深度图如下:
G Depth = arg ⁡ min ⁡ G Depth L condition ( G Depth ) = arg ⁡ min ⁡ G Depth E x ∼ X , a [ ∥ x − G Video ( G Depth ( x , a ) ) ∥ ] ( 4 ) G_{\text{Depth}} = \arg \min_{G_{\text{Depth}}} L_{\text{condition}}(G_{\text{Depth}}) = \arg \min_{G_{\text{Depth}}} \mathbb{E}_{x \sim X, a} \left[ \| x - G_{\text{Video}}(G_{\text{Depth}}(x, a)) \| \right](4) GDepth=argGDepthminLcondition(GDepth)=argGDepthminExX,a[xGVideo(GDepth(x,a))]4
G Video G_{\text{Video}} GVideo上,循环一致性也扩展为:
G Video = arg ⁡ min ⁡ G Video L condition ( G Video ) = arg ⁡ min ⁡ G Video E z ∼ Z , a [ ∥ z − G Depth ( G Video ( z , a ) ) ∥ ] ( 5 ) G_{\text{Video}} = \arg \min_{G_{\text{Video}}} L_{\text{condition}}(G_{\text{Video}}) = \arg \min_{G_{\text{Video}}} \mathbb{E}_{z \sim Z, a} \left[ \| z - G_{\text{Depth}}(G_{\text{Video}}(z, a)) \| \right](5) GVideo=argGVideominLcondition(GVideo)=argGVideominEzZ,a[zGDepth(GVideo(z,a))]5

此外,我们还扩展了判别器 D Video D_{\text{Video}} DVideo以识别视图属性。除了区分真实和合成数据, D Video D_{\text{Video}} DVideo还设计为识别视频帧的视图属性如下:
D Video = arg ⁡ min ⁡ D Video L att ( D Video ) = arg ⁡ min ⁡ D Video − E x ∼ X , a [ log ⁡ D Video ( a ∣ x ) ] − E z ∼ Z , a [ log ⁡ D Video ( a ∣ G Video ( z , a ) ) ] ( 6 ) D_{\text{Video}} = \arg \min_{D_{\text{Video}}} L_{\text{att}}(D_{\text{Video}}) = \arg \min_{D_{\text{Video}}} - \mathbb{E}_{x \sim X, a} \left[ \log D_{\text{Video}}(a|x) \right] - \mathbb{E}_{z \sim Z, a} \left[ \log D_{\text{Video}}(a|G_{\text{Video}}(z, a)) \right](6) DVideo=argDVideominLatt(DVideo)=argDVideominExX,a[logDVideo(ax)]EzZ,a[logDVideo(aGVideo(z,a))]6
这通过在原始判别器上添加另一个分类输出来实现。

连续变形损失: 考虑到连续帧 x t x_{t} xt x t − 1 x_{t-1} xt1,它们对应的深度图 z t z_{t} zt z t − 1 z_{t-1} zt1也应具有类似的空间变换。设 F ( x t − 1 , x t ) F(x_{t-1}, x_{t}) F(xt1,xt)表示 x t − 1 x_{t-1} xt1 x t x_{t} xt之间的流动图,它测量了连续帧的空间变换。因此,变形相似性可以通过以下方式保留:
G Depth = arg ⁡ min ⁡ G Depth L warp ( x t − 1 , x t ) = arg ⁡ min ⁡ G Depth [ ∥ x t − S ( x t − 1 , F ( x t − 1 , x t ) ) ∥ + ∥ G Depth ( x t ) − S ( G Depth ( x t − 1 ) , F ( x t − 1 , x t ) ) ∥ ] ( 7 ) G_{\text{Depth}} = \arg \min_{G_{\text{Depth}}} L_{\text{warp}}(x_{t-1}, x_{t}) = \arg \min_{G_{\text{Depth}}} \left[ \| x_{t} - S(x_{t-1}, F(x_{t-1}, x_{t})) \| + \| G_{\text{Depth}}(x_{t}) - S(G_{\text{Depth}}(x_{t-1}), F(x_{t-1}, x_{t})) \| \right](7) GDepth=argGDepthminLwarp(xt1,xt)=argGDepthmin[xtS(xt1,F(xt1,xt))+GDepth(xt)S(GDepth(xt1),F(xt1,xt))]7
其中 S ( ⋅ , ⋅ ) S(\cdot, \cdot) S(,)是空间变换函数[25]。

在这里插入图片描述图5。在连续的视频帧之间的图像扭曲的三种场景。(a)xt−1和xt都是清晰的视图。(b)xt−1是清晰的视图,但xt是与工件。©xt−1和xt都带有工件。

在这里插入图片描述
图6。三个例子的注册视频帧和CT深度图使用所提出的方法和基线。(a)是一个清晰的视角;(b)&©是具有图像伪影的帧。上行显示视频帧和各方法恢复的深度图,下行显示地面真实CT深度图和各方法注册的CT深度图。

然而,由于图像伪影的存在,连续视频帧之间的图像变换并不总是能够适应深度图。如图5所示,具有清晰视图的连续帧容易进行变形。对于不同类型的伪影状态的图像,对深度图的任意约束可能导致奇异结果。对于具有相同伪影类型的相邻帧,由于伪影区域的变化较大,变形误差在较小的权重下被最小化。因此,最终的变形误差被公式化如下:
L warp = λ ( x t − 1 , x t ) L warp ( x t − 1 , x t ) , L_{\text{warp}} = \lambda(x_{t-1}, x_{t}) L_{\text{warp}}(x_{t-1}, x_{t}), Lwarp=λ(xt1,xt)Lwarp(xt1,xt),
其中
λ ( x t − 1 , x t ) = { 1 if  a t = 1  and  a t − 1 = 1 , 0 if  a t = a t − 1 , γ otherwise . \lambda(x_{t-1}, x_{t}) = \begin{cases} 1 & \text{if } a_{t} = 1 \text{ and } a_{t-1} = 1, \\ 0 & \text{if } a_{t} = a_{t-1}, \\ \gamma & \text{otherwise}. \end{cases} λ(xt1,xt)= 10γif at=1 and at1=1,if at=at1,otherwise.
其中,本文中 γ = 0.01 \gamma = 0.01 γ=0.01以实现最佳性能。

总体损失: 通过将损失项组合成统一的学习框架,最终的优化问题被公式化如下:
D Depth = arg ⁡ max ⁡ D Depth L adv ( D Depth ) , D_{\text{Depth}} = \arg \max_{D_{\text{Depth}}} L_{\text{adv}}(D_{\text{Depth}}), DDepth=argDDepthmaxLadv(DDepth),
D Vido = arg ⁡ max ⁡ D Depth L adv ( D Vido ) − L att ( D Vido ) , D_{\text{Vido}} = \arg \max_{D_{\text{Depth}}} L_{\text{adv}}(D_{\text{Vido}}) - L_{\text{att}}(D_{\text{Vido}}), DVido=argDDepthmaxLadv(DVido)Latt(DVido),
G Depth , G Vido = arg ⁡ min ⁡ G Vido , G Depth [ L condition ( G Depth ) + L condition ( G Vido ) + L adv ( G Vido ) + L adv ( G Depth ) + L warp ( G Depth ) ] . G_{\text{Depth}}, G_{\text{Vido}} = \arg \min_{G_{\text{Vido}}, G_{\text{Depth}}} \left[ L_{\text{condition}}(G_{\text{Depth}}) + L_{\text{condition}}(G_{\text{Vido}}) + L_{\text{adv}}(G_{\text{Vido}}) + L_{\text{adv}}(G_{\text{Depth}}) + L_{\text{warp}}(G_{\text{Depth}}) \right]. GDepth,GVido=argGVido,GDepthmin[Lcondition(GDepth)+Lcondition(GVido)+Ladv(GVido)+Ladv(GDepth)+Lwarp(GDepth)].

表一
关于深度估计、导航和时间效率的定量评价。“v”表示视频帧。“d”表示深度贴图。“c”表示视频帧和深度地图之间的精确对应关系。“sr-n”表示注册小于N MM的视频帧的百分比。“fps”表示每秒的帧数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

图7。每种方法在x、y、z轴上对其中一个测试视频序列的注册摄像机轨迹。

模型以交替的方式进行训练。在每次迭代中,首先固定生成器以获得最优的 D Vido D_{\text{Vido}} DVido D Depth D_{\text{Depth}} DDepth。然后固定鉴别器以获得最优的 G Vido G_{\text{Vido}} GVido G Depth G_{\text{Depth}} GDepth

3.3.3. 相机姿态估计通过 2D/3D 配准

对于连续的相机定位,在生成输入视频帧 x t x_t xt 的深度图 z t z_t zt 后,通过最大化视频深度图 z t z_t zt 和虚拟 CT 深度图的相似性来估计相机姿态 p t p_t pt。给定前一视频帧 x t − 1 x_{t-1} xt1 的相机姿态 p t − 1 p_{t-1} pt1 作为初始化,最优姿态 p t p_t pt 是通过类似于 [9] 中描述的策略来确定的,如公式 (9) 所示:
p t = p t − 1 + Δ p t ∣ t − 1 p_t = p_{t-1} + \Delta p_{t|t-1} pt=pt1+Δptt1
Δ p t ∣ t − 1 = arg ⁡ max ⁡ Δ p t ∣ t − 1 { SIM ( z t , z C ( p t − 1 + Δ p t ∣ t − 1 ) ) } \Delta p_{t|t-1} = \arg \max_{\Delta p_{t|t-1}} \{ \text{SIM}(z_t, z_C(p_{t-1} + \Delta p_{t|t-1})) \} Δptt1=argΔptt1max{SIM(zt,zC(pt1+Δptt1))}
其中 SIM ( ⋅ , ⋅ ) \text{SIM}(\cdot, \cdot) SIM(,) 是深度图之间的相似性度量。在本文中,我们使用归一化互相关 (NCC) 作为深度图之间的相似性度量 [9]。每个相机姿态变化 Δ p t ∣ t − 1 \Delta p_{t|t-1} Δptt1 对应一个唯一的 CT 深度图 z C z_C zC。通过最大化 z t z_t zt z C z_C zC 之间的 NCC 来估计最优的姿态变化 Δ p t ∣ t − 1 \Delta p_{t|t-1} Δptt1。由于目标函数不是完全可微的,因此采用了 Powell 方法 [26] 作为优化策略。抛物线拟合步骤的最大放大倍率设置为 100。连续区间的默认放大比率设置为 1.62。

4. 实验

4.1. 数据集和基线

所提出的框架在体内数据上进行了验证。CT 扫描的体素间距为 [0.4, 0.4, 0.5] mm,由 Siemens SOMATOM Definition Edge CT 扫描仪获取。使用 Olympus BF-1T260 支气管镜捕获的尺寸为 307 × 313,帧率为 30 fps 的视频。数据是在标准临床常规中获取的。数据集属于 Hamlyn 肺和支气管镜数据库(Hamlyn Centre, Imperial College),该数据库经过研究伦理委员会的伦理审批(REC 参考编号:16/LO/0170,IRAS 项目 ID:198081),位于英国伦敦。我们使用了来自两个受试者的配对 CT 扫描和支气管镜视频进行训练,另一个受试者的数据用于测试。

为了进行比较,我们采用了 Shape from Shading (SFS) [27]、监督 FCN [28]、SFM [21] 和 CycleGAN [11] 作为基线。监督 FCN 基于残差块,并使用 350 张手动配对的 CT 深度图和视频图像进行训练。由于体内数据中的变形和伪影,具有精确对应的配对数据数量有限。为了训练 SFM 网络,我们使用光流选择了 1520 张具有平滑相机运动的视频帧。我们使用 2951 张视频帧和 7200 张 CT 深度图来训练 CycleGAN 和所提出的方法。测试时,使用了两个视频序列,共 180 张视频帧,并对应注册的相机姿态和 CT 深度图。

在这里插入图片描述
图8。注册的测试视频序列的方法和基线与地面真实比较。

4.2. 实现

在本文中,生成器被构建为基于 U-Net [29] 架构的全卷积神经网络,如图 4(a) 所示。我们用一个六层的 ResNet 块(图 4(b))[30] 替换了原始的瓶颈块,以编码丰富的信息。鉴别器是基于 PatchGAN(图 4©)[22] 的多层卷积网络,用于在多个尺度上识别真实数据。

我们使用 Adam 求解器 [31],批量大小为 1。采用 Pytorch‡ 框架来实现深度卷积神经网络,实验平台为配备 Xeon E5-2630 和 NVIDIA GeForce Titan Xp 的工作站。

4.3. 验证与讨论

我们比较了所提出的方法和基线方法在深度估计质量和相机定位准确性方面的表现。

图 6 展示了从三个示例视频帧恢复的深度图以及由基线方法和所提出的方法估计的注册 CT 深度图。对于清晰视图,如图 6(a) 所示,所有方法都能合理地恢复整体深度图,除 SFM 外,其他方法能够正确地恢复分叉的大小和位置。SFM 方法在支气管镜视频图像上的表现较差,因为支气管镜的操控速度快且不稳定。与相机以相对恒定速度移动的室外数据集不同,支气管镜在所有方向上都有较大的平移和旋转运动。SFS 基于兰伯特表面模型,虽然能够正确估计腔体的位置,但对腔体边界的估计不准确。FCN 方法的性能受限于配对数据的数量较少和视频图像中的大范围组织变形。对于如图 6(b) 和 © 所示的有伪影的帧,其他所有基线方法都受到影响,而所提出的方法估计的深度图仍保持了良好的腔体结构。

我们使用峰值信噪比 (PSNR)、结构相似性 (SSIM)、NCC 和互信息 (MI) 等相似性度量来评估注册 CT 深度图与对应的真实 CT 深度图之间的相似性。所有方法的测量结果见表 I。所有相似性度量指标都表明,与对应的真实 CT 深度图相比,所提出的深度估计方法生成了最准确的注册 CT 深度图。定量结果与图 6 中的观察一致。† 表 I 还展示了所提出方法和基线方法在相机定位准确性和时间效率方面的定量评估结果。图 7 展示了每种方法在其中一个测试视频序列上的注册轨迹,图 8 展示了相应的注册 CT 虚拟渲染。计算了绝对跟踪误差 (ATE) 和成功注册的视频帧的百分比,以评估相机定位准确性。凭借令人满意的视频深度估计结果,所提出的方法在定位准确性方面优于基线方法,具有最小的 ATE 和最高的成功注册视频帧数。总体而言,所提出的上下文感知深度估计方法能够恢复清晰的分叉结构特征,无论是在有图像伪影还是没有伪影的视频帧中。

SFM 方法无法从视频帧中恢复正确的气道结构,导致相机定位早期失败。SFS、FCN 和 CycleGAN 方法可以估计无图像伪影图像的结构特征,但任何气泡和模糊的存在都会影响它们在连续相机跟踪中的性能。我们提出的上下文感知深度估计方法考虑了图像伪影的影响,使得相机定位框架更加鲁棒。通过留一法策略验证了所提出方法的泛化性能。其他两个数据拆分的深度估计性能没有显著变化(PSNR=33.49±2.49,39.59±2.69)。除了 SFS 之外,基于深度神经网络的深度估计方法在实时支气管镜导航中都有良好的时间效率。由于当前优化算法的效率有限,视频-CT 注册过程的帧率不够。未来将引入 GPU 加速,以减少视频-CT 注册所需的处理时间。

5. 结论

总之,我们提出了一种上下文感知的深度估计方法,用于支气管镜导航,具有良好的图像伪影容忍度。带有循环一致性的条件生成对抗网络能够从未配对的数据中学习真实深度图的特征。对从临床支气管镜例程中收集的体内数据的验证结果表明,与基线方法相比,我们提出的方法表现优越。我们的方法能够从视频帧中生成深度图,即使在图像伪影部分遮挡的情况下,也能编码分叉的大小和存在的结构特征。其对图像伪影的抗干扰能力极大地提高了导航框架在临床应用中的鲁棒性。

致谢

作者感谢英国皇家布朗普顿医院的 P. Shah 教授在开发 Hamlyn 肺和支气管镜数据库方面的合作。

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

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

相关文章

【无标题】【Datawhale X 李宏毅苹果书 AI夏令营】批量归一化

1、批量归一化的作用 批量归一化(Batch Normalization,BN)的把误差曲面变得平滑,使训练能够得到快速收敛; 训练过程的优化:使用自适应学习率等比较进阶的优化训练方法; 训练对象的优化&#xf…

基于协同过滤算法商品推荐系统设计与实现

协同过滤算法商品推荐系统设计与实现 摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装协同过滤算法商品推荐…

v-bind后面不加属性和v-bind的动态属性

v-bind 平常常见的用法我们应该都知道&#xff0c;说一说 v-bind 的不常用的方式&#xff0c;第一个就是 v-bind 后面直接不添加任何属性&#xff0c;此时会将一个对象的所有 property 都作为 prop 传入 先看官网的说法案例&#xff1a; 父组件&#xff1a; <templat…

海外合规|新加坡网络安全认证计划简介(二)-Cyber Essentials

一、 认证简介&#xff1a; Cyber Essentials 标志是针对开始网络安全之旅的组织的网络安全认证。它针对的是中小企业 (SME) 等组织。一些中小企业的 IT 和/或网络安全专业知识和资源有限&#xff1b;Cyber Essentials 标志旨在使他们能够优先考虑必要的网络安全措施&#xff…

C++ | Leetcode C++题解之第390题消除游戏

题目&#xff1a; 题解&#xff1a; class Solution { public:int lastRemaining(int n) {int a1 1;int k 0, cnt n, step 1;while (cnt > 1) {if (k % 2 0) { // 正向a1 a1 step;} else { // 反向a1 (cnt % 2 0) ? a1 : a1 step;}k;cnt cnt >> 1;step …

如何将pdf文档翻译英语?4招教会你

在全球化的商业环境中&#xff0c;与海外客户沟通是常态。 当你需要将pdf文档翻译成英语时&#xff0c;会怎么做呢&#xff1f;是上网查找翻译工具还是求助同事完成翻译任务&#xff1f; 其实我有更好的解决办法&#xff0c;可以通过一些免费且实用的技巧&#xff0c;可以帮助…

安卓13删除app 链接库警告弹窗Detected problems with app native

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码修改彩蛋1.前言 有些客户的APP,打开首次会弹窗提示窗口, Detected problems with app native libraries (please consult log for detail):,需要删除这个窗口,避免挡住用户APP。而且这个提示有些app是以t…

上海亚商投顾:深成指、创业板指均涨超1%,华为产业链反复活跃

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 大小指数昨日走势分化&#xff0c;沪指全天震荡调整&#xff0c;2800点失而复得&#xff0c;深成指、创业板指…

如何用W外链创建一个永久不变的活码?

"W外链"这个术语不是一个标准的技术术语&#xff0c;因此我假设你可能是指的是“外链”或者“网址链接”的活码。活码的优势在于它可以提供一个永久不变的二维码&#xff0c;而背后的链接或内容可以灵活地进行更新和修改。以下是创建活码的一般步骤和优势&#xff1a…

PCI Express 体系结构导读摘录

系列文章目录 文章目录 系列文章目录术语第Ⅰ篇  PCI 体系结构概述第 1 章  PCI 总线的基本知识1. 1  PCI 总线的组成结构1. 1. 1  HOST 主桥1. 1. 2  PCI 总线1. 1. 3  PCI 设备1. 1. 4  HOST 处理器1. 1. 5  PCI 总线的负载 1. 2  PCI 总线的信号定义1. 2. 1  地址…

web前端-网页

一、网页 1.网页 网站是指在因特网上根据一定的规则&#xff0c;使用 HTML等制作的用于展示特定内容相关的网页集合。 网页是网站中的一“页”&#xff0c;通常是 HTML格式的文件&#xff0c;它要通过浏览器来阅读。 网页是构成网站的基本元素,它通常由图片、链接、文字、声…

作为中级前端工程师,每天都做些什么?

一直以来都没有记录或总结过自己每天工作模式和状态&#xff0c;以至于说回想起刚毕业参加工作的时候&#xff0c;作为一个初级开发&#xff0c;做事凭借着满腔热情&#xff0c;花的时间多&#xff0c;但成长是否成正比呢? 今天分享一下自己当前的工作状态&#xff0c;其一是…

实验二 Java基础语法练习

实验目的及要求 目的&#xff1a; 掌握各种变量的声明方式掌握Java的基本数据类型、运算符与表达式的使用方法。理解Java的程序语法结构&#xff0c;掌握顺序结构、选择结构和循环结构语法的程序设计方法。通过以上内容&#xff0c;掌握Java语言的编程规则 要求&#xff1a; …

聚鼎装饰画:装饰画新手多久才能做起来

在艺术的海洋中&#xff0c;装饰画以其独特的魅力吸引着无数初学者的目光。然而&#xff0c;对于刚刚踏入这一领域的新手来说&#xff0c;一个共同的疑问往往萦绕在心头&#xff1a;多久才能在装饰画的世界中找到自己的一席之地? 一般而言&#xff0c;掌握装饰画的基本技巧并不…

二开PHP泛目录生成源码 可生成新闻页面和关键词页面——码山侠

PS 本资源提供给大家学习及参考研究借鉴美工之用&#xff0c;请勿用于商业和非法用途&#xff0c;无任何技术支持&#xff01; 下载i5i.net 泛目录可以用来提升网站收录和排名 合理运用目录可以达到快速出词和出权重的效果 程序小 基本的服务器都带的得动 打开i5i.net——…

开源网安引领AIGC+开发安全,智能防护铸就软件安全新高度

近日&#xff0c;国内网络安全领域知名媒体数说安全正式发布了《2024年中国网络安全市场100强》和《2024年中国网络安全十大创新方向》。开源网安凭借在市场表现力、资源支持力以及产品在AI方向的创新力上的优秀表现成功入选百强榜单&#xff0c;并被评为“AIGC开发安全”典型厂…

vue脚手架路由快速入门

这里写目录标题 路由 router路由插件的引用离线在线CDN 单独路由使用案例项目中如何定义路由1\安装路由2\创建路由文件router.js以及创建相关文件3\应用插件main.js4\实现切换<router-link></router-link>5\展示位置 <router-view></router-view> 嵌套…

【渗透测试专栏】1.1认证和授权类-任意文件下载

该系列专栏旨在让漏洞检测变得更简单&#xff0c;只用于学习用途 靶机环境请看专栏前言专栏前言-WooYun漏洞库环境搭建-CSDN博客 一、漏洞描述 任意文件下载漏洞是指应用程序在实现文件下载功能时&#xff0c;由于对用户输入的文件路径等参数未进行严格的过滤和校验&#xf…

RAG技术架构与实现原理

本文详细解析了RAG技术&#xff0c;包括其定义、作用、技术架构和检索模块的实现与优化&#xff0c;全面展示了RAG在自然语言处理中的重要性和广泛应用前景。 关注TechLead&#xff0c;复旦AI博士&#xff0c;分享AI领域全维度知识与研究。拥有10年AI领域研究经验、复旦机器人智…

Java_jdk安装配置~java入门

目录 0.总体介绍 1.入门介绍 2.官网 3.关于版本的问题 4.环境变量配置 5.编码修改 6.创建项目 0.总体介绍 下面的这个情况比较复杂&#xff0c;因为遇到了一些别人没有遇到的问题&#xff0c;我会把自己遇到这个问题&#xff0c;到解决这个问题的过程尽可能详细的展示出…