Dense Depth Estimation in Monocular Endoscopy With Self-Supervised Learning Methods
基于自监督学习方法的密集深度估计在单眼内窥镜中的应用
基于自监督的单目内窥镜Dense深度估计
Author: Xingtong Liu
约翰霍普金斯大学 Hopkins University, 计算机学科系 Computer Science Department
Location:Citavi–202011-XingtongLiu
Q1– IEEE transactions on medical imaging

*TIPs 1:暹罗网络 Siamese Network
通过设置损失函数中positive pairs的相似度更高以及negative pairs之间的间隔更大来构建嵌入空间。具体来说:
1)当分类项较少时(如使用神经网络或SVM),需要预先明确所有类别;
2)当分类项较多且每类样本较少时(如人脸识别或人脸验证任务),可采用上述方法
优点
在Siamese网络结构中,神经元级联模块(即神经元级联单元)的作用至关重要——其级联单元的设计会影响最终特征提取能力(即会影响最终特征图的质量)。其中:
- 神经元级联模块中的每个单元均具备特定的功能特点:较大的级联单元能够捕获更广泛的场景细节(能够有效提升模型对复杂场景的理解能力),而较小规模的单元则可能导致目标细节丢失;
- 网络步长设置直接影响定位精度(尤其是针对小型目标物体),同时也决定了最终输出特征图的空间分辨率和数量;
- 特征填充策略可能导致预测位置偏差(尤其在目标接近搜索区域边缘时),因此必须采取有效的抗扰动措施以提高预测准确性)。这些因素共同构成了提升跟踪性能的重要支撑点,并且强调了设计架构的重要性——网络架构需采用轻量化设计策略以实现实时运行。
�罗网络本质上是一个用于提取图片特征的运算模块,在神经网络的最顶层,构建了特征向量间的关联程度损失函数。
同构神经网络亦称双胞胎神经网络,在人工智能领域中具有重要应用价值。该方法通过生成高维空间中的特征表示来比较不同样本之间的相似程度。狭义而言,典型的孪生神经网络由两个结构一致且权重共享的子模型串联而成;而广义形式则允许使用任意两组子模型进行拼接(注:子模型可采用卷积神经网络、循环神经网络等不同架构)。该架构通常具有多层次特性,在模式识别与数据分类任务中表现出色。
两个图片作为输入。
该文章主要介绍了基于博客中Siamese网络(2-branches网络)的相关内容。文章详细阐述了该网络的整体框架及其工作原理:通过构建两个分支网络分别完成特征提取与相似性学习,并基于对比损失函数实现目标匹配关系的建立与优化。
让 patch1 和 patch2 分别通过网络执行特征提取(对于两张图片 patch1 和 patch2 来说,在 Siamese 架构下它们的特征计算过程各自独立)。接着,在网络的最后层计算这对特征向量之间的相似度损失函数进行训练。
paper所提出的算法(2-channel networks) 的大体思路:
将patch1和patch2结合为一张双通道的图像,并视为这两幅单通道图像(尺寸均为1×64×64)的组合体。即通过将这两个数据集(各尺寸为1×64×64)整合起来形成一个尺寸为2×64×64的双通道矩阵。
然后把这个矩阵数据作为网络的输入,这就是所谓的:2-channel。
这样跳过了分支中显式的特征提取步骤而是采用了直接学习相似度评价函数的方式最后一层采用全连接结构输出单元数量仅为1个从而直接表征两张图像之间的相似程度对于双通道图像CNN在经过第一次卷积后使两幅图像的数据实现了有效的融合与映射这意味着在第一次卷积过程中CNN将两个通道的数据整合到一起而Siamese网络则是在最终进入全连接阶段才使两幅图像的数据产生关联
*TIPs 2:DenseNet
DenseNet脱胎于对传统网络架构设计思路的重大突破

(1) 相比ResNet拥有更少的参数数量.
(2) 旁路加强了特征的重用.
(3) 网络更易于训练,并具有一定的正则效果.
(4) 缓解了gradient vanishing和model degradation的问题.
======================
DenseNet算法详解–
论文:Densely Connected Convolutional Networks
论文链接:https://arxiv.org/pdf/1608.06993.pdf
代码在GitHub上的镜像链接为:[代码在GitHub上的镜像链接:
MXNet版本代码(有ImageNet预训练模型): https://github.com/miraclewkf/DenseNet
DenseNet具有显著的优势值得我们深入探索和学习:
1、它成功地缓解了梯度消失(vanishing-gradient)问题;
2、它通过强化特征间的传播来增强模型性能;
3、它提升了特征的利用效率;
4、在一定程度上减少了网络参数的数量。
相对于其他网络而言,在相同的参数规模下实现更为精炼的网络结构,DenseNet展现出显著的优势。
具体而言,在每一个密集块内部的卷积操作输出的特征图数量被严格控制在100以下,这使得模型的整体计算复杂度得到显著降低。
此外,这种密集连接机制使得梯度信息能够更加高效地传播到更深的网络层次,从而缓解了深度学习中常见的梯度消失问题。
值得注意的是,在这种设计下还实现了某种程度上的正则化效果,这有助于防止模型出现过拟合现象。
实际上,这种设计背后的原理与网络参数规模缩减密切相关,后续文章将深入探讨这一关键因素是如何影响模型性能的。
Methods
1. Training Data

图2所示。该流水线可自动生成训练数据。在训练数据部分中定义了这些符号:其中绿色点代表稀疏重建的二维投影位置。这些投影位置不仅用于存储稀疏深度信息(即稀疏深度映射)、稀疏软掩模(表示单个点置信度)以及稀疏流映射(存储两帧间点对应关系),还用于显示所有稀疏形式的有效信息(即稀疏深度图和稀疏流图)。需要注意的是:所讨论的稀疏形式仅涉及点云重建相关参数,并不包括用于图形可视化的视频颜色信息或其他非关键参数信息。
借助内视镜系统和标定视频序列,在处理管道时实现了高度自动化。理论上而言,在实时计算方面可以使用基于SlAM的方法替代传统的SfM技术。
1.1 Data Preprocessing
基于相应的校准视频估计出的失真系数进行处理后可保证视频序列的真实性不受影响。随后通过SfM[1]方法对未经失真处理的视频序列进行稀疏重构、相机姿态确定以及各点可见性估计工作,并对每帧视频中的黑色无效区域予以排除处理。在稀疏重建过程中存在较多极端异常点需要剔除以提高结果准确性为此我们采用了点云滤波的方法来去除这些干扰数据其中可见性信息如图(b)所示是通过结合摄像机连续运动轨迹来进行平滑化的处理过程最后介绍了基于上述方法得到的稀疏重建结果
1.2 Sparse Depth Map
单目深度估计模块(如图1所示),主要负责对全局范围内的三维空间进行深度感知任务。然而,在执行损失函数优化时需要确保预测出的二维像素级别的深度值与实际观测数据具有高度一致性。为此,在本文提出的方法中,在一个特定的设计框架内引入了一种基于稀疏特征匹配的方法,并通过自适应的方式实现了该框架下各子模块之间的信息交互与协同优化。具体而言,在该框架中首先建立了一个基于双视差约束的几何模型,并在此基础上设计了一个高效的特征匹配算法用于获取各关键点间的对应关系;其次,在该模型的基础上构建了一个基于卷积神经网络的端到端学习系统;最后,在该系统的基础上设计了一个基于多尺度特征融合的方法用于实现最终目标函数的具体求解过程。
j和k的差在一定范围内,以保持足够的区域重叠。
SfM的点可见性信息用于将值分配给bjn。

1.3 Sparse Flow Map
下面介绍了稀疏流损失。之前我们直接使用稀疏深度映射进行损失计算[5]来利用稀疏重构的自我监控信号。这使得训练目标,即稀疏深度映射,为一帧固定和潜在的偏置。与稀疏深度映射不同,稀疏流映射描述的是稀疏重建的二维投影运动,涉及到随机帧间隔的两帧输入帧的相机姿态。通过结合相机轨迹和稀疏重建,并考虑所有的帧对组合,新目标的误差分布,即稀疏流图,对于一帧更有可能是无偏的。这使得网络不受训练数据中的随机噪声的影响。我们观察到,对于使用SFL训练的模型,深度预测是自然平滑的,并保留边缘,这消除了训练过程中需要显式正则化,例如,周等人[14]和Yin和Shi[15]中提出的平滑损失。稀疏流图Fs j,k表示稀疏重建从第j帧到第k帧的二维投影运动。

1.4 Sparse Soft Mask
稀疏掩码通过使得网络能够通过其机制有效地关注其有效的稀疏信号,并同时有效地处理其余的无效区域。
在训练之前被设定为软加权参数,在模型建立初期就被设定下来。该参数不仅阐述了空间关键点之间存在不同误差分布这一事实,并且通过减少这些关键点上的重构误差来提升整体模型效果。在采用束元平差法处理空间关键点匹配问题时,在计算每个空间关键点坐标的过程中所使用的帧数越多,则其计算出的结果越精确和稳定。当在一个三维点上进行三角测量时,所使用的帧数越多,则其计算出的结果越精确和稳定。稀疏软掩模将在后续章节介绍的另一种方法中被应用。

2. Network Architecture
整个网络架构如图1所示,在训练过程中包含两个分支型的Siamese网络[19]组成。该系统基于SfM提取出稀疏特征描述,并结合两帧间的空间关系来学习构建一个能够从单一内窥镜视频帧中推断出密集深度映射的方法。在实际应用中,该系统采用了较为简洁的一个分支设计模式。所有自定义模块均为可微分部件,并由此实现了整个系统模型能够通过端到端的方式进行高效优化和训练。
2.1 Monocular Depth Estimation
该模块采用[18]57层架构的优化版本,即DenseNet结构,在充分继承了前向特征映射的基础上实现了对网络参数数量的大幅降低,并达到了与主流架构相当的性能水平[
2.2 Depth Scaling Layer
在这一层中,我们将单目深度估计所得的深度预测尺度与相应的SfM输出进行匹配,以便正确计算损失.需要注意的是,在后续方程中,默认所有运算均针对单个元素进行.其中,ept为地图上所有像素点值之和.其中,d_j表示第j帧图像中的深度预测值;同时,在计算损失函数时,默认会对地图上的每一个像素点进行求和.该过程的具体规模将由后续公式进一步详细描述.

2.3 Flow From Depth Layer
基于由稀疏流图生成的结果...用于指导后续SFL网络训练的过程。随后将其转换为包含相对相机姿态及本构矩阵的信息构建密集流图。这一构造过程与文献[15]中所提出的类似层具有相似性,在该研究中他们将此稠密流图作为光流估计网络的数据输入来源。而我们则采用它来进行深度估计训练工作。其核心在于构建一个基于2D位移场表示3D空间变化模型的新架构。给定某帧j对应的缩放深度映射以及与之相关的帧k相对于帧j的位置关系...可以通过矩阵运算推导出相应的二维位移场信息Fj,k。在此基础上设计一种能够并行处理rkj, tkj, tkj的操作流程,并通过可微分的方式求解相应的方程组以获得精确的空间布局信息。(Uk,Vk)由...组成。

2.4 Depth Warping Layer
稀疏流图主要通过引导特定区域来实现对该区域的信息投射。这些区域包含SfM模型所提取的稀疏信息,并将其投射到对应的观察位置上。由于在大多数帧中仅有极少数像素值在该稀疏流图中具有显著意义,在实际应用中这些区域往往未能获得有效的引导效果。基于相机运动特性以及相机固有参数属性,在两帧之间的深度预测结果之间建立一致性的关系能够有效提升预测精度。直观上认为,在同一观察区域内相邻两帧所生成的密集深度图之间存在高度相关性这一现象源于两者间的几何重叠部分。为了确保后续提出的深度一致性损失函数能够实现平滑优化,在深度预测过程中必须首先完成视点对齐操作。值得注意的是,在处理基于二维投影展现三维场景运动特性的密度流图时需要特别注意其适用范围限制:当对第k帧Zk处进行修改后生成的新映射关系不仅需要考虑原始视点下的深度信息变化还要结合角度变化带来的Zk空间转换影响。

3. Loss Function
我们提出了一种新的损失量计算方法,并不仅用于...还用于...能够通过自监督学习机制,并不仅用于...还用于...从而提升两个连续深度预测结果的空间一致性和几何精度。
3.1 Sparse Flow Loss (SFL)
旨在生成与稀疏重构结果一致的高精度深度图... 通过优化过程使得到位估计与原始估计间的差异降至最低。该损失函数具有标量特性... 基于像素级别的二维投影运动差异进行计算... 与帧j和k相关的SFL计算如下

3.2 Depth Consistency Loss (DCL)
仅通过SFL获取到的稀疏信号提供的信息量不足以支持网络对未注稀疏区域的存在进行推断。因此,在基于两个独立预测所得深度映射的基础上施加几何约束。与帧j和k相关的DCL计算如下

3.3 Overall Loss

4. Experiment and Results
4.1 Experiment Setup
该研究数据集由10个来自不同内窥镜操作的矫正窦腔镜视频组成。这些视频包括8名匿名患者(其隐私信息已获授权)以及2例经IRB批准的尸体样本。所有视频总时长约为30分钟。在后续的所有实验中,默认情况下使用7名患者的数据进行模型训练。剩余两例尸体的数据用于验证模型性能,并作为测试集中的1名患者的数据用于评估模型性能。
基于验证数据集中的网络损耗指标, 我们采用了预训练好的模型来进行性能评价. 总体而言, 我们设计了两类不同的评估方案. 其中一种方法是将深度预测结果转化为点云数据, 并将其与CT扫描所得的表面模型进行对比分析. 另一种则是直接对比了深度预测输出与采用SfM算法生成的稀疏深度图.
基于CT扫描的数据进行评估,在测试患者中选取了20帧具有显著解剖差异的图像样本。将深度预测结果转化为三维点云模型,并通过人工测量估算配准前初始状态下的全局尺度和姿态参数。为此,在点云和相应的CT表面模型中选取了完全一致的空间解剖特征作为基准参考系。采用迭代最有可能定向点(IMLOP)算法[25]从每个采样点集中提取均匀分布的3000个采样单元,并将其精确配准至患者对应的CT扫描生成的空间表面模型[24]上。在优化过程中,在线改进了配准算法以适应带约束条件的最佳相似变换求解过程。这一改进措施旨在确保即使初始对准存在微小偏差的情况下仍能获得准确的结果。计算配准后各采样单元与目标曲面之间的平均欧氏距离并取其最小值作为深度预测误差量化指标
在与Simultaneous Structure from Motion (SfM)相关的评估中,我们采用了基于SfM估计的有效摄像机姿态的测试患者的所有视频帧作为研究对象。这一过程涉及以下步骤:首先生成稀疏深度映射;其次,在进行公平比较时(即为了使各方法之间的评估具有可比性),对所有深度预测进行处理——具体而言,在经过深度缩放层对齐后与相应的稀疏深度图重新缩放以匹配比例关系;最后由于原始SfM结果存在尺度不确定性,在评价时我们仅采用通用的尺度不变指标作为度量标准(即绝对相对差异),其计算公式如下:
\text{ARD} = \frac{\sum_{T}|y - y^*|}{y^*}
其中\text{ARD}表示绝对相对差异;y^*代表参考值;y代表预测值;\sigma = \{1.25, 1.25^2, 1.25^3\}分别对应于不同尺度变化情况[15]。需要注意的是,在实际计算过程中,“度量标准易易”这一表述可能因具体应用而有所简化或变通,请根据具体需求选择合适的适用范围。
i表示SfM重建的稀疏性。每次稀疏重建的点数为4687(6276)。在对SfM中的点可见性信息进行平滑处理后,稀疏重建得到的每幅图像的投影点个数为1518(1280)。给定下采样图像的分辨率,这意味着该信息。在培训和应用阶段,所有图片像素的1.85 (1.56)% sparse-form数据有效我f ti th t d立体坛城h将我从视频中提取剪裁删除无效的空白区域和downsampled分辨率为256 320 f thi th我ibilit ifti 320。在数据预处理部分平滑点可见性信息的范围设置为30。从同一序列中随机选取两帧馈送到两支训练网络的帧间隔设为[5,30]。我们在实验过程中使用大量的数据增强,使训练数据尽可能无偏地分布到特定的患者或摄像机,例如,随机亮度、随机对比度、随机伽马、随机HSV移位、高斯模糊、运动模糊、jpeg压缩和高斯噪声。在网络训练中,我们使用动量设置为0.9的随机梯度下降(SGD)优化和学习速率从1.0e−4到1.0e−3的循环学习速率调度程序[26]。批量大小设置为8。生成软稀疏掩模的σ被设置为SfM稀疏重构中点的平均轨迹长度。“深度缩放层”设置为“1.0e−8”。我们总共训练了80个时代的网络。λ1总是20.0。前20个时期,λ2设为0.1,主要使用SFL进行初始收敛。对于剩余的60个epoch, λ2设置为5.0,以增加更多的几何约束,对网络进行微调。

4.2 Cross-Patient Study
为了验证我们方法的概括性, 我们设计并进行了四个省略实验. 在评估过程中, 我们分别排除了病人2、3、4和5的数据. 由于缺少相应的CT扫描资料, 其他病人的数据未能被用于评估过程. 通过图4 (a)的数据展示可以看出, 我们的算法在所有测试重建任务中均表现出优异性能, 实验结果表明所有测试样本均达到了亚毫米级误差水平. 在这些测试样本中, 平均残余误差值为0.40±0.18毫米(单位:mm). 为了深入探讨重建精度问题, 我们参考伦纳德等人的研究[1], 使用相同的临床数据对他们的训练效果进行了模拟验证. 这些临床数据不仅用于生成重建模型, 更被用来生成评估指标. 最终结果显示其平均残差值维持在0.32±0.28毫米水平(单位:毫米)[1]. 鉴于当前研究局限性和未来工作计划, 这种基于单视图估计的方法仍然存在诸多改进空间
4.3 Comparison Study
我们系统性对比分析了本研究提出的方法与两种典型的自监督深度估计方法[14]、[15]在性能上的差异。在采用这两种典型方法的原始实现方案基础上,在损失函数计算阶段排除了内窥镜图像中黑色无效区域的影响,并在此过程中实现了对模型性能的有效优化。图3详细展示了三种方法在典型测试场景下的定性实验结果。通过建立基于CT表面模型的空间配准关系(如图5所示),我们成功地将不同视频帧的点云数据进行统一融合并完成深度预测建模工作。为了全面评估所提出的方法性能,在表I中引入了基于结构光法(Structure from Motion, SfM)的相关评价指标,并对三种对比算法的深度预测结果进行了定量评估。结果显示表明,在包含患者2、3、4和5的数据集上进行统一训练后,所提出的方法显著优于其他两种自监督深度估计算法[14-16]。值得注意的是,在模型验证阶段采用交叉验证策略以确保公平性评估:具体而言,在测试集样本选择上遵循严格的配比原则以避免数据泄漏问题;同时对于Zhou等人和Yin等人等基线算法而言其模型构建过程仅依赖于来自患者1的数据集进行参数优化这一做法存在明显局限性:具体表现形式体现在图4 (b)所示箱线图中明显看出与其他对比组相比Zhou等人重建的残差值略显偏高(Zhou: 1.77±1.19 mm, Yin: 0.94±0.36 mm)。此外为了确保实验结果的一致性和可靠性我们在最终误差计算前去除了Zhou等人提出的重构异常值影响


本研究认为,在自监督深度估计领域两种比较方法存在显著缺陷的原因在于主驱动功率的选择策略。Zhou等采用了L1损失以增强两帧间的视觉一致性。然而这一假设仅建立在以下前提基础之上:当视点发生改变时同一区域的空间属性保持恒定不变。但在单目内窥镜系统中光源与相机同步运动的情况下这一前提并不完全适用。Yin等引入了SSIM损失与L1损失的加权组合作为优化目标函数。其中SSIM具有较强的抗光照变化能力并能有效捕捉纹理特征然而其计算方式过于简单仅基于单个图像补丁的基本统计特性导致对稀疏且均匀纹理类型(如鼻窦内窥镜和结肠镜检查)在深度估计过程中存在局限性具体表现为模型难以有效避免出现局部极小值的问题。因此在鼻窦内窥镜检查中的组织壁预测问题上这一方法表现尤为突出
4.4 Ablation Study
为了评估损失成分,即SFL和DCL的效果,只使用SFL对网络进行训练,病人4进行测试。在交叉患者研究中训练的模型与患者4进行测试用于比较。由于单独的DCL不能训练出有意义的结果的模型,所以我们不单独评估它的性能。定性(图6)和定量(图4 (b))的结果表明,SFL和DCL结合训练的模型比仅用SFL训练的模型有更好的性能。从患者4的数据评价结果来看,仅使用SFL训练的模型的平均残差为0.47(±0.10)mm。在SfM评价方面,σ = 1.25、1.252、1.253的绝对相对差值、阈值检验值分别为0.14、0.81、0.98、1.00。比较而言,平均残差
分别是0。14 0。81 0。98 1。00,
相同指标的值分别为0.13、0.85、0.98、1.00,用SFL和DCL训练的模型为0.38(±0.13)mm。实验结果表明,与单纯用SFL训练的模型相比,lf - ti - b分别为0 13 0 85 0 98 1 00。注意,稀疏深度图是不均匀分布的,通常很少有评估组织壁的有效点,DCL是观察到的最有帮助的。因此,SfM相关评价的改进效果不如CT相关评价的平均残差大。

5. Discussion
该方法最初是为鼻窦内镜资料而开发和验证的,并已取得显著效果。然而我们对此充满信心认为它同样适用于其他解剖领域的单眼内镜但我们仍需在未来研究中解决这些局限性第一点是我们的方法依赖于基于单视图(SfM)重建以及相机姿态信息构建过程这使得我们的方法将直接受制于未来的SfM算法改进另一方面这也意味着该方法不具备应对基于不可靠SfM结果的应用场景尽管我们在一定程度上能够容忍SfM带来的随机误差与异常值但在大量数据中出现系统误差尤其在动态环境里可能导致预测失效第二点是我们的方法仅能生成全局尺度内的深度映射这可能限制其在某些全局应用中的表现为此建议在应用阶段补充额外信息以恢复全局尺度这可通过测量已知尺寸物体或采用外部跟踪设备来实现值得注意的是与我们同时开展的研究[16]提出了三维ICP损失作为一种强化两种深度预测几何一致性的方法但由于该损失函数不可微他们采用了基于点云配准的残差作为两深度预测间的差异估计相比之下所提出的深度一致性损失(DCL)具有两个显著优势首先它能够处理两深度预测之间的误差并通过刚性变换进行补偿其次它无需依赖配准过程因此即使配准失败也不会引入误导信息用于模型训练值得注意的是关于3D ICP损失的具体实现由于尚未公布本研究未进行对比分析最近类似几何一致性损失[27]已被提出这些工作均建立在我的先前研究基础之上
评估报告中与CT数据相关联的平均残余误差可能导致误差被低估。这是因为残余误差是通过计算点云与CT表面模型之间的最近点得出的结果。最近点对的距离总是小于或等于真实点对的距离,因而总误差会被低估。基于SfM算法的精度评估结果可能更准确地反映稀疏深度图中存在有效对应关系的区域的真实深度预测精度。然而该方法的一个不足之处在于,在稀疏深度映射中未建立有效对应关系的区域并未被纳入评估范围。然而准确估计仅在摄像机轨迹能够精确配准到CT表面模型时才能实现这一点我们目前尚未掌握并将其作为未来研究的方向进行探讨。
在本研究中, 我们开发了一种自监督的方法来实现卷积神经网络在单眼内窥镜密集深度估计, 无需先验的解剖学建模或阴影处理. 经研究发现, 这是首个基于深度学习框架实现单眼内窥镜自监督深度估计的方法. 在训练阶段, 该方法仅需单眼内窥镜视频序列和多视图立体匹配数据即可完成模型训练. 相较于大多数现有的自监督深度估计方法, 该方案并未假设光照条件恒定, 更具临床应用潜力. 我们通过跨患者实验验证了该方法的有效性: 即使基于少量无标签训练数据, 也能实现对不同患者群体的良好适应性. 研究结果表明: 与现有同类算法相比, 该方法在体内窦内窥镜图像上的表现具有显著优势. 在后续工作中, 我们计划将多帧深度图融合生成完整三维重建模型, 并将其应用于临床解剖研究及外科导航系统等实际场景中
