增强现实已经变得可用在各种平台上,包括电视、平视显示器以及在有限程度上用在手持装置诸如蜂窝电话上,在增强现实中使用计算机生成的输入增强对现实世界环境的观察。
手持装置(诸如蜂窝电话)作为相机的使用已经通过小型的、专门的可下载程序(被通俗地称为应用程序,app)的可用性而得到增强。这些程序中的许多包括可以通过相机与“实时(live)视图”结合的计算机生成的视觉效果,从而向用户提供一定程度的增强现实以用于改善图像或者娱乐。然而,由于在大多数手持装置中可用的处理能力有限,以及缺乏配置有内置框架的功能代码库,将视频片段(video footage,录像)合并到相机的实时视图中已经被证明是很困难的。
申请人的已公开的英国专利申请GB 2 508 070描述了用于在手持装置上生成有效的增强现实体验的技术示例。
本发明的实施方案旨在提供用于在相机装置上捕获被摄体(subject,主体)的图像、从背景中提取图像并且共享所提取的图像的设备和方法。
本发明的实施方案还旨在提供用于共享将在增强现实显示器中使用的图像的系统和方法。
在现在应参考的随附的独立权利要求中限定了本发明。此外,优选特征可以在随附的从属权利要求中找到。
根据本发明的一个方面,提供了一种提供增强现实图像的方法,所述方法包括使用记录设备记录基本图像,所述基本图像包括被摄体和第一背景,从基本图像提取被摄体图像,以及将提取的被摄体图像提供给显示装置以用于与第二背景组合。
第二背景可以包括以下中的任一项但不限于:桌面背景,例如,装置的显示屏幕;由应用程序提供的背景或者由相机捕获的背景。该背景可以通过待要在其上观看被摄体图像的装置的相机被捕获。
优选地,将提取的被摄体图像提供给显示装置,用于与通过显示装置的相机被成像的第二背景进行组合。
在一个实施方案中,记录装置和显示装置是常用装置的一部分,该常用装置可以是手持装置。替代地或者另外地,记录装置和显示装置可以是分立的,并且可以远程地定位。记录装置和显示装置可以各自是分立装置的一部分,记录装置和显示装置可以是手持装置,并且记录装置和显示装置可以包括但不限于移动电话和平板计算机。
记录装置和显示装置可以包括不同类型的装置。
在优选的布置中,第一背景和第二背景在时间和/或空间上是分立的。第一背景可以包括与被摄体图像同时出现的图像,并且第二背景可以包括与被摄体图像不同时出现的图像。
在优选的布置中,相对于记录装置在本地并且优选地在装置内执行从基本图像提取被摄体的步骤。替代地,可以相对于记录装置远程地执行从基本图像提取被摄体图像的步骤。
从基本图像提取被摄体图像的步骤可以相对于记录基本图像实时地执行,或者可以在记录基本图像之后执行。
优选地,该方法包括将提取的被摄体图像从一个装置发送到另一个装置。优选地,该图像是运动图像,并且更优选地,该图像是运动的、真实世界图像。
提取的被摄体图像可以包括用户的头部和/或脸部,所述用户诸如是图像的发送者。更优选地,该图像是运动图像并且可以包括、被附加到或者被关联到音频文件,所述音频文件诸如是运动图像的声音记录或者属于运动图像。
图像可以包括一个或者多个图形元素,例如增强现实图像组成部分。增强现实图像组成部分可以被锚定到提取的被摄体图像,以给出是提取的被摄体图像的真实元素或者原始元素的外观(appearance)。
在优选的布置中,该方法包括通过网络将提取的被摄体图像(优选为运动图像)发送给接收者,以在接收者装置中观看。可选地,声音记录可以与提取的被摄体图像一起发送。替代地或者另外地,该方法可以包括将提取的被摄体图像直接发送到接收者装置。
在优选的布置中,该方法包括:记录包括被摄体和第一背景的基本图像,从背景中提取被摄体作为被摄体图像,将被摄体图像发送到远程装置,以及在远程装置处将被摄体图像与第二背景组合。
该方法可以包括通过使用以下过程中的一个或者多个从基本图像提取被摄体:被摄体特征检测、被摄体颜色建模和被摄体形状检测。
根据本发明的另一方面,提供了用于提供增强现实图像的设备,所述设备包括:相机,该相机用于使用记录装置记录包括被摄体和第一背景的基本图像;图像处理器,该图像处理器用于从基本图像提取被摄体图像;以及显示装置,该显示装置用于将提取的被摄体图像与第二背景组合。
优选地,提取的被摄体图像被布置为在使用中与通过显示装置的相机被成像的第二背景组合。
在一个实施方案中,记录装置和显示装置是常用装置的一部分,该常用装置可以是手持装置。替代地或者另外地,记录装置和显示装置可以是分立的,并且可以远程地定位。记录装置和显示装置可以各自是分立装置的一部分,该记录装置和显示装置中的一个或者两个可以是手持装置。
在优选的布置中,第一背景和第二背景在时间和/或空间上是分立的。第一背景可以包括与被摄体图像同时出现的图像,并且第二背景可以包括与被摄体图像不同时出现的图像。
处理器可以被布置为在使用中相对于记录装置在本地——并且优选地在装置内——从基本图像中提取被摄体。替代地,处理器可以被布置为在使用中从记录装置远程地从基本图像提取被摄体图像。
处理器可以被布置为在使用中相对于基本图像的记录实时地从基本图像提取被摄体图像。替代地,处理器可以被布置为在使用中在记录基本图像之后执行提取。
被摄体图像可以包括先前已经存储的被摄体图像。
被摄体图像可以包括从运动视频获取的静止图像序列。
替代地或者另外地,被摄体图像可以包括连续的运动视频图像。
被摄体图像可以包括人或者生物的图像,或者可以是任何其他“真实世界”物体(object,对象)或者物品(item)的图像。
为了观看图像,可以在使用中布置场景(context)识别单元以识别被摄体图像的场景。这可以通过将视场中的至少一个物体与来自多个物体的存储数据进行比较来实现。图像检索单元可以被布置为根据由场景识别单元确定的场景信息从多个存储的图像中选择图像。定位单元可以被布置为在使用中将被摄体图像定位在背景中。这可以根据通过场景识别单元确定的场景信息来实现。
通过定位单元定位被摄体图像可以包括在显示器中调整被摄体图像的大小,并且可以包括优选地相对于通过场景识别单元确定的场景信息,将被摄体图像锚定在显示器中。
场景识别单元、和/或检索单元、和/或定位单元可以包括被布置为在使用中由一个或者多个电子处理装置执行的过程。
本发明还提供了一种用于使装置执行提供增强现实图像的方法的程序,所述方法包括:使用记录装置记录包括被摄体和第一背景的基本图像,从所述基本图像提取被摄体图像,以及将提取的被摄体图像提供给显示装置用于与第二背景组合。
所述程序可以包含在应用程序中。该应用程序还可以包含数据,诸如被摄体图像数据和/或背景图像数据。
本发明还提供了一种计算机程序产品,在该计算机程序产品上存储、承载或者通过该计算机程序产品传送用于使装置执行提供增强现实图像的方法的程序,所述方法包括:使用记录装置记录包括被摄体和第一背景的基本图像,从所述基本图像提取被摄体图像,以及将提取的被摄体图像提供给显示装置用于与第二背景组合。
根据另一方面,提供了一种消息收发系统,包括多个装置,其中至少第一发送用户装置被布置为在使用中向至少第二接收用户装置发送图像,该图像包括电子捕获的图像,以作为增强现实中的虚拟图像显示在第二用户装置的显示器上。
所述装置可以被布置为直接通信,和/或经由包括基于处理器的服务器的通信网络通信。
在优选的布置中,所述接收用户装置至少包括用于从通过该装置被捕获的至少一个真实图像中识别场景的场景识别单元,以及用于在显示器中定位虚拟图像的虚拟图像定位单元。
优选地,所述虚拟图像是先前已经存储的虚拟图像。
在优选的布置中,所述虚拟图像包括从运动视频获取的静止图像序列。
替代地或者另外地,所述虚拟图像可包括连续的运动视频图像。
所述虚拟图像可以包括人或者生物的图像,或者可以是任何其他“真实世界”物体或者物品的图像。
在优选的布置中,场景识别单元被布置为在使用中通过将视场中的至少一个物体与来自多个物体的存储数据进行比较来识别场景。优选地,图像检索单元被布置为根据通过场景识别单元确定的场景信息从多个存储的图像中选择图像。优选地,定位单元被布置为在使用中根据由场景识别单元确定的场景信息来定位虚拟图像。
通过定位单元对图像进行定位可以包括调整显示器中图像的大小,以及可以包括相对于由场景识别单元确定的场景信息,将图像锚定在显示器中。
场景识别单元、和/或虚拟图像检索单元、和/或虚拟图像定位单元可以包括被布置为在使用中由一个或者多个电子处理装置执行的处理。
虚拟图像可以包括根据本文的任何陈述的所提取的被摄体图像。
本发明还包括一种将图像从一个装置发送到另一装置的方法,其中至少第一发送用户装置将图像发送到至少第二接收用户装置,该图像包括电子捕获的图像,并且该图像作为增强现实中的虚拟图像显示在第二用户装置的显示器上。
所述图像可以经由包括基于处理器的服务器的通信网络发送。
所述图像可以是根据本文的任何陈述的图像。
除了如相互排斥的特征的组合之外,本发明可以包括本文所述的特征或者限制的任何组合。
现在将参考随附的示意性附图仅通过示例的方式描述本发明的优选实施方案,在附图中:
图1示出了根据本发明的实施方案叠加在真实图像的相机视图上的虚拟图像;
图2示意性地示出了根据本发明的实施方案的在场景识别过程中的第一步骤;
图3和图3a示意性地示出了场景识别过程中的替代的第一步骤,其中在相机实时视图中存在多个可视的物体;
图4示意性地示出了用于本发明的实施方案的动画技术;
图5示意性地示出了根据本发明的实施方案的定位过程;
图6示意性地示出了根据本发明的实施方案的用于虚拟图像的可选用户控制;
图7示出了用于图6的图像的锚定过程中的第一步骤;
图8示出了图7的锚定过程中的另一步骤;
图9示意性地示出了根据本发明的实施方案的替代的锚定过程;
图10示意性地示出了根据本发明的实施方案的用于虚拟图像的自动重新调整大小的过程;
图11示意性地示出了替代情景中的虚拟图像的自动重新调整大小的过程;
图12至图15示意性地示出了根据本发明的实施方案的用于拍摄包含真实图像和虚拟图像二者的照片的过程中的不同步骤;
图16示意性地示出了用于获取包含真实图像和虚拟图像二者的视频片段的过程;
图17是示出根据本发明的实施方案在相机的实时视图中显示虚拟图像的过程中的一些关键步骤的示意性流程图;
图18至图23示出了用于从背景中提取被摄体图像并且将提取的图像发送到远程装置的方法;
图19至图31示出了根据本发明的实施方案的消息收发(messaging)平台;
图32和图33示出了根据本发明的实施方案在接收装置的屏幕上显示的多个提取的被摄体图像;
图34示出了根据本发明的消息收发的另一实施方案,
图35示意性地示出了在从包括被摄体和背景的基本图像提取被摄体图像中使用的一部分过程。
下面描述的实施方案旨在向手持装置(诸如移动电话)的用户提供增强现实体验,该手持装置包括电子处理器、相机和显示器。具体地,从视频片段获取的图像与实时相机视图一起显示在手持装置的显示器中,以产生视频的被摄体(即虚拟运动图像)实时存在于相机视场中的错觉。
在这种情况下,术语“真实世界”图像是指使用电子照片捕获技术,例如视频记录,从现实诸如物理的、真实世界的情景中获取的图像。
为了实现这一点,装置必须进行各种处理,包括从相机视图获取场景信息,获得适当的虚拟图像,将虚拟图像定位在相机视图内,可选地相对于场景锚定虚拟图像,并且可选地调整虚拟图像在相机视图内的大小。
所述处理可以由手持装置的电子处理器执行。
重建虚拟运动图像所需的数据以及用于促进必要处理来操作该数据以提供增强现实体验的一个或者多个程序可以用专用程序或者软件应用程序(被广泛地称为应用程序)的形式下载到手持装置。优选地,可以更新该应用程序以向用户呈现新鲜的观看体验。
下面详细描述的第一示例是用作在旅游景点的向导的增强现实系统,其中人物的虚拟图像显示在真实世界相机视图内,从而经由相关联的音频文件提供关于景点的信息。
转向图1,该图示意性地示出了手持装置的相机10,在这种情况下瞄准可被该装置识别的知名物体12,以及由于与该物体12相关而被选择的扮演历史人物角色的演员的运动虚拟图像14。该装置基于唯一的一组矩阵点12a识别物体(在这个例子中是雕像),该组矩阵点在早期阶段已经存储在下载的应用程序中并且可以向该装置提供用于随后的选择、显示和操纵虚拟图像14所需的场景信息。
当下载了应用程序并且在确定场景之后选择适当的一个场景时,移动虚拟图像14被作为从视频文件获取的静止图像的序列存储在装置中,并且与适当的音频文件同步。
转向图2,该图示出了所选择的虚拟图像14,在装置的相机视图中,该虚拟图像显示在物体12旁边。
图3示意性地示出了其中装置检测到多个物体的情景。在这种情况下,检测到物体12,并且检测到两个另外的物体16和18。如图3a所示,装置显示所有三个物体以及在该三个物体上叠加的相应的虚拟按钮,使得用户可以通过触摸屏幕上的适当按钮来选择感兴趣的物体。
图4示意性地示出了用于虚拟图像的动画制作的一种方法。该方法使用很久前确立的技术,将运动图像裁剪成绿色屏幕背景(未示出)上的一系列静止帧20。然后装置播放静止图像序列,需要时自动移除绿色屏幕背景。由于以大于每秒6帧的速率替换单个图像,所以人眼将其理解为连续的运动图像。可选地,具有MP3格式的声迹与动画同步播放,以加强连续视频片段的错觉。在该示例中,动画人物是罗马士兵,其解说和动作与通过相机显示器观看的景点相关。
图5示意地示出了用于相对于物体12定位图像14的技术。在创建特定的应用程序期间,当首先研究特定情景时,创意总监将基于若干因素(艺术和实践二者)选择虚拟图像的最佳放置。一旦选择了最佳位置,系统使用三角学来计算图像相对于物体12在真实世界空间坐标x、y和z处的位置。一种替代方案是决定物体内的零点,并且使用距离零点的绝对x、y和/或z坐标来定位图像。
图6示意性地示出了用户可以如何相对于物体重新调整图像大小或者重新定位图像。可以在接触屏幕的同时使用手指和拇指的收缩和扩展技术(pinching and spreading technique)22来调整图像大小。可以使用拖放技术24移动图像,并且锚定系统(在下面进行描述)也可以通过双指双击技术26来启用或者停用。在播放模式中,还提供虚拟暂停按钮28,该虚拟暂停按钮在暂停模式中转换为虚拟播放按钮(未示出)。
为了保持人物实际上存在于景点旁边的错觉,有必要使人物—即图像14—的位置相对于物体12在空间上锚定。这是因为如果用户在通过相机观看物体和虚拟图像时移动,相对于相机屏幕固定的图像将很快无法保持对现实的错觉。
图7示意性地示出了根据本发明的一个实施方案的锚定系统。该系统使用预定义的算法来寻找在相机视图内引人注目或者具有确定形状的物体。一旦已经定位若干个物体,系统使用先进的三角技术来评估在相机视图中显示的情景并且向虚拟图像分配比例数据。然后该系统相对于图像的真实世界场景将图像锁定在x,y和z坐标中。
图8更详细地示意性地示出了根据本发明的上述实施方案的锚定系统。首先,标签30指示锚定系统已经被启用。然后,装置动态地检测在相机视图中最近的物体32。在这种情况下,所使用的方法是其中算法试图通过检测图案而不是使用预处理的矩阵点(按照图1的示例)来识别物体。这允许该算法寻找可以锚定表现物——即虚拟图像——的真实世界物体。例如,算法可以识别斯诺克桌台的四个边缘。这允许改进的锚定技术,这是由于创建了识别规则,该识别规则允许基于具体物体或者物体类型而应用更高或者更低的阈值。一种适合的先前考虑的算法被称为FAST(Features from Accelerated Segment Test,加速段试验特征)。
然后装置检测第二物体34,以提供深度信息。然后将图像锚定到第一物体,即,确定图像在x,y和z坐标中的位置相对于第一物体32的位置。然后,装置定期检查以确定物体图案——即物体32和34的图案——是否已经改变,如果持有装置的用户已经移动,则会发生这种改变。如果装置确定已经移动,则装置重新扫描视场,并且确定与物体32和34的初始图案最接近的匹配,以确保虚拟图像14的位置仍然正确。
上述方法允许用户在几乎任何位置处有效地并且不可见地将锚锁定至显示器内的已知物体。例如,如果没有特定物体作为参考,诸如旷野,则系统首先恢复到预加载的识别库,并且然后如果没有识别到视图,则使用数字罗盘和GPS参考来修复图像在真实空间中的定位。
在图9中示意性地描绘了通过锚定系统使用GPS和数字罗盘方位。该配置通过使用GPS坐标和罗盘方位来构建基本的真实世界地图。GPS坐标用于锁定已知的经度和纬度配置,而方位用于检测用户的360度圆周运动。如果系统检测到这样的移动,则影片返回到其原始锁定位置。动画使用提供平滑且快速返回的算法返回到基于移动的距离确认衰减(dampening)和返回速度的坐标。
图像相对于相机视图中的物体的外观尺寸对于维持现实错觉也是重要的。图10示出了一种自动调整大小操作,其中当正通过相机装置观看物体的用户更接近或者远离物体移动时,相对于物体12调整图像14。
当用户朝向或者远离物体12移动时,装置采用复杂的算法来平滑地调整图像的大小。可以采用相机透镜的自动聚焦功能来提供与距物体的距离变化有关的数据。如果装置不具有自动聚焦功能,则可以使用所存储的关于装置的原点的数据来计算到所识别的物体的距离。在可用的情况下,可以使用这两种技术来提供更精确的读数。
或者,用户可以使用早先描述的收缩技术22手动地调整图像14的大小。
如果系统检测到相对狭窄的位置,例如,诸如室内位置或者老式街道情景,则装置自动将图像大小调整为更大的尺寸以保持现实性。图11描绘了在这种情况下放大的图像14。
该系统还允许捕获具有真实视图和虚拟图像的静止或者视频图像。图12至图15示意性地示出了用于拍摄包括虚拟图像14的照片的过程。在图12中,真人36走进已经放置了人物的虚拟图像14的情景中。在图13中,拍摄并且存储照片,并且记录虚拟图像的坐标。在图14中,系统对图像14进行后期处理,并且自动检测立体图。然后重新保存合成图像。在图15中,用户被邀请经由访问若干公共媒体的虚拟按钮38共享存储的合成图像。短视频序列可以以类似的方式被记录和共享。
图16示意性地示出了根据上述实施方案的一过程的示例。
在步骤100,过程开始。在步骤102,从数据库读取物体识别规则。在步骤104,装置读取视图,并且在步骤106,装置检查可识别的图案。所述装置循环,直到检测到图案。一旦检测到图案,在步骤108从库中选择适当的运动图像。在步骤110,图像被定位并且开始播放。步骤112等待用户输入。退出114、重新调整大小116、锚定118或者重新定位120的选项是可用的。如果用户在步骤114选择退出应用程序,则应用程序在步骤122停止。否则,在步骤124视频图像继续播放。
图17示出了一个替代实施方案,其中根据用户位置将物体识别数据库40分成若干较小的数据库42、44、46、48。检查物体的三个或者更多个角度50,并且一旦检测到物体,则启用虚拟图像52。
上述示例描述了使用触摸控制,其可以不同于已描述的触摸控制。然而,在设备支持的情况下,可以采用非接触手势来控制装置。类似地,在设备支持的情况下,语音命令可以用于控制设备。
如本文所使用的,术语“场景”在大多数情况下可以被认为是相机视图。同样,术语“场景信息”在大多数情况下可以被视为“相机视图信息”。
场景信息可以从如通过装置的相机观看的“真实世界”图像得到,或者可以从二维图像(诸如打印页面、照片或者电子显示图像)得到。这允许使用上述技术来增强各种情形(诸如查看打印的出版物或者广告)下的用户体验。在一个实施方案(未示出)中,可以使虚拟图像看起来从这样的二维场景升起或者“突然出现”(“pop”up)。
可以采用图像处理技术来为虚拟图像创建虚拟阴影,以增强虚拟图像是真实图像的感觉。类似地,可以采用图像处理技术来平衡虚拟图像相对于通过装置观看的真实世界场景的明显亮度。
尽管上述示例具有二维观看体验,但是本文所描述的技术还可以在装置支持(诸如3D视频播放格式)的情况下应用于明显的三维观看体验。
在上面的描述中,术语“虚拟图像”旨在指代在用户观看由装置的相机捕获的真实图像或者当前图像时,显示在装置的显示器上的先前捕获或者单独获得的图像—优选地是运动图像。虚拟图像本身是来自不同现实的被有效地从其他现实中裁剪出并且移植到另一个现实中的真实图像,该另一个现实是观看者在其装置的显示器中看到的。
转到图18至图23,这些图示出了记录被摄体和背景的基本图像、从背景提取被摄体的图像并且将其发送到远程装置的方法。
该方法包括三个基本步骤,如图18所示:
1.拍摄视频剪辑(clip)。
2.选择并且发送。
3.出现在接收者的环境中。
更详细地(图19):
用户拍摄被摄体的视频序列。对视频序列监视达最佳持续时间。
本发明的高级形式可以允许更长的视频序列。
用户将决定保留或者删除视频序列。如果接受,该方法将向前推进。
编辑第一帧(图20):
一旦用户对视频序列满意,则呈现视频序列的第一帧。
第一帧将用于识别被摄体。
一旦被摄体已被识别,将通过系统逐帧地跟踪该被摄体。
用户通过以下任一方式选择被摄体:
整个图像将是灰度的,并且用户将使用手指通过替换缺失的颜色值来加亮物体。这种方法形成边界边缘。
或者
用户将选择围绕物体形成“晕圈(halo)”,以限定边界边缘。
为了直接的目的,将解释上述技术中的第一种技术。
选择物体(图21):
用户使用手指选择被摄体。
应用程序/方法将允许不同大小的区域选择器,并且允许用于微小精确度的缩放(zoom)特征。
应用程序/方法还将允许纯色(solid colour)覆盖,以显示用户已经错过的被摄体的任何区域。
一旦用户对所选择的被摄体感到满意,他们将随后把该物体传递到该方法的下一阶段。
实现背景(图22):
所选择的被摄体现在允许背景的逆识别。
将选择背景并且从被摄体中删除背景。
将用限定的纯色、或者阴影或者以其他与被摄体区分的方式填充背景。
应当注意的是,被摄体与背景之间的区别不必是简单的、二进制背景/被摄体标签。相反,每个像素可以用该像素属于被摄体的概率来标记,并且可以根据概率值进行确定。
跟踪物体(图23):
初始帧背景现在已经删除。
系统现在将分析每个帧:
1.跟随被摄体的运动。
2.删除背景信息。
3.用纯色或者其他对比指标替换背景。
一旦每个帧都已被渲染,它们可以被“拼接(stitch)”在一起成为视频序列,或者作为一组帧返回。
这可以在移动装置上完成,或者可以在外部计算系统上脱机完成,在外部计算系统中一旦准备好就将其返回到用户的装置。
用户将决定图像是否是他们需要的。如果他们希望保留,则将该图像与非现场集线器/数据库中的版本一起存储在装置上。
然后,可以将该渲染的图像发送到在他们的装置上安装了应用程序技术的任何其他用户。
存在可以从包括背景的基本图像提取被摄体图像的若干种方法。实际使用的方法可以包括以下方法中的一种或者它们的组合。
方法1.简单的背景。
在该方法中,用户/被摄体站在纯色墙的前面,在墙的前面有足够的空间以避免阴影。用户需要穿着在柔和照明下从背景中凸显出来的对比色的衣服。
然后基于图像边缘处(顶部/侧面)的颜色提取背景。
如果要在移动装置上播放转换的视频,则背景alpha可以被淡化,使得在背景/前景图像边界处没有锐利边缘。在这种情况下,alpha将不会被编码为简单的绿色屏幕,而是将在视频的每个帧中使用额外尺度的图像对alpha通道编码。
这种提取方法实施起来相对直接。然而,为了获得最好的结果将需要一些实验,并且可以用一些用户输入来指导完成的结果。例如,绘制待包括/排除的视频帧的期望部分的粗略轮廓将给出将被定义为背景的更大范围的颜色。
转换时间可以很快,实时或者接近实时。
方法2,背景静态。
背景减法是许多基于视觉的应用中的主要预处理步骤。OpenCV已经实现了三种这样的算法。基本思想是假设背景是静态的,并且识别图像中的变化。这些方法还将提取阴影作为前景,并且可能不检测大的纯色块作为前景。相机移动会是一个问题,因为这将作为新的前景出现在图像的边缘。用户可以限制相机移动,并且在移动装置中存在相机移动时可以使用视频稳定。
还可以将一些用户输入添加到背景检测,以识别已知的背景/前景的区。
该方法可以与方法1结合以给出比单独的方法1更好的结果,因为这将允许比空白墙更多变的背景。
此方法可能在视频拍摄后需要处理阶段。
方法3(与用户输入交互-使用OpenCV的示例)
使用GrabCut算法的交互式前景提取(OpenCV)
OpenCV具有产生非常好的结果的一种用于提取前景被摄体的算法,即GrabCut算法。GrabCut要求用户在感兴趣区域提供信息和/或给可能的前景/背景提供暗示。在第一遍,完成提取并且呈现结果。然后用户必须标记想要但已被移除的区域或者被移除但是想要的区域作为可能的前景/背景。
对于视频,用户限定的信息可以向前携带到下一帧。如果需要,可以更新感兴趣区域和可能的前景/背景。一种智能实现方式将尝试跟踪可能的前景/背景以使过程尽可能自动化。
对原始算法的改变将允许背景/前景alpha基于每次允许选择软边缘的概率。
这种方法可能不是实时的,并且可能在拍摄视频后需要处理阶段,但是可以实现高质量的结果。
后面将描述第四种方法,该方法基于特定类型的被摄体,例如面部。
实现方式
转向图24至图30,这些图示意性地示出了根据本发明的一个实施方案的聊天系统或者消息收发平台,其中移动电话是执行本发明的手持装置的示例。
首先,将手机倾斜到接近垂直,并且以磨砂(frosted)效果(图24)打开相机。
用户键入消息或者按下应用程序按钮以打开图像包。例如,图像可以是用户预先记录的图像,或者可以包括从商业网站下载的图像。
下一步(图25)是从集合中选择包。
然后,用户触摸所选择的图像,并且在屏幕上启用该图像(图26)。然后再次点击该图像以发送。
图27示出了下一个阶段。接收者在其屏幕上看到发送的图像。他们可以点击以获取/查看包。
用户能够创建他/她自己的个性化图像(图28)。例如,用户能够炫耀新衣服,邀请某人参加聚会或者仅仅显示一系列的情感。
可以做出视频剪辑(图29),然后可以如上所述地选择和发送该视频剪辑,使其出现在接收者的环境中(图30)。
图31示意性地示出了步骤的顺序。在步骤A,将人(在这个例子中是儿童)记录为运动图像。然后在将所选图像发送给可以在世界上任何地方的接收者之前分离出图像的背景并且将该背景丢弃。图像B描绘了在远程位置的真实情景。在这种情况下,该情景是孩子的聚会。在接收到女孩的运动图像之后,然后接收者可以播放被叠加到在接收者的屏幕上显示的相机视图上的所接收到的图像,如C处所示。然后可以制作虚拟相遇的视频,由此在远程位置的人可以看起来出现存在于接收者的世界中,虚拟图像看起来锚定在接收者的环境中,以便产生图像中描绘的被摄体实际存在于接收者的空间中的错觉。
转到图32,该图示出了显示器110上由接收者接收的各种图像100。上述方法和设备允许在文本消息交换与视频呼叫之间的某些操作。消息发送者使用智能电话中的前置相机或者后置相机来捕获他们交谈的短视频,并且应用程序软件在发送待要出现在接收者的屏幕110上的视频剪辑之前剪裁出发送者的头部100。剪裁出的头部可以方便地作为消息收发屏幕的一部分出现在接收者的桌面上。或者,也具有该应用程序的接收者可以打开他们电话的后置相机,使得头部看起来在其环境112中浮动,如同它在进行短的表演。该过程被反过来进行以作出回应。
图33示意性地示出了该过程。在A处,发送人使用应用程序来记录自己的头部的运动图像—即视频—通过应用程序将该运动图像与背景分离。在优选的布置中,背景可以被自动丢弃。然而,作为替代或者附加的特征,进行记录的人可以代替地手动地移除背景。然后将图像发送给B处的接收者,该接收者在他们的桌面上或者在智能手机/平板计算机的相机视图中看到头部与他们对话(如果他们如此选择的话)。
根据该实施方案的这种消息不同于文本消息,因为:
-它使用起来比点击字符键更快,
-它传达情感,因为可以看到面部表情以及听到声音的语调,而不仅仅是屏幕上的文字,
-它能够既有趣又个性化,
-如果发送人授予权限,用户可以拍摄/存储头部的照片。
该消息与视频通话不同,因为:
-它使用非常少量的移动用户的数据额度。
-它传递谨慎、独特的“声音节选(sound-bites)”的消息,
-在示出的示例中,它具有添加增强现实图像的选项,该增强现实图像被锁定到头部,诸如在114处示出的那些,包括在示出的示例中的喇叭、帽子和星星。
-它可以很容易地保存用于将来参考。
通过如上所述的本发明的实施方案,发送者可以将图像(包括移动图像或者视频图像)发送到接收者,以在通过接收者的装置的显示器观看时作为虚拟图像出现在接收者的环境中,对照由接收者的装置的相机成像的接收者的背景。可以相对于正在观看的背景锁定或者锚定该图像,以给出现实的外观。
图像可以包括由发送者创建的并且作为被摄体从发送者的背景中提取的、待要对照着接收者的背景观看的图像。此外,可以通过便利的消息网络将图像从用户发送到用户。
应当注意的是,利用上述方法,发送者能够发送他自己的图像而不向接收者透露他的背景/所在之处。
可以在没有背景的情况下发送前景图像或者被摄体图像,而不仅仅是使背景不可见(例如,alpha值为零)但仍然保留图像的一部分。
此外,上述示例使得接收者通过接收者的装置的相机视图查看接收到的图像,但不一定是这种情况。例如,作为替代,接收者可以观看在他的桌面上或者在他装置上的应用程序皮肤上方浮动的图像。取决于在观看时用户的位置,这对于用户来说可能更方便。
在待发送的图像包括例如只是发送者的头部的情况下,这表示相对少量的数据,并且因此本发明可以提供发送视频图像的系统化方法而不需要通常的记录视频剪辑、保存、编辑然后将其发送到接收者的步骤。
图34示出了消息处理中的一系列步骤(从左到右),其中可以将上述选项的组合带入用户体验。根据已知的呈现方式,手持装置200用于在通信方A与通信方B之间以对话框形式传递消息。然而,通信方A也可选择将她自己的面部的移动图像210以传递消息的方式发送给通信方B。
在该示例中,对话谈到了一位音乐艺术家的表演的话题。通信方A和通信方B中的一个可以选择向对方发送该艺术家的头部的图像220,然后该图像220出现在桌面上。运动图像还可以说出简短的介绍性消息。这可以通过由通信方在其相应设备上运行的消息收发应用程序来获得。如果用手指230点击头部220,则表演者的更完整的图像240出现在桌面上看到的图形特征的顶部,以传递歌曲或者其他表演。
如果手指230再次点击完整图像240,则打开装置的相机(未示出),使得表演者的完整图像250与用户的环境的背景图像260集成一体,按比例并且锚定到背景图像内的位置,使得如果相机向左/向右移动或者向内/向外移动,所述完整图像相对于背景保持静止,以给出现实的错觉。
因此,利用上述本发明的各种方面和/或实施方案,用户可以在所选择的运动图像、较完整的图像的剪裁部分(诸如头部)和完整的增强现实体验之间切换。此外,该措施可以在消息收发系统中用于两个或者更多个通信方之间。
上述技术可以用在其他平台(诸如不需要网络的直接消息收发平台或者对等消息收发平台)中。该技术还可以用于商业,诸如商务会议中,以及用于纯粹的社交互动。
上述实施方案还可以用作视频语音邮件系统的一部分。
此外,尽管在上述示例中用户使用手持装置(诸如移动电话和/或平板计算机)进行通信,但是对于消息收发系统中的发送者和接收者二者,或者对于两个/所有的通信方而言,所使用的装置不必是相同类型的。所使用的装置的类型可以是具有显示器或者可以连接到显示器的多种类型中的任意一种。游戏控制台或者其他游戏装置是可以与本发明的一个或者多个方面一起使用的设备的示例。
从包括不想要的背景的图像提取被摄体的过程有时被称为“分割(segmentation)”。以下描述是用于当被摄体属于已知类别的物体时执行分割的技术。
方法4:面部分割
当源视频包括从已知物体类别获取的物体时,则可以采用用于分割的特定物体方法。在下面的示例中,将分割人脸,其中视频是用前置相机捕获的口语片段(即,“视频自拍照(selfie)”)。对于可以构建特定类别的特征检测器的任何物体类别,可以采用同样的方法。
专用于面部的流水线包括多个处理步骤。在图35中的流程图中以300总体示出这些步骤之间的关系。为了提高处理的计算效率,这些步骤中的一些不需要应用于输入视频序列IS的每个帧F(而是应用于每第n帧)。每个步骤的详细描述如下:
在处理310中,执行面部特征检测。可以使用经训练以定位面部特征的特征检测器来定位面部及其内部特征的大致位置。哈尔式(Haar-like)特征是用于物体识别的数字图像特征。例如,哈尔式特征的级联可以用于计算围绕面部的边界框。然后,在面部区域内,可以使用相同的策略来定位特征,诸如眼中心、鼻尖和嘴中心。
在处理320中,执行皮肤颜色建模。使用参数模型表示正被分析的面部的可能的皮肤颜色的范围。为了考虑由于姿态和照明变化而改变的外观,每第n帧更新参数。在最简单的实现中,参数可以仅是在相对于面部特征固定的位置处获得的颜色值以及阈值参数。在采样颜色的阈值距离内观察到的颜色被认为是像皮肤的颜色。
更复杂的方法是将统计模型拟合到皮肤像素的样本。例如,使用面部特征位置,选择可能在面部内的一组像素。在移除异常值之后,通过计算样本的平均值和偏差来拟合正态分布。然后可以评估落入皮肤颜色分布中的任何颜色的概率。
为了减少由照明效果引起的颜色变化的影响,可以在诸如HSV或者LCrCb的颜色空间中构建模型。使用H通道或者Cr通道和Cb通道,模型捕获皮肤的底层颜色,而不是其亮度。在处理330中,确定形状特征。皮肤颜色模型提供逐像素分类。单独地,这些提供了可能包括面部中的背景区或者缺失区的噪声分割。有许多可以与皮肤颜色分类结合使用的形状特征。在最简单的实现方式中,根据面部特征位置来变换面部模板诸如椭圆,并且仅考虑模板内的像素。稍微更复杂的方法使用到特征的距离作为面部可能性的度量,其中较大距离不太可能是面部的一部分(并且因此需要更信任颜色分类)。
更复杂的方法还考虑图像内的边缘特征。例如,可以将活动形状模型拟合到图像内的特征位置和边缘特征。替代地,可以为图像计算超像素。超像素边界自然地与图像中的边缘对齐。因此,通过对每个超像素而不是对每个像素执行分类,我们将边缘信息合并到分类中。此外,由于皮肤颜色和形状分类器可以聚集在超像素内,从而提高了鲁棒性。
在处理340中,进行分割。最后,计算输出分割掩码OM。该分割掩码用二进制面部/背景标签或者该像素属于面部的alpha掩码编码置信度对每个像素进行标记。这种标记将皮肤颜色分类的结果和形状特征相组合。在使用超像素的实现方式中,对每个超像素进行标记。这通过对超像素内的每个像素标签求和并且测试总和是否高于阈值来完成。
虽然在前述说明书中关注的是那些被认为对本发明特别重要的特征,但是应当理解,无论是否已经进行了特别强调,申请人要求保护关于本文所提及的和/或在附图中示出的任何可授予专利权的特征或者特征的组合。