首个可用于深度学习的ToF相关数据集!基于置信度的立体相机以及ToF相机深度图融合框架…

首个可用于深度学习的ToF相关数据集!基于置信度的立体相机以及ToF相机深度图融合框架…点击上方“计算机视觉工坊”,选择“星标”干货第一时间送达作者|cocoon编辑|3D视觉开发者社区目录✦contents1.概述2.方法以及网络结构2.1使用网络学习置信度2.1.1训练细节2.2双目以及ToF视差的fusion3.合成数据4.实验结果4.1测试集场景4.2置信度估计结果4.3视差估计定性以及定量结果5.参考文献附录:数据…

大家好,又见面了,我是你们的朋友全栈君。

点击上方“计算机视觉工坊”,选择“星标”

干货第一时间送达

39890657d22072b9a15a761097b5fc99.png

作者 | cocoon

编辑 | 3D视觉开发者社区

目录 ✦

 contents

1. 概述

2. 方法以及网络结构

2.1 使用网络学习置信度

2.1.1 训练细节

2.2 双目以及ToF视差的fusion

3. 合成数据

4. 实验结果

4.1 测试集场景

4.2 置信度估计结果

4.3 视差估计定性以及定量结果

5. 参考文献

附录:数据说明

e750b3e4e94d4260679b339239c9d05e.png

论文名称: Deep Learning for Confidence Information in Stereo and ToF Data Fusion

论文链接: https://openaccess.thecvf.com/content_ICCV_2017_workshops/papers/w13/Agresti_Deep_Learning_for_ICCV_2017_paper.pdf

数据链接: https://lttm.dei.unipd.it//paper_data/deepfusion/

01

概述

这篇文章提出了一个用于立体相机以及ToF相机深度图融合的框架。其中的关键在于分别得到ToF深度与立体深度的置信度。在两个深度图之间的融合过程中,基于置信度信息施加了局部一致性的约束。

此外,文章的一个比较大的贡献是,提供了一套可用于深度学习网络训练的合成数据集。网络的训练以及测试,均在该数据集上进行。

实验结果表明,该融合框架可以有效地提升深度图的精度。

02

方法以及网络结构

在假定立体采集系统以及ToF系统均已标定的情况下,算法包含以下四个步骤:

  1. 由ToF sensor得到的深度信息首先被投影到参考的立体相机视角上;

  2. 由立体匹配算法计算得到一个高分辨率的深度图。具体地,在该论文中使用了SGM算法;

  3. 使用CNN网络估计得到立体视差以及ToF深度图的置信度;

  4. 将上采样的ToF输出结果以及立体视差进行融合,融合的方式是LC(Mattoccia 等,2009)技巧的扩展版本。

    22a4f02d0abe454898db7b19b92e48c4.png

2.1 使用网络学习置信度

对于某一个场景  而言,首先有以下定义:

  •   :投影至立体系统的ToF视差图;

  •   :投影至立体系统的幅值图;

  •   :立体系统得到的视差图;

  •   :已经转换为灰度的立体系统的右图

  •   :warp到右图视角的左图(已经转换为灰度)

  •   :基于两步骤处理warp的左图和右图之间的差值,首先有:

其中,缩放因子  以及  分别由左右影像计算而得。该计算结果之后将再除以一个  ,即训练数据集内所有场景下的  的标准差的平均值:

此外,还有:

其中的 ,, 均为训练集内多个场景的标准差的平均值。

最终, ,, 在一起,形成四通道的输入,喂入CNN,输出则为分别对应于ToF数据以及Stereo数据的置信度图  和  。

网络推理结构的示意图如下所示:

e1a6e4ba83ddf1ef66aafa54887b1ff3.png

输入CNN的训练图像块的shape为142 * 142大小的4通道图。中间堆叠的网络则为6个带有ReLU的卷积层,除了最后一个卷积不带卷积层。前5个卷积层,每层都有128个滤波器,第一层的窗口大小为5 * 5,其他则为3 * 3。最后一层卷积只有两个滤波器,进而使得输出只有两个通道,这两个通道分别包含估计的ToF以及立体图的置信度。注意到,为了能够使得输出与输入同分辨率,没有使用任何的池化层。同时,为了应对由卷积引起的尺寸缩减问题,事先将每张影像都向外pad 7个像素。

2.1.1 训练细节

通过从完整的影像上随机裁剪得到图像块(pad后为142 * 142),可以获得数量可观的训练数据。在训练中,可以使用一些标准的数据增强方式,比如说旋转正负5°,水平以及垂直方向的翻转等。在实验中,从每张图上提取30个patch,再考虑到其增强的版本,总共可以获取到6000个patch。

无论是ToF数据,还是双目数据,其置信度的GT均由估计得到的视差值与GT视差之间的绝对差值而决定。更为具体的,置信度的计算方式是:首先给定一个阈值,将大于该阈值的值clip掉,然后再除以该阈值,使得所有的置信度都落于[0,1]之间。

用于训练的损失函数,则计算了网络估计得到的置信度与置信度GT之间的MSE。

优化器采用了SGD,动量大小为0.9,bs=16。权重初始化方式为Xavier初始化。初始的学习率为  ,学习率衰减系数为0.9,每隔10轮衰减一次。网络具体的实现采用了MatConvNet的结构。在i7-4790CPU以及NVIDIA Titan X GPU配置的PC上,网络训练需要大约三个小时。

2.2 双目以及ToF视差的fusion

LC指代Local Cosistent,是一个用于优化立体匹配数据的方法。在这个方法背后的思想是,每一个有效的深度估计都应当是关于数据颜色体现以及空间一致性的函数。而这种合理性,更是会进一步地传播到邻近的像素上。在最后,每一个点上都会聚集来自各路的合理性,并经由WTA的方式得到最终的视差值。在网络中使用的参数为: 

, 。LC的扩展方法之一为:根据置信度对多源的深度估计进行加权处理,公式为:

其中,  以及  分别是ToF系统以及Stereo系统在像素g上的置信度。在文章中,该置信度由网络估计而得。

03

合成数据

这篇论文另一个比较大的贡献是,提供了一个名为SYNTH3的合成数据集,这个合成数据集可以直接被用于深度学习网络的训练,其中包含了40个场景(20个场景为各自不同的唯一的场景,另外20个为对前20个场景的不同角度的渲染结果)。尽管场景数量并不多,但相比起当时所有的数据集来说,已经是最大的stereo-ToF数据集了,而且还能够保持不同场景的不同特性,已非易事。

测试集则包括从15个唯一的场景中采集的数据。每一个合成数据都通过Blender的3D 渲染功能实现,具体是通过使用虚拟的相机对场景进行渲染。

不同的场景包括了家具以及其他不同形状的物体,也包括了室内的不同环境,比如说起居室、厨房或者办公室。此外,数据中还包括了一些几何结构不规则的室外场景。总的来说,数据看起来相对真实,且比较适合Stereo-ToF采集的模拟。场景中的深度距离在50cm到10m之间,提供了比较广的测量范围。

在仿真场景下,虚拟地放置了一个与ZED立体相机参数一致的立体相机,以及一个仿照了Kinect v2相机参数的ToF相机。立体成像系统的基线长度为12cm。二者的相关参数具体为:

4fcc00fb95106f13c754291e99bd6d5a.png

Stereo-ToF系统的示意图:

4c46be88a3dade6d3a2c2d95a757c0a5.png

对于每一个场景来说,数据集包括:(1) 立体系统采集的左右图1920 * 1080 大小的彩色图像;(2) ToF系统估计得到的深度图;(3) ToF系统得到的相关幅值图。

彩色图像可以直接由Blender中的3D渲染器 LuxRender得到,ToF相机则使用Sony EuTEC开发的ToF-Explorer仿真器得到。ToF模拟器使用由Blender以及LuxBlender生成的场景信息作为输入。此外,该数据集还包含了场景的深度真值(与立体相机的右图对齐)。SYNTH3应当是第一个可以用于深度学习的ToF合成数据集。

04

实验结果

文章提出的融合算法的训练以及测试都在SYNTH3数据集上。

4.1 测试集场景

0cd1f863b5eb21a275bc7bf3b764e950.png

4.2 置信度估计结果

9c0768053eb7ee1d7c7549d2ac78655d.png

4.3 视差估计定性以及定量结果

f1b07eb5929ba7f56faea791b8b36065.png53d3712795e4bf93ee7e759fd36bb989.png

05

参考文献

[1]  S. Mattoccia. A locally global approach to stereo correspondence. In Proc. of 3D Digital Imaging and Modeling (3DIM), October 2009. 2, 3, 5

附录:数据说明

文章提供的SYNTH3 数据的下载地址为:https://lttm.dei.unipd.it//paper_data/deepfusion/。

对于数据集中的每一个场景,都有:

  1. 512 * 424的 ToF深度图;

  2. 投影到立体系统视角的ToF深度图,分辨率为960*540;

  3. 分别于16、80、120MHz频率采集的ToF amplitude图,分辨率为512 * 424;

  4. 在120 MHz频率上获得的、且已经投影至立体相机视角的ToF amplitude图;

  5. 在16、80、120 MHZ频率上分别获得的512 * 424分辨率的ToF 强度图;

  6. ToF视角的GT深度图;

  7. 立体系统获得的左右视角的彩色图像,分辨率分别为1920 * 1080;

  8. 由立体相机估计得到的视差图以及深度图,分辨率为960 * 540,右图视角;

  9. 立体相机右图视角上的GT深度以及GT视差图。

版权声明:本文为奥比中光3D视觉开发者社区特约作者授权原创发布,未经授权不得转载,本文仅做学术分享,版权归原作者所有,若涉及侵权内容请联系删文。

本文仅做学术分享,如有侵权,请联系删文。

干货下载与学习

后台回复:巴塞罗自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件

后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf

后台回复:3D视觉课程,即可学习3D视觉领域精品课程

计算机视觉工坊精品课程官网:3dcver.com

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

15.国内首个3D缺陷检测教程:理论、源码与实战

重磅!计算机视觉工坊-学习交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

3f37f0f3461bf7fc2bbfe4204511023b.png

▲长按加微信群或投稿

de852c90d5118f16462403ae42728dfb.png

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

865abf325fd194f231b9d45ded7aea7c.png

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/141463.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • windows下github 出现Permission denied (publickey).解决方法

    windows下github 出现Permission denied (publickey).解决方法

    2021年10月12日
  • SpringBoot 快速开启事务(附常见坑点)「建议收藏」

    做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!序言:此前,我们主要通过XML配置Spring来托管事务。在SpringBoot则非常简单,只需在业务层添加事务注解(@Transactional )即可快速开启事务。虽然事务很简单,但对于数据方面是需要谨慎对待的,识别常见坑点对我们开发有帮助。1.引入依赖 <!–依赖管理 …

  • 汉字的URL转义字符函数

    publicclasszhuanyi{publicstaticvoidmain(String[]args){//中文字符串转义Stringbase=”\u5B66\u53F7″;for(inti=0;iSystem.out.print(base.charAt(i)+””);System.out.println();}}

  • java 整数规划_线性规划与整数规划求解速度对比

    java 整数规划_线性规划与整数规划求解速度对比文章发表于微信公众号【数据魔术师】:线性规划&整数规划求解速度PK线性规划&整数规划求解速度PK​mp.weixin.qq.com相信大家对线性规划和整数规划应该不陌生,在开始今天的问题之前我们不妨再来复习一下这两个概念,毕竟温故而知新嘛线性规划与整数规划线性规划是这样定义的:求解线性规划问题的基本方法是单纯形法,后来又有改进单纯形法、对偶单纯形法等。而整数(线性)规划则是在线性规…

  • Web后端开发入门(1)

    Web概述:    在英语中web表示网页的意思,它用于表示Internet主机上供外界访问的资源。Internet上供外界访问的Web资源分为:    1.静态Web资源(如html页面):指web页面中始终不变的数据。    2.动态Web资源:指web页面中供人们浏览的数据是由程序产生的,也就是实时变化的数据。动态Web应用的实现手段:    静态web开发技术有html,常用动态web开发…

  • 普林斯顿体系架构和哈佛架构的区别_边和 普林斯顿

    普林斯顿体系架构和哈佛架构的区别_边和 普林斯顿目前接触到的单片机架构就这两种:普林斯顿体系和哈佛结构:两者的主要区别是:codememory和datememory是不是分开存放。普林斯顿体系是程序存储器和数据存储器集合一体的架构;MEMORY单总线到CPU,这样在一个工作周期中:读指令—译码—-取数据过程中,读指令和取数据两次访问不得不分开按次序执行,效率低;特别是这样的设计使得CPU在访存时遇到了很大的瓶颈,特别是现在C

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号