可视化反投射:坍塌尺寸的概率恢复:ICCV9论文解读

Visual Deprojection: Probabilistic Recovery of Collapsed Dimensions

论文链接:

http://openaccess.thecvf.com/content_ICCV_2019/papers/Balakrishnan_Visual_Deprojection_Probabilistic_Recovery_of_Collapsed_Dimensions_ICCV_2019_paper.pdf

摘要

我们介绍视觉投射:恢复沿维度折叠的图像或视频的任务。投影出现在各种情况下,例如长曝光摄影,动态场景被及时折叠以产生运动模糊图像,以及角部相机,其中场景中反射的光由于边缘遮挡器而沿空间维度折叠以产生1D视频。反投影是不适定的——通常对于给定的输入有许多合理的解决方案。我们首先提出了一个捕捉任务模糊性的概率模型。然后,我们提出了一种以卷积神经网络为函数逼近器的变分推理策略。在测试时从推理网络中采样,从与给定输入投影一致的原始信号分布中产生可能的候选信号。我们在多个数据集上对该方法进行了评估。我们首先证明了该方法可以从空间投影中恢复人体步态视频和人脸图像,然后证明该方法可以从通过时间投影获得的剧烈运动模糊图像中恢复运动数字视频。

1.       Introduction

捕获的视觉数据通常是高维信号沿某个维度“折叠”的投影。例如,长曝光、运动模糊的照片是通过沿时间维度投影运动轨迹而生成的[11,25]。最近的“角摄像机”利用角状封堵器垂直投射隐藏场景的光线来产生1D视频[4]。医用x射线机使用空间投影射线照相术,其中x射线由发生器分布,成像解剖影响探测器捕获的信号[26]。给定投影数据,是否可以合成原始信号?

在这项工作中,我们提出了一个算法,使这种合成。我们的重点是从空间投影中恢复图像和视频,并从通过时间投影获得的长曝光图像中恢复视频。投影的高维信号的反转任务是不适定的,这使得在没有对真实信号的先验或约束的情况下,任务是不可行的。这种模糊性包括空间投影中的对象方向和姿势,以及时间投影中的“时间箭头”[43](图1)。我们利用的事实是,由于给定域中的共享结构,大多数自然图像的有效维数通常比像素表示低得多。我们通过为给定投影的信号生成建立概率模型来处理这种模糊性。该模型由我们用卷积神经网络(CNNs)实现的参数函数组成。利用变分推理,我们得到了一个直观的目标函数。在测试时从这个反投影网络中进行采样,产生与输入投影一致的信号的合理示例。从部分观测数据中恢复高维数据的计算机视觉文献非常丰富。单图像超分辨率[15]、图像去上色[46]和运动模糊去除[14]都是特例。在这里,我们关注的是完全移除空间或时间维度的投影,这会导致信息的严重丢失。据我们所知,我们的方法是第一个通用的恢复方法,存在一个塌陷的维度。

我们基于相关问题的洞察力,开发出一个第一个解决方案,用于将外观和运动提示(在视频的情况下)外推到看不见的维度。特别是,我们利用了基于神经网络的综合和随机预测任务的最新进展[2,17,44]。我们从定量和定性两方面评价我们的工作。我们证明了我们的方法可以从二维时空图像中恢复步态视频的分布,从一维空间投影中恢复人脸图像。我们还证明了我们的方法可以使用移动MNIST数据集对运动模糊图像条件下的视频分布进行建模[37]。

2.       Related Work

2.1.  Corner Cameras

投影在计算机视觉中起着中心作用,从图像形成的最初阶段开始,即从三维世界发出的光投射到二维平面上。我们关注一类特殊的投影,其中高维感兴趣的信号沿一维折叠以产生观测数据。

角部相机利用隐藏场景中的反射光,被有边缘的障碍物遮挡,从而“看到拐角处”[4]。从场景中反射的光线从相对于角的同一角度位置垂直整合,生成1D视频(一维+时间)。该研究使用一维视频的时间梯度粗略地表示出人体相对于角落的角度位置,但没有重建隐藏场景。作为这项困难重建任务的第一步,我们展示了视频和图像在折叠一个空间维度后可以恢复。

2.2.  Compressed Sensing

压缩传感技术通过寻找欠定线性系统的解,有效地从有限的观测数据重建信号[8,12]。这是可能的,因为在适当的基础上自然信号的冗余。有几种方法表明,即使在随机选择数据的情况下,也可以通过凸优化从少量(1000s)数据精确地重构信号[6,7,16]。我们处理一个极端的变体,其中一个信号的一维完全丢失。我们也采用基于学习的方法来解决这个问题,它产生一个潜在信号的分布,而不是一个估计。

2.3.  Conditional Image/Video Synthesis and Future Frame Prediction

基于神经网络的图像和视频合成受到了广泛的关注。在条件图像合成中,图像是根据一些其他信息合成的,例如类标签或相同维度的另一图像(图像到图像的翻译)[5、17、29、38、42、47]。与我们的工作相反,这些研究大多是基于与输出相同维度的数据。视频合成算法主要集中在无条件生成[33,39,40]或视频到视频转换[9,34,41]。在未来的视频帧预测中,帧是根据一个或多个过去的图像合成的。其中一些算法将视频生成视为一个随机问题[2,24,44],使用变分自动编码器(VAE)风格的框架[23]。这些问题中的输入和输出形式与我们的相似,但输入中的信息是不同的。在这些研究中,我们从随机公式中获得了一些见解。

2.4.  Inverting a Motion-blurred Image to Video

我们探索的一个应用是从戏剧性的运动模糊图像中形成视频,这些图像是通过在较长时间内暂时聚集场景中的光子而创建的。最近的两项研究提出了从单个运动模糊图像中确定地恢复视频序列的方法[18,30]。我们提出了一个包括但不限于时间的维度的一般的反投影框架。此外,我们的框架是概率的,捕捉信号变化的分布,而不是单一的确定性输出(见图1)。

3.       Methods

我们的目标是用数据捕捉特定场景的分布p(y | x)。我们首先提出了一个基于条件VAE(CVAE)[36]的概率模型(图2)。

3.1.  Variational Inference and Loss Function

直接计算这个积分是困难的,因为它依赖于潜在的复杂参数函数和估计后验p(z | y)的困难。相反,我们使用变分推理来获得可能性,并使用随机梯度下降来优化它[20,23]。

3.2.  Network Architectures

图3示出了2D-to-3D时间回注任务的架构。我们的二维到三维空间投影架构几乎相同,只是在x的维度和整形算子的维度顺序上有所不同。我们使用低维卷积和整形算子来处理一维到二维的投影。卷积层的数量和参数的数量因数据集的复杂性而异。

第二阶段应用一系列二维卷积和上采样操作来合成与x和更多数据通道具有相同维度的图像。第一阶段的激活连接到第二阶段的激活,通过跳过连接来传播学习到的特征。我们将结果图像沿折叠的维度展开以生成三维体积。为此,我们应用二维卷积来生成T F数据通道,其中T是折叠维度的大小(在本例中是时间),F是一些特征。最后,我们将此图像重塑为三维体,并应用一些三维卷积来重新确定和生成信号估计。

4.       Experiments and Results

我们首先使用FacePlace[31]评估了我们的方法对人脸的一维到二维空间投影。我们接着              使用作者收集的人体步态视频的内部数据集显示二维到三维空间投影的结果。最后,我们使用移动的MNIST[37]数据集演示了二维到三维的时间投影。我们专注于投影,在所有实验中,像素都是沿一个维度平均的。对于所有实验,我们将数据分为训练/测试/验证非重叠组。

4.1.  Implementation

我们在Keras[10]中使用一个张量流[1]后端实现我们的模型。我们使用学习率为1e-4的ADAM优化器[22]。我们为每个实验训练不同的模型。我们分别为每个数据集选择正则化超参数β,使得KL项在我们的验证数据上介于[5,15]之间,以获得足够的数据重建,同时避免模式崩溃。我们把所有实验的z维数设为10。

4.2.  Spatial Deprojections with FacePlace

FacePlace由超过5000张236人的图片组成。多样性有很多来源,包括不同的种族、多种观点、面部表情和道具。我们随机抽取30个人的所有图片,形成一个测试集。我们将图像缩放到128×128像素,并通过平移、缩放和饱和度变化进行数据增强。我们将我们的方法与以下基线进行比较:

1. 最近邻选择器(k-NN):使用均方误差距离从投影最接近测试投影的训练数据集中选择k个图像。

2.一个与我们的方法中的退射网络gθ(x,z)相同的确定性模型(DET),不包含潜在变量z。

3. 一种线性最小均方误差(LMMSE)估计量,它假定x和y是从x,y分布中提取的。

对于我们的方法和DET,我们使用了感知损失度量。图4显示了可视化结果,其中有一些随机从我们的方法中选择的样本。1-NN的性能因测试示例而异,有时会从错误的人那里生成面孔。LMMSE产生非常模糊的输出,这表明这项任务的高度非线性性质。DET产生的模糊输出较少,但仍然经常将不同的看似合理的面合并在一起。我们的方法捕获头部方向的不确定性以及外观变化,如头发颜色和面部结构。              头部方向的模糊性在水平投影中更为明显,因为姿态变化对该维度的影响最大。

与LMMSE和DET相比,本文方法的输出更加尖锐,并且比1-NN更符合实际情况。我们还对模型进行了定量评估。我们使用峰值信噪比(PSNR)来测量图像之间的重建质量。对于每个测试投影,我们从每个模型(DET总是返回相同的估计值)中抽取k个投影估计值,并记录任何估计值和地面真值图像之间的最高PSNR。对于每一个预计的反投影,我们重新投影并记录相对于测试(初始)投影的输出投影的平均峰值信噪比。图5示出了100个测试投影的不同样本k的结果。随着样本数k的增加,我们的方法的信号(去投影)PSNR提高,突出了我们的概率方法的优势。k-NN的最佳估计逼近了随k值增加信号重建的最佳估计,但k-NN的投影峰值信噪比曲线的下降也证明了k-NN的许多不良估计。

LMMSE有完美的投影峰值信噪比(PSNR),因为它通过构造来捕捉信号和投影之间的精确线性关系。当抽取一个样本时,DET具有更高的信号峰值信噪比,因为它平均了可信图像,而我们的方法没有。我们提出的方法在1个样本后超过了DET。

4.3.  Spatial Deprojections with Walking Video

我们定性地评估了我们从垂直空间投影重建步态视频的方法。这一场景对于角部摄像机具有实际意义,如第2.1节所述。我们收集了30名受试者在指定区域行走一分钟的35段视频。受试者的着装、身高(5英尺2英寸-6英尺5英寸)、年龄(18-60岁)和性别(18米/12英尺)各不相同。受试者没有被要求以任何特定的方式行走,许多人走路的方式都很奇怪。所有视频的背景都相同。

我们将视频的采样率降低到每秒5帧,每帧256×224像素,并对每个视频应用水平平移的数据增强。我们让6名受试者制作了一套测试集。我们预测24帧的序列(实时大约5秒)。

图6示出了几个通过设置先前分布的平均值ˆz=嫒φ(x)而获得的重构示例。我们的方法仅从垂直投影中恢复许多细节。背景很容易合成,因为它在数据集中的所有视频中是一致的。值得注意的是,被试的许多外观和姿势细节也被恢复。              像素强度和投影前景轨迹形状的细微变化包含沿折叠维度的前景信号的线索。例如,该方法似乎了解到,随着时间的推移,越来越暗、越来越宽的痕迹很可能对应于一个人走近相机。第三个主题是一个说明性的结果,我们的方法将白衬衫和黑裤子分开,尽管它们的方面在投影中并不明显。预计的细节,再加上衬衫通常比裤子颜色浅的学习模式,很可能使这种复苏成为可能。

最后,该方法可能会与训练数据中很少看到的模式相冲突,例如第五帧中第四个对象的大步长。除了这些实验之外,我们在DGAIT数据集[3]上训练了一个单独的模型,该数据集由更多的受试者(53)组成,但具有更简单的行走模式。我们得到了类似质量的结果,如图7所示。

4.4.  Temporal Deprojections with Moving MNIST

移动MNIST数据集由10000个由两个移动手写数字组成的视频序列组成。数字可以相互遮挡,并从帧的边缘反弹。给定一个64×64×10大小的视频子剪辑数据集,我们通过对帧进行时间平均来生成每个投影x,类似于其他生成大规模运动模糊图像的研究[18、21、27、28]。

尽管这个数据集的外观和动态很简单,但合成数字外观和捕捉每个轨迹的合理方向是一项挑战。我们的方法对于三个测试示例的输出示例如图9所示。为了说明我们的方法所学习到的时间方面,我们从我们的方法中为每个投影抽取10个序列,并给出相对于地面真值剪辑向前和向后运行的最小均方误差序列。

我们的方法能够从一个明显的运动模糊的输入图像中推断出字符的形状,即使用人类的标准也难以解释。此外,我们的方法捕获了数据集的多模态动力学,我们通过呈现两个运动序列来说明这一点:第一个序列匹配地面真实的时间方向,第二个序列匹配反向的时间推进。

我们使用PSNR曲线量化我们的准确性,类似于图8所示的第一个实验。由于生成全联合协方差矩阵的计算成本太高,我们在本实验中不计算LMMSE。DET通过合并不同的貌似合理的时间顺序来产生模糊的序列。

与第一个实验类似,这使得DET输出仅在k=1时具有最佳预期信号(发射)PSNR。在信号峰值信噪比k>1时,我们的方法明显优于DET。DET在投影PSNR方面表现更好,因为在这个实验中,所有似是而非的序列的平均值产生一个非常精确的投影。与FacePlace实验相比,k-NN在这个实验中表现相对较差,因为在高维中很难找到最近的邻居。

5.       Conclusion

在这项工作中,我们引入了一个新的视觉投射问题:将一幅沿一个维度折叠的图像或视频合成为一个低维观测。我们提出了第一种处理图像和视频以及沿这些数据的任何维度的投影的通用方法。我们首先通过引入一个概率模型来解决任务的不确定性,该模型捕获了基于投影的原始信号的分布。我们用CNNs实现了该模型的参数化功能,以学习各域的共享图像结构,实现精确的信号合成。

虽然从折叠维度得到的信息从投影到肉眼通常看起来是不可恢复的,但我们的结果表明,大部分“丢失”的信息是可恢复的。我们通过重建图像中人脸的细微细节和视频中仅从空间投影的精确运动来证明这一点。最后,我们说明了使用移动MNIST数据集可以从剧烈运动模糊的图像中重建视频,即使有多模态轨迹。这项工作表明,在一个新的,雄心勃勃的成像任务有希望的结果,并打开了令人兴奋的可能性,在未来的应用中揭示看不见的。

可视化反投射:坍塌尺寸的概率恢复:ICCV9论文解读的更多相关文章

  1. 高性能Linux服务器 第6章 ext3文件系统反删除利器ext3grep extundelete工具恢复rm -rf 误删除的文件

    高性能Linux服务器 第6章  ext3文件系统反删除利器ext3grep  extundelete工具恢复rm -rf 误删除的文件 只能用于ext3文件系统!!!!!!!高俊峰(高性能Linux ...

  2. HDU 4649 Professor Tian(反状态压缩dp,概率)

    本文出自   http://blog.csdn.net/shuangde800 题目链接:点击打开链接 题目大意 初始有一个数字A0, 然后给出A1,A2..An共n个数字,这n个数字每个数字分别有一 ...

  3. [论文解读]CNN网络可视化——Visualizing and Understanding Convolutional Networks

    概述 虽然CNN深度卷积网络在图像识别等领域取得的效果显著,但是目前为止人们对于CNN为什么能取得如此好的效果却无法解释,也无法提出有效的网络提升策略.利用本文的反卷积可视化方法,作者发现了AlexN ...

  4. Deep Visualization:可视化并理解CNN(转)

    转载地址:https://zhuanlan.zhihu.com/p/24833574 一.前言 CNN作为一个著名的深度学习领域的“黑盒”模型,已经在计算机视觉的诸多领域取得了极大的成功,但是,至今没 ...

  5. Deep Visualization:可视化并理解CNN

    原文地址:https://zhuanlan.zhihu.com/p/24833574 一.前言 CNN作为一个著名的深度学习领域的“黑盒”模型,已经在计算机视觉的诸多领域取得了极大的成功,但是,至今没 ...

  6. JD-GUI反编译后代码逻辑分析

    一,用jd-gui.exe等工具查看源代码.如何你不会,可以参看此文章: http://blog.csdn.net/hp_2008/article/details/8207879 可以到以下连接下载可 ...

  7. Android:反编译查看源码

    下载>>>>>>>>>>>>>>> 使用图形化反编译工具:Androidfby 打开Androidfby中的A ...

  8. Gym 101257G 24 (概率+二分)

    题意: 有一道分值为sa的题,n个人比赛写这道题,按照递减的顺序给出每个人的当前分数,和每个人写不出这道题的概率,让你输出有反超现象出现的期望 思路:由于之前把题目翻译错了导致很久没有相通,后来看了别 ...

  9. Java| 编译和反编译

    原文链接: http://www.yveshe.com/articles/2018/05/01/1525172129089.html 什么是编程语言? 在介绍编译和反编译之前,我们先来简单介绍下编程语 ...

随机推荐

  1. Dedecms自定义表单后台列表展现方式样式更改

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. hdu4535

    题意: 吉哥系列故事--礼尚往来 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) To ...

  3. Linux-鸟菜-5-目录配置-FHS

    Linux-鸟菜-5-目录配置-FHS 这节内容比较休闲,主要就是介绍Linux的目录配置,也就是那些目录通常是干啥的,这个比较重要,需要我们去了解.但是我觉得通常看一遍记不住啥,也就记个大概,主要还 ...

  4. 批处理用WINRAR只压缩某类型的文件

    1:新建文件夹sql back 和 back,在sql back 文件夹内新建test1.dbb和test2.bak文件 2:新建批处理文件rar.bat,编辑文件: @echo off for %% ...

  5. Python JWT 介绍

    Python JWT 介绍 目录 Python JWT 介绍 1. JWT 介绍 2. JWT 创建 token 2.1 JWT 生成原理 2.2 JWT 校验 token 原理 3. 代码实现 4. ...

  6. OOP第二章博客

    OO第二次博客作业 (1)作业分析 三次作业在处理多线程的协同配合时都是使用将同步放在自己写的"线程安全类"(经测试有些许漏洞_,但是不影响结果就是了): 我个人倾向于把wait( ...

  7. SE_Work2_交点个数

    项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 要求:求交点个数 个人项目作业 班级:005 Sample GitHub地址 IntersectProject 一.PSP估算 在开始实 ...

  8. DVWA--SQL Injection

    sql注入是危害比较大的一种漏洞,登录数据库可以进行文件上传,敏感信息获取等等. Low 先来看一下源码 <?php if( isset( $_REQUEST[ 'Submit' ] ) ) { ...

  9. C#是怎么跑起来的

    解释流程前,需要了解一些基本的概念. 基本概念解释: CPU :中央处理器,计算机的大脑,内部由数百万至数亿个晶体管组成,是解释和运行最终转换成机器语言(二进制代码)的地方.机器语言是通过CPU内存的 ...

  10. KMP算法以及优化(代码分析以及求解next数组和nextval数组)

    KMP算法以及优化(代码分析以及求解next数组和nextval数组) 来了,数据结构及算法的内容来了,这才是我们的专攻,前面写的都是开胃小菜,本篇文章,侧重考研408方向,所以保证了你只要看懂了,题 ...