Dense Depth Estimation in Monocular Endoscopy with Self-supervised Learning Methods

Xingtong Li, Ayushi Sinha, Masaru Ishii, Gregory D. Hager, Fellow, IEEE, Austin Reiter,
Russell H. Taylor, Fellow, IEEE, and Mathias Unberath
摘要——我们提出一个自监督的方法用来稠密地估计深度,这个模型利用单目内窥镜数据而不用一个解剖学和造影的先验模型。我们的方法只需要单目内窥镜视频和多视点立体视觉方法以稀疏的方式监督学习,例如从运动得到结构。因此,我们的方法在训练和应用阶段既不需要人工标记,也不需要患者计算机断层扫描(CT)。在以CT扫描为基础的跨患者实验中,该方法实现了亚毫米的平均残差。在一项比较研究中,将近期在自然视频自监督深度估计方法设计在体内窦内窥镜数据中,我们证明了我们提出的方法比以前的方法有很大的优势。这项工作的源代码可以在https://github.com/lppllppl920/endoscopydepthestiming-pytorch上找到。

1.简介

头部和颈部的微创手术,比如在功能性内窥镜鼻窦手术中,通常使用手术导航系统为外科医生提供额外的解剖学和位置信息。这有助于他们避开关键的结构,这些结构在空间上靠近窦腔并且在手术中不能被干扰,如大脑、眼睛和大动脉。基于计算机视觉的导航系统依赖于术中内窥镜视频流,不需要引入额外的硬件,既易于集成到临床工作流程中,又具有成本效益。此类系统通常需要将术前数据(如CT扫描或统计模型)配准到术中视频数据[1][4]。这种配准必须具有较高的精度,以保证导航系统的可靠性能。为了实现准确的配准,一种基于特征的视频- CT配准算法需要精确且足够稠密的内镜视频手术三维重建。由于镜面反射率、缺乏跨框架的光度恒常性、组织变形等问题,获得这样的重建并非易事。

1-A贡献

在这篇论文中,我们在之前的工作[5]的基础上,提出了一种用于单帧稠密深度估计的自监督学习方法。我们的贡献如下:(1)据我们所知,这是第一个在训练和应用阶段都只需要单目内窥镜图像的基于深度学习的稠密深度估计方法。特别是,它既不需要任何手动数据标记、缩放,也不需要任何其他成像方式,如CT。(2)提出了几种新的网络损失函数和网络层,他们利用传统多视点立体视觉方法中的信息,在不要求光度恒常性的情况下,增强视频帧之间的几何关系。(3)我们证明我们的方法可以很好地在不同的患者和内窥镜相机中推广。

1-B相关工作

在内窥镜检查中,已经探索了几种估算深度的方法。这些方法可以分为传统的多视点立体视觉算法和基于全监督学习的方法。

在特征丰富的场景中,多视点立体视觉方法(如来自运动的结构(SfM)[1]和同步定位与映射(SLAM)[6])能够在估计相机姿态的同时,对三维结构进行重建。然而,内窥镜解剖图像特征的缺乏会导致这些方法产生稀疏和不均匀分布的重建。这个缺点反过来会导致不准确的配准。Mahmoud等人提出了一种基于准稠密SLAM的方法,该方法从最先进的SLAM系统[7]中探索稀疏重建的局部信息。该方法对经典SLAM系统的稀疏重构进行了密集处理,具有较高的精度。然而,由于图像块的归一化交叉相关匹配,该方法对超参数具有潜在的敏感性。

卷积神经网络(CNN)在高复杂度问题中显示出良好的效果,包括一般场景深度估计[8]在内,[8]从局部和全局上下文信息和多层表示中获益。然而,在内窥镜视频中以完全监督的方式使用CNN是具有挑战性的,因为很难获得与真实内窥镜图像直接对应的稠密的地面真值深度图。有几个基于模拟的工作试图解决这一挑战,他们通过训练从病人特定的CT数据生成的合成稠密深度图。Visentini-Scarzanella等人使用CT数据的无纹理内窥镜视频模拟来训练一个完全监督的深度估计网络,并依靠另一个转码器网络将真实的视频帧转换为用于深度预测[9]所需的纹理无关的帧。这种方法需要对狭窄的管状结构进行内镜光度校准和复杂配准。此外,目前还不清楚这种方法是否适用于活体图像,因为验证仅限于两个肺结节。Mahmood等人从CT数据中模拟成对的彩色图像和稠密深度图,用于深度估计网络训练。在应用阶段,他们使用生成对抗网络将真实的内窥镜图像转换成类似于模拟的图像,然后将其输入到经过训练的深度估计网络[10]。在他们的工作中,通过简单地模仿模拟图像的外观,但不知道目标任务(如深度估计),对转换网络单独训练,这可能导致性能下降到不正确的深度估计。除了基于模拟的方法,基于硬件的解决方案的存在可能是有利的,因为它们通常不依赖于术前成像方式[11],[12]。然而,将深度或立体相机纳入内窥镜是具有挑战性的,即使有可能,由于组织的非朗伯反射特性和特征的缺乏,这些相机仍然可能无法从内镜场景中获得足够稠密和准确的深度图,用于进行完全监督训练。

在计算机视觉领域[13][16]中,提出了几种用于单帧深度估计的自监督方法。然而,根据我们的观察和实验,由于以下几个原因,这些方法不适用于内窥镜检查。首先,在他们的工作中假定的帧间光度恒常性在内窥镜检查中是不可用的。相机和光源是共同运动的,因此,在不同的相机姿势下,同一解剖结构的外观可能会发生很大的变化,特别是在靠近相机的区域。其次,根据[15]的观察,基于外观的翘曲损失受到梯度局部性的影响。这可能导致网络训练陷入糟糕的局部极小值,特别是对于没有纹理的区域。与自然图像相比,内窥镜检查中观察到的组织整体上更稀少、质地更均匀,使得网络从光度学外观获取可靠信息变得更加困难,如鼻窦内窥镜和结肠镜检查。此外,从单目图像估计全局尺度本身就是模糊的[17]。在自然图像中,尺度可以通过对普通物体大小的先验知识来估计,但在内窥镜检查中没有这样的视觉线索,特别是在没有仪器的图像中。因此,试图将估计深度和相机姿态与正确的全局尺度的联合是不大可能工作在内窥镜。

上述第一点和第二点表明,最近的自监督方法不能使网络在没有照明恒常性的成像模式中捕获空间或时间维度的长期相关性,如内窥镜检查。另一方面,传统的多视点立体视觉方法(如SfM)能够利用照度不变的特征描述符(如尺度不变特征变换SIFT),显式地捕获长程通信和全局优化(光束法平差)。我们认为基于SfM的稀疏重建估计和相机姿态估计是有价值的,应纳入单目深度估计的网络训练中。我们提出了新的网络损失函数和层,他们使来自SfM的信息能够集成,并加强不同视点深度预测之间的固有几何约束。由于这种方法考虑了相对的摄像机和场景的几何形状,所以它不假定光照恒定。这使得我们的整体设计适合于光稳定性无法保证的场景。由于基于单目相机的全局尺度估计方法存在固有的困难,我们选择只估计全球尺度下的深度地图。这不仅使SfM的结果能够自监督学习,真实的全局范围的尺度无法估计,而且使训练有素的网络可推广到不同的病人和范围的相机,这是由我们的实验证实。在第二部分中,我们将介绍我们在数据准备、网络架构和损失设计方面的方法。实验设置和结果在第三节中进行了演示,我们证明了我们的方法在不可见的病人和摄像机上是有效的。此外,我们的方法在体内窦内窥镜数据上比最近的两种自我监督深度估计方法有很大的优势。在第四部分和第五部分,我们讨论了我们工作的局限性和未来探索的方向。

2.方法

在本节中,我们描述了在单目内窥镜中使用来自SfM的稀疏自监督信号训练卷积神经网络用于稠密深度估计的方法。我们解释了如何从单目内窥镜视频中提取自监督信号,并介绍了我们的新网络结构和损失函数,使基于这些信号的网络训练成为可能。整体训练架构如图1所示,本节将介绍所有概念。总的来说,网络训练依靠损失函数以梯度的形式反向传播有用的信息来更新网络参数。损失函数包括稀疏流损失和深度一致性损失。为了利用这两个损失来指导深度估计的训练,需要几种类型的输入数据。输入数据为内窥镜视频帧、相机位姿与内参、稀疏深度图、稀疏软掩模、稀疏流图,他们在训练数据部分介绍。最后,为了将单目深度估计得到的网络预测转换成合适的损失计算形式,使用了几个自定义层。自定义层有深度缩放层、深度扭曲层和来自深度层的流,这些将在网络架构部分中介绍。


网络体系结构。我们在训练阶段的网络(上部)是一个自监督的双分支暹罗网络。从相同的视频序列中随机选取两帧j和k作为双分支网络的输入。为了确保两帧之间有足够的区域重叠,帧间隔在指定的范围内。图中的所有概念在第二节中介绍。红色虚线箭头表示数据丢失对应关系。扭曲的深度图从k j描述地图的缩放深度k从帧j的视角。密集流从j, k映射描述了二维投影运动的三维场景从帧j到帧k。在应用阶段(底部),我们使用的训练权证单帧深度评估架构,这是一个修改版本的架构在[18],来预测一个准确到全局尺度的稠密深度图。

训练数据生成管道。该管道能够从视频序列中自动生成训练数据。图中的符号是在训练数据部分定义的。图中所示的绿点为稀疏重建的投影2D位置。这些投影的2D位置用于存储所有稀疏形式数据的有效信息,即稀疏深度图、稀疏软掩模、稀疏流图。稀疏深度图将稀疏重建的z轴距离存储在相机坐标中。稀疏软掩模存储软权值,表示稀疏重建中各个点的置信度。稀疏流图存储了两帧之间稀疏重建的投影位置的移动。图的第二行显示了稀疏深度图和稀疏流图的生成,其中使用了两个投影位置的示例来演示这个概念。青绿色的箭头用来表示两帧之间的点对应。注意,稀疏形式的数据不包括用于帮助图形可视化的视频的颜色信息。

2-A训练数据

我们的训练数据来自未标记的内窥镜视频。管道如图2所示。该管道是全自动的,提供内窥镜和校准视频,原则上用基于slam的方法取代SfM可以实时计算。

数据预处理。首先利用从相应的标定视频中估计出的畸变系数对视频序列进行无畸变处理。在不失真的视频序列中,通过SfM[1]估计稀疏重建、摄像机姿态和点可见性,忽略视频帧中的黑色无效区域。为了去除稀疏重建中的极端异常点,采用点云滤波。点可见性信息如下图b所示,通过利用视频中摄像机的连续运动进行平滑处理。下面介绍从SfM结果生成的稀疏形式数据。
稀疏深度图。单目深度估计模块,如图1所示,只预测全局尺度的深度。然而,为了使损失计算有效,深度预测的尺度和SfM结果必须匹配。因此,本文引入的稀疏深度图作为锚点,在深度定标层进行深度预测。为了生成稀疏深度图,将SfM稀疏重建的三维点投影到具有摄像机姿态、内参和点可见性信息的图像平面上。摄像机固有内参矩阵为K,帧j相对于世界坐标的摄像机位姿为 T_w^j,其中w为世界坐标系。世界坐标中稀疏重建的第n个三维点的齐次坐标为p_n^w,注意,n可以是稀疏重建中任意一点的索引。帧系数用于下列方程(例如jk)可以是相同视频序列中的任意指标。jk的差值在规定的范围内,以保持足够的区域重叠。3D点nj的对应关系为p_n^j=T_w^kp_n^w(1)
第n个3D点w.r.t 帧 j, z_n^j的深度为p^j_n的z轴分量,第n个3D点w.r.t 帧j, u^j_n的2D投影位置为u^j_n=K{p^j_n\over z_n^j}(2)
我们用b^j_n = 1表示第n个3D点在帧j中是可见的,用b^j_n = 0表示不可见的。注意,来自SfM的点可见性信息用于将值赋给b^j_n。帧j, Z_j^s的稀疏深度映射为
Z_j^s(u^j_n)= \begin{cases} z_n^j & \text{if $b_n^j=1$}\\ 0 & \text{if $b_n^j=0$} \end{cases}
s代表“稀疏的”。注意,对于等式在训练数据部分,它们描述了稀疏重建项目点所在区域的赋值。对于没有点投射到的区域,值设置为零。

稀疏流图。稀疏流图用于下面介绍的稀疏流损失。之前,我们直接使用稀疏深度图进行损失计算[5]来利用稀疏重构的自监督信号。这使得一帧的训练目标(深度图)是固定的,并且可能有偏差。与稀疏深度图不同的是,稀疏流图描述了稀疏重建的二维投影运动,该运动涉及到两个具有随机帧间隔的输入帧的摄像机姿态。将摄像机轨迹与稀疏重建相结合,考虑所有成对的帧组合,一帧新目标(深度图)的误差分布更有可能是无偏的。这使得网络受训练数据中随机噪声的影响较小。我们观察到,对于用SFL训练的模型,深度预测具有自然的平滑性和边缘保持性,从而消除了训练过程中显式正则化的需要,如 Zhou等人提出的[14]和Yin等人提出的[15]。
稀疏流图F_{j,k}^ s表示稀疏重建从j帧到k帧的二维投影运动。
F_{j,k}^ s(u^j_n)= \begin{cases} {{u_n^k - u_n^j} \over {(W,H)^T}}& \text{if $b_n^j=1$}\\ 0 & \text{if $b_n^j=0$} \end{cases}H和W分别是框架的高度和宽度

稀疏柔软的掩膜。稀疏掩码使网络能够利用稀疏数据中的有效稀疏信号,而忽略其余无效区域。该方法在训练前定义了软权值,并考虑了SfM结果中各点的误差分布不同这一事实,减轻了SfM重构误差的影响。它的设计是基于这样一种直觉,即在SfM的束平差中,使用更多的帧来三角化一个3D点通常意味着更高的精度。稀疏软掩模用于下面介绍的SFL。定义帧j,M_j的稀疏软掩模为
M_j(u^j_n)= \begin{cases} 1 - e^{-\sum_i b_n^i/\sigma}& \text{if $b_n^j=1$}\\ 0 & \text{if $b_n^j=0$} \end{cases} i遍历应用SfM的视频序列中的所有帧。σ是超参数基于帧的平均数量在SfM用来重建每个稀疏的点。

2-B网络结构

我们的整体网络架构如图1所示,包括一个训练阶段的双分支Siamese网络[19]。它依靠SfM的稀疏信号和两帧之间的几何约束来学习预测单一内窥镜视频帧的稠密深度图。在应用阶段,网络具有简单的单分支架构,用于从单个帧进行深度估计。下面的所有自定义层都是可微的,因此可以以端到端方式对网络进行训练。

单目深度估计。这个模块使用了[18]中57层架构的一个修改版本,称为DenseNet,它通过广泛重用前面的特征图来大量减少网络参数,从而达到与其他流行架构相当的性能。我们将最后一个卷积层的通道数改为1,并将最后一个激活部分log-softmax替换为线性激活,使其适合深度预测任务。我们还用最近邻上采样和卷积层来代替网络上采样部分的反卷积层,来减少最终输出[20]的checkerboard artifact。

深度扩展层。这一层用于匹配单目深度估计的深度预测尺度和相应的SfM结果,可以进行正确的损失计算。注意,下列方程的所有运算都是按元素顺序进行的,除了这里的\sum是对映射中所有元素的求和。Z_j^{'}是帧j的深度预测,在一定范围内是正确的。帧j,Z_j的深度按比例预测为
Z_j = ({1\over\sum M_j}{\sum (M_j {Z_j^s\over Z_j^{'}+ \epsilon})})Z_j^{'} \epsilon是避免除零的超参数。

从深度层得到流。为了使用由SfM结果生成的稀疏流图来指导后面描述的SFL网络训练,首先需要将缩放后的深度图转换为具有相对摄像机姿态和内参矩阵的稠密流图。这一层类似于在[15]中提出的,他们使用生成的稠密流图作为光流估计网络的输入。在这里,我们使用它来进行深度估计训练。稠密流图本质上是一个描述三维视点变化的二维位移场。给出j帧的深度缩放图和k帧w.r.t. j的相对摄像机位姿,T^k_j = (R_j^k, t^k_j),可以得到j帧与kF_{j、k}之间的稠密流图。为了以可并行和可微的方式演示这些操作,下面的方程用矩阵形式描述。帧j中的2D位置(U, V)被组织成一个规则的2D网格。第k帧对应的2D位置为(Uk, Vk),与第j帧的空间布局相同。(Uk, Vk)如下
U_k = {{Z_j(A_{0,0}U + A_{0,1}V + A_{0,2}) + B_{0,0}}\over {Z_j(A_{2,0}U + A_{2,1}V + A_{2,2}) + B_{2,0}}} V_k = {{Z_j(A_{1,0}U + A_{1,1}V + A_{1,2}) + B_{1,0}}\over {Z_j(A_{2,0}U + A_{2,1}V + A_{2,2}) + B_{2,0}}}作为一个规则的网格,U由H行组成[0,1,… W-1],而V由W列组成[0,1,…H-1]^TA = KR_j^kK^{-1}, B = -Kt^k_j. A_{m,n}B_{m,n}分别是A和B在(m, n)位置的元素。描述从帧j到帧k的二维位移场的稠密流图F_{j,k}
F_{j,k}=({{U_k - U}\over W},{{V_k -V}\over H}) (8)

变形层深度。稀疏流图主要提供帧区域的引导,其中来自SfM的稀疏信息被投影到帧区域。考虑到大多数帧只有一小部分像素的值在稀疏流图中是有效的,大多数区域仍然没有得到正确的引导。利用相机的运动特性和相机的内参特性,可以利用两帧之间的几何约束来加强两个相应深度预测之间的一致性。从直观上看,由相邻两帧预测得到的稠密深度图是相关的,因为观测区域之间存在重叠。为了使以后描述的深度一致性损失中的几何约束可微分,深度预测的视点必须首先对齐。因为稠密流图描述了一个二维投影观察3D场景的运动, U_kV_k上面描述可用于改变的角度深度Z_kkj与一个额外的步骤,即修改Z_k描述深度值改变时由于视角改变。修改后帧k的深度图\overline Z_k,
\overline Z_k = Z_k{(C_{2,0}U + C_{2,1}V + C_{2,2}) + D_{2,0}} C=KR_k^jK^{-1},D=Kt^j_k[21]中的双线性采样器使用 U_k,V_k\overline Z_k,能够生成从k帧视角扭曲到j帧视角的稠密深度图\hat Z_{k,j}

2-C损失函数

我们提出了一种利用自监督信号的新损失方法,并在两帧深度预测之间加强几何一致性。

稀疏流动损失(SFL)。为了生成与SfM稀疏重构一致的正确的稠密深度图,对网络进行了训练,使稠密流图与相应的稀疏流图之间的差异最小化。这种损失是尺度不变的,因为它考虑了二维投影运动在像素单位上的差异,这解决了SfM结果任意尺度造成的数据不平衡问题。与坐标系jk相关的SFL计算为
L_{flow }(j, k) = {1 \over {\sum M_j}}{\sum {(M_j|F^s_{j,k} - F_{j,k}|)}}+{1 \over {\sum M_k}}{\sum {(M_k|F^s_{k,j} - F_{k,j}|)}}
深度一致性损失(DCL)。仅来自SFL的稀疏信号无法提供足够的信息,使网络能够推断出没有可用的稀疏注释的区域。因此,我们在两个独立的预测深度地图之间实施几何约束。与帧j和k相关的DCL被计算为
L_{consist}(j,k) = {\sum {W_{(j,k)}(Z_j - \hat Z_{k,j})^2}\over \sum{W_{j,k}(Z_j^2 + \hat Z_{k,j}^2)}} + {\sum {W_{(k,j)}(Z_k - \hat Z_{j,k})^2}\over \sum{W_{k,j}(Z_k^2 + \hat Z_{j,k}^2)}} W_{j, k}是有效的交集区域Z_j和稠密深度图\hat Z _{j, k}(从帧k扭曲到角度帧j)。因为SfM结果包含任意全局尺度,所以损失只惩罚两个密集深度映射之间的相对差异以避免数据的不平衡。

整体损失。对于来自帧j和k的单对训练数据,网络训练的总体损失函数为
L_{j,k} = \lambda _1 L_{flow}(j,k) + \lambda _2 L_{consist}(j,k)

3.实验和结果

3-A 实验设置

所有的实验都是在一个带有4个NVIDIA Tesla M60 GPU的工作站上进行的,每个GPU都有8gb的内存。该方法是使用PyTorch[23]实现的。数据集包含10个不同内窥镜获得的窦内窥镜矫正视频。这些视频收集自8名匿名且自愿的患者和2具尸体,根据IRB批准的方案。视频的总时长约为30分钟。在下面所有的无干扰实验中,8名患者中有7名的数据被用于训练。来自2具尸体的数据用于验证,而被遗漏的病人用于测试。

我们根据验证数据集上的网络损失来选择经过训练的模型进行评估。总的来说,进行了两种类型的评估。一种是将深度预测转换成的点云与CT数据对应的表面模型进行比较。另一种方法是直接将深度预测与相应的由SfM结果生成的稀疏深度图进行比较。

对于与CT数据相关的评估,我们选择20帧,每个测试患者都有足够的解剖变异。深度预测被转换成点云。在配准前对点云的初始全局尺度和姿态进行人工估计。为此,我们在点云和相应的CT表面模型中选取了相同的解剖标志。使用迭代最有可能定向点(IMLOP)算法[25]将来自每个点云的3000个均匀采样点配准到患者CT扫描[24]生成的相应表面模型中。在优化过程中,我们修改了配准算法来估计带有硬约束的相似变换。这个约束是为了防止点云在初始对齐近似正确的情况下偏离初始对齐太多。剩余误差定义为配准点云所有最近点对到表面模型的平均欧氏距离。用所有点云的平均剩余误差作为深度预测的精度估计。

在与SfM相关的评估中,使用SfM估计有效摄像机姿态的所有测试患者的视频帧。首先从SfM结果生成稀疏深度图。为了进行公平的比较,所有深度预测都首先使用相应的稀疏深度图进行重新缩放,使用深度缩放层来匹配深度预测的比例和SfM结果。由于SfM结果的尺度不确定性,我们只使用通用的尺度不变度量进行评估。指标是绝对的相对差异(定义为:{1\over | T |} \sum {_{y\in T}}| y - y^*| / y^*)和阈值(它被定义为: \% of y s.t max({y_i\over y_i ^*},{y_i^* \over y_i}) < \sigma ,三个不同的 \sigma1.25,1.252,和1.253 [15])。这些度量仅在稀疏深度图中的有效位置和深度预测中的相应位置上进行评估。

从SfM重构的稀疏性来看。每个稀疏重构的点数为4687(\pm6276)。对SfM的点可见性信息进行平滑处理后,稀疏重建得到每张图像的投影点数为1518(\pm1280)。给定向下采样的图像分辨率,这意味着稀疏形式数据中1.85(\pm1.56)%的像素具有有效信息。在训练和应用阶段,从视频中提取的所有图像被裁剪掉,去除无效的空白区域,并向下采样到256 \times320的分辨率。在数据预处理部分,平滑点可见性信息的范围设置为30。从同一序列中随机选取两帧并反馈给双枝训练网络的帧间隔设置为[5,30]。我们在实验过程中使用了大量的数据扩充,使训练数据尽可能无偏差地分布到特定的病人或摄像机上,例如:随机亮度,随机对比度,随机伽马,随机HSV移位,高斯模糊,运动模糊,jpeg压缩,高斯噪声。在网络训练中,我们使用了动量设置为0.9的随机梯度下降(SGD)优化并且学习速率从1.0 e^{-4}1.0 e^{-3}的循环学习速率调度器[26]。批量大小设置为8。生成的σ柔软稀疏的面具被设置为点的平均轨道长度从SfM稀疏重建。深度缩放层设置为1.0e^{-8}。我们共训练了80个epoch的网络。λ1总是20.0。前20个epoch,λ2设置为0.1主要用于SFL初始收敛。剩下的60个epoch,λ2设置为5.0添加更多的几何约束来调整网络。

3-B Cross-patient研究

为了证明我们的方法的普遍性,我们进行了4个“遗漏”实验,分别在评估训练期间遗漏了患者2、3、4和5。其他患者的数据不用于评估由于缺少相应的CT扫描。定量评价结果如图4 (a)所示,我们的方法实现了所有测试重构的亚毫米残差。来自所有4个测试患者的测试帧的平均残余误差是0.40(\pm 0.18)毫米。为更好地理解重建的准确性,使用Leonard 等人[1],提出的平均误差是0.32(\pm 0.28)毫米(在相同的SfM算法,可以用来训练数据评估)。我们使用相同的临床数据,评估他们的在这工作。因此,尽管我们的重构是单视图估计的,但我们的方法与SfM算法[1]的性能相当。

3-C比较研究

我们的方法,Zhou等[14]与Yin等[15]的定性结果比较。第一列包含测试和训练图像,其中前3个是测试图像。第二列和第三列由相应的深度图和我们方法的重构组成。第四、五列是周等人的作品。最后两列来自Yin等人。对于每个显示的视频帧,使用一个稀疏深度图来重新调整来自三种方法的深度预测。然后使用与图1相同的深度颜色编码,用相同的最大深度值对缩放深度预测进行标准化。用标准泊松曲面重建方法[22]对由深度预测转换而来的点云进行三维可视化后处理。结果表明,该方法在测试和训练两方面均优于Zhou等人的方法。

图4所示。(a)交叉病人研究的残差箱线图。检测患者的id作为横轴上的标签。所有的测试重构都有亚毫米的残留误差。(b)残差箱线图,用于比较研究和消融研究。我们使用来自患者4的数据,将我们的方法与Zhou等人的[14]和Yin等人的[15]进行了定量比较。我们的方法与其他两种方法的残差有统计学意义(p < .001)。在消融研究中,使用SFL训练的模型只与使用SFL和DCL训练的模型进行比较。

图5所示。重建配准到病人的CT。我们的重建与对应的患者CT(左)的比对结果表明,我们的重建与患者CT的轮廓吻合良好,包含很少的异常值。而同一帧的Zhou等(中)和Yin等(右)的重建图像与相应的患者CT之间的对齐较差,存在许多异常值。周等人、尹等人重建的许多点都落在内窥镜无法进入的区域内。

表1用绝对相对差和阈值[15]两个指标评价患者2、3、4、5的模型性能。利用SfM结果生成的稀疏深度图作为groundtruth。我们评估方法的模型是在跨患者研究中使用的模型,这意味着来自所有4名患者的数据在训练期间没有被看到。另一方面,Zhou等人、Yin等人的模型在训练中分别观察了患者2、3、5的数据。

我们对两种典型的自监督深度估计方法[14]、[15]进行了性能比较研究。我们使用了这两种方法的原始实现,只是做了少许修改,在计算训练期间的损失时,我们省略了内窥镜图像的黑色无效区域。在图3中,我们展示了三种方法有代表性的定性结果。在图5中,我们将三种方法的一个视频帧的注册点云覆盖在CT表面模型上。我们也与这些方法进行了定量比较。表1中使用了与SfM相关的评估,显示了三种方法深度预测的评估结果,表明我们的方法在很大程度上优于两种竞争方法。注意,所有来自患者2、3、4和5的视频帧都用于评估。对于这个评估,在跨患者研究中所有四个训练过的模型都被用来为每个相应的测试患者生成深度预测,以测试我们的方法的性能。对于Zhou等和Yin等人,评估模型在训练过程中看到所有患者,除了患者4的数据。因此,这是一个比较有利于竞争的方法。竞争方法在训练和测试数据集上的糟糕表现表明,并不是过度拟合导致了模型性能的下降。而是这两种方法都不能使网络有效地利用未标记的内窥镜数据中的信号。图4 (b)的箱线图显示了与CT表面模型的比较结果。为了便于实验,仅使用患者4的数据进行评估。我们的重构平均残差为0.38 (\pm0.13)mm, Zhou等的残差为1.77 (\pm1.19)mm, Yin等的残差为0.94 (\pm0.36)mm。

我们认为两种比较方法性能较差的主要原因是选择了主驱动力来实现自监督深度估计。Zhou等人选择L1损失来加强两帧之间的光度一致性。这假设了一个区域的外观不会随着视点的改变而改变,而在单眼内窥镜检查中,光源与摄像机共同移动的情况则不同。Yin等人使用结构相似度损失和L1损失的加权平均值。SSIM不太容易受到亮度变化的影响,注重纹理的差异。然而,由于在SSIM中只使用图像补片的简单统计来表示纹理,对于纹理稀少且质地均匀的情况,如窦内窥镜和结肠镜检查,其表达度不足以避免训练时局部极小化的不良。这对于窦内窥镜检查中出现的组织壁尤其正确,在那里我们观察到错误的深度预测。

3-D 烧蚀研究

图6所示。消融研究的定性结果。结果包括训练和测试图像,其中前2张图像是在训练中看到的。第二列和第三列由相应的深度图和仅用SFL训练的模型重建组成。第四列和第五列来自用SFL和DCL训练的模型。结果表明,DCL对训练和测试用例都有帮助。它提供了额外的指导,从SfM稀疏重建要么是不准确的地区(例如,在第一行的投机区域)或失踪(例如,靠近边界的区域在第二和第三行)。

为了评估损失分量的影响(如SFL,DCL),仅使用患者4的SFL训练网络进行测试。在与患者4的交叉患者研究中训练的模型用于比较。由于DCL不能单独训练出具有有意义结果的模型,因此我们不能单独评估它的性能。定性(图6)和定量(图4 (b))结果表明,SFL和DCL联合训练的模型比单纯SFL训练的模型有更好的性能。从病人4的评估结果数据,平均残差模型的训练与SFL是0.47(\pm0.10)毫米。SfM相关的评价,指标包括绝对的值相对偏差,阈值测试在\sigma= 1.25,1.25^2,1.25^3分别为0.14,0.81,0.98,1.00。相比之下,使用SFL和DCL训练的模型平均残差为0.38 (\pm0.13)mm,相同度量的值分别为0.13、0.85、0.98、1.00,与只使用SFL训练的模型相比,有轻微的改善。值得注意的是,稀疏深度图是不均匀分布的,通常很少有有效的点来评估组织壁,DCL对这一点的帮助最大。因此,与SfM相关的评价中所观察到的改进并不像与CT数据相关的评价中平均残差那么大。

4讨论

提出的方法不需要任何标记数据的训练,并普遍适用于内窥镜和病人。该方法最初是针对窦内窥镜检查数据而设计和评价的,但我们相信它也适用于其他解剖结构的单目内窥镜检查。然而,我们的方法仍然存在一些局限性,需要在未来的工作中加以解决。首先,我们的方法的训练阶段依赖于SfM的重建和相机姿态。一方面,这意味着我们的方法将随着更先进的SfM算法的出现而不断发展和改进。另一方面,这意味着我们的方法不适用于SfM不能产生合理结果的情况。虽然我们的方法在一定程度上可以容忍SfM的随机误差和离群值,但是如果大量的系统误差发生在数据中,而这些误差可能发生在高度动态的环境中,那么我们的方法很可能会失败。其次,我们的方法只生成全局范围内的稠密深度地图。在需要全局范围的场景中,需要在应用程序阶段提供额外的信息来恢复全局范围。这是可以做到的,比如通过测量已知大小的物体或使用外部跟踪设备。在帧间几何约束方面,与我们的工作同时,[16]提出了三维ICP损失来加强两个深度预测的几何一致性。由于在计算损失时使用的迭代最近点(ICP)是不可微的,因此他们使用点云在收敛时的配准残差作为两个深度预测的差值近似值。与3D ICP损失相比,DCL有两个优点。首先,它能够处理两个深度预测之间的误差,而这两个深度预测可以通过严格的转换得到补偿。其次,它不涉及配准方法,当配准失败时,配准方法可能会为训练带来错误的信息。由于3D ICP 损失的实施还没有发布,所以在本文中没有进行比较。最近,类似的几何一致性损失[27]被提出,这是我们工作[5]的后续。在评价方面,与CT数据相关的评价中报告的平均残差会导致低估误差。这是因为残差是使用已配准的点云与CT表面模型之间的最近点对来计算的。由于最近点对之间的距离总是小于或等于真实点对之间的距离,因此总体误差将被低估。根据SfM的精度,与SfM相关的评价可以更好地代表在稀疏深度图中具有有效对应关系的深度预测区域的真实精度。但该方法存在一个缺点,即在稀疏深度图中不存在有效对应的区域不被计算。只有将视频的摄像机轨迹准确地记录到CT表面模型中,才能获得准确的精度估计值,而这正是我们目前所缺乏的,并将作为未来的研究方向。

5结论

在这项工作中,我们提出了一种自监督的方法来训练卷积神经网络在单目内窥镜中进行稠密深度估计,而不需要任何解剖学或阴影的先验建模。据我们所知,这是第一种基于深度学习的自监督深度估计方法。我们的方法在训练阶段只需要单目内窥镜视频和多视点立体方法。与大多数自监督深度估计的竞争方法相比,我们的方法不假定光度恒常性,使其适用于内窥镜检查。在一项跨患者研究中,我们证明了我们的方法可以很好地推广到不同的患者,即使是在其他几个患者的少量未标记的训练数据上进行训练,也能获得亚毫米级的残留误差。在一项比较研究中,我们表明我们的方法在体内窦内窥镜数据上比最近的两种自我监督深度估计方法有很大的优势。在未来的工作中,我们计划将单帧深度地图融合成一个完整的3D模型,使其更适合于临床解剖研究和手术导航等应用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,569评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,499评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,271评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,087评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,474评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,670评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,911评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,636评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,397评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,607评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,093评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,418评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,074评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,092评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,865评论 0 196
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,726评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,627评论 2 270

推荐阅读更多精彩内容