首页> 中国专利> 虚拟形象交互方法、虚拟形象交互装置、介质与电子设备

虚拟形象交互方法、虚拟形象交互装置、介质与电子设备

摘要

本公开提供一种虚拟形象交互方法、虚拟形象交互装置、计算机可读存储介质与电子设备,涉及计算机技术领域。所述虚拟形象交互方法包括:获取真实图像;从所述真实图像中提取人脸点云数据,并根据所述人脸点云数据确定人脸区域;从所述真实图像中提取手部点云数据,并根据所述手部点云数据确定手部区域;响应于所述人脸区域与所述手部区域发生碰撞,基于碰撞结果对所述真实图像对应的虚拟形象进行形变调整。本公开能够基于真实图像中人脸与手部的碰撞情况,对虚拟形象进行形变调整,提高用户与虚拟形象的交互感。

著录项

  • 公开/公告号CN115712339A

    专利类型发明专利

  • 公开/公告日2023-02-24

    原文格式PDF

  • 申请/专利权人 OPPO广东移动通信有限公司;

    申请/专利号CN202110956454.6

  • 发明设计人 冯悠扬;崔秀芬;凌霄;

    申请日2021-08-19

  • 分类号G06F3/01;G06T13/40;G06V40/70;

  • 代理机构深圳市联鼎知识产权代理有限公司;

  • 代理人刘抗美

  • 地址 523860 广东省东莞市长安镇乌沙海滨路18号

  • 入库时间 2023-06-19 18:35:48

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-02-24

    公开

    发明专利申请公布

说明书

技术领域

本公开涉及计算机技术领域,尤其涉及一种虚拟形象交互方法、虚拟形象交互装置、计算机可读存储介质与电子设备。

背景技术

随着互联网的发展,为了满足用户在多种应用场景的个性需求,很多终端或应用都为用户提供了定制化虚拟形象的服务,即用户可以根据自己的喜好或需求设置自己的虚拟形象,用于聊天、视频通话或制作短视频等场景中。

现有技术中,用户与虚拟形象的交互通常是基于用户与终端设备的交互实现的,例如用户通过按压终端设备显示界面中虚拟形象的脸部,使虚拟形象的脸部呈现按压形变的效果,或者用户通过推压虚拟形象的脸部边缘,使虚拟形象的脸部呈现瘦脸形变的效果等等。但是,现有技术中鲜少有能够根据用户脸部与手部的实际交互情况,自适应调整虚拟形象状态的方案,虚拟形象与用户关联性低,影响用户与虚拟形象的交互体验。

发明内容

本公开提供了一种虚拟形象交互方法、虚拟形象交互装置、计算机可读存储介质与电子设备,进而至少在一定程度上改善现有技术中虚拟形象难以根据用户的实际交互情况进行调整,用户交互体验不佳的问题。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

根据本公开的第一方面,提供一种虚拟形象交互方法,包括:获取真实图像;从所述真实图像中提取人脸点云数据,并根据所述人脸点云数据确定人脸区域;从所述真实图像中提取手部点云数据,并根据所述手部点云数据确定手部区域;响应于所述人脸区域与所述手部区域发生碰撞,基于碰撞结果对所述真实图像对应的虚拟形象进行形变调整。

根据本公开的第二方面,提供一种虚拟形象交互装置,包括:真实图像获取模块,用于获取真实图像;第一区域确定模块,用于从所述真实图像中提取人脸点云数据,并根据所述人脸点云数据确定人脸区域;第二区域确定模块,用于从所述真实图像中提取手部点云数据,并根据所述手部点云数据确定手部区域;虚拟形象调整模块,用于响应于所述人脸区域与所述手部区域发生碰撞,基于碰撞结果对所述真实图像对应的虚拟形象进行形变调整。

根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面的虚拟形象交互方法及其可能的实现方式。

根据本公开的第四方面,提供一种电子设备,包括:处理器;存储器,用于存储所述处理器的可执行指令。其中,所述处理器配置为经由执行所述可执行指令,来执行上述第一方面的虚拟形象交互方法及其可能的实现方式。

本公开的技术方案具有以下有益效果:

获取真实图像;从真实图像中提取人脸点云数据,并根据人脸点云数据确定人脸区域;从真实图像中提取手部点云数据,并根据手部点云数据确定手部区域;响应于人脸区域与手部区域发生碰撞,基于碰撞结果对真实图像对应的虚拟形象进行形变调整。一方面,本示例性实施例提供了一种新的虚拟形象交互方法,基于真实图像中用户脸部与手部的实际碰撞情况,对虚拟形象进行相应的形变调整,使得虚拟形象能够真实、准确的反映用户的实际状态,提高了用户与虚拟形象的关联性,增加了用户与虚拟形象的交互性,同时,具有较高的趣味性;另一方面,本示例性实施例通过真实图像建立人脸点云数据和手部点云数据,并依据人脸点云数据和手部点云数据生成的人脸区域和手部区域的碰撞结果对虚拟形象进行形变调整,其中,点云数据能够较为准确的反映人脸和手部的实际状态,进一步,保证了碰撞检测以及虚拟形象调整的准确性和有效性。

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

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出本示例性实施方式中一种系统架构的示意图;

图2示出本示例性实施方式中一种电子设备的结构图;

图3示出本示例性实施方式中一种虚拟形象交互方法的流程图;

图4示出本示例性实施方式中一种对虚拟形象进行调整的示意图;

图5示出本示例性实施方式中一种虚拟形象交互方法的子流程图;

图6示出本示例性实施方式中一种虚拟形象交互方法的另一子流程图;

图7示出本示例性实施方式中一种网络架构的示意图;

图8示出本示例性实施方式中一种虚拟形象交互方法的再一子流程图;

图9示出本示例性实施方式中另一种虚拟形象交互方法的流程图;

图10示出本示例性实施方式中一种虚拟形象交互装置的结构图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。

此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

鉴于上述一个或多个问题,本公开的示例性实施方式提供一种虚拟形象交互方法。图1示出了本示例性实施方式运行环境的系统架构图。如图1所示,该系统架构100可以包括用户终端110和服务端120,两者之间通过网络形成通信交互。其中,服务端110是指提供互联网服务的后台服务器;用户终端110可以包括但不限于智能手机、平板电脑、AR(Augmented Reality,增强现实)/VR(Virtual Reality虚拟现实)设备、游戏机、可穿戴设备等电子设备。

应当理解,图1中各装置的数量仅是示例性的。根据实现需要,可以设置任意数量的用户终端,或者服务端可以是多台服务器形成的集群。

本公开实施方式所提供的虚拟形象交互方法可以由用户终端110执行,例如在用户终端110获取真实图像后,直接根据该真实图像生成人脸点云数据以及手部点云数据,并基于人脸点云数据以及手部点云数据执行后续碰撞检测以及虚拟形象的形变调整;也可以由服务端120执行,例如在用户终端110获取真实图像后,上传至服务端120,由服务端120根据真实图像进行点云数据的提取、碰撞检测以及虚拟形象的形变调整过程,最后将形变调整结果返回至用户终端110;还可以根据实际需要结合用户终端110和服务端120共同执行处理过程,例如将人脸点云处理过程与手部点云处理过程分开执行等等,本公开对此不做具体限定。

本公开的示例性实施方式提供一种用于实现虚拟形象交互方法的电子设备,其可以是图1中的用户终端110和服务端120。该电子设备至少包括处理器和存储器,存储器用于存储处理器的可执行指令,处理器配置为经由执行可执行指令来执行虚拟形象交互方法。

下面以图2中的移动终端200为例,对上述电子设备的构造进行示例性说明。本领域技术人员应当理解,除了特别用于移动目的的部件之外,图2中的构造也能够应用于固定类型的设备。

如图2所示,移动终端200具体可以包括:处理器210、内部存储器221、外部存储器接口222、USB(Universal Serial Bus,通用串行总线)接口230、充电管理模块240、电源管理模块241、电池242、天线1、天线2、移动通信模块250、无线通信模块260、音频模块270、扬声器271、受话器272、麦克风273、耳机接口274、传感器模块280、显示屏幕290、摄像模组291、指示器292、马达293、按键294以及SIM(Subscriber Identification Module,用户标识模块)卡接口295等。

处理器210可以包括一个或多个处理单元,例如:处理器210可以包括AP(Application Processor,应用处理器)、调制解调处理器、GPU(Graphics ProcessingUnit,图形处理器)、ISP(Image Signal Processor,图像信号处理器)、控制器、编码器、解码器、DSP(Digital Signal Processor,数字信号处理器)、基带处理器和/或NPU(Neural-Network Processing Unit,神经网络处理器)等。编码器可以对图像或视频数据进行编码(即压缩);解码器可以对图像或视频的码流数据进行解码(即解压缩),以还原出图像或视频数据。

在一些实施方式中,处理器210可以包括一个或多个接口,通过不同的接口和移动终端200的其他部件形成连接。

内部存储器221可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器221可以包括易失性存储器、非易失性存储器等。处理器210通过运行存储在内部存储器221的指令和/或存储在设置于处理器中的存储器的指令,执行移动终端200的各种功能应用以及数据处理。

外部存储器接口222可以用于连接外部存储器,例如Micro SD卡,实现扩展移动终端200的存储能力。外部存储器通过外部存储器接口222与处理器210通信,实现数据存储功能,例如存储音乐,视频等文件。

USB接口230是符合USB标准规范的接口,可以用于连接充电器为移动终端200充电,也可以连接耳机或其他电子设备。

充电管理模块240用于从充电器接收充电输入。充电管理模块240为电池242充电的同时,还可以通过电源管理模块241为设备供电;电源管理模块241还可以监测电池的状态。

移动终端200的无线通信功能可以通过天线1、天线2、移动通信模块250、无线通信模块260、调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。移动通信模块250可以提供应用在移动终端200上的包括2G/3G/4G/5G等无线通信的解决方案。无线通信模块260可以提供应用在移动终端200上的包括WLAN(Wireless LocalArea Networks,无线局域网)(如Wi-Fi(Wireless Fidelity,无线保真)网络)、BT(Bluetooth,蓝牙)、GNSS(Global Navigation Satellite System,全球导航卫星系统)、FM(Frequency Modulation,调频)、NFC(Near Field Communication,近距离无线通信技术)、IR(Infrared,红外技术)等无线通信解决方案。

移动终端200可以通过GPU、显示屏幕290及AP等实现显示功能,显示用户界面。移动终端200可以通过ISP、摄像模组291、编码器、解码器、GPU、显示屏幕290及AP等实现拍摄功能,还可以通过音频模块270、扬声器271、受话器272、麦克风273、耳机接口274及AP等实现音频功能。

传感器模块280可以包括深度传感器2801、压力传感器2802、陀螺仪传感器2803、气压传感器2804等,以实现不同的感应检测功能。

指示器292可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。马达293可以产生振动提示,也可以用于触摸振动反馈等。按键294包括开机键,音量键等。

移动终端200可以支持一个或多个SIM卡接口295,用于连接SIM卡,以实现通话以及数据通信等功能。

图3示出了虚拟形象交互方法的示例性流程,可以由上述用户终端110或服务端120执行,包括以下步骤S310至S340:

步骤S310,获取真实图像。

其中,真实图像是指包含真实人物的脸部或肢体的图像,例如用户打开终端设备的前置或后置摄像头后,所采集的包含用户脸部或肢体的图像,或者用户历史采集的人像图像等。在本示例性实施例中,真实图像可以通过摄像头实时采集获取,也可以从历史相册中获取,还可以从云端下载得到等。另外,真实图像可以包括多张,例如实时采集用户的视频流数据,从视频流中选择多张图像作为真实图像以待处理,或者直接通过终端设备中配置的同一摄像头或不同摄像头在同一时刻拍摄多张真实图像等。不同的真实图像之间视角可以不同,例如可以以脸部作为主要拍摄对象,也可以以肢体作为主要拍摄对象等等,本公开对此不做具体限定。

步骤S320,从真实图像中提取人脸点云数据,并根据人脸点云数据确定人脸区域。

在本示例性实施例中,真实图像中可以包括人脸区域的图像、肢体区域的图像或者包括人脸区域和肢体区域的图像,其中,包括人脸区域和肢体区域的图像可以反映人脸和肢体之间的位置关系和动作信息,人脸区域的图像和肢体区域的图像的组合也可以反映人脸和肢体之间的位置关系和动作信息。基于真实图像中人脸区域的关键点或特征点可以生成脸部区域的人脸点云数据。该人脸点云数据是指基于人的眉毛、眼睛、鼻子、嘴巴以及脸部轮廓等脸部特征关键点所建立的三维特征点集合,通过人脸点云数据可以反映人脸的形状或姿态等信息,例如脸部的胖瘦、长短、颧骨高低等,以及嘴部开合或眼睛开合状态等等。

具体的,本示例性实施例可以通过多种方式从真实图像中提取人脸点云数据,例如可以先采用预训练的神经网络模型,或者特定的算法对真实图像进行处理,以提取其中人脸特征点,进一步的,通过确定人脸特征点的形状或姿态参数,来建立人脸点云数据。最后,通过人脸点云数据中不同位置点云的分布状态,确定对应的人脸区域,该人脸区域可以是不规则的图形区域,例如以最外层点云为基准连成的区域,也可以是规则的图形区域,例如包含全部点云的矩形区域等,另外,人脸区域可以是连通区域,例如全部点云构成的一个区域,也可以是非连通区域,例如人脸点云可以根据眼部、脸颊、嘴部等部位的点云,划分为多个非连通区域等等。本示例性实施例可以通过确定人脸包围盒来表征人脸区域,该人脸包围盒是指根据人脸点云数据中全部或部分的点云生成的人脸边界框,例如根据人脸点云数据中处于边界的点云生成人脸包围盒,本示例性实施例可以以该人脸包围盒表示人脸区域,来执行后续碰撞检测的过程。

步骤S330,从真实图像中提取手部点云数据,并根据手部点云数据确定手部区域。

其中,手部点云数据是指基于真实图像中手部区域的关键点或特征点,例如手关节、肘关节或者手与手臂的轮廓等手部区域的关键点所建立的三维特征点集合,通过手部点云数据,可以反映手部的形状或姿态等信息,例如手的大小、胖瘦等,以及手臂是否进行了弯折,手掌处于握拳状态或展开状态等。

在本示例性实施例中,手部点云数据的提取过程,首先可以根据真实图像提取出手部关节点的特征向量,例如将真实图像作为输入数据,使用预训练的神经网络对其进行处理,得到手部关节点的特征向量,然后确定出每个手部关节点对应的手部形状或姿态参数,并基于每个手部关节点以及其对应的手部形状太姿态参数建立手部点云数据。最后,通过手部点云数据中不同位置点云的分布,确定对应的手部区域,该手部区域可以是不规则的图形区域,例如以最外层点云为基准连成的区域,也可以是规则的图形区域,例如包含全部点云的矩形区域等,另外,手部区域可以是连通区域,例如全部点云构成的一整个手部的区域,也可以是非连通区域,例如根据食指、中指等部位的点云,划分为多个非连通区域等等。本示例性实施例可以通过确定手部包围盒来表征手部区域,该手部包围盒是指根据手部点云数据中全部或部分的点云生成的手部边界框,例如根据手部点云数据中处于边界的点云生成手部包围盒,本示例性实施例可以以该人脸包围盒表示手部区域,来执行后续碰撞检测的过程。

步骤S340,响应于人脸区域与手部区域发生碰撞,基于碰撞结果对真实图像对应的虚拟形象进行形变调整。

在实际应用中,如果真实图像中人脸与手部产生碰撞,则人脸将会发生形变,对应的,真实人脸的虚拟形象也应当与真实人脸发生一致的形变以保证虚拟形象的真实性与互动性。因此,本示例性实施例可以通过根据真实图像确定的人脸区域与手部区域是否产生碰撞,自适应对真实人脸对应的虚拟形象进行形变调整。具体的,考虑一般的物体碰撞都可以处理为矩形碰撞,因此,本示例性实施例在判断人脸区域与手部区域是否发生碰撞时,可以通过对人脸包围盒与手部包围盒进行碰撞检测实现。其中,碰撞检测实质上是检测人脸包围盒与手部包围盒是否发生重叠,具体的,可以通过比较人脸包围盒与手部包围盒的中心点的坐标在x轴方向和y轴方向上的距离和宽度的关系确定。当检测到人脸包围盒与手部包围盒发生碰撞时,也就确定了人脸区域与手部区域发生碰撞,进而可以根据碰撞结果对真实图像对应的虚拟形象进行形变调整。其中,碰撞结果可以包括人脸包围盒与手部包围盒发生碰撞的碰撞参数或者碰撞时间等,例如碰撞速度、加速度、碰撞程度或发生碰撞时某一碰撞动作的维持时间等。本示例性实施例可以根据碰撞结果,对虚拟形象进行形变调整,以使其能够表现出真实人脸与手部碰撞后的仿真效果,具体而言,碰撞可以分为瞬间碰撞和持续性碰撞,瞬间碰撞可以包括碰撞时的速度、加速度和力度等参数,根据瞬间碰撞的碰撞参数可以控制虚拟形象发生形变,例如脸部凹陷、脸部曲线变化或者头部向一侧倾斜等;而持续性碰撞通常也是从瞬间碰撞开始的,根据瞬间碰撞的参数,可以控制虚拟形象发生形变,进一步,根据人脸区域与手部区域的位置关系,或者碰撞时间,确定是否维持虚拟形象的形变状态,例如手指戳脸颊,使得脸部凹陷后,手指不再移动保持触碰脸颊的状态,此时,手指与人脸的碰撞速度为0,则虚拟形象的脸部仍可以维持脸部凹陷的显示状态。本示例性实施例可以通过碰撞结果中的特定碰撞参数,控制虚拟形象发生形变的过程,进一步,根据其他参数,如手部区域与人脸区域的位置关系等,确定虚拟形象是否维持形变的状态还是恢复形变之前的状态等。

图4示出本示例性实施例中一种虚拟形象进行调整的示意图,图4(a)表示虚拟形象未发生调整之前的状态,当手部区域与人脸区域发生碰撞,如手部区域与人脸区域中嘴部区域发生碰撞时,虚拟形象可以发生动作形变,如图4(b)所示,嘴部区域由于手部碰撞发生了位置和形状和变化。

在一示例性实施例中,上述真实图像的数量可以为多帧,例如通过摄像头实时采集用户人脸与手部的视频流数据,从视频流中确定出多帧真实图像用于进行虚拟形象的形变调整处理,则上述步骤S340中,基于碰撞结果对真实图像对应的虚拟形象进行形变调整,可以包括:

基于每一帧真实图像中的碰撞结果,确定碰撞运动信息,碰撞运动信息包括碰撞速度、碰撞加速度、碰撞位置中的至少一项;

根据碰撞运动信息对真实图像对应的虚拟形象进行形变调整。

即本示例性实施例可以基于多帧真实图像,对其中每一帧真实图像进行人脸和手部的碰撞检测,确定人脸与手部在不同图像帧之间动态的碰撞过程,例如用户手部在触摸到脸部以及使脸部发生最大形变这一过程中可能会涉及多帧图像,通过对这多帧真实图像中每帧真实图像的分析,可以更为准确的确定手部与脸部碰撞事件的碰撞程度,以对虚拟形象进行准确调整。

碰撞运动信息可以包括碰撞速度、碰撞加速度以及碰撞位置等。虚拟形象根据碰撞运动信息可以确定进行怎样的形变过程,例如脸部凹陷程度、头部倾斜程度、脸部曲线变化程度等等。本示例性实施例可以通过Unity(游戏引擎)来模拟和实现人脸与手部具体的碰撞事件。

综上,本示例性实施方式中,获取真实图像;从真实图像中提取人脸点云数据,并根据人脸点云数据确定人脸区域;从真实图像中提取手部点云数据,并根据手部点云数据确定手部区域;响应于人脸区域与手部区域发生碰撞,基于碰撞结果对真实图像对应的虚拟形象进行形变调整。一方面,本示例性实施例提供了一种新的虚拟形象交互方法,基于真实图像中用户脸部与手部的实际碰撞情况,对虚拟形象进行相应的形变调整,使得虚拟形象能够真实、准确的反映用户的实际状态,提高了用户与虚拟形象的关联性,增加了用户与虚拟形象的交互性,同时,具有较高的趣味性;另一方面,本示例性实施例通过真实图像建立人脸点云数据和手部点云数据,并依据人脸点云数据和手部点云数据生成的人脸区域和手部区域的碰撞结果对虚拟形象进行形变调整,其中,点云数据能够较为准确的反映人脸和手部的实际状态,进一步,保证了碰撞检测以及虚拟形象调整的准确性和有效性。

在一示例性实施例中,如图5所示,上述步骤S320中,从真实图像中提取人脸点云数据,可以包括以下步骤:

步骤S510,从真实图像中提取人脸特征点;

步骤S520,通过将人脸特征点降维至脸型特征空间与表情特征空间,确定代价函数,并通过优化代价函数,确定脸型参数与表情参数;

步骤S530,根据脸型参数与表情参数生成人脸点云数据。

在从真实图像中提取人脸特征点之前,为了保证真实图像的有效性,提高图像处理的准确性,本示例性实施例可以先对真实图像进行图像增强处理,以减少真实图像中干扰因子对人脸区域造成的干扰,增强图像细节。具体的,图像增强可以是采用滑动平均滤波、中位值滤波、算数平均滤波等滤波方法对真实图像进行滤波处理,也可以是对真实图像进行图像锐化或对比度增强等处理等。在对真实图像进行图像增强后,可以执行提取人脸特征点的过程,本示例性实施例可以采用Adaboost(分类器)对上述图像增强处理后的真实图像进行处理,以提取出真实图像中人脸所在的像素区域,然后从该像素区域提取上述人脸特征点。其中,人脸特征点是指能够反映人脸结构或特点的关键点,例如能够反映眉毛、眼睛、鼻子、嘴部等部位位置或形态的关键点,或者反映人脸结构轮廓或位置的关键点等。

在确定人脸特征点之后,本示例性实施例可以将人脸特征点降维至脸型特征空间,与表情特征空间,来构造一人脸重建代价函数,通过优化该代价函数,确定人脸的脸型参数与表情参数,其中,脸型参数是指能够反映脸部胖瘦、长短等形状相关的参数,表情参数是指能够反映人脸各部位姿态,如嘴部开合、眼睛开合、眉毛高低等表情相关的参数。具体的,人脸重建代价函数,可以通过以下公式表示:

其中,α

通过对上述代价函数的优化,可以确定人脸特征点的脸型参数与表情参数,进一步,基于人脸特征点的脸型参数与表情参数可以生成三维人脸点云数据。

在一示例性实施例中,上述步骤510可以包括以下步骤:

获取真实图像的参考图像中的参考人脸特征点;

根据参考人脸特征点在参考图像中的位置,以及参考图像与真实图像间的运动信息,在真实图像中确定置信区域;

在置信区域内提取人脸特征点。

为了保证提取的人脸特征点的准确性和稳定性,本示例性实施例可以基于参考图像中的参考人脸特征点,进行优化,确定真实图像中的人脸特征点。其中,真实图像可以为当前帧图像,而参考图像可以是相对于当前帧的真实图像的上一帧图像,参考人脸特征点即为上一帧图像中的人脸特征点信息,参考人脸特征点可以通过预先训练的神经网络模型处理得到。

通常,相邻的两帧图像之间像素点可能存在一定的对应关系,本示例性实施例可以通过光流算法,基于像素在时间域上的变化,以及相邻帧之间的相关性,确定上一帧图像即参考图像,与当前帧即真实图像,之间的对应关系,从而计算出真实图像与参考图像之间对应物体的运动信息。因此,本示例性实施例可以根据参考人脸特征点在参考图像中的位置,以及确定的运动信息,先在真实图像中预估出人脸特征点,然后基于预估的人脸特征点确定出一置信区域,进一步,在该置信区域内,提取准确性更高的人脸特征点,例如预估出的人脸特征点坐标为(1,1),则通过确定置信区域进行人脸特征点的再次提取后,该人脸特征点的坐标可以精确为(1.2,1.5)。本示例性实施例通过先大致确定人脸特征点,并基于置信区域对人脸特征点进行优化的过程,能够提取精度更高的人脸特征点坐标,保证提取的人脸特征点的准确性。

具体的人脸特征点提取方式可以采用Dlib(人脸特征检测算法)算法,对置信区域进行人脸特征点检测,从其中提取68个人脸特征点以及其对应的坐标,其中,人脸的每个部位可以对应多个人脸特征点,例如眉毛可以通过5个人脸特征点表示,眼睛可以通过6个人脸特征点表示等等。

在一示例性实施例中,在上述步骤S520确定脸型参数与表情参数后,虚拟形象交互方法还可以包括:

根据脸型参数调整虚拟形象的脸型,和/或根据表情参数调整虚拟形象的表情。

在本示例性实施例中,无论是否需要对虚拟形象进行形变调整,在确定人脸的脸型参数和表情参数后,都可以根据脸型参数实时调整虚拟形象的脸型,或者根据表情参数调整虚拟形象的表情,再或者根据脸型参数和表情参数同时对虚拟形象的脸型和表情进行调整。通过实时调整虚拟形象的脸型和表情,可以使虚拟形象与用户真实的人脸始终保持一致,提高虚拟形象的真实性。

在一示例性实施例中,如图6所示,上述步骤S330中,从真实图像中提取手部点云数据,可以包括以下步骤:

步骤S610,从真实图像中提取特征向量,并根据特征向量生成手部关节点的置信图;

步骤S620,利用置信图对初始手型参数与初始手部姿态参数进行优化,得到目标手型参数与目标手部姿态参数;

步骤S630,根据目标手型参数与目标手部姿态参数生成手部点云数据。

其中,手部关节点是指能够表示手部结构或特点的关键点,例如手指关节的关键点,手臂或手肘关节的关键点等等。本示例性实施例可以预先训练一神经网络,将真实图像作为输入数据,通过神经网络对其进行处理,以从真实图像中提取能够表示手部关节点的高维特征向量,该特征向量可以作为手部关节点的初始向量,然后通过另一神经网络和全连接网络对其进行处理,可以生成手部关节点的置信图。手部关节点的置信图是指能够表示手部关节点位置和关联关系的图像,其可以包括每个手部关节点是否被检测到的结果,以及被检测到的手部关节点的位置信息,以及被检测到的手部关节点与其他手部关节点的连接关系或连接概率等信息。

手型参数是指能够反映手部胖瘦、大小形状的数据,姿态参数是指能够反映手部呈现状态,如握拳、展开、部分手指弯曲等姿态的参数。本示例性实施例可以预先确定一初始手型参数与初始手部姿态参数,然后基于确定的置信图,对初始手型参数和初始手部姿态参数进行优化,以得到最终的目标手型参数和目标手部姿态参数,最后,根据目标手型参数和目标手部姿态参数通过特定算法或模型,确定手部点云数据,例如可以使用MANO(针对手部的参数化模型)模型对目标手型参数与目标手部姿态参数进行处理,以对手部姿态进行估计,确定手部点云数据。

在一示例性实施例中,上述步骤S610中,从真实图像中提取特征向量,可以包括:

利用残差神经网络中的卷积层对真实图像进行处理,以提取特征向量。

图7示出了本示例性实施例中,手部点云数据生成网络模型的架构示意图,在获取真实图像710后,可以通过残差神经网络720中的卷积层对真实图像710进行卷积处理,例如通过ResNet(Deep residual network,深度残差网络)网络中的卷积层对真实图像进行卷积处理,以提取出真实图像中关于手部关节点的特征向量。

需要说明的是,提取手部关节点的特征向量除了上述ResNet网络之外,也可以采用VGG(Visual Geometry Group,计算机视觉组)网络、MobileNet网络和EfficientNet网络等,本公开对此不做具体限定。

在一示例性实施例中,上述步骤S610中,根据特征向量生成手部关节点的置信图,可以包括:

利用卷积神经网络与全连接网络对特征向量进行处理,以得到手部关节点的置信图。

本示例性实施例可以通过多层卷积神经网络与全连接网络对特征向量进行处理,确定手部关节点的置信图。如图7所示,可以基于5层结构的第一卷积神经网络730和2层结构的第一全连接网络740分别对手部关节点的特征向量进行处理,确定各个手部关节点的连接关系,然后再通过5层结构的第二卷积神经网络750和2层结构的第二全连接网络760对关节点的连接关系进行处理,得到手部关节点的置信图。其中,第一卷积神经网络730与第二卷积神经网络750可以相同也可以不同,第一全连接网络740与第二全连接网络760可以相同也可以不同,具体的网络结构可以根据实际需要进行自定义设置,本公开对此不做具体限定。

在一示例性实施例中,如图8所示,上述步骤S620可以包括以下步骤:

步骤S810,将初始手型参数作为当前手型参数,将初始手部姿态参数作为当前手部姿态参数;

步骤S820,执行将置信图、当前手型参数与当前手部姿态参数输入全连接网络,以更新当前手型参数与当前手部姿态参数的迭代过程;

步骤S830,当迭代过程满足预设条件时,将当前手型参数作为目标手型参数,将当前手部姿态参数作为目标手部姿态参数。

进一步的,上述步骤S820可以包括以下步骤:

将置信图、当前手型参数与当前手部姿态参数输入全连接网络,以输出状态增量;

根据状态增量更新当前手型参数与当前手部姿态参数。

本示例性实施例可以将手部关节点置信图以及设定的初始手型参数和初始手部姿态参数作为输入数据输入全连接网络中进行处理,以对当前手型参数和当前手部姿态参数进行迭代,得到目标手型参数和目标手部姿态参数。具体的,可以将置信图、当前手型参数与当前手部姿态参数输入全连接网络中,先输出手部姿态参数与手型参数的状态增量,其中,全连接网络可以由三层全连接层构成的网络,用于输出状态增量,本示例性实施例可以采用三层Encode-fc3网络的网络结构,根据最终网络输出的状态增量对当前手型参数与当前手部姿态参数进行更新,直到满足迭代过程的预设条件,即可以将当前手型参数作为目标手型参数,将当前手部姿态参数作为目标手部姿态参数。其中,迭代过程的预设条件是指是否继续执行更新当前手型参数与当前手部姿态参数的判定条件,当本示例性实施例采用三个连续的增量式网络实现迭代过程时,预设条件即为完成三次迭代计算,当三个全连接层分别执行完成输出三次状态增量,并根据第三次输出的状态增量更新当前手型参数与当前手部姿态参数的更新后,可以确定最终的目标手型参数和目标手部姿态参数。需要说明的是,本示例性实施例也可以使用非迭代网络确定目标手型参数和目标手部姿态参数,则预设条件也可以是其他条件,例如当误差小于预设阈值或状态增量达到一定程度时,可以认为达到预设条件等等,本公开对此不做具体限定。

以图7所示网络举例说明,可以将关节点置信图、当前手型参数与当前手部姿态参数ω

图9示出本示例性实施例中另一种虚拟形象交互方法的流程示意图,具体可以包括以下步骤:

步骤S910,获取真实图像;

步骤S920,从真实图像中提取人脸特征点;

步骤S930,通过优化代价函数,确定脸型参数与表情参数;

步骤S940,根据脸型参数与表情参数生成人脸点云数据,并根据手部点云数据确定手部区域;

步骤S950,根据脸型参数调整虚拟形象的脸型,和/或根据表情参数调整虚拟形象的表情,以驱动显示对应虚拟形象;

步骤S960,从真实图像中提取手部点云数据,并根据手部点云数据确定手部区域;

步骤S970,对人脸区域与手部区域进行碰撞检测;

步骤S980,根据人脸区域与手部区域的碰撞结果对虚拟形象进行形变调整。

需要说明的是,上述步骤仅为示意性说明,本公开对上述步骤的顺序不做具体限定,例如步骤S920~S940确定手部区域的过程可以与步骤S960确定手部区域的过程同步进行,此外,在确定脸型参数与表情参数后,可以根据需要进行即时性或周期性执行步骤S950,进行虚拟形象脸型和/或表情的更新等。另外,为了保证总体算法的实时性,本示例性实施例可以将人脸点云数据生成的过程运行在CPU(central processing unit,中央处理器),将手部点云生成的过程运行为DSP(Digital Signal Processor,数字处理器)上等等。

本公开的示例性实施方式还提供一种虚拟形象交互装置。如图10所示,该虚拟形象交互装置1000可以包括:真实图像获取模块1010,用于获取真实图像;第一区域确定模块1020,用于从真实图像中提取人脸点云数据,并根据人脸点云数据确定人脸区域;第二区域确定模块1030,用于从真实图像中提取手部点云数据,并根据手部点云数据确定手部区域;虚拟形象调整模块1040,用于响应于人脸区域与手部区域发生碰撞,基于碰撞结果对真实图像对应的虚拟形象进行形变调整。

在一示例性实施例中,第一区域确定模块,包括:人脸特征点提取单元,用于从真实图像中提取人脸特征点;代价函数优化单元,用于通过将人脸特征点降维至脸型特征空间与表情特征空间,确定代价函数,并通过优化代价函数,确定脸型参数与表情参数;人脸点云数据生成单元,用于根据脸型参数与表情参数生成人脸点云数据。

在一示例性实施例中,人脸特征点提取单元,包括:参考人脸特征点获取子单元,用于获取真实图像的参考图像中的参考人脸特征点;置信区域确定子单元,用于根据参考人脸特征点在参考图像中的位置,以及参考图像与真实图像间的运动信息,在真实图像中确定置信区域;人脸特征点确定子单元,用于在置信区域内提取人脸特征点。

在一示例性实施例中,虚拟形象交互装置还包括:脸型表情调整模块,用于根据脸型参数调整虚拟形象的脸型,和/或根据表情参数调整虚拟形象的表情。

在一示例性实施例中,第二区域确定模块包括:置信图生成单元,用于从真实图像中提取特征向量,并根据特征向量生成手部关节点的置信图;参数优化单元,用于利用置信图对初始手型参数与初始手部姿态参数进行优化,得到目标手型参数与目标手部姿态参数;手部点云数据生成单元,用于根据目标手型参数与目标手部姿态参数生成手部点云数据。

在一示例性实施例中,置信图生成单元包括:向量提取子单元,用于利用残差神经网络中的卷积层对真实图像进行处理,以提取特征向量。

在一示例性实施例中,置信图生成单元包括:向量处理子单元,用于利用卷积神经网络与全连接网络对特征向量进行处理,以得到手部关节点的置信图。

在一示例性实施例中,参数优化单元包括:初始参数确定子单元,用于将初始手型参数作为当前手型参数,将初始手部姿态参数作为当前手部姿态参数;迭代过程更新子单元,用于执行将置信图、当前手型参数与当前手部姿态参数输入全连接网络,以更新当前手型参数与当前手部姿态参数的迭代过程;目标参数确定子单元,用于当迭代过程满足预设条件时,将当前手型参数作为目标手型参数,将当前手部姿态参数作为目标手部姿态参数。

在一示例性实施例,迭代过程更新子单元包括:状态增量获得子单元,用于将置信图、当前手型参数与当前手部姿态参数输入全连接网络,以输出状态增量;参数更新子单元,用于根据状态增量更新当前手型参数与当前手部姿态参数。

在一示例性实施例中,上述真实图像的数量为多帧;虚拟形象调整模块,包括:碰撞运动信息确定单元,用于基于每一帧真实图像中的碰撞检测结果,确定碰撞运动信息,碰撞运动信息包括碰撞速度、碰撞加速度、碰撞位置中的至少一项;虚拟形象形变调整子单元,用于根据碰撞运动信息对真实图像对应的虚拟形象进行形变调整。

上述装置中各部分的具体细节在方法部分实施方式中已经详细说明,因而不再赘述。

本公开的示例性实施方式还提供了一种计算机可读存储介质,可以实现为程序产品的形式,包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤,例如可以执行图3、图5、图6、图8或图9中任意一个或多个步骤。该程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号