CN117115321B - 虚拟人物眼睛姿态的调整方法、装置、设备及存储介质 - Google Patents

虚拟人物眼睛姿态的调整方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117115321B
CN117115321B CN202311374525.7A CN202311374525A CN117115321B CN 117115321 B CN117115321 B CN 117115321B CN 202311374525 A CN202311374525 A CN 202311374525A CN 117115321 B CN117115321 B CN 117115321B
Authority
CN
China
Prior art keywords
head
virtual character
current
pose
node
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
CN202311374525.7A
Other languages
English (en)
Other versions
CN117115321A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202311374525.7A priority Critical patent/CN117115321B/zh
Publication of CN117115321A publication Critical patent/CN117115321A/zh
Application granted granted Critical
Publication of CN117115321B publication Critical patent/CN117115321B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • 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/18Eye characteristics, e.g. of the iris

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Ophthalmology & Optometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请涉及人工智能领域,特别涉及计算机视觉领域,提供了一种虚拟人物眼睛姿态的调整方法、装置、设备及存储介质。该方法包括:在检测到虚拟人物的头部位姿发生变化时,根据虚拟人物的当前头部姿态与图像采集设备的设备偏移角,重新确定虚拟人物的姿态调整值,每次只需要调整两只眼睛上下看与左右看的参数值即可,实现了全自动化的实时调整,不仅省时省力,且基于虚拟人物的当前头部姿态与图像采集设备的设备偏移角,可准确预估虚拟人物的眼睛与图像采集设备之间的角度偏差,大大提高了调整精准度,以免矫正后依然出现虚拟人物的眼神飘忽等影响形象的问题产生。

Description

虚拟人物眼睛姿态的调整方法、装置、设备及存储介质
技术领域
本申请涉及人工智能领域,特别涉及计算机视觉领域,提供了一种虚拟人物眼睛姿态的调整方法、装置、设备及存储介质。
背景技术
3D数字人(3D Digital Human)是由计算机图形学技术创造出的一种与人类形象高度接近的数字化形象,并赋予其特定的任务身份设定与人格特征,带给人类真实的情感互动。
在驱动3D数字人运行的过程中,通过摄像头拍摄3D数字人的图像,并在客户端的相关界面中,向使用3D数字人相关产品的对象展示拍摄得到的图像。
然而,实际应用中,3D数字人的眼睛始终是望向前方的,随着3D数字人的头部发生轻微地位姿变化,其眼睛位姿也会随之改变。由于摄像头位姿并未改变,导致3D数字人的眼睛与摄像头之间存在角度偏差,出现3D数字人眼神飘忽等影响人物形象的画面,进而影响产品使用效果。因此,在头部位姿发生变化时,如何调整3D数字人的眼睛姿态,成为了目前重点关注的话题。
在相关技术中,在检测到3D数字人的头部位姿发生变化时,通常是基于人工经验,手动调整3D数字人的眼睛姿态。然而,手动调整方式无法准确预估3D数字人的眼睛与摄像头之间的角度偏差,调整精准度低,依然会出现眼神飘忽的现象,导致3D数字人的形象不佳,影响产品使用效果。
因此,为了解决上述问题,又提出了一种新的虚拟人物眼睛姿态的调整方法。
发明内容
本申请实施例提供了一种虚拟人物眼睛姿态的调整方法、装置、设备及存储介质,以解决在头部位姿发生变化时,无法精准调整眼睛姿态的问题。
第一方面,本申请实施例提供了一种虚拟人物眼睛姿态的调整方法,包括:
在检测到虚拟人物的头部位姿发生变化时,获得所述虚拟人物中各骨骼结点的结点姿态信息与头部结点的结点位置信息,以及获得对所述虚拟人物进行图像采集的图像采集设备的当前设备位置;所述头部结点为所述骨骼结点中的一种;
基于所述头部结点的结点位置信息,获得所述虚拟人物的当前头部位置,并基于所述当前头部位置与所述当前设备位置,获得所述图像采集设备相对于所述虚拟人物头部的设备偏移角;
基于所述各骨骼结点各自的结点姿态信息,获得所述虚拟人物的当前头部姿态,并基于所述设备偏移角与所述当前头部姿态,获得所述虚拟人物的姿态调整值;
按照获得的姿态调整值,调整所述虚拟人物的当前眼睛姿态。
第二方面,本申请实施例还提供了一种虚拟人物眼睛姿态的调整装置,包括:
信息获取单元,用于在检测到虚拟人物的头部位姿发生变化时,获得所述虚拟人物中各骨骼结点的结点姿态信息与头部结点的结点位置信息,以及获得对所述虚拟人物进行图像采集的图像采集设备的当前设备位置;所述头部结点为所述骨骼结点中的一种;
偏差生成单元,用于基于所述头部结点的结点位置信息,获得所述虚拟人物的当前头部位置,并基于所述当前头部位置与所述当前设备位置,获得所述图像采集设备相对于所述虚拟人物头部的设备偏移角;
姿态调整单元,用于基于所述各骨骼结点各自的结点姿态信息,获得所述虚拟人物的当前头部姿态,并基于所述设备偏移角与所述当前头部姿态,获得所述虚拟人物的姿态调整值;
按照获得的姿态调整值,调整所述虚拟人物的当前眼睛姿态。
可选的,所姿态调整单元用于:
获得所述各骨骼结点各自的四元数,分别对各四元数进行数据变换,获得相应的结点旋转矩阵,每个四元数表征:相应骨骼结点在所述三维空间坐标系的结点姿态信息;
依次将所述各结点旋转矩阵相乘,获得所述虚拟人物的头部旋转矩阵;
对所述头部旋转矩阵进行矩阵变换,获得所述虚拟人物的当前头部姿态。
可选的,在检测到虚拟人物的头部位姿发生变化时,所述虚拟人物眼睛姿态的调整装置还包括位置更新单元,所述位置更新单元用于:
当检测到所述图像采集设备的位姿发生变化时,更新所述图像采集设备的当前设备位置;
所述偏差生成单元还用于:
基于所述当前头部位置与更新后的当前设备位置中的横坐标,获得所述虚拟人物头部与位姿变化后的图像采集设备之间的水平距离;
基于所述当前头部位置与所述更新后的当前设备位置中的纵坐标,获得所述虚拟人物头部与所述位姿变化后的图像采集设备之间的垂直距离。
第三方面,本申请实施例还提供了一种计算机设备,包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行上述任意一种虚拟人物眼睛姿态的调整方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其包括程序代码,当程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行上述任意一种虚拟人物眼睛姿态的调整方法的步骤。
第五方面,本申请实施例还提供了一种计算机程序产品,包括计算机指令,计算机指令被处理器执行上述任意一种虚拟人物眼睛姿态的调整方法的步骤。
本申请有益效果如下:
本申请实施例提供了一种虚拟人物眼睛姿态的调整方法、装置、设备及存储介质,该方法包括:在检测到虚拟人物的头部位姿发生变化时,基于虚拟人物中各骨骼结点的结点位姿信息与图像采集设备的当前设备位置,得到虚拟人物的当前头部姿态与图像采集设备相对于虚拟人物头部的设备偏移角,再基于当前头部姿态与设备偏移角,重新确定虚拟人物的姿态调整值,并按照姿态调整值,重新调整虚拟人物的当前眼睛姿态,相较于手动逐帧调整方式来书,本申请实施例提供的调整方式,实现了全自动化的实时调整,不仅省时省力,且基于虚拟人物的当前头部姿态与图像采集设备的设备偏移角,可准确预估虚拟人物的眼睛与图像采集设备之间的角度偏差,大大提高了调整精准度,以免矫正后依然出现虚拟人物的眼神飘忽等影响形象的问题产生。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中一种应用场景的一个可选示意图;
图2A为本申请实施例提供的调整虚拟人物眼睛姿态的流程示意图;
图2B为本申请实施例提供的调整虚拟人物眼睛姿态的逻辑示意图;
图2C为本申请实施例提供的虚拟人物的骨骼结点示意图;
图2D为本申请实施例提供的头部结点绕各轴旋转的示意图;
图2E为本申请实施例提供的摄像头拍摄3D数字人图像的示意图;
图2F为本申请实施例提供的获得设备偏移角的流程示意图;
图2G为本申请实施例提供的虚拟人物的头部姿态示意图;
图2H为本申请实施例提供的直视状态下计算设备偏移角的示意图;
图2H'为本申请实施例提供的在虚拟人物的头部保持不动,但图像采集设备移动到距离头部更远的地方时,计算设备偏移角的示意图;
图2I为本申请实施例提供的向下低头时计算设备偏移角的示意图;
图2I'为本申请实施例提供的在虚拟人物向下低头时,将图像采集设备移动到距离头部更远的地方,计算设备偏移角的示意图;
图2J为本申请实施例提供的向左摇头时计算设备偏移角的示意图;
图2J'为本申请实施例提供的在虚拟人物向左摇头时,将图像采集设备移动到距离头部更远的地方,计算设备偏移角的示意图;
图2K为本申请实施例提供的获得虚拟人物的当前头部姿态的流程示意图;
图3为本申请实施例提供的调整进行语音播报的3D数字人的眼睛姿态的流程示意图;
图4为本申请实施例提供的一种虚拟人物眼睛姿态的调整装置的结构示意图;
图5为应用本申请实施例的一种计算机设备的一个硬件组成结构示意图;
图6为应用本申请实施例的另一种计算机设备的一个硬件组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
以下对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
1、人工智能(Artificial Intelligence,AI):
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术;人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
随着人工智能技术研究和进步,人工智能在多个领域展开研究和应用,例如常见的智能家居、智能客服、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、机器人、智能医疗等,相信随着技术的发展,人工智能将在更多的领域得到应用,并发挥越来越重要的价值。
2、机器学习:
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍布人工智能的各个领域,包括深度学习、强化学习、迁移学习、归纳学习、式教学习等技术。
3、计算机视觉是一门集计算机科学、信号处理、物理学、应用数学、统计学、神经生理学等多学科于一身的综合性学科,也是科学领域中一个富有挑战性的重要研究方向。
该学科使用各种成像系统代替视觉器官作为输入手段,由计算机代替大脑完成处理和解释,使得计算机可以具备像人类一样通过视觉的方式观察、理解世界的能力。其中,计算机视觉的子领域包括人脸检测、人脸对比、五官检测、眨眼检测、活体检测、疲劳检测等。
4、位姿包括物体在三维空间中的位置与姿态。位置是指当前坐标系相对于参考坐标系的平移数据,用于描述物体在三维空间的所在处。姿态是指当前三维空间坐标系相对于参考三维空间坐标系的旋转数据,用于描述物体绕三维空间X轴、Y轴与Z轴旋转的状态。
5、动作捕捉是一项能够实时地准确测量、记录观察对象在实际三维空间中的各类运动轨迹与姿态,并在虚拟三维空间中重构该对象在各时刻的运动状态的高新技术。其中,观察对象可以是人、物体与动物。
动作捕捉具体分为肢体捕捉与面部捕捉。肢体捕捉用于捕捉观察对象的动作姿态,面部捕捉则利用RGB摄像头,捕捉观察对象的面部表情。
下面对本申请实施例的设计思想进行简要介绍:
3D数字人是由计算机图形学技术创造出的一种与人类形象高度接近的数字化形象,并赋予其特定的任务身份设定与人格特征,带给人类真实的情感互动。
在驱动3D数字人运行的过程中,通过摄像头拍摄3D数字人的图像,并在客户端的相关界面中,向使用3D数字人相关产品的对象展示拍摄得到的图像。
然而,实际应用中,3D数字人的眼睛始终是望向前方的,随着3D数字人的头部发生轻微地位姿变化,其眼睛位姿也会随之改变。由于摄像头位姿并未改变,导致3D数字人的眼睛与摄像头之间存在角度偏差,出现3D数字人眼神飘忽等影响人物形象的画面,进而影响产品使用效果。因此,在头部位姿发生变化时,如何调整3D数字人的眼睛姿态,成为了目前重点关注的话题。
在相关技术中,在检测到3D数字人的头部位姿发生变化时,通常是基于人工经验,手动调整3D数字人的眼睛姿态。然而,手动调整方式无法准确预估3D数字人的眼睛与摄像头之间的角度偏差,调整精准度低,依然会出现眼神飘忽的现象,导致3D数字人的形象不佳,影响产品使用效果。
因此,为了解决上述问题,本申请又提出了一种新的虚拟人物眼睛姿态的调整方法。该方法包括:在检测到虚拟人物的头部位姿发生变化时,基于虚拟人物中各骨骼结点的结点位姿信息与图像采集设备的当前设备位置,得到虚拟人物的当前头部姿态与图像采集设备相对于虚拟人物头部的设备偏移角,再基于当前头部姿态与设备偏移角,重新确定虚拟人物的姿态调整值,并按照姿态调整值,重新调整虚拟人物的当前眼睛姿态,实现全自动化的实时调整,不仅省时省力,且基于虚拟人物的当前头部姿态与图像采集设备的设备偏移角,可准确预估虚拟人物的眼睛与图像采集设备之间的角度偏差,大大提高了调整精准度,以免矫正后依然出现虚拟人物的眼神飘忽等影响形象的问题产生。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
以计算机视觉技术为基础所创建的3D数字人,因其高度仿真的人物形象,广泛应用于有数字化需求的领域,包括但不限于直播、影视、游戏、办公、金融、教育、医疗、车联网等领域中。例如,3D数字人应用于影视、游戏等领域时,能够帮助制作人员更好地设计人物形象与动作,有利于提升作品的视觉效果与使用沉浸感;其应用于教育等领域时,能够帮助学习者更好地理解与掌握知识,有利于提升学习者的知识吸收效率与学习效果;其应用于医疗、工业等领域时,能够辅助医生、工程师模拟与预测,有利于提升工作效率与安全性。
图1示出了其中一种应用场景,该场景包括两个终端设备110与一台服务器130,终端设备110通过有线网络或无线网络,与服务器130之间建立通信连接。
其中,终端设备110包括但不限于:手机、电脑(如平板电脑、笔记本电脑、台式计算机等)、智能家电、智能语音交互设备(如智能手表、智能音箱等)、车载终端、飞行器等等。
本申请实施例的服务器130可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,本申请在此不做限制。
终端设备110响应于使用对象的触发操作,在相关产品的展示界面120中呈现虚拟人物的人物形象。其中,触发操作包括但不限于:点击操作、按压操作、语音控制操作。
当终端设备110检测到该虚拟人物的头部位姿发生变化时,将获取虚拟人物中各骨骼结点的结点姿态信息与头部结点的结点位置信息,以及获取对虚拟人物进行图像采集的图像采集设备的当前设备位置,再将采集得到的上述信息发送至服务器130中。
服务器130基于头部结点的结点位置信息,获得虚拟人物的当前头部位置,并基于当前头部位置与当前设备位置,获得图像采集设备相对于虚拟人物头部的设备偏移角;然后,服务器130基于各骨骼结点各自的结点姿态信息,获得虚拟人物的当前头部姿态,并基于设备偏移角与当前头部姿态,获得虚拟人物的姿态调整值,并按照获得的姿态调整值,调整虚拟人物的当前眼睛姿态,通过终端设备110的展示界面120,向使用对象呈现调整后的虚拟人物,以解决因虚拟人物位姿变化,所产生的眼神飘忽等影响虚拟人物形象的问题。
本申请实施例提供的方法,可应用于针对虚拟人物的动作捕捉中,根据虚拟人物的当前头部姿态与图像采集设备的设备偏移角,重新调整虚拟人物的当前眼睛姿态,矫正因虚拟人物位姿变化导致的眼睛姿态偏差,使得调整后的眼睛能够直视图像采集设备,解决虚拟人物眼神飘忽等影响形象的问题。
如图2A~2B所示,调整虚拟人物眼睛姿态的过程如下:
S201:在检测到虚拟人物的头部位姿发生变化时,获得虚拟人物中各骨骼结点的结点姿态信息与头部结点的结点位置信息,以及获得对虚拟人物进行图像采集的图像采集设备的当前设备位置;头部结点为所述骨骼结点中的一种。
在驱动虚拟人物运行的过程中,实时检测虚拟人物的头部位姿是否发生变化,例如,在虚拟人物的躯干保持不动的状态下,其头部轻微地左右移动或者轻微地上下移动;又例如,随着虚拟人物的躯干向斜后方移动,其头部位姿也产生了向斜后方移动的变化。
在检测到虚拟人物的头部位姿发生变化时,使用基于传统动作捕捉技术的基础动捕设备,或者基于视觉动捕技术的视觉动捕设备,获得虚拟人物中各骨骼结点的结点姿态信息与头部结点的结点位置信息。
传统的动作捕捉技术主要分为机械式与惯性式两种。机械式动作捕捉技术是通过观察对象穿戴的传感器,来检测其在特定场景内的运动轨迹与运动速度,而惯性式动作捕捉技术是通过观察对象穿戴的惯性传感器检测其运动状态,确定观察对象的运动轨迹与运动速度。
视觉动捕技术是一种基于计算机视觉技术的运动捕捉技术,通过摄像机拍摄观察对象的动作,再将拍摄到的图像数据转换为数字信号,提取出观察对象的运动轨迹、运动速度等动作信息。
相较于传统的动作捕捉技术,视觉动捕技术不需要观察对象穿戴传感器,实现非接触式捕捉动作信息,也可以捕捉到细微的运动细节,实现高精度动作捕捉。此外,视觉动捕技术还可以同时对多个观察对象进行动作捕捉,提高动捕效率。
图2C示出了虚拟人物的多个骨骼结点,从上至下依次为:头部(head)结点、颈部(neck)结点、胸部(chest)结点与底部(root)结点。骨骼结点的位姿信息具体分为,结点位置信息与结点姿态信息。其中,结点位置信息,指的是该结点在当前三维空间坐标系的位置坐标,用于描述骨骼结点在三维空间的所在处。结点姿态信息,指的是位姿变化后的当前三维空间坐标系,相对于位姿变化前的参考三维空间坐标系的旋转数据。其中,三维空间坐标系可以以骨骼结点为原点构建,也能以三维空间中的某一点为原点构建,本申请在此不作限制。
以头部结点为例,图2D示出了以头部结点为原点建立的参考三维空间坐标系,头部结点绕着坐标系X轴旋转,得到俯仰角(pitch),绕着坐标系Y轴旋转,得到偏航角(yaw),以及绕着坐标系Z轴旋转,可以得到滚转角(roll)。
在驱动虚拟人物运行的过程中,是通过图像采集设备拍摄虚拟人物的图像,并在客户端的相关界面中,展示包含虚拟人物形象的画面。如图2E所示,在语音播报场景中,3D数字人会站立在屏幕中间,正对摄像头进行语音播报。但是,当3D数字人微微向下低头时,摄像头的位姿没有变化,导致3D数字人的眼睛与摄像头之间存在角度偏差,出现眼神飘忽等影响人物形象的画面。
为了矫正虚拟人物的眼睛姿态,不仅要确定当前眼睛姿态,还要确定图像采集设备在三维空间的所在处,因此,还需要获取图像采集设备的当前设备位置,即图像采集设备在三维空间坐标系的位置坐标。
S202:基于头部结点的结点位置信息,获得虚拟人物的当前头部位置,并基于当前头部位置与当前设备位置,获得图像采集设备相对于虚拟人物头部的设备偏移角。
虚拟人物的眼睛姿态变化受头部姿态变化影响,为了矫正因虚拟人物位姿变化导致的眼睛姿态偏差,使得调整后的眼睛能够直视图像采集设备,解决虚拟人物眼神飘忽等影响形象的问题,本申请实施例是根据虚拟人物的当前头部姿态与图像采集设备的设备偏移角,重新调整虚拟人物的当前眼睛姿态。
如图2F所示,先介绍如何确定图像采集设备的设备偏移角。
S2021:基于当前头部位置与当前设备位置,确定虚拟人物头部与图像采集设备之间的垂直距离与水平距离。
首先,基于当前头部位置与当前设备位置中的横坐标,获得虚拟人物头部与图像采集设备之间的水平距离;
其次,基于当前头部位置与当前设备位置中的纵坐标,获得虚拟人物头部与图像采集设备之间的垂直距离。
S2022:基于虚拟人物头部与图像采集设备之间的垂直距离与水平距离,获得图像采集设备相对于虚拟人物头部的设备偏移角。
另外,在检测到虚拟人物的头部位姿发生变化时,还包括:当检测到所述图像采集设备的位姿发生变化时,更新所述图像采集设备的当前设备位置。
因此,在计算设备偏移角时,先基于当前头部位置与更新后的当前设备位置中的横坐标,获得虚拟人物头部与位姿变化后的图像采集设备之间的水平距离,以及,基于当前头部位置与更新后的当前设备位置中的纵坐标,获得虚拟人物头部与位姿变化后的图像采集设备之间的垂直距离。然后,再基于虚拟人物头部与位姿变化后的图像采集设备之间的垂直距离与水平距离,获得图像采集设备相对于虚拟人物头部的设备偏移角。
如图2G所示,虚拟人物通常具有以下五种头部姿态,分别是直视姿态、低头姿态、抬头姿态、向左摇头姿态与向右摇头姿态。图中的白色长方体表示虚拟人物的头部,条纹长方体表示虚拟人物的身体,头部处延伸的直线表示虚拟人物的眼神方向。
在计算设备偏移角时,可分为直视状态、上下点头状态与左右摇头状态三种情况讨论。
(一)、直视状态。
1、假设虚拟人物的头部与图像采集设备位于同一水平面内,如图2H所示,当虚拟人物的眼睛直视图像采集设备时,虚拟人物的头部与图像采集设备之间没有角度偏差,因此,此时的设备偏移角为0°。
2、如图2H'所示,在虚拟人物的头部保持不动的情况下,将图像采集设备移动到距离头部更远的地方,此时虚拟人物的头部与图像采集设备之间产生了一定的角度偏差,基于虚拟人物头部与图像采集设备之间的垂直距离与水平距离,获得图像采集设备相对于虚拟人物头部的设备偏移角。
(二)、上下点头状态。
向上抬头与向下低头的计算方式是相同的,为了方便描述,以向下低头为例进行举例说明。
1、假设虚拟人物的头部与图像采集设备位于同一水平面内,如图2I所示,当虚拟人物向下低头时,其眼神朝向也发生了变化,望向下方,此时虚拟人物的头部与图像采集设备之间产生了一定的角度偏差,基于虚拟人物头部与图像采集设备之间的垂直距离与水平距离,获得图像采集设备相对于虚拟人物头部的设备偏移角。
2、如图2I'所示,在虚拟人物向下低头时,将图像采集设备移动到距离头部更远的地方,此时虚拟人物的头部与图像采集设备之间产生了一定的角度偏差,基于虚拟人物头部与图像采集设备之间的垂直距离与水平距离,获得图像采集设备相对于虚拟人物头部的设备偏移角。
(三)、左右摇头状态。
向左摇头与向右摇头的计算方式是相同的,为了方便描述,以向左摇头为例进行举例说明。
1、假设虚拟人物的头部与图像采集设备位于同一水平面内,如图2J所示,当虚拟人物向左摇头时,其眼神朝向也发生了变化,望向左边,此时虚拟人物的头部与图像采集设备之间产生了一定的角度偏差,基于虚拟人物头部与图像采集设备之间的垂直距离与水平距离,获得图像采集设备相对于虚拟人物头部的设备偏移角。
2、如图2J'所示,在虚拟人物向左摇头时,将图像采集设备移动到距离头部更远的地方,此时虚拟人物的头部与图像采集设备之间产生了一定的角度偏差,基于虚拟人物头部与图像采集设备之间的垂直距离与水平距离,获得图像采集设备相对于虚拟人物头部的设备偏移角。
S203:基于各骨骼结点各自的结点姿态信息,获得虚拟人物的当前头部姿态,并基于设备偏移角与当前头部姿态,获得虚拟人物的姿态调整值。
在虚拟人物运动的过程中,各骨骼结点在三维空间坐标系的位置与姿态也会发生变化。因此,可以基于各骨骼结点各自的结点姿态信息,确定此时虚拟人物的当前头部姿态。
如图2K所示,获得虚拟人物的当前头部姿态的过程如下:
S2031:获得各骨骼结点各自的四元数,分别对各四元数进行数据变换,获得相应的结点旋转矩阵,每个四元数表征:相应骨骼结点在三维空间坐标系的结点姿态信息。
三维空间的任意旋转,都可以用绕三维空间的某个轴旋转过某个角度来表示,因此,一个四维向量就可以表示出三维空间中的任意旋转,其中,/>是三维空间中各个轴各自的单位向量,用来表示相应轴的方向朝向,用来表示旋转的角度值。
利用如下所示的公式1,分别将各骨骼结点的四元数,转换为旋转矩阵R。式中的和/>是骨骼结点的四元数,是一个骨骼结点的旋转矩阵。
例如,单位向量旋转角度/>后,得到颈部结点的四元数为:,利用Rodrigues公式,将颈部结点的四元数转换为旋转矩阵/>
旋转矩阵R还可以拆分为各轴的旋转矩阵,绕x轴旋转的矩阵为:,绕y轴旋转的矩阵为:/>,绕z轴旋转的矩阵为:/>
S2032:依次将各结点旋转矩阵相乘,获得虚拟人物的头部旋转矩阵。
如公式2所示,依次将各结点旋转矩阵相乘,获得虚拟人物的头部旋转矩阵。式中的是头部旋转矩阵,/>是底部结点的结点旋转矩阵,/>是胸部结点的结点旋转矩阵,/>是颈部结点的结点旋转矩阵,/>是头部结点的结点旋转矩阵。
S2033:对头部旋转矩阵进行矩阵变换,获得虚拟人物的当前头部姿态。
对头部旋转矩阵进行矩阵变换,获得相应的欧拉角,并将欧拉角作为虚拟人物的当前头部姿态。
欧拉角的基本思想是将角位移分解成绕三个互相垂直轴的三个旋转组成的序列,所以,欧拉角的三个角,可以对应于三个旋转矩阵。具体地,俯仰角对应于绕x轴的旋转矩阵,偏航角对应于绕y轴的旋转矩阵,滚转角对应于绕z轴的旋转矩阵。
根据欧拉角的角度大小,可以确定当前头部姿态。当pitch=0时,虚拟人物的头部处于直视状态,当pitch<0时,处于低头状态,当pitch>0时,处于抬头状态。当yaw=0时,虚拟人物的头部处于直视状态,当yaw>0时,处于向左摇头状态,当yaw<0时,处于向右摇头状态。
要确定眼睛上下调节的角度,也要确定眼睛左右调节的角度。先从当前头部姿态中获取虚拟人物头部绕三维空间坐标系的x方向轴旋转得到的头部俯仰角,与虚拟人物头部绕y方向轴旋转得到的头部偏航角。如公式3所示,基于设备偏移角与头部俯仰角,获得沿垂直方向调整虚拟人物眼睛姿态的俯仰偏移角,以及,如公式4所示,基于设备偏移角与头部偏航角,获得沿水平方向调整虚拟人物眼睛姿态的偏航偏移角,将俯仰偏移角与偏航偏移角,作为虚拟人物的姿态调整值。
公式3中的是俯仰偏移角,/>是虚拟人物头部与图像采集设备之间的垂直距离,y是两者之间的水平距离,/>是设备偏移角,pitch是头部俯仰角。公式4的是偏航偏移角,yaw是头部偏航角。
S204:按照获得的姿态调整值,调整虚拟人物的当前眼睛姿态。
在步骤204中,调整当前眼睛姿态的方式是:基于姿态调整值中包含的俯仰偏移角,控制虚拟人物眼睛沿垂直方向调整相应角度,以及,基于姿态调整值中包含的偏航偏移角,控制虚拟人物眼睛沿水平方向调整相应角度。
使用形变Blendshape,定义了虚拟人物的面部表情参数,表1示出了8个眼睛相关参数。因此,在计算得到俯仰偏移角与偏航偏移角之后,需要将其转换为Blendshape下的参数值,并将当前眼睛姿态的参数值调整成对应的数值,以矫正因虚拟人物位姿变化导致的眼睛姿态偏差,使得调整后的眼睛能够直视图像采集设备,解决虚拟人物眼神飘忽等影响形象的问题。
表1
本申请实施例在检测到虚拟人物的头部位姿发生变化时,是根据虚拟人物的当前头部姿态与图像采集设备的设备偏移角,重新确定虚拟人物的姿态调整值,每次只需要调整两只眼睛上下看与左右看的参数值即可,相较于手动逐帧调整与基于动作捕捉的重定向调整方式而言,本申请实施例提供的调整方法,实现了全自动的实时调整,不仅省时省力,且基于虚拟人物的当前头部姿态与图像采集设备的设备偏移角,可准确预估虚拟人物的眼睛与图像采集设备之间的角度偏差,大大提高了调整精准度,以免矫正后依然出现虚拟人物的眼神飘忽等影响形象的问题产生。
如图3所示,对语音播放场景中的3D数字人,应用上述方法调整其眼睛姿态,以使位姿变化后的3D数字人能够直视摄像头进行语音播报。
S301:在检测到3D数字人微微低头时,获得3D数字人中各骨骼结点的结点姿态信息与头部结点的结点位置信息,以及获得摄像头的当前设备位置;
S302:基于头部结点的结点位置信息,得到3D数字人的当前头部位置;
S303:基于当前头部位置与当前设备位置,确定3D数字人头部与摄像头之间的垂直距离与水平距离,并基于获得的垂直距离与水平距离,获得摄像头相对于3D数字人头部的设备偏移角;
S304:基于各骨骼结点各自的结点姿态信息,获得3D数字人的当前头部姿态,并基于设备偏移角与所述当前头部姿态,获得3D数字人的姿态调整值为(pitch_15°,yaw_0°);
S305:按照获得的姿态调整值,将3D数字人的当前眼睛姿态绕x轴旋转15°,使得调整后的眼睛能够直视摄像头。
与上述方法实施例基于同一发明构思,本申请实施例还提供了一种虚拟人物眼睛姿态的调整装置。如图4所示,虚拟人物眼睛姿态的调整装置400可以包括:
信息获取单元401,用于在检测到虚拟人物的头部位姿发生变化时,获得虚拟人物中各骨骼结点的结点姿态信息与头部结点的结点位置信息,以及获得对虚拟人物进行图像采集的图像采集设备的当前设备位置;头部结点为骨骼结点中的一种;
偏差生成单元402,用于基于头部结点的结点位置信息,获得虚拟人物的当前头部位置,并基于当前头部位置与当前设备位置,获得图像采集设备相对于虚拟人物头部的设备偏移角;
姿态调整单元403,用于基于各骨骼结点各自的结点姿态信息,获得虚拟人物的当前头部姿态,并基于设备偏移角与当前头部姿态,获得虚拟人物的姿态调整值;
按照获得的姿态调整值,调整虚拟人物的当前眼睛姿态。
可选的,姿态调整单元403用于:
从当前头部姿态中获取虚拟人物头部绕三维空间坐标系的x方向轴旋转得到的头部俯仰角,与虚拟人物头部绕y方向轴旋转得到的头部偏航角;
基于设备偏移角与头部俯仰角,获得沿垂直方向调整虚拟人物眼睛姿态的俯仰偏移角,以及,基于设备偏移角与头部偏航角,获得沿水平方向调整虚拟人物眼睛姿态的偏航偏移角;
将俯仰偏移角与偏航偏移角,作为虚拟人物的姿态调整值。
可选的,姿态调整单元403用于:
基于姿态调整值中包含的俯仰偏移角,控制虚拟人物眼睛沿垂直方向调整相应角度;
基于姿态调整值中包含的偏航偏移角,控制虚拟人物眼睛沿水平方向调整相应角度。
可选的,偏差生成单元402用于:
基于当前头部位置与当前设备位置,确定虚拟人物头部与图像采集设备之间的垂直距离与水平距离;
基于虚拟人物头部与图像采集设备之间的垂直距离与水平距离,获得图像采集设备相对于虚拟人物头部的设备偏移角。
可选的,偏差生成单元用于:
基于当前头部位置与当前设备位置中的横坐标,获得虚拟人物头部与图像采集设备之间的水平距离;
基于当前头部位置与当前设备位置中的纵坐标,获得虚拟人物头部与图像采集设备之间的垂直距离。
可选的,姿态调整单元403用于:
获得各骨骼结点各自的四元数,分别对各四元数进行数据变换,获得相应的结点旋转矩阵,每个四元数表征:相应骨骼结点在三维空间坐标系的结点姿态信息;
依次将各结点旋转矩阵相乘,获得虚拟人物的头部旋转矩阵;
对头部旋转矩阵进行矩阵变换,获得虚拟人物的当前头部姿态。
可选的,在检测到虚拟人物的头部位姿发生变化时,虚拟人物眼睛姿态的调整装置400还包括位置更新单元404,位置更新单元404用于:
当检测到图像采集设备的位姿发生变化时,更新图像采集设备的当前设备位置;
偏差生成单元402还用于:
基于当前头部位置与更新后的当前设备位置中的横坐标,获得虚拟人物头部与位姿变化后的图像采集设备之间的水平距离;
基于当前头部位置与更新后的当前设备位置中的纵坐标,获得虚拟人物头部与位姿变化后的图像采集设备之间的垂直距离。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
在介绍了本申请示例性实施方式的虚拟人物眼睛姿态的调整方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的计算机设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
与上述方法实施例基于同一发明构思,本申请实施例中还提供了一种计算机设备。在一种实施例中,该计算机设备可以是服务器,如图1所示的服务器130。在该实施例中,计算机设备500的结构如图5所示,可以至少包括存储器501、通讯模块503,以及至少一个处理器502。
存储器501,用于存储处理器502执行的计算机程序。存储器501可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
存储器501可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器501也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者存储器501是能够用于携带或存储具有指令或数据结构形式的期望的计算机程序并能够由计算机存取的任何其他介质,但不限于此。存储器501可以是上述存储器的组合。
处理器502,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器502,用于调用存储器501中存储的计算机程序时实现上述虚拟人物眼睛姿态的调整方法。
通讯模块503用于与终端设备和其他服务器进行通信。
本申请实施例中不限定上述存储器501、通讯模块503和处理器502之间的具体连接介质。本申请实施例在图5中以存储器501和处理器502之间通过总线504连接,总线504在图5中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线504可以分为地址总线、数据总线、控制总线等。为便于描述,图5中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。
存储器501中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请实施例的虚拟人物眼睛姿态的调整方法。处理器502用于执行上述的虚拟人物眼睛姿态的调整方法,如图2A所示。
在另一种实施例中,计算机设备也可以是其他计算机设备,如图1所示的终端设备110。在该实施例中,计算机设备600的结构可以如图6所示,包括:通信组件610、存储器620、显示单元630、摄像头640、传感器650、音频电路660、蓝牙模块670、处理器680等部件。
通信组件610用于与服务器进行通信。在一些实施例中,可以包括电路无线保真(Wireless Fidelity,WiFi)模块,WiFi模块属于短距离无线传输技术,电子设备通过WiFi模块可以帮助对象收发信息。
存储器620可用于存储软件程序及数据。处理器680通过运行存储在存储器620的软件程序或数据,从而执行终端设备110的各种功能以及数据处理。存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器620存储有使得终端设备110能运行的操作系统。本申请中存储器620可以存储操作系统及各种应用程序,还可以存储执行本申请实施例虚拟人物眼睛姿态的调整方法的计算机程序。
显示单元630还可用于显示由对象输入的信息或提供给对象的信息以及终端设备110的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元630可以包括设置在终端设备110正面的显示屏632。其中,显示屏632可以采用液晶显示器、发光二极管等形式来配置。显示单元630可以用于显示本申请实施例中的虚拟人物显示界面等。
显示单元630还可用于接收输入的数字或字符信息,产生与终端设备110的对象设置以及功能控制有关的信号输入,具体地,显示单元630可以包括设置在终端设备110正面的触控屏631,可收集对象在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
其中,触控屏631可以覆盖在显示屏632之上,也可以将触控屏631与显示屏632集成而实现终端设备110的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元630可以显示应用程序以及对应的操作步骤。
摄像头640可用于捕获静态图像,对象可以将摄像头640拍摄的图像通过应用发布。摄像头640可以是一个,也可以是多个。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器680转换成数字图像信号。
终端设备还可以包括至少一种传感器650,比如加速度传感器651、距离传感器652、指纹传感器653、温度传感器654。终端设备还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
音频电路660、扬声器661、传声器662可提供对象与终端设备110之间的音频接口。音频电路660可将接收到的音频数据转换后的电信号,传输到扬声器661,由扬声器661转换为声音信号输出。终端设备110还可配置音量按钮,用于调节声音信号的音量。另一方面,传声器662将收集的声音信号转换为电信号,由音频电路660接收后转换为音频数据,再将音频数据输出至通信组件610以发送给比如另一终端设备110,或者将音频数据输出至存储器620以便进一步处理。
蓝牙模块670用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备可以通过蓝牙模块670与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
处理器680是终端设备的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器620内的软件程序,以及调用存储在存储器620内的数据,执行终端设备的各种功能和处理数据。在一些实施例中,处理器680可包括一个或多个处理单元;处理器680还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器680中。本申请中处理器680可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例的虚拟人物眼睛姿态的调整方法。另外,处理器680与显示单元630耦接。
在一些可能的实施方式中,本申请提供的虚拟人物眼睛姿态的调整方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在计算机设备上运行时,计算机程序用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的虚拟人物眼睛姿态的调整方法中的步骤,例如,计算机设备可以执行如图2A中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体地例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括计算机程序,并可以在电子设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的计算机程序,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。计算机程序可以完全地在用户计算机设备上执行、部分地在用户计算机设备上执行、作为一个独立的软件包执行、部分在用户计算机设备上部分在远程计算机设备上执行、或者完全在远程计算机设备上执行。在涉及远程计算机设备的情形中,远程计算机设备可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算机设备,或者,可以连接到外部计算机设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用计算机程序的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序命令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序命令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的命令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序命令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的命令产生包括命令装置的制造品,该命令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序命令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的命令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (12)

1.一种虚拟人物眼睛姿态的调整方法,其特征在于,包括:
在检测到虚拟人物的头部位姿发生变化时,获得所述虚拟人物中各骨骼结点的结点姿态信息与头部结点的结点位置信息,以及获得对所述虚拟人物进行图像采集的图像采集设备的当前设备位置;所述头部结点为所述骨骼结点中的一种;
基于所述头部结点的结点位置信息,获得所述虚拟人物的当前头部位置,并基于所述当前头部位置与所述当前设备位置,获得所述图像采集设备相对于所述虚拟人物头部的设备偏移角;
基于所述各骨骼结点各自的结点姿态信息,获得所述虚拟人物的当前头部姿态;
从所述当前头部姿态中获取所述虚拟人物头部绕三维空间坐标系的x方向轴旋转得到的头部俯仰角,与所述虚拟人物头部绕y方向轴旋转得到的头部偏航角;
基于所述设备偏移角与所述头部俯仰角,获得沿垂直方向调整所述虚拟人物眼睛姿态的俯仰偏移角,以及,基于所述设备偏移角与所述头部偏航角,获得沿水平方向调整所述虚拟人物眼睛姿态的偏航偏移角;
将所述俯仰偏移角与所述偏航偏移角,作为所述虚拟人物的姿态调整值;
按照获得的姿态调整值,调整所述虚拟人物的当前眼睛姿态。
2.如权利要求1所述的方法,其特征在于,所述按照获得的姿态调整值,调整所述虚拟人物的当前眼睛姿态,包括:
基于所述姿态调整值中包含的俯仰偏移角,控制所述虚拟人物眼睛沿垂直方向调整相应角度;
基于所述姿态调整值中包含的偏航偏移角,控制所述虚拟人物眼睛沿水平方向调整相应角度。
3.如权利要求1所述的方法,其特征在于,所述基于所述当前头部位置与所述当前设备位置,获得所述图像采集设备相对于所述虚拟人物头部的设备偏移角,包括:
基于所述当前头部位置与所述当前设备位置,确定所述虚拟人物头部与所述图像采集设备之间的垂直距离与水平距离;
基于所述虚拟人物头部与所述图像采集设备之间的垂直距离与水平距离,获得所述图像采集设备相对于所述虚拟人物头部的设备偏移角。
4.如权利要求3所述的方法,其特征在于,所述基于所述当前头部位置与所述当前设备位置,确定所述虚拟人物头部与所述图像采集设备之间的垂直距离与水平距离,包括:
基于所述当前头部位置与所述当前设备位置中的横坐标,获得所述虚拟人物头部与所述图像采集设备之间的水平距离;
基于所述当前头部位置与所述当前设备位置中的纵坐标,获得所述虚拟人物头部与所述图像采集设备之间的垂直距离。
5.如权利要求1~4任一项所述的方法,其特征在于,所述基于所述各骨骼结点各自的结点姿态信息,获得所述虚拟人物的当前头部姿态,包括:
获得所述各骨骼结点各自的四元数,分别对各四元数进行数据变换,获得相应的结点旋转矩阵,每个四元数表征:相应骨骼结点在三维空间坐标系的结点姿态信息;
依次将各结点旋转矩阵相乘,获得所述虚拟人物的头部旋转矩阵;
对所述头部旋转矩阵进行矩阵变换,获得所述虚拟人物的当前头部姿态。
6.如权利要求3所述的方法,其特征在于,在检测到虚拟人物的头部位姿发生变化时,还包括:
当检测到所述图像采集设备的位姿发生变化时,更新所述图像采集设备的当前设备位置;
所述基于所述当前头部位置与所述当前设备位置,确定所述虚拟人物头部与所述图像采集设备之间的垂直距离与水平距离,包括:
基于所述当前头部位置与更新后的当前设备位置中的横坐标,获得所述虚拟人物头部与位姿变化后的图像采集设备之间的水平距离;
基于所述当前头部位置与所述更新后的当前设备位置中的纵坐标,获得所述虚拟人物头部与所述位姿变化后的图像采集设备之间的垂直距离。
7.一种虚拟人物眼睛姿态的调整装置,其特征在于,包括:
信息获取单元,用于在检测到虚拟人物的头部位姿发生变化时,获得所述虚拟人物中各骨骼结点的结点姿态信息与头部结点的结点位置信息,以及获得对所述虚拟人物进行图像采集的图像采集设备的当前设备位置;所述头部结点为所述骨骼结点中的一种;
偏差生成单元,用于基于所述头部结点的结点位置信息,获得所述虚拟人物的当前头部位置,并基于所述当前头部位置与所述当前设备位置,获得所述图像采集设备相对于所述虚拟人物头部的设备偏移角;
姿态调整单元,用于基于所述各骨骼结点各自的结点姿态信息,获得所述虚拟人物的当前头部姿态;
从所述当前头部姿态中获取所述虚拟人物头部绕三维空间坐标系的x方向轴旋转得到的头部俯仰角,与所述虚拟人物头部绕y方向轴旋转得到的头部偏航角;
基于所述设备偏移角与所述头部俯仰角,获得沿垂直方向调整所述虚拟人物眼睛姿态的俯仰偏移角,以及,基于所述设备偏移角与所述头部偏航角,获得沿水平方向调整所述虚拟人物眼睛姿态的偏航偏移角;
将所述俯仰偏移角与所述偏航偏移角,作为所述虚拟人物的姿态调整值;
按照获得的姿态调整值,调整所述虚拟人物的当前眼睛姿态。
8.如权利要求7所述的装置,其特征在于,所述姿态调整单元用于:
基于所述姿态调整值中包含的俯仰偏移角,控制所述虚拟人物眼睛沿垂直方向调整相应角度;
基于所述姿态调整值中包含的偏航偏移角,控制所述虚拟人物眼睛沿水平方向调整相应角度。
9.如权利要求7所述的装置,其特征在于,所述偏差生成单元用于:
基于所述当前头部位置与所述当前设备位置,确定所述虚拟人物头部与所述图像采集设备之间的垂直距离与水平距离;
基于所述虚拟人物头部与所述图像采集设备之间的垂直距离与水平距离,获得所述图像采集设备相对于所述虚拟人物头部的设备偏移角。
10.如权利要求9所述的装置,其特征在于,所述偏差生成单元用于:
基于所述当前头部位置与所述当前设备位置中的横坐标,获得所述虚拟人物头部与所述图像采集设备之间的水平距离;
基于所述当前头部位置与所述当前设备位置中的纵坐标,获得所述虚拟人物头部与所述图像采集设备之间的垂直距离。
11.一种计算机设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行权利要求1~6中任一项所述方法的步骤。
12.一种计算机可读存储介质,其特征在于,其包括程序代码,当所述程序代码在计算机设备上运行时,所述程序代码用于使所述计算机设备执行权利要求1~6中任一项所述方法的步骤。
CN202311374525.7A 2023-10-23 2023-10-23 虚拟人物眼睛姿态的调整方法、装置、设备及存储介质 Active CN117115321B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311374525.7A CN117115321B (zh) 2023-10-23 2023-10-23 虚拟人物眼睛姿态的调整方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311374525.7A CN117115321B (zh) 2023-10-23 2023-10-23 虚拟人物眼睛姿态的调整方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN117115321A CN117115321A (zh) 2023-11-24
CN117115321B true CN117115321B (zh) 2024-02-06

Family

ID=88811347

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311374525.7A Active CN117115321B (zh) 2023-10-23 2023-10-23 虚拟人物眼睛姿态的调整方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117115321B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840019A (zh) * 2019-02-22 2019-06-04 网易(杭州)网络有限公司 虚拟人物的控制方法、装置及存储介质
CN110046546A (zh) * 2019-03-05 2019-07-23 成都旷视金智科技有限公司 一种自适应视线追踪方法、装置、系统及存储介质
CN112379812A (zh) * 2021-01-07 2021-02-19 深圳追一科技有限公司 仿真3d数字人交互方法、装置、电子设备及存储介质
CN114265543A (zh) * 2021-12-29 2022-04-01 神思电子技术股份有限公司 一种虚拟数字人视线追随交互方法
CN116052263A (zh) * 2023-01-31 2023-05-02 联想(北京)有限公司 一种控制方法及电子设备
CN116188742A (zh) * 2023-01-18 2023-05-30 北京字跳网络技术有限公司 虚拟对象的控制方法、装置、设备及存储介质
CN116560512A (zh) * 2023-05-30 2023-08-08 重庆中科云从科技有限公司 虚拟数字人交互方法、电子设备、系统及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220327783A1 (en) * 2021-04-08 2022-10-13 Ostendo Technologies, Inc. Virtual Mannequin - Method and Apparatus for Online Shopping Clothes Fitting

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840019A (zh) * 2019-02-22 2019-06-04 网易(杭州)网络有限公司 虚拟人物的控制方法、装置及存储介质
CN110046546A (zh) * 2019-03-05 2019-07-23 成都旷视金智科技有限公司 一种自适应视线追踪方法、装置、系统及存储介质
CN112379812A (zh) * 2021-01-07 2021-02-19 深圳追一科技有限公司 仿真3d数字人交互方法、装置、电子设备及存储介质
CN114265543A (zh) * 2021-12-29 2022-04-01 神思电子技术股份有限公司 一种虚拟数字人视线追随交互方法
CN116188742A (zh) * 2023-01-18 2023-05-30 北京字跳网络技术有限公司 虚拟对象的控制方法、装置、设备及存储介质
CN116052263A (zh) * 2023-01-31 2023-05-02 联想(北京)有限公司 一种控制方法及电子设备
CN116560512A (zh) * 2023-05-30 2023-08-08 重庆中科云从科技有限公司 虚拟数字人交互方法、电子设备、系统及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Eye reconstruction and modeling for digital human;Berard et al.;《Eurographics DL》;第1-5页 *
基于神经网络的生成式三维数字人研究综述:表示、渲染与学习;晏轶超 等;《中国科学:信息科学》;第53卷(第10期);第1858-1891页 *

Also Published As

Publication number Publication date
CN117115321A (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
CN111294665B (zh) 视频的生成方法、装置、电子设备及可读存储介质
EP4307233A1 (en) Data processing method and apparatus, and electronic device and computer-readable storage medium
CN113426117B (zh) 虚拟相机拍摄参数获取方法、装置、电子设备和存储介质
CN112614213A (zh) 人脸表情确定方法、表情参数确定模型、介质及设备
CN109144252B (zh) 对象确定方法、装置、设备和存储介质
CN109035415B (zh) 虚拟模型的处理方法、装置、设备和计算机可读存储介质
US10955911B2 (en) Gazed virtual object identification module, a system for implementing gaze translucency, and a related method
CN113709543A (zh) 基于虚拟现实的视频处理方法、装置、电子设备和介质
US11967087B2 (en) Dynamic vision sensor for visual audio processing
CN106502401B (zh) 一种图像控制方法及装置
US11763464B2 (en) Estimation apparatus, learning apparatus, estimation method, learning method, and program
CN112416126B (zh) 页面滚动控制方法和装置、存储介质及电子设备
CN112991208B (zh) 图像处理方法及装置、计算机可读介质和电子设备
Li et al. Action recognition based on multimode fusion for VR online platform
CN111383313B (zh) 一种虚拟模型渲染方法、装置、设备及可读存储介质
CN113066125A (zh) 一种增强现实方法及其相关设备
CN117115321B (zh) 虚拟人物眼睛姿态的调整方法、装置、设备及存储介质
KR102250163B1 (ko) 딥러닝 기술을 이용하여 비디오 영상을 3d 비디오 영상으로 변환하는 방법 및 장치
CN115578494B (zh) 中间帧的生成方法、装置、设备及存储介质
WO2023240999A1 (zh) 虚拟现实场景确定方法、装置及系统
CN114967937B (zh) 一种虚拟人运动生成方法与系统
CN116188742A (zh) 虚拟对象的控制方法、装置、设备及存储介质
JP7175529B1 (ja) 表示装置及び表示方法
CN113496168A (zh) 手语数据采集方法、设备、存储介质
US20230290101A1 (en) Data processing method and apparatus, electronic device, and computer-readable storage medium

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