首个可用于深度学习的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)
blank

相关推荐

  • clion激活码2020_通用破解码

    clion激活码2020_通用破解码,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 9千字长文带你了解SpringBoot启动过程–史上最详细 SpringBoot启动流程-图文并茂

    9千字长文带你了解SpringBoot启动过程–史上最详细 SpringBoot启动流程-图文并茂来自面试官发自内审深处的灵魂拷问:“说一下springboot的启动流程”;一脸懵逼的面试者:“它简化了spring的配置,主要是因为有自动装配的功能,并且可以直接启动,因为它内嵌了tomcat容器”;面试官:“嗯,没错,这是它的一些概念,你还没回答我的问题,它是怎么启动的,启懂时都经过了哪些东西?”;一脸懵逼的面试者:“额~~~不知道额····,我用的很熟练,但是不知道它里面做了哪些事情!”;面试官:“了解内部原理是为了帮助我们做扩展,同时也是验证了一个人的学习能力,如果你想让自己的职业道路.

  • 设计模式(五)适配器模式Adapter(结构型)

    设计模式(五)适配器模式Adapter(结构型)设计模式(五)适配器模式Adapter(结构型)1.概述:接口的改变,是一个需要程序员们必须(虽然很不情愿)接受和处理的普遍问题。程序提供者们修改他们的代码;系统库被修正;各种程序语言以及相关库的发展和进化。例子1:iphone4,你即可以使用UBS接口连接电脑来充电,假如只有iphone没有电脑,怎么办呢?苹果提供了iphone电源适配器。………

  • html页面调用高德地图,html前端使用高德地图入门教程「建议收藏」

    html页面调用高德地图,html前端使用高德地图入门教程「建议收藏」文章目录开始准备工作注册Key前期页面上的准备插件使用插件使用步骤引入插件定位自定义地图显示位置和缩放级别添加实时路况图层获取定位信息(需要使用插件)浏览器定位IP定位获取当前城市信息覆盖物添加覆盖物获取覆盖物覆盖物的操作图层设置图层获取图层移除图层3D地图未完待续…开始准备工作注册Key如果开发者账号包括Key已经有了,请忽略此步骤首先,注册开发者账号,成为高德开放平台开发者登陆之后,在进入…

  • ExecuteReader报错,语法错误

    ExecuteReader报错,语法错误先上图:随后我就死命的看自己的sql语句,可是看来看去,也看不出问题,明明是很对的。。。最后,到处查找解决方案,终于在论坛见到了大神的一句:“你输入的是中文字符的空格!”然后我赶紧回来一看,果然是。。。。。。瞬间蛋碎了一地。。。。sql语句莫名报语法错误的时候,赶紧仔细检查下时候是空格问题,这个问题很难发现!!!!!

  • 小米6最好用的系统版本[通俗易懂]

    小米6最好用的系统版本[通俗易懂]小米6最好用的系统版本小米6最好用的系统稳定版10.4.3首先说一下为什么这个版本的系统我认为最好用,因为自己是米粉,也比较喜欢用最新的系统,去年用小米6收到了10.4.2版本的系统更新,体验之后感觉真的很nice,安卓9流畅度提升非常高,包括软件的启动速度,各项反应,但是有一些小瑕疵,比如断流,软件闪退,系统掉帧,然后过了一段时间小米推送了10.4.3稳定版,修复了这三个问题,体验至今为止,没有其他任何问题该版本优点总结如下第一,该版本基于miui10,系统简单易用,基本上算是miui的一个小成的

发表回复

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

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