CN110555507B - 虚拟机器人的交互方法、装置、电子设备及存储介质 - Google Patents

虚拟机器人的交互方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110555507B
CN110555507B CN201911006857.3A CN201911006857A CN110555507B CN 110555507 B CN110555507 B CN 110555507B CN 201911006857 A CN201911006857 A CN 201911006857A CN 110555507 B CN110555507 B CN 110555507B
Authority
CN
China
Prior art keywords
head
virtual robot
user
target user
session process
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
Application number
CN201911006857.3A
Other languages
English (en)
Other versions
CN110555507A (zh
Inventor
刘炫鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Zhuiyi Technology Co Ltd
Original Assignee
Shenzhen Zhuiyi Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Zhuiyi Technology Co Ltd filed Critical Shenzhen Zhuiyi Technology Co Ltd
Priority to CN201911006857.3A priority Critical patent/CN110555507B/zh
Publication of CN110555507A publication Critical patent/CN110555507A/zh
Application granted granted Critical
Publication of CN110555507B publication Critical patent/CN110555507B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Biophysics (AREA)
  • Robotics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请公开了一种虚拟机器人的交互方法、装置、电子设备及存储介质。该方法包括:实时获取当前会话进程对应的目标用户的人脸图像,会话进程中虚拟机器人与目标用户一对一交互;根据人脸图像,确定目标用户的头部的空间位置;根据空间位置,获取虚拟机器人的头部的姿态调整参数序列;基于姿态调整参数序列,逐步调整虚拟机器人的头部姿态,直至虚拟机器人的头部朝向目标用户,并生成图像序列,图像序列由多帧连续的虚拟机器人的姿态图像构成;根据图像序列,生成并输出包含虚拟机器人的头部姿态变化的交互视频。本申请可根据用户的头部位置动态调整虚拟机器人的头部姿态,使交互视频中的虚拟机器人始终面向用户,提高人机交互的自然度。

Description

虚拟机器人的交互方法、装置、电子设备及存储介质
技术领域
本申请实施例涉及人机交互技术领域,更具体地,涉及一种虚拟机器人的交互方法、装置、电子设备及存储介质。
背景技术
随着人工智能相关技术的发展,机器人客服的交互功能越来越强,能够适用的场景也越来越多,大大提高了交互效率,节省了人工资源。而众所周知的,面对面交流是人与人之间最基本的礼貌,即便是与机器人之间的交流,用户多少也会有这方面的体验。但是,目前大多机器人的交互功能比较单一,通常只是简单的基于用户语音或触摸输入的指令,执行相应的动作,缺乏生动性,用户体验不佳。
发明内容
鉴于上述问题,本申请实施例提供一种虚拟机器人的交互方法、装置、电子设备及存储介质,可以使交互视频中的虚拟机器人始终面向用户,优化了人机交互体验。
第一方面,本申请实施例提供了一种虚拟机器人的交互方法,该方法可包括:实时获取当前会话进程对应的目标用户的人脸图像,所述会话进程中所述虚拟机器人与所述目标用户一对一交互;根据所述人脸图像,确定所述目标用户的头部的空间位置;根据所述空间位置,获取所述虚拟机器人的头部的姿态调整参数序列,所述姿态调整参数序列包括多个姿态调整参数;基于所述姿态调整参数序列,逐步调整所述虚拟机器人的头部姿态,直至所述虚拟机器人的头部朝向所述目标用户,并生成图像序列,所述图像序列由多帧连续的所述虚拟机器人的姿态图像构成;根据所述图像序列,生成并输出包含所述虚拟机器人的头部姿态变化的交互视频。
可选地,在所述实时获取当前会话进程对应的目标用户的人脸图像之前,所述虚拟机器人的交互方法还包括:当获取到第一用户的人脸图像时,提取所述第一用户的人脸图像对应的第一人脸特征;建立与所述第一用户对应的第一会话进程,并将所述第一会话进程与所述第一人脸特征绑定;
所述实时获取当前会话进程对应的目标用户的人脸图像,包括:当所述当前会话进程为所述第一会话进程时,将所述第一会话进程对应的第一用户作为所述当前会话进程对应的目标用户,并根据所述第一人脸特征,实时获取所述目标用户的人脸图像。
可选地,所述虚拟机器人的交互方法还包括:当所述当前会话进程为所述第一会话进程时,如果获取到第二用户的人脸图像,则提取所述第二用户的人脸图像对应的第二人脸特征;建立与所述第二用户对应的第二会话进程,并将所述第二会话进程与所述第二人脸特征绑定;当所述第一会话进程结束或者所述第一会话进程处于等待超时状态时,将所述当前会话进程切换为所述第二会话进程;
所述实时获取当前会话进程对应的目标用户的人脸图像,包括:
将所述第二会话进程对应的第二用户作为所述当前会话进程对应的目标用户,并根据所述第二人脸特征,实时获取所述目标用户的人脸图像。
可选地,所述第一会话进程处于等待超时状态,包括:当未获取到所述第一用户的人脸图像时,进行等待时间的计时;当所述计时的数值未达到设定时长,且未采集到所述第一用户的语音数据时,确定所述第一会话进程处于等待超时状态。
可选地,所述根据所述空间位置,获取所述虚拟机器人的头部的姿态调整参数序列,包括:根据所述空间位置,获取所述虚拟机器人的头部朝向所述目标用户时所述虚拟机器人的头部的目标姿态参数;获取所述虚拟机器人的头部的当前姿态参数;基于所述当前姿态参数以及所述目标姿态参数,确定所述虚拟机器人的头部的姿态调整参数序列。
可选地,在所述根据所述图像序列,生成并输出包含所述虚拟机器人的头部姿态变化的交互视频之后,所述虚拟机器人的交互方法还包括:在所述交互视频的播放过程中,如果检测到所述目标用户的头部的空间位置发生变化,则根据变化后的空间位置,获取所述虚拟机器人的头部朝向所述目标用户时所述虚拟机器人的头部的目标更新姿态参数;当所述目标更新姿态参数与所述目标姿态参数之间的差值大于预设值时,基于所述虚拟机器人的头部的当前姿态参数以及所述目标更新姿态参数,确定所述虚拟机器人的头部的新的姿态调整参数序列;基于所述新的姿态调整参数序列,逐步调整所述虚拟机器人的头部姿态,直至所述虚拟机器人的头部朝向所述目标用户,并生成新的图像序列;根据所述新的图像序列,生成并输出包含所述虚拟机器人的头部姿态变化的交互更新视频,所述交互更新视频用于替换所述交互视频进行播放。
可选地,所述人脸图像由单个摄像头采集到,所述根据所述人脸图像,确定所述目标用户的头部的空间位置,包括:根据所述人脸图像,获取所述目标用户的人脸的平面坐标;将所述平面坐标转换为空间坐标系中的三维坐标,并将所述三维坐标作为所述目标用户的头部的空间位置,其中,所述空间坐标系以所述虚拟机器人的头部的空间位置为原点。
可选地,所述人脸图像由多个摄像头采集到,所述根据所述人脸图像,确定所述目标用户的头部的空间位置,包括:根据不同摄像头采集到的人脸图像,获取所述目标用户的头部的深度信息;根据所述深度信息,获取所述目标用户的头部在空间坐标系中的空间位置,所述空间坐标系以所述虚拟机器人的头部的空间位置为原点。
可选地,所述基于所述姿态调整参数序列,逐步调整所述虚拟机器人的头部姿态,直至所述虚拟机器人的头部朝向所述目标用户,并生成图像序列,包括:根据所述虚拟机器人的头部与身体的对应关系,以及所述姿态调整参数序列,确定所述虚拟机器人的身体调整参数序列,所述身体调整参数序列与所述姿态调整参数序列对应;基于所述姿态调整参数序列以及所述身体调整参数序列,逐步调整所述虚拟机器人的头部姿态和身体姿态,直至所述虚拟机器人的头部和身体朝向所述目标用户,并生成图像序列。
第二方面,本申请实施例提供了一种虚拟机器人的交互装置,该装置可包括:图像获取模块,用于实时获取当前会话进程对应的目标用户的人脸图像,所述会话进程中所述虚拟机器人与所述目标用户一对一交互;位置确定模块,用于根据所述人脸图像,确定所述目标用户的头部的空间位置;参数获取模块,用于根据所述空间位置,获取所述虚拟机器人的头部的姿态调整参数序列,所述姿态调整参数序列包括多个姿态调整参数;图像生成模块,用于基于所述姿态调整参数序列,逐步调整所述虚拟机器人的头部姿态,直至所述虚拟机器人的头部朝向所述目标用户,并生成图像序列,所述图像序列由多帧连续的所述虚拟机器人的姿态图像构成;视频生成模块,用于根据所述图像序列,生成并输出包含所述虚拟机器人的头部姿态变化的交互视频。
可选地,所述虚拟机器人的交互装置还包括:第一特征提取模块以及第一特征绑定模块。其中,第一特征提取模块用于当获取到第一用户的人脸图像时,提取所述第一用户的人脸图像对应的第一人脸特征;第一特征绑定模块用于建立与所述第一用户对应的第一会话进程,并将所述第一会话进程与所述第一人脸特征绑定;
所述图像获取模块可以具体用于:当所述当前会话进程为所述第一会话进程时,将所述第一会话进程对应的第一用户作为所述当前会话进程对应的目标用户,并根据所述第一人脸特征,实时获取所述目标用户的人脸图像。
可选地,所述虚拟机器人的交互装置还包括:第二特征提取模块、第二特征绑定模块以及进程切换模块。其中,第二特征提取模块用于当所述当前会话进程为所述第一会话进程时,如果获取到第二用户的人脸图像,则提取所述第二用户的人脸图像对应的第二人脸特征;第二特征绑定模块用于建立与所述第二用户对应的第二会话进程,并将所述第二会话进程与所述第二人脸特征绑定;进程切换模块用于当所述第一会话进程结束或者所述第一会话进程处于等待超时状态时,将所述当前会话进程切换为所述第二会话进程;
所述图像获取模块可以具体用于:将所述第二会话进程对应的第二用户作为所述当前会话进程对应的目标用户,并根据所述第二人脸特征,实时获取所述目标用户的人脸图像。
可选地,所述进程切换模块中的第一会话进程处于等待超时状态,包括:当未获取到所述第一用户的人脸图像时,进行等待时间的计时;当所述计时的数值未达到设定时长,且未采集到所述第一用户的语音数据时,确定所述第一会话进程处于等待超时状态。
可选地,所述参数获取模块可以具体用于:根据所述空间位置,获取所述虚拟机器人的头部朝向所述目标用户时所述虚拟机器人的头部的目标姿态参数;获取所述虚拟机器人的头部的当前姿态参数;基于所述当前姿态参数以及所述目标姿态参数,确定所述虚拟机器人的头部的姿态调整参数序列。
可选地,所述虚拟机器人的交互装置还包括:位置检测模块、参数更新模块、图像更新模块以及视频更新模块。其中,位置检测模块用于在所述交互视频的播放过程中,如果检测到所述目标用户的头部的空间位置发生变化,则根据变化后的空间位置,获取所述虚拟机器人的头部朝向所述目标用户时所述虚拟机器人的头部的目标更新姿态参数;参数更新模块用于当所述目标更新姿态参数与所述目标姿态参数之间的差值大于预设值时,基于所述虚拟机器人的头部的当前姿态参数以及所述目标更新姿态参数,确定所述虚拟机器人的头部的新的姿态调整参数序列;图像更新模块用于基于所述新的姿态调整参数序列,逐步调整所述虚拟机器人的头部姿态,直至所述虚拟机器人的头部朝向所述目标用户,并生成新的图像序列;视频更新模块用于根据所述新的图像序列,生成并输出包含所述虚拟机器人的头部姿态变化的交互更新视频,所述交互更新视频用于替换所述交互视频进行播放。
可选地,所述人脸图像由单个摄像头采集到,所述位置确定模块可以具体用于:根据所述人脸图像,获取所述目标用户的人脸的平面坐标;将所述平面坐标转换为空间坐标系中的三维坐标,并将所述三维坐标作为所述目标用户的头部的空间位置,其中,所述空间坐标系以所述虚拟机器人的头部的空间位置为原点。
可选地,所述人脸图像由多个摄像头采集到,所述位置确定模块可以具体用于:根据不同摄像头采集到的人脸图像,获取所述目标用户的头部的深度信息;根据所述深度信息,获取所述目标用户的头部在空间坐标系中的空间位置,所述空间坐标系以所述虚拟机器人的头部的空间位置为原点。
可选地,所述图像生成模块可以具体用于:根据所述虚拟机器人的头部与身体的对应关系,以及所述姿态调整参数序列,确定所述虚拟机器人的身体调整参数序列,所述身体调整参数序列与所述姿态调整参数序列对应;基于所述姿态调整参数序列以及所述身体调整参数序列,逐步调整所述虚拟机器人的头部姿态和身体姿态,直至所述虚拟机器人的头部和身体朝向所述目标用户,并生成图像序列。
第三方面,本申请实施例提供了一种电子设备,该电子设备可包括:存储器;一个或多个处理器,与存储器连接;一个或多个应用程序,其中,一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于执行如上述第一方面的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有程序代码,程序代码可被处理器调用执行如上述第一方面的方法。
本申请实施例提供了一种虚拟机器人的交互方法、装置、电子设备及存储介质,通过实时获取当前会话进程对应的目标用户的人脸图像,会话进程中虚拟机器人与目标用户一对一交互;根据人脸图像,确定目标用户的头部的空间位置;根据空间位置,获取虚拟机器人的头部的姿态调整参数序列;基于姿态调整参数序列,逐步调整虚拟机器人的头部姿态,直至虚拟机器人的头部朝向目标用户,并生成图像序列,图像序列由多帧连续的虚拟机器人的姿态图像构成;根据图像序列,生成并输出包含虚拟机器人的头部姿态变化的交互视频。本申请可根据用户的头部位置动态调整虚拟机器人的头部姿态,使交互视频中的虚拟机器人始终面向用户,提高人机交互的自然度,优化了人机交互体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,而不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例及附图,都属于本发明保护的范围。
图1示出了一种适用于本申请实施例的应用环境示意图。
图2示出了本申请一个实施例提供的虚拟机器人的交互方法的流程示意图。
图3示出了本申请实施例提供的虚拟机器人的交互方法的交互示意图。
图4示出了本申请另一个实施例提供的虚拟机器人的交互方法的一种流程示意图。
图5示出了图4中的步骤S350的方法流程图。
图6示出了本申请实施例提供的空间坐标系的示意图。
图7示出了图4中的步骤S360的方法流程图。
图8示出了本申请实施例提供的虚拟机器人的交互方法的另一种流程示意图。
图9示出了本申请又一个实施例提供的虚拟机器人的交互方法的流程示意图。
图10示出了图9中的步骤S530的方法流程图。
图11示出了本申请一个实施例提供的虚拟机器人的交互装置的模块框图;
图12示出了本申请实施例用于执行根据本申请实施例的虚拟机器人的交互方法的电子设备的结构框图;
图13示出了本申请实施例用于执行根据本申请实施例的虚拟机器人的交互方法的计算机可读存储介质的模块框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。应当理解,此处描述的具体实施例仅用于解释本申请,并不用于限定本申请。
随着人工智能相关技术的发展,机器人的功能也越来越强。目前,机器人可以通过语音、文本、视觉等多种方式与用户进行互动,其中视觉交互主要为展示多样化的卡通形象或真人形象,以及为机器人设计多种肢体动作、面部表情与神态。然而,机器人的面部朝向和头部动作都是开发人员预先设计好的,没有考虑到用户方面的信息。在真实场景下,用户与机器人进行交互时,其站位一般会发生变化,而不会保持在机器人正面不动,或者用户与机器人的头部水平位置不一样,因此,机器人的面部一直朝向正前方或其它方向,而不是看向用户的脸,会导致较差的人机交互体验。
发明人研究了目前机器人与用户进行交互的困难点,更是综合考虑实际场景的使用需求,提出了本申请实施例的虚拟机器人的交互方法、装置、电子设备及存储介质,可以使机器人始终面向用户,实现了用户与机器人之间的“面对面”交流,优化了人机交互体验。
为了更好理解本申请实施例提供的一种虚拟机器人的交互方法、装置、电子设备及存储介质,下面先对适用于本申请实施例的应用环境进行描述。
请参阅图1,图1示出了一种适用于本申请实施例的应用环境示意图。本申请实施例提供的虚拟机器人的交互方法可以应用于如图1所示的多态交互系统100。多态交互系统100包括电子设备101以及服务器102,服务器102与电子设备101通信连接。其中,服务器102可以是传统服务器,也可以是云端服务器,在此不作具体限定。
在一些实施例中,电子设备101可以是具有显示屏且支持数据输入的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机和可穿戴式电子设备等。具体的,数据输入可以是基于电子设备101上具有的语音模块输入语音、字符输入模块输入字符、图像输入模块输入图像、视频输入模块输入视频等,还可以是基于电子设备101上安装有的手势识别模块,使得用户可以实现手势输入等交互方式。
其中,电子设备101上可以安装有客户端应用程序,用户可以基于客户端应用程序(例如APP、微信小程序等)与服务器102进行通信,具体的,服务器102上安装有对应的服务端应用程序,用户可以基于客户端应用程序在服务器102注册一个用户帐号,并基于该用户帐号与服务器102进行通信,例如用户在客户端应用程序登录用户帐号,并基于该用户帐号通过客户端应用程序进行输入,可以输入文字信息、语音信息、图像信息或视频信息等,客户端应用程序接收到用户输入的信息后,可以将该信息发送至服务器102,使得服务器102可以接收该信息并进行处理及存储,服务器102还可以接收该信息并根据该信息返回一个对应的输出信息至电子设备101。
在一些实施方式中,客户端应用程序可以用于向用户提供客户服务,与用户进行客服沟通,客户端应用程序可以基于虚拟机器人与用户进行交互。具体的,客户端应用程序可以接收用户输入的信息,并基于虚拟机器人对该信息作出应答。其中,虚拟机器人是基于可视化图形的软件程序,该软件程序被执行后可以向用户呈现出模拟生物行为或思想的机器人形态。虚拟机器人可以是模拟真人式的机器人,例如根据用户自身或其他人的形态建立的形似真人的机器人,也可以是动漫效果式的机器人,例如动物形态或卡通人物形态的机器人。
在一些实施方式中,电子设备101在获取与用户输入的信息对应的回复信息后,可以在电子设备101的显示屏或与其连接的其他图像输出设备上显示对应与该回复信息的虚拟机器人图像。作为一种方式,在播放虚拟机器人图像的同时,可以通过电子设备101的扬声器或与其连接的其他音频输出设备播放与虚拟机器人图像对应的音频,还可以在电子设备101的显示屏上显示与该回复信息对应的文字或图形,实现在图像、语音、文字等多个方面上与用户的多态交互。
在一些实施方式中,对用户输入的信息进行处理的装置也可以设置于电子设备101上,使得电子设备101无需依赖与服务器102建立通信即可实现与用户的交互,此时多态交互系统100可以只包括电子设备101。
上述应用环境仅为方便理解所作的示例,可以理解的是,本申请实施例不仅局限于上述应用环境。
下面将通过具体实施例对本申请实施例提供的虚拟机器人的交互方法、装置、电子设备及存储介质进行详细说明。
请参阅图2,图2示出了本申请一个实施例提供的虚拟机器人的交互方法的流程示意图,本实施例提供的虚拟机器人的交互方法可以应用于上述电子设备,也可以应用于上述服务器。在具体的实施例中,虚拟机器人的交互方法可应用于如图11所示的虚拟机器人的交互装置900以及图12所示的电子设备600。下面将针对图2所示的流程进行详细的阐述,所示虚拟机器人的交互方法具体可以包括以下步骤:
步骤S210:实时获取当前会话进程对应的目标用户的人脸图像,所述会话进程中所述虚拟机器人与所述目标用户一对一交互。
在本申请实施例中,电子设备可实时获取当前会话进程对应的目标用户的人脸图像,以根据该人脸图像与目标用户进行进一步交互。其中,会话进程中虚拟机器人与目标用户进行一对一交互。
在一些实施例中,当前会话进程为电子设备当前正在运行的一个会话进程,一个会话进程可与一个用户进行绑定,用于表征该会话进程中虚拟机器人与绑定用户进行一对一交互,也就是说,虚拟机器人每一轮次的会话仅能与单个用户进行。可理解的,目标用户为当前运行的会话进程所对应的绑定用户,也即在当前运行的会话进程中,虚拟机器人与目标用户进行一对一交互。
在一些实施例中,电子设备可通过摄像头等图像采集设备实时检测目标用户的人脸,以实时获取到摄像头采集的目标用户的人脸图像。具体地,作为一种方式,可以是当电子设备的系统前台运行有虚拟机器人对应的应用程序时,调用电子设备的摄像头硬件模块来采集目标用户的人脸图像。
步骤S220:根据所述人脸图像,确定所述目标用户的头部的空间位置。
在本申请实施例中,电子设备在得到目标用户的人脸图像后,可以根据该人脸图像,确定目标用户的头部的空间位置,以进一步根据目标用户的头部位置,确定虚拟机器人的头部姿态,使虚拟机器人始终面向用户。
步骤S230:根据所述空间位置,获取所述虚拟机器人的头部的姿态调整参数序列,所述姿态调整参数序列包括多个姿态调整参数。
电子设备在得到目标用户的头部的空间位置后,可获取虚拟机器人的头部的姿态调整参数序列,以根据姿态调整参数序列调整虚拟机器人的头部姿态,使得虚拟机器人始终面向用户。其中,姿态调整参数序列可包括多个姿态调整参数,该多个姿态调整参数可用于驱动虚拟机器人的头部面向用户。
在一些实施例中,由于直接将虚拟机器人的头部姿态更新为面向用户的姿态,会给用户造成视觉突兀感,因此,姿态调整参数序列可以是一个具有时间先后顺序的、且连续的姿态调整参数集合,以逐步调整虚拟机器人的头部姿态,直至虚拟机器人的头部朝向目标用户。在一些实施方式中,姿态调整参数可以是虚拟机器人的头部需要调整的角度,如Yaw旋转角、Pitch俯仰角,也可以是虚拟机器人的头部调整后的空间坐标值,在此并不作限定。
在一些实施例中,电子设备可获取虚拟机器人当前的头部的空间位置,以根据得到的目标用户的头部的空间位置,确定当前虚拟机器人的头部和目标用户的头部的相对位置关系,从而根据该相对位置关系,确定出虚拟机器人的头部的姿态调整参数序列。作为一种实施方式,电子设备可先根据该相对位置关系,确定虚拟机器人的头部是否朝向目标用户的头部,当虚拟机器人的头部未朝向目标用户的头部时,再根据具体的相对位置关系,获取虚拟机器人的头部的姿态调整参数序列,以根据该姿态调整参数序列将虚拟机器人的头部调整为朝向目标用户的头部。当虚拟机器人的头部朝向目标用户的头部时,电子设备可不用获取上述姿态调整参数序列,即无需对虚拟机器人的头部进行调整。
步骤S240:基于所述姿态调整参数序列,逐步调整所述虚拟机器人的头部姿态,直至所述虚拟机器人的头部朝向所述目标用户,并生成图像序列,所述图像序列由多帧连续的所述虚拟机器人的姿态图像构成。
在本申请实施例中,为降低虚拟机器人的头部姿态转变动作的突兀感,电子设备可以基于上述姿态调整参数序列,逐步调整虚拟机器人的头部姿态,直至虚拟机器人的头部朝向目标用户,并生成图像序列。其中,图像序列由多帧连续的虚拟机器人的姿态图像构成。从而实现了根据目标用户的头部位置动态调整虚拟机器人的头部姿态,使虚拟机器人始终面向用户。需要说明的是,姿态调整参数序列中的姿态调整参数越多,调整虚拟机器人的头部姿态的步骤就越紧密,虚拟机器人的头部姿态转变的动作就越平滑,呈现出的视觉效果就越好。
在一些实施例中,虚拟机器人可以基于3D(3 Dimensions,三维)模型生成。电子设备可通过姿态调整参数序列中的多个姿态调整参数,逐步对虚拟机器人的头部进行驱动,即逐步驱动虚拟机器人对应的3D模型中的头部模型呈现不同的姿态。
在另一些实施例中,虚拟机器人也可以通过深度学习技术进行生成。作为一种方式,姿态调整参数为虚拟机器人的头部需要调整的角度时,电子设备可将姿态调整参数序列输入已训练的深度生成模型,得到该深度生成模型输出的输出结果,该输出结果可以是虚拟机器人的头部调整后的姿态参数,电子设备可根据该输出结果生成虚拟机器人调整后的头部。可以理解的是,上述虚拟机器人的头部姿态的调整方式在本申请中并不作限定,可根据具体的应用场景和电子设备的处理能力选择合适的调整方式。
在本申请实施例中,电子设备在逐步调整虚拟机器人的头部姿态,以让虚拟机器人的头部呈现连续的不同的姿态的过程中,还可以根据一一呈现的姿态,生成对应的图像序列。其中,图像序列可由多帧连续的虚拟机器人的姿态图像构成。
在一些实施例中,虚拟机器人的头部模型,具有多个对应于头部模型上不同特征位置的三维模型关键点,这些三维模型关键点可以是用于描述头部模型的全部或部分形态的关键点集合,其记载有头部模型上各个关键点在三维空间中的位置。例如,对应于头部的人脸特征位置,可以是在头部模型对应人脸部位的轮廓线上,按需求选取间隔分布的多个点作为用于描述人脸轮廓的三维模型关键点。如此一来,通过姿态调整参数对虚拟机器人的头部模型进行驱动时,即可获得细致生动而又富有真实感的虚拟机器人的姿态图像。从而可以根据连续的多帧虚拟机器人的姿态图像,生成图像序列。
步骤S250:根据所述图像序列,生成并输出包含所述虚拟机器人的头部姿态变化的交互视频。
电子设备在得到图像序列后,可以根据图像序列,生成并输出包含虚拟机器人的头部姿态变化的交互视频,得到虚拟机器人始终面朝目标用户的交互视频,从而使得虚拟机器人可以像真人对话一样,始终面向用户说话,随用户移动而转动,提升人机交互体验。
在一些实施例中,交互视频还可以包括音频,该音频可以是虚拟机器人与目标用户的会话进程中,对用户的回复音频。如“你好”、“我很抱歉”。从而向用户呈现出模拟的外形、声音以及行为均形似真人的客服机器人形象。
在一种具体的应用场景中,如图3所示,用户可以通过电子设备打开应用程序客户端(例如微信小程序或独立的APP)进入与虚拟机器人的交互界面。电子设备可新建一个会话进程并与该用户进行绑定,同时可通过调用摄像头等硬件模块来实时采集到用户的人脸图像,以便虚拟机器人可以根据该用户的人脸图像,调整自己的头部姿态朝向该用户,从而用户可以直接与交互界面显示的虚拟机器人进行面对面对话。
在一些实施例中,在电子设备与服务器建立通信连接的状态下,当电子设备获取到目标用户的人脸图像时,也可以将人脸图像发送至服务器,由服务器对人脸图像进行目标用户的头部位置确定,然后由服务器确定出虚拟机器人的头部的姿态调整参数序列,并由服务器生成图像序列,根据图像序列生成包含虚拟机器人的头部姿态变化的交互视频。再将该交互视频输出至电子设备,由电子设备获取并进行播放显示。
可以理解的是,本实施例中上述的各个步骤,可以均由电子设备在本地进行,也可以均在服务器中进行,还可以由电子设备与服务器分工进行,根据实际应用场景的不同,可以按照需求进行任务的分配,以实现最优化的拟真机器人交互体验,在此并不作限定。
本申请实施例提供的虚拟机器人的交互方法,通过实时获取当前会话进程对应的目标用户的人脸图像,会话进程中虚拟机器人与目标用户一对一交互;根据人脸图像,确定目标用户的头部的空间位置;根据空间位置,获取虚拟机器人的头部的姿态调整参数序列;基于姿态调整参数序列,逐步调整虚拟机器人的头部姿态,直至虚拟机器人的头部朝向目标用户,并生成图像序列,图像序列由多帧连续的虚拟机器人的姿态图像构成;根据图像序列,生成并输出包含虚拟机器人的头部姿态变化的交互视频。本申请可根据用户的头部位置动态调整虚拟机器人的头部姿态,使交互视频中的虚拟机器人始终面向用户,提高人机交互的自然度,优化了人机交互体验。
请参阅图4,图4示出了本申请另一个实施例提供的机器人的交互方法的流程示意图。下面将针对图4所示的流程进行详细的阐述,所示机器人的交互方法具体可以包括以下步骤:
步骤S310:当获取到第一用户的人脸图像时,提取所述第一用户的人脸图像对应的第一人脸特征。
在本申请实施例中,当电子设备获取到第一用户的人脸图像时,可以提取第一用户的人脸图像对应的第一人脸特征,以确定是否需要与该用户进行交互。其中,第一用户可以是任意用户。
在一些实施方式中,电子设备可通过摄像头实时采集当前场景的环境图像,检测该环境图像中是否存在人脸,当检测到人脸时,可以提取该人脸的人脸特征。其中,人脸特征可以是68人脸关键点,也可以是128人脸关键点,在此并不作限定。
步骤S320:建立与所述第一用户对应的第一会话进程,并将所述第一会话进程与所述第一人脸特征绑定。
电子设备在得到第一用户的人脸图像对应的第一人脸特征时,可以建立与第一用户对应的第一会话进程,并将第一会话进程与第一人脸特征绑定,从而实现将第一用户与第一会话进程绑定。例如,用户A1看向虚拟机器人,在电子设备通过摄像头检测到用户A1的人脸图像A2时,可提取人脸图像A2中的人脸特征A3,并将人脸特征A3与会话进程A4进行绑定,从而实现用户A1与会话进程A4的绑定。
在一些实施例中,可能存在第一用户已绑定会话进程的情况,因此,电子设备在得到第一人脸特征时,可以判断第一人脸特征是否与人脸特征库中的人脸特征匹配。其中,人脸特征库用于存储已绑定会话进程的人脸特征。当第一人脸特征不与人脸特征库中的人脸特征匹配时,可认为第一用户未绑定会话进程,电子设备可建立与第一用户对应的第一会话进程,并将第一会话进程与第一人脸特征绑定;当第一人脸特征与人脸特征库中的人脸特征匹配时,可认为第一用户已绑定会话进程,不必再新建会话进程进行绑定。进一步地,在一些实施例中,会话进程结束时,可以删除人脸特征库中的与结束会话进程绑定的人脸特征,减少存储空间。
步骤S330:当所述当前会话进程为所述第一会话进程时,将所述第一会话进程对应的第一用户作为所述当前会话进程对应的目标用户,并根据所述第一人脸特征,实时获取所述目标用户的人脸图像。
在一些实施例中,虚拟机器人每轮仅能与单一用户进行交互,也即电子设备当前仅可运行一个会话进程(虚拟机器人与用户之间),因此,当当前会话进程为上述第一会话进程时,可认为虚拟机器人当前与第一用户进行交互,电子设备可将第一用户作为当前会话进程对应的目标用户,并根据第一人脸特征,实时获取目标用户的人脸图像,也即第一用户的人脸图像。
在一些实施例中,由于现场可能存在多个用户,导致摄像头采集到的人脸图像也可能有多个,因此,当虚拟机器人当前需要与第一用户进行交互时,为保证虚拟机器人与第一用户的准确交互,需要从多个人脸图像中获取到第一用户的人脸图像。作为一种方式,可以将多个人脸图像中的人脸特征与第一人脸特征进行匹配,并从多个人脸图像中获取与第一人脸特征匹配的人脸图像,即为第一用户的人脸图像。
步骤S340:根据所述人脸图像,确定所述目标用户的头部的空间位置。
在本申请实施例中,根据人脸图像,可通过多种方式确定目标用户的头部的空间位置。
作为一种实施方式,电子设备包括单个摄像头时,上述人脸图像可由单个摄像头采集到,从而可根据单个摄像头采集到人脸图像确定目标用户的头部的空间位置。具体地,上述根据人脸图像,确定所述目标用户的头部的空间位置,可以包括:根据所述人脸图像,获取所述目标用户的人脸的平面坐标;将所述平面坐标转换为空间坐标系中的三维坐标,并将所述三维坐标作为所述目标用户的头部的空间位置,其中,所述空间坐标系以所述虚拟机器人的头部的空间位置为原点。这样,通过以虚拟机器人的头部的空间位置为原点建立空间坐标系,可便于确定目标用户的头部的相对位置。
具体地,电子设备可根据单个摄像头采集到人脸图像,获取人脸图像中的多个人脸关键点,根据多个人脸关键点,确定目标用户的人脸的平面坐标。其中,平面坐标为二维空间坐标,如(x,y)形式。作为一种方式,可以是从多个人脸关键点中任意选取一个关键点的坐标作为目标用户的人脸的平面坐标。作为一种方式,也可以是基于运算规则获取部分或全部关键点的坐标均值作为中心点,将该中心点作为目标用户的人脸的平面坐标,易于实现虚拟机器人与目标用户的对视效果。
在得到目标用户的人脸的平面坐标后,电子设备可以将该平面坐标转换为空间坐标系中的三维坐标,并可将该三维坐标作为目标用户的头部的空间位置。作为一种实施方式,电子设备可以将平面坐标:(x,y)转换为三维坐标(x,y,z0),其中z0可为任意常数,可根据具体的应用场景进行设定,在此并不作限定。例如,z0可以选取默认值0,使目标用户的头部与虚拟机器人的头部处于同一水平面上。
作为另一种实施方式,电子设备包括多个摄像头时,上述人脸图像可由多个摄像头头采集到,从而可根据多个摄像头采集到人脸图像确定目标用户的头部的空间位置。具体地,上述根据人脸图像,确定所述目标用户的头部的空间位置,也可以包括:根据不同摄像头采集到的人脸图像,获取所述目标用户的头部的深度信息;根据所述深度信息,获取所述目标用户的头部在空间坐标系中的空间位置,所述空间坐标系以所述虚拟机器人的头部的空间位置为原点。
在一些实施例中,当多个摄像头设置在不同位置时,电子设备可根据不同摄像头采集到的不同角度的人脸图像,获取目标用户的头部的各个关键点的深度信息,从而可以得到目标用户的头部的各个关键点在空间坐标系中的空间位置。其中,某个点的深度信息可以理解为空间中该点到摄像头的距离信息。电子设备可以选取头部的任一关键点的空间位置,作为目标用户的头部在空间坐标系中的空间位置,也可以基于运算规则获取部分或全部关键点的坐标均值作为中心点,将该中心点作为目标用户的头部在空间坐标系中的空间位置。可以理解的是,摄像头的数量越多,获取到的目标用户的头部的空间位置越精确。
需要说明的是,为保证虚拟机器人的头部可准确朝向目标用户,虚拟机器人的头部的空间位置和目标用户的头部的空间位置须以相同的规则来选取。例如,当目标用户的头部的空间位置为选取的任一关键点时,如目标用户的鼻子上的关键点A,则虚拟机器人的头部的空间位置也为该关键点,即虚拟机器人的鼻子上的关键点A。
步骤S350:根据所述空间位置,获取所述虚拟机器人的头部的姿态调整参数序列,所述姿态调整参数序列包括多个姿态调整参数。
在一些实施例中,请参见图5,上述根据所述空间位置,获取所述虚拟机器人的头部的姿态调整参数序列,可以包括:
步骤S351:根据所述空间位置,获取所述虚拟机器人的头部朝向所述目标用户时所述虚拟机器人的头部的目标姿态参数。
在一些实施例中,由于虚拟机器人的头部的空间位置为空间坐标系的原点,因此,可以将目标用户的头部的空间位置作为方向向量,从而可以根据该方向向量计算出虚拟机器人的头部朝向目标用户时虚拟机器人的头部的目标姿态参数。其中,姿态参数可以是一个2维向量,分别为Pitch维、Yaw维。例如,请参见图6,图6示出了一种空间坐标系的示意图,O为虚拟机器人的头部的空间位置,A为目标用户的头部的空间位置,则方向向量
Figure BDA0002243027190000121
在平面XOZ上的投影
Figure BDA0002243027190000122
与X轴的夹角∠A1OA2为Yaw,
Figure BDA0002243027190000123
与Y轴的夹角∠AOA3为Pitch。
例如,若设定虚拟机器人的头部的空间位置为O=(0,0,0),假设目标用户的头部的空间位置为
Figure BDA0002243027190000124
可以将方向向量
Figure BDA0002243027190000125
作为虚拟机器人“看向”目标用户脸部时虚拟机器人的面部朝向,对应的目标姿态参数Pitch、Yaw可基于方向向量
Figure BDA0002243027190000126
分别由如下方法计算得到:
Figure BDA0002243027190000127
Figure BDA0002243027190000128
即目标姿态参数=(45,45)。
步骤S352:获取所述虚拟机器人的头部的当前姿态参数。
在一些实施例中,虚拟机器人的头部姿态改变时,电子设备可以实时记录虚拟机器人的头部的当前姿态参数,从而电子设备可以获取到虚拟机器人的头部的当前姿态参数。其中,当前姿态参数与目标姿态参数对应,都是一个2维向量,分别为Pitch维、Yaw维。
在另一些实施例中,虚拟机器人的头部的当前姿态参数可以是默认姿态,该默认姿态可以是虚拟机器人正视前方时的姿态。进一步地,作为一种方式,电子设备当前未运行会话进程时,可将虚拟机器人的头部的当前姿态参数调整回默认姿态。
步骤S353:基于所述当前姿态参数以及所述目标姿态参数,确定所述虚拟机器人的头部的姿态调整参数序列。
电子设备在得到虚拟机器人的头部的当前姿态参数以及目标姿态参数后,可基于当前姿态参数以及目标姿态参数,确定虚拟机器人的头部的姿态调整参数序列。其中,该姿态调整参数序列可以理解为将虚拟机器人的头部的姿态调整到朝向目标用户的过程中,过渡用的姿态调整参数。例如,当前姿态参数Pcurrent=(Pitchcurrent,Yawcurrent)变化到目标姿态参数Ptarget=(Pitchtarget,Yawtarget)所需的姿态调整参数序列可为([Pcurrent,P0,P1,…,Pk,Ptarget]),其中“P0,P1,…,Pk”为过渡用的姿态调整参数。可以理解的是,过渡部分的姿态调整参数越多,虚拟机器人的头部姿态的变化(如从正脸朝向正前方转变为朝向左下方)动作就越平滑。
在一些实施例中,确定姿态调整参数序列,可以是预先计算好常见的姿态调整情况,并将所需的姿态调整参数序列存入数据库,从而电子设备预先存储“姿态调整参数序列”的数据库,然后根据当前姿态参数以及目标姿态参数从数据库中匹配到合适的“姿态调整参数序列”。
在另一些实施例中,也可以根据当前姿态参数以及目标姿态参数,实时生成姿态调整参数序列。作为一种实施方式,姿态调整参数序列中的多个姿态调整参数可以是均匀变化的。例如,设定每100ms头部姿态单维角度变化不大于3,虚拟机器人的头部姿态在1秒内从(0,90)变化到(-30,110)的姿态调整参数序列可以为长度为11的序列:[(0,90),(-3,92),(-6,94),(-9,96),(-12,98),(-15,100),(-18,102),(-21,104),(-24,106),(-27,108),(-30,110)],实现了姿态调整参数均匀变化的“匀速”姿态调整参数序列。其中,Pitch、Yaw的变化速度分别为30°/s(即3°/100ms)、20°/s(即2°/100ms)。可以理解的是,上述姿态调整参数序列的确定方式仅为举例,姿态调整参数序列的具体确定方式在本申请实施例中并不作限定。
步骤S360:基于所述姿态调整参数序列,逐步调整所述虚拟机器人的头部姿态,直至所述虚拟机器人的头部朝向所述目标用户,并生成图像序列,所述图像序列由多帧连续的所述虚拟机器人的姿态图像构成。
在本申请实施例中,步骤S360可以参阅前述实施例的内容,在此不再赘述。
在一些实施例中,虚拟机器人的头部朝向与身体朝向可以保持一致。具体地,请参阅图7,上述基于所述姿态调整参数序列,逐步调整所述虚拟机器人的头部姿态,直至所述虚拟机器人的头部朝向所述目标用户,并生成图像序列,可以包括:
步骤S361:根据所述虚拟机器人的头部与身体的对应关系,以及所述姿态调整参数序列,确定所述虚拟机器人的身体调整参数序列,所述身体调整参数序列与所述姿态调整参数序列对应。
在一些实施例中,电子设备可以虚拟机器人的头部与身体的对应关系,确定与姿态调整参数序列对应的虚拟机器人的身体调整参数序列。其中,身体调整参数序列可包括多个身体调整参数,姿态调整参数序列和身体调整参数序列在时间上需要对齐,以保证一一对应。
步骤S362:基于所述姿态调整参数序列以及所述身体调整参数序列,逐步调整所述虚拟机器人的头部姿态和身体姿态,直至所述虚拟机器人的头部和身体朝向所述目标用户,并生成图像序列。
在一些实施例中,为降低虚拟机器人的头部姿态和身体姿态的转变动作的突兀感,电子设备可基于姿态调整参数序列以及身体调整参数序列,逐步调整虚拟机器人的头部姿态和身体姿态,直至虚拟机器人的头部和身体朝向目标用户,并生成图像序列。从而实现了根据目标用户的头部位置动态调整虚拟机器人的头部姿态和身体姿态,使虚拟机器人的面部和身体始终朝向目标用户。具体地的逐步调整方式可参阅前述实施例中的内容,在此不再赘述。
在一些实施例中,也可以将身体可固定某一朝向,不随头部姿态改变而转动。例如,当存在多个会话进程时,可以将虚拟机器人的身体调整为朝向正前方,只对头部的姿态进行调整,使虚拟机器人在不同的会话进程间切换时,可以快速地看向对应的绑定用户。
在一些实施例中,还可以获取与姿态调整参数序列对应的表情参数序列、肢体动作参数序列、嘴型参数序列中的至少一种。其中,嘴型参数序列与当前虚拟机器人的回复音频相吻合,表情参数序列、肢体动作参数序列、嘴型参数序列与姿态调整参数序列在时间上也需要对齐,以保证一一对应。例如,姿态调整参数序列为([Pcurrent,P0,P1,…,Pk,Ptarget])时,表情参数序列可以是(acurrent,a0,…ak,atarget)。
进一步地,表情参数序列还可以包括眼睛调整参数序列,眼睛调整参数序列与姿态调整参数序列对应,电子设备可基于姿态调整参数序列、眼睛调整参数序列以及身体调整参数序列,逐步调整虚拟机器人的头部姿态、眼睛姿态以及身体姿态,直至虚拟机器人的头部、眼睛和身体朝向目标用户,保证虚拟机器人的眼睛始终看向虚拟机器人头部朝向的方向。由于虚拟机器人的头部是朝着目标用户的头部,因此可以产生虚拟机器人“注视着”目标用户的效果。
步骤S370:根据所述图像序列,生成并输出包含所述虚拟机器人的头部姿态变化的交互视频。
在本申请实施例中,步骤S370可以参阅前述实施例的内容,在此不再赘述。
在一些实施例中,如果当前的交互视频没有播放完,即虚拟机器人的头部姿态参数还未调整至目标姿态参数,目标用户的头部位置已发生较大变化,则电子设备可获取新的目标姿态参数,根据新的目标姿态参数,对虚拟机器人的头部姿态进行逐步调整。因此,请参阅图8,在上述根据图像序列,生成并输出包含虚拟机器人的头部姿态变化的交互视频之后,该虚拟机器人的交互方法还可以包括:
步骤S400:在所述交互视频的播放过程中,如果检测到所述目标用户的头部的空间位置发生变化,则根据变化后的空间位置,获取所述虚拟机器人的头部朝向所述目标用户时所述虚拟机器人的头部的目标更新姿态参数。
在一些实施例中,电子设备生成并输出交互视频后,可以对该交互视频进行播放,用于向用户呈现虚拟机器人根据目标用户的头部移动而转动的视觉效果。在交互视频的播放过程中,电子设备可对目标用户的头部的空间位置进行实时检测,如果检测到目标用户的头部的空间位置发生变化,则可以根据变化后的空间位置,重新获取虚拟机器人的头部朝向目标用户(变化后的头部位置)时虚拟机器人的头部的目标姿态参数,作为上述目标更新姿态参数。
具体地,可根据实时获取到的目标用户的人脸图像,实时确定目标用户的头部的空间位置,从而可实时检测到目标用户的头部的空间位置是否发生变化。
步骤S410:当所述目标更新姿态参数与所述目标姿态参数之间的差值大于预设值时,基于所述虚拟机器人的头部的当前姿态参数以及所述目标更新姿态参数,确定所述虚拟机器人的头部的新的姿态调整参数序列。
在一些实施例中,当重新获取的目标更新姿态参数与之前获取的目标姿态参数之间的差值大于预设值时,可以认为目标用户的头部的空间位置发生较大的变化,因此,为保证虚拟机器人和目标用户的“面对面”效果,可以基于虚拟机器人的头部的当前姿态参数以及上述目标更新姿态参数,重新确定虚拟机器人的头部的新的姿态调整参数序列。
在一些实施例中,虚拟机器人的头部的当前姿态参数可以为虚拟机器人根据之前获取的姿态调整参数序列逐步调整期间的某一姿态调整参数,可根据目标用户的头部发生变化的时间点确定,从而可以平滑地将虚拟机器人从之前的姿态调整参数更新到重新获取的姿态调整参数。
在一些实施例中,电子设备也可以每隔一个较小的时间间隔t,计算虚拟机器人的头部的当前姿态参数到目标姿态参数的姿态调整参数序列,以保证电子设备可以一直用最新的姿态调整参数序列对虚拟机器人的头部进行驱动。
步骤S420:基于所述新的姿态调整参数序列,逐步调整所述虚拟机器人的头部姿态,直至所述虚拟机器人的头部朝向所述目标用户,并生成新的图像序列。
电子设备在获取到新的姿态调整参数序列后,可以基于新的姿态调整参数序列,逐步调整所述虚拟机器人的头部姿态,直至所述虚拟机器人的头部朝向所述目标用户,并生成新的图像序列。具体地逐步调整方式参阅前述实施例,在此不再赘述。
步骤S430:根据所述新的图像序列,生成并输出包含所述虚拟机器人的头部姿态变化的交互更新视频,所述交互更新视频用于替换所述交互视频进行播放。
电子设备在得到新的图像序列后,可以生成并输出包含虚拟机器人的头部姿态变化的交互更新视频。该交互更新视频用于替换所述交互视频进行播放。从而在目标用户的头部位置发生变化后,可以实时根据目标用户变化后的头部位置动态调整虚拟机器人的头部姿态,实现虚拟机器人的头部一直朝向目标用户。
可以理解的是,本实施例中上述的各个步骤,可以均由电子设备在本地进行,也可以均在服务器中进行,还可以由电子设备与服务器分工进行,根据实际应用场景的不同,可以按照需求进行任务的分配,以实现最优化的拟真机器人客服体验,在此并不作限定。
本申请实施例提供的虚拟机器人的交互方法,当获取到第一用户的人脸图像时,通过提取第一用户的人脸图像对应的第一人脸特征,建立与所述第一用户对应的第一会话进程,以将第一会话进程与第一人脸特征绑定,然后当当前会话进程为第一会话进程时,将第一会话进程对应的第一用户作为当前会话进程对应的目标用户,并根据第一人脸特征,实时获取目标用户的人脸图像,从而根据人脸图像,确定出目标用户的头部的空间位置,然后根据空间位置,获取虚拟机器人的头部的姿态调整参数序列,以基于姿态调整参数序列,逐步调整虚拟机器人的头部姿态,直至虚拟机器人的头部朝向目标用户,并生成图像序列,从而生成并输出包含虚拟机器人的头部姿态变化的交互视频。本申请在具有多个用户的情况,可根据当前运行进程对应的绑定用户的头部位置动态调整虚拟机器人的头部姿态,使交互视频中的虚拟机器人始终面向绑定用户,提高人机交互的自然度,优化了人机交互体验。
请参阅图9,图9示出了本申请又一个实施例提供的机器人的交互方法的流程示意图。下面将针对图9所示的流程进行详细的阐述,所示机器人的交互方法具体可以包括以下步骤:
步骤S510:当所述当前会话进程为所述第一会话进程时,如果获取到第二用户的人脸图像,则提取所述第二用户的人脸图像对应的第二人脸特征。
在一些实施例中,当当前会话进程为第一用户和虚拟机器人的第一会话进程时,如果第一会话进程尚未结束,电子设备又获取到第二用户的人脸图像,可以提取第二用户的人脸图像对应的第二人脸特征,以建立新的会话进程。其中,第二用户与第一用户为不同的用户,对应的,第一人脸特征与第二人脸特征也不同。
在另一些实施例中,如果第一会话进程尚未结束,电子设备也可以仅获取第一用户的人脸图像,不用获取其他用户的人脸图像,从而电子设备仅存在一个会话进程。
步骤S520:建立与所述第二用户对应的第二会话进程,并将所述第二会话进程与所述第二人脸特征绑定。
在一些实施例中,电子设备在提取到第二人脸特征后,可以建立与第二用户对应的第二会话进程,并将第二会话进程与第二人脸特征绑定。其中,从而电子设备可存在多个用户绑定的会话进程。
步骤S530:当所述第一会话进程结束或者所述第一会话进程处于等待超时状态时,将所述当前会话进程切换为所述第二会话进程。
在一些实施例中,第二用户需要与虚拟机器人进行交互时,需要进行会话切换。具体地,当第一会话进程结束或者第一会话进程处于等待超时状态时,将当前会话进程切换为第二会话进程,实现与第二用户的交互。
在一些实施例中,第一会话进程结束可以是第一用户通过输入指定指令主动进行结束,指定指令可以是文本指令,也可以是语音指令,如‘再见’。
在另一些实施例中,第一会话进程结束也可以是电子设备强制结束。作为一种方式,如果电子设备未获取到第一用户的人脸图像,不会立即中断第一会话进程,而是通过设置设定时长,设定时长为第一会话进程的最大等候时长,以在第一会话进程的等候时长大于设定时长时,才中断第一会话进程,即强制结束第一会话进程。从而用户可以不必时刻面向机器人,即在小于设定时长的条件下,可在交互过程中可选的面向其他地方。
在一些实施例中,请参阅图10,上述第一会话进程处于等待超时状态,可以包括:
步骤S531:当未获取到所述第一用户的人脸图像时,进行等待时间的计时。
在一些实施例中,当电子设备未获取到第一用户的人脸图像时,可以进行等待时间的计时,以根据等待时间确定第一会话进程是否结束。其中,可通过多种方式进行计时。例如,通过计时器,当电子设备未获取到第一用户的人脸图像时,开启计时器进行计时。
步骤S532:当所述计时的数值未达到设定时长,且未采集到所述第一用户的语音数据时,确定所述第一会话进程处于等待超时状态。
在一些实施例中,当计时的数值未达到设定时长,且未采集到第一用户的语音数据时,电子设备可确定第一会话进程处于等待超时状态,不会强制结束第一会话进程。从而,通过设置等候时间,使第一会话进程在未超时情况下维持“尚未确认结束”的状态,而不是立即中断第一会话进程,避免了由于用户的偶尔转身或是偶尔远离导致会话进程结束,使得同一会话进程被重复建立的情况。
在一些实施例中,也可以通过设置倒计时,确定第一会话进程的等候时间超时。其中,将倒计时的初始值设定为上述设定时长。
在一些实施例中,如果在第一会话进程的等候期间,电子设备重新获取到第一用户的人脸图像,则可以重置等候时间的倒计时,或者重启计时器,等到下次电子设备未获取第一用户的人脸图像,再开始计时或倒计时。
步骤S540:将所述第二会话进程对应的第二用户作为所述当前会话进程对应的目标用户,并根据所述第二人脸特征,实时获取所述目标用户的人脸图像。
在一些实施例中,当电子设备将当前会话进程由第一会话进程切换为第二会话进程时,可以将第二会话进程对应的第二用户作为当前会话进程对应的目标用户,并根据第二人脸特征,实时获取目标用户的人脸图像。具体地图像获取方式可参阅前述实施例的内容,再次不再赘述。
步骤S550:根据所述人脸图像,确定所述目标用户的头部的空间位置。
步骤S560:根据所述空间位置,获取所述虚拟机器人的头部的姿态调整参数序列,所述姿态调整参数序列包括多个姿态调整参数。
步骤S570:基于所述姿态调整参数序列,逐步调整所述虚拟机器人的头部姿态,直至所述虚拟机器人的头部朝向所述目标用户,并生成图像序列,所述图像序列由多帧连续的所述虚拟机器人的姿态图像构成。
步骤S580:根据所述图像序列,生成并输出包含所述虚拟机器人的头部姿态变化的交互视频。
在本申请实施例中,步骤S550~步骤S580可以参阅前述实施例的内容,在此不再赘述。
例如,当电子设备当前正运行会话进程A时,可调整虚拟机器人的头部和身体朝向用户A,当电子设备当前正运行的会话进程切换到会话进程B时,可调整虚拟机器人的头部和身体朝向用户B,与用户B进行交互。
可以理解的是,本实施例中上述的各个步骤,可以均由电子设备在本地进行,也可以均在服务器中进行,还可以由电子设备与服务器分工进行,根据实际应用场景的不同,可以按照需求进行任务的分配,以实现最优化的拟真机器人客服体验,在此并不作限定。
本申请实施例提供的虚拟机器人的交互方法,当当前会话进程为第一会话进程时,如果获取到第二用户的人脸图像,则可以提取第二用户的人脸图像对应的第二人脸特征,建立与第二用户对应的第二会话进程,并将第二会话进程与第二人脸特征绑定,然后当第一会话进程结束或者第一会话进程处于等待超时状态时,将当前会话进程切换为第二会话进程,以使虚拟机器人当前与第二用户进行交互,从而可将第二会话进程对应的第二用户作为当前会话进程对应的目标用户,并根据第二人脸特征,实时获取目标用户的人脸图像,然后根据人脸图像,确定目标用户的头部的空间位置,根据空间位置,获取虚拟机器人的头部的姿态调整参数序列,并基于所述姿态调整参数序列,逐步调整虚拟机器人的头部姿态,直至虚拟机器人的头部朝向目标用户,并生成图像序列,根据图像序列,生成并输出包含虚拟机器人的头部姿态变化的交互视频。本申请可以建立多个用户绑定的会话进程,可在会话进程切换时,从根据一用户的头部位置调整虚拟机器人的头部姿态,实时更新为根据另一用户的头部位置调整虚拟机器人的头部姿态,从而可在与多个绑定用户进行交互时,可动态根据不同的绑定用户调整数字人头部及身体的姿态。
应该理解的是,虽然图2、图4、图5、图7、图8、图9、以及图10的流程示意图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图4、图5、图7、图8、图9、以及图10中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
请参阅图11,图11示出了本申请一个实施例提供的一种虚拟机器人的交互装置的模块框图。下面将针对图11所示的模块框图进行阐述,该虚拟机器人的交互装置900包括:图像获取模块910、位置确定模块920、参数获取模块930、图像生成模块940以及视频生成模块950。其中:
图像获取模块910,用于实时获取当前会话进程对应的目标用户的人脸图像,所述会话进程中所述虚拟机器人与所述目标用户一对一交互;
位置确定模块920,用于根据所述人脸图像,确定所述目标用户的头部的空间位置;
参数获取模块930,用于根据所述空间位置,获取所述虚拟机器人的头部的姿态调整参数序列,所述姿态调整参数序列包括多个姿态调整参数;
图像生成模块940,用于基于所述姿态调整参数序列,逐步调整所述虚拟机器人的头部姿态,直至所述虚拟机器人的头部朝向所述目标用户,并生成图像序列,所述图像序列由多帧连续的所述虚拟机器人的姿态图像构成;
视频生成模块950,用于根据所述图像序列,生成并输出包含所述虚拟机器人的头部姿态变化的交互视频。
在一些实施方式中,虚拟机器人的交互装置900还可以包括:第一特征提取模块以及第一特征绑定模块。其中,第一特征提取模块用于当获取到第一用户的人脸图像时,提取所述第一用户的人脸图像对应的第一人脸特征;第一特征绑定模块用于建立与所述第一用户对应的第一会话进程,并将所述第一会话进程与所述第一人脸特征绑定。图像获取模块910可以具体用于:当所述当前会话进程为所述第一会话进程时,将所述第一会话进程对应的第一用户作为所述当前会话进程对应的目标用户,并根据所述第一人脸特征,实时获取所述目标用户的人脸图像。
进一步地,在一些实施方式中,虚拟机器人的交互装置900还可以包括:第二特征提取模块、第二特征绑定模块以及进程切换模块。其中,第二特征提取模块用于当所述当前会话进程为所述第一会话进程时,如果获取到第二用户的人脸图像,则提取所述第二用户的人脸图像对应的第二人脸特征;第二特征绑定模块用于建立与所述第二用户对应的第二会话进程,并将所述第二会话进程与所述第二人脸特征绑定;进程切换模块用于当所述第一会话进程结束或者所述第一会话进程处于等待超时状态时,将所述当前会话进程切换为所述第二会话进程。图像获取模块910可以具体用于:将所述第二会话进程对应的第二用户作为所述当前会话进程对应的目标用户,并根据所述第二人脸特征,实时获取所述目标用户的人脸图像。
进一步地,在一些实施方式中,上述进程切换模块中的第一会话进程处于等待超时状态,可以包括:当未获取到所述第一用户的人脸图像时,进行等待时间的计时;当所述计时的数值未达到设定时长,且未采集到所述第一用户的语音数据时,确定所述第一会话进程处于等待超时状态。
在一些实施方式中,参数获取模块930可以具体用于:根据所述空间位置,获取所述虚拟机器人的头部朝向所述目标用户时所述虚拟机器人的头部的目标姿态参数;获取所述虚拟机器人的头部的当前姿态参数;基于所述当前姿态参数以及所述目标姿态参数,确定所述虚拟机器人的头部的姿态调整参数序列。
进一步地,在一些实施方式中,虚拟机器人的交互装置900还可以包括:位置检测模块、参数更新模块、图像更新模块以及视频更新模块。其中,位置检测模块用于在所述交互视频的播放过程中,如果检测到所述目标用户的头部的空间位置发生变化,则根据变化后的空间位置,获取所述虚拟机器人的头部朝向所述目标用户时所述虚拟机器人的头部的目标更新姿态参数;参数更新模块用于当所述目标更新姿态参数与所述目标姿态参数之间的差值大于预设值时,基于所述虚拟机器人的头部的当前姿态参数以及所述目标更新姿态参数,确定所述虚拟机器人的头部的新的姿态调整参数序列;图像更新模块用于基于所述新的姿态调整参数序列,逐步调整所述虚拟机器人的头部姿态,直至所述虚拟机器人的头部朝向所述目标用户,并生成新的图像序列;视频更新模块用于根据所述新的图像序列,生成并输出包含所述虚拟机器人的头部姿态变化的交互更新视频,所述交互更新视频用于替换所述交互视频进行播放。
在一些实施方式中,上述人脸图像由单个摄像头采集到,位置确定模块920可以具体用于:根据所述人脸图像,获取所述目标用户的人脸的平面坐标;将所述平面坐标转换为空间坐标系中的三维坐标,并将所述三维坐标作为所述目标用户的头部的空间位置,其中,所述空间坐标系以所述虚拟机器人的头部的空间位置为原点。
在另一些实施方式中,上述人脸图像由多个摄像头采集到,位置确定模块920也可以具体用于:根据不同摄像头采集到的人脸图像,获取所述目标用户的头部的深度信息;根据所述深度信息,获取所述目标用户的头部在空间坐标系中的空间位置,所述空间坐标系以所述虚拟机器人的头部的空间位置为原点。
在一些实施方式中,图像生成模块940可以具体用于:根据所述虚拟机器人的头部与身体的对应关系,以及所述姿态调整参数序列,确定所述虚拟机器人的身体调整参数序列,所述身体调整参数序列与所述姿态调整参数序列对应;基于所述姿态调整参数序列以及所述身体调整参数序列,逐步调整所述虚拟机器人的头部姿态和身体姿态,直至所述虚拟机器人的头部和身体朝向所述目标用户,并生成图像序列。
本申请实施例提供的机器人的交互装置用于实现前述方法实施例中相应的机器人的交互方法,并具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的技术人员可以清楚地了解到,本申请实施例提供的机器人的交互装置能够实现上述方法实施例中的各个过程,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参阅前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,所显示或讨论的模块相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参阅图12,其示出了本申请实施例提供的一种电子设备600(即前述电子设备101)的结构框图。该电子设备600可以是智能手机、平板电脑、电子书等能够运行应用程序的电子设备,也可是实体机器人。本申请中的电子设备600可以包括一个或多个如下部件:处理器610、存储器620以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器620中并被配置为由一个或多个处理器610执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器610可以包括一个或者多个处理核。处理器610利用各种接口和线路连接整个电子设备600内的各个部分,通过运行或执行存储在存储器620内的指令、程序、代码集或指令集,以及调用存储在存储器620内的数据,执行电子设备600的各种功能和处理数据。可选地,处理器610可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器610可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器610中,单独通过一块通信芯片进行实现。
存储器620可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器620可用于存储指令、程序、代码、代码集或指令集。存储器620可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备600在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图12中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
请参阅图13,其示出了本申请实施例提供的一种计算机可读存储介质的模块框图。该计算机可读存储介质1100中存储有程序代码1110,所述程序代码1110可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质1100可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质1100包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质1100具有执行上述方法中的任何方法步骤的程序代码1110的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码1110可以例如以适当形式进行压缩。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是智能网关,手机,计算机,服务器,空调器或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请各实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护范围之内。

Claims (10)

1.一种虚拟机器人的交互方法,其特征在于,所述方法包括:
当获取到第一用户的人脸图像时,提取所述第一用户的人脸图像对应的第一人脸特征;
建立与所述第一用户对应的第一会话进程,并将所述第一会话进程与所述第一人脸特征绑定;
当当前会话进程为所述第一会话进程时,如果获取到第二用户的人脸图像,则提取所述第二用户的人脸图像对应的第二人脸特征;
建立与所述第二用户对应的第二会话进程,并将所述第二会话进程与所述第二人脸特征绑定;
当所述第一会话进程结束或者所述第一会话进程处于等待超时状态时,将所述当前会话进程切换为所述第二会话进程;
当所述当前会话进程为所述第一会话进程时,将所述第一会话进程对应的第一用户作为所述当前会话进程对应的目标用户,并根据所述第一人脸特征,实时获取所述目标用户的人脸图像;当所述当前会话进程为所述第二会话进程时,将所述第二会话进程对应的第二用户作为所述当前会话进程对应的目标用户,并根据所述第二人脸特征,实时获取所述目标用户的人脸图像;所述会话进程中所述虚拟机器人与所述目标用户一对一交互;
根据所述人脸图像,确定所述目标用户的头部的空间位置;
根据所述空间位置,获取所述虚拟机器人的头部的姿态调整参数序列,所述姿态调整参数序列包括多个姿态调整参数;
基于所述姿态调整参数序列,逐步调整所述虚拟机器人的头部姿态,直至所述虚拟机器人的头部朝向所述目标用户,并生成图像序列,所述图像序列由多帧连续的所述虚拟机器人的姿态图像构成;
根据所述图像序列,生成并输出包含所述虚拟机器人的头部姿态变化的交互视频。
2.根据权利要求1所述的方法,其特征在于,所述第一会话进程处于等待超时状态,包括:
当未获取到所述第一用户的人脸图像时,进行等待时间的计时;
当所述计时的数值未达到设定时长,且未采集到所述第一用户的语音数据时,确定所述第一会话进程处于等待超时状态。
3.根据权利要求1所述的方法,其特征在于,所述根据所述空间位置,获取所述虚拟机器人的头部的姿态调整参数序列,包括:
根据所述空间位置,获取所述虚拟机器人的头部朝向所述目标用户时所述虚拟机器人的头部的目标姿态参数;
获取所述虚拟机器人的头部的当前姿态参数;
基于所述当前姿态参数以及所述目标姿态参数,确定所述虚拟机器人的头部的姿态调整参数序列。
4.根据权利要求3所述的方法,其特征在于,在所述根据所述图像序列,生成并输出包含所述虚拟机器人的头部姿态变化的交互视频之后,所述方法还包括:
在所述交互视频的播放过程中,如果检测到所述目标用户的头部的空间位置发生变化,则根据变化后的空间位置,获取所述虚拟机器人的头部朝向所述目标用户时所述虚拟机器人的头部的目标更新姿态参数;
当所述目标更新姿态参数与所述目标姿态参数之间的差值大于预设值时,基于所述虚拟机器人的头部的当前姿态参数以及所述目标更新姿态参数,确定所述虚拟机器人的头部的新的姿态调整参数序列;
基于所述新的姿态调整参数序列,逐步调整所述虚拟机器人的头部姿态,直至所述虚拟机器人的头部朝向所述目标用户,并生成新的图像序列;
根据所述新的图像序列,生成并输出包含所述虚拟机器人的头部姿态变化的交互更新视频,所述交互更新视频用于替换所述交互视频进行播放。
5.根据权利要求1所述的方法,其特征在于,所述人脸图像由单个摄像头采集到,所述根据所述人脸图像,确定所述目标用户的头部的空间位置,包括:
根据所述人脸图像,获取所述目标用户的人脸的平面坐标;
将所述平面坐标转换为空间坐标系中的三维坐标,并将所述三维坐标作为所述目标用户的头部的空间位置,其中,所述空间坐标系以所述虚拟机器人的头部的空间位置为原点。
6.根据权利要求1所述的方法,其特征在于,所述人脸图像由多个摄像头采集到,所述根据所述人脸图像,确定所述目标用户的头部的空间位置,包括:
根据不同摄像头采集到的人脸图像,获取所述目标用户的头部的深度信息;
根据所述深度信息,获取所述目标用户的头部在空间坐标系中的空间位置,所述空间坐标系以所述虚拟机器人的头部的空间位置为原点。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述基于所述姿态调整参数序列,逐步调整所述虚拟机器人的头部姿态,直至所述虚拟机器人的头部朝向所述目标用户,并生成图像序列,包括:
根据所述虚拟机器人的头部与身体的对应关系,以及所述姿态调整参数序列,确定所述虚拟机器人的身体调整参数序列,所述身体调整参数序列与所述姿态调整参数序列对应;
基于所述姿态调整参数序列以及所述身体调整参数序列,逐步调整所述虚拟机器人的头部姿态和身体姿态,直至所述虚拟机器人的头部和身体朝向所述目标用户,并生成图像序列。
8.一种虚拟机器人的交互装置,其特征在于,所述装置包括:
第一特征提取模块,用于当获取到第一用户的人脸图像时,提取所述第一用户的人脸图像对应的第一人脸特征;
第一特征绑定模块,用于建立与所述第一用户对应的第一会话进程,并将所述第一会话进程与所述第一人脸特征绑定;
第二特征提取模块,用于当当前会话进程为所述第一会话进程时,如果获取到第二用户的人脸图像,则提取所述第二用户的人脸图像对应的第二人脸特征;
第二特征绑定模块,建立与所述第二用户对应的第二会话进程,并将所述第二会话进程与所述第二人脸特征绑定;
进程切换模块,用于当所述第一会话进程结束或者所述第一会话进程处于等待超时状态时,将所述当前会话进程切换为所述第二会话进程;
图像获取模块,用于当所述当前会话进程为所述第一会话进程时,将所述第一会话进程对应的第一用户作为所述当前会话进程对应的目标用户,并根据所述第一人脸特征,实时获取所述目标用户的人脸图像;所述图像获取模块还用于当所述当前会话进程为所述第二会话进程时,将所述第二会话进程对应的第二用户作为所述当前会话进程对应的目标用户,并根据所述第二人脸特征,实时获取所述目标用户的人脸图像;其中,所述会话进程中所述虚拟机器人与所述目标用户一对一交互;
位置确定模块,用于根据所述人脸图像,确定所述目标用户的头部的空间位置;
参数获取模块,用于根据所述空间位置,获取所述虚拟机器人的头部的姿态调整参数序列,所述姿态调整参数序列包括多个姿态调整参数;
图像生成模块,用于基于所述姿态调整参数序列,逐步调整所述虚拟机器人的头部姿态,直至所述虚拟机器人的头部朝向所述目标用户,并生成图像序列,所述图像序列由多帧连续的所述虚拟机器人的姿态图像构成;
视频生成模块,用于根据所述图像序列,生成并输出包含所述虚拟机器人的头部姿态变化的交互视频。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行如权利要求1-7任一项所述的方法。
10.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-7任一项所述的方法。
CN201911006857.3A 2019-10-22 2019-10-22 虚拟机器人的交互方法、装置、电子设备及存储介质 Active CN110555507B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911006857.3A CN110555507B (zh) 2019-10-22 2019-10-22 虚拟机器人的交互方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911006857.3A CN110555507B (zh) 2019-10-22 2019-10-22 虚拟机器人的交互方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110555507A CN110555507A (zh) 2019-12-10
CN110555507B true CN110555507B (zh) 2021-03-23

Family

ID=68743144

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911006857.3A Active CN110555507B (zh) 2019-10-22 2019-10-22 虚拟机器人的交互方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110555507B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111389010B (zh) * 2020-02-21 2023-04-07 网易(杭州)网络有限公司 虚拟机器人训练方法、装置、电子设备和介质
CN111625101B (zh) * 2020-06-03 2024-05-17 上海商汤智能科技有限公司 一种展示控制方法及装置
CN111953801A (zh) * 2020-08-31 2020-11-17 北京猎户星空科技有限公司 机器人的远程控制方法、装置、电子设备及存储介质
CN112711331A (zh) * 2020-12-28 2021-04-27 京东数科海益信息科技有限公司 机器人交互方法、装置、存储设备和电子设备
CN114093384A (zh) * 2021-11-22 2022-02-25 上海商汤科技开发有限公司 说话视频生成方法、装置、设备以及存储介质
CN114120448B (zh) * 2021-11-29 2023-04-07 北京百度网讯科技有限公司 图像处理方法和装置
CN117372322A (zh) * 2022-06-30 2024-01-09 武汉联影智融医疗科技有限公司 人脸朝向的确定方法及装置、人脸图像的重建方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109048940A (zh) * 2018-08-29 2018-12-21 宁波Gqy视讯股份有限公司 一种机器人的人机交互方法及机器人
CN109108968A (zh) * 2018-08-17 2019-01-01 深圳市三宝创新智能有限公司 机器人头部运动调整的交互方法、装置、设备和存储介质
CN109955248A (zh) * 2017-12-26 2019-07-02 深圳市优必选科技有限公司 一种机器人及其人脸跟随方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110290096B (zh) * 2018-03-19 2022-06-24 阿里巴巴集团控股有限公司 一种人机交互方法和终端
CN108733215A (zh) * 2018-05-17 2018-11-02 华南农业大学 一种拟人化虚拟助手注视方向控制方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109955248A (zh) * 2017-12-26 2019-07-02 深圳市优必选科技有限公司 一种机器人及其人脸跟随方法
CN109108968A (zh) * 2018-08-17 2019-01-01 深圳市三宝创新智能有限公司 机器人头部运动调整的交互方法、装置、设备和存储介质
CN109048940A (zh) * 2018-08-29 2018-12-21 宁波Gqy视讯股份有限公司 一种机器人的人机交互方法及机器人

Also Published As

Publication number Publication date
CN110555507A (zh) 2019-12-10

Similar Documents

Publication Publication Date Title
CN110555507B (zh) 虚拟机器人的交互方法、装置、电子设备及存储介质
US20210383586A1 (en) Artificial intelligence-based animation character drive method and related apparatus
CN110390704B (zh) 图像处理方法、装置、终端设备及存储介质
CN112379812B (zh) 仿真3d数字人交互方法、装置、电子设备及存储介质
US11736756B2 (en) Producing realistic body movement using body images
CN110942501B (zh) 虚拟形象切换方法、装置、电子设备及存储介质
CN110794964A (zh) 虚拟机器人的交互方法、装置、电子设备及存储介质
US11452941B2 (en) Emoji-based communications derived from facial features during game play
KR102491140B1 (ko) 가상 아바타 생성 방법 및 장치
CN111432267B (zh) 视频调整方法、装置、电子设备及存储介质
CN110286756A (zh) 视频处理方法、装置、系统、终端设备及存储介质
KR101306221B1 (ko) 3차원 사용자 아바타를 이용한 동영상 제작장치 및 방법
KR101894573B1 (ko) 3d 디지털 액터형 스마트폰 인터페이스 운용시스템
CN110969682B (zh) 虚拟形象切换方法、装置、电子设备及存储介质
CN108525305A (zh) 图像处理方法、装置、存储介质及电子设备
CN110418095B (zh) 虚拟场景的处理方法、装置、电子设备及存储介质
CN108648251B (zh) 3d表情制作方法及系统
KR102148151B1 (ko) 디지털 커뮤니케이션 네트워크에 기반한 지능형 채팅
WO2022252866A1 (zh) 一种互动处理方法、装置、终端及介质
CN108563327B (zh) 增强现实方法、装置、存储介质及电子设备
CN111538456A (zh) 基于虚拟形象的人机交互方法、装置、终端以及存储介质
JP2023524119A (ja) 顔イメージ生成方法、装置、電子機器及び可読記憶媒体
WO2021232875A1 (zh) 一种驱动数字人的方法、装置及电子设备
EP3809236A1 (en) Avatar facial expression generating system and method of avatar facial expression generation
CN112669422A (zh) 仿真3d数字人生成方法、装置、电子设备及存储介质

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