CN111131692B - 用于使用机器学习创建增强现实自摄像的方法和系统 - Google Patents
用于使用机器学习创建增强现实自摄像的方法和系统 Download PDFInfo
- Publication number
- CN111131692B CN111131692B CN201911060401.5A CN201911060401A CN111131692B CN 111131692 B CN111131692 B CN 111131692B CN 201911060401 A CN201911060401 A CN 201911060401A CN 111131692 B CN111131692 B CN 111131692B
- Authority
- CN
- China
- Prior art keywords
- mask
- image data
- generating
- camera
- data
- 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
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/64—Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开涉及使用机器学习创建增强现实自摄像。公开了用于生成AR自摄像或“AR自拍”的系统、方法、装置和非暂态计算机可读存储介质。在一个实施方案中,一种方法包括:移动设备的第一相机捕获图像数据,该图像数据包括对象在物理真实世界环境中的图像;移动设备的深度传感器接收深度数据,该深度数据指示对象在物理真实世界环境中与相机的距离;移动设备的一个或多个运动传感器接收运动数据,该运动数据至少指示第一相机在物理真实世界环境中的取向;基于运动数据生成虚拟相机转换,该相机转换用于确定虚拟相机在虚拟环境中的取向;以及使用图像数据、蒙版和基于虚拟相机取向选择的虚拟背景内容生成合成图像数据。
Description
相关申请的交叉引用
本专利申请是于2018年9月6日提交的标题为“Augmented Reality Self-Portraits”的美国专利申请16/124,168的部分继续申请,该美国专利申请要求2017年9月8日提交的美国临时专利申请62/556,297的优先权,所述专利申请中每一者全文以引用方式并入本文。
技术领域
本公开整体涉及媒体编辑和增强现实。
背景技术
发明内容
公开了用于生成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自拍蒙版的过程的流程图。
图11A和图11B共同为根据实施方案的用于使用机器学习生成AR自拍蒙版的系统的概念性框图。
图12A和图12B共同为根据实施方案的用于使用机器学习生成AR自拍的过程的流程图。
图13根据实施方案示出用于实现参考图1-图12所述的特征和过程的设备架构。
在各附图中使用的相同参考符号表示类似的元件。
具体实施方式
“自拍”是用户常常通过将相机保持在手臂长度内或使用延伸设备诸如“自拍”杆而近邻地拍摄的自摄像图像。自拍对象常常是用户的面部、或用户的一部分(例如,用户的上半身)以及在用户后面可见的任何背景。前置相机是在用户正查看显示屏时面向用户的相机。另选地,后置相机在用户正查看显示屏时背向用户,并且捕获在用户前面以及相反方向的真实世界环境的图像。用于捕获自拍的典型移动设备是数字相机、具有一个或多个嵌入式数字相机的智能电话或具有一个或多个嵌入式相机的平板电脑。
在一个实施方案中,自拍对象可与从虚拟环境数据模型提取的虚拟背景内容合成。虚拟背景内容可包括但不限于二维(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中。GMM 702通过由高斯混合逼近的概率密度函数对前景区域和背景区域(参见图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可例如使用参考图13所述的设备架构来实现。
过程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可例如使用参考图13所述的设备架构来实现。
过程1000可开始于生成深度数据的直方图(1001)以及将一个或多个阈值应用于直方图以将深度数据分割成前景区域和背景区域(1002)。
过程1000继续将对象的外轮廓和内轮廓生成为二元深度蒙版(1003)。例如,内轮廓可使用轮廓检测算法和仅已定义深度数据在第一二元深度蒙版中生成,并且外轮廓可使用轮廓检测算法和包括已定义深度数据和未定义深度数据两者的深度数据在第二二元深度蒙版中生成。
过程1000继续任选地平滑内轮廓和外轮廓(1004)。例如,内轮廓和外轮廓可使用高斯模糊核来平滑。
过程1000继续组合外轮廓和内轮廓以生成粗略蒙版(1005)。例如,使用高斯分布的距离转换可被用于将第一二元深度蒙版和第二二元深度蒙版组合成组合粗略蒙版。
过程1000可继续使用粗略深度蒙版、图像数据和深度数据生成精修蒙版(例如,RGB-D蒙版)(1006)。例如,迭代图形切割算法可在由粗略蒙版和GMM生成的三分图上使用以生成RGB-D蒙版。
过程1000可继续从精修蒙版移除未定义区域和伪影(1007)。例如,RGB-D蒙版的前景区域中由于太阳眼镜反射太阳光而导致的未定义像素的岛可使用迭代区域生长算法和/或3D面部网格模型来标识和填充以白色前景像素,如参考图6J-图6L所述。
神经网络蒙版处理
在一个实施方案中,期望使用神经网络诸如深度图像蒙版提取神经网络(NN)来生成低分辨率蒙版。然而,在一些用例中,神经网络所输出的低分辨率蒙版包括不期望的伪影。例如,如果在用户后面存在具有高对比度边缘(例如,房间或建筑物的拐角或线条)的背景图像,则高对比度边缘可能被包括作为前景的一部分。这可导致出现伪影(例如,“箭头”)紧随着用户的头部。在另一示例中,如果用户正穿着浅色衬衫(例如,白色衬衫)并且正在衬衫前面挥手,则衬衫可能不被包括在前景中,从而导致用户的头部看起来漂浮在半空中。为了解决这些用例,神经网络所输出的低分辨率蒙版被精修,如参考图11A、图11B和图12所述。
图11A为根据实施方案的用于使用机器学习生成AR自拍蒙版的系统1100的概念性框图。NN 1110从图像传感器(例如,摄像机)接收输入图像数据1109(例如,RGB数据、YCbCr数据),并且任选地从深度传感器接收深度数据1101,并且输出在高对比度图像边缘处包括假前景错误的低分辨率蒙版1112。在一个实施方案中,NN 1110是执行图像分割的卷积神经网络(CNN)。低分辨率蒙版1112和垃圾蒙版1108被输入到按位“与”模块1129中,该按位“与”模块输出用于用户的面部的面部蒙版1131。参考图11B描述垃圾蒙版1108的生成。
面部蒙版1131(包含整个场景的蒙版)、肩部位置1139(用户图像中用户的肩部水平)和肩部/躯干蒙版1121(肩部位置1139下方的用户图像的部分)被输入到组合模块1130中。肩部位置模块1119从最大面部边界框1117(x、y、宽度、高度)确定肩部位置1139。最大面部边界框1117是使用面部检测算法以图像数据1109和/或深度数据1101作为输入来生成的,其中x和y为最大面部边界框1117的位置坐标,并且宽度和高度为最大面部边界框1117的尺寸。在AR自拍中,可检测到多于一个面部,因此肩部位置模块1119使用包含图像数据1109中最大面部的最大面部边界框1117来确定肩部位置1139。
组合模块1130使用由最大面部边界框1117和用户的面部取向所确定的肩部/躯干蒙版1121来解决浅色衬衫消失问题。在一个实施方案中,组合模块1130对肩部位置1139下方的肩部/躯干蒙版1121和面部蒙版1131取逻辑“或”,其中逻辑“或”近似最大值操作。在一个另选实施方案中,可以通过仅计算肩部下方的肩部/躯干蒙版1121和肩部上方的面部蒙版1131来减小处理步骤的数量,因为在整个每帧蒙版生成过程开始时,最大面部边界框1117是已知的。
组合模块1130的输出是经降噪(精修)蒙版1140(“D蒙版”)。经降噪蒙版1140和亮度图像1132被输入到引导滤波器1113中。亮度图像1132由图像-亮度转换器1133生成。亮度图像1132表示图像数据1109的明度(例如,图像数据1109的黑色和白色或消色差部分)。在一个实施方案中,图像-亮度转换器1133将亮度图像1132生成为图像数据1109的伽马压缩RGB分量的加权和,其中伽马压缩是编码/解码图像数据1109中亮度或三色值的非线性操作。
引导滤波器1113对组合模块1139的输出执行上采样以生成高分辨率蒙版1125。引导滤波器1113还使用亮度图像1132作为“引导图像”影响滤波来对组合模块1139的输出执行保边光滑。在一个实施方案中,引导滤波器1113执行邻域操作,该邻域操作在计算输出像素的值时考虑亮度图像1132中对应空间邻域中的区域的统计值。在另一实施方案中,引导滤波器1113被替换为交叉双边滤波器或取向对齐的交叉双边滤波器的变线。
高分辨率蒙版1125与从存储设备1135(例如,闪存存储器、盘)检索的先前最终蒙版1128(在t-1处生成)和从每像素相似性映射模块1128输出的相似性映射1138一起被输入到运动自适应时间滤波器1114。每像素相似性映射模块1128将图像数据1109(在时间t处生成)和先前图像数据1136(在t-1处生成)作为输入并输出相似性映射1138。运动自适应时间滤波器1114输出最终蒙版1116。如本文所用,“t”是指当前帧,并且“t-1”是指图像数据1109或最终蒙版1116的前一帧。
在一个实施方案中,在两个图像相同的所有像素中,相似性映射1138为1.0(缩放至8位),并且图像像素差别越大,越接近零。每像素相似性模块1128计算帧t-1中两个并置像素的RGB颜色之间的欧几里得距离的平方的负值,然后使用该值作为指数函数的自变量。
以下示出用于每像素相似性映射模块1128的示例伪码,其中假定输入图像和先前输入图像具有相同的宽度和高度(以像素计):
在一个实施方案中,运动自适应时间滤波器1114是两个帧的线性加权平均(其中权重是根据像素相似性而每像素计算的)。例如,可使用由以下给出的滤波()函数来实现时间滤波器1114:
filtered(source[t],filtered[t-1],weights[t])=weights*source[t]+(1-weights[t])*filtered[t-1]),
其中函数参数source[t],filtered[t-1]是来自每像素相似性映射模块1128的输出,并且参数weights[t]是由时间强度1127确定。滤波()函数是源的指数移动平均。
运动自适应时间滤波器1114的输出是最终蒙版1116(在时间t处生成)。最终蒙版1116被存储在存储设备1135中以在下一帧中供每像素相似性映射模块1128使用。
生成垃圾蒙版和肩部/躯干蒙版
参见图11B,现在将描述上文提及的垃圾蒙版1108和肩部/躯干蒙版1121的生成。自适应深度阈值模块1102接收最大面部边界框1117以及任选的深度直方图1118作为输入。在一个实施方案中,深度数据1101由深度直方图模块1137使用先前参考图6C和图6D描述的过程以不同直方图箱大小来处理。
自适应深度阈值模块1102生成包括小于阈值的深度数据(前景区域)的内蒙版1104和包括小于该阈值或未知的深度数据(前景区域的保守估计)的外蒙版1103。在一个实施方案中,对于内蒙版1104和外蒙版1103,阈值是相同的。唯一的区别是外蒙版1103还包括深度未知的像素。对于IR深度传感器,由于至少四个原因,深度在图像的部分中是未知的:1)如果背景目标太远(例如,距相机超过4米远),则IR点投影仪图案太微弱;
2)存在来自其他光源(通常是太阳)的干扰;3)因为IR点投影仪不能位于与IR相机相同的物理位置,所以目标的部分处于“阴影”中;和4)从玻璃、镜子或其他光亮目标反射的光。在一个实施方案中,深度阈值由在图像数据中检测到的面部的中心区域的平均深度以及用于包括头部的后部以及(任选地包括)某人正坐着的椅子的偏移来确定。阈值可被调整为更小,以将椅子从前景中排除。
内蒙版1104被输入到膨胀器模块1105(小核)中,该膨胀器模块生成孔洞填充的蒙版1106。孔洞填充的蒙版1106被输入到侵蚀器模块1120(小核)中以生成肩部/躯干蒙版1121。肩部/躯干蒙版1121然后被输入到组合模块1130中,如先前参考图11A所述。内蒙版1104被输入到膨胀器模块1105(大核)中以生成膨胀后的内蒙版1134,并且外蒙版1103被输入到膨胀器模块1122(小核)中以生成膨胀后的外蒙版1123。
相交器模块1124取膨胀后的内蒙版1134和膨胀后的外蒙版1123作为输入,并输出垃圾蒙版1108,该垃圾蒙版被输入到按位“与”模块1129中,如先前参考图11A所述。在一个实施方案中,使用按位“与”运算(对于整数)近似最小值运算符或乘法运算符来实现相交器模块1124和按位“与”模块1129(即使蒙版和图像数据值是归一化浮点,其也会工作)。
在一个实施方案中,侵蚀器模块1120通过结构元素s侵蚀二元图像f(表示为)以产生在结构元素s拟合输入图像f的结构元素的原点的所有位置(x,y)中具有1的新二元图像例如,如果s拟合f,则g(x,y)=1,否则g(x,y)=0,对于所有像素坐标(x,y)重复。侵蚀器模块1120从孔洞填充的蒙版1106移除小尺度细节并同时减小所关注区域的大小。通过从孔洞填充的蒙版1106中减去被侵蚀的图像,可找到每个区域的边界: 其中f为区域的图像,s为3×3结构元素,并且b为区域边界的图像。
在一个实施方案中,膨胀器模块1105通过结构元素s膨胀二元图像f(表示为)以产生在结构元素s命中输入图像f的结构元素的原点的所有位置(x,y)中具有1的新二元图像例如,如果s命中f,则g(x,y)=1,否则g(x,y)=0,对于所有像素坐标(x,y)重复。膨胀具有与侵蚀相反的效果;该膨胀将一层像素添加到区域的内边界和外边界两者。
在一个实施方案中,使用方形结构元素并且输入图像被变形地缩放,使得其有效地为矩形结构元素。在另选实施方案中,例如可使用不对称的结构元素或更加圆形的结构元素来改善面部的阴影侧上垃圾蒙版1108的紧密度。另外,膨胀后的蒙版1134或肩部/躯干蒙版1121可被模糊以减小垃圾蒙版1108的锐度用于实现更美观的最终蒙版1116。在一个实施方案中,膨胀器模块1105使用小核来闭合眼镜、手指和其他目标周围的孔洞,并且“生长”前景区域以避免在更常发生的情况下(没有高对比度边缘并且没有浅色衬衫的图像数据)切除高分辨率蒙版1125(其被很好地修饰)。侵蚀器模块1120用于“收缩”前景区域,使得用于白色衬衫情形的背景蒙版在常发生的情况中不显示。
用于蒙版处理的另选实施方案
在另选实施方案中,以下过程可用于处理蒙版如下。输入为粗略的有噪声的低分辨率蒙版(1112)。步骤如下:
1)执行局部取向估计(寻找边缘切线和边缘梯度的方向和强度)
2)在(见于步骤1)梯度方向上应用双边滤波器
3)在(见于步骤1)切线方向上应用双边滤波器
4)将步骤2和3重复N次,其中N为正整数
5)对蒙版水平进行量化
6)在(见于步骤1)梯度方向上高斯滤波器的差异
7)沿(见于步骤1)流场和阈值平滑
8)将局部边缘取向对齐的双边滤波器的量化输出(步骤5的输出)与步骤7的输出组合。
在步骤8之后输出的蒙版成为对按位“与”模块1129的输入中的一个输入(代替低分辨率蒙版1112)或代替面部蒙版1131。在另一实施方案中,以上过程的变体取两个输入,如联合双边滤波器或引导滤波器。引导滤波器的一个输入是RGB(或亮度)图像数据1132,而另一输入是低分辨率蒙版1112。
图12A和图12B共同为根据实施方案的用于使用机器学习生成AR自拍蒙版的过程的流程图。过程1200可使用参考图13所述的设备架构来实现。
参见图12A,过程1200开始于由最大面部边界框或深度数据的直方图生成(1201)内蒙版和外蒙版。例如,自适应深度阈值模块可用于生成内蒙版和外蒙版,如参考图11A和图11B所述。过程1200继续:(例如,使用以小核的膨胀过程)由内蒙版生成孔洞填充的蒙版(1202);(例如,使用以小核的侵蚀过程)由孔洞填充的蒙版生成肩部/躯干蒙版(1203);使用第一核(小核)膨胀内蒙版(1204);使用比第一核小的第二核膨胀外蒙版(1205);由膨胀后的内蒙版与膨胀后的外蒙版的相交(例如,按位“与”)生成垃圾蒙版(1206);然后将垃圾蒙版应用于由神经网络(例如,卷积神经网络)所输出的低分辨率蒙版以创建面部蒙版(1207),如参考图11A和图11B所述。需注意,使用按位“与”或按位“或”就假定膨胀和侵蚀的输出从每个像素单个位转换为整数掩膜表示,该整数掩膜表示对于二进制1为全1并且对于二进制0为全0。例如,在C语言代码中:unsigned char mask=(bit)?~0:0;
参见图12B,过程1200继续:将面部蒙版和肩部/躯干蒙版组合成合成低分辨率蒙版(1208);(例如,使用具有亮度图像作为引导图像的引导滤波器)由合成低分辨率蒙版生成高分辨率蒙版(1209);以及将时间滤波器(例如,运动自适应时间滤波器)应用于高分辨率蒙版以生成最终蒙版(1210),如图11A和图11B所述。
示例设备架构
图13根据实施方案示出用于实现参考图1-图12所述的特征和过程的设备架构。架构1300可包括存储器接口1302、一个或多个数据处理器、视频处理器、协处理器、图像处理器和/或其他处理器1304和外围设备接口1306。存储器接口1302、一个或多个处理器1304和/或外围设备接口1306可为独立部件,或者可集成到一个或多个集成电路中。架构1300中的各个部件可通过一条或多条通信总线或信号线耦接。
传感器、设备和子系统可耦接到外围设备接口1306以方便多个功能。例如,一个或多个运动传感器1310、光传感器1312和接近传感器1314可以耦接到外围设备接口1306,以促进移动设备的运动感测(例如,加速度、旋转速率)、照明和接近功能。位置处理器1315可连接到外围设备接口1306以提供地理定位以及处理传感器测量。在一些具体实施中,位置处理器1315可以是GNSS接收器,诸如全球定位系统(GPS)接收器芯片。也可将电子磁力仪1316(例如,集成电路芯片)连接至外围设备接口1306以提供可用于确定磁北方向的数据。电子磁力仪1316可以向电子罗盘应用程序提供数据。一个或多个运动传感器1310可包括一个或多个加速度计和/或陀螺仪,该一个或多个加速度计和/或陀螺仪被配置为确定移动设备的运动的速度和方向的改变。气压计1317可以被配置为测量移动设备周围的大气压力。
相机子系统1320和一个或多个相机1322(例如,前置相机和后置相机)用于捕获数字照片和记录视频片段,包括用于生成AR自拍的视频和图像,如参考图1-图10所述。
可通过一个或多个无线通信子系统1324促进通信功能,这些无线通信子系统可包括射频(RF)接收器和发射器(或收发器)和/或光学(例如,红外)接收器和发射器。通信子系统1324的具体设计与实现可取决于移动设备要操作于的一个或多个通信网络。例如,架构1300可包括设计用于通过GSM网络、GPRS网络、EDGE网络、Wi-FiTM或Wi-MaxTM网络以及BluetoothTM网络操作的通信子系统1324。具体地讲,无线通信子系统1324可包括主机协议,使得移动设备可被配置为其他无线设备的基站。
可将音频子系统1326耦接到扬声器1328和麦克风1330以促进支持语音的功能,诸如语音识别、语音复制、数字记录和电话功能。音频子系统1326可以被配置为从用户接收语音命令。
I/O子系统1340可包括触摸表面控制器1342和/或其他输入控制器1344。可以将触摸表面控制器1342耦接到触摸表面1346或垫片。触摸表面1346和触摸表面控制器1342可例如使用多种触敏技术中的任何技术以及其他接近传感器阵列或用于确定与触摸表面1346的一个或多个接触点的其他元件来检测接触及其运动或中断,该多种触敏技术包括但不限于电容性、电阻性、红外及表面声波技术。触摸表面1346可包括例如触摸屏。I/O子系统1340可以包括用于响应于来自处理器的命令提供触觉反馈(例如,振动)的触觉引擎或设备。
可将其他输入控制器1344耦接到其他输入/控制设备1348,诸如一个或多个按钮、摇臂开关、拇指滚轮、红外端口、USB端口和/或指针设备诸如触笔。一个或多个按钮(未示出)可包括用于扬声器1328和/或麦克风1330的音量控制的增大/减小按钮。触摸表面1346或其他控制器1344(例如,按钮)可以包括或耦接到指纹识别电路,以与指纹认证应用程序一起使用,从而基于用户的一根或多根指纹来认证用户。
在一个具体实施中,将按钮按下持续第一持续时间可解除触摸表面1346的锁定;并且将按钮按下持续比第一持续时间长的第二持续时间可打开或关闭移动设备的电源。用户能够对一个或多个按钮的功能进行自定义。例如,还可以使用触摸表面1346实现虚拟或软按钮和/或虚拟触摸键盘。
在一些具体实施中,计算设备可呈现记录的音频文件和/或视频文件,诸如MP3、AAC和MPEG文件。在一些具体实施中,移动设备可包括MP3播放器的功能。也可使用其他输入/输出以及控制设备。
存储器接口1302可以耦接到存储器1350。存储器1350可包括高速随机存取存储器和/或非易失性存储器,诸如一个或多个磁盘存储设备、一个或多个光学存储设备、和/或闪存存储器(例如,NAND、NOR)。存储器1350可存储操作系统1352,诸如iOS、Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS或嵌入式操作系统诸如VxWorks。操作系统1352可包括用于处理基础系统服务以及用于执行硬件相关任务的指令。在一些具体实施中,操作系统1352可以包括内核(例如,UNIX内核)。
存储器1350还可以存储通信指令1354,该存储通信指令促进与一个或多个附加设备、一个或多个计算机和/或一个或多个服务器的通信,诸如例如用于实现与其他设备的有线或无线通信的软件栈的指令。存储器1350可以包括:促进图形用户界面处理的图形用户界面指令1356;促进与传感器相关的处理及功能的传感器处理指令1358;促进与电话相关的过程和功能的电话指令1360;促进与电子消息处理相关的过程和功能的电子消息处理指令1362;促进与网页浏览相关的过程和功能的网页浏览指令1364;促进与媒体处理相关的过程和功能的媒体处理指令1366;促进一般性与GNSS和位置相关的过程和指令的GNSS/位置指令1368;和促进前置相机和后置相机的与相机相关的过程和功能的相机指令1370。
存储器1350还包括用于执行参考图1-图12所述的特征和过程的媒体播放器指令1372和基于取向的媒体呈现指令1374。存储器1350还可存储其他软件指令(未示出),诸如安全指令、用于促进与网络视频相关的过程和功能的网络视频指令和/或用于促进与网上购物相关的过程和功能的网上购物指令。在一些具体实施中,媒体处理指令1366分为分别用于促进与音频处理相关的过程和功能以及与视频处理相关的过程和功能的音频处理指令和视频处理指令。
上面所识别的指令和应用程序中的每一者可对应于用于执行上述一个或多个功能的指令集。这些指令不需要作为独立软件程序、进程或模块来实现。存储器1350可包括附加指令或更少的指令。此外,可在硬件和/或软件中,包括在一个或多个信号处理和/或专用集成电路中,执行移动设备的各种功能。
所描述的特征可有利地在能够在可编程系统上执行的一个或多个计算机程序中实现,该可编程系统包括至少一个输入设备、至少一个输出设备以及被耦接以从数据存储系统接收数据和指令并且将数据和指令发送到数据存储系统的至少一个可编程处理器。计算机程序是在计算机中可以直接或间接使用以执行某种活动或者产生某种结果的指令集。计算机程序可以包括编译和解释语言在内的任何形式的编程语言(例如,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调用可向应用程序报告设备运行应用程序的能力,诸如输入能力、输出能力、处理能力、功率能力、通信能力等。
如上所述,本技术的一个方面在于采集和使用得自具体和合法来源的数据,以改善向用户递送其可能感兴趣的启发内容或任何其他内容。本公开设想,在一些实例中,该所采集的数据可包括唯一地识别或可用于识别具体人员的个人信息数据。此类个人信息数据可包括人口统计数据、基于位置的数据、在线标识符、电话号码、电子邮件地址、家庭地址、与用户的健康或健身级别相关的数据或记录(例如,生命特征测量、药物信息、锻炼信息)、出生日期或任何其他个人信息。
本公开认识到在本发明技术中使用此类个人信息数据可用于使用户受益。例如,个人信息数据可用于递送用户根据其偏好可能较感兴趣的目标内容。因此,使用此类个人信息数据使得用户能够对所递送的内容具有更大的控制。此外,本公开还预期个人信息数据有益于用户的其他用途。例如,健康和健身数据可根据用户的偏好来使用以提供对其总体健康状况的见解,或者可用作对使用技术来追求健康目标的个体的积极反馈。
本公开设想负责收集、分析、公开、传输、存储或其他使用此类个人信息数据的实体将遵守既定的隐私政策和/或隐私实践。具体地,将期望此类实体实现和一贯地应用一般公认为满足或超过维护用户隐私的行业或政府所要求的隐私实践。关于使用个人数据的此类信息应当被突出并能够被用户方便地访问,并应当随数据的收集和/或使用改变而被更新。用户的个人信息应被收集仅用于合法使用。另外,此类收集/共享应仅发生在接收到用户同意或在适用法律中所规定的其他合法根据之后。
此外,此类实体应考虑采取任何必要步骤,保卫和保障对此类个人信息数据的访问,并确保有权访问个人信息数据的其他人遵守其隐私政策和流程。另外,此类实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和实践。此外,应针对被收集和/或访问的特定类型的个人信息数据调整政策和实践,并使其适用于适用法律和标准,包括可用于施加较高标准的辖区专有的考虑因素。例如,在美国,对某些健康数据的收集或获取可能受联邦和/或州法律的管辖,诸如健康保险流通和责任法案(HIPAA);而其他国家的健康数据可能受到其他法规和政策的约束并应相应处理。
不管前述情况如何,本公开还预期用户选择性地阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,诸如就广告递送服务而言,本技术可被配置为在注册服务期间或之后任何时候允许用户选择“选择加入”或“选择退出”参与对个人信息数据的收集。在另一示例中,用户可以选择不为目标内容递送服务提供情绪相关数据。又如,用户可选择限制情绪相关数据被保持的时间长度,或完全阻止基础情绪状况的开发。除了提供“选择加入”和“选择退出”选项外,本公开设想提供与访问或使用个人信息相关的通知。例如,可在下载应用时向用户通知其个人信息数据将被访问,然后就在个人信息数据被应用访问之前再次提醒用户。
此外,本公开的目的是应管理和处理个人信息数据以最小化无意或未经授权访问或使用的风险。一旦不再需要数据,通过限制数据收集和删除数据可最小化风险。此外,并且当适用时,包括在某些健康相关应用程序中,数据去标识可用于保护用户的隐私。可在适当时通过移除标识符、控制所存储数据的量或特异性(例如,在城市级别而不是在地址级别收集位置数据)、控制数据如何被存储(例如,在用户间汇集数据)和/或其他方法诸如差异化隐私来促进去标识。
因此,虽然本公开广泛地覆盖了使用个人信息数据来实现一个或多个各种所公开的实施方案,但本公开还预期各种实施方案也可在无需访问此类个人信息数据的情况下被实现。即,本发明技术的各种实施方案不会由于缺少此类个人信息数据的全部或一部分而无法正常进行。例如,可基于汇集的非个人信息数据或绝对最低数量的个人信息,诸如仅在用户设备上处理的内容或可用于内容递送服务的其他非个人信息,来选择内容并递送给用户。
虽然本说明书包含许多具体实施细节,但是这些具体实施细节不应被理解为是对任何发明或可能要求保护的内容的范围的限制,而应被理解为对特定于特定发明的特定实施方案的特征的描述。本说明书中在不同实施方案的上下文中描述的某些特征也可以在单个实施方案中组合地实现。相反,在单个实施方案的上下文中描述的各种特征也可单独地或者以任何合适的子组合的形式在多个实施方案中实现。此外,虽然某些特征可能在上面被描述为以某些组合来起作用并且甚至最初也这样地来要求保护,但是要求保护的组合的一个或多个特征在某些情况下可从该组合去除,并且要求保护的组合可涉及子组合或子组合的变型。
类似地,虽然操作在附图中以特定次序示出,但不应将此理解为要求以相继次序或所示的特定次序来执行此类操作,或者要求执行所有所示的操作以实现期望的结果。在某些情况中,多任务和并行处理可能是有利的。此外,上述实施方案中各个系统部件的划分不应被理解为在所有实施方式中都要求此类划分,并且应当理解,所述程序部件和系统可一般性地一起整合在单个软件产品中或者封装到多个软件产品中。
Claims (20)
1.一种方法,所述方法包括:
移动设备的第一相机捕获图像数据,所述图像数据包括对象在物理真实世界环境中的图像;
所述移动设备的深度传感器捕获深度数据,所述深度数据指示所述对象在所述物理真实世界环境中与所述相机的距离;
所述移动设备的一个或多个运动传感器捕获运动数据,所述运动数据至少指示所述第一相机在所述物理真实世界环境中的取向;
所述移动设备的一个或多个处理器基于所述运动数据生成虚拟相机转换,所述相机转换用于确定虚拟相机在虚拟环境中的取向;
所述一个或多个处理器由所述图像数据和所述深度数据生成蒙版,其中生成所述蒙版包括:
将所述图像数据和所述深度数据输入到神经网络中;
所述神经网络使用所述图像数据和所述深度数据生成低分辨率蒙版;以及
处理所述低分辨率蒙版以移除所述低分辨率蒙版中的伪影;
由经处理的所述低分辨率蒙版生成高分辨率蒙版,其中所述高分辨率蒙版具有比所述低分辨率蒙版高的分辨率;
所述一个或多个处理器使用所述图像数据、所述高分辨率蒙版和虚拟背景内容生成合成图像数据,所述虚拟背景内容是使用所述相机转换从所述虚拟环境选择的;以及
所述一个或多个处理器使得在所述移动设备的显示器上显示所述合成图像数据。
2.根据权利要求1所述的方法,其中处理所述低分辨率蒙版以移除所述低分辨率蒙版中的伪影还包括:
由包括所述对象的面部的边界框或所述深度数据的直方图中的至少一者生成内蒙版和外蒙版;
由所述内蒙版生成孔洞填充的蒙版;
由所述孔洞填充的内蒙版生成肩部/躯干蒙版;
使用第一核膨胀所述内蒙版;
使用比所述第一核小的第二核膨胀所述外蒙版;
由所述膨胀后的内蒙版和所述膨胀后的外蒙版的相交生成垃圾蒙版;
将所述低分辨率蒙版与所述垃圾蒙版组合以创建面部蒙版;
将所述面部蒙版与所述肩部/躯干蒙版组合成经降噪蒙版;以及
由所述经降噪蒙版生成所述高分辨率蒙版。
3.根据权利要求2所述的方法,还包括:
将时间滤波器应用于所述高分辨率蒙版以生成最终蒙版;以及
使用所述图像数据、所述最终蒙版和所述虚拟背景内容生成所述合成图像数据。
4.根据权利要求3所述的方法,其中将所述时间滤波器应用于所述高分辨率蒙版以生成最终蒙版还包括:
基于所述图像数据和先前图像数据生成每像素相似性映射;以及
使用所述相似性映射和先前最终蒙版将所述时间滤波器应用于所述高分辨率蒙版。
5.根据权利要求4所述的方法,其中所述时间滤波器为两个帧的线性加权平均,其中权重是根据所述每像素相似性映射表示的像素相似性而每像素计算的。
6.根据权利要求2所述的方法,其中由经处理的所述低分辨率蒙版生成所述高分辨率蒙版还包括:
由所述图像数据生成亮度图像;以及
使用引导滤波器和所述亮度图像将所述经降噪蒙版上采样为所述高分辨率蒙版。
7.根据权利要求2所述的方法,其中由所述孔洞填充的内蒙版生成所述肩部/躯干蒙版还包括:
膨胀所述内蒙版以生成所述孔洞填充的蒙版;以及
侵蚀所述孔洞填充的蒙版以生成所述肩部/躯干蒙版。
8.根据权利要求2所述的方法,其中所述内蒙版包括小于深度阈值的深度数据,所述外蒙版包括小于所述深度阈值或未知的深度数据,并且所述深度阈值由在所述图像数据中检测到的所述对象的面部的中心区域的平均深度和用于包括所述对象的头部的后部的偏移来确定。
9.根据权利要求1所述的方法,其中所述神经网络是用于图像分割的卷积神经网络。
10.一种方法,所述方法包括:
在移动设备的显示器上呈现预览,所述预览包括由定位在对象的近距离内的移动设备的前置相机捕获的预览图像数据的顺序帧,预览图像数据的所述顺序帧包括所述对象的近距离图像数据和物理真实世界环境中所述对象后面的背景的图像数据;
接收用于应用虚拟环境效果的第一用户输入;
所述移动设备的深度传感器捕获深度数据,所述深度数据指示所述对象在所述物理真实世界环境中与所述前置相机的距离;
所述移动设备的一个或多个传感器捕获取向数据,所述取向数据至少指示所述前置相机在所述物理真实世界环境中的取向;
所述移动设备的一个或多个处理器基于所述取向数据生成相机转换,所述相机转换描述虚拟相机在虚拟环境中的取向;
所述一个或多个处理器由图像数据的所述顺序帧和所述深度数据生成蒙版,其中生成所述蒙版包括:
将所述图像数据和所述深度数据输入到神经网络中;
所述神经网络使用所述图像数据和所述深度数据生成低分辨率蒙版;以及
处理所述低分辨率蒙版以移除所述低分辨率蒙版中的伪影;
由经处理的所述低分辨率蒙版生成高分辨率蒙版,其中所述高分辨率蒙版具有比所述低分辨率蒙版高的分辨率;
所述一个或多个处理器生成图像数据的合成顺序帧,所述合成顺序帧包括图像数据的所述顺序帧、所述高分辨率蒙版和虚拟背景内容,所述虚拟背景内容是使用所述相机转换从所述虚拟环境选择的;以及
所述一个或多个处理器使得显示图像数据的所述合成顺序帧。
11.一种系统,包括:
显示器;
相机;
深度传感器;
一个或多个运动传感器;
一个或多个处理器;
存储器,所述存储器耦接到所述一个或多个处理器并且存储指令,所述指令在被所述一个或多个处理器执行时使得所述一个或多个处理器执行包括以下内容的操作:
所述相机捕获图像数据,所述图像数据包括对象在物理真实世界环境中的图像;
所述深度传感器捕获深度数据,所述深度数据指示所述对象在所述物理真实世界环境中与所述相机的距离;
所述一个或多个运动传感器捕获运动数据,所述运动数据至少指示所述相机在所述物理真实世界环境中的取向;
基于所述运动数据生成虚拟相机转换,所述相机转换用于确定虚拟相机在虚拟环境中的取向;
由所述图像数据和所述深度数据生成蒙版,其中生成所述蒙版包括:
将所述图像数据和所述深度数据输入到神经网络中;
所述神经网络使用所述图像数据和所述深度数据生成低分辨率蒙版;以及
处理所述低分辨率蒙版以移除所述低分辨率蒙版中的伪影;
由经处理的所述低分辨率蒙版生成高分辨率蒙版,其中所述高分辨率蒙版具有比所述低分辨率蒙版高的分辨率;
使用所述图像数据、所述高分辨率蒙版和虚拟背景内容生成合成图像数据,所述虚拟背景内容是使用所述相机转换从所述虚拟环境选择的;以及
使得在所述显示器上显示所述合成图像数据。
12.根据权利要求11所述的系统,其中处理所述低分辨率蒙版以移除所述低分辨率蒙版中的伪影还包括:
由包括所述对象的面部的边界框或所述深度数据的直方图中的至少一者生成内蒙版和外蒙版;
由所述内蒙版生成孔洞填充的蒙版;
由所述孔洞填充的内蒙版生成肩部/躯干蒙版;
使用第一核膨胀所述内蒙版;
使用比所述第一核小的第二核膨胀所述外蒙版;
由所述膨胀后的内蒙版和所述膨胀后的外蒙版的相交生成垃圾蒙版;
将所述低分辨率蒙版与所述垃圾蒙版组合以创建面部蒙版;
将所述面部蒙版与所述肩部/躯干蒙版组合成经降噪蒙版;以及
由所述经降噪蒙版生成所述高分辨率蒙版。
13.根据权利要求12所述的系统,所述操作还包括:
将时间滤波器应用于所述高分辨率蒙版以生成最终蒙版;以及
使用所述图像数据、所述最终蒙版和所述虚拟背景内容生成所述合成图像数据。
14.根据权利要求13所述的系统,其中将所述时间滤波器应用于所述高分辨率蒙版以生成最终蒙版还包括:
基于所述图像数据和先前图像数据生成每像素相似性映射;以及
使用所述相似性映射和先前最终蒙版将所述时间滤波器应用于所述高分辨率蒙版。
15.根据权利要求14所述的系统,其中所述时间滤波器为两个帧的线性加权平均,其中权重是根据所述每像素相似性映射表示的像素相似性而每像素计算的。
16.根据权利要求12所述的系统,其中由经处理的所述低分辨率蒙版生成所述高分辨率蒙版还包括:
由所述图像数据生成亮度图像;以及
使用引导滤波器和所述亮度图像将所述经降噪蒙版上采样为所述高分辨率蒙版。
17.根据权利要求12所述的系统,其中由所述孔洞填充的内蒙版生成所述肩部/躯干蒙版还包括:
膨胀所述内蒙版以生成所述孔洞填充的蒙版;以及
侵蚀所述孔洞填充的蒙版以生成所述肩部/躯干蒙版。
18.根据权利要求12所述的系统,其中所述内蒙版包括小于深度阈值的深度数据,所述外蒙版包括小于所述深度阈值或未知的深度数据,并且所述深度阈值由在所述图像数据中检测到的所述对象的面部的中心区域的平均深度和用于包括所述对象的头部的后部的偏移来确定。
19.一种系统,包括:
显示器;
前置相机;
深度传感器;
一个或多个运动传感器;
一个或多个处理器;
存储器,所述存储器耦接到所述一个或多个处理器并且存储指令,所述指令在被所述一个或多个处理器执行时使得所述一个或多个处理器执行包括以下内容的操作:
在所述显示器上呈现预览,所述预览包括由定位在对象的近距离内的所述前置相机捕获的预览图像数据的顺序帧,预览图像数据的所述顺序帧包括所述对象的近距离图像数据和物理真实世界环境中所述对象后面的背景的图像数据;
接收用于应用虚拟环境效果的第一用户输入;
所述深度传感器捕获深度数据,所述深度数据指示所述对象在所述物理真实世界环境中与所述前置相机的距离;
所述一个或多个传感器捕获取向数据,所述取向数据至少指示所述前置相机在所述物理真实世界环境中的取向;
所述一个或多个处理器基于所述取向数据生成相机转换,所述相机转换描述虚拟相机在虚拟环境中的取向;
所述一个或多个处理器由图像数据的所述顺序帧和所述深度数据生成蒙版,其中生成所述蒙版包括:
将所述图像数据和所述深度数据输入到神经网络中;
所述神经网络生成低分辨率蒙版;以及
处理所述低分辨率蒙版以移除所述低分辨率蒙版中的伪影;
由经处理的所述低分辨率蒙版生成高分辨率蒙版,其中所述高分辨率蒙版具有比所述低分辨率蒙版高的分辨率;
所述一个或多个处理器生成图像数据的合成顺序帧,所述合成顺序帧包括图像数据的所述顺序帧、所述高分辨率蒙版和虚拟背景内容,所述虚拟背景内容是使用所述相机转换从所述虚拟环境选择的;以及
在所述显示器上显示图像数据的所述合成顺序帧。
20.根据权利要求19所述的系统,其中处理所述低分辨率蒙版以移除所述低分辨率蒙版中的伪影还包括:
由包括所述对象的面部的边界框或所述深度数据的直方图中的至少一者生成内蒙版和外蒙版;
由所述内蒙版生成孔洞填充的蒙版;
由所述孔洞填充的内蒙版生成肩部/躯干蒙版;
使用第一核膨胀所述内蒙版;
使用比所述第一核小的第二核膨胀所述外蒙版;
由所述膨胀后的内蒙版和所述膨胀后的外蒙版的相交生成垃圾蒙版;
将所述低分辨率蒙版与所述垃圾蒙版组合以创建面部蒙版;
将所述面部蒙版与所述肩部/躯干蒙版组合成经降噪蒙版;以及
由所述经降噪蒙版生成所述高分辨率蒙版。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/177,408 | 2018-10-31 | ||
US16/177,408 US10839577B2 (en) | 2017-09-08 | 2018-10-31 | Creating augmented reality self-portraits using machine learning |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111131692A CN111131692A (zh) | 2020-05-08 |
CN111131692B true CN111131692B (zh) | 2021-09-10 |
Family
ID=70495635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911060401.5A Active CN111131692B (zh) | 2018-10-31 | 2019-10-30 | 用于使用机器学习创建增强现实自摄像的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111131692B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111787302A (zh) * | 2020-06-29 | 2020-10-16 | 湖南傲英创视信息科技有限公司 | 基于线扫描相机的立体全景直播拍摄系统 |
CN113534952A (zh) * | 2020-08-06 | 2021-10-22 | 黄得锋 | 一种ar系统的构建方法及运用 |
US20230037282A9 (en) * | 2020-10-18 | 2023-02-02 | Adobe Inc | Sky replacement color harmonization |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105031919A (zh) * | 2010-03-30 | 2015-11-11 | 索尼电脑娱乐美国公司 | 用于增强现实角色维持并体现观察者的认知的方法 |
CN105407346A (zh) * | 2014-09-04 | 2016-03-16 | 宏达国际电子股份有限公司 | 影像分割方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US9253416B2 (en) * | 2008-06-19 | 2016-02-02 | Motorola Solutions, Inc. | Modulation of background substitution based on camera attitude and motion |
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 | ЭлЭсАй Корпорейшн | Процессор изображений, сконфигурированный для эффективной оценки и устранения информации переднего плана на изображениях |
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 |
-
2019
- 2019-10-30 CN CN201911060401.5A patent/CN111131692B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105031919A (zh) * | 2010-03-30 | 2015-11-11 | 索尼电脑娱乐美国公司 | 用于增强现实角色维持并体现观察者的认知的方法 |
CN105407346A (zh) * | 2014-09-04 | 2016-03-16 | 宏达国际电子股份有限公司 | 影像分割方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111131692A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110999276B (zh) | 用于显示合成图像数据的方法和系统 | |
US10839577B2 (en) | Creating augmented reality self-portraits using machine learning | |
US11748957B2 (en) | Generating 3D data in a messaging system | |
US11961189B2 (en) | Providing 3D data for messages in a messaging system | |
US11094131B2 (en) | Augmented reality apparatus and method | |
EP3855288B1 (en) | Spatial relationships for integration of visual images of physical environment into virtual reality | |
KR102697772B1 (ko) | 메시징 시스템 내의 3d 데이터를 포함하는 증강 현실 콘텐츠 생성기들 | |
KR102624635B1 (ko) | 메시징 시스템에서의 3d 데이터 생성 | |
US11410401B2 (en) | Beautification techniques for 3D data in a messaging system | |
US11825065B2 (en) | Effects for 3D data in a messaging system | |
CN111131692B (zh) | 用于使用机器学习创建增强现实自摄像的方法和系统 |
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 |