前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Depth Perception with cGAN cyclegan做视觉深度学习

Depth Perception with cGAN cyclegan做视觉深度学习

作者头像
用户1908973
发布2018-07-24 14:59:24
5540
发布2018-07-24 14:59:24
举报
文章被收录于专栏:CreateAMindCreateAMind

论文一篇:

http://cs231n.stanford.edu/reports/2017/pdfs/200.pdf

1.multi-scale deep network, outperformed most other meth- ods in nearly every metric. Inspection of the output maps, however, shows that the images produced are extremely blurry. So while they are able to achieve low average er- ror, their utility for practical depth mapping applications is limited. 生成的深度图模糊,原因在于优化目标是平均像素误差。 2.CycleGAN is able to best retain the image features with clear definition, but often with high error in the depth-space representation. 生成深度图比较清晰,特征重建较好,而像素级误差较大,原因在于优化目标是特征级误差。 3.改进方向 设计损失函数,使其能同时优化像素级误差和特征级误差。

二 博客一篇

http://www.k4ai.com/depth/index.html

是否有可能训练单眼深度感知的cGAN(条件生成对抗网络)模型?

如果答案是肯定的话,那么这意味着我们有一种方法允许一个人造系统获得关于物理世界中的距离的一些基本概念,只从平面图像学习,从无到有。

本报告提出的培训类型如下:

  1. 首先,我们对许多对象或环境的静态图像进行训练,其中第一个图像是全色照片,第二个图像是彩色照片的深度图(见图1)为例)。任何两个图像对之间没有特殊的关系。
  2. 培训结果令人满意之后,这个训练有素的cGAN可以用来将一张看不见的照片转换成合适的照片深度图。换句话说,这个cGAN将会实现单眼深度感知。

有些人可能会认为上述前提是有问题的,所以让我们先来看看:

  1. 如果系统已经有创建培训所需的深度图的设备,那么为什么系统需要了解呢? 一个可能的原因是,一旦你已经训练了这个系统来自己检测深度,那么你可以很便宜地部署这个系统很多次,而没有相对昂贵的深度检测硬件(假设你不需要更高的精度等) )。 另一个原因是,显示cGAN可以做到这一点没有预编程的逻辑,实用性是很酷的。
  2. 至少在培训阶段,我们将需要一些深度感知硬件是不可避免的吗? 不必要。可以想象,我们可以在诸如DeepMind实验室的虚拟世界中训练这样的系统,其中可以在没有特殊硬件的情况下获取标准相机视图和深度信息。如果这样一个虚拟世界的细节足够丰富,那么也许有可能把这里学到的深度感知能力应用于物理世界。
实验目标

在本报告中,我们将通过一系列实验研究上述前提。在这里,我们寻求以下问题的初步答案:

图2a。这是来自Regime-V数据集的示例图像对,其中人为创建的虚拟场景只包含简单的对象,照明和完美的深度图。

图2b。这是来自Regime-R数据集的示例图像对,它们是包含复杂和不可预测对象的现实场景,许多具有通过深度感测设备获取的故障深度图。

  1. 可以使用像没有发明的cGAN方法来处理深度感知,从单目静态图像中训练深度感知?cGAN会在训练过程中学会绘制完美的深度图,然后在测试过程中惨败吗?
  2. 哪种培训制度更容易:从干净简单的虚拟场景进行培训(参见图2a,称为Regime-V,V为虚拟),或从复杂和凌乱的现实世界场景进行培训(见图2b,简称Regime- R,R为真实世界)?
  3. 哪种培训制度更广泛?换句话说,下面哪一个会给我们更好的结果?
    • 首先从Regime-V的虚拟场景中训练,然后使用Regime-R的现实场景测试训练有素的模型。
    • 从Regime-R的现实世界场景中的第一列火车,然后使用Regime-V的虚拟场景测试训练有素的模型。

值得一提的是,这是一个关于这样的研究方向是否需要进一步调查的初步研究,因为它不包含使用大量数据集的大规模试验。对结果质量的判断是通过仔细分析进行的,但也有些主观,并且没有尝试使用正式研究论文中通常所做的精确实验数字来支持。

本研究背景

在我的最后一个实验中,使用DCGAN 生成Photo-actual Avatars,表明可以使用DCGAN(Deep Convolutional Generative Adversarial Networks)来综合使用受限于数量有限的图像或特定人物的视频训练的模型来合成逼真的动画面部表情。

在另一份报告中,我们调查了使用cGAN构建人脸神经模型的想法(如在带有条件生成对抗网络的Image-to-Image Translation,简称pix2pix文章)中所描述的,并将其应用于目的从特定人物的黑白素描图像(拍摄或手绘)合成照片真实图像。

总体而言,这些研究旨在实现从交互式语言命令构建复杂而逼真的3D对象或环境的长期目标(参考:如何构建Holodeck)

实验装置

实验设置如下:

  1. 硬件:Amazon AWS / EC2 g2.2xlarge GPU实例(当前一代),8个vCPU,15GB内存,60GB SSD。
  2. 软件:
    1. Amazon AWS EC2 OS映像(AMI):ami-75e3aa62 ubuntu14.04-cuda7.5-tensorflow0.9-smartmind。
    2. 火炬7,Python 2.7,Cuda 8
    3. cGAN实现:pix2pix:基于纸张的图像到图像翻译与有条件生成对抗网络的cGAN的火炬实现,Isola等人
  3. 数据集:本报告中使用两个数据集。应该注意的是,这两个数据集在不同的灰度级显示深度,其中一个标记为近黑色,而另一个标记为黑色。
    • 路易斯Foucard贡献的Foucard数据集是一个Python Blender脚本,用于创建大量的随机3D场景和相应的立体图像和深度图。参见图2a的样本图像对。此数据集用作我们的Regime-V数据集。它只包含少数几何对象,具有非常简单的照明和颜色。由于场景是虚拟的,深度图是完美生成的,没有通过深度感测设备获取的基于真实世界的深度图的伪像和不准确。 原始数据集具有彩色图像的立体视图。在本报告中,我们随机选择左眼视图进行实验。

    图3.顶部有大面积黑色神器的不合适的深度图图像(右侧)的示例。

    • 太阳RGB-D数据集(直接链接到一个压缩文件,以及一个6.9GB处理版本通过共享布兰农·多尔西从)SUNRGB-D立体物检测挑战的的普林斯顿视野与机器人实验室,其被用作制度-R数据集为我们的实验。普林斯顿数据集中的深度图图像的一部分被认为质量太低(参见图3),并且不利于cGAN的训练,所以它们被手动排除。
  4. 训练参数。除非另有说明,所有训练课程使用以下参数:批量大小:1,L1正则化,beta1:0.5,学习率:0.0002,图像水平翻转以增加训练。所有的训练图像都被缩放为286像素宽度,然后裁剪到256像素宽度,在该过程中应用较小的随机抖动。
实验1:使用虚拟场景进行训练

在本实验中,我们使用Foucard数据集中的 1500个图像对进行训练,并使用150个图像对进行测试。训练时间为4小时,使用给定的设置。

图4a。一个很好的测试结果的例子,其中经过训练的系统生成与Foucard数据集(右侧)密切匹配的深度图(在中心)。

图4b。不合格测试结果的示例,其中经过训练的系统生成深度图(在中心),误差判断场景左侧锥体的深度。

使用测试样本的评估表明,系统已经学会了将输入的彩色图像转换成与测试数据集中的相应深度图非常接近。特别是(见图4a),系统已经学会忽略了墙壁上的照明图案,以及物体的颜色和阴影,这在决定深度方面无任何作用。

系统显示弱点的一个领域是判断深度,在某些情况下,它的深度要么不完美,要么简单的不正确。图4b示出了在输出图像中左侧的锥体在测试输入(在左侧)处产生(在中心处)的情况。由于这样的缺陷通常会随着更多的培训样本而改善,所以我们将cGAN评估为整体能够学习深度图,并且也非常有效。

实验#2:训练与现实世界的场景

在本实验中,我们使用SUN RGB-D数据集中的86个图像对进行训练,并使用198个图像对进行测试。培训时间为12小时,使用给定的设置。这里使用的少量样本是由于难以手动筛选数据集中的低质量深度图,以及此时可用资源的限制。

图5a。输出图像(在中心)由来自输入(左侧)的经过训练的cGAN生成,这被认为在解析为正确的深度方面通常是非常好的。

图5b。测试输出(中心图)显示出良好的前景,有很大的改进空间。

图5c。动画GIF通过创建Depthy使用深度图由cGAN了解到,这表明合理的深度效果。

图3显示了在SUN RGB-D数据集中普遍存在的典型的有缺陷的深度图,其被排除在训练之外。然而,这样的样品保持测试作为与生成的深度图进行比较的基准。

使用测试样品的评估显示混合结果。在某些情况下,该模型已经学会了将输入的彩色图像转换为与数据集中相应的深度图非常接近。图5a中的示例表明,该模型已经学会忽略了墙壁上的照明模式,对象的颜色和阴影,并且深度感知总体上相当不错。

图5b显示了中间质量的测试结果。请注意,SUN RGB-D数据集(右侧)的深度图包含左上角的大面积的黑色伪影,而比较由照片生成的深度图(中心图像)(左图)训练有素的cGAN在同一地区显示出更合理的结果。然而,椅子有些不完整。

值得注意的是,Brannon Dorsey在Branger_Briz数字研发实验室进行的单独实验,使用相同的pix2pix实现的3500个样本训练数据集不会受到图5b所示的问题的影响,即使没有手动筛选出低质量的样本。所以似乎是这样的问题是训练不足的结果,低质量的训练样本可以克服足够大的数据集。

总体而言,我们认为该模型已经证明了学习制作一般正确的深度图的能力,观察到的问题可能是由于训练不足或培训深度图的质量。

实验#3:从虚拟场景扩展到实际场景

在本实验中,我们使用基于使用虚拟场景的Regime-V的实验#1训练的模型,并将其应用于具有现实场景的Regime-R测试数据集。

图6.该实验的测试结果普遍较差,其中由虚拟场景训练的模型从现实世界场景(左图)生成的深度图(中心图像)不显示任何深度的理解。

该实验的测试结果的质量被判断为极低,其中训练的Regime-V模型在现实世界场景中对深度的理解很小(参见图6)。在图6中可以看出,输出(中心图像)仅仅是输入图像的模糊灰度版本,仍保持不相关的光和阴影,像素级灰度级与深度无关。

显然,Regime-V训练数据集的虚拟场景不包含足够的线索,以允许模型覆盖现实世界场景。对于进一步的研究,找出什么样的虚拟场景数据集足以训练一个令人满意的测试现实世界场景的模型将是有意义的。例如,如果我们在DeepMind Lab的 3D学习环境中培训一名cGAN代理,那么这样的代理人是否可以很好地移植到在物理世界中导航的物理机器人?

实验#4:从真实场景扩展到虚拟场景

在这个实验中,我们使用基于Regime-R的实验#2训练的模型,使用现实世界场景,并将其应用于包含虚拟场景的Regime-V测试数据集。

图7.与地面真相深度图像(右侧)相比,生成的输出深度图(中心图像)显示差的结果。对于整个Regime-V测试数据集就是这种情况。

该实验的测试结果的质量判断为非常差(参见图7)。总共158个测试样本都是这样的,其中来自Regime-R数据集的那些幻影家具的阴影几乎可见。

显然,Regime-R和Regime-V训练数据集中的样本是完全不同的,结果是不可转移的。

概要

我们发现训练cGAN对静态图像对的单眼深度感知可能是可行的,实验应该用更多品种的更大的训练数据集来扩展。对于真实世界的照片,对于Regime-R的培训,对于Regime-V数据集的训练需要更长的时间,这可能是由于现实世界场景的复杂性以及通过深度感测设备获得的深度图的质量差。

上述实验完全由其他人提供的现有数据集进行。除了现实世界深度图的质量问题之外,在不同数据集中使用的深度图颜色不一致也存在问题,这使得难以在不进行进一步处理的情况下将它们一起使用。随着低成本深度感应设备(如Google探戈,更高分辨率的Kinect或适用的智能手机深度感应应用)的出现,使用针对特定领域的自发数据集(例如, ,人脸或姿势等)。

那么这怎么可以实际使用呢?虽然在理论上,这种深度知觉能力可以应用于机器人导航等领域,但目前的形式也许太原始与其他更成熟的基于ANN的方法具有竞争力。然而,如果这种方法的鲁棒性可以在进一步的研究中得到证明,那么可以想象的是,它可以用于向大量可用的照片或视频添加低精度的3D透视图。

向前走

目前有几个可能的研究方向:

  1. 用更大的数据集进行测试以确认结果。
  2. 测试与户外场景,动物,人和面孔。
  3. 用立体数据集进行测试。
  4. 用视频进行测试,可能涉及将cGAN扩展到时域,或者从VideoGAN借用一些想法。
  5. 在丰富的交互式虚拟3D世界中进行测试,例如DeepMind实验室。还要学习如何在这样的虚拟世界中将深度感知与代理行为和后果联系起来。
即将到来

可以对cGAN进行训练,以执行自动图像操作,例如擦除照片中的背景,对齐和调整面部大小等?我们将在一个单独的文章中探讨这个话题。

致谢

应用cGAN深度感知的想法最初来自Brannon Dorsey在Branger_Briz数字研发实验室,他也慷慨地分享了他在这里的实验中使用的数据集和模型。

我想表达我对pix2pix团队出色的论文和实现的感谢。没有这项工作将难以完成。

我还要感谢Louis Foucard和Princeton Vision&Robotics Labs提供他们的数据集。

最后但并非最不重要的是,我要感谢陈冯臣帮助收集和处理项目所需图像的不间断过程。

参考
  1. Isola等人,Image-to-Image Translation with Conditional Generative Adversarial Networks,2016。
  2. pix2pix,cGAN的Torch实现
  3. 在路易斯·福卡德数据集
  4. 从太阳RGB-D数据集(SUNRGBD.zip)SUNRGB-D立体物检测挑战的的普林斯顿视野与机器人实验室
  5. Vondrick et al,Generating Videos with Scene Dynamics,2016。
  6. Kendall et al,PoseNet:A Convolutional Network for Real-time 6-DOF Camera Relocalization,2016. Video,article,source code(Caffe,Tensorflow)。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-10-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CreateAMind 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实验目标
    • 本研究背景
      • 实验装置
        • 实验1:使用虚拟场景进行训练
          • 实验#2:训练与现实世界的场景
            • 实验#3:从虚拟场景扩展到实际场景
              • 实验#4:从真实场景扩展到虚拟场景
                • 概要
                  • 向前走
                    • 即将到来
                      • 致谢
                        • 参考
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档