CN112166604A - 具有单个rgbd相机的对象的体积捕获 - Google Patents

具有单个rgbd相机的对象的体积捕获 Download PDF

Info

Publication number
CN112166604A
CN112166604A CN202080001020.4A CN202080001020A CN112166604A CN 112166604 A CN112166604 A CN 112166604A CN 202080001020 A CN202080001020 A CN 202080001020A CN 112166604 A CN112166604 A CN 112166604A
Authority
CN
China
Prior art keywords
image
pose
corrected
generating
corrected image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202080001020.4A
Other languages
English (en)
Other versions
CN112166604B (zh
Inventor
阿纳斯塔西亚·特卡丘
里卡多·马丁·布鲁瓦利亚
沙赫拉姆·伊扎迪
杨烁冉
塞姆·克斯金
肖恩·瑞安·弗朗切斯科·法内洛
菲利普·戴维森
乔纳森·泰勒
罗希特·潘迪
安德里·塔利亚萨基
帕夫洛·皮德利潘斯基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN112166604A publication Critical patent/CN112166604A/zh
Application granted granted Critical
Publication of CN112166604B publication Critical patent/CN112166604B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/122Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/257Colour aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10032Satellite or aerial image; Remote sensing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20088Trinocular vision calculations; trifocal tensor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/04Architectural design, interior design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/41Medical
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/004Annotating, labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/028Multiple view windows (top-side-front-sagittal-orthogonal)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Geometry (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

一种方法,包括:接收包括颜色数据和深度数据的第一图像;确定与显示第二图像的增强现实(AR)和/或虚拟现实(VR)显示器相关联的视点;接收至少一个校正图像,其包括第一图像中的对象,该对象处于与第一图像中的对象的姿态相比不同的姿态,并基于第一图像、视点和至少一个校正图像来生成第二图像。

Description

具有单个RGBD相机的对象的体积捕获
相关申请的交叉引用
本申请是要求于2019年4月30日提交的,标题为“VOLUMETRIC CAPTURE OF HUMANSWITH A SINGLE RGBD CAMERA VIA SEMI-PARAMETRIC LEARNING(具有通过半参量学习的单个RGBD相机的人的体积捕获)”的美国临时专利申请No.62/840,905的优先权的于2020年4月29日提交的标题为“VOLUMETRIC CAPTURE OF OBJECTS WITH A SINGLE RGBD CAMERA(具有单个RGBD相机的对象的体积捕获)”的美国非临时专利申请No.16/861,530的继续申请并要求其优先权,该美国临时专利申请的全部公开内容通过引用合并于此。
本申请还要求于2019年4月30日提交的美国临时专利申请No.62/840,905的优先权,其全部公开内容通过引用合并于此。
背景技术
复杂的捕获装备可以用于生成非常高质量的体积重建(例如,图像)。这些系统依靠高端,昂贵的基础架构来处理装备捕获的大量数据。每帧几分钟的所需计算时间使当前技术不适用于实时应用。捕获人类的另一种方法是将实时非刚性融合管道扩展到多视图捕获设置。但是,结果受到几何形状失真、纹理不佳和照明不准确的困扰,从而难以达到增强现实(AR)/虚拟现实(VR)应用所需的质量水平。
发明内容
在一般方面,设备、系统,非暂时性计算机可读介质(在其上存储可以在计算机系统上执行的计算机可执行程序代码)和/或方法可以利用方法执行以下过程,包括:接收包括颜色数据和深度数据的第一图像;确定与显示第二图像的增强现实(AR)和/或虚拟现实(VR)显示器相关联的视点;接收包括第一图像中的对象的至少一个校正图像,该对象处于与第一图像中的对象的姿态相比不同的姿态;并基于第一图像、视点和至少一个校正图像来生成第二图像。
实现方式可以包括以下一个或多个特征。例如,可以从被配置为捕获如红色、绿色、蓝色(RGB)数据的颜色数据并且捕获深度数据中的至少一个并基于颜色数据生成深度数据的单个相机接收第一图像。与AR和/或VR显示器相关联的视点可以不同于与第一图像相关联的视点。至少一个校正图像可以是对象的轮廓图像。生成第二图像可以包括:通过将二维(2D)关键点映射到与至少一个校正图像相关联的深度数据的对应三维(3D)点,来确定对象的目标姿态,以及通过使用卷积神经网络翘曲至少一个校正图像中的对象来生成第二图像,该卷积神经网络将至少一个校正图像和对象的目标姿态作为输入。
例如,第二图像的生成可以包括在以至少一个校正图像作为输入的卷积神经网络的第一遍历中生成至少一个部分掩膜,在卷积神经网络的第一遍历中生成至少一个部分图像,并以在至少一个部分掩膜和至少一个部分图像作为输入的卷积神经网络的第二遍历中生成第二图像。第二图像的生成可以包括使用通过最小化与翘曲对象相关联的至少两个损失来训练的卷积神经网络的两个遍历。可以使用神经网络混合第二图像以生成第二图像的缺失部分。第二图像可以是对象的轮廓图像,该方法还包括将第二图像与背景图像合并。
例如,该方法可以进一步包括预处理阶段,在该预处理阶段中,可以在改变对象的姿态的同时捕获多个图像,将多个图像存储为至少一个校正图像,基于目标姿态为至少一个校正图像中的每一个生成相似度分数,并基于相似度分数从至少一个校正图像中选择至少一个校正图像。该方法可以进一步包括预处理阶段,在该预处理阶段中,可以在改变对象的姿态的同时捕获多个图像,将多个图像存储为至少一个校正图像,在通信事件期间捕获图像,该图像包括以新姿态的对象,并将该图像添加到所存储的多个图像中。另外,非暂时性计算机可读存储介质上可以存储有计算机可执行程序代码,当在计算机系统上执行该计算机可执行程序代码时,该计算机可执行程序代码使计算机系统执行根据任何方法权利要求所述的方法。而且,增强现实(AR)和/或虚拟现实(VR)系统可以包括被配置为捕获颜色数据和深度数据的传感器以及被配置为执行根据任何方法权利要求所述的方法的处理器。
附图说明
通过在下文中给出的详细描述和附图,示例实施例将变得更加充分地被理解,其中,相同的元件由相同的附图标记表示,其仅以说明的方式给出,因此不限制示例实施例,在附图中:
图1A示出了根据示例实现方式的系统的图。
图1B示出了根据示例实现方式的信号流的框图。
图2示出了根据示例实现方式的信号流的框图。
图3示出了根据示例实现方式的信号流的另一框图。
图4示出了根据示例实现方式的信号流的又一框图。
图5示出了根据示例实现方式的信号流的又一框图。
图6示出了根据示例实现方式的用于生成图像的方法。
图7示出了根据示例实现方式的用于生成法线图的方法。
图8示出了根据示例实现方式的用于选择图像的方法。
图9示出了根据示例实现方式的用于使图像翘曲的方法。
图10示出了根据示例实现方式的用于生成图像的方法。
图11示出了根据至少一个示例实施例的计算机设备和移动计算机设备的示例。
应该注意的是,这些附图旨在说明在某些示例实施例中使用的方法、结构和/或材料的一般特性,并补充下面提供的书面描述。然而,这些附图不是按比例绘制的,并且可能不能精确地反映任何给定实施例的精确的结构或性能特征,并且不应被解释为定义或限制示例实施例所涵盖的值或特性的范围。例如,为了清楚起见,可以减小或放大分子、层、区域和/或结构元件的相对厚度和位置。在各个附图中使用相似或相同的附图标记旨在指示相似或相同的元件或特征的存在。
具体实施方式
用于捕获和/或生成用于增强现实(AR)/虚拟现实(VR)(例如,AR和/或VR)应用的多视图图像的技术可能存在的问题在于它们包括可以使用包括若干(4-8)校正的RGBD传感器的复杂的捕获装备,以生成AR和/或VR应用中必需的非常高质量的体积重建的昂贵的多视图捕获系统。例如,实时捕获和/或生成多视图图像是可能的,但是设置这种多视图系统的复杂性和相关的成本仍然很高。此外,与非实时多视图系统相比,实时多视图系统的质量也可能降低。示例实现方式可以通过在AR和/或VR应用中使用单个相机(例如,RGBD传感器)来解决这些昂贵的系统的问题。单个相机可以捕获和存储图像,如校正图像,AR和/或VR应用可以使用这些图像来生成高质量的体积重建。
技术解决方案可以包括确定由单个相机捕获的对象(例如,用户)的姿态。然后可以基于姿态和视点选择校正图像之一。例如,可以选择校正图像,该校正图像包括处于与视点处所确定的姿态最接近(但不太可能精确)匹配的姿态的对象。然后使校正图像中的对象翘曲以匹配捕获图像中的对象的姿态。然后将图像(包括翘曲的对象和背景)输出为体积重建。此外,增强现实(AR)和/或虚拟现实(VR)系统可以包括被配置为捕获颜色数据和深度数据的传感器以及被配置为(i)确定与显示第二图像的增强现实(AR)和/或虚拟现实(VR)显示相关联的视点,(ii)接收至少一个校正图像,该校正图像包括第一图像中的对象,该对象处于与第一图像中的对象的姿态相比不同的姿态,以及(iii)基于第一图像、视点和至少一个校正图像生成第二图像的处理器。与第一图像中的对象的姿态相比,至少一个校正图像中的对象被翘曲以获得不同的姿态。
将单个相机与校正图像一起使用可以是有益的,因为单个相机可以简化(例如,简化设置和操作)AR和/或VR系统并使AR和/或VR系统可供更多用户使用。此外,将单个相机与校正图像一起使用可以减少与AR和/或VR系统相关的成本。换言之,示例实现方式的好处可以是使用多视图设置以捕获地面真实数据,并训练仅使用单个RGBD传感器启用自由视点渲染的模型的能力。渲染无法在当前视图中看到的对象(例如,人)的部分的能力来自先前捕获的校正图像以及与对象的形状(例如,人的形状)相关的信息和由模型通过在多个对象上的训练而学习的颜色。
图1A示出了根据示例实现方式的系统的图。如图1A所示。系统100-A包括相机105、服务器140、用户145和用户130。系统100-A可以至少是增强现实(AR)和/或虚拟现实(VR)系统的一部分。因此,用户145和用户130可以使用AR和/或VR应用进行通信。用户130可以通过使用相机105进行通信。用户145可以经由AR和/或VR显示器(例如,头戴式显示器(HMD),与移动设备相关联的显示器)进行通信。
相机105可以捕获用户130的图像数据、视频数据和/或视频帧数据(以下称为图像数据),并将图像数据传送至服务器140。图像数据可以包括颜色(例如,像素)数据和深度数据。例如,图像数据可以是RGBD数据。根据示例实现方式,使用单个(例如,一个)相机105。相机有时可以被称为传感器。因此,相机105可以是单个传感器(在本文中可以被称为相机和传感器两者)。单个相机105可以是被配置为捕获并传送颜色数据和深度数据的常规(例如,在商业中容易获得的)相机。与涉及例如使用具有若干(4-8)个校正的RGBD传感器的昂贵的多视图捕获装备的技术相比,与该系统100-A相关联的装置和方法是有利的。
相机105可以用于捕获被传送到服务器140并由服务器140存储的图像。图像可以被称为校正图像。可以将校正图像捕获为AR和/或VR应用的初始化过程(例如,预处理阶段)。
服务器140可以被配置为使用校正图像和/或图像数据来生成修改的图像数据125并将其传送给用户145使用的AR和/或VR显示器。用户130可以处于第一位置和姿态130-1。用户145可以在用户130周围移动(例如,虚拟地移动),从而导致为处于AR和/或VR显示器上的第二位置和姿态130-2的用户130的渲染的修改的图像数据125。第二位置和姿态130-2不同于第一位置和姿态130-1。因此,服务器140可以响应于接收到与AR和/或VR显示器相关联的视点120而生成修改的图像数据125。
在示例实现方式中,相机105处于固定位置。换言之,相机105不响应于服务器140接收到视点120而移动。因此,服务器140可以被配置为用处于固定位置的相机105生成修改的图像数据125。换言之,渲染的图像可以包括与相应的捕获图像不同的位置和/或姿态的至少一个对象(例如,人)。
在示例实现方式中,视点可以指将要从其观察第二图像的虚拟点。对象的姿态可以包括有关对象的空间取向(以及可能有关对象的不同部分的相对位置)的信息。校正图像可以是在生成修改的图像之前捕获并存储的图像。可以对校正图像进行滤波以去除背景,从而使得校正仅包括感兴趣的对象(例如,视频通话参与者),其有时被称为轮廓图像。多个校正图像可以包括具有不同姿态和视点的感兴趣对象的图像(和/或轮廓图像)。
图1B示出了根据示例实现方式的信号流的框图。如图1B所示,信号流100-B包括相机105、修改块110、图像块115、视点120和修改的图像125。在图1B中,修改块110从相机105接收图像数据,从图像块115接收图像(或校正图像),以及从视点120接收与AR和/或VR显示器相关联的视点,并生成修改的图像125。换言之,可以基于捕获的图像数据、存储的图像数据(例如,校正图像)和视点来(生成)修改的图像125。所捕获的图像数据和所存储的图像数据(例如,校正图像)可以由单个相机(例如,相机105)捕获,这比涉及例如使用具有若干(4-8)校正的RGBD传感器的昂贵的多视图捕获装备的技术具有优势。
修改块110可以是存储在服务器140的存储器中的程序代码,该程序代码由服务器140的处理器执行。图像115可以是存储在服务器140的存储器中的至少一个校正图像。在使用AR和/或VR应用启动通信之前,可以使用相机105捕获至少一个校正图像。在使用AR和/或VR应用启动通信之后,可以在校正过程期间使用相机105捕获至少一个校正图像作为初始或第一时期(或阶段或步骤)。可以在使用AR和/或VR应用进行通信的同时(例如,当用户移动、旋转、改变位置和/或改变姿态时)使用相机105捕获至少一个校正图像。示例实现方式可以利用至少一个校正图像来代替由具有若干(4-8)个校正的RGBD传感器的昂贵的多视图捕获装备中包括的第二(或多个)相机捕获的图像。
修改块110可以通过基于从相机105接收的图像从图像115中选择图像来修改图像(例如,生成修改的图像125)。所选图像中的对象(例如,人)是基于视点120、对象在捕获图像中的位置和对象在捕获图像中的姿态(有时称为位置和姿态)进行翘曲。使图像的对象翘曲(有时称为变形)可以包括改变对象的位置和姿态。如果对象可以包括操纵与图像中的对象相关联的像素(例如,移动或映射到其他位置(x,y)),则改变位置和姿态。
因此,根据示例实现方式,AR和/或VR应用可以使用单个相机和校正图像来生成高质量的体积重建。例如,设备、系统、非暂时性计算机可读介质(具有存储在其上的可以在计算机系统上执行的计算机可执行程序代码)和/或方法可以利用包括以下步骤的方法来实现技术:接收颜色数据和深度数据的第一图像,确定与显示第二图像的增强现实(AR)和/或虚拟现实(VR)显示器相关联的视点,并在第一图像中接收包括对象的至少一个校正图像,该对象处于与在第一图像中的对象的姿态相比不同的姿态,并基于第一图像、视点和至少一个校正图像生成第二图像。与第一图像中的对象的姿态相比,至少一个校正图像中的对象被翘曲以获得不同的姿态。
此外,例如,可以从被配置为捕获如红色、绿色、蓝色(RGB)数据的颜色数据并且捕获深度数据中的至少一个并基于颜色数据生成深度数据的单个相机接收第一图像。与AR和/或VR显示器相关联的视点可以不同于与第一图像相关联的视点。至少一个校正图像可以是对象的轮廓图像。生成第二图像可以包括:通过将二维(2D)关键点映射到与至少一个校正图像相关联的深度数据的对应三维(3D)点,来确定对象的目标姿态,以及通过使用卷积神经网络翘曲至少一个校正图像中的对象来生成第二图像,该卷积神经网络将至少一个校正图像和对象的目标姿态作为输入。
此外,例如,第二图像的生成可以包括在以至少一个校正图像作为输入的卷积神经网络的第一遍历中生成至少一个部分掩膜,在卷积神经网络的第一遍历中生成至少一个部分图像,并以在至少一个部分掩膜和至少一个部分图像作为输入的卷积神经网络的第二遍历中生成第二图像。第二图像的生成可以包括使用通过最小化与翘曲对象相关联的至少两个损失来训练的卷积神经网络的两个遍历。可以使用神经网络混合第二图像以生成第二图像的缺失部分。第二图像可以是对象的轮廓图像,该方法还包括将第二图像与背景图像合并。
此外,例如,该方法可以进一步包括预处理阶段,在该预处理阶段中,可以在改变对象的姿态的可以捕获多个图像,将多个图像存储为至少一个校正图像,基于目标姿态为至少一个校正图像中的每个校正图像生成相似度分数,并基于相似度分数从至少一个校正图像中选择至少一个校正图像。该方法可以进一步包括预处理阶段,在该预处理阶段中,可以在改变对象的姿态的同时捕获多个图像,将多个图像存储为至少一个校正图像,在通信事件期间捕获图像,该图像包括以新姿态的对象,并将该图像添加到所存储的多个图像中。
在第一阶段,从由相机
Figure BDA0002547624820000081
捕获的图像数据
Figure BDA0002547624820000082
(例如,由相机105捕获的RGBD图像)生成图像数据(Icloud)、法线图(N)、姿态
Figure BDA0002547624820000083
和置信度(c)。例如,可以从视点(v)重新渲染有色的深度图,以生成图像(Icloud)并生成近似法线图(N)。在示例实现方式中,仅通过使用基于深度和颜色(例如,RGB)的快速背景减法技术来重新渲染图像的前景。此外,通过在视点(v)的坐标系中生成关键点,来确定对象(例如,VR/AR应用的用户)的姿态
Figure BDA0002547624820000091
另外,可以通过测量视点
Figure BDA0002547624820000092
之间的散度来确定置信度(c)(例如,作为标量值)。等式1可以表示该技术。
Figure BDA0002547624820000093
其中,
Icloud是图像数据
N是法线图,
Figure BDA0002547624820000094
是姿态
c是(标量)置信度,
Figure BDA0002547624820000095
是捕获的图像数据,
Figure BDA0002547624820000096
是相机的视点,并且
v是AR和/或VR显示器的视点。
图2示出了根据示例实现方式的信号流的框图。图2所示的信号流可以是上述第一阶段的示例实现方式。如图2所示,捕获的图像属性205块包括检测器210块、图像215块、法线图220块、姿态块225和置信度230块。检测器210块从相机105接收图像数据。图像数据可以包括颜色和数据以及深度数据。在图2的信号流中,已知相机(例如相机105)固有参数(光学中心o和焦距f)。因此,函数Π-1(p,z|o,f):
Figure BDA0002547624820000097
将与深度z相关联的2D像素p=(x,y)映射到本地相机坐标系中的3D点。
检测器210可以被配置为基于从相机105接收的图像数据来生成图像215、法线图220、姿态225和置信度230。在示例实现方式中,可以使用函数Π-1从图像数据渲染图像215。
为此,将
Figure BDA0002547624820000098
的深度通道转换为以如
Figure BDA0002547624820000099
的矩阵形式的大小为M的点云。然后旋转点云并将其转换为如的
Figure BDA00025476248200000910
新颖的视点坐标系,其中,
Figure BDA00025476248200000911
并且为表示
Figure BDA00025476248200000912
与v之间相对变换的齐次变换。然后,通过利用3×3内核插入每个点,将P渲染为二维(2D)图像Icloud,以减少重采样伪像。插入每个点有时称为基于点的渲染或展开(例如,使用OpenGL中的函数调用)。
在示例实现方式中,检测器210可以通过确定(例如,计算、处理等)2D关键点,来检测对象(例如,用户)的姿态
Figure BDA0002547624820000101
Figure BDA0002547624820000102
其中K是预训练的前馈网络。然后,通过使用
Figure BDA0002547624820000103
的深度通道将2D关键点映射到其3D对应对象
Figure BDA0002547624820000104
并转换如
Figure BDA0002547624820000105
的相机坐标系v中的关键点。可以基于对象特征推断缺失的关键点。例如,如果对象是人类,则可以基于四肢、躯干和/或面部的刚度来推断关键点。
在一些实现方式中,推断关键点可能失败。在这种情况下,可以丢弃当前图像(例如,作为视频帧),并使用以前的姿态
Figure BDA0002547624820000106
在一些实现方式中,为了使用(例如,如果需要的话,进行数据通信),如下所述的等式(3)和(4)的网络中的姿态
Figure BDA0002547624820000107
中的关键点,在图像Icloud通道(例如,图像的灰度图像)中的每个点可以被编码为具有固定方差的围绕该点为中心的高斯。
在示例实现方式中,检测器210可以生成法线图220(或N)。法线图可用于确定是否可以参考相机
Figure BDA0002547624820000108
的视点充分观察到图像数据
Figure BDA0002547624820000109
中的像素。可以使用用于生成上述图像数据(Icloud)的技术来生成法线图。法线图(N)颜色分量(例如RGB)可以对应于表面法线的x、y、z坐标。
在示例实现方式中,检测器210可以生成置信度230(或c)。可以确定(例如,计算,处理等)置信度(c)作为相机视图矢量之间的点积:c=[0,0,1]·rz/||rz||,其中,相机
Figure BDA00025476248200001010
的视点被假定为原点,并且rz是AR和/或VR显示器(v)的视点的旋转矩阵的第三列。作为c的函数的
Figure BDA00025476248200001011
和v之间的关系可用于推断AR和/或VR显示器v的视点是朝后(c<0)还是朝前(c>0)。
在预处理阶段(例如,在第一阶段之前),可以捕获并存储校正图像的集合
Figure BDA0002547624820000112
可以以任何数量的姿态和/或位置
Figure BDA0002547624820000113
来获取对象(例如,用户)的校正图像。例如,AR和/或VR应用可以包括例程,该例程被配置为在AR和/或VR通信开始之前,指令对象(例如,用户)在相机(例如,相机105)前面移动、旋转、改变位置、改变姿态等。示例实现方式可能无法捕获到足够大的校正图像的集合
Figure BDA0002547624820000114
以将对象包含在从AR和/或VR显示器v的视点可以观察到的每个可能姿态中。但是,校正图像的集合
Figure BDA0002547624820000115
可以包括足够数量的图像,以如果不是全部,从大多数AR和/或VR显示器(v)的可能视角推断对象的外观。
根据示例实施例,可以从校正图像和姿态的集合
Figure BDA0002547624820000116
中选择在AR和/或VR显示器(v)的视点中最类似于新的、目标的或期望的姿态
Figure BDA0002547624820000117
的图像。等式2可以表示该技术。
Figure BDA0002547624820000111
其中,
Figure BDA0002547624820000118
是校正图像
Figure BDA0002547624820000119
是校正图像的姿态,
Figure BDA00025476248200001110
是校正图像的集合,
Figure BDA00025476248200001111
是校正图像姿态的集合,并且
Figure BDA00025476248200001112
是目标或期望的姿态。
图3示出了根据示例实现方式的信号流的框图。图3所示的信号流可以具有选择在前述预处理阶段期间存储的校正图像的实现方式的示例。如图3所示,校正图像305块包括姿态检测器310块、选择器315块、图像块和姿态325块。选择器315块使用图像115块、姿态225块、视点120块和姿态检测器310块作为输入。此外,姿态检测器310块使用图像115块作为输入。
姿态检测器310被配置为检测从图像115块接收的每个校正图像(例如,校正图像的集合
Figure BDA00025476248200001113
中的每个)的姿态。将每个姿态发送到选择器315块,并与其图像115的对应图像相关联。选择器315块使用与图像115、姿态225和视点120的每个图像对应的姿态来选择图像115之一作为校正图像
Figure BDA0002547624820000121
所选择的图像可以是具有与视点120处的姿态225最紧密匹配的姿态的图像。换言之,所选择的图像可以是当使用如下等式(3)翘曲时可以向如下等式(4)提供足够信息,以产生要在VR/AR显示器上显示的图像的图像。图像320可以是校正图像
Figure BDA0002547624820000122
并且由姿态检测器310确定的所选校正图像
Figure BDA0002547624820000123
的姿态可以是姿态325。
可以确定(例如,计算、处理等)每个图像115的分数。在示例实现方式中,具有最高分数的图像可以被选择为校正图像。可替代地,具有最低分数的图像可以被选择为校正图像。替代地,具有满足某些标准(例如,等于或大于阈值数、小于阈值数等)的分数的图像可以被选择为校正图像。可以基于对象的元素的加权分数来计算分数。例如,是人类的对象的分数可以计算如下:
Figure BDA0002547624820000124
其中,
ωhead是头部分数的权重变量,
Figure BDA0002547624820000125
是头部分数
ωtorso是躯干分数的权重变量,
Figure BDA0002547624820000126
是躯干分数
ωsim是相似度分数的权重变量,并且
Figure BDA0002547624820000127
是相似度分数。
可以使用3D关键点k计算代表用户头部前视方向的3D单位矢量。可以通过从眼睛和鼻子的关键点创建局部坐标系来计算矢量。可以从校正图像关键点
Figure BDA0002547624820000128
确定(例如,计算、处理等)3D单位矢量
Figure BDA0002547624820000129
可以将头部分数确定(例如,计算、处理等)作为点积
Figure BDA00025476248200001210
并且可以使用类似的过程来确定(例如,计算、处理等)
Figure BDA00025476248200001211
其中,可以从左/右肩膀和左臀部关键点创建坐标系。
这两个分数已经足以从期望的新颖视点准确地选择校正图像。但是,它们没有考虑四肢的配置。因此,
Figure BDA0002547624820000133
可以用于确定(例如,计算,处理等)在对新的、目标的或期望的姿态
Figure BDA0002547624820000134
中的校正图像中的关键点
Figure BDA0002547624820000135
之间的相似度分数。
为了简化表示,
Figure BDA0002547624820000136
Figure BDA0002547624820000137
可以被称为齐次坐标中的关键点的图像空间2D坐标。可以确定(例如,计算,处理等)可以使两个集合对齐的相似度变换(旋转、平移、缩放)
Figure BDA0002547624820000138
在示例实现方式中,可能需要至少2个点来估计4个自由度(DOF)变换(例如,一个用于旋转,两个用于平移,以及一个用于缩放)。因此,可以将手臂关键点(肘部、腕部)和腿关键点(膝部、脚部)组合在一起。例如,可以将属于左臂组(LA)的所有关键点计算为:
Figure BDA0002547624820000131
其中,
Figure BDA0002547624820000139
是当前视图的检测到的左臂关键点,
Figure BDA00025476248200001310
是校正图像的检测到的左臂关键点,
关键点以3D齐次坐标(4x1矢量)表示,并且
变换
Figure BDA00025476248200001311
是4x4矩阵,其将每个关键点从校正图像旋转转换为当前视图。
相似度分数可以被定义为:
Figure BDA0002547624820000132
其中,
σ是缩放因子,并且
所有其他数量已在上面定义。
最终
Figure BDA00025476248200001312
可以是对象的元素(例如,四(4)个肢体)(由j索引)的分数总和。可以调整权重ωj以更加重视头部和躯干方向,这可以定义所需的目标视点。可以选择具有相应姿态
Figure BDA0002547624820000142
和最高分数
Figure BDA0002547624820000143
的校正图像
Figure BDA0002547624820000144
作为校正图像(例如,通过选择器315)。
选择的校正图像
Figure BDA0002547624820000145
应具有类似于与AR和/或VR显示器(v)关联的视点120的视点。但是,该姿态
Figure BDA0002547624820000146
可能与期望的姿态
Figure BDA0002547624820000147
不同。换言之,校正图像的集合
Figure BDA0002547624820000148
不太可能包括处于期望的姿态
Figure BDA0002547624820000149
的图像。因此,选择的校正图像
Figure BDA00025476248200001410
可以被翘曲以生成与对象(Iwarp)的轮廓等效的图像(例如,轮廓图像或部分图像)以及期望的姿态
Figure BDA00025476248200001411
中的对象的轮廓掩膜(或部分掩膜)。根据示例实现方式,可以使用卷积神经网络来翘曲选择的校正图像
Figure BDA00025476248200001412
根据示例实现方式,可以选择校正图像
Figure BDA00025476248200001413
(例如,从校正图像的集合
Figure BDA00025476248200001415
具有可学习参数ω的神经网络W可以基于对象姿态
Figure BDA00025476248200001414
将选择的图像翘曲为期望的姿态
Figure BDA00025476248200001416
基本上同时可以生成以期望的姿态
Figure BDA00025476248200001417
的对象的轮廓掩膜(或部分掩膜)。等式3可以表示该技术。
Figure BDA0002547624820000141
其中,
Iwarp是在期望的姿态(新姿态或目标姿态)中的对象的轮廓,
Figure BDA00025476248200001418
是在期望的姿态(新姿态或目标姿态)中的对象的轮廓掩膜,
Wω是具有可学习参数ω的神经网络W,
Figure BDA00025476248200001419
是校正图像
Figure BDA00025476248200001420
是对象姿态
Figure BDA00025476248200001421
是期望的姿态。
图4示出了根据示例实现方式的信号流的又一框图。图4所示的信号流可以是使校正图像翘曲的实施方式的示例。如图4所示,图像翘曲器405块包括翘曲器410块、图像块415和图像掩膜420。翘曲器410块使用姿态325、图像320和姿态225作为输入。在示例实现方式中,翘曲器410基于姿态325、图像320和姿态225生成图像415和图像掩膜420。
翘曲器410可以使用卷积神经网络以基于作为校正图像
Figure BDA0002547624820000151
的图像320,作为在图像320
Figure BDA0002547624820000152
中的对象的姿态的姿态325以及作为目标或期望的姿态
Figure BDA0002547624820000153
的姿态225,生成图像415作为期望的姿态(Iwarp)中的对象的轮廓(例如,轮廓图像或部分图像)。此外,翘曲器410可以使用卷积神经网络以基于作为校正图像
Figure BDA0002547624820000154
的图像320,作为在图像320
Figure BDA0002547624820000155
中的对象的姿态的姿态325以及作为目标或期望的姿态
Figure BDA0002547624820000156
的姿态225,生成图像掩膜420作为期望的姿态
Figure BDA0002547624820000157
中对象的轮廓掩膜(或部分掩膜)。
在示例实现方式中,也称为校正姿态
Figure BDA0002547624820000158
的图像320中的对象的姿态可以是具有17个通道或每个关键点一个通道的张量。校正姿态
Figure BDA0002547624820000159
张量和校正图像
Figure BDA00025476248200001510
可以通过卷积神经网络的第一遍历(例如基于U-NET模型)以产生输出部分掩膜
Figure BDA00025476248200001511
和背景掩膜
Figure BDA00025476248200001512
这些掩膜可以根据相似度变换选择应翘曲的对象(例如身体)的哪些区域。可能无法了解翘曲变换。替代地,可以在至少两个2D点的关键点组上使用等式6来确定(例如,计算,处理等)翘曲变换。
在示例实现方式中,翘曲纹理
Figure BDA00025476248200001513
对于每个关键点组p(总共30个通道)可以具有三(3)个RGB通道。但是,掩膜不仅用于选择要翘曲的像素。替代地,可以使用掩膜将对象元素(例如,身体部位)掩膜自身翘曲为目标或期望的姿态
Figure BDA00025476248200001514
跨所有通道上的最大值可用于监督得到的翘曲轮廓
Figure BDA00025476248200001515
(例如,翘曲轮廓图像)的生成(或合成)。使用掩膜使目标元素(例如身体部位)掩膜翘曲可以避免或最小化过度拟合,可以教导网络将纹理从校正图像转移到目标视图并保留高频细节。
此外,在示例实现方式中,可以不生成背景(或背景图像)。换言之,仅对象(例如,人)被翘曲。但是,可以预测背景掩膜
Figure BDA00025476248200001516
翘曲的轮廓
Figure BDA00025476248200001517
(例如,轮廓图像或部分图像)和翘曲的纹理
Figure BDA00025476248200001518
可以经过卷积神经网络的第二遍历(例如,基于U-NET模型)以合并每个部分纹理并细化(refine)最终的前景掩膜。
在示例实现方式中,可以训练翘曲器410(例如,卷积神经网络)以最小化多重损失,如等式8中详细描述的:
Figure BDA0002547624820000161
其中,凭经验选择权重,以使所有损失都大致在同一动态范围内。其余变量将在下面详细讨论。
翘曲重建损失
Figure BDA0002547624820000162
是感知重建损失。
Figure BDA0002547624820000163
可以测量深度卷积神经网络(例如,视觉几何组(VGG)网络)中预测图像Iwarp与相应地面真实图像Igt之间的对象识别特征空间的差异。给定校正图像的性质,Iwarp可能缺乏高频率细节,例如面部表情。因此,计算了深度卷积神经网络从conv2到conv5层的损失选择特征。
翘曲背景损失
Figure BDA0002547624820000164
是背景噪声。为了消除背景噪声分量,预测掩膜
Figure BDA0002547624820000165
与地面真值掩膜
Figure BDA0002547624820000166
之间的损失
Figure BDA0002547624820000167
翘曲前景损失
Figure BDA0002547624820000168
是前景噪声。每个部分掩膜可以通过相应的相似度变换被翘曲为目标或期望的姿态
Figure BDA0002547624820000169
通道可以利用最大池化运算符(max-pooling operator)被合并,并检索前景掩膜
Figure BDA00025476248200001610
在掩膜上加上损失
Figure BDA00025476248200001611
翘曲前景损失
Figure BDA00025476248200001612
可以将网络推向学习变换,而不是记忆解决方案(例如过度拟合)。
翘曲前景细化损失
Figure BDA00025476248200001613
是由于匹配误差引起的损失。由于假设在对象元素(例如,身体部位)之间的相似度变换,因此翘曲的部分掩膜
Figure BDA00025476248200001614
可能与轮廓(例如,轮廓图像或部分图像)不准确地匹配。因此,可以修改掩膜以产生最终的二进制图像
Figure BDA00025476248200001615
这可以通过使损失最小化来训练。
翘曲GAN损失
Figure BDA00025476248200001616
是由于神经网络造成的损失。可以添加生成对抗网络(GAN)组件,以帮助生成现实的高频细节的缺失部分(有时称为幻觉)。与不使用GAN组件相比,GAN组件可导致更稳定的结果:
Figure BDA0002547624820000171
其中鉴别器D由具有256个滤波器的5个conv层组成,并具有最大池化层以对特征图进行下采样。可以添加两(2)个具有256个特征的全连接层和S形的激活,以产生鉴别器标签。
使用包括使用另一个卷积神经网络的神经混合操作,可以通过翘曲的校正图像(Iwarp)中的内容来增强重新渲染的图像(Icloud)。如果AR和/或VR显示器(v)的视点接近相机
Figure BDA0002547624820000172
的视点,则卷积神经网络应优先重新渲染的图像(Icloud)的细节,而卷积神经网络应利用翘曲的校正图像中的纹理(Iwarp)用于背面视图。
可以将通过等式1描述的传统重新渲染捕获的信息混合到等式3的翘曲校正图像以产生如下最终图像(Iout):
Figure BDA0002547624820000173
图5示出了根据示例实现方式的信号流的框图。图5所示的信号流可以是混合以生成(或合成)最终图像的实现方式的示例。如图5所示,混合图像505块包括混合器510块。混合器510块使用图像掩膜420、图像415、置信度230和法线图220作为输入。在示例实现方式中,混合器510块基于图像掩膜420、图像415、置信度230和法线图220来生成修改的图像125。
将法线图N和置信度c输入到卷积神经网络作为至每个像素的额外通道。附加通道包含用于消除正面视图与背面视图的歧义的信息。掩膜
Figure BDA0002547624820000174
用作引导卷积神经网络以理解该网络应在哪里生成在重新渲染的图像(Icloud)中不可见的图像内容的缺失部分(有时称为幻觉)的附加特征。
混合器510可以通过以下损失被监督:
Figure BDA0002547624820000181
其中,
Figure BDA0002547624820000182
是混合器重建损失,并且
Figure BDA0002547624820000183
是混合器GAN损失。
对于混合器重建损失
Figure BDA0002547624820000184
重建损失计算最终图像输出(Iout)与目标视图(Igt)之间的差。混合器重建损失
Figure BDA0002547624820000185
可通过
Figure BDA0002547624820000186
定义。小的
Figure BDA0002547624820000187
的光度(l1)损失可用于确保快速的颜色收敛。
混合器GAN损失
Figure BDA0002547624820000188
可能是由于神经网络的损失。可以添加生成对抗网络(GAN)组件,以帮助生成现实的高频细节的缺失部分(有时称为幻觉)。与不使用GAN组件相比,GAN组件可导致更稳定的结果:
Figure BDA0002547624820000189
其中鉴别器D由具有256个滤波器的5个conv层组成,并具有最大的池化层以对特征图进行下采样。可以添加两(2)个具有256个特征的全连接层和S形的激活,以传输鉴别器标签。
图6至10是根据示例实施例的方法的流程图。关于图6至10描述的方法可以由于存储在与装置(例如,服务器140)相关联的存储器(例如,非暂时性计算机可读存储介质)中的软件代码的执行而得以执行并且由与该装置相关联的至少一个处理器来执行。
然而,设想了替代实施例,诸如体现为专用处理器的系统。专用处理器可以是图形处理单元(GPU)。GPU可以是图形卡的组件。图形卡还可以包括视频存储器、随机存取存储器数模转换器(RAMDAC)和驱动器软件。视频存储器可以是帧缓冲器,其存储代表图像、视频帧、图像的对象或帧场景的数字数据。RAMDAC可以被配置为读取视频存储器的内容,将内容转换为模拟RGB信号,然后将模拟信号发送到显示器或监视器。驱动器软件可以是存储在上述存储器中的软件代码。可以将软件代码配置为实现以下所述的方法(和/或上述的组件、模块和信号流)。
尽管以下描述的方法被描述为由处理器和/或专用处理器执行,但是这些方法不必由同一处理器执行。换言之,至少一个处理器和/或至少一个专用处理器可以执行以下关于图6至10描述的方法。
图6示出了根据示例实现方式的用于生成图像的方法。如步骤S605所示,接收包括颜色数据和深度数据的第一图像。例如,可以从相机(例如相机105)接收第一图像。可以在计算设备(例如,服务器140)处接收第一图像。可以经由有线和/或无线通信系统(例如,在通信事件期间)对第一图像进行通信。第一图像可以是包括颜色数据(例如,RGB)和深度数据的图像数据。例如,相机可以包括传感器以捕获图像数据和深度数据。替代地或附加地,相机可包括传感器以捕获图像数据和可从图像数据生成深度数据的处理能力。
在步骤S610中,确定显示第二图像的AR和/或VR显示器的视点。例如,AR和/或VR显示器(例如,HMD)可以检测用户观看AR和/或VR显示器的视点。可以基于AR和/或VR显示器的位置和/或位置改变和/或观看AR和/或VR显示器的用户的眼睛的观看方向来检测视点。可以在计算设备(例如,服务器140)处接收表示用户观看AR和/或VR显示器的视点的数据(例如,坐标)。可以经由有线和/或无线通信系统(例如,在通信事件期间)来对表示用户观看AR和/或VR显示器的视点的数据进行通信。
在步骤S615中,接收至少一个校正图像。例如,在使用AR和/或VR应用启动通信之后,可以在校正过程期间使用相机(例如,相机105)捕获校正图像作为初始或第一时期(或阶段或步骤)。可以在使用AR和/或VR应用进行通信的同时(例如,当用户移动、旋转、改变位置和/或改变姿态时)使用相机105捕获校正图像。可以捕获多个校正图像并将其存储在存储器(例如,服务器140的存储器、服务器140上的库)中。因此,可以从存储器读取校正图像。在示例实现方式中,从多个校正图像中选择校正图像。
在步骤S620中,基于第一图像、视点和至少一个校正图像中的一个来生成第二图像。例如,可以基于视点和第一图像来修改校正图像。在示例实现方式中,可以基于视点和第一图像中的相同对象来修改校正图像中的对象(例如,人)。可以通过基于第一图像中的对象的姿态和视点使第二图像中的对象翘曲来修改校正图像。换言之,与第一图像中对象的位置和姿态相比,对象处于不同的位置和姿态。
在步骤S625中,显示生成的图像。例如,在生成第二图像之后,可以在AR和/或VR显示器上渲染第二图像。结果,AR和/或VR显示器的观看者基于观看者的有意移动来观看对象,即使相机已经捕获了具有与观看者所期望的不同的姿态和位置的对象的图像。换言之,即使对象的前部被相机捕获,观看者可以观看对象的后部。在示例实现方式中,第二图像可以与背景图像合并。
图7示出了根据示例实现方式的用于生成法线图的方法。如步骤S705所示,从传感器接收彩色图像。例如,可以从传感器(例如,相机105)接收彩色图像。可以在计算设备(例如,服务器140)处接收彩色图像。可以经由有线和/或无线通信系统(例如,在通信事件期间)对彩色图像进行通信。彩色图像可以是包括颜色数据(例如,RGB)的图像数据。例如,传感器可以被配置为捕获图像数据。
在步骤S710中,从传感器接收深度图像。例如,可以从传感器(例如,相机105)接收深度图像。深度图像可以在计算设备(例如,服务器140)处被接收。可以经由有线和/或无线通信系统(例如,在通信事件期间)对深度图像进行通信。深度图像可以是深度数据。例如,传感器可以被配置为捕获图像数据和深度数据。替代地或另外,包括传感器的相机可以包括可以从图像数据生成深度数据的处理能力。
在步骤S715中,基于彩色图像和深度图像来渲染点云图像。例如,彩色图像和深度图像可以包括对象。可以将对象重新渲染(例如,作为对象的轮廓)作为点云图像。该对象可以是深度图像的重新渲染。该对象可以是彩色图像的重新渲染。可以将对象重新渲染为2D图像。可以旋转和平移对象。可以调整点云图像的大小(例如,基于将在将来的过程步骤中生成的图像的大小)。
在步骤S720中,基于点云图像确定姿态。例如,可以从彩色图像和/或深度图像确定(例如,计算、处理等)2D关键点。例如,2D关键点可以是具有沿着对象的坐标的少量(例如20、30、40等)的点。可以将2D关键点映射到深度图像中的相应点。在一些实现方式中,可以推断缺失的对应点。可以通过将每个对应点编码为具有固定方差的以该点为中心的高斯来确定姿态。
在步骤S725中,基于点云图像生成法线图。可以使用法线图来确定是否可以参考相机的视点充分观察图像数据中的像素。法线图颜色分量(例如彩色图像或RGB)可以对应于表面法线的x、y、z坐标。
在步骤S730中,基于点云图像生成置信度分数。例如,可以通过测量相机的视点与AR和/或VR显示器的视点之间的差异来确定(例如,计算、处理等)置信度(例如,作为标量值)。在示例实现方式中,可以将置信度分数确定为与相机的视点相对应的矢量和与AR和/或VR显示器的视点相对应的矢量之间的点积。
图8示出了根据示例实现方式的用于选择图像的方法。如步骤S805所示,接收多个校正图像。例如,在使用AR和/或VR应用启动通信之后,可以在校正过程期间使用相机(例如,相机105)捕获校正图像作为初始或第一时期(或阶段或步骤)。可以在使用AR和/或VR应用进行通信的同时(例如,当用户移动、旋转、改变位置和/或改变姿态时)使用相机105捕获校正图像。可以捕获多个校正图像并将其存储在存储器(例如,服务器140的存储器,服务器140上的库)中。因此,可以从存储器读取多个校正图像。
在步骤S810中,接收姿态数据。例如,上面确定的姿态可以从实现上述方法的模块传送到实现该方法的模块。
在步骤S815中,接收视点数据。例如,AR和/或VR显示器(例如,HMD)可以检测用户观看AR和/或VR显示器的视点。可以基于AR和/或VR显示器的位置和/或位置改变和/或观看AR和/或VR显示器的用户的眼睛的观看方向来检测视点。可以在计算设备(例如,服务器140)处接收表示用户观看AR和/或VR显示器的视点的数据(例如,坐标)。可以经由有线和/或无线通信系统(例如,在通信事件期间)来对表示用户观看AR和/或VR显示器的视点的数据进行通信。
在步骤S820中,确定与每个校正图像相关联的姿态。例如,可以为多个校正图像中的每一个确定(例如,计算、处理等)2D关键点。例如,2D关键点可以是具有沿着对象的坐标的少量(例如20、30、40等)的点。2D关键点可以被映射到多个校正图像中的相应一个的深度图像中的相应点。在一些实现方式中,可以推断缺失的对应点。可以通过将每个对应点编码为具有固定方差的以该点为中心的高斯来确定多个校正图像中的每一个的姿态。
在步骤S825中,基于姿态数据、确定的姿态和视点数据选择多个校正图像之一。例如,可以为多个校正图像中的每一个确定相似度分数(上面更详细地讨论)。在示例实现方式中,可以选择具有最高分数的多个校正图像中的图像作为校正图像。可替代地,可以选择多个校正图像中的具有最低分数的图像作为校正图像。可替代地,可以选择多个校正图像中的具有满足某个标准(例如,等于或高于阈值数,低于阈值数等)的分数的图像作为校正图像。可以基于对象元素的加权分数来计算分数。
图9示出了根据示例实现方式的用于使图像翘曲的方法。如步骤S905所示,接收校正图像。例如,上面选择的校正图像可以从实现上述方法的模块传送到实现该方法的模块。
在步骤S910中,接收与校正图像相关联的第一姿态数据。例如,与上面选择的校正图像相关联的姿态可以从实现上述方法的模块传送到实现该方法的模块。
在步骤S915中,接收与感测到的图像相关联的第二姿态数据。例如,可以将与上面确定的与捕获图像相关联的姿态从实现上述方法的模块传送到实现该方法的模块。
在步骤S920中,基于第一姿态数据和第二姿态数据,通过使校正图像翘曲来生成翘曲图像。在步骤S925中,基于翘曲图像生成图像掩膜。例如,所选择的校正图像应具有类似于与AR和/或VR显示器相关联的视点的视点。但是,校正图像中的对象的姿态可能与目标或期望的姿态不同。换言之,校正图像的集合不太可能包括目标或期望的姿态的图像。因此,可以对选择的校正图像进行翘曲以生成与对象的轮廓(例如,轮廓图像或部分图像)等效的图像作为翘曲图像和在期望的姿态中的对象的轮廓掩膜(或部分掩膜)作为图像掩膜。根据示例实现方式,卷积神经网络可以用于使所选择的校正图像翘曲。
例如,校正图像可以通过卷积神经网络的第一遍历(例如,基于U-NET模型),以产生输出部分掩膜和背景掩膜。这些掩膜可以根据相似度变换选择应翘曲的对象(例如身体)的哪些区域。可能无法了解翘曲变换。替代地,可以在至少两个2D点的关键点组上使用等式6来确定(例如,计算、处理等)翘曲变换。
翘曲的轮廓(例如,翘曲的轮廓图像)和翘曲的纹理可以经过卷积神经网络的第二遍历(例如,基于U-NET模型)以合并每个部分的纹理并细化最终的前景掩膜作为图像掩膜。
图10示出了根据示例实现方式的用于生成图像的方法。如步骤S1005所示,接收翘曲图像。例如,可以将上面生成的翘曲图像从实现上述方法的模块传送到实现该方法的模块。
在步骤S1010中,接收与翘曲图像相关的图像掩膜。例如,可以将上面生成的图像掩膜从实现上述方法的模块传送到实现该方法的模块。
在步骤S1015中,接收与感测到的图像相关联的法线图。例如,可以将上面生成的法线图从实现上述方法的模块传送到实现该方法的模块。
在步骤S1020中,接收与感测到的图像相关联的置信度分数。例如,可以将上面确定的置信度分数从实现上述方法的模块传送到实现该方法的模块。
在步骤S1025中,基于翘曲图像、图像掩膜法线图和置信度分数来生成图像。例如,可以使用包括使用另一个卷积神经网络的神经混合操作,通过翘曲的校正图像中的内容来增强重新渲染的图像。如果AR和/或VR显示器的视点接近相机的视点,则卷积神经网络应优先重新渲染的图像的细节,而卷积神经网络应利用翘曲的校正图像中的纹理用于背面视图。
在示例实现方式中,可以将法线图和置信度输入到卷积神经网络,作为到每个像素的额外通道。附加通道包含用于消除正面视图和背面视图的歧义的信息。掩膜可以用作引导卷积神经网络以理解该网络应在哪里生成在重新渲染的图像中不可见的图像内容的缺失部分(有时称为幻觉)的附加特征。
图11示出了可以与这里描述的技术一起使用的计算机设备1100和移动计算机设备1150的示例。计算设备1100旨在代表各种形式的数字计算机,例如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。计算设备1150旨在代表各种形式的移动设备,例如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。此处所示的组件,它们的连接和关系以及它们的功能仅是示例性的,并不意味着限制本文档中描述和/或要求保护的发明的实现方式。
计算设备1100包括处理器1102、存储器1104、存储设备1106、连接到存储器1104和高速扩展端口1110的高速接口1108、以及连接到低速总线1114和存储设备1106的低速接口1112。组件1102、1104、1106、1108、1110和1112中的每一个都使用各种总线互连,并且可以安装在通用主板上,或采用其他合适的方式。处理器1102可以处理用于在计算设备1100内执行的指令,包括存储在存储器1104或存储设备1106中的指令,以在耦合到高速接口1108的,诸如显示器1116的外部输入/输出设备上显示GUI的图形信息。在其他实现方式中,可以适当地使用多个处理器和/或多个总线,以及多个存储器和存储器类型。而且,可以连接多个计算设备1100,其中每个设备提供必要的操作的部分(例如,作为服务器组、一组刀片服务器或多处理器系统)。
存储器1104在计算设备1100内存储信息。在一种实现方式中,存储器1104是一个或多个易失性存储器单元。在另一实现方式中,存储器1104是一个或多个非易失性存储器单元。存储器1104也可以是另一种形式的计算机可读介质,诸如磁盘或光盘。
存储设备1106能够为计算设备1100提供大容量存储。在一种实现方式中,存储设备1106可以是或包含计算机可读介质,例如软盘设备、硬盘设备、光盘设备、或磁带设备、闪存或其他类似的固态存储器设备或设备阵列,包括存储区域网络或其他配置中的设备。计算机程序产品可以有形地体现在信息载体中。该计算机程序产品还可以包含在被执行时执行诸如上述的一种或多种方法的指令。信息载体是计算机或机器可读介质,诸如存储器1104、存储设备1106或处理器1102上的存储器。
高速控制器1108管理计算设备1100的带宽密集型操作,而低速控制器1112管理较低带宽密集型操作。这种功能分配仅是示例性的。在一种实现方式中,高速控制器1108(例如,通过图形处理器或加速器)耦合到存储器1104、显示器1116、以及耦合到可以接受各种扩展卡(未示出)的高速扩展端口1110。在该实现方式中,低速控制器1112耦合到存储设备1106和低速扩展端口1114。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可以例如通过网络适配器耦合至一个或多个输入/输出设备,诸如键盘、定点设备、扫描仪或诸如交换机或路由器之类的网络设备。
计算设备1100可以以多种不同形式实现,如图所示。例如,它可以被实现为标准服务器1120,或者被实现为一组这样的服务器中的多次。它也可以实现为机架服务器系统1124的一部分。此外,它还可以被实现在诸如膝上型计算机1122之类的个人计算机中。可替换地,来自计算设备1100的组件可以与移动设备(未示出)中的其他组件,诸如设备1105组合。每个这样的设备可以包含一个或多个计算设备1100、1150,并且整个系统可以由彼此通信的多个计算设备1100、1150组成。
计算设备1150包括处理器1152、存储器1164、诸如显示器1154的输入/输出设备、通信接口1166和收发器1168、以及其他组件。设备1150还可以配备有存储设备,诸如微驱动器或其他设备,以提供附加的存储。组件1150、1152、1164、1154、1166和1168中的每一个使用各种总线互连,并且其中一些组件可以安装在通用主板上,或采用其他合适的方式。
处理器1152可以执行计算设备1150内的指令,包括存储在存储器1164中的指令。处理器可以被实现为包括独立的或多个模拟和数字处理器的芯片的芯片组。处理器可以提供例如用于设备1150的其他组件的协调,诸如对用户接口、由设备1150运行的应用以及由设备1150进行的无线通信的控制。
处理器1152可以通过控制接口1158和耦合到显示器1154的显示器接口1156与用户通信。显示器1154可以是例如TFT LCD(薄膜晶体管液晶显示器)或OLED(有机发光二极管)显示器或其他适当的显示器技术。显示器接口1156可以包括用于驱动显示器1154向用户呈现图形和其他信息的适当电路。控制接口1158可以从用户接收命令并且将其转换以提交给处理器1152。另外,可以提供与处理器1152通信的外部接口1162,以使得设备1150能够与其他设备进行近距离通信。外部接口1162可以例如在一些实现方式中提供用于有线通信,或者在其他实现方式中提供用于无线通信,并且也可以使用多个接口。
存储器1164在计算设备1150内存储信息。存储器1164可以被实现为一个或多个计算机可读介质、一个或多个易失性存储器单元、或一个或多个非易失性存储器单元。还可以提供扩展存储器1174,并通过扩展接口1172将其连接到设备1150,扩展接口1172可以包括例如SIMM(单列存储器模块)卡接口。这样的扩展存储器1174可以为设备1150提供额外的存储空间,或者还可以为设备1150存储应用或其他信息。具体地,扩展存储器1174可以包括用于执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器1174可以被提供为设备1150的安全模块,并且可以用允许安全使用设备1150的指令来编程。另外,可以经由SIMM卡以及附加信息来提供安全应用,诸如以不可入侵的方式将识别信息放置在SIMM卡上。
存储器可包括例如闪存和/或NVRAM存储器,如下所述。在一种实现方式中,计算机程序产品有形地体现在信息载体中。该计算机程序产品包含在执行时执行例如上述的一种或多种方法的指令。信息载体是计算机或机器可读介质,诸如存储器1164、扩展存储器1174、或处理器1152上的存储器,可以例如通过收发器1168或外部接口1162接收。
设备1150可以通过通信接口1166进行无线通信,该通信接口1166在必要时可以包括数字信号处理电路。通信接口1166可以提供诸如GSM语音呼叫、SMS、EMS或MMS消息收发、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS等等的各种模式或协议下的通信。这样的通信可以例如通过射频收发器1168发生。另外,可以发生短距离通信,诸如使用蓝牙、Wi-Fi或其他这样的收发器(未示出)。另外,GPS(全球定位系统)接收器模块1170可以向设备1150提供附加的与导航和位置相关的无线数据,设备1150上运行的应用可以适当使用这些数据。
设备1150还可以使用音频编解码器1160在听觉上进行通信,该音频编解码器1160可以从用户接收语音信息,并将其转换为可用的数字信息。音频编解码器1160同样可以诸如通过在例如设备1150的手机中的扬声器为用户生成可听见的声音。这种声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件等),并且还可以包括在设备1150上运行的应用生成的声音。
计算设备1150可以以多种不同的形式实现,如图所示。例如,它可以被实现为蜂窝电话1180。它还可以被实现为智能电话1182、个人数字助理或其他类似移动设备的一部分。
尽管示例实施例可以包括各种修改和替代形式,但是其实施例在附图中以示例的方式示出并且在本文中被详细描述。然而,应理解,不旨在将示例实施例限制为所公开的特定形式,而是相反,示例实施例将覆盖落入权利要求范围内的所有修改、等同形式和替代形式。在整个附图的描述中,相同的标号表示相同的元件。
在此描述的系统和技术的各种实现方式可以在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实现方式可以包括在一个或多个计算机程序中的实现方式,该一个或多个计算机程序可以在包括至少一个可编程处理器、至少一个输入设备以及至少一个输出设备的指令的可编程系统上执行和/或解释,该至少一个可编程处理器可以是专用的或通用的,被耦合为从存储系统接收数据和指令并向存储系统传输数据和指令。这里描述的系统和技术的各种实现方式可以被实现为和/或在本文中通常被称为可以组合软件和硬件方面的电路、模块、块或系统。例如,模块可以包括在处理器(例如,在硅衬底,GaAs衬底等上形成的处理器)或某种其他可编程数据处理装置上执行的功能/动作/计算机程序指令。
以上示例实施例中的一些被描述为描绘为流程图的过程或方法。尽管流程图将操作描述为顺序过程,但是许多操作可以并行或同时地被执行。另外,可以重新安排操作顺序。这些过程可以在其操作完成时终止,但也可以具有图中未包括的附加的方法。该过程可以对应于方法、功能、过程、子例程、子程序等。
其中一些由流程图示出的以上讨论的方法可以由硬件、软件、固件中间件、微代码、硬件描述语言或其任意组合来实现。当以软件、固件、中间件或微代码实现时,用于执行必要任务的程序代码或代码段可以存储在机器或计算机可读介质诸如存储介质中。处理器可以执行必要的任务。
本文公开的特定结构和功能细节仅出于描述示例实施例的目的而具有代表性。然而,示例实施例以许多替代形式来体现,并且不应解释为仅限于本文阐述的实施例。
将理解的是,尽管在本文中可以使用术语第一、第二等来描述各种元件,但是这些元件不应受到这些术语的限制。这些术语仅用于区分一个元件和另一元件。例如,在不脱离示例实施例的范围的情况下,第一元件可以被称为第二元件,并且类似地,第二元件可以被称为第一元件。如本文所使用的,该术语和/或包括一个或多个相关联的所列项目的任何和所有组合。
将理解的是,当元件被称为连接或耦合至另一元件时,其可以直接连接或耦合至另一元件,或者可以存在中间元件。相反,当一个元件被称为直接连接或直接耦合至另一元件时,则不存在中间元件。用于描述元件之间的关系的其他词语应该以类似的方式来解释(例如,在彼此之间与直接在彼此之间、相邻与直接相邻之间等)。
本文所使用的术语仅出于描述特定实施例的目的,并且不旨在限制示例实施例。如本文所使用的,除非上下文另外明确指出,单数形式的“一”、“一个”和“该”也意图包括复数形式。将进一步理解的是,当在本文中使用时,术语“包括”和/或“包含”指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其他特征、整数、步骤、操作、元件、组件和/或其组存在或添加的含义。
还应注意,在一些替代实现方式中,所指出的功能/动作可以不按图中所指出的顺序发生。例如,取决于所涉及的功能/动作,连续示出的两个图实际上可以同时执行或者有时可以以相反的顺序执行。
除非另有定义,否则本文中使用的所有术语(包括技术术语和科学术语)具有与示例实施例所属的本领域的普通技术人员通常所理解的相同含义。还将理解的是,例如在常用词典中定义的那些术语应被解释为具有与其在相关技术的上下文中的含义一致的含义,并且除非在此明确地如此定义,将不被解释为期望化或过度形式化的含义。
根据对计算机存储器内的数据位的操作的软件、算法和符号表示来呈现以上示例实施例的部分和相应的详细描述。这些描述和表示是本领域普通技术人员通过有效地将其工作的实质传达给本领域其他普通技术人员的描述和表示。如本文中使用的术语以及通常被使用的算法被认为是导致期望结果的步骤的自洽序列。这些步骤是需要对物理量进行物理操纵的步骤。通常,尽管不是必须的,这些量采取能够被存储、传输、组合、比较和以其他方式操纵的光、电或磁信号的形式。主要出于通用的原因,有时已经证明将这些信号称为比特、值、元素、符号、字符、项、数字等是方便的。
在以上说明性实施例中,参考可以被实现为程序模块或功能过程的操作的动作和符号表示(例如,以流程图的形式),其包括例程,程序,对象,组件,数据结构等,它们执行特定任务或实现特定抽象数据类型,并且可以使用现有硬件以现有结构元素得以描述和/或实现。这样的现有硬件可以包括一个或多个中央处理单元(CPU)、数字信号处理器(DSP)、专用集成电路、现场可编程门阵列(FPGA)计算机等。
然而,应当牢记,所有这些和类似术语均与适当的物理量相关联,并且仅仅是应用于这些量的方便标签。除非另有特别说明,或者从讨论中显而易见,诸如处理或计算或显示的确定等的术语是指计算机系统或类似电子计算设备的动作和过程,其操纵表示为在计算机系统寄存器或存储器中的物理、电子量的数据并且将其转换为类似地表示为在计算机系统存储器或寄存器或其他此类信息存储、传输或显示设备中的其他物理量的数据。
还应注意,示例实施例的软件实现的方面通常在某种形式的非暂时性程序存储介质(非暂时性计算机可读存储介质)上被编码或在某种类型的传输介质上被实现。程序存储介质可以是磁性的(例如,软盘或硬盘驱动器)或光学的(例如,光盘只读存储器或CD ROM),并且可以是只读或随机存取的。类似地,传输介质可以是双绞线对、同轴电缆、光纤或本领域已知的一些其他合适的传输介质。示例实施例不受任何给定实现方式的这些方面的限制。
最后,还应注意,尽管所附权利要求书列出了本文所述特征的特定组合,但是本公开的范围不限于下文要求保护的特定组合,而是扩展为涵盖特征或在此公开的实施例的任何组合,不论此时是否在所附权利要求中具体列举了该特定组合。

Claims (20)

1.一种用于生成图像的方法,包括:
接收包括颜色数据和深度数据的第一图像;
确定与显示第二图像的增强现实AR和/或虚拟现实VR显示器相关联的视点;
接收至少一个校正图像,所述至少一个校正图像包括所述第一图像中的对象,所述对象处于与所述第一图像中的所述对象的姿态相比不同的姿态;以及
基于所述第一图像、所述视点和所述至少一个校正图像生成所述第二图像。
2.根据权利要求1所述的方法,其中,从单个相机接收所述第一图像,所述单个相机被配置为捕获如红色、绿色、蓝色(RGB)数据的所述颜色数据,以及捕获所述深度数据和基于所述颜色数据生成所述深度数据中的至少一个。
3.根据权利要求1和2中的任一项所述的方法,其中,与所述AR和/或VR显示器相关联的视点不同于与所述第一图像相关联的视点。
4.根据权利要求1至3中的任一项所述的方法,其中,所述至少一个校正图像是所述对象的轮廓图像。
5.根据权利要求1至4中的任一项所述的方法,其中,所述第二图像的生成包括:
通过将二维2D关键点映射到与所述至少一个校正图像相关联的深度数据的对应三维3D点来确定所述对象的目标姿态,以及
通过使用将所述至少一个校正图像和所述对象的目标姿态作为输入的卷积神经网络使所述对象在所述至少一个校正图像中翘曲来生成所述第二图像。
6.根据权利要求1至5中的任一项所述的方法,其中,所述第二图像的生成包括:
在具有所述至少一个校正图像作为输入的卷积神经网络的第一遍历中生成至少一个部分掩膜,
在所述卷积神经网络的所述第一遍历中生成至少一个部分图像,以及
在具有所述至少一个部分掩膜和所述至少一个部分图像作为输入的所述卷积神经网络的第二遍历中生成所述第二图像。
7.根据权利要求1至6中的任一项所述的方法,其中,所述第二图像的生成包括使用通过使与翘曲所述对象相关联的至少两个损失最小化来训练的卷积神经网络的两个遍历。
8.根据权利要求1至7中的任一项所述的方法,其中,使用神经网络混合所述第二图像以生成所述第二图像的缺失部分。
9.根据权利要求1至8中的任一项所述的方法,其中,所述第二图像是所述对象的轮廓图像,所述方法进一步包括将所述第二图像与背景图像合并。
10.根据权利要求1至9中的任一项所述的方法,进一步包括:
预处理阶段,在所述预处理阶段中在改变所述对象的所述姿态的同时捕获多个图像;
将所述多个图像存储为所述至少一个校正图像;
基于目标姿态为所述至少一个校正图像中的每一个生成相似度分数;以及
基于所述相似度分数,从所述至少一个校正图像中选择至少一个校正图像。
11.根据权利要求1至10中的任一项所述的方法,进一步包括:
预处理阶段,在所述预处理阶段中在改变所述对象的所述姿态的同时捕获多个图像;
将所述多个图像存储为所述至少一个校正图像;
在通信事件期间捕获图像,所述图像包括处于新姿态的对象;以及
将所述图像添加到存储的多个图像中。
12.一种非暂时性计算机可读存储介质,其上存储有计算机可执行程序代码,当在计算机系统上执行时,所述计算机可执行程序代码使所述计算机系统执行包括以下的方法:
接收包括颜色数据和深度数据的第一图像;
确定与显示第二图像的增强现实AR和/或虚拟现实VR显示器相关联的视点;
接收至少一个校正图像,所述至少一个校正图像包括所述第一图像中的对象,所述对象处于与所述第一图像中的所述对象的姿态相比不同的姿态;以及
基于所述第一图像、所述视点和所述至少一个校正图像生成所述第二图像。
13.根据权利要求12所述的非暂时性计算机可读存储介质,其中,从单个传感器接收所述第一图像,所述单个传感器被配置为捕获如红色、绿色、蓝色(RGB)数据的所述颜色数据,以及捕获所述深度数据和基于所述颜色数据生成所述深度数据中的至少一个。
14.根据权利要求12和13中的任一项所述的非暂时性计算机可读存储介质,其中,所述第二图像的生成包括:
通过将二维2D关键点映射到与所述至少一个校正图像相关联的深度数据的对应三维3D点来确定所述对象的目标姿态,以及
通过使用将所述至少一个校正图像和所述对象的目标姿态作为输入的卷积神经网络使所述对象在所述至少一个校正图像中翘曲来生成所述第二图像。
15.根据权利要求12至14中的任一项所述的非暂时性计算机可读存储介质,其中,所述第二图像的生成包括:
在具有所述至少一个校正图像作为输入的卷积神经网络的第一遍历中生成至少一个部分掩膜,
在所述卷积神经网络的所述第一遍历中生成至少一个部分图像,以及
在具有所述至少一个部分掩膜和所述至少一个部分图像作为输入的所述卷积神经网络的第二遍历中生成所述第二图像。
16.根据权利要求12至15中的任一项所述的非暂时性计算机可读存储介质,其中,使用神经网络来混合所述第二图像,以生成所述第二图像的缺失部分。
17.根据权利要求12至16中的任一项所述的非暂时性计算机可读存储介质,其中,所述第二图像是所述对象的轮廓图像,所述方法进一步包括将所述第二图像与背景图像合并。
18.根据权利要求12至17中的任一项所述的非暂时性计算机可读存储介质,所述方法进一步包括:
预处理阶段,在所述预处理阶段中在改变所述对象的所述姿态的同时捕获多个图像;
将所述多个图像存储为所述至少一个校正图像;
基于目标姿态为所述至少一个校正图像中的每一个生成相似度分数;以及
基于所述相似度分数,从所述至少一个校正图像中选择至少一个校正图像。
19.根据权利要求12至18中的任一项所述的非暂时性计算机可读存储介质,所述方法进一步包括:
预处理阶段,在所述预处理阶段中在改变所述对象的所述姿态的同时捕获多个图像;
将所述多个图像存储为所述至少一个校正图像;
在通信事件期间捕获图像,所述图像包括处于新姿态的对象;以及
将所述图像添加到存储的多个图像中。
20.一种增强现实AR和/或虚拟现实VR系统,包括:
传感器,所述传感器被配置为捕获颜色数据和深度数据;以及
处理器,所述处理器被配置为:
从所述传感器接收第一图像,
从显示第二图像的AR和/或VR显示器接收视点,
接收至少一个校正图像,所述至少一个校正图像包括所述第一图像中的对象,所述对象处于与所述第一图像中的所述对象的姿态相比不同的姿态,以及
基于所述第一图像、所述视点和所述至少一个校正图像生成所述第二图像。
CN202080001020.4A 2019-04-30 2020-04-30 具有单个rgbd相机的对象的体积捕获 Active CN112166604B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962840905P 2019-04-30 2019-04-30
US62/840,905 2019-04-30
US16/861,530 US11328486B2 (en) 2019-04-30 2020-04-29 Volumetric capture of objects with a single RGBD camera
US16/861,530 2020-04-29
PCT/US2020/030723 WO2020223487A1 (en) 2019-04-30 2020-04-30 Volumetric capture of objects with a single rgbd camera

Publications (2)

Publication Number Publication Date
CN112166604A true CN112166604A (zh) 2021-01-01
CN112166604B CN112166604B (zh) 2024-03-12

Family

ID=73017342

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080001020.4A Active CN112166604B (zh) 2019-04-30 2020-04-30 具有单个rgbd相机的对象的体积捕获

Country Status (4)

Country Link
US (1) US11328486B2 (zh)
EP (1) EP3750137A1 (zh)
CN (1) CN112166604B (zh)
WO (1) WO2020223487A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112738497A (zh) * 2021-03-30 2021-04-30 北京芯海视界三维科技有限公司 传感设备、图像传感器和人机交互系统
CN113160085A (zh) * 2021-04-22 2021-07-23 上海大学 一种基于生成对抗网络的水花遮挡图像数据集采集方法
CN115079881A (zh) * 2022-06-16 2022-09-20 广州国威文化科技有限公司 基于虚拟现实的画面校正方法及系统

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016172960A1 (en) * 2015-04-30 2016-11-03 SZ DJI Technology Co., Ltd. System and method for enhancing image resolution
US11804039B2 (en) * 2020-05-28 2023-10-31 Science House LLC Systems, methods, and apparatus for enhanced cameras
EP3965071A3 (en) * 2020-09-08 2022-06-01 Samsung Electronics Co., Ltd. Method and apparatus for pose identification
US11544884B2 (en) * 2020-12-11 2023-01-03 Snap Inc. Virtual clothing try-on
US11315334B1 (en) * 2021-02-09 2022-04-26 Varjo Technologies Oy Display apparatuses and methods incorporating image masking
CN113111857A (zh) * 2021-05-10 2021-07-13 金华高等研究院 基于多模态信息融合的人体姿态估计方法
US11568552B2 (en) * 2021-06-28 2023-01-31 Varjo Technologies Oy Imaging systems and methods incorporating improved culling of virtual objects
WO2023057781A1 (en) * 2021-10-08 2023-04-13 Facebook Technologies, Llc Generation of a virtual viewpoint image of a person from a single captured image

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109146965A (zh) * 2017-06-16 2019-01-04 精工爱普生株式会社 信息处理装置和计算机程序

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8638985B2 (en) * 2009-05-01 2014-01-28 Microsoft Corporation Human body pose estimation
US10574974B2 (en) * 2014-06-27 2020-02-25 A9.Com, Inc. 3-D model generation using multiple cameras
US10839557B1 (en) * 2018-04-03 2020-11-17 A9.Com, Inc. Camera calibration for augmented reality

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109146965A (zh) * 2017-06-16 2019-01-04 精工爱普生株式会社 信息处理装置和计算机程序

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BALAKRISHNAN GUHA等: "Synthesizing Images of Humans in Unseen Poses", 《2018 IEEE/CVF CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION,IEEE》 *
RICARDO MARTIN-BRUALLA等: "LookinGood: Enhancing Performance Capture with Real-time Neural", 《ACM TRANSACTIONS ON GRAPHICS》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112738497A (zh) * 2021-03-30 2021-04-30 北京芯海视界三维科技有限公司 传感设备、图像传感器和人机交互系统
CN113160085A (zh) * 2021-04-22 2021-07-23 上海大学 一种基于生成对抗网络的水花遮挡图像数据集采集方法
CN115079881A (zh) * 2022-06-16 2022-09-20 广州国威文化科技有限公司 基于虚拟现实的画面校正方法及系统

Also Published As

Publication number Publication date
CN112166604B (zh) 2024-03-12
US11328486B2 (en) 2022-05-10
US20200349772A1 (en) 2020-11-05
WO2020223487A1 (en) 2020-11-05
EP3750137A1 (en) 2020-12-16

Similar Documents

Publication Publication Date Title
CN112166604B (zh) 具有单个rgbd相机的对象的体积捕获
US11024093B2 (en) Live augmented reality guides
US11632533B2 (en) System and method for generating combined embedded multi-view interactive digital media representations
US9269003B2 (en) Diminished and mediated reality effects from reconstruction
US10713851B2 (en) Live augmented reality using tracking
US11380050B2 (en) Face image generation method and apparatus, device, and storage medium
US11288857B2 (en) Neural rerendering from 3D models
CN116897375B (zh) 扩展现实环境中的图像捕获
EP3837668A1 (en) Machine learning inference on gravity aligned imagery
CN115529835A (zh) 用于新颖视图合成的神经混合
CN116569218A (zh) 图像处理方法和图像处理装置
US20230316810A1 (en) Three-dimensional (3d) facial feature tracking for autostereoscopic telepresence systems
US20230186575A1 (en) Method and apparatus for combining an augmented reality object in a real-world image
WO2021173489A1 (en) Apparatus, method, and system for providing a three-dimensional texture using uv representation
WO2024123513A1 (en) Independent scene movement based on mask layers

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
OR01 Other related matters
OR01 Other related matters