CVPR2020论文解析:视觉算法加速

GPU-Accelerated Mobile Multi-view Style Transfer

论文链接:https://arxiv.org/pdf/2003.00706.pdf

摘要

据估计,2018年售出的智能手机中,有60%配备了多个后置摄像头,从而实现了3D照片等多种支持3D的应用。3D照片平台(Facebook 3D Photo、Holopix ,等等)的成功依赖于用户生成内容的稳定流量。这些平台必须提供简单的图像处理工具,以促进内容创建,类似于传统的照片平台。艺术性的神经风格转换是增强传统照片的一种工具,受到GPU技术最新进展的推动。然而,天真地将单视图神经样式的传输外推到多视图场景会产生视觉上不一致的结果,并且在移动设备上速度慢得令人望而却步。本文提出了一个GPU加速的多视图风格传输管道,它强制视图之间的风格一致性和移动平台上的按需性能。本文的流水线是模块化的,从立体图像对创建高质量的深度和视差效果。

1.       Introduce

消费者正在积极寻找使他们的传统摄影更具沉浸感和生活化的方法。随着多摄像头智能手机的迅速普及,各种使用深度信息的身临其境的应用程序现在都能在大众市场上使用。在这个领域最有前途的应用之一是3D照片,它可以捕捉具有视差效果的场景的多个视点[1]。再加上Leia公司(Leia Inc)生产的那种光场显示器[2],3D照片变得栩栩如生,增加了深度[3]和多视角视差效果[4]。Facebook 3D照片和Holopix等平台 1使消费者现在更容易在单个移动设备上捕获、编辑和共享3D照片。对于3D照片平台的持续成功来说,最重要的是能够获得消费者习惯于传统照片平台的图像处理和内容生成工具。要为三维照片平台创建内容,必须生成包含多个视点信息的图像(多视图图像)。随着视图合成[5]-[9]和绘画[10]-[12]等现代算法的进步,现在甚至可以在移动设备上从立体对生成多视图图像,用于内容创建和操作。然而,多视角内容创作面临的挑战——据估计,2018年售出的智能手机中,有60%配备了多个后置摄像头,实现了3D照片等多种支持3D的应用。3D照片平台(Facebook 3D Photo、Holopix ,等等)的成功依赖于用户生成内容的稳定流量。这些平台必须提供简单的图像处理工具,以促进内容创建,类似于传统的照片平台。艺术性的神经风格转换是增强传统照片的一种工具,受到GPU技术最新进展的推动。然而,天真地将单视图神经样式的传输外推到多视图场景会产生视觉上不一致的结果,并且在移动设备上速度慢得令人望而却步。本文提出了一个GPU加速的多视图风格传输管道,它强制视图之间的风格一致性和移动平台上的按需性能。本文的流水线是模块化的,从立体图像对创建高质量的深度和视差效果。

消费者正在积极寻找使他们的传统摄影更具沉浸感和生活化的方法。随着多摄像头智能手机的迅速普及,各种使用深度信息的身临其境的应用程序现在都能在大众市场上使用。在这个领域最有前途的应用之一是3D照片,它可以捕捉具有视差效果的场景的多个视点[1]。再加上Leia公司(Leia Inc)生产的那种光场显示器[2],3D照片变得栩栩如生,增加了深度[3]和多视角视差效果[4]。Facebook 3D照片和Holopix等平台 1使消费者现在更容易在单个移动设备上捕获、编辑和共享3D照片。对于3D照片平台的持续成功来说,最重要的是能够获得消费者习惯于传统照片平台的图像处理和内容生成工具。要为三维照片平台创建内容,必须生成包含多个视点信息的图像(多视图图像)。随着视图合成[5]-[9]和绘画[10]-[12]等现代算法的进步,现在甚至可以在移动设备上从立体对生成多视图图像,用于内容创建和操作。然而,多视图内容创建的挑战仍然存在              留下来。所涉及的算法需要大量的处理能力来执行针对多个视点的操作,同时还需要更高的存储和带宽要求,这些要求随着渲染视图的数量而变化。此外,移动平台支持按需(约0.5秒)性能的计算能力有限。要实现大规模的内容创建,必须解决这些挑战,同时为用户提供生成高质量内容的简单工具。

Gatys等人[13],[14]开创了使用神经网络进行艺术风格转换的先河,产生了视觉上令人愉悦的内容,这些内容一直是许多近期作品的研究主题[15]-[18],并在面向消费者的应用程序(如Microsoft Pix[19]和Prisma[20])中看到了广泛的成功。考虑到神经风格转换作为一种使简单图像看起来更具艺术性的简单方法在商业上的成功,本文的目标是将这种效果带到3D照片平台上。在光场展示中,由于视差和深度效果的结合,看到艺术效果变得栩栩如生是一种真正独特的体验。将样式转换应用于多视图图像的另一个隐藏好处是,一旦应用了艺术样式,任何工件(如边缘不一致或绘画质量差)通常都不会被注意到。尽管神经风格转换技术在单个图像上很有效,但将这种技术应用于多视图图像的各个视图时,会产生样式不一致的图像,当在多视图显示器上观看时会导致3D疲劳[21]。最近的作品旨在解决艺术风格转换的多种观点之间的一致性[22],[23]。这些方法只考虑两个视图,不能直接扩展到多个视图。它们还针对特定样式进行了优化,需要针对新样式进行重新培训。视频风格传输[24]-[26]是另一个类似的工作,需要在时域产生一致的结果。这些技术目前在计算上还不足以在移动设备上实时运行。在本文的例子中,本文的目标是解决一个普遍的场景,其中多个视图应用了一种艺术风格,由输入立体图像和视差对生成。本文的方法对生成的视图数量和使用的样式转换模型都是不可知的。

据本文所知,在解决移动设备性能问题的同时,没有任何技术可以保持多视图样式的一致性。在这项工作中,本文提出了一个端到端的管道,用于生成样式化的多视图图像,给定的立体图像和视差对可以在移动计算平台上按需运行。本文解决了多视图样式一致性和性能问题。本文的管道的一个示例结果如图1所示。所提出的方法是高度可配置的,并且可以为每个步骤支持不同的算法。这包括样式转换、新颖的视图合成[5]-[9]和修补[10]-[12]。在高度模块化的方式下,管道的每个组件都是相互独立的,可以用等价的算法替换。这有助于针对不同的设计约束(如优化功率或质量)调整拟议管道。总之,本次工作中提出的管道有以下主要贡献:

•多视角一致的神经风格转换和视差效应

•GPU在移动平台上加快了按需性能(约0.5秒)。

•单个算法的模块化组件。

2.       Methodology

提出的多视图一致样式化方法将现有的单视图样式转换技术与视图合成以高度模块化的方式结合起来,同时提高了三维场景的完整性。算法1和图2概述了左视图样式化的四个步骤,重新投影到右视图,对左视图和右视图样式化应用引导过滤器,然后合成任意数量的样式化新视图。本节将探讨每个模块如何有助于创建沉浸式风格化的三维内容。

A.       Input We assume that left and right views

are given with corresponding disparity maps

. In applications where

B.       本文假设在下列应用中,左视图和右视图

具有相应的视差图

视差图没有给出,可以使用各种著名的估计方法[27]-[30]。在本文的例子中,本文使用一个神经网络来训练来自Holopi的立体图像在本文的实验之前。

B、 样式转换

所提出的方法使用现有的样式转换方法对左视图Sl进行样式化[15],[31]。在本文的实验中,本文使用基于[15]和实例规范化[32]的网络。通过应用样式转换网络,本文只对一个输入立体视图进行样式化,实现了三个主要好处。首先是实现多个视图之间的风格一致性,这是本文提出方法的主要动机。挑战在于,样式转换网络对输入中的微小变化非常敏感。当单独设置每个视图的样式时,相邻视图之间的视差效应足以导致视觉差异,例如样式化的特征从一个视图到下一个视图完全出现和消失(参见图4)。当在多视图显示中查看时,这种不一致会导致三维疲劳。

其次,即使使用竞争性的技术,运行样式传输网络也会带来显著的性能成本,因此一次样式化和合成多个样式比单独样式化每个输出视图要快得多。第三个好处是与任何类型的传输网络兼容。通过不要求对多视图渲染进行专门的修改和重新训练,任何获取单个图像并返回样式化版本的网络都可以在本文的管道中随时替换,前提是单个图像的质量和性能令人满意。

C、 一进一出视图合成

接下来,样式化的左视图Sl使用视图合成模块在与输入的右视图Ir相同的视点处重新投影到Sr。视图综合是一个活跃的研究领域,有许多现有的解决方案[5]-[8]。本文使用内部算法在CPU和GPU上执行视图合成。本文的算法结合了前向翘曲和深度测试,以及一种简单的绘制技术,可以对附近的区域进行采样,以填充去除遮挡的区域。将样式化的左视图重新投影到右视图的效果是,样式特征将精确地传输到右视图中相应的位置。这相当于在拍摄立体照片时在3D场景中呈现样式特征。

D、 导向滤波器

样式化视图由边缘感知引导过滤方法进行重新过滤,以生成经过过滤的样式化左视图和右视图

,输入视图

作为各自的指南。本文在所有实验中都使用了基于CPU的引导滤波器[33]。当在多视图显示器上观看图像时,边缘的质量在三维感知中起着至关重要的作用,然而,样式转换过程往往会降低三维场景中对象的边缘。通过使用相应的非样式化视图作为向导,对样式化视图应用引导过滤器,增强原始三维对象的边缘,同时减少样式化边缘,从而获得更加沉浸式的三维体验。比较见图3。

E、 二进多出视图合成

最后一步是从经过滤波的样式化左视图和右视图

和给定的视差图

合成所需的输出视图S1,2,…,n。这是通过重复应用第三-C节中描述的相同的一进一出视图合成模块来完成的,以将

重新投影到每个输出视点。每个输出视图Si都是将

重新投影到Si的所需视点(例如x)的结果,并且基于x到左视点和右视点l和r的接近度进行混合的结果。

3.       Test Results

A、 实验

本文测试了四种生成多视点风格传输图像的方法,并比较了定性和定量结果。本文在一部红色氢一[34]手机上进行了所有实验,该手机具有四视图自动立体显示器。该设备运行在高通公司的Snapdragon 835移动平台上,并与高通公司的Adreno 540 GPU。              基线方法。

第一种方法天真地将神经风格转换单独应用于每个合成视图。由于神经风格转换模型的不稳定性质,这无法产生风格一致的视图[22],也无法产生按需结果。一个补充的观察显示样式转换比视图合成慢得多。总体性能随着视图数量的增加而降低。              方法2。

神经风格转换首先应用于每个立体输入视图,然后使用风格化对和原始视差图作为输入执行新的视图合成。尽管这比基线方法运行得快得多,但渲染视图会产生不需要的重影伪影,立体对之间的总体样式不一致会导致3D疲劳。

方法3。

这里解决了以往方法中存在的风格不一致问题。神经样式仅应用于输入的左图像以创建样式化的左图像。只有从这个风格化的左图像合成新的视图。视图合成同时使用原始的自然左图像和右图像执行。这个自然的多视图图像是作为一个指导,为一个引导过滤通过的风格化多视图图像。生成的多视图图像被锐化以减少模糊伪影。此方法生成具有相对锐利边缘的样式一致的视图。

然而,这种方法的缺点是,由于只使用左图像进行样式新颖的视图合成,因此存在有限的深度效果。此外,由于在引导过滤步骤中边缘没有完全对齐,因此在输出视图中边缘周围会生成重影伪影。

选择的方法。

本文在第三节中概述的新方法基于所有先前方法的思想,并成功地在移动设备上加速GPU时生成具有按需性能的多视图一致样式化图像。

B、 定量的

评价本文用于比较各种方法的评价指标是从输入立体图像对及其相关的视差图中应用神经风格转换生成多视图图像所花费的时间。本文在MPI Sintel立体声测试数据集[35]上以1024x436的分辨率运行每个比较的方法。

另外,本文使用样式化技术将图像部署到Holopix上平台和比较整体参与度。本文注意到贴到Holopix的图片应用样式转换后,性能比平台平均值高出300%以上。在一个控制站中,当同一个图像连续发布两次时,一次应用样式转换,一次不应用样式转换时,使用样式转换的图像的版本性能提高了20%以上。

C、 定性的

评估图4显示了从红氢一号[34]装置上的立体摄像机拍摄的立体图像对的基线方法与最终方法的视觉结果。当在多视图显示器上查看结果时,由于不一致导致3D疲劳,基线方法使眼睛难以集中注意力。相比之下,本文的方法具有一致的视图,使得在多视图显示中查看体验更加舒适。本文在图5中显示了额外的结果,其中本文从立体对和不同的样式生成了各种图像。值得注意的是,在每个结果的第一个视图和最后一个视图之间,尽管具有不同的位置、旋转或遮挡,但对象具有一致的样式化。

4.       Conclusion

在这项工作中,本文提出了一个端到端的管道,用于生成给定立体图像和视差对的风格化多视图图像。本文的实验表明,该流水线可以在移动gpu上实现按需(约0.5秒)的结果,测试多达16个视图。结果在每个视图之间风格一致,并且在光场显示上观看时产生高度沉浸式的视差效果。最后,管道是模块化的,可以支持任何样式转换、视图合成或绘制算法。据所知,这是第一个出版的工作,从立体图像和视差对产生风格一致的多视图图像与移动gpu上的按需性能。在未来的工作中,本文将在Jetson TX2 GPU和NVIDIA SHIELD上的Tegra X1 GPU上运行本文的管道,本文希望看到类似或更好的定量结果。

CVPR2020论文解析:视觉算法加速的更多相关文章

  1. CVPR2020论文解析:实例分割算法

    CVPR2020论文解析:实例分割算法 BlendMask: Top-Down Meets Bottom-Up for Instance Segmentation 论文链接:https://arxiv ...

  2. 人体姿态和形状估计的视频推理:CVPR2020论文解析

    人体姿态和形状估计的视频推理:CVPR2020论文解析 VIBE: Video Inference for Human Body Pose and Shape Estimation 论文链接:http ...

  3. 分层条件关系网络在视频问答VideoQA中的应用:CVPR2020论文解析

    分层条件关系网络在视频问答VideoQA中的应用:CVPR2020论文解析 Hierarchical Conditional Relation Networks for Video Question ...

  4. CVPR2020论文解析:视频分类Video Classification

    CVPR2020论文解析:视频分类Video Classification Rethinking Zero-shot Video Classification: End-to-end Training ...

  5. 视频教学动作修饰语:CVPR2020论文解析

    视频教学动作修饰语:CVPR2020论文解析 Action Modifiers: Learning from Adverbs in Instructional Videos 论文链接:https://a ...

  6. 慢镜头变焦:视频超分辨率:CVPR2020论文解析

    慢镜头变焦:视频超分辨率:CVPR2020论文解析 Zooming Slow-Mo:  Fast and Accurate One-Stage Space-Time Video Super-Resol ...

  7. CVPR2020论文解析:视频语义检索

    CVPR2020论文解析:视频语义检索 Fine-grained Video-Text Retrieval with Hierarchical Graph Reasoning 论文链接:https:/ ...

  8. 无监督域对抗算法:ICCV2019论文解析

    无监督域对抗算法:ICCV2019论文解析 Drop to Adapt: Learning Discriminative Features for Unsupervised Domain Adapta ...

  9. CVPR2020行人重识别算法论文解读

    CVPR2020行人重识别算法论文解读 Cross-modalityPersonre-identificationwithShared-SpecificFeatureTransfer 具有特定共享特征变换 ...

随机推荐

  1. Spring Boot的自动配置原理及启动流程源码分析

    概述 Spring Boot 应用目前应该是 Java 中用得最多的框架了吧.其中 Spring Boot 最具特点之一就是自动配置,基于Spring Boot 的自动配置,我们可以很快集成某个模块, ...

  2. miui10 刷机

    起因 折腾一下老手机 名词解释 名称 内容 含义 REC Recovery的缩写 Android出厂时自带的恢复模式 (理解为win PE) 双清 data,cache 用户数据+系统缓存 三清 da ...

  3. table边框完全去掉的方法

    表格中边框的显示 只显示上边框 <table frame=above> 只显示下边框 <table frame=below> 只显示左.右边框 <table frame= ...

  4. python 利用opencv去除图片水印

    python 去除水印"人工"智能去除水印 这两天公司来了一个新的需求--去除水印,对于我一个从未接触过的这种事情的人来说,当时我是蒙的.不过首先我就去搜索了一下是否有该种合适的功 ...

  5. hdu 1044 BFS(压缩图)+DFS

    题意:              给你起点,终点,图上有墙有路还有宝物,问你在规定时间内能否能到终点,如果能问最多能捡到多少宝物. 思路:           看完这个题目果断 BFS+三维的mark ...

  6. hdu5025 状态压缩广搜

    题意:       悟空要救唐僧,中途有最多就把钥匙,和最多五条蛇,要求就得唐僧并且拿到所有种类的钥匙(两个1只拿一个就行),拿钥匙i之前必须拿到钥匙i-1,打蛇多花费一秒,问救出唐僧并且拿到所有种类 ...

  7. PHP Proxy 负载均衡技术

    <?php $whitelistPatterns = array( ); $forceCORS = false; $anonymize = true; $startURL = "&qu ...

  8. 如何在C艹大作业上用复数计算器拿下一个100分

    0. qt qt简介: 百度百科 下载:官网下载 申请个账号就可以免费用了 安装方式可以在百度上找到,建议安装MinGW,其余自选. 1. 建立第一个qt文件 打开Qt Creator,点击文件,点击 ...

  9. 用Taro写一个微信小程序(二)——配置目录别名

    配置别名可以方便书写代码引用路径,让代码更整洁. 官方文档可参考https://nervjs.github.io/taro/docs/config-detail#alias 一.在config/ind ...

  10. c++通讯录管理系统

    代码拷贝 #include<iostream> #include<string> #include<stdlib.h> #define MAX 1000 using ...