虚拟物体自适应调整方法、装置、计算机设备和存储介质与流程

文档序号:20152743发布日期:2020-03-24 20:15阅读:133来源:国知局
虚拟物体自适应调整方法、装置、计算机设备和存储介质与流程

本公开涉及图像处理技术领域,尤其涉及一种虚拟物体自适应调整方法、装置、计算机设备和存储介质。



背景技术:

近年来,随着ar技术发展,很多场景都需要在实拍图像中添加虚拟物体,例如,在人脸上添加虚拟饰品,其实现方法一般是利用人脸识别算法得到人脸的缩放信息,将虚拟饰品按照同样的尺寸渲染到实拍图像上。但是,这种方法会导致出现虚拟饰品和真实人脸不贴合的情况,特别是虚拟饰品距离人脸中心较远的情况下,由于人脸过胖或者过长会造成虚拟饰品过于靠近人脸中心或远离人脸中心,使得效果不真实匹配,虚拟物体和实拍图像不贴合。

因此,相关技术中存在着ar场景中,虚拟物体和实拍图像不贴合的问题。



技术实现要素:

本公开提供一种虚拟物体自适应调整方法、装置、计算机设备和存储介质,以至少解决相关技术中ar场景中,虚拟物体和实拍图像不贴合的问题。

本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种虚拟物体自适应调整方法,包括:

对包含目标对象的视频帧进行识别,得到目标对象的关键点信息、缩放信息和轮廓信息;

根据所述轮廓信息生成虚拟物体;

获取与所述目标对象对应的标准对象的关键点信息;

根据所述虚拟物体、所述目标对象的关键点信息、所述标准对象的关键点信息,得到用于自适应调整的目标倍率;

根据所述目标倍率和所述缩放信息,调整所述虚拟物体在所述目标对象上的位置和大小。

根据本公开实施例的第二方面,提供一种虚拟物体自适应调整装置,包括:

识别模块,用于对包含目标对象的视频帧进行识别,得到目标对象的关键点信息、缩放信息和轮廓信息;

生成模块,用于根据所述轮廓信息生成虚拟物体;

关键点获取模块,用于获取与所述目标对象对应的标准对象的关键点信息;

倍率获取模块,用于根据所述虚拟物体、所述目标对象的关键点信息、所述标准对象的关键点信息,得到用于自适应调整的目标倍率;

调整模块,用于根据所述目标倍率和所述缩放信息,调整所述虚拟物体在所述目标对象上的位置和大小。

根据本公开实施例的第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现第一方面所述方法的步骤。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现第一方面所述的方法的步骤。

本公开的实施例提供的技术方案至少带来以下有益效果:

对包含目标对象的视频帧进行识别,得到目标对象的关键点信息、缩放信息和轮廓信息,根据轮廓信息生成虚拟物体,获取与目标对象对应的标准对象的关键点信息,根据虚拟物体、目标对象的关键点信息、标准对象的关键点信息,得到用于自适应调整的目标倍率,根据目标倍率和缩放信息,调整虚拟物体在目标对象上的位置和大小。利用上述方法可以根据目标倍率和缩放信息,调整虚拟物体在目标对象上的位置和大小,使得虚拟物体和实拍图像贴合。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种虚拟物体自适应调整方法的的应用环境图。

图2是根据一示例性实施例示出的一种虚拟物体自适应调整方法的流程图。

图3是根据一示例性实施例中的步骤s24的细化步骤的流程图。

图4是根据一示例性实施例中的步骤s243的细化步骤的流程图。

图5是根据一示例性实施例示出的一种虚拟物体自适应调整方法的流程图。

图6是根据一示例性实施例示出的一种虚拟物体自适应调整装置的框图。

图7为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本公开提供的虚拟物体自适应调整方法,可以应用于如图1所示的应用环境中。其中,虚拟物体自适应调整装置包括图像采集装置11与计算机设备12相连接。其中,图像采集装置11与计算机设备12可以设置为一体式终端,该一体式终端可以包含但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑。该图像采集装置11与计算机设备12还可以是分别独立设置的图像采集装置11(例如相机)与服务器,该图像采集装置11通过网络与服务器通信连接,该服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

可选地,图像采集装置11获取图像或视频(即包含目标对象的视频帧),该视频帧可以为图像采集装置11从网络或者其他图像采集装置11获取到的图像,或者为图像采集装置11从视频画面中截取的图像等。其中,图像采集装置11在获取到包含目标对象的视频帧后,将包含目标对象的视频帧发送至计算机设备12。可选地,该计算机设备12包含至少一个处理器121和存储器122。可选地,该处理器121可以为cpu(centralprocessingunit,中央处理器),gpu(graphicsprocessingunit,图形处理器)等等,该处理器121可以为多核处理器,例如多核gpu。

其中,该计算机设备12内的存储器122内存储有虚拟物体自适应调整算法,处理器121可以调用并运行存储器122内的虚拟物体自适应调整算法,对包含目标对象的视频帧进行识别,得到目标对象的关键点信息、缩放信息和轮廓信息,根据轮廓信息生成虚拟物体,获取与目标对象对应的标准对象的关键点信息,根据虚拟物体、目标对象的关键点信息、标准对象的关键点信息,得到用于自适应调整的目标倍率,根据目标倍率和缩放信息,调整虚拟物体在目标对象上的位置和大小。

图2是根据一示例性实施例示出的一种虚拟物体自适应调整方法的流程图,如图2所示,一种虚拟物体自适应调整方法用于图1,包括以下步骤:

在步骤s21中,对包含目标对象的视频帧进行识别,得到目标对象的关键点信息、缩放信息和轮廓信息。

其中,目标对象可以是人、动物等具有行动能力的对象,也可以是桌子、柜子等静物。

其中,关键点信息是包含目标对象的关键点位置等信息的集合,假设目标对象是人脸,则关键点信息可以包括眼睛、眉毛、鼻子、嘴巴、脸颊、脸部中心点等等。

其中,缩放信息是根据视频帧中的像素信息确定的缩放倍率的信息。

其中,轮廓信息指构成目标对象的外缘的线条特征。

在本公开实施例中,对包含目标对象的视频帧进行识别,得到目标对象的关键点信息、缩放信息和轮廓信息属于现有技术,此处不在加以赘述。

在步骤s22中,根据所述轮廓信息生成虚拟物体。

其中,虚拟物体可以是二维平面物体或三维立体物体。

在本公开实施例中,按照轮廓信息绘制虚拟物体。

在步骤s23中,获取与所述目标对象对应的标准对象的关键点信息。

在本公开实施例中,预先存储了若干标准对象,该标准对象是预先设置并存储的起到比较作用的对象。标准对象中包括人、动物、桌子、柜子等等,每个标准对象也有各自的关键点信息。假设目标对象是人,则标准对象也会是人,假设目标对象是桌子,则标准对象也会是桌子。

在步骤s24中,根据所述虚拟物体、所述目标对象的关键点信息、所述标准对象的关键点信息,得到用于自适应调整的目标倍率。

其中,目标倍率表示对在目标对象上的虚拟物体进行大小和位置调整的一个参数。

在步骤s25中,根据所述目标倍率和所述缩放信息,调整所述虚拟物体在所述目标对象上的位置和大小。

上述虚拟物体自适应调整方法,对包含目标对象的视频帧进行识别,得到目标对象的关键点信息、缩放信息和轮廓信息,根据轮廓信息生成虚拟物体,获取与目标对象对应的标准对象的关键点信息,根据虚拟物体、目标对象的关键点信息、标准对象的关键点信息,得到用于自适应调整的目标倍率,根据目标倍率和缩放信息,调整虚拟物体在目标对象上的位置和大小。利用上述方法可以根据目标倍率和缩放信息,调整虚拟物体在目标对象上的位置和大小,使得虚拟物体和实拍图像贴合。

请参阅图3,为步骤s24的细化步骤的流程示意图,步骤s24根据所述虚拟物体、所述目标对象的关键点信息、所述标准对象的关键点信息,得到用于自适应调整的目标倍率,具体包括:

在步骤s241中,从所述目标对象的关键点信息中,获取与所述虚拟物体距离最近的第一关键点。

在本公开实施例中,假设目标对象是人脸,虚拟物体为左耳耳环。目标对象的关键点信息中可以包括眼睛、眉毛、鼻子、嘴巴、脸颊、脸部中心点等等关键点。获取与左耳耳环距离最近的第一关键点(脸颊关键点)。

在步骤s242中,从所述标准对象的关键点信息中,获取与所述第一关键点对应的第二关键点。

在本公开实施例中,根据步骤s241获取到第一关键点为脸颊关键点,则标准对象的关键点信息中,与第一关键点(脸颊关键点)对应的关键点也是脸颊关键点,将标准对象的关键点信息中的脸颊关键点称之为第二关键点。

在步骤s243中,根据所述第一关键点、所述目标对象的关键点信息中的第一中心点、所述第二关键点、所述标准对象的关键点信息中的第二中心点,得到所述目标倍率。

在本公开实施例中,第一中心点是位于目标对象的中心位置的点,第二中心点是位于标准对象的中心位置的点。

上述虚拟物体自适应调整方法,对包含目标对象的视频帧进行识别,得到目标对象的关键点信息、缩放信息和轮廓信息,根据轮廓信息生成虚拟物体,获取与目标对象对应的标准对象的关键点信息,从目标对象的关键点信息中,获取与虚拟物体距离最近的第一关键点,从标准对象的关键点信息中,获取与第一关键点对应的第二关键点,根据第一关键点、目标对象的关键点信息中的第一中心点、第二关键点、标准对象的关键点信息中的第二中心点,得到目标倍率,根据目标倍率和缩放信息,调整虚拟物体在目标对象上的位置和大小。利用上述方法可以根据目标倍率和缩放信息,调整虚拟物体在目标对象上的位置和大小,使得虚拟物体和实拍图像贴合。

请参阅图4,为步骤s243的细化步骤的流程示意图,步骤s243根据所述第一关键点、所述目标对象的关键点信息中的第一中心点、所述第二关键点、所述标准对象的关键点信息中的第二中心点,得到所述目标倍率,具体包括:

在步骤s2431中,计算所述第一关键点和所述第一中心点之间的第一距离。

在步骤s2432中,计算所述第二关键点和所述第二中心点之间的第二距离。

在本公开实施例中,计算两个点之间的距离属于现有技术,此处不再加以赘述。

在步骤s2433中,根据所述第一距离和所述第二距离,得到所述目标倍率。

在本公开实施例中,将第一距离d1与第二距离d2的比值,作为目标倍率s。

图5是根据一示例性实施例示出的一种虚拟物体自适应调整方法的流程图,如图5所示,一种虚拟物体自适应调整方法用于图1,包括以下步骤:

在步骤s51中,对包含目标对象的视频帧进行识别,得到目标对象的关键点信息、缩放信息和轮廓信息。

在步骤s52中,根据所述轮廓信息生成虚拟物体。

在步骤s53中,获取与所述目标对象对应的标准对象的关键点信息。

在步骤s54中,根据所述虚拟物体、所述目标对象的关键点信息、所述标准对象的关键点信息,得到用于自适应调整的目标倍率。

在本公开实施例中的步骤s51~步骤s54描述的内容和上述实施例中的步骤s21~步骤s24描述的内容一致,此处不在加以赘述。

在步骤s55中,将所述虚拟物体与所述目标对象的关键点信息中的第一中心点之间的第三距离,扩大所述目标倍率。

在步骤s56中,将所述虚拟物体的大小缩放为所述缩放信息的目标倍率。

在本公开实施例中,假设目标对象是人脸,虚拟物体为左耳耳环,第一关键点为脸颊关键点,缩放信息为倍率s0,得到第一关键点和第一中心点之间的第一距离d1,第二关键点和第二中心点之间的第二距离d2,目标倍率s=d1/d2。计算虚拟物体(左耳耳环)和第一中心点之间的第三距离d3,将第三距离d3扩大s倍,将虚拟物体的大小缩放为s0的s倍。

上述虚拟物体自适应调整方法,对包含目标对象的视频帧进行识别,得到目标对象的关键点信息、缩放信息和轮廓信息,根据轮廓信息生成虚拟物体,获取与目标对象对应的标准对象的关键点信息,根据虚拟物体、目标对象的关键点信息、标准对象的关键点信息,得到用于自适应调整的目标倍率,将虚拟物体与目标对象的关键点信息中的第一中心点之间的第三距离,扩大目标倍率,将虚拟物体的大小缩放为缩放信息的目标倍率。利用上述方法可以根据目标倍率和缩放信息,调整虚拟物体在目标对象上的位置和大小,使得虚拟物体和实拍图像贴合。

在一示例性实施例示中,所述对包含目标对象的视频帧进行识别,之前还包括:

根据时域平滑算法,对所述视频帧进行平滑处理。

在本公开实施例中,对于视频等有连续帧图像需要处理的场景,可以对视频帧进行平滑处理(比如滑动平均滤波),从而改善抖动。之后再去对包含目标对象的视频帧进行识别,从而可以更加准确地得到关键点信息、缩放信息和轮廓信息等等,对虚拟物体进行更准确的自适应调整。

图6是根据一示例性实施例示出的一种虚拟物体自适应调整装置的框图。参照图6,该虚拟物体自适应调整装置包括识别模块61、生成模块62、关键点获取模块63、倍率获取模块64和调整模块65,其中:

识别模块61,用于对包含目标对象的视频帧进行识别,得到目标对象的关键点信息、缩放信息和轮廓信息;

生成模块62,用于根据所述轮廓信息生成虚拟物体;

关键点获取模块63,用于获取与所述目标对象对应的标准对象的关键点信息;

倍率获取模块64,用于根据所述虚拟物体、所述目标对象的关键点信息、所述标准对象的关键点信息,得到用于自适应调整的目标倍率;

调整模块65,用于根据所述目标倍率和所述缩放信息,调整所述虚拟物体在所述目标对象上的位置和大小。

在一示例性实施例中,该倍率获取模块64被配置为执行从所述目标对象的关键点信息中,获取与所述虚拟物体距离最近的第一关键点;从所述标准对象的关键点信息中,获取与所述第一关键点对应的第二关键点;根据所述第一关键点、所述目标对象的关键点信息中的第一中心点、所述第二关键点、所述标准对象的关键点信息中的第二中心点,得到所述目标倍率。

在一示例性实施例中,该倍率获取模块64被配置为执行计算所述第一关键点和所述第一中心点之间的第一距离;计算所述第二关键点和所述第二中心点之间的第二距离;根据所述第一距离和所述第二距离,得到所述目标倍率。

在一示例性实施例中,该倍率获取模块64被配置为执行将所述第一距离与所述第二距离的比值,作为所述目标倍率。

在一示例性实施例中,该调整模块65被配置为执行将所述虚拟物体与所述目标对象的关键点信息中的第一中心点之间的第三距离,扩大所述目标倍率;将所述虚拟物体的大小缩放为所述缩放信息的目标倍率。

在一示例性实施例中,虚拟物体自适应调整装置还包括平滑处理模块,该平滑处理模块被配置为执行根据时域平滑算法,对所述视频帧进行平滑处理。

关于虚拟物体自适应调整装置的具体限定可以参见上文中对于虚拟物体自适应调整方法的限定,在此不再赘述。上述虚拟物体自适应调整装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种虚拟物体自适应调整方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

对包含目标对象的视频帧进行识别,得到目标对象的关键点信息、缩放信息和轮廓信息;

根据所述轮廓信息生成虚拟物体;

获取与所述目标对象对应的标准对象的关键点信息;

根据所述虚拟物体、所述目标对象的关键点信息、所述标准对象的关键点信息,得到用于自适应调整的目标倍率;

根据所述目标倍率和所述缩放信息,调整所述虚拟物体在所述目标对象上的位置和大小。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

从所述目标对象的关键点信息中,获取与所述虚拟物体距离最近的第一关键点;

从所述标准对象的关键点信息中,获取与所述第一关键点对应的第二关键点;

根据所述第一关键点、所述目标对象的关键点信息中的第一中心点、所述第二关键点、所述标准对象的关键点信息中的第二中心点,得到所述目标倍率。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

计算所述第一关键点和所述第一中心点之间的第一距离;

计算所述第二关键点和所述第二中心点之间的第二距离;

根据所述第一距离和所述第二距离,得到所述目标倍率。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

将所述第一距离与所述第二距离的比值,作为所述目标倍率。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

将所述虚拟物体与所述目标对象的关键点信息中的第一中心点之间的第三距离,扩大所述目标倍率;

将所述虚拟物体的大小缩放为所述缩放信息的目标倍率。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

根据时域平滑算法,对所述视频帧进行平滑处理。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

对包含目标对象的视频帧进行识别,得到目标对象的关键点信息、缩放信息和轮廓信息;

根据所述轮廓信息生成虚拟物体;

获取与所述目标对象对应的标准对象的关键点信息;

根据所述虚拟物体、所述目标对象的关键点信息、所述标准对象的关键点信息,得到用于自适应调整的目标倍率;

根据所述目标倍率和所述缩放信息,调整所述虚拟物体在所述目标对象上的位置和大小。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

从所述目标对象的关键点信息中,获取与所述虚拟物体距离最近的第一关键点;

从所述标准对象的关键点信息中,获取与所述第一关键点对应的第二关键点;

根据所述第一关键点、所述目标对象的关键点信息中的第一中心点、所述第二关键点、所述标准对象的关键点信息中的第二中心点,得到所述目标倍率。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

计算所述第一关键点和所述第一中心点之间的第一距离;

计算所述第二关键点和所述第二中心点之间的第二距离;

根据所述第一距离和所述第二距离,得到所述目标倍率。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

将所述第一距离与所述第二距离的比值,作为所述目标倍率。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

将所述虚拟物体与所述目标对象的关键点信息中的第一中心点之间的第三距离,扩大所述目标倍率;

将所述虚拟物体的大小缩放为所述缩放信息的目标倍率。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

根据时域平滑算法,对所述视频帧进行平滑处理。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1