CN115138063A - 图像处理方法、装置、电子设备及存储介质 - Google Patents
图像处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115138063A CN115138063A CN202210770420.2A CN202210770420A CN115138063A CN 115138063 A CN115138063 A CN 115138063A CN 202210770420 A CN202210770420 A CN 202210770420A CN 115138063 A CN115138063 A CN 115138063A
- Authority
- CN
- China
- Prior art keywords
- data
- posture
- detection data
- neck
- wrist
- 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.)
- Pending
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/213—Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
- A63F13/525—Changing parameters of virtual cameras
- A63F13/5255—Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了一种图像处理方法、装置、电子设备及存储介质。所述图像处理方法包括:获取当前图像帧中目标对象的多个部位的姿态检测数据;针对所述多个部位之中每个与其他部位相关联的目标部位,基于所述目标部位及其关联部位的姿态检测数据,确定所述目标部位的姿态驱动数据;基于确定的各个目标部位的姿态驱动数据,对虚拟形象的对应部位进行驱动,所述虚拟形象与所述目标对象具有一一对应的部位。根据本公开,能够提高对虚拟形象的驱动效果的自然度和准确度。
Description
技术领域
本公开总体说来涉及计算机技术领域,更具体地讲,涉及一种图像处理方法、装置、电子设备及存储介质。
背景技术
目前,虚拟形象已经在社交、在线教育、游戏等诸多场景得到了广泛的应用。为了让虚拟形象能够动起来,需要借助驱动技术,将捕捉到的用户图像中的人体姿态迁移到虚拟形象上。然而,相关驱动技术还存在对虚拟形象的驱动效果不够自然合理的问题。
发明内容
本公开的示例性实施例在于提供一种图像处理方法、装置、电子设备及存储介质,其能够提高对虚拟形象的驱动效果的自然度。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种图像处理方法,包括:获取当前图像帧中目标对象的多个部位的姿态检测数据;针对所述多个部位之中每个与其他部位相关联的目标部位,基于所述目标部位及其关联部位的姿态检测数据,确定所述目标部位的姿态驱动数据;基于确定的各个目标部位的姿态驱动数据,对虚拟形象的对应部位进行驱动,所述虚拟形象与所述目标对象具有一一对应的部位。
可选地,所述多个部位包括手部、头部以及身体部位,所述多个部位的姿态检测数据包括头部姿态检测数据、身体姿态检测数据以及手部姿态检测数据,所述各个目标部位包括身体部位和手部,其中,针对所述多个部位之中每个与其他部位相关联的目标部位,基于所述目标部位及其关联部位的姿态检测数据,确定所述目标部位的姿态驱动数据的步骤包括:基于所述身体姿态检测数据和所述头部姿态检测数据,确定身体部位中的颈部的姿态驱动数据,并基于所述身体姿态检测数据确定除颈部之外的身体部位的姿态驱动数据;基于所述手部姿态检测数据和所述身体姿态检测数据,确定手部中的手腕的姿态驱动数据,并基于所述手部姿态检测数据确定手部中的手指的姿态驱动数据。
可选地,基于所述身体姿态检测数据和所述头部姿态检测数据,确定身体部位中的颈部的姿态驱动数据的步骤包括:基于所述身体姿态检测数据中的颈部姿态检测数据、所述头部姿态检测数据以及颈部姿态关联数据,确定所述颈部的姿态驱动数据,其中,所述颈部姿态关联数据包括以下项之中的至少一项:所述身体姿态检测数据中的颈部关节的父关节的姿态检测数据、针对上一图像帧确定的颈部的姿态驱动数据、预设的颈部闲置状态时的姿态数据,其中,所述颈部闲置状态为未检测到当前图像帧中的所述目标对象的身体部位和头部时颈部需进入的状态。
可选地,确定所述颈部的姿态驱动数据的步骤包括:通过使所述颈部的姿态驱动数据与各项颈部融合数据之间的距离的二范数的加权和最小化,确定所述颈部的姿态驱动数据,其中,所述各项颈部融合数据包括:所述颈部姿态检测数据、所述头部姿态检测数据、所述颈部姿态关联数据。
可选地,基于所述手部姿态检测数据和所述身体姿态检测数据,确定手部中的手腕的姿态驱动数据的步骤包括:基于所述手部姿态检测数据中的手腕姿态检测数据、所述身体姿态检测数据中的手腕关节的父关节的姿态检测数据以及手腕姿态关联数据,确定所述手腕的姿态驱动数据,其中,所述手腕姿态关联数据包括以下项之中的至少一项:针对上一图像帧确定的手腕的姿态驱动数据、预设的手腕闲置状态时的姿态数据,其中,所述手腕闲置状态为未检测到当前图像帧中的所述目标对象的手部时手腕需进入的状态。
可选地,确定所述手腕的姿态驱动数据的步骤包括:通过使所述手腕的姿态驱动数据与各项手腕融合数据之间的距离的二范数的加权和最小化,确定所述手腕的姿态驱动数据,其中,所述各项手腕融合数据包括:所述手腕姿态检测数据、所述身体姿态检测数据中的手腕关节的父关节的姿态检测数据、所述手腕姿态关联数据。
可选地,获取当前图像帧中目标对象的多个部位的姿态检测数据的步骤包括:将当前图像帧输入身体检测模型,得到身体姿态检测数据;将当前图像帧中的头部区域图像输入头部检测模型,得到头部姿态检测数据;将当前图像帧中的手部区域图像输入手部检测模型,得到手部姿态检测数据。
可选地,将当前图像帧输入身体检测模型,得到身体姿态检测数据的步骤包括:将当前图像帧输入身体检测模型,得到所述身体姿态检测数据、颈部位置数据、手腕位置数据;其中,所述图像处理方法还包括:根据所述颈部位置数据,从当前图像帧中识别并截取出头部所在的区域,作为所述头部区域图像;根据所述手腕位置数据,从当前图像帧中识别并截取出手部所在的区域,作为所述手部区域图像。
可选地,基于所述身体姿态检测数据确定除颈部之外的身体部位的姿态驱动数据的步骤包括:基于所述身体姿态检测数据中的除颈部之外的身体部位的姿态检测数据和身体姿态关联数据,确定所述除颈部之外的身体部位的姿态驱动数据,其中,所述身体姿态关联数据包括以下项之中的至少一项:针对上一图像帧确定的除颈部之外的身体部位的姿态驱动数据、预设的身体部位闲置状态时的姿态数据,其中,所述身体部位闲置状态为未检测到当前图像帧中的所述目标对象的身体部位时除颈部之外的身体部位需进入的状态。
可选地,确定所述除颈部之外的身体部位的姿态驱动数据的步骤包括:通过使所述除颈部之外的身体部位的姿态驱动数据与各项身体融合数据之间的距离的二范数的加权和最小化,确定所述除颈部之外的身体部位的姿态驱动数据,其中,所述各项身体融合数据包括:所述除颈部之外的身体部位的姿态检测数据和所述身体姿态关联数据。
可选地,基于所述手部姿态检测数据确定手部中的手指的姿态驱动数据的步骤包括:基于所述手部姿态检测数据中的手指姿态检测数据和手指姿态关联数据,确定所述手指的姿态驱动数据,其中,所述手指姿态关联数据包括以下项之中的至少一项:针对上一图像帧确定的手指的姿态驱动数据、预设的手指闲置状态时的姿态数据,其中,所述手指闲置状态为未检测到当前图像帧中的所述目标对象的手指时手指需进入的状态。
可选地,确定所述手指的姿态驱动数据的步骤包括:通过使所述手指的姿态驱动数据与各项手指融合数据之间的距离的二范数的加权和最小化,确定所述手指的姿态驱动数据,其中,所述各项手指融合数据包括:所述手指姿态检测数据和所述手指姿态关联数据。
可选地,基于确定的各个目标部位的姿态驱动数据,对虚拟形象的对应部位进行驱动的步骤包括:基于所述手腕的姿态驱动数据,对所述除颈部之外的身体部位的姿态驱动数据中的手腕关节的父关节的姿态驱动数据进行修正,以得到修正后的除颈部之外的身体部位的姿态驱动数据;基于修正后的除颈部之外的身体部位的姿态驱动数据、所述手指的姿态驱动数据、所述颈部的姿态驱动数据以及所述手腕的姿态驱动数据,对所述虚拟形象的对应部位进行驱动。
可选地,当前图像帧是通过单目摄像头采集的图像帧。
根据本公开实施例的第二方面,提供一种图像处理装置,包括:检测数据获取单元,被配置为获取当前图像帧中目标对象的多个部位的姿态检测数据;驱动数据获取单元,被配置为针对所述多个部位之中每个与其他部位相关联的目标部位,基于所述目标部位及其关联部位的姿态检测数据,确定所述目标部位的姿态驱动数据;驱动单元,被配置为基于确定的各个目标部位的姿态驱动数据,对虚拟形象的对应部位进行驱动,所述虚拟形象与所述目标对象具有一一对应的部位。
可选地,所述多个部位包括手部、头部以及身体部位,所述多个部位的姿态检测数据包括头部姿态检测数据、身体姿态检测数据以及手部姿态检测数据,所述各个目标部位包括身体部位和手部,其中,驱动数据获取单元被配置为:基于所述身体姿态检测数据和所述头部姿态检测数据,确定身体部位中的颈部的姿态驱动数据,并基于所述身体姿态检测数据确定除颈部之外的身体部位的姿态驱动数据;基于所述手部姿态检测数据和所述身体姿态检测数据,确定手部中的手腕的姿态驱动数据,并基于所述手部姿态检测数据确定手部中的手指的姿态驱动数据。
可选地,驱动数据获取单元被配置为:基于所述身体姿态检测数据中的颈部姿态检测数据、所述头部姿态检测数据以及颈部姿态关联数据,确定所述颈部的姿态驱动数据,其中,所述颈部姿态关联数据包括以下项之中的至少一项:所述身体姿态检测数据中的颈部关节的父关节的姿态检测数据、针对上一图像帧确定的颈部的姿态驱动数据、预设的颈部闲置状态时的姿态数据,其中,所述颈部闲置状态为未检测到当前图像帧中的所述目标对象的身体部位和头部时颈部需进入的状态。
可选地,驱动数据获取单元被配置为:通过使所述颈部的姿态驱动数据与各项颈部融合数据之间的距离的二范数的加权和最小化,确定所述颈部的姿态驱动数据,其中,所述各项颈部融合数据包括:所述颈部姿态检测数据、所述头部姿态检测数据、所述颈部姿态关联数据。
可选地,驱动数据获取单元被配置为:基于所述手部姿态检测数据中的手腕姿态检测数据、所述身体姿态检测数据中的手腕关节的父关节的姿态检测数据以及手腕姿态关联数据,确定所述手腕的姿态驱动数据,其中,所述手腕姿态关联数据包括以下项之中的至少一项:针对上一图像帧确定的手腕的姿态驱动数据、预设的手腕闲置状态时的姿态数据,其中,所述手腕闲置状态为未检测到当前图像帧中的所述目标对象的手部时手腕需进入的状态。
可选地,驱动数据获取单元被配置为:通过使所述手腕的姿态驱动数据与各项手腕融合数据之间的距离的二范数的加权和最小化,确定所述手腕的姿态驱动数据,其中,所述各项手腕融合数据包括:所述手腕姿态检测数据、所述身体姿态检测数据中的手腕关节的父关节的姿态检测数据、所述手腕姿态关联数据。
可选地,检测数据获取单元被配置为:将当前图像帧输入身体检测模型,得到身体姿态检测数据;将当前图像帧中的头部区域图像输入头部检测模型,得到头部姿态检测数据;将当前图像帧中的手部区域图像输入手部检测模型,得到手部姿态检测数据。
可选地,检测数据获取单元被配置为:将当前图像帧输入身体检测模型,得到所述身体姿态检测数据、颈部位置数据、手腕位置数据;其中,检测数据获取单元还被配置为:根据所述颈部位置数据,从当前图像帧中识别并截取出头部所在的区域,作为所述头部区域图像;根据所述手腕位置数据,从当前图像帧中识别并截取出手部所在的区域,作为所述手部区域图像。
可选地,驱动数据获取单元被配置为:基于所述身体姿态检测数据中的除颈部之外的身体部位的姿态检测数据和身体姿态关联数据,确定所述除颈部之外的身体部位的姿态驱动数据,其中,所述身体姿态关联数据包括以下项之中的至少一项:针对上一图像帧确定的除颈部之外的身体部位的姿态驱动数据、预设的身体部位闲置状态时的姿态数据,其中,所述身体部位闲置状态为未检测到当前图像帧中的所述目标对象的身体部位时除颈部之外的身体部位需进入的状态。
可选地,驱动数据获取单元被配置为:通过使所述除颈部之外的身体部位的姿态驱动数据与各项身体融合数据之间的距离的二范数的加权和最小化,确定所述除颈部之外的身体部位的姿态驱动数据,其中,所述各项身体融合数据包括:所述除颈部之外的身体部位的姿态检测数据和所述身体姿态关联数据。
可选地,驱动数据获取单元被配置为:基于所述手部姿态检测数据中的手指姿态检测数据和手指姿态关联数据,确定所述手指的姿态驱动数据,其中,所述手指姿态关联数据包括以下项之中的至少一项:针对上一图像帧确定的手指的姿态驱动数据、预设的手指闲置状态时的姿态数据,其中,所述手指闲置状态为未检测到当前图像帧中的所述目标对象的手指时手指需进入的状态。
可选地,驱动数据获取单元被配置为:通过使所述手指的姿态驱动数据与各项手指融合数据之间的距离的二范数的加权和最小化,确定所述手指的姿态驱动数据,其中,所述各项手指融合数据包括:所述手指姿态检测数据和所述手指姿态关联数据。
可选地,驱动单元被配置为:基于所述手腕的姿态驱动数据,对所述除颈部之外的身体部位的姿态驱动数据中的手腕关节的父关节的姿态驱动数据进行修正,以得到修正后的除颈部之外的身体部位的姿态驱动数据;基于修正后的除颈部之外的身体部位的姿态驱动数据、所述手指的姿态驱动数据、所述颈部的姿态驱动数据以及所述手腕的姿态驱动数据,对所述虚拟形象的对应部位进行驱动。
可选地,当前图像帧是通过单目摄像头采集的图像帧。
根据本公开实施例的第三方面,提供一种电子设备,包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如上所述的图像处理方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令被至少一个处理器运行时,促使所述至少一个处理器执行如上所述的图像处理方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机指令,所述计算机指令被至少一个处理器执行时实现如上所述的图像处理方法。
根据本公开的示例性实施例的图像处理方法、装置、电子设备及存储介质,能够提高对虚拟形象的驱动效果的自然度和准确度。此外,还可避免驱动效果存在抖动的问题、具有较高的鲁棒性、稳定性。此外,根据本公开的示例性实施例的图像处理方法,基于单目摄像头捕捉的无深度图像也可实现虚拟形象驱动,由于无需复杂的外部设备配合,对捕捉装置的要求较低,降低了虚拟形象驱动的实现成本,从而能够达到适用性强且成本低的效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1示出根据本公开示例性实施例的图像处理方法的流程图;
图2示出根据本公开示例性实施例的获取当前图像帧中目标对象的多个部位的姿态检测数据的方法的流程图;
图3示出根据本公开示例性实施例的确定目标部位的姿态驱动数据的方法的流程图;
图4示出根据本公开示例性实施例的图像处理装置的结构框图;
图5示出根据本公开示例性实施例的电子设备的结构框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
图1示出根据本公开示例性实施例的图像处理方法的流程图。
参照图1,在步骤S101,获取当前图像帧中目标对象的多个部位的姿态检测数据。
作为示例,所述多个部位可包括:手部、头部、身体部位(这里,该身体部位指除头部和手部之外的那部分人体)。相应地,所述多个部位的姿态检测数据可包括:手部姿态检测数据、头部姿态检测数据、身体姿态检测数据。
头部姿态检测数据即初始检测得到的目标对象的头部姿态数据、身体姿态检测数据即初始检测得到的目标对象的身体部位姿态数据、手部姿态检测数据即初始检测得到的目标对象的手部姿态数据。
作为示例,头部姿态数据可包括:头部的欧拉角。例如,欧拉角可包括以下项之中的至少一项:俯仰角α、偏航角β、翻滚角γ。应该理解,也可通过其他适当方式来描述头部姿态,例如,旋转四元数,本公开对头部姿态的具体描述方式不作限定,也即,对头部姿态数据的具体形式不作限定。
作为示例,身体姿态数据可包括:身体部位的各个关节的欧拉角,这些关节可被预先指定。应该理解,也可通过其他适当方式来描述身体部位姿态,例如,旋转四元数,本公开对身体部位姿态的具体描述方式不作限定,也即,对身体姿态数据的具体形式不作限定。
作为示例,手部姿态数据可包括:手部(包括左手和右手)的各个关节的欧拉角,这些关节可被预先指定。应该理解,也可通过其他适当方式来描述手部姿态,例如,旋转四元数,本公开对手部姿态的具体描述方式不作限定,也即,对手部姿态数据的具体形式不作限定。
作为示例,当前图像帧可以是通过单目摄像头采集的图像帧。应该理解,也可为通过其他类型的摄像装置采集的图像帧,本公开对此不作限制。
作为示例,当前图像帧可以是通过对目标对象全身进行捕捉而得到的图像。
图2示出根据本公开示例性实施例的获取当前图像帧中目标对象的多个部位的姿态检测数据的方法的流程图。
参照图2,在步骤S201,将当前图像帧输入身体检测模型,得到身体姿态检测数据。此外,例如,还可得到颈部位置数据和手腕位置数据。
作为示例,所述身体姿态检测数据可包括但不限于以下项:除手部和头部之外的人体关节的姿态检测数据。例如,除手部和头部之外的人体可包括:颈部、躯干、下肢、以及手臂。
在步骤S202,将当前图像帧中的头部区域图像输入头部检测模型,得到头部姿态检测数据。
例如,可根据所述颈部位置数据,从当前图像帧中识别并截取出头部所在的区域,作为所述头部区域图像。
作为示例,头部检测模型可根据头部区域图像中目标对象的人脸信息来得到头部姿态检测数据。
在步骤S203,将当前图像帧中的手部区域图像输入手部检测模型,得到手部姿态检测数据。
例如,可根据所述手腕位置数据,从当前图像帧中识别并截取出手部所在的区域,作为所述手部区域图像。
作为示例,所述手部姿态检测数据可包括但不限于以下项:手指姿态检测数据和手腕姿态检测数据。
作为示例,身体检测模型、手部检测模型、头部检测模型可以是分别基于卷积神经网络构建的,应该理解,也可基于其他适当算法构建,本公开对此不作限制。
根据本公开的实施例,通过使用身体捕捉结果作为前置信息提高了头部检测模型和手部检测模型的检出率。换言之,当身体被检出时,基于身体的检出结果会更容易找到头部和手部,从而能够提高头部和手部的检出率,并能够进一步提高驱动虚拟形象的鲁棒性和准确性。
返回图1,在步骤S102,针对所述多个部位之中每个与其他部位相关联的目标部位,基于所述目标部位及其关联部位的姿态检测数据,确定所述目标部位的姿态驱动数据。
作为示例,各个目标部位可包括身体部位和手部。
图3示出根据本公开示例性实施例的确定目标部位的姿态驱动数据的方法的流程图。
参照图3,在步骤S301,基于身体姿态检测数据及头部姿态检测数据,确定身体部位的姿态驱动数据。
身体部位通过其颈部与头部相关联,因此,可基于身体部位及头部的姿态检测数据,确定身体部位的姿态驱动数据。具体地,例如,可基于所述身体姿态检测数据和所述头部姿态检测数据,确定身体部位中的颈部的姿态驱动数据,并基于所述身体姿态检测数据确定除颈部之外的身体部位的姿态驱动数据。
在步骤S302,基于手部姿态检测数据及身体姿态检测数据,确定手部的姿态驱动数据。
手部通过其手腕与身体部位相关联,因此,可基于手部及身体部位的姿态检测数据,确定手部的姿态驱动数据。具体地,例如,可基于所述手部姿态检测数据和所述身体姿态检测数据,确定手部中的手腕的姿态驱动数据,并基于所述手部姿态检测数据确定手部中的手指的姿态驱动数据。
在第一实施例中,可基于所述身体姿态检测数据中的颈部姿态检测数据、所述头部姿态检测数据以及颈部姿态关联数据,确定所述颈部的姿态驱动数据,其中,所述颈部姿态关联数据包括以下项之中的至少一项:所述身体姿态检测数据中的颈部关节的父关节的姿态检测数据、针对上一图像帧确定的颈部的姿态驱动数据、预设的颈部闲置状态时的姿态数据,其中,所述颈部闲置状态为未检测到当前图像帧中的所述目标对象的身体部位和头部时颈部需进入的状态。
应立理解,可使用适当的方式,基于上述数据确定颈部的姿态驱动数据。作为示例,可通过使所述颈部的姿态驱动数据与各项颈部融合数据之间的距离的二范数的加权和最小化,确定所述颈部的姿态驱动数据,其中,所述各项颈部融合数据包括:所述颈部姿态检测数据、所述头部姿态检测数据、所述颈部姿态关联数据。即,可通过最小化寻优来确定使得该加权和最小的颈部的姿态驱动数据。
作为示例,可确定使得下式(即,式(1))的值最小的颈部姿态数据r1作为颈部的姿态驱动数据,
w1||r1-rhead||2+w2||r1-rbodyneck||2+w3||r1-rpreneck||2+w4||r1-rneckfather||2+w5||r1-ridle1||2 (1)
其中,rhead表示所述头部姿态检测数据,rbodyneck表示所述颈部姿态检测数据,rneckfather表示所述颈部关节的父关节的姿态检测数据,rpreneck表示针对上一图像帧确定的颈部的姿态驱动数据,ridle1表示颈部闲置状态时的姿态数据,w1表示头部姿态检测数据的置信度,w2表示颈部姿态检测数据的置信度,w3表示与帧率有关的平滑权重,w4表示肌肉扭曲惩罚权重,w5表示丢失处理权重。
作为示例,w1的值与当前图像帧中的目标对象的人脸角度有关,例如,当未检测到目标对象的人脸时可被设置为0,当检测到人脸处于正脸角度时可被设置为1,随着人脸角度从正脸角度开始变化至检测不到人脸的角度,w1逐渐从1过渡到0。
作为示例,w2的值可与w1的值有关,例如,可为1-w1。
作为示例,通过预设ridle1,可使未检测到当前图像帧中的目标对象的身体部位和头部时,使虚拟形象的颈部缓慢回退到默认颈部状态。当检测到当前图像帧中的目标对象的身体部位和/或头部时,w5可被设置为0,当未检测到当前图像帧中的目标对象的身体部位和头部时,w5可被设置为大于0且小于或等于1的值。例如,当初始未检测到当前图像帧(例如,第i帧)中的目标对象的身体部位和头部时,可将w5设置为大于0的较小值a1;当连续未检测到当前图像帧(例如,第i+1帧)中的目标对象的身体部位和头部时,可将w5设置为大于a1的值a2,依此类推,直至将w5设置为1,以使虚拟形象的颈部缓慢回退到默认颈部状态,从而实现了帧间平滑。
应该理解,w1-w5可随当前图像帧的不同而有所不同,即,可适应性地调整其取值。例如,针对不同图像帧,对应的w1-w5可不同或相同。
根据本公开的实施例,在使用身体姿态检测数据中的颈部姿态检测数据计算颈部的姿态驱动数据的过程中,融合了头部姿态检测数据并使用了能量公式做优化求解,增强了与上一图像帧对应的颈部姿态驱动数据的平滑度(即,考虑了前帧的约束),考虑了姿态检测数据的置信度、肌肉扭曲惩罚、帧间平滑,提高了多帧视频场景下的驱动的稳定性、鲁棒性、自然性、准确性。
在第二实施例中,可基于所述手部姿态检测数据中的手腕姿态检测数据、所述身体姿态检测数据中的手腕关节的父关节的姿态检测数据以及手腕姿态关联数据,确定所述手腕的姿态驱动数据,其中,所述手腕姿态关联数据包括以下项之中的至少一项:针对上一图像帧确定的手腕的姿态驱动数据、预设的手腕闲置状态时的姿态数据,其中,所述手腕闲置状态为未检测到当前图像帧中的所述目标对象的手部时手腕需进入的状态。
应立理解,可使用适当的方式,基于上述数据确定手腕的姿态驱动数据。作为示例,可通过使所述手腕的姿态驱动数据与各项手腕融合数据之间的距离的二范数的加权和最小化,确定所述手腕的姿态驱动数据,其中,所述各项手腕融合数据包括:所述手腕姿态检测数据、所述身体姿态检测数据中的手腕关节的父关节的姿态检测数据、所述手腕姿态关联数据。
作为示例,可确定使得式(2)的值最小的手腕姿态数据r2作为手腕的姿态驱动数据,
w6||r2-rwrist||2+w7||r2-rprewrist||2+w8||r2-rwristfather||2+w9||r2-ridle2||2 (2)
其中,rwrist表示所述手腕姿态检测数据,rprewrist表示针对上一图像帧确定的手腕的姿态驱动数据,rwristfather表示所述手腕关节的父关节(例如,小臂关节)的姿态检测数据,ridle2表示手腕闲置状态时的姿态数据,w6表示手腕姿态检测数据的置信度,w7表示与帧率有关的平滑权重,w8表示肌肉扭曲惩罚权重,w9表示丢失处理权重。
作为示例,通过预设ridle2,可使未检测到当前图像帧中的目标对象的手部时,使虚拟形象的手腕缓慢回退到默认手腕状态。当检测到当前图像帧中的目标对象的手部时,w9可被设置为0,当未检测到当前图像帧中的目标对象的手部时,w9可被设置为大于0且小于或等于1的值。例如,当初始未检测到当前图像帧(例如,第i帧)中的目标对象的手部时,可将w9设置为大于0的较小值b1;当连续未检测到当前图像帧(例如,第i+1帧)中的目标对象的手部时,可将w9设置为大于b1的值b2,依此类推,直至将w9设置为1,以使虚拟形象的手腕缓慢回退到默认手腕状态,从而实现了帧间平滑。
应该理解,w6-w9可随当前图像帧的不同而有所不同,即,可适应性地调整其取值。例如,针对不同图像帧,对应的w6-w9可不同或相同。
根据本公开的实施例,在使用手部姿态检测数据中的手腕姿态检测数据计算手腕的姿态驱动数据的过程中,融合了身体姿态检测数据并使用了能量公式做优化求解,增强了与上一图像帧对应的手腕姿态驱动数据的平滑度(即,考虑了前帧的约束),考虑了姿态检测数据的置信度、肌肉扭曲惩罚、帧间平滑,提高了多帧视频场景下的驱动的稳定性、鲁棒性、自然性、准确性。
在第三实施例中,可基于所述身体姿态检测数据中的除颈部之外的身体部位的姿态检测数据(即,所述身体姿态检测数据之中除颈部姿态检测数据之外的姿态检测数据)和身体姿态关联数据,确定所述除颈部之外的身体部位的姿态驱动数据,其中,所述身体姿态关联数据包括以下项之中的至少一项:针对上一图像帧确定的除颈部之外的身体部位的姿态驱动数据、预设的身体部位闲置状态时的姿态数据,其中,所述身体部位闲置状态为未检测到当前图像帧中的所述目标对象的身体部位时除颈部之外的身体部位需进入的状态。
应立理解,可使用适当的方式,基于上述数据确定除颈部之外的身体部位的姿态驱动数据。作为示例,可通过使所述除颈部之外的身体部位的姿态驱动数据与各项身体融合数据之间的距离的二范数的加权和最小化,确定所述除颈部之外的身体部位的姿态驱动数据,其中,所述各项身体融合数据包括:所述除颈部之外的身体部位的姿态检测数据和所述身体姿态关联数据。
作为示例,可确定使得式(3)的值最小的除颈部之外的身体部位的姿态数据r3作为除颈部之外的身体部位的姿态驱动数据,
w10||r3-rbody||2+w11||r3-rprebody||2+w12||r3-ridle3||2 (3)
其中,rbody表示所述除颈部之外的身体部位的姿态检测数据,rprebody表示针对上一图像帧确定的除颈部之外的身体部位的姿态驱动数据,ridle3表示身体部位闲置状态时的姿态数据,w10表示除颈部之外的身体部位的姿态检测数据的置信度,w11表示与帧率有关的平滑权重,w12表示丢失处理权重。
作为示例,通过预设ridle3,可使未检测到当前图像帧中的目标对象的身体部位时,使虚拟形象的除颈部之外的身体部位缓慢回退到默认身体部位状态。当检测到当前图像帧中的目标对象的身体部位时,w12可被设置为0,当未检测到当前图像帧中的目标对象的身体部位时,w12可被设置为大于0且小于或等于1的值。例如,当初始未检测到当前图像帧(例如,第i帧)中的目标对象的身体部位时,可将w12设置为大于0的较小值c1;当连续未检测到当前图像帧(例如,第i+1帧)中的目标对象的身体部位时,可将w12设置为大于c1的值c2,依此类推,直至将w12设置为1,以使虚拟形象的除颈部之外的身体部位缓慢回退到默认状态,从而实现了帧间平滑。
应该理解,w10-w12可随当前图像帧的不同而有所不同,即,可适应性地调整其取值。例如,针对不同图像帧,对应的w10-w12可不同或相同。
根据本公开的实施例,在使用除颈部之外的身体部位的姿态检测数据计算除颈部之外的身体部位的姿态驱动数据的过程中,增强了与上一图像帧对应的姿态驱动数据的平滑度(即,考虑了前帧的约束),考虑了姿态检测数据的置信度、帧间平滑,提高了多帧视频场景下的驱动的稳定性、鲁棒性、自然性、准确性。
在第四实施例中,可基于所述手部姿态检测数据中的手指姿态检测数据和手指姿态关联数据,确定所述手指的姿态驱动数据,其中,所述手指姿态关联数据包括以下项之中的至少一项:针对上一图像帧确定的手指的姿态驱动数据、预设的手指闲置状态时的姿态数据,其中,所述手指闲置状态为未检测到当前图像帧中的所述目标对象的手指时手指需进入的状态。
应立理解,可使用适当的方式,基于上述数据确定手指的姿态驱动数据。作为示例,可通过使所述手指的姿态驱动数据与各项手指融合数据之间的距离的二范数的加权和最小化,确定所述手指的姿态驱动数据,其中,所述各项手指融合数据包括:所述手指姿态检测数据和所述手指姿态关联数据。
作为示例,可确定使得式(4)的值最小的手指姿态数据r4作为手指的姿态驱动数据,
w13||r4-rhand||2+w14||r4-rprehand||2+w15||r4-ridle4||2 (4)
其中,rhand表示所述手指姿态检测数据,rprehand表示针对上一图像帧确定的手指的姿态驱动数据,ridle4表示手指闲置状态时的姿态数据,w13表示手指姿态检测数据的置信度,w14表示与帧率有关的平滑权重,w15表示丢失处理权重。
作为示例,通过预设ridle4,可使未检测到当前图像帧中的目标对象的手部时,使虚拟形象的手指缓慢回退到默认手指状态。当检测到当前图像帧中的目标对象的手部时,w15可被设置为0,当未检测到当前图像帧中的目标对象的手部时,w15可被设置为大于0且小于或等于1的值。例如,当初始未检测到当前图像帧(例如,第i帧)中的目标对象的手部时,可将w15设置为大于0的较小值d1;当连续未检测到当前图像帧(例如,第i+1帧)中的目标对象的手部时,可将w15设置为大于d1的值d2,依此类推,直至将w15设置为1,以使虚拟形象的手指缓慢回退到默认手指状态,从而实现了帧间平滑。
应该理解,w13-w15可随当前图像帧的不同而有所不同,即,可适应性地调整其取值。例如,针对不同图像帧,对应的w13-w15可不同或相同。
根据本公开的实施例,在使用手指姿态检测数据计算手指的姿态驱动数据的过程中,增强了与上一图像帧对应的手指姿态驱动数据的平滑度(即,考虑了前帧的约束),考虑了姿态检测数据的置信度、帧间平滑,提高了多帧视频场景下的驱动的稳定性、鲁棒性、自然性、准确性。
在步骤S103,基于确定的各个目标部位的姿态驱动数据,对虚拟形象的对应部位进行驱动。所述虚拟形象与所述目标对象具有一一对应的部位。
作为示例,可根据颈部的姿态驱动数据对虚拟形象的颈部进行驱动,根据除颈部之外的身体部位的姿态驱动数据对虚拟形象的除颈部之外的身体部位进行驱动,根据手腕的姿态驱动数据对虚拟形象的手腕进行驱动,根据手指的姿态驱动数据对虚拟形象的手指进行驱动。
作为示例,可通过将虚拟形象的各个部位的姿态数据设置为通过步骤S102确定的该部位的姿态驱动数据,来实现基于确定的每个部位的姿态驱动数据,对虚拟形象的对应部位进行驱动。
作为示例,步骤S103可包括:基于所述手腕的姿态驱动数据,对所述除颈部之外的身体部位的姿态驱动数据中的手腕关节的父关节的姿态驱动数据进行修正,以得到修正后的除颈部之外的身体部位的姿态驱动数据;然后,基于修正后的除颈部之外的身体部位的姿态驱动数据、所述手指的姿态驱动数据、所述颈部的姿态驱动数据以及所述手腕的姿态驱动数据,对虚拟形象的对应部位进行驱动。
例如,可基于手腕的姿态驱动数据和手臂的姿态驱动数据,确定手腕和小臂相对旋转的x轴的旋转分量(也即,x轴角),然后,可基于确定的旋转分量与预设比例系数的乘积对小臂的姿态驱动数据进行修正(例如,使小臂的姿态驱动数据乘以与所述乘积对应的旋转四元数作为修正后的数据),以将确定的旋转分量传导一部分给小臂。
根据本公开的实施例,可根据当前图像帧,驱动虚拟形象处于与当前图像帧中的目标对象一致的姿态,即,可驱动虚拟形象做出与当前图像帧中的目标对象一致的动作,从而能够形成虚拟形象的动画帧。
作为示例,根据本公开示例性实施例的图像处理方法还可包括:基于生成的与各个图像帧对应的动画帧及各个图像帧的时序,形成连续的动画帧序列。从而,客户端能够看到一个活灵活现的虚拟形象。
作为示例,当前图像帧可为实时采集的视频帧,或已接收到的视频中的视频帧。例如,当基于当前图像帧(例如,当前时刻采集的图像帧)执行步骤S101-S103对虚拟形象进行驱动之后,可将下一时刻采集的图像帧作为当前图像帧执行步骤S101-S103继续对虚拟形象进行驱动,从而能够对虚拟形象进行连续驱动,形成虚拟形象的动画帧序列。或者,可分别将已接收到的视频中的各个视频帧依次作为当前图像帧来执行步骤S101-S103,基于生成的与各个图像帧对应的动画帧及各个图像帧的时序,形成虚拟形象的连续的动画帧序列。
根据本公开的示例性实施例,提供了一种低成本、鲁棒、自然的全身捕捉驱动虚拟形象的方法。本公开考虑到基于单目摄像头可单独捕捉检测输出头部、身体部位、手部的姿态,但要整体驱动一个虚拟形象就需要融合这些输出并考虑各个部位的相互约束,以解决虚拟形象全身驱动的方案存在的抖动、不自然、不合理、手部和头部漏检误检等问题。
图4示出根据本公开示例性实施例的图像处理装置的结构框图。
如图4所示,根据本公开示例性实施例的图像处理装置10包括:检测数据获取单元101、驱动数据获取单元102、驱动单元103。
具体说来,检测数据获取单元101被配置为获取当前图像帧中目标对象的多个部位的姿态检测数据。
驱动数据获取单元102被配置为针对所述多个部位之中每个与其他部位相关联的目标部位,基于所述目标部位及其关联部位的姿态检测数据,确定所述目标部位的姿态驱动数据。
驱动单元103被配置为基于确定的各个目标部位的姿态驱动数据,对虚拟形象的对应部位进行驱动,所述虚拟形象与所述目标对象具有一一对应的部位。
作为示例,所述多个部位可包括手部、头部以及身体部位,所述多个部位的姿态检测数据可包括头部姿态检测数据、身体姿态检测数据以及手部姿态检测数据,所述各个目标部位可包括身体部位和手部。
作为示例,驱动数据获取单元102可被配置为:基于所述身体姿态检测数据和所述头部姿态检测数据,确定身体部位中的颈部的姿态驱动数据,并基于所述身体姿态检测数据确定除颈部之外的身体部位的姿态驱动数据;基于所述手部姿态检测数据和所述身体姿态检测数据,确定手部中的手腕的姿态驱动数据,并基于所述手部姿态检测数据确定手部中的手指的姿态驱动数据。
作为示例,驱动数据获取单元102可被配置为:基于所述身体姿态检测数据中的颈部姿态检测数据、所述头部姿态检测数据以及颈部姿态关联数据,确定所述颈部的姿态驱动数据,其中,所述颈部姿态关联数据包括以下项之中的至少一项:所述身体姿态检测数据中的颈部关节的父关节的姿态检测数据、针对上一图像帧确定的颈部的姿态驱动数据、预设的颈部闲置状态时的姿态数据,其中,所述颈部闲置状态为未检测到当前图像帧中的所述目标对象的身体部位和头部时颈部需进入的状态。
作为示例,驱动数据获取单元102可被配置为:通过使所述颈部的姿态驱动数据与各项颈部融合数据之间的距离的二范数的加权和最小化,确定所述颈部的姿态驱动数据,其中,所述各项颈部融合数据包括:所述颈部姿态检测数据、所述头部姿态检测数据、所述颈部姿态关联数据。
作为示例,驱动数据获取单元102可被配置为:基于所述手部姿态检测数据中的手腕姿态检测数据、所述身体姿态检测数据中的手腕关节的父关节的姿态检测数据以及手腕姿态关联数据,确定所述手腕的姿态驱动数据,其中,所述手腕姿态关联数据包括以下项之中的至少一项:针对上一图像帧确定的手腕的姿态驱动数据、预设的手腕闲置状态时的姿态数据,其中,所述手腕闲置状态为未检测到当前图像帧中的所述目标对象的手部时手腕需进入的状态。
作为示例,驱动数据获取单元102可被配置为:通过使所述手腕的姿态驱动数据与各项手腕融合数据之间的距离的二范数的加权和最小化,确定所述手腕的姿态驱动数据,其中,所述各项手腕融合数据包括:所述手腕姿态检测数据、所述身体姿态检测数据中的手腕关节的父关节的姿态检测数据、所述手腕姿态关联数据。
作为示例,检测数据获取单元101可被配置为:将当前图像帧输入身体检测模型,得到身体姿态检测数据;将当前图像帧中的头部区域图像输入头部检测模型,得到头部姿态检测数据;将当前图像帧中的手部区域图像输入手部检测模型,得到手部姿态检测数据。
作为示例,检测数据获取单元101可被配置为:将当前图像帧输入身体检测模型,得到所述身体姿态检测数据、颈部位置数据、手腕位置数据;其中,检测数据获取单元101还可被配置为:根据所述颈部位置数据,从当前图像帧中识别并截取出头部所在的区域,作为所述头部区域图像;根据所述手腕位置数据,从当前图像帧中识别并截取出手部所在的区域,作为所述手部区域图像。
作为示例,驱动数据获取单元102可被配置为:基于所述身体姿态检测数据中的除颈部之外的身体部位的姿态检测数据和身体姿态关联数据,确定所述除颈部之外的身体部位的姿态驱动数据,其中,所述身体姿态关联数据包括以下项之中的至少一项:针对上一图像帧确定的除颈部之外的身体部位的姿态驱动数据、预设的身体部位闲置状态时的姿态数据,其中,所述身体部位闲置状态为未检测到当前图像帧中的所述目标对象的身体部位时除颈部之外的身体部位需进入的状态。
作为示例,驱动数据获取单元102可被配置为:通过使所述除颈部之外的身体部位的姿态驱动数据与各项身体融合数据之间的距离的二范数的加权和最小化,确定所述除颈部之外的身体部位的姿态驱动数据,其中,所述各项身体融合数据包括:所述除颈部之外的身体部位的姿态检测数据和所述身体姿态关联数据。
作为示例,驱动数据获取单元102可被配置为:基于所述手部姿态检测数据中的手指姿态检测数据和手指姿态关联数据,确定所述手指的姿态驱动数据,其中,所述手指姿态关联数据包括以下项之中的至少一项:针对上一图像帧确定的手指的姿态驱动数据、预设的手指闲置状态时的姿态数据,其中,所述手指闲置状态为未检测到当前图像帧中的所述目标对象的手指时手指需进入的状态。
作为示例,驱动数据获取单元102可被配置为:通过使所述手指的姿态驱动数据与各项手指融合数据之间的距离的二范数的加权和最小化,确定所述手指的姿态驱动数据,其中,所述各项手指融合数据包括:所述手指姿态检测数据和所述手指姿态关联数据。
作为示例,驱动单元103可被配置为:基于所述手腕的姿态驱动数据,对所述除颈部之外的身体部位的姿态驱动数据中的手腕关节的父关节的姿态驱动数据进行修正,以得到修正后的除颈部之外的身体部位的姿态驱动数据;基于修正后的除颈部之外的身体部位的姿态驱动数据、所述手指的姿态驱动数据、所述颈部的姿态驱动数据以及所述手腕的姿态驱动数据,对虚拟形象的对应部位进行驱动。
作为示例,当前图像帧可以是通过单目摄像头采集的图像帧。
关于上述实施例中的图像处理装置10,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
此外,应该理解,根据本公开示例性实施例的图像处理装置10中的各个单元可被实现硬件组件和/或软件组件。本领域技术人员根据限定的各个单元所执行的处理,可以例如使用现场可编程门阵列(FPGA)或专用集成电路(ASIC)来实现各个单元。
图5示出根据本公开示例性实施例的电子设备的结构框图。参照图5,该电子设备20包括:至少一个存储器201和至少一个处理器202,所述至少一个存储器201中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器202执行时,执行如上述示例性实施例所述的图像处理方法。
作为示例,电子设备20可以是PC计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备20并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备20还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
在电子设备20中,处理器202可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器202还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
处理器202可运行存储在存储器201中的指令或代码,其中,存储器201还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
存储器201可与处理器202集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储器201可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器301和处理器202可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器202能够读取存储在存储器中的文件。
此外,电子设备20还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备20的所有组件可经由总线和/或网络而彼此连接。
根据本公开的示例性实施例,还可提供一种存储指令的计算机可读存储介质,其中,当指令被至少一个处理器运行时,促使至少一个处理器执行如上述示例性实施例所述的图像处理方法。这里的计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
根据本公开的示例性实施例,还可提供一种计算机程序产品,该计算机程序产品中的指令可由至少一个处理器执行以完成如上述示例性实施例所述的图像处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种图像处理方法,其特征在于,包括:
获取当前图像帧中目标对象的多个部位的姿态检测数据;
针对所述多个部位之中每个与其他部位相关联的目标部位,基于所述目标部位及其关联部位的姿态检测数据,确定所述目标部位的姿态驱动数据;
基于确定的各个目标部位的姿态驱动数据,对虚拟形象的对应部位进行驱动,所述虚拟形象与所述目标对象具有一一对应的部位。
2.根据权利要求1所述的图像处理方法,其特征在于,所述多个部位包括手部、头部以及身体部位,所述多个部位的姿态检测数据包括头部姿态检测数据、身体姿态检测数据以及手部姿态检测数据,所述各个目标部位包括身体部位和手部,
其中,针对所述多个部位之中每个与其他部位相关联的目标部位,基于所述目标部位及其关联部位的姿态检测数据,确定所述目标部位的姿态驱动数据的步骤包括:
基于所述身体姿态检测数据和所述头部姿态检测数据,确定身体部位中的颈部的姿态驱动数据,并基于所述身体姿态检测数据确定除颈部之外的身体部位的姿态驱动数据;
基于所述手部姿态检测数据和所述身体姿态检测数据,确定手部中的手腕的姿态驱动数据,并基于所述手部姿态检测数据确定手部中的手指的姿态驱动数据。
3.根据权利要求2所述的图像处理方法,其特征在于,基于所述身体姿态检测数据和所述头部姿态检测数据,确定身体部位中的颈部的姿态驱动数据的步骤包括:
基于所述身体姿态检测数据中的颈部姿态检测数据、所述头部姿态检测数据以及颈部姿态关联数据,确定所述颈部的姿态驱动数据,
其中,所述颈部姿态关联数据包括以下项之中的至少一项:所述身体姿态检测数据中的颈部关节的父关节的姿态检测数据、针对上一图像帧确定的颈部的姿态驱动数据、预设的颈部闲置状态时的姿态数据,
其中,所述颈部闲置状态为未检测到当前图像帧中的所述目标对象的身体部位和头部时颈部需进入的状态。
4.根据权利要求3所述的图像处理方法,其特征在于,确定所述颈部的姿态驱动数据的步骤包括:
通过使所述颈部的姿态驱动数据与各项颈部融合数据之间的距离的二范数的加权和最小化,确定所述颈部的姿态驱动数据,
其中,所述各项颈部融合数据包括:所述颈部姿态检测数据、所述头部姿态检测数据、所述颈部姿态关联数据。
5.根据权利要求2所述的图像处理方法,其特征在于,基于所述手部姿态检测数据和所述身体姿态检测数据,确定手部中的手腕的姿态驱动数据的步骤包括:
基于所述手部姿态检测数据中的手腕姿态检测数据、所述身体姿态检测数据中的手腕关节的父关节的姿态检测数据以及手腕姿态关联数据,确定所述手腕的姿态驱动数据,
其中,所述手腕姿态关联数据包括以下项之中的至少一项:针对上一图像帧确定的手腕的姿态驱动数据、预设的手腕闲置状态时的姿态数据,
其中,所述手腕闲置状态为未检测到当前图像帧中的所述目标对象的手部时手腕需进入的状态。
6.根据权利要求5所述的图像处理方法,其特征在于,确定所述手腕的姿态驱动数据的步骤包括:
通过使所述手腕的姿态驱动数据与各项手腕融合数据之间的距离的二范数的加权和最小化,确定所述手腕的姿态驱动数据,
其中,所述各项手腕融合数据包括:所述手腕姿态检测数据、所述身体姿态检测数据中的手腕关节的父关节的姿态检测数据、所述手腕姿态关联数据。
7.一种图像处理装置,其特征在于,包括:
检测数据获取单元,被配置为获取当前图像帧中目标对象的多个部位的姿态检测数据;
驱动数据获取单元,被配置为针对所述多个部位之中每个与其他部位相关联的目标部位,基于所述目标部位及其关联部位的姿态检测数据,确定所述目标部位的姿态驱动数据;
驱动单元,被配置为基于确定的各个目标部位的姿态驱动数据,对虚拟形象的对应部位进行驱动,所述虚拟形象与所述目标对象具有一一对应的部位。
8.一种电子设备,其特征在于,包括:
至少一个处理器;
至少一个存储计算机可执行指令的存储器,
其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1至6中任一项所述的图像处理方法。
9.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令被至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1至6中任一项所述的图像处理方法。
10.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令被至少一个处理器执行时实现如权利要求1至6中任一项所述的图像处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210770420.2A CN115138063A (zh) | 2022-06-30 | 2022-06-30 | 图像处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210770420.2A CN115138063A (zh) | 2022-06-30 | 2022-06-30 | 图像处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115138063A true CN115138063A (zh) | 2022-10-04 |
Family
ID=83409902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210770420.2A Pending CN115138063A (zh) | 2022-06-30 | 2022-06-30 | 图像处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115138063A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115641647A (zh) * | 2022-12-23 | 2023-01-24 | 海马云(天津)信息技术有限公司 | 数字人手腕驱动方法与装置、存储介质及电子设备 |
-
2022
- 2022-06-30 CN CN202210770420.2A patent/CN115138063A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115641647A (zh) * | 2022-12-23 | 2023-01-24 | 海马云(天津)信息技术有限公司 | 数字人手腕驱动方法与装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2015264699B2 (en) | Eye gaze tracking based upon adaptive homography mapping | |
CN108319976B (zh) | 建图方法及装置 | |
JP2021192250A (ja) | 単眼カメラを用いたリアルタイム3d捕捉およびライブフィードバックのための方法およびシステム | |
KR102090116B1 (ko) | 반응형 영상 생성방법 및 생성프로그램 | |
US10037624B2 (en) | Calibrating object shape | |
JP2018532216A (ja) | 画像正則化及びリターゲティングシステム | |
JP2019028843A (ja) | 人物の視線方向を推定するための情報処理装置及び推定方法、並びに学習装置及び学習方法 | |
Barandiaran et al. | Real-time optical markerless tracking for augmented reality applications | |
US9646571B1 (en) | Panoramic video augmented reality | |
CN113420719A (zh) | 生成动作捕捉数据的方法、装置、电子设备以及存储介质 | |
CN110941332A (zh) | 表情驱动方法、装置、电子设备及存储介质 | |
CN111868738B (zh) | 跨设备监控计算机视觉系统 | |
JP2015079502A (ja) | オブジェクト追跡方法、オブジェクト追跡装置、及び追跡特徴選択方法 | |
US11562489B2 (en) | Pixel-wise hand segmentation of multi-modal hand activity video dataset | |
CN108648149B (zh) | 基于增强现实的图像拼接方法、系统、设备及存储介质 | |
JP2016105279A (ja) | 視覚データを処理するための装置および方法、ならびに関連するコンピュータプログラム製品 | |
EP4191540A1 (en) | 3d data system and 3d data generation method | |
CN113436066A (zh) | 用于多相机或其他环境的超分辨率深度图生成 | |
CN115138063A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
US10791321B2 (en) | Constructing a user's face model using particle filters | |
CN108804161B (zh) | 应用的初始化方法、装置、终端和存储介质 | |
TWI716938B (zh) | 臉部表情建構方法、裝置及非暫態電腦可讀取紀錄媒體 | |
KR101515847B1 (ko) | Nui 장치에 의해 수집된 동작정보의 보정 방법 및 장치 | |
CN113325950B (zh) | 功能控制方法、装置、设备以及存储介质 | |
CN112651325A (zh) | 表演者与虚拟物体交互方法、装置及计算机设备 |
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 |