CN110999276B - 用于显示合成图像数据的方法和系统 - Google Patents
用于显示合成图像数据的方法和系统 Download PDFInfo
- Publication number
- CN110999276B CN110999276B CN201880048711.2A CN201880048711A CN110999276B CN 110999276 B CN110999276 B CN 110999276B CN 201880048711 A CN201880048711 A CN 201880048711A CN 110999276 B CN110999276 B CN 110999276B
- Authority
- CN
- China
- Prior art keywords
- camera
- data
- virtual
- image data
- mask
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 105
- 239000002131 composite material Substances 0.000 title claims abstract description 56
- 230000033001 locomotion Effects 0.000 claims abstract description 53
- 238000013519 translation Methods 0.000 claims abstract description 24
- 230000006870 function Effects 0.000 claims description 34
- 230000000694 effects Effects 0.000 claims description 23
- 230000015654 memory Effects 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 12
- 230000011218 segmentation Effects 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 238000002156 mixing Methods 0.000 claims description 10
- 230000009466 transformation Effects 0.000 claims description 9
- 239000000203 mixture Substances 0.000 claims description 8
- 230000007704 transition Effects 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 6
- 238000009499 grossing Methods 0.000 claims description 3
- 230000001815 facial effect Effects 0.000 claims 2
- 230000008569 process Effects 0.000 description 54
- 238000012545 processing Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 7
- 238000000605 extraction Methods 0.000 description 7
- 238000012805 post-processing Methods 0.000 description 7
- 230000003190 augmentative effect Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 6
- 230000014616 translation Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000002245 particle Substances 0.000 description 3
- 244000302899 Cassia mimosoides Species 0.000 description 2
- 235000014112 Cassia mimosoides Nutrition 0.000 description 2
- 241000533950 Leucojum Species 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000003064 k means clustering Methods 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 240000002836 Ipomoea tricolor Species 0.000 description 1
- 241000254158 Lampyridae Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000002329 infrared spectrum Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000012916 structural analysis Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/503—Blending, e.g. for anti-aliasing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/80—2D [Two Dimensional] animation, e.g. using sprites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/174—Segmentation; Edge detection involving the use of two or more images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/62—Control of parameters via user interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/63—Control of cameras or camera modules by using electronic viewfinders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/63—Control of cameras or camera modules by using electronic viewfinders
- H04N23/631—Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6812—Motion detection based on additional sensors, e.g. acceleration sensors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/90—Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/95—Computational photography systems, e.g. light-field imaging systems
- H04N23/951—Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/2224—Studio circuitry; Studio devices; Studio equipment related to virtual studio applications
- H04N5/2226—Determination of depth image, e.g. for foreground/background separation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/265—Mixing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/272—Means for inserting a foreground image in a background image, i.e. inlay, outlay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
- H04N5/445—Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
- H04N5/44504—Circuit details of the additional information generator, e.g. details of the character or graphics signal generator, overlay mixing circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/187—Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
- H04N5/77—Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
- H04N5/772—Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera the recording apparatus and the television camera being placed in the same enclosure
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本文公开了用于生成AR自摄像或“AR自拍”的系统、方法、装置和非暂态计算机可读存储介质。在一个实施方案中,一种方法包括:通过移动设备的第一相机捕获实时图像数据,所述实时图像数据包括对象在物理真实世界环境中的图像;通过所述移动设备的深度传感器接收深度数据,所述深度数据指示所述对象在所述物理真实世界环境中与所述相机的距离;通过所述移动设备的一个或多个运动传感器接收运动数据,所述运动数据至少指示所述第一相机在所述物理真实世界环境中的取向;基于所述运动数据生成虚拟相机转换,所述相机转换用于确定虚拟相机在虚拟环境中的取向;并且使用图像数据、蒙版以及基于虚拟相机取向选择的虚拟背景内容生成合成图像数据。
Description
相关申请的交叉引用
本专利申请要求于2017年9月8日提交的标题为“Augmented Reality Self-Portraits”的美国临时专利申请62/556,297和于2018年9月6日提交的标题为“AugmentedReality Self-Portraits”的美国专利申请16/124,168的优先权。上述专利申请中的每一者的整个内容以引用方式并入本文。
技术领域
本公开整体涉及媒体编辑和增强现实。
背景技术
发明内容
本公开涉及使用机器学习创建增强现实自摄像。公开了用于生成AR自摄像或“AR自拍”的系统、方法、装置和非暂态计算机可读存储介质。
在一个实施方案中,一种方法包括:通过移动设备的第一相机捕获实时图像数据,所述实时图像数据包括对象在物理真实世界环境中的图像;通过所述移动设备的深度传感器接收深度数据,所述深度数据指示所述对象在所述物理真实世界环境中与所述相机的距离;通过所述移动设备的一个或多个运动传感器接收运动数据,所述运动数据至少指示所述第一相机在所述物理真实世界环境中的取向;通过所述移动设备的一个或多个处理器基于所述运动数据生成虚拟相机转换,所述相机转换用于确定虚拟相机在虚拟环境中的取向;通过所述一个或多个处理器从所述虚拟环境接收内容;通过所述一个或多个处理器由所述图像数据和所述深度数据生成蒙版;通过所述一个或多个处理器使用所述图像数据、所述蒙版和第一虚拟背景内容生成合成图像数据,所述第一虚拟背景内容是使用所述相机转换从所述虚拟环境选择的;并且通过所述一个或多个处理器使得在所述移动设备的显示器上显示所述合成图像数据。
在一个实施方案中,一种方法包括:在移动设备的显示器上呈现预览,所述预览包括由定位在对象的近距离内的移动设备的前置相机捕获的预览图像数据的顺序帧,预览图像数据的所述顺序帧包括所述对象的近距离图像数据和物理真实世界环境中所述对象后面的背景的图像数据;接收用于应用虚拟环境效果的第一用户输入;通过所述移动设备的深度传感器捕获深度数据,所述深度数据指示所述对象在所述物理真实世界环境中与所述前置相机的距离;通过所述移动设备的一个或多个传感器捕获取向数据,所述取向数据至少指示所述前置相机在所述物理真实世界环境中的取向;通过所述移动设备的一个或多个处理器基于所述运动数据生成相机转换,所述相机转换描述虚拟相机在虚拟环境中的取向;通过所述一个或多个处理器并且使用所述相机转换来从所述虚拟环境获得虚拟背景内容;通过所述一个或多个处理器由图像数据的所述顺序帧和所述深度数据生成蒙版;通过所述一个或多个处理器生成图像数据的合成顺序帧,所述合成顺序帧包括图像数据的所述顺序帧、所述蒙版和所述虚拟背景内容;并且通过所述一个或多个处理器使得显示图像数据的所述合成顺序帧。
其他实施方案涉及系统、方法、装置和非暂态计算机可读介质。
本文所公开的特定具体实施提供了下列优点中的一个或多个优点。通过允许用户使用嵌入在移动设备中的前置相机或后置相机捕获和记录自拍视频、并自动地以响应于来自移动设备的运动传感器的运动数据自动更新的用户所选虚拟背景内容替换在实时视频预览中所捕获的真实世界背景,改善了在移动设备上创建自拍的用户体验。因此,所公开的具体实施提供了用于捕获可通过社交网络与朋友和家人分享的自拍图像的交互式娱乐过程。
在下面的附图和具体实施方式中示出了所公开的具体实施的细节。从说明书、附图和权利要求书中明显看出其他特征、目标和优点。
附图说明
图1是根据实施方案示出AR自拍的基本概念的概念图。
图2A-图2E根据实施方案示出虚拟环境到移动设备视口的映射。
图3A和图3B根据实施方案示出用于使用前置相机记录AR自拍的图形用户界面。
图3C和图3D根据实施方案示出选择了不同背景场景并且示出记录视图和全屏回放视图的图形用户界面。
图3E和图3F根据实施方案示出用于使用后置相机记录和回放自拍并且示出记录视图和全屏回放视图的图形用户界面。
图4是根据实施方案示出在创建AR自拍中所使用的过程步骤的系统的框图。
图5根据实施方案示出在AR自拍中使用的合成层。
图6A-图6L根据实施方案示出用于使用深度数据生成经预处理(粗略)蒙版的多级过程。
图7A-图7C根据实施方案示出使用视频数据和经预处理(粗略)蒙版的精修蒙版提取过程。
图8根据实施方案示出用于从精修蒙版移除伪影的后处理阶段。
图9是根据实施方案的用于生成AR自拍的过程的流程图。
图10是根据实施方案的用于生成AR自拍蒙版的过程的流程图。
图11根据实施方案示出用于实现参考图1-图10所述的特征和过程的设备架构。
在各附图中使用的相同参考符号表示类似的元件。
具体实施方式
“自拍”是用户常常通过将相机保持在手臂长度内或使用延伸设备诸如“自拍”杆而近邻地拍摄的自摄像图像。自拍对象常常是用户的面部、或用户的一部分(例如,用户的上半身)以及在用户后面可见的任何背景。前置相机是在用户正查看显示屏时面向用户的相机。另选地,后置相机在用户正查看显示屏时背向用户,并且捕获在用户前面以及相反方向的真实世界环境的图像。用于捕获自拍的典型移动设备是数字相机、具有一个或多个嵌入式数字相机的智能电话或具有一个或多个嵌入式相机的平板电脑。
在一个实施方案中,自拍对象可与从虚拟环境数据模型提取的虚拟背景内容合成。虚拟背景内容可包括但不限于二维(2D)图像、三维(3D)图像和360°视频。在预处理阶段,粗略蒙版由深度传感器所提供的深度数据生成,然后使用视频数据(例如,RGB视频数据)进行精修。在一个实施方案中,深度传感器是嵌入在移动设备中的红外(IR)深度传感器。(例如,使用α合成)将蒙版与包含自拍对象的图像的视频数据合成,并且用从用户所选择的虚拟环境选择的虚拟背景内容替换并持续更新对象后面的真实世界背景。使用虚拟相机转换来选择虚拟背景内容,该虚拟相机转换是使用来自移动设备的一个或多个运动传感器(例如,加速度计、陀螺仪)的运动数据生成的。视频数据、精修蒙版、虚拟背景内容以及任选的一个或多个动画层被合成形成AR自拍视频。AR自拍视频被移动设备的视口显示给用户。
在一个实施方案中,移动设备还包括可用于捕获用户前方的视频的后置相机,该用户前方的视频可按与前置相机所捕获的视频类似的方式进行处理。移动设备的操作系统所提供的相机翻转信号可指示哪个相机正在捕获视频,并且该信号可用于调节虚拟相机转换以更新虚拟背景内容。
公开了一种蒙版生成方法,该蒙版生成方法使用未定义深度数据(在本文中也称为“阴影数据”)来将深度图像(例如,二元深度蒙版)分割成前景区域和背景区域。蒙版包含覆盖信息,该覆盖信息包括正在绘制的对象的轮廓,从而使得可能区分二元深度蒙版的对象被实际绘制的部分和二元深度蒙版的其他空部分。在一个实施方案中,蒙版生成过程使用区域生长算法和/或3D面部网格来标识和填充蒙版中由太阳光被对象所佩戴的太阳眼镜反射而导致的“孔洞”(未定义的深度数据)。
尽管蒙版生成过程在本文中作为AR自拍生成过程的一部分来公开,但所公开的蒙版生成过程可用于由用于任何图像处理应用的深度数据生成蒙版。例如,所公开的蒙版生成过程可作为视频/图像编辑工具的一部分用于分割图像。
在一个实施方案中,虚拟环境可以是任何期望的环境,诸如著名城市(例如,伦敦、巴黎或纽约),并且包括著名地标(例如,大本钟、伦敦桥、埃菲尔铁塔)。虚拟环境也可以是完全虚构的,诸如用卡通人物、飞碟和任何其他期望的道具完成的卡通环境。在一个实施方案中,可将运动效果(例如,模糊效果、发光效果、卡通效果)应用于视频数据、虚拟背景内容和蒙版中的一者或多者。也可将运动效应应用于最终合成视频。在一个实施方案中,一个或多个动画层(例如,类似于下雪或火花的动画颗粒层)可与视频数据、蒙版和虚拟背景内容合成。
在一个实施方案中,自拍GUI包括各种控件,诸如用于将AR自拍视频记录到存储设备(例如,移动设备的闪存存储器)的控件、用于打开和关闭移动设备的一个或多个麦克风的控件、用于在前置相机和后置相机之间切换的相机反转按钮、以及用于存储可被选择以检索和回放移动设备上对应视频的AR自拍视频缩略图像的托盘。
AR自拍概念概述
图1是根据实施方案示出AR自拍的概念的概念图。用户100被示出为使用移动设备102的前置相机拍摄自拍。在记录期间,移动设备102上的视口在具有从虚拟环境106提取的虚拟背景内容104的前景中显示用户100的实时视频馈入。当用户100改变移动设备102在真实世界中的取向(例如,旋转相机的视野方向)时,移动设备102的运动传感器(例如,加速度计、陀螺仪)感测改变并生成用于以从虚拟环境106的不同部分提取的新虚拟背景内容更新虚拟背景内容104的运动数据,如参考图2A-图2E进一步所述。从虚拟背景内容104提取的部分取决于用户100正如何握持移动设备102。例如,如果用户100在拍摄自拍时正以“纵向”取向握持移动设备102,则从虚拟背景内容104提取的部分将具有将以纵向或竖直取向填充视口的纵横比。类似地,如果用户100在拍摄自拍时正以“横向”取向握持移动设备102,则从虚拟背景内容104提取的部分将具有将以横向或水平取向填充视口的纵横比。
虚拟环境的示例性映射
图2A-图2E根据实施方案示出虚拟环境到移动设备的视口的映射。图2A示出了单位球106,其具有投影到其表面上的视口202(图2C)的角部。图2B示出了通过将被投影视口202从球坐标系映射到平面坐标系而生成的等量矩形投影200(例如,墨卡托投影)。在一个实施方案中,划分等量矩形投影200的水平线为单元球106的赤道,而划分等量矩形投影200的竖直线为单元球106的本初子午线。等量矩形投影200的宽度为从0°到360°,并且高度跨180°。
图2C示出了等量矩形投影200上面覆盖的子矩形203。子矩形203在平面坐标中代表移动设备102的视口202。可以参照图2E使用公式[1]和[2]将等量矩形投影200采样到视口202中:
λ=acos(zc),经度。[2]
图2D示出了具有视口202和前置相机204的移动设备102。示出了观察坐标系(Xc,Yc,Zc),其中+Zc坐标是前置相机的视野方向。在计算机图形中,使用相机类比,其中位于视参考点(VRP)处的观看者206通过虚拟相机205观察虚拟环境,并且可环顾虚拟环境以及在虚拟环境中走来走去。这通过定义具有虚拟相机205的位置和取向的观察坐标系(VCS)来实现,如图2D和图2E所示。在图2E中,虚拟相机205被示出为固定定位到原点,并且在虚拟世界坐标系中具有纬度(φ)和经度(λ)。可以想象虚拟相机205在单位球106处向外看,具有沿-Z方向的虚拟后置相机的图像,如图2D所示。对于前置相机204,虚拟相机205(围绕图2D中的Y轴)旋转180°以生成沿+Z方向的前置相机视图,该前置相机视图示出虚拟背景“在”观察者206的“肩部上方”。
在一个实施方案中,移动设备102的姿态处理器所生成的姿态四元数可用于确定后置相机和前置相机的视野方向。当观察者206旋转移动设备102时,运动传感器(例如,陀螺仪)感测旋转或旋转速率并更新移动设备102的姿态四元数。更新后的姿态四元数(例如,Δ四元数)可用于推导相机转换以用于为后置相机确定在虚拟环境中的相机视野方向,或者可被进一步转换180°以用于为前置相机确定在虚拟环境中的相机视野方向。
用于推导相机转换的数学运算在计算机图形中为人们所熟知,并且将不在本文进一步讨论。然而,所公开实施方案的一个重要特征是真实世界相机的真实世界取向被用于驱动虚拟相机在虚拟环境中的取向,结果是随着真实世界相机的视野方向实时改变,(由相机转换表示的)虚拟相机视野方向也与真实世界相机同步改变。如下文将描述的,这个技术产生用户正在虚拟环境106(图1)中拍摄自拍并且因此正在捕获用户后面的虚拟背景而不是真实世界背景的错觉。在一个实施方案中,当用户第一次进入该场景时,设备取向(例如,方位、高度)可朝该场景的视觉上令人印象深刻的部分偏置(被称为“主角角度”)。例如,当用户环顾该场景时,可将Δ应用于设备取向,其中Δ被计算为主角角度与在用户进入该场景时的设备取向之间的差值。
用于记录AR自拍的示例性GUI
图3A和图3B根据实施方案示出用于记录AR自拍的图形用户界面。参见图3A,AR自拍GUI 300包括显示包括自拍对象302a和虚拟背景内容303a的合成视频帧的视口301。已将“卡通”特效应用于合成视频以创建有趣的效果并隐藏来自α合成过程的伪影。尽管示出了单个合成视频帧,但应当理解视口301正在显示实时视频馈入(例如,30帧/秒),并且如果真实世界相机视野方向的取向改变,则虚拟背景303a也将无缝地改变以显示虚拟环境的不同部分。这允许用户通过改变真实世界相机的视野方向来“环视”虚拟环境。
在一个实施方案中,除了取向之外,虚拟相机的位置还可在虚拟环境中改变。例如,可通过物理地移动移动设备或通过使用GUI示能表示(虚拟导航按钮)来改变虚拟相机的位置。在前者中,位置数据(例如,GNSS数据)和/或惯性传感器数据(例如,加速度计数据)可用于确定虚拟相机在虚拟环境中的位置。在一个实施方案中,虚拟环境可以是可对用户的动作进行响应的3D视频、3D 360°视频或3D计算机生成图像(CGI)。
GUI 300还包括用于执行各种任务的若干示能表示。标签栏304允许用户选择照片编辑选项,诸如调用AR自拍记录。标签栏305允许用户选择相机功能(例如,照片、视频、全景、库)。标签栏304可以是上下文敏感的,使得标签栏304中的选项可基于在标签栏305中选择的相机功能而改变。在所示示例中,在标签栏305中选择“视频”选项,并且在标签栏304中选择AR自拍记录选项311。
为了记录AR自拍,GUI 300包括用于将AR自拍记录到本地存储装置(例如,闪存存储器)的虚拟记录按钮306。缩略图像托盘309可保持所记录的AR自拍的缩略图像,该缩略图像可被选择以在视口301中回放对应AR自拍视频。相机反转按钮307允许用户在前置相机和后置相机之间切换。麦克风启用按钮308切换移动设备102的一个或多个麦克风打开和关闭。完成按钮310退出GUI 300。
图3B示出了应用于自拍对象302b和不同虚拟背景内容303b的不同特效。例如,虚拟背景内容可以是具有动画卡通人物和其他目标的卡通环境。应当理解,任何虚拟背景内容都可在AR自拍中使用。在一些具体实施中,动画目标(例如,动画颗粒诸如雪花和火花)可被插入在自拍对象与虚拟背景内容之间以创建更美观的虚拟环境,如参考图5所述。在一个实施方案中,可对自拍对象302b给予边缘处理,诸如围绕图像的“辉光”或轮廓或者“油墨”轮廓。在一个实施方案中,动画目标可被插入在自拍对象302a、302b的前面。例如,自拍对象302a、302b可被浮置文本带或其他动画目标环绕。在一个实施方案中,自拍对象302a、302b可层叠在现有真实世界照片或视频上方。
图3C和图3D根据实施方案示出选择了不同背景场景并且示出记录视图和全屏回放视图的图形用户界面。在图3C中,示出了记录视图,其中用户302c已选择虚拟背景303c。需注意,在记录期间,视口301不是全屏,从而为记录控件提供空间。在图3D中,全屏回放视图包括可在用户302d已选择“场景”示能表示312时显示的场景选择器313。在一个实施方案中,场景选择器313是可由用户302d轻扫以选择虚拟背景303d的触摸控件,在该示例中,该虚拟背景为日本茶园。还需注意,虚拟背景303d现在全屏显示在视口311中。
图3E和图3F根据实施方案示出用于使用后置相机记录和回放自拍并且示出记录视图和全屏回放视图的图形用户界面。在图3E中,示出了具有虚拟背景303e的记录视图。虚拟背景303e是用户在虚拟环境中通过后置相机在其前面会看到的情景。用户可选择示能表示307以在前置相机和后置相机之间切换。在图3F中,全屏回放视图包括可在用户302d已选择“场景”示能表示312时置换的场景选择器313。在一个实施方案中,场景选择器313可被用户302d轻扫以选择虚拟背景303f,在该示例中,该虚拟背景为日本茶园。还需注意,虚拟背景303f现在全屏显示在视口314中。在一个实施方案中,当用户第一次选择虚拟环境时,在视口中呈现预定义的取向。
用于生成AR自拍的示例性系统
图4是根据实施方案示出在创建AR自拍中所使用的处理步骤的系统400的框图。系统400可在软件和硬件中实现。前置相机401生成RGB视频并且IR深度传感器402生成深度数据,该RGB视频和深度数据由音频/视觉(A/V)处理模块403接收。A/V处理模块403包括软件数据类型和接口,以有效地管理视频和深度数据的队列用于分发给其他过程,诸如蒙版提取模块409,该蒙版提取模块执行参考图6A-图6L所述的过程。A/V处理模块403还提供包括自拍对象的图像的前景视频404,该前景视频可任选地以运动效果405a诸如图3A中所示的“卡通”效果来处理。蒙版提取模块409输出前景α蒙版410,该前景α蒙版可任选地被运动效果模块405b处理。
对于虚拟背景处理,2D图像源411、3D图像源412或360°视频源413中的一者或多者可用于生成虚拟背景内容415。在一个实施方案中,3D图像源可以是具有3D角色的经渲染3D图像场景。这些媒体源可各自被运动源模块412处理,该运动源模块根据用户所选择的虚拟环境选择适当的源。运动合成模块406由前景视频404、前景α蒙版410和虚拟背景内容415生成合成视频,如参考图5所述。可任选地将运动效果407(例如,模糊效果)应用于运动合成模块406所输出的合成视频,以生成最终AR自拍408。
加速度计和陀螺仪传感器416提供运动数据,该运动数据由运动处理模块417处理以生成相机转换,如参考图2A-图2E所述。在记录期间,来自传感器416的实时运动数据被用于生成AR自拍并且被存储在本地存储设备中(例如,存储在闪存存储器中)。当AR自拍被回放时,从本地存储设备检索运动数据。在一个实施方案中,除了虚拟相机取向之外,虚拟环境中的虚拟相机位置还可由运动处理模块417基于传感器数据来提供。利用虚拟相机和位置信息,用户可在具有3D角色的3D场景中走来走去。
示例性合成过程
图5根据实施方案示出在AR自拍中使用的合成层。在一个实施方案中,α合成用于将包含自拍对象的图像的视频数据与虚拟背景内容组合/混合。RGB深度蒙版(“RGB-D蒙版”)包括投影在二元深度蒙版上的对象的轮廓信息,该轮廓信息用于将对象的前景图像与虚拟背景内容组合。
在所示示例中,在背景内容501上合成一个或多个动画层502(仅示出一个层)。蒙版503被合成在一个或多个动画层502上,并且前景RGB视频数据504(包括对象)被合成在蒙版503上,从而得到最终合成AR自拍,该最终合成AR自拍然后通过呈现在移动设备102的显示器上的视口301来显示。在一个实施方案中,可将运动效果应用于合成视频,诸如模糊效果以隐藏由合成过程导致的任何伪影。在一个实施方案中,动画层可合成在RGB视频数据504的前面或后面。
用于生成RGB-D蒙版的示例性过程
在一个实施方案中,深度传感器为IR深度传感器。IR深度传感器包括IR投影仪和IR相机,该IR相机可为在IR光谱中操作的RGB摄像机。IR投影仪使用落在包括对象的图像场景中的目标上的IR光来投影点图案。IR相机将失真点图案的视频馈入发送到深度传感器的处理器中,并且该处理器由点的位移来计算深度数据。在靠近的目标上,点的图案是密集的,并且在远的目标上,点的图案分散开。深度传感器处理器构建可被移动设备的处理器读取的深度图像或图。如果IR投影仪相对于IR相机偏移,则深度数据中的一些深度数据可能是未定义的。通常,该未定义数据不被使用。然而,在所公开的蒙版生成过程中,未定义数据用于改善分割和轮廓检测,从而得到更无缝的合成物。
参见图6A和图6B,蒙版生成过程600可分为三个阶段:预处理阶段603、RGB-D蒙版提取阶段604和后处理阶段605。过程600将包括对象的图像的RGB视频数据601和包括由IR深度传感器提供的深度数据的深度图602作为输入。应当指出的是,深度图602包括深度数据未定义的阴影区域。需注意,沿对象的面部的左轮廓的阴影比沿对象的面部的右轮廓更粗(更多未定义数据)。这是由于IR投影仪与IR相机之间的偏移。下面将依次描述阶段603-605中的每一者。
参见图6C,示出了预处理阶段603的步骤,这些步骤包括直方图生成606、直方图阈值分割607、外轮廓检测608、内轮廓检测609和粗略深度蒙版生成610、迭代区域生长612和3D面部网格建模613。现在将依次描述这些预处理步骤中的每一者。
直方图生成606将深度数据放置到箱中。直方图阈值分割步骤607用于通过在直方图中查找“峰和谷”来分割前景深度数据和背景深度数据。如图6D所示,直方图614由绝对距离数据生成,其中竖直轴指示每个箱中深度数据值(下文称为“深度像素”)的数量,并且水平轴指示由深度传感器提供的距离值,该距离值在此示例中为绝对距离。需注意,在此示例中,距离值在索引为10的倍数的箱中。
从图6D可以看出,前景像素在大约以550mm为中心的相邻箱中聚集在一起,并且背景像素在大约以830mm为中心的相邻箱中聚集在一起。需注意,如果目标被插入在对象与背景之间或被插入在对象前面,则可能存在距离数据的附加集群。可建立距离阈值(示出为线615),该距离阈值可用于基于距离将像素分割成前景像素和背景像素,以创建二元深度蒙版。例如,距离小于700mm的每个像素被指定为前景,并被分配用于二元深度蒙版中白色像素的二进制值255(例如,假设8位蒙版),并且距离大于700mm的每个像素被指定为背景,并被分配用于二元深度蒙版中黑色像素的二进制值0。
参见图6E,将阈值615(例如,在约700mm处)应用于直方图614,以生成两个二元深度蒙版616a、616b用于分别寻找对象的内轮廓和外轮廓。在一个实施方案中,阈值615可被选择为是前景箱的最外箱(包含距离最长的像素的箱)与背景像素的最内箱(包含距离最短的像素的箱)之间的平均距离。
尽管上文所述像素的分割使用简单的直方图阈值分割方法,但也可使用其他分割技术,包括但不限于:平衡直方图阈值分割、k均值聚类和Otsu方法。
再次参见图6E,步骤608、609分别从二元深度蒙版616a、616b提取对象的内轮廓和外轮廓。将轮廓检测算法应用于深度蒙版616a、616b。一种示例轮廓检测算法在Suzuki,S.和Abe,K.的Topological Structural Analysis of Digitized Binary Images byBorder Following.CVGIP 30 1,第32-46页(1985)中有所描述。
深度蒙版616a仅使用已定义深度数据来生成,并且深度蒙版616b使用已定义深度数据和未定义深度数据(阴影数据)来生成。如果深度蒙版616a、616b要被组合成单个深度蒙版,则所得到的组合深度蒙版将类似于图7C所示的三分图704,其中内轮廓和外轮廓之间的灰色区域(被称为“混合”区域)包括可能包括应包括在前景中的重要轮廓细节的未定义深度数据。在内轮廓和外轮廓被提取之后,它们可利用例如高斯模糊核来平滑。在轮廓被平滑之后,它们被组合618成粗略深度蒙版619,如参考图6F-图6I所述。
图6F示出了使用距离转换来创建粗略深度蒙版619。外轮廓621和内轮廓622界定轮廓之间未定义像素(未定义深度数据)的混合区域。在一些情况下,未定义像素中的一些未定义像素可包括应分配给前景(分配白色像素)的重要轮廓信息。为了生成粗略深度蒙版619,对象被竖直地分成左半球和右半球,并且对混合区域中的未定义像素执行距离转换。
在一个实施方案中,计算内轮廓622和外轮廓621的像素之间的垂直距离,如图6F和图6G所示。然后,分别为左半球和右半球计算所计算距离的概率密度函数,如图6H和图6I所示。左半球和右半球具有不同概率密度函数,因为如前文所述,由于IR投影仪和IR相机之间的偏移,对象的面部的左侧上的阴影比对象的面部的右侧上的阴影粗。在一个实施方案中,将高斯分布模型应用于距离以确定左半球和右半球中每一者的平均值μ和标准偏差σ。标准偏差σ或标准偏差的倍数(例如,2σ或3σ)可用作阈值来与每个半球中的距离进行比较。将左半球中未定义区域(灰色区域)中的像素与用于左半球的阈值进行比较。距离小于或等于阈值的像素被包括在前景中,并且被分配白色像素值。距离大于阈值的像素被包括在背景中,并且被分配黑色像素值。对右半球执行相同的过程。上文距离转换的结果为粗略深度蒙版619,这结束预处理阶段603。
示例性区域生长/面部网格过程
在一些情况下,粗略蒙版619在前景中将具有未定义像素的岛。例如,当在户外阳光下拍摄自拍时,IR深度传感器的性能下降。具体地讲,如果自拍对象佩戴太阳眼镜,则所得到的深度图将具有眼睛位于其中的两个黑色孔洞,这是由于阳光被太阳眼镜反射。这些孔洞可见于粗略深度蒙版619中,并且使用迭代区域生长分割算法被填充以白色像素。在一个实施方案中,前景RGB视频数据601的直方图可用于确定区域成员标准的合适阈值。
参见图6J-图6L,3D面部网格模型625可由RGB视频数据623生成。面部网格模型625可用于标识对象的面部上面部特征点的位置,诸如太阳眼镜624。面部网格模型625可叠置在粗略深度蒙版626上,以标识太阳眼镜624的位置。前景区域627中的面部网格模型625所标识的未定义像素的任何岛628被填充以白色像素,使得这些像素被包括在前景区域627中。
图7A和图7B根据实施方案示出用于使用RGB视频数据和经预处理深度蒙版619的组合的RGB-D蒙版提取的过程。参见图7A,三分图模块701由粗略深度蒙版619生成三分图704。在一个实施方案中,三分图模块704使用与用于生成粗略深度蒙版619相同的用于生成三分图704的分割过程,或者一些其他已知分割技术(例如,k均值聚类)。三分图704具有三个区域:前景区域、背景区域和混合区域。三分图704与RGB视频数据601一起被输入到高斯混合模型(GMM)702中。GMM702通过由高斯混合逼近的概率密度函数对前景区域和背景区域(参见图7B)进行建模,如公式[3]所示:
概率密度函数被图形切割模块703用于使用迭代图形切割算法执行分割。一种示例图形切割算法在D.M.Greig,B.T.Porteous和A.H.Seheult(1989),Exact maximum aposteriori estimation for binary images,Journal of the Royal StatisticalSociety Series B,51,第271–279页中有所描述。图形切割模块703所输出的精修深度蒙版705被反馈到三分图模块701中,并且该过程继续进行N次迭代或直到收敛。
图7C示出了蒙版生成过程600的前两阶段的结果。深度图602被预处理成二元深度蒙版616a、616b,其中深度蒙版616a是仅使用已定义深度数据生成,而深度蒙版616b是使用已定义深度数据和未定义深度数据两者生成。二元深度蒙版616a、616b然后使用距离转换被组合成粗略深度蒙版619。粗略深度蒙版619被输入到RGB-D蒙版提取过程604,该RGB-D蒙版提取过程使用迭代图形切割算法和GMM对三分图704的前景区域和背景区域进行建模。RGB-D蒙版提取过程604的结果是精修蒙版705。
图8根据实施方案示出用于移除由精修过程添加的伪影的后处理阶段605。在后处理阶段605中,距离转换模块803使用与参考图6F-图6I所述相同的技术计算粗略深度蒙版619和精修蒙版705中轮廓之间的距离。距离检查模块804然后将距离与阈值进行比较。与内轮廓相距比阈值远的任何未定义像素被视为伪影并被分配给背景区域。在所示示例中,深度蒙版805在后处理之前包括伪影806。后处理阶段606的最终结果是用于合成AR自拍的最终AR自拍蒙版808,如参考图5所述。需注意,由于上文所述的后处理,伪影806已从AR自拍蒙版808移除。
示例性过程
图9是根据实施方案的用于生成AR自拍的过程900的流程图。过程900可例如使用参考图11所述的设备架构来实现。
过程900可开始于分别从图像捕获设备(例如,相机)和深度传感器接收图像数据(例如,视频数据)和深度数据(901)。例如,图像数据可以是由红绿蓝(RGB)摄像机提供的包括对象的图像的RGB视频数据。深度传感器可以是提供可用于生成RGB深度(“RGB-D”)蒙版的深度图的IR深度传感器,如参考图10所述。
过程900继续从一个或多个运动传感器接收运动数据(902)。例如,运动数据可以是分别由加速度计和陀螺仪提供的加速度数据和取向数据(例如,角速率数据)。运动数据可以坐标转换(例如,体固定的四元数)的形式提供。坐标转换描述相机的视野方向在真实世界参考坐标系中的取向,其可使用相机转换而被转换到虚拟世界参考坐标系中。
过程900继续从存储装置接收虚拟背景内容(903)。例如,虚拟背景内容可以是2D图像、3D图像或360°视频。虚拟背景内容可由用户通过GUI来选择。虚拟背景内容可从任何期望的虚拟环境提取或采样,诸如著名城市或者具有动画卡通人物和目标的卡通环境。
过程900继续由运动数据生成虚拟相机转换(904)。
过程900继续由图像数据和深度数据生成蒙版(905)。例如,RGB-D蒙版可如参考图6I-图6L所述生成。RGB-D蒙版包括对象的轮廓信息,并且用于将RGB视频与虚拟背景内容合成。
过程900可继续合成图像数据、RGB-D蒙版和虚拟背景内容(905),如参考图5所述。在该步骤期间,相机转换被用于提取或采样适当的虚拟背景内容以与图像数据和RGB-D蒙版合成(906)。在一个实施方案中,还合成一个或多个动画层以提供例如动画颗粒(例如,雪花、火花、萤火虫)。在一个实施方案中,调节相机转换以考虑由用户在前置相机和后置相机之间翻转所导致的相机翻转,反之亦然,如参考图3A所述。
过程900可继续渲染以用于在移动设备的视口中显示合成媒体(例如,合成视频)(907)。在记录操作期间,合成媒体被呈现为实时视频馈入。当用户改变真实世界相机的视野方向时,虚拟相机转换与真实世界相机同步地实时更新虚拟背景内容。记录的AR自拍视频可从存储装置通过视口回放,并且也可在例如社交网络上与其他人分享。
图10是根据实施方案的用于生成AR自拍蒙版的过程1000的流程图。过程1000可例如使用参考图11所述的设备架构来实现。
过程1000可开始于生成深度数据的直方图(1001)以及将一个或多个阈值应用于直方图以将深度数据分割成前景区域和背景区域(1002)。
过程1000继续将对象的外轮廓和内轮廓生成为二元深度蒙版(1003)。例如,内轮廓可使用轮廓检测算法和仅已定义深度数据在第一二元深度蒙版中生成,并且外轮廓可使用轮廓检测算法和包括已定义深度数据和未定义深度数据两者的深度数据在第二二元深度蒙版中生成。
过程1000继续任选地平滑内轮廓和外轮廓(1004)。例如,内轮廓和外轮廓可使用高斯模糊核来平滑。
过程1000继续组合外轮廓和内轮廓以生成粗略蒙版(1005)。例如,使用高斯分布的距离转换可被用于将第一二元深度蒙版和第二二元深度蒙版组合成组合粗略蒙版。
过程1000可继续使用粗略深度蒙版、图像数据和深度数据生成精修蒙版(例如,RGB-D蒙版)(1006)。例如,迭代图形切割算法可在由粗略蒙版和GMM生成的三分图上使用以生成RGB-D蒙版。
过程1000可继续从精修蒙版移除未定义区域和伪影(1007)。例如,RGB-D蒙版的前景区域中由于太阳眼镜反射太阳光而导致的未定义像素的岛可使用迭代区域生长算法和/或3D面部网格模型来标识和填充以白色前景像素,如参考图6J-图6L所述。
示例性设备架构
图11根据实施方案示出用于实现参考图1-图10所述的特征和过程的设备架构。架构1100可包括存储器接口1102、一个或多个数据处理器、视频处理器、协处理器、图像处理器和/或其他处理器1104和外围设备接口1106。存储器接口1102、一个或多个处理器1104和/或外围设备接口1106可为独立部件或者可集成到一个或多个集成电路中。架构1100中的各个部件可通过一条或多条通信总线或信号线耦接。
可将传感器、设备和子系统耦接到外围设备接口1106以促进多个功能。例如,可将一个或多个运动传感器1110、光传感器1112和接近传感器1114耦接到外围设备接口1106,以促进移动设备的运动感测(例如,加速度、旋转速率)、照明和接近功能。位置处理器1115可连接到外围设备接口1106以提供地理定位以及处理传感器测量。在一些具体实施中,位置处理器1115可以是GNSS接收器,诸如全球定位系统(GPS)接收器芯片。也可将电子磁力仪1116(例如,集成电路芯片)连接到外围设备接口1106以提供可用于确定磁北方向的数据。电子磁力仪1116可以向电子罗盘应用程序提供数据。一个或多个运动传感器1110可包括一个或多个加速度计和/或陀螺仪,该一个或多个加速度计和/或陀螺仪被配置为确定移动设备的移动的速度和方向的改变。气压计1117可被配置为测量移动设备周围的大气压力。
用于捕获数字照片和记录视频片段的相机子系统1120和一个或多个相机1122(例如,前置相机和后置相机)包括用于生成AR自拍的视频和图像,如参考图1-图10所述。
可通过一个或多个无线通信子系统1124促进通信功能,这些无线通信子系统可包括射频(RF)接收器和发射器(或收发器)和/或光学(例如,红外)接收器和发射器。通信子系统1124的具体设计与实现可取决于移动设备预期操作于的一个或多个通信网络。例如,架构1100可包括设计成通过GSM网络、GPRS网络、EDGE网络、Wi-FiTM或Wi-MaxTM网络以及BluetoothTM网络操作的通信子系统1124。具体地讲,无线通信子系统1124可包括主机协议,使得移动设备可被配置作为其他无线设备的基站。
可将音频子系统1126耦接到扬声器1128和麦克风1130以促进支持语音的功能,诸如语音识别、语音复制、数字记录和电话功能。音频子系统1126可被配置为从用户接收语音命令。
I/O子系统1140可包括触摸表面控制器1142和/或一个或多个其他输入控制器1144。可将触摸表面控制器1142耦接到触摸表面1146或垫片。触摸表面1146和触摸表面控制器1142可例如使用多种触敏技术中的任何技术以及其他接近传感器阵列或用于确定与触摸表面1146的一个或多个接触点的其他元件来检测接触及其移动或中断,该多种触敏技术包括但不限于电容性、电阻性、红外及表面声波技术。触摸表面1146可包括例如触摸屏。I/O子系统1140可包括用于响应于来自处理器的命令提供触觉反馈(例如,振动)的触觉引擎或设备。
可将一个或多个其他输入控制器1144耦接到其他输入/控制设备1148,诸如一个或多个按钮、摇臂开关、拇指滚轮、红外端口、USB端口和/或指针设备诸如触笔。一个或多个按钮(未示出)可包括用于扬声器1128和/或麦克风1130的音量控制的增大/减小按钮。触摸表面1146或其他控制器1144(例如,按钮)可包括或耦接到指纹标识电路,以与指纹认证应用程序一起使用,从而基于用户的一个或多个指纹来认证用户。
在一个具体实施中,将按钮按下持续第一持续时间可解除触摸表面1146的锁定;并且将按钮按下持续比第一持续时间长的第二持续时间可打开或关闭移动设备的电源。用户能够对一个或多个按钮的功能进行自定义。例如,还可以使用触摸表面1146实现虚拟或软按钮和/或虚拟触摸键盘。
在一些具体实施中,计算设备可呈现记录的音频文件和/或视频文件,诸如MP3、AAC和MPEG文件。在一些具体实施中,移动设备可包括MP3播放器的功能。也可使用其他输入/输出以及控制设备。
可将存储器接口1102耦接到存储器1150。存储器1150可包括高速随机存取存储器和/或非易失性存储器,诸如一个或多个磁盘存储设备、一个或多个光学存储设备和/或闪存存储器(例如,NAND、NOR)。存储器1150可存储操作系统1152,诸如iOS、Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS或嵌入式操作系统诸如VxWorks。操作系统1152可包括用于处理基础系统服务以及用于执行硬件相关任务的指令。在一些具体实施中,操作系统1152可包括内核(例如,UNIX内核)。
存储器1150还可存储通信指令1154,该通信指令促进与一个或多个附加设备、一个或多个计算机和/或一个或多个服务器的通信,诸如例如用于实现与其他设备的有线或无线通信的软件栈的指令。存储器1150可以包括:促进图形用户界面处理的图形用户界面指令1156;促进与传感器相关的处理及功能的传感器处理指令1158;促进与电话相关的过程和功能的电话指令1160;促进与电子消息处理相关的过程和功能的电子消息指令1162;促进与网页浏览相关的过程和功能的网页浏览指令1164;促进与媒体处理相关的过程和功能的媒体处理指令1166;促进一般性与GNSS和位置相关的过程和指令的GNSS/位置指令1168;和促进前置相机和后置相机的与相机相关的过程和功能的相机指令1170。
存储器1150还包括用于执行参考图1-图10所述的特征和过程的媒体播放器指令1172和基于取向的媒体呈现指令1174。存储器1150还可存储其他软件指令(未示出),诸如安全指令、用于促进与网络视频相关的过程和功能的网络视频指令和/或用于促进与网上购物相关的过程和功能的网上购物指令。在一些具体实施中,媒体处理指令1166分为音频处理指令和视频处理指令,以分别用于促进与音频处理相关的过程和功能以及与视频处理相关的过程和功能。
上面所识别的指令和应用程序中的每一者可对应于用于执行上述一个或多个功能的指令集。这些指令不需要作为独立软件程序、进程或模块来实现。存储器1150可包括附加指令或更少的指令。此外,可在硬件和/或软件中,包括在一个或多个信号处理和/或专用集成电路中,执行移动设备的各种功能。
所描述的特征可有利地在能够在可编程系统上执行的一个或多个计算机程序中实现,该可编程系统包括至少一个输入设备、至少一个输出设备以及被耦接以从数据存储系统接收数据和指令并且将数据和指令发送到数据存储系统的至少一个可编程处理器。计算机程序是在计算机中可以直接或间接使用以执行某种活动或者产生某种结果的指令集。计算机程序可以包括编译和解释语言在内的任何形式的编程语言(例如,SWIFT、Objective-C、C#、Java)来编写,并且其可以任何形式部署,包括作为独立程序或者作为模块、部件、子例程、基于浏览器的网页应用程序、或适于在计算环境中使用的其他单元。
例如,用于执行指令的程序的合适处理器包括通用微处理器和专用微处理器两者、以及任何类型的计算机的多个处理器或内核中的一者或者唯一的处理器。一般来讲,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器。一般来讲,计算机还将包括用于存储数据文件的一个或多个海量存储设备,或者计算机操作地耦接以与用于存储数据文件的一个或多个海量存储设备通信;此类设备包括:磁盘诸如内部硬盘和可移动磁盘;磁光盘;以及光盘。适于有形地具体化计算机程序指令和数据的存储设备包括:所有形式的非易失性存储器,例如包括半导体存储器设备,诸如EPROM、EEPROM和闪存存储器设备;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可由ASIC(专用集成电路)补充,或者被并入ASIC中。
为了提供与用户的交互,这些特征可以在具有用于向用户显示信息的显示设备诸如CRT(阴极射线管)或LCD(液晶显示器)监视器或视网膜显示设备的计算机上实现。计算机可具有触摸表面输入设备(例如,触摸屏)或键盘和指向设备诸如鼠标或轨迹球,用户可通过其向计算机提供输入。计算机可具有用于接收来自用户的语音命令的语音输入设备。
这些特征可在计算机系统中实现,该计算机系统包括后端部件诸如数据服务器,或者该计算机系统包括中间件部件诸如应用服务器或互联网服务器,或者该计算机系统包括前端部件诸如具有图形用户界面或互联网浏览器的客户端计算机,或者它们的任意组合。系统的部件可以通过任何形式或媒介的数字数据通信诸如通信网络来连接。通信网络的示例包括例如LAN、WAN以及形成互联网的计算机和网络。
计算系统可包括客户端和服务器。客户端和服务器一般是相互远离的,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在某些具体实施中,服务器将数据(例如,HTML页面)传输到客户端设备(例如,为了向与该客户端设备交互的用户显示数据以及从与该客户端设备交互的用户接收用户输入)。在服务器处可以从客户端设备接收客户端设备处生成的数据(例如,用户交互的结果)。
一个或多个计算机的系统可被配置为凭借具有安装在系统上的在操作中使得系统执行特定动作的软件、固件、硬件或它们的组合来执行该动作。一个或多个计算机程序可被配置为凭借包括当由数据处理装置执行时使得该装置执行特定动作的指令来执行该动作。
可使用应用程序编程接口(API)来实现所公开的实施方案的一个或多个特征或步骤。API可定义在调用应用程序和提供服务、提供数据或者执行操作或计算的其他软件代码(例如,操作系统、库存程序、函数)之间传递的一个或多个参数。API可实现为程序代码中的一个或多个调用,这些调用基于在API规范文档中所定义的调用约定通过参数列表或其他结构来发送或接收一个或多个参数。参数可为常数、键、数据结构、目标、目标类、变量、数据类型、指针、数组、列表或者另一个调用。API调用和参数可在任何编程语言中实现。编程语言可定义编程者将用以访问支持API的功能的词汇和调用约定。在一些具体实施中,API调用可向应用程序报告设备运行应用程序的能力,诸如输入能力、输出能力、处理能力、功率能力、通信能力等。
如上所述,本说明书的主题的一些方面包括来自各种来源的数据的采集和使用以改善移动设备可向用户提供的服务。本公开预期,在一些情况下,该采集到的数据可基于设备使用情况来识别特定位置或地址。此类个人信息数据可包括基于位置的数据、地址、订阅者账户标识符或其他标识信息。
本公开还设想负责此类个人信息数据的收集、分析、公开、传输、存储或其他用途的实体将遵守已确立的隐私政策和/或隐私做法。具体地,此类实体应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私政策和实践。例如,来自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在这些合法用途之外共享或出售。另外,此类收集应当仅在用户知情同意之后进行。另外,此类实体应采取任何所需的步骤,以保障和保护对此类个人信息数据的访问,并且确保能够访问个人信息数据的其他人遵守他们的隐私政策和程序。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和实践。
就广告递送服务而言,本公开还预期用户选择性地阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,就广告递送服务而言,本公开的技术可被配置为在注册服务期间允许用户选择“加入”或“退出”参与对个人信息数据的收集。
因此,虽然本公开广泛地覆盖了使用个人信息数据来实现一个或多个各种所公开的实施方案,但本公开还预期各种实施方案也可在无需访问此类个人信息数据的情况下被实现。即,本公开技术的各种实施方案不会由于缺少此类个人信息数据的全部或一部分而无法正常进行。例如,可通过基于非个人信息数据或绝对最小量的个人信息诸如与用户相关联的设备所请求的内容、对内容递送服务可用的其他非个人信息或公开可用信息来推断偏好,从而选择内容并递送至用户。
虽然本说明书包含许多具体实施细节,但是这些具体实施细节不应被理解为是对任何发明或可能要求保护的内容的范围的限制,而应被理解为对特定于特定发明的特定实施方案的特征的描述。本说明书中在不同实施方案的上下文中描述的某些特征也可以在单个实施方案中组合地实现。相反,在单个实施方案的上下文中描述的各种特征也可单独地或者以任何合适的子组合的形式在多个实施方案中实现。此外,虽然某些特征可能在上面被描述为以某些组合来起作用并且甚至最初也这样地来要求保护,但是要求保护的组合的一个或多个特征在某些情况下可从该组合去除,并且要求保护的组合可涉及子组合或子组合的变型。
类似地,虽然操作在附图中以特定次序示出,但不应将此理解为要求以相继次序或所示的特定次序来执行此类操作,或者要求执行所有所示的操作以实现期望的结果。在某些情况中,多任务和并行处理可能是有利的。此外,上述实施方案中各个系统部件的划分不应被理解为在所有实施方式中都要求此类划分,并且应当理解,所述程序部件和系统可一般性地一起整合在单个软件产品中或者封装到多个软件产品中。
Claims (38)
1.一种用于显示合成图像数据的方法,所述方法包括:
通过移动设备的第一相机捕获实时图像数据,所述实时图像数据包括对象在物理真实世界环境中的图像;
通过所述移动设备的深度传感器接收深度数据,所述深度数据指示所述对象在所述物理真实世界环境中与所述相机的距离;
通过所述移动设备的一个或多个运动传感器接收运动数据,所述运动数据至少指示所述第一相机在所述物理真实世界环境中的取向;
通过所述移动设备的一个或多个处理器由所述图像数据和所述深度数据生成蒙版;
通过所述一个或多个处理器接收第一输入,所述第一输入指示对多个虚拟环境中的第一虚拟环境的选择,所述多个虚拟环境的表示被提供在所述移动设备的显示器上以供选择;
响应于所述第一输入:
通过所述一个或多个处理器基于所述运动数据生成第一虚拟相机转换,所述第一虚拟相机转换用于确定虚拟相机在所述第一虚拟环境中的取向;
通过所述一个或多个处理器使用所述图像数据、所述蒙版和使用所述第一相机转换从所述第一虚拟环境选择的第一虚拟背景内容来生成第一合成图像数据;
通过所述一个或多个处理器使得在所述移动设备的所述显示器上显示所述第一合成图像数据;
通过所述一个或多个处理器接收第二输入,所述第二输入指示对所述多个虚拟环境中的第二虚拟环境的选择;
响应于第二输入:
通过所述一个或多个处理器基于所述运动数据生成第二虚拟相机转换,所述第二虚拟相机转换用于确定所述虚拟相机在所述第二虚拟环境中的取向;
通过所述一个或多个处理器使用所述图像数据、所述蒙版和使用所述第二虚拟 相机转换从所述第二虚拟环境中选择的第二虚拟背景内容来生成第二合成图像数据;
通过所述一个或多个处理器使得在所述移动设备的所述显示器上显示所述第二合成图像数据。
2.根据权利要求1所述的方法,还包括:
通过所述一个或多个处理器生成包括动画特效的一个或多个动画层;并且
通过所述一个或多个处理器生成所述合成图像数据,所述合成图像数据包括所述图像数据、所述一个或多个动画层、所述蒙版和所述第一虚拟背景内容。
3.根据权利要求1所述的方法,还包括:
通过所述一个或多个处理器接收指示所述图像数据被所述移动设备的不同于所述移动设备的所述第一相机的第二相机捕获的输入;
响应于所述输入,通过所述移动设备的所述一个或多个处理器调节所述虚拟相机转换;
通过所述一个或多个处理器并且使用所调节的虚拟相机转换来获得所述虚拟背景内容的第二部分;并且
通过所述一个或多个处理器生成所述合成图像数据,所述合成图像数据包括所述图像数据、所述蒙版和所述第二虚拟背景内容。
4.根据权利要求1所述的方法,还包括:
获得用于记录所述合成图像数据的输入;并且
响应于所述输入,将所述合成图像数据记录到所述移动设备的存储设备。
5.根据权利要求1所述的方法,还包括:
将运动效应应用于所述图像数据、所述蒙版或所述合成图像数据中的至少一者。
6.根据权利要求1所述的方法,其中所述第一虚拟背景内容或所述第二虚拟背景内容是二维(2D)图像、三维(3D)图像或360°视频中的至少一者。
7.根据权利要求1所述的方法,其中所述第一相机是允许用户拍摄自摄像的前置相机。
8.根据权利要求1所述的方法,其中由所述图像数据和所述深度数据生成所述蒙版还包括:
生成所述深度数据的直方图,所述深度数据包括由所述深度传感器提供的未定义深度数据;
将阈值应用于所述直方图以将所述深度数据分割成前景区域和背景区域;
将不具有未定义深度数据的所述深度数据投影到具有前景区域和背景区域的第一二元深度蒙版中;
将具有未定义深度数据的所述深度数据投影到具有前景区域和背景区域的第二二元深度蒙版中;
从所述第一二元深度蒙版提取前景对象的内轮廓;
从所述第二二元深度蒙版提取所述前景对象的外轮廓,所述内轮廓和所述外轮廓界定深度数据的混合区域;并且
通过组合所提取的内轮廓数据和所述外轮廓数据来生成粗略蒙版,并在所述粗略蒙版的前景区域或背景区域中的一者中包括所述混合区域中的深度数据。
9.根据权利要求8所述的方法,进一步包括:
平滑所述内轮廓和所述外轮廓。
10.根据权利要求8所述的方法,其中通过组合所提取的内轮廓和所提取的外轮廓来生成所述粗略蒙版还包括:
计算所述内轮廓和所述外轮廓之间的第一组距离;
针对第一子组的所述第一组距离计算第一概率密度函数;
针对第二子组的所述第一组距离计算第二概率密度函数;
将位于所述混合区域中的第一组深度数据与所述第一概率密度函数的一个或多个特性进行比较;
将所述混合区域中的第二组深度数据与所述第二概率密度函数的一个或多个特性进行比较;
基于所述比较的结果标识所述混合区域中的深度数据,所述深度数据属于所述前景区域;并且
将所标识的深度数据添加到所述前景区域。
11.根据权利要求8所述的方法,进一步包括:
通过将迭代分割方法应用于所述粗略蒙版来生成精修蒙版。
12.根据权利要求11所述的方法,其中所述迭代分割方法是使用高斯混合模型(GMM)的迭代图形切割方法。
13.根据权利要求11所述的方法,还包括:
使用迭代区域生长方法和由所述图像数据确定的阈值来标识所述前景区域中的包括未定义深度数据的一个或多个孔洞;并且
将所述未定义深度数据分配给所述前景区域。
14.根据权利要求11所述的方法,还包括:
使用由所述图像数据生成的面部网格模型来标识所述前景区域中的包括未定义深度数据的一个或多个孔洞;并且
将所述未定义深度数据分配给所述前景区域。
15.根据权利要求14所述的方法,其中使用由所述图像数据生成的面部网格模型来标识所述前景区域中的包括未定义深度数据的一个或多个孔洞还包括:
使用所述面部网格来将所述孔洞与由所述对象在所述前景区域中佩戴的太阳眼镜相匹配;
确定所述前景区域中与所述面部网格重叠的区域;并且
基于所确定的重叠来填充所述孔洞。
16.根据权利要求11所述的方法,还包括:
组合所述粗略蒙版和所述精修蒙版以标识伪影;并且
使用距离转换来从所组合的蒙版移除所述伪影。
17.一种用于显示合成图像数据的方法,所述方法包括:
在移动设备的显示器上呈现预览,所述预览包括由定位在对象的近距离内的移动设备的前置相机捕获的预览视频数据的顺序帧,所述预览视频数据的所述顺序帧包括用户的视频数据和物理真实世界环境中所述用户后面的背景的图像数据;
接收用于应用三维3D虚拟环境效果的第一用户输入;
通过所述移动设备的深度传感器捕获深度数据,所述深度数据指示所述用户在所述物理真实世界环境中与所述前置相机的距离;
通过所述移动设备的一个或多个传感器捕获取向数据,所述取向数据至少指示所述前置相机在所述物理真实世界环境中的取向;
通过所述移动设备的一个或多个处理器基于运动数据生成相机转换,所述相机转换描述虚拟相机在3D虚拟环境中的取向;
通过所述一个或多个处理器并且使用所述相机转换来从所述3D虚拟环境获得3D虚拟背景内容;
通过所述一个或多个处理器由视频数据的所述顺序帧和所述深度数据生成蒙版;
通过所述一个或多个处理器生成视频数据的合成顺序帧,所述合成顺序帧包括视频数据的所述顺序帧、所述蒙版和所述3D虚拟背景内容;并且
通过所述一个或多个处理器使得显示图像数据的所述合成顺序帧。
18.根据权利要求17所述的方法,还包括:
通过所述一个或多个处理器接收指示所述图像数据正在被所述移动设备的不同于所述移动设备的所述前置相机的第二相机捕获的输入;
响应于所述输入,通过所述移动设备的所述一个或多个处理器调节所述相机转换;
通过所述一个或多个处理器并且使用所调节的相机转换来获得第二虚拟背景内容;并且
通过所述一个或多个处理器生成视频数据的所述合成顺序帧,所述合成顺序帧包括所述视频数据、所述蒙版和所述第二虚拟背景内容。
19.根据权利要求17所述的方法,还包括:
通过所述移动设备的所述一个或多个传感器检测新运动数据,所述新运动数据指示所述前置相机在所述物理真实世界环境中的所述取向的改变;
生成更新的相机转换;
基于所述更新的相机转换来获得更新的虚拟背景内容;
基于所述更新的相机转换来生成更新的合成顺序帧;并且
使得显示视频数据的所述更新的合成顺序帧。
20.一种用于显示合成图像数据的系统,包括:
一个或多个处理器;
存储器,所述存储器耦接到所述处理器并且存储指令,所述指令在被所述一个或多个处理器执行时使得所述一个或多个处理器执行包括以下内容的操作:
通过移动设备的第一相机捕获实时图像数据,所述实时图像数据包括对象在物理真实世界环境中的图像;
通过所述移动设备的深度传感器接收深度数据,所述深度数据指示所述对象在所述物理真实世界环境中与所述相机的距离;
通过所述移动设备的一个或多个运动传感器接收运动数据,所述运动数据至少指示所述第一相机在所述物理真实世界环境中的取向;
通过所述一个或多个处理器由所述图像数据和所述深度数据生成蒙版;
通过所述一个或多个处理器接收第一输入,所述第一输入指示对多个虚拟环境中的第一虚拟环境的选择,所述多个虚拟环境的表示被提供在所述移动设备的显示器上以供选择;
响应于所述第一输入:
基于所述运动数据生成第一虚拟相机转换,所述第一虚拟相机转换用于确定虚拟相机在所述第一虚拟环境中的取向;
使用所述图像数据、所述蒙版和使用所述第一相机转换从所述第一虚拟环境选择的第一虚拟背景内容来生成第一合成图像数据,所述第一虚拟背景内容是使用所述相机转换从所述虚拟环境选择的;
使得在所述显示器上显示所述第一合成图像数据;
通过所述一个或多个处理器接收第二输入,所述第二输入指示对所述多个虚拟环境中的第二虚拟环境的选择;
响应于第二输入:
通过所述一个或多个处理器基于所述运动数据生成第二虚拟相机转换,所述第二虚拟相机转换用于确定所述虚拟相机在所述第二虚拟环境中的取向;
通过所述一个或多个处理器使用所述图像数据、所述蒙版和使用所述第二相机转换从所述第二虚拟环境中选择的第二虚拟背景内容来生成第二合成图像数据;
通过所述一个或多个处理器使得在所述移动设备的所述显示器上显示所述第二合成图像数据。
21.根据权利要求20所述的系统,所述操作还包括:
生成包括动画特效的一个或多个动画层;并且
生成所述合成图像数据,所述合成图像数据包括所述图像数据、所述一个或多个动画层、所述蒙版和所述第一虚拟背景内容。
22.根据权利要求20所述的系统,所述操作还包括:
通过所述一个或多个处理器接收指示所述图像数据被所述移动设备的不同于所述移动设备的所述第一相机的第二相机捕获的输入;
响应于所述输入,通过所述移动设备的所述一个或多个处理器调节所述虚拟相机转换;
使用所调节的虚拟相机转换来获得所述虚拟背景内容的第二部分;并且
生成所述合成图像数据,所述合成图像数据包括所述图像数据、所述蒙版和所述第二虚拟背景内容。
23.根据权利要求20所述的系统,所述操作还包括:
获得用于记录所述合成图像数据的输入;并且
响应于所述输入,将所述合成图像数据记录到所述移动设备的存储设备。
24.根据权利要求20所述的系统,所述操作还包括:
将运动效应应用于所述图像数据、所述蒙版或所述合成图像数据中的至少一者。
25.根据权利要求20所述的系统,其中所述第一虚拟背景内容或所述第二虚拟背景内容是二维(2D)图像、三维(3D)图像或360°视频中的至少一者。
26.根据权利要求20所述的系统,其中所述第一相机是允许用户拍摄自摄像的前置相机。
27.根据权利要求20所述的系统,其中由所述图像数据和所述深度数据生成所述蒙版还包括:
生成所述深度数据的直方图,所述深度数据包括由所述深度传感器提供的未定义深度数据;
将阈值应用于所述直方图以将所述深度数据分割成前景区域和背景区域;
将不具有未定义深度数据的所述深度数据投影到具有前景区域和背景区域的第一二元深度蒙版中;
将具有未定义深度数据的所述深度数据投影到具有前景区域和背景区域的第二二元深度蒙版中;
从所述第一二元深度蒙版提取前景对象的内轮廓;
从所述第二二元深度蒙版提取所述前景对象的外轮廓,所述内轮廓和所述外轮廓界定深度数据的混合区域;并且
通过组合所提取的内轮廓数据和所述外轮廓数据来生成粗略蒙版,并在所述粗略蒙版的前景区域或背景区域中的一者中包括所述混合区域中的深度数据。
28.根据权利要求27所述的系统,所述操作还包括:
平滑所述内轮廓和所述外轮廓。
29.根据权利要求27所述的系统,其中通过组合所提取的内轮廓和所提取的外轮廓来生成所述粗略蒙版还包括:
计算所述内轮廓和所述外轮廓之间的第一组距离;
针对第一子组的所述第一组距离计算第一概率密度函数;
针对第二子组的所述第一组距离计算第二概率密度函数;
将位于所述混合区域中的第一组深度数据与所述第一概率密度函数的一个或多个特性进行比较;
将所述混合区域中的第二组深度数据与所述第二概率密度函数的一个或多个特性进行比较;
基于所述比较的结果标识所述混合区域中的深度数据,所述深度数据属于所述前景区域;并且
将所标识的深度数据添加到所述前景区域。
30.根据权利要求27所述的系统,所述操作还包括:
通过将迭代分割方法应用于所述粗略蒙版来生成精修蒙版。
31.根据权利要求30所述的系统,其中所述迭代分割方法是使用高斯混合模型(GMM)的迭代图形切割方法。
32.根据权利要求30所述的系统,所述操作还包括:
使用迭代区域生长方法和由所述图像数据确定的阈值来标识所述前景区域中的包括未定义深度数据的一个或多个孔洞;并且
将所述未定义深度数据分配给所述前景区域。
33.根据权利要求30所述的系统,所述操作还包括:
使用由所述图像数据生成的面部网格模型来标识所述前景区域中的包括未定义深度数据的一个或多个孔洞;并且
将所述未定义深度数据分配给所述前景区域。
34.根据权利要求33所述的系统,其中使用由所述图像数据生成的面部网格模型来标识所述前景区域中的包括未定义深度数据的一个或多个孔洞还包括:
使用所述面部网格来将所述孔洞与由所述对象在所述前景区域中佩戴的太阳眼镜相匹配;
确定所述前景区域中与所述面部网格重叠的区域;并且
基于所确定的重叠来填充所述孔洞。
35.根据权利要求30所述的系统,所述操作还包括:
组合所述粗略蒙版和所述精修蒙版以标识伪影;并且
使用距离转换来从所组合的蒙版移除所述伪影。
36.一种用于显示合成图像数据的系统,包括:
显示器;
前置相机;
一个或多个运动传感器;
一个或多个处理器;
存储器,所述存储器耦接到所述处理器并且存储指令,所述指令在被所述一个或多个处理器执行时使得所述一个或多个处理器执行包括以下内容的操作:
在所述显示器上呈现预览,所述预览包括由定位在对象的近距离内的所述前置相机捕获的预览视频数据的顺序帧,所述预览视频数据的所述顺序帧包括用户的视频和物理真实世界环境中所述用户后面的背景的图像数据;
接收用于应用三维3D虚拟环境效果的第一用户输入;
通过深度传感器捕获深度数据,所述深度数据指示所述对象在所述物理真实世界环境中与所述前置相机的距离;
通过移动设备的所述一个或多个传感器捕获取向数据,所述取向数据至少指示所述前置相机在所述物理真实世界环境中的取向;
通过所述移动设备的一个或多个处理器基于运动数据生成相机转换,所述相机转换描述虚拟相机在3D虚拟环境中的取向;
通过所述一个或多个处理器并且使用所述相机转换来从所述虚拟环境获得3D虚拟背景内容;
通过所述一个或多个处理器由视频数据的所述顺序帧和所述深度数据生成蒙版;
通过所述一个或多个处理器生成视频数据的合成顺序帧,所述合成顺序帧包括视频数据的所述顺序帧、所述蒙版和所述3D虚拟背景内容;并且
通过所述一个或多个处理器使得显示图像数据的所述合成顺序帧。
37.根据权利要求36所述的系统,其中所述系统包括第二相机,所述操作还包括:
通过所述一个或多个处理器接收指示所述图像数据正在被不同于所述移动设备的所述前置相机的所述第二相机捕获的输入;
响应于所述输入,通过所述一个或多个处理器调节所述相机转换;
使用所调节的相机转换来获得第二虚拟背景内容;并且
生成视频数据的所述合成顺序帧,所述合成顺序帧包括所述视频数据、所述蒙版和所述第二虚拟背景内容。
38.根据权利要求36所述的系统,所述操作还包括:
通过所述移动设备的所述一个或多个传感器检测新运动数据,所述新运动数据指示所述前置相机在所述物理真实世界环境中的所述取向的改变;
生成更新的相机转换;
基于所述更新的相机转换来获得更新的虚拟背景内容;
基于所述更新的相机转换来生成更新的合成顺序帧;并且
使得显示视频数据的所述更新的合成顺序帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210700110.3A CN115063523A (zh) | 2017-09-08 | 2018-09-07 | 用于显示合成图像数据的方法和系统 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762556297P | 2017-09-08 | 2017-09-08 | |
US62/556,297 | 2017-09-08 | ||
US16/124,168 US11394898B2 (en) | 2017-09-08 | 2018-09-06 | Augmented reality self-portraits |
US16/124,168 | 2018-09-06 | ||
PCT/US2018/049930 WO2019051210A1 (en) | 2017-09-08 | 2018-09-07 | SELF-PORTRAITS WITH INCREASED REALITY |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210700110.3A Division CN115063523A (zh) | 2017-09-08 | 2018-09-07 | 用于显示合成图像数据的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110999276A CN110999276A (zh) | 2020-04-10 |
CN110999276B true CN110999276B (zh) | 2022-07-08 |
Family
ID=65631865
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210700110.3A Pending CN115063523A (zh) | 2017-09-08 | 2018-09-07 | 用于显示合成图像数据的方法和系统 |
CN201880048711.2A Active CN110999276B (zh) | 2017-09-08 | 2018-09-07 | 用于显示合成图像数据的方法和系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210700110.3A Pending CN115063523A (zh) | 2017-09-08 | 2018-09-07 | 用于显示合成图像数据的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11394898B2 (zh) |
CN (2) | CN115063523A (zh) |
DE (1) | DE112018004527T5 (zh) |
WO (1) | WO2019051210A1 (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10867445B1 (en) * | 2016-11-16 | 2020-12-15 | Amazon Technologies, Inc. | Content segmentation and navigation |
US10839577B2 (en) | 2017-09-08 | 2020-11-17 | Apple Inc. | Creating augmented reality self-portraits using machine learning |
EP3698540A1 (en) * | 2017-12-05 | 2020-08-26 | Google LLC | Method for converting landscape video to portrait mobile layout using a selection interface |
US10621777B2 (en) * | 2018-05-15 | 2020-04-14 | Adobe Inc. | Synthesis of composite images having virtual backgrounds |
US20190385372A1 (en) * | 2018-06-15 | 2019-12-19 | Microsoft Technology Licensing, Llc | Positioning a virtual reality passthrough region at a known distance |
US11516521B2 (en) * | 2018-07-30 | 2022-11-29 | Koninklijke Kpn N.V. | Generating composite video stream for display in VR |
WO2020097212A1 (en) | 2018-11-06 | 2020-05-14 | Lucasfilm Entertainment Company Ltd. | Immersive content production system |
US11924442B2 (en) | 2018-11-20 | 2024-03-05 | Koninklijke Kpn N.V. | Generating and displaying a video stream by omitting or replacing an occluded part |
FR3092195B1 (fr) * | 2019-01-29 | 2021-12-17 | Immersiv | Procédé et dispositif d’affichage de données pour le suivi d’un évènement |
USD952647S1 (en) * | 2019-02-18 | 2022-05-24 | Samsung Electronics Co., Ltd. | Display screen or portion thereof with transitional graphical user interface |
US20200360816A1 (en) * | 2019-05-16 | 2020-11-19 | Microsoft Technology Licensing, Llc | Capturing Subject Representation Within an Augmented Reality Environment |
CN110176077B (zh) * | 2019-05-23 | 2023-05-26 | 北京悉见科技有限公司 | 增强现实拍照的方法、装置及计算机存储介质 |
US11418716B2 (en) * | 2019-06-04 | 2022-08-16 | Nathaniel Boyless | Spherical image based registration and self-localization for onsite and offsite viewing |
US10916051B2 (en) | 2019-07-08 | 2021-02-09 | Google Llc | Video lighting using depth and virtual lights |
US11488359B2 (en) | 2019-08-28 | 2022-11-01 | Snap Inc. | Providing 3D data for messages in a messaging system |
US11189104B2 (en) * | 2019-08-28 | 2021-11-30 | Snap Inc. | Generating 3D data in a messaging system |
US11457196B2 (en) | 2019-08-28 | 2022-09-27 | Snap Inc. | Effects for 3D data in a messaging system |
US11410401B2 (en) | 2019-08-28 | 2022-08-09 | Snap Inc. | Beautification techniques for 3D data in a messaging system |
CN114730483A (zh) * | 2019-08-28 | 2022-07-08 | 斯纳普公司 | 在消息传送系统中生成3d数据 |
US11158028B1 (en) * | 2019-10-28 | 2021-10-26 | Snap Inc. | Mirrored selfie |
CN111046748B (zh) * | 2019-11-22 | 2023-06-09 | 四川新网银行股份有限公司 | 一种大头照场景增强识别方法及装置 |
US11024060B1 (en) * | 2020-03-09 | 2021-06-01 | Adobe Inc. | Generating neutral-pose transformations of self-portrait images |
CN111464761A (zh) * | 2020-04-07 | 2020-07-28 | 北京字节跳动网络技术有限公司 | 视频的处理方法、装置、电子设备及计算机可读存储介质 |
KR102697772B1 (ko) * | 2020-04-13 | 2024-08-26 | 스냅 인코포레이티드 | 메시징 시스템 내의 3d 데이터를 포함하는 증강 현실 콘텐츠 생성기들 |
CN114077310B (zh) * | 2020-08-14 | 2023-08-25 | 宏达国际电子股份有限公司 | 提供虚拟环境的方法与系统及非暂态电脑可读取储存介质 |
US20220067993A1 (en) * | 2020-08-31 | 2022-03-03 | Popshop Technologies, Inc. | Live streaming object image capture and image conversion to product catalog |
US11978154B2 (en) | 2021-04-23 | 2024-05-07 | Lucasfilm Entertainment Company Ltd. | System and techniques for lighting adjustment for an immersive content production system |
US11887251B2 (en) | 2021-04-23 | 2024-01-30 | Lucasfilm Entertainment Company Ltd. | System and techniques for patch color correction for an immersive content production system |
CN113570689B (zh) * | 2021-07-28 | 2024-03-01 | 杭州网易云音乐科技有限公司 | 人像卡通化方法、装置、介质和计算设备 |
WO2023044172A1 (en) | 2021-09-20 | 2023-03-23 | Idoru, Inc. | Systems and method for calculating liability of a driver of a vehicle |
US20240007585A1 (en) * | 2022-06-29 | 2024-01-04 | Snap Inc. | Background replacement using neural radiance field |
USD1025114S1 (en) * | 2024-01-29 | 2024-04-30 | Hangzhou Ruisheng Software Co., Ltd. | Display screen with graphical user interface |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6556704B1 (en) * | 1999-08-25 | 2003-04-29 | Eastman Kodak Company | Method for forming a depth image from digital image data |
CN105005992A (zh) * | 2015-07-07 | 2015-10-28 | 南京华捷艾米软件科技有限公司 | 一种基于深度图的背景建模和前景提取的方法 |
CN105265001A (zh) * | 2013-06-03 | 2016-01-20 | 高通股份有限公司 | 信标指示目标苏醒时间(twt) |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6618117B2 (en) | 1997-07-12 | 2003-09-09 | Silverbrook Research Pty Ltd | Image sensing apparatus including a microcontroller |
US7720283B2 (en) | 2005-12-09 | 2010-05-18 | Microsoft Corporation | Background removal in a live video |
US8139142B2 (en) | 2006-06-01 | 2012-03-20 | Microsoft Corporation | Video manipulation of red, green, blue, distance (RGB-Z) data including segmentation, up-sampling, and background substitution techniques |
US8122378B2 (en) | 2007-06-08 | 2012-02-21 | Apple Inc. | Image capture and manipulation |
US8339418B1 (en) * | 2007-06-25 | 2012-12-25 | Pacific Arts Corporation | Embedding a real time video into a virtual environment |
US8061065B2 (en) | 2007-07-30 | 2011-11-22 | Vladimir Anatol Shreider | Apparatus and a method for constructing an underground continuous filling wall and stratum |
US9253416B2 (en) * | 2008-06-19 | 2016-02-02 | Motorola Solutions, Inc. | Modulation of background substitution based on camera attitude and motion |
US20100302376A1 (en) | 2009-05-27 | 2010-12-02 | Pierre Benoit Boulanger | System and method for high-quality real-time foreground/background separation in tele-conferencing using self-registered color/infrared input images and closed-form natural image matting techniques |
US20110211749A1 (en) | 2010-02-28 | 2011-09-01 | Kar Han Tan | System And Method For Processing Video Using Depth Sensor Information |
US9901828B2 (en) | 2010-03-30 | 2018-02-27 | Sony Interactive Entertainment America Llc | Method for an augmented reality character to maintain and exhibit awareness of an observer |
US8649592B2 (en) | 2010-08-30 | 2014-02-11 | University Of Illinois At Urbana-Champaign | System for background subtraction with 3D camera |
US8823745B2 (en) | 2011-06-02 | 2014-09-02 | Yoostar Entertainment Group, Inc. | Image processing based on depth information and color data of a scene |
EP2637139A1 (en) | 2012-03-05 | 2013-09-11 | Thomson Licensing | Method and apparatus for bi-layer segmentation |
US9154732B2 (en) | 2012-04-09 | 2015-10-06 | Futurewei Technologies, Inc. | Visual conditioning for augmented-reality-assisted video conferencing |
KR101917650B1 (ko) * | 2012-08-03 | 2019-01-29 | 삼성전자 주식회사 | 이미지 처리 방법 및 장치 |
EP2713593B1 (en) | 2012-09-28 | 2015-08-19 | Alcatel Lucent, S.A. | Immersive videoconference method and system |
IL226047A (en) | 2013-04-29 | 2017-12-31 | Hershkovitz Reshef May | A method and system for giving personal expressions |
EP2992481A4 (en) | 2013-05-03 | 2017-02-22 | Kofax, Inc. | Systems and methods for detecting and classifying objects in video captured using mobile devices |
US9552675B2 (en) | 2013-06-03 | 2017-01-24 | Time Traveler App Llc | Display application and perspective views of virtual space |
US20160343166A1 (en) * | 2013-12-24 | 2016-11-24 | Teamlab Inc. | Image-capturing system for combining subject and three-dimensional virtual space in real time |
WO2015134996A1 (en) | 2014-03-07 | 2015-09-11 | Pelican Imaging Corporation | System and methods for depth regularization and semiautomatic interactive matting using rgb-d images |
RU2014110361A (ru) | 2014-03-18 | 2015-09-27 | ЭлЭсАй Корпорейшн | Процессор изображений, сконфигурированный для эффективной оценки и устранения информации переднего плана на изображениях |
US9710972B2 (en) * | 2014-05-30 | 2017-07-18 | Lucasfilm Entertainment Company Ltd. | Immersion photography with dynamic matte screen |
US9350924B2 (en) * | 2014-08-25 | 2016-05-24 | John G. Posa | Portable electronic devices with integrated image/video compositing |
US9807316B2 (en) | 2014-09-04 | 2017-10-31 | Htc Corporation | Method for image segmentation |
US10999499B2 (en) | 2015-03-25 | 2021-05-04 | Avaya, Inc. | Background replacement from video images captured by a plenoptic camera |
WO2016183629A1 (en) | 2015-05-20 | 2016-11-24 | Metaverse Pty Ltd | Augmented reality system and method |
KR20170035608A (ko) * | 2015-09-23 | 2017-03-31 | 삼성전자주식회사 | 화상 통화 시스템, 영상표시장치, 영상표시장치의 구동 방법, 실감 영상 생성 방법 및 컴퓨터 판독가능 기록매체 |
US9741125B2 (en) | 2015-10-28 | 2017-08-22 | Intel Corporation | Method and system of background-foreground segmentation for image processing |
WO2017143392A1 (en) | 2016-02-22 | 2017-08-31 | GenMe Inc. | A video background replacement system |
US10304191B1 (en) | 2016-10-11 | 2019-05-28 | Zoox, Inc. | Three dimensional bounding box estimation from two dimensional images |
WO2018130909A2 (en) * | 2017-01-11 | 2018-07-19 | Intelligent Inventions Limited | Images with virtual reality backgrounds |
KR102716991B1 (ko) * | 2017-02-28 | 2024-10-15 | 삼성전자주식회사 | 외부 전자 장치를 이용한 촬영 방법 및 이를 지원하는 전자 장치 |
US10269159B2 (en) * | 2017-07-27 | 2019-04-23 | Rockwell Collins, Inc. | Neural network foreground separation for mixed reality |
US10839577B2 (en) | 2017-09-08 | 2020-11-17 | Apple Inc. | Creating augmented reality self-portraits using machine learning |
-
2018
- 2018-09-06 US US16/124,168 patent/US11394898B2/en active Active
- 2018-09-07 CN CN202210700110.3A patent/CN115063523A/zh active Pending
- 2018-09-07 WO PCT/US2018/049930 patent/WO2019051210A1/en active Application Filing
- 2018-09-07 DE DE112018004527.7T patent/DE112018004527T5/de active Pending
- 2018-09-07 CN CN201880048711.2A patent/CN110999276B/zh active Active
-
2022
- 2022-07-08 US US17/861,086 patent/US20220353432A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6556704B1 (en) * | 1999-08-25 | 2003-04-29 | Eastman Kodak Company | Method for forming a depth image from digital image data |
CN105265001A (zh) * | 2013-06-03 | 2016-01-20 | 高通股份有限公司 | 信标指示目标苏醒时间(twt) |
CN105005992A (zh) * | 2015-07-07 | 2015-10-28 | 南京华捷艾米软件科技有限公司 | 一种基于深度图的背景建模和前景提取的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110999276A (zh) | 2020-04-10 |
US11394898B2 (en) | 2022-07-19 |
WO2019051210A1 (en) | 2019-03-14 |
US20220353432A1 (en) | 2022-11-03 |
CN115063523A (zh) | 2022-09-16 |
DE112018004527T5 (de) | 2020-06-04 |
US20190082118A1 (en) | 2019-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110999276B (zh) | 用于显示合成图像数据的方法和系统 | |
US10839577B2 (en) | Creating augmented reality self-portraits using machine learning | |
US11961189B2 (en) | Providing 3D data for messages in a messaging system | |
US11748957B2 (en) | Generating 3D data in a messaging system | |
KR102624635B1 (ko) | 메시징 시스템에서의 3d 데이터 생성 | |
KR102697772B1 (ko) | 메시징 시스템 내의 3d 데이터를 포함하는 증강 현실 콘텐츠 생성기들 | |
US11410401B2 (en) | Beautification techniques for 3D data in a messaging system | |
US11825065B2 (en) | Effects for 3D data in a messaging system | |
US10484599B2 (en) | Simulating depth of field | |
CN111131692B (zh) | 用于使用机器学习创建增强现实自摄像的方法和系统 | |
US20230388109A1 (en) | Generating a secure random number by determining a change in parameters of digital content in subsequent frames via graphics processing circuitry |
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 |