基于自监督网络的手部静脉无损三维测量

论文来源:https://arxiv.org/ftp/arxiv/papers/1907/1907.00215.pdf
关键词:双目匹配
   无监督
   深度神经网络
   手掌静脉

   目前,基于深度神经网络的监督立体方法取得了令人瞩目的效果。
然而,在某些情况下,精确的三维标签无法用于监督培训。摘要无监督网络提出了双目视差匹配(SDMNet),从立体图像对计算密集视差地图没有差距标签:无监督训练,我们与立体影像匹配人口近似视差地图和使用它们来扭曲下左边和右边的图像来估计左右图像;我们建立损失函数。
  简介:
  从立体图像对计算密集视差图一直是计算机视觉领域的一个基本和经典问题。双目立体任务通常包括四个步骤:图像采集、极外校正、立体匹配和距离计算。立体匹配的主要目的是从两个双目相机拍摄的左右图像中找出相同的点。这种视差是由匹配点对计算得到的,在极上校正的帮助下,只需要考虑水平匹配。
  传统的匹配算法[20,8,12]基于特征匹配,不需要深度标签数据。通常,这些方法可以分为四个步骤:匹配成本计算、成本聚合、差异计算和差异细化。由于这些方法中的密集点匹配都是基于人工特征和简单的度量策略,因此性能受到限制。
  近年来,随着计算能力和大数据的发展,卷积神经网络(CNNs)为不同的任务提供了多种解决方案,基于监督学习的CNNs在许多可视化任务中取得了巨大的成功。在用于立体匹配的监督神经网络中,将特征提取、代价体积计算和视差估计集成到端到端的网络中,需要视差标签进行监督训练。神经网络具有无监督特征学习的优点,能够充分利用立体图像提供的信息
  大多数的深度学习方法依赖于为培训提供了大量的标签数据。然而,在某些特定的任务中,获取差异是一个非常具有挑战性的问题。在无损静脉立体测量中,由于无法获得三维标记数据,使得监督学习困难。
  许多方法[5,34]尝试使用自监督单目和双目估计来估计差异。这种方法消除了对视差数据的依赖,不用直接计算视差,而是对左右图像进行重构。具体来说,网络提取左右图像特征,首先计算左右视差。其次,利用估计视差图重建立体图像,最后通过使重建图像与参考图像接近来训练网络。从这一点出发,这个过程就是寻找匹配的点对,并且与传统的方法相似。在立体图像中,点不能匹配的情况下,不可能估计遮挡区域的视差。此外,更复杂的结构使得训练变得困难,这导致了与监督方法的巨大差距。
  综上所述,无源三维测量在室内外清晰成像中得到了广泛的应用。然而,监督方法难以应用于生物组织的非侵入性检测。其主要原因是在没有入侵的情况下很难获得准确的标签,因此自监督方法适用于非入侵场景。生物手静脉无创检测存在三个问题:一是生物组织的吸收和散射特性导致常规成像对比度低;其次,手部静脉三维信息受到皮肤表面细节纹理信息的干扰,导致手部静脉性能较差;第三,无监督方法在细节和结构上都不如有监督方法准确。
  本文将传统的匹配策略与强大的自监督学习深度网络特征提取能力相结合,对双目静脉图像进行学习。
  增加感知损失函数和纹理去除操作,减少噪声对静脉数据的干扰。作为一种通用的匹配方法,我们的网络SDMNet可以通过微调对自身进行调整,适应不同的场景进行视差估计。
  们有三个关键的想法来实现这一点:1。设计了一种能够端到端训练的手部静脉自监督测量网络。2.在损失函数中加入感知损失,裁剪遮挡区域,提高视差优化,数据预处理减少了网络训练中噪声和皮肤反射的干扰。3.提出了一种用于血管穿刺、静脉曲张等病理诊断的高精度、无损的三维测量方案。
  相关工作:
  从经过校正的立体图像中计算密集视差图是一个经典的计算机视觉问题。在本节中,我们将回顾相关的立体匹配技术。
  经典立体匹配:根据优化理论的不同方法,传统的匹配算法可分为全局匹配和局部匹配。局部匹配方法[26,33]采用能量最小化策略,效率更高。然而,在能量函数中没有平滑优化,使得复杂遮挡、纹理和深度不连续的区域难以估计。相反,全局匹配算法的结果更精确,但运行时间较长,难以满足实时估计的要求。一般情况下,全局匹配算法如信念传播[32]、图割[13]等全局计算能量函数,利用杠杆优化得到所有视差值的最优解。为了综合全局匹配和局部匹配的优点,半球形匹配[8]采用全局匹配框架,但在计算能量函数最小化时,将二维最小化算法转化为全局框架下有效的一维路径聚合。半全局匹配方法在降低精度的同时,大大提高了效率。后处理方法也被用来完善差异的结果。杨[31]检测左右图像的一致性,增强健壮性。MRF[16,23]和CRF[15,25]在标记数据集出现后的后处理中也得到了广泛的应用,提高了处理的准确性。
  基于cnn的立体匹配:卷积神经网络在计算机视觉方面取得了巨大的成功,Mayer等人[19]构建了一个端到端网络来估计光流和视差。该网络采用编解码器结构,提取具有语义和细节的特征,并通过由粗到细的回归估计差异。罗等人首先用分类预测器代替回归器进行视差估计。在端到端网络中,GC-Net[11]结合了特征提取、代价卷积和正则化损失函数,并使用了三维卷积返回密集的亚像素视差。CRL[24]提出了一个由两级沙漏卷积神经网络构成的框架,利用残差网络对视差进行微调。利用二阶卷积网络对第一个网络生成的基于残差学习的视差图进行细化。无监督学习立体匹配:在无监督立体匹配网络中,利用空间变换网络[9]进行训练时,将视差估计转化为图像重建,不需要视差标签。在Monodepth[5,3]中,左右重建损失产生视差,左右一致性用来约束彼此。另一种方法是利用连续视频帧[18]不同角度的几何信息训练单目图像的端到端深度估计网络。最近,SsSMnet[36]根据左右图像的对称性,设计了一种对称的神经网络,改进了左右一致性函数,取得了最先进的结果。
  综上所述,现有的监督检测方法可以达到较高的精度,但难以应用于生物体的非侵入性检测。无监督和传统方法适用于地面真实难以获取,但在实际应用中精度难以满足要求的场景。从这一点出发,我们设计了一种改进的自监督方法,通过细化细节和上下文来提高匹配精度。
  SDMNet
  在这一部分中,我们提出了我们的自监督网络的立体匹配,混合损失函数,改进的区域学习策略。我们的目标是通过对左右图像的像素进行匹配得到密集的视差图,并利用感知损失函数对每个像素的视差进行细化。框架如图1所示。
  Self-supervised Framework
  我们的任务是从经过校正的立体图像对中预测密集的视差图。现有的方法大多将视差作为一种监督任务,但在许多情况下很难获得密集的视差标签,如手静脉测量。SDMNet学习单像素差异映射从左到右:
 在这里插入图片描述
  从右到左:
  
  然后估计左视差,用左视差图重建左图像:
  
  正确的图像可以用类似的方法重建:
  在这里插入图片描述
  通过比较参考图像 I I I以及重建图像 I ′ I^{'} I,我们可以构造损失函数来训练网络。经过训练过程,网络可以输出细微的差异 ( d l , d r ) (d_{l},d_{r}) (dl,dr) ( I r ′ , I l ′ ) ({I_{r}^{'}},{I_{l}^{'}}) (Ir,Il),估计差距地图,内在基线距离 b f 相机焦距,深度可以通过在这里插入图片描述
  二维特征提取
  我们没有直接匹配所有的左右像素,而是使用深度特征来提高一维的稳定性图片译文:度量信息匹配。在我们的网络中,我们使用二维卷积层来提取左右图像的深层特征。受最近的PSMNet[1]的启发,我们使用了几个级联的3×3卷积核来扩展接受域,同时减少网络参数的数量。然后利用特征金字塔结构(SPP)[7]提取上下文的多尺度信息。特征层输出通道数为32条,左右分支权值共享,满足左右特征对称。
  在这里插入图片描述
  在这里插入图片描述
  cost volume
  为了计算立体匹配,我们使用提取的深度特征将它们叠加到预设视差范围内的成本卷中。与这两个成本卷GC-net[11],假设퐷差异范围,形成一个 height x width x (D+1) x featuresize 成本体积。如图2所示,左边的蓝色方块代表了截肢像素地图从0到퐷,和红色方块代表了截肢的像素从0到D 地图。左和右特征分别交叉 D+ 1倍和左右功能连接形成一个最终成本体积.
  我们发现,该代价卷可以学习上下文信息,且在一维距离问题上效果较好。该结构的优点在于左右特征的水平截短符合寻找水平匹配点的物理模型规则。同时,为了降低三维卷积的计算复杂度,我们只对移位的特征进行叠加,去除冗余信息,同时保留左右图像上下文的信息。在某种意义上,我们通过匹配水平维上的左右图像得到视差图,并间接得到场景深度,而不是直接通过特性获得深度。
  3D CNN和回归:给定成本体积,我们可以使用成本体积来估计差距。为了将四维代价体积结合起来进行估计、高度、宽度、检测范围和特征尺寸,我们用三维卷积代替二维卷积。
  损失函数
  我们的完全自监督网络通过损失函数即重构误差约束来调整网络学习的方向。我们的整体损失由四个部分组成。它们分别是自监督损失、平滑正则化损失、左右视差一致性损失和感知损失,
  在这里插入图片描述
  其间 l a l , l a r {l_{a}}^{l},{l_{a}^{r}} lal,lar为使重构后的图像在像素和结构上相似, l s l , l s r {l_{s}}^{l},{l_{s}^{r}} lsl,lsr图像平滑的损失, l c l , l c r {l_{c}}^{l},{l_{c}^{r}} lcl,lcr为左右一致性约束, l p l , l p r {l_{p}}^{l},{l_{p}^{r}} lpl,lpr是知觉损失。 w a w_{a} wa, w c w_{c} wc, w s w_{s} ws w p w_{p} wp权重分别为 l a l_{a} la, l c l_{c} lc, l s l_{s} ls l p l_{p} lp
  
  **无监督损失:**视差图的精度间接反映了重建图像与参考图像之间的重建误差。类似于SsSMNet[36],我们的 l a l {l_{a}}^{l} lal被定义为:
  在这里插入图片描述
  在这里插入图片描述
  N在哪里输入图像像素的总数吗,∇I表示图像的一阶梯度, ∂ 1 , ∂ 2 \partial _{1},\partial _{2} 1,2 ∂ 1 \partial _{1} 1平衡结构相似性,图像的亮度相似度和梯度一致性。我们设置 ∂ 1 = 0.85 , ∂ 2 = 0.15 \partial _{1}=0.85,\partial _{2}=0.15 1=0.85,2=0.15 ∂ 3 = 0.15 \partial _{3}=0.15 3=0.15.根据STN[9]和[5],我们使用插值重建图像 I l I_{l} Il由差距 d l d_{l} dl和参考图像 I r I_{r} Ir。同样,正确的图像也可以重建。
  **平滑正规化损失:**对于正则化项,我们认为视差映射需要局部平滑以减少奇异性。这里我们使用第二种梯度的函数图像, I s I_{s} Is被定义为:
  
在这里插入图片描述
∇ x 2 ∇_{x}^{2} x2 ∇ x 2 ∇_{x}^{2} x2二阶梯度的图像在水平和垂直方向。 e − ∣ ∇ x I i j l ∣ , e − ∣ ∇ x I i j l ∣ e^{-\left | ∇_{x}I_{ij}^{l} \right |},e^{-\left | ∇_{x}I_{ij}^{l} \right |} exIijl,exIijl是平滑的因素。

左右视差一致性损失
  在模型中除了上述损失函数外,还应用了左三向一致性损失。与SsSMNet[36]不同,我们使用了一个更直观的循环,即图3所示的视差图之间的左右一致性。我们的任务是输出视差,而使视差的左右一致性更直接。
  在这里插入图片描述
  重建差距 d r ′ {d_{r}}^{'} dr可以通过翘曲左边差距 d l d_{l} dl右边差距 d r d_{r} dr。第二次重建左푑差距 d r ′ ′ {d_{r}}^{''} dr被扭曲푑生成 d r ′ {d_{r}}^{'} dr d l d_{l} dl。所以我们푙一致性约束 l c l l_{c}^{l} lcl是:利用这种左右一致性循环损耗,我们可以将左右耦合起来形成一个对称的网络。
  在这里插入图片描述
在这里插入图片描述
  3.2.2. Perceptual Loss
  在像素级任务中,一个非常重要的思想是利用卷积神经网络作为额外的损失函数来提取高级特征。受Johnson等人[10]的启发,我们的直觉是迭代地细化重建图像,使其在结构和细节上与参考图像相似。如图4所示,我们添加了一个额外的感知损失[10],它通过均方误差(MSE)计算高级特征的语义相似性。(特征提取与VGG16网络[28](提取VGG16在卷积5 _3层)上pre-trained ImageNet1k [2]。确定了预训练模型的参数。
  因此我们 l p l l_{p}^{l} lpl损失定义为:
  在这里插入图片描述
f l , f l ′ f^{l},f^{l^{'}} fl,fl为VGG-16得到的左参考图像和重构图像。
  3.3. Region strategy at training time
  我们使用STN[9]来横向弯曲,并使用左右视差图和输入立体图像来得到重建后的图像。如图5所示,重构后的图像边缘(黑色区域)始终没有显示任何信息。如果对所有像素都进行训练,那么自监督网络的性能将受到很大的影响。考虑到STN变换在立体匹配中的缺点,我们选择要约束的有效区域,即只约束有效区域,所以网络关注的领域vaid信息。对于差值范围从0到160,我们不限制左160范围的左视差或右160范围的右视差。在上述的损失函数中,我们只对图像的有效区域进行了选择性的约束,实际上降低了自监督中的噪声。
  
  4. 数据采集
  在本节中,我们将介绍手部静脉的数据收集。我们分别收集了模拟的手部静脉数据集(带有准确的标签)和真实的手部静脉数据集。采用模拟静脉数据集进行定量分析,采用真实静脉数据集进行定性分析。在模拟数据采集中,我们使用3.5mm直径的线作为模拟线,将丙烯酸板放在相机前模拟皮肤表皮的反射和散射。采集到的数据集样本如图6所示。
  4.1。立体图像对的获取
  我们使用两台19201200 CMOS单色相机
(BASLER’s ACA 1920-155um)拍摄立体图像,所有校正后的图像裁剪为256
512。采用张正友标定方法[35]对图像进行校正。我们在图6中展示了部分模拟图像和真实血管的立体对。
对于模拟的立体图像,我们使用0.5mm的丙烯酸板来模拟血管的模糊效果。对于real vein,我们在一个25mm的相机镜头上装配了一个高通850nm高通滤波器。[29]显示,在850nm波段,肌肉组织具有较强的反射特性,具有较强的血管吸收特性。同时利用主动结构光进行三维测量,视差标签误差小于0.1像素。
5. 实验
在本节中,我们将演示我们的实验设置。
为了评估我们的方法的性能,我们报告了我们的静脉数据集和公共数据集的结果。同时,我们分析了自监督方法中的知觉损失和区域策略。
  5.1。实验的细节
  我们在实验中使用了四个数据集:我们的模拟静脉数据集和真实静脉数据集,KITTI Stereo 2012[4]和KITTI Stereo 2015[21]。该网络采用PyTorch[22]实现。所有模型都是训练有素的首尾相连 Adam ( β 1 = 0.9 , β 1 = 0.999 ) (\beta _{1}=0.9,\beta _{1}=0.999) β1=0.9β1=0.999。所有的图像对在进入网络之前都经过预处理。它们的标准化范围是从0到1。所有模型的初始学习率均为1e-3, 4000次迭代后的学习率下降到1e-4。由于计算源有限,我们将批大小设置为1。训练中模拟和真实的静脉图像大小= 256,= 512,最大差距퐷范围设置为160。对于KITTI来说,图像是从原始图像中随机裁剪出来的,大小=256,= 512,最大差距퐷范围设置为160。我们设置 w a w_{a} wa= 1, w s w_{s} ws= 0.1, w c w_{c} wc= 1.5和 w p w_{p} wp= 0.3为所有实验。
  5.2. KITTI
  在这里插入图片描述
  我们的训练数据来自于KITTI的原始图像对,其中包含来自61个场景的42,382对图像。我们随机选择了3000双鞋从零开始训练。KITTI-2012包含194对训练和195对测试,而KITTI-2015包含200对训练立体对和200对测试立体对。在表1和表2中,我们分别用感知损失和区域约束模块对KITTI2012和KITTI-2015(3像素阈值)测试子集的性能进行了评估。我们的方法优于许多最先进的立体匹配方法。
  在图7和图8中,我们展示了我们的方法的定性结果,并与2012年和2015年KITTI数据集上的SsSMNet[36]进行了比较。
  在这里插入图片描述
在这里插入图片描述  在这里插入图片描述
  5.3。在模拟血管数据集上进行测试
  利用该方法对模拟静脉数据集进行了实验研究。我们将训练集(40对)、验证集(4对)和测试集(4对)的所有数据进行了分割。在图9中,我们展示了我们的方法在模拟血管数据集上的定性测试结果和误差图。基线方法是基于PSMNet骨干网实现的,具有左右一致性损失、ssim损失和平滑损失。基线方法在第二行可以得到如图9所示的结果,其中视差图中的前景部分是不连续的,视觉无关紧要。我们的方法在具有感知损失和区域约束的情况下,可以得到一个非常连续的视差图。
  
  在这里插入图片描述
  在表3中,我们对模拟的舰船地面真值数据测试了模型的性能。测试数据集的地面真值差异保留以供评估。这个公式
  
  
  
  MAE(平均绝对偏差)定义为:
  在这里插入图片描述
  从表3可以看出,结果有了很大的改善,误差度量从1.02下降到0.45,平均有感知损失和区域策略。所有像素的最终平均误差为0.45。
  5.4。对真实的容器数据集进行测试
  真实采集的静脉数据集包含手部表皮的纹理信息。为了减少皮肤纹理噪声对匹配的干扰,采用高斯滤波对图像进行平滑处理。图像的灰度值为[0,255]。
  为了显示效果,我们将血管图像显示在图10中。在加工前,表皮纹理丰富,尤其是在横线处。很难保证网络匹配的是静脉特征而不是表皮结构。经过处理后,表皮的纹理消失,大量的噪声被过滤掉,图像变得更加平滑。
  我们使用相同的方法对真实的船舶数据集进行训练,40对用于训练,4对用于验证,4对用于测试。在图11中,我们在我们的静脉数据集上展示了我们的方法的定性结果。为了验证所提出的感知损失和区域约束对真实血管数据集的有效性,我们训练了有感知损失和无感知损失以及区域策略的两种模型。利用两种模型生成的立体图像和视差图,对比表3中使用SSIM(越高越好)和L1距离(越低越好)重建图像与参考图像的相似性。在SSIM和L1指标上,我们的基于感知损失和区域策略的方法都比基线方法有更高的性能。
  6. 结论
  由于静脉标签难以获取,我们构建了一种基于输入立体图像的静脉自监督神经网络。一个更好的成本体积用于总成本;提出了一种新的训练损失函数——感知损失函数,该函数利用图像映射中的循环约束;采用一种新的区域策略,提高了网络的收敛性,提高了匹配精度;在损失函数中加入了视差损失的左右一致性,提高了网络的健壮性。实验表明,该方法对模拟静脉数据具有较高的精度。该网络在KITTI数据集上也取得了令人印象深刻的效果,甚至优于一些监督方法。我们将继续研究,更好地解决静脉数据中图像模糊的问题。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值