CN116228940A - 基于拓扑结构匹配动画骨骼的方法、装置及存储介质 - Google Patents

基于拓扑结构匹配动画骨骼的方法、装置及存储介质 Download PDF

Info

Publication number
CN116228940A
CN116228940A CN202310111239.5A CN202310111239A CN116228940A CN 116228940 A CN116228940 A CN 116228940A CN 202310111239 A CN202310111239 A CN 202310111239A CN 116228940 A CN116228940 A CN 116228940A
Authority
CN
China
Prior art keywords
image
outer contour
topology
animation
contour
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
Application number
CN202310111239.5A
Other languages
English (en)
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.)
4u Beijing Technology Co ltd
Original Assignee
4u Beijing 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 4u Beijing Technology Co ltd filed Critical 4u Beijing Technology Co ltd
Priority to CN202310111239.5A priority Critical patent/CN116228940A/zh
Publication of CN116228940A publication Critical patent/CN116228940A/zh
Pending legal-status Critical Current

Links

Images

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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • G06V10/765Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects using rules for classification or partitioning the feature space

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请提供了一种基于拓扑结构匹配动画骨骼的方法、装置及存储介质,其中,该方法包括:获取静态图像,并从所述静态图像中提取所述静态图像中的目标对象的外轮廓;确定所述外轮廓内的图像的拓扑结构,并基于所述拓扑结构,将所述外轮廓内的图像与动画骨骼库中的动画骨骼进行匹配,其中,所匹配的动画骨骼用来动态显示所述外轮廓内的图像。本申请解决了相关技术中由于所匹配的动画骨骼不适合导致的动态显示静态图像不协调的技术问题。

Description

基于拓扑结构匹配动画骨骼的方法、装置及存储介质
技术领域
本申请涉及图像处理领域,具体而言,涉及一种基于拓扑结构匹配动画骨骼的方法、装置及存储介质。
背景技术
随着手机、平板电脑等智能电子设备的普及和应用,尤其伴随摄像头硬件的不断升级,以及人脸识别技术的成熟,越来越多的用户喜欢使用手机来拍照,手机拍照已逐渐取代了相机拍照。虽然现有的手机拍照技术可以对相片进行一些简单的处理,例如,对相片中人物进行美化、调色,或对背景进行虚化等,但是,采用这些图像处理技术处理后的相片还是静态图像,交互性差,这对于满足人们的娱乐需求,还远远不够。
为了使手机等智能电子设备拍摄的静态图像能够动态显示,本申请人曾于2017年5月31日向国家知识产权局提交了申请号为201611088517.6的发明专利申请,该申请公开了一种静态图像转换为动态影像的方法和装置。在该申请中,首先,获取电子图像,提取电子图像中对象的轮廓特征,得到对象的轮廓内图像;之后,基于拓扑结构分析,得到轮廓内图像对应的动画骨骼信息文件,根据轮廓内图像和对应的动画骨骼信息文件,将电子图像中的目标对象转换为矢量模型;最后,根据矢量模型和相应的轮廓内图像,得到带五官的矢量模型,并采用五官表情驱动或肢体驱动的方式,驱动静态图像动起来。
但是,该方案并没有公开如何分析拓扑结构,所匹配的动画骨骼信息文件有时并不是十分适合,造成动态显示静态图像时整体协调性不好,用户体验不高。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种基于拓扑结构匹配动画骨骼的方法、装置及存储介质,以至少解决由于所匹配的动画骨骼不适合导致的动态显示静态图像不协调的技术问题。
根据本申请实施例的一个方面,提供了基于拓扑结构匹配动画骨骼的方法,包括:获取静态图像,并从所述静态图像中提取所述静态图像中的目标对象的外轮廓;确定所述外轮廓内的图像的拓扑结构,并基于所述拓扑结构,将所述外轮廓内的图像与动画骨骼库中的动画骨骼进行匹配,其中,所匹配的动画骨骼用来动态显示所述外轮廓内的图像。
根据本申请实施例的另一方面,还提供了一种基于拓扑结构匹配动画骨骼的装置,包括:轮廓获取模块,被配置为获取静态图像,并从所述静态图像中提取所述静态图像中的目标对象的外轮廓;拓扑分析模块,被配置为确定所述外轮廓内的图像的拓扑结构,并基于所述拓扑结构,将所述外轮廓内的图像与动画骨骼库中的动画骨骼进行匹配,其中,所匹配的动画骨骼用来动态显示所述外轮廓内的图像。
在本申请实施例中,确定静态图像中的目标对象的外轮廓内的图像的拓扑结构,并基于所述拓扑结构,将所述外轮廓内的图像与动画骨骼库中的动画骨骼进行匹配,进而解决了由于所匹配的动画骨骼不适合导致的动态显示静态图像不协调的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种静态图像的动态显示方法的流程图;
图2是根据本申请实施例的另一种静态图像的动态显示方法的流程图;
图3是根据本申请实施例的又一种静态图像的动态显示方法的流程图;
图4是根据本申请实施例的一种能够替换脸部的静态图像的动态显示方法的流程图;
图5是根据本申请实施例的对动态显示的目标对象进行换脸处理的方法的流程图;
图6是根据本申请实施例的相邻两帧图片中像素点的光流示意图;
图7是根据本申请实施例的具有集成窗口的相邻两帧图片中像素点的光流示意图;
图8是根据本申请实施例的一种基于拓扑结构匹配动画骨骼的方法的流程图;
图9是根据本申请实施例的另一种基于拓扑结构匹配动画骨骼的方法的流程图;
图10是根据本申请实施例的一种静态图像的动态显示装置的结构示意图;
图11是根据本申请实施例的一种基于拓扑结构匹配动画骨骼的装置的结构示意图;
图12是根据本申请实施例的一种电子设备的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本申请实施例,提供了一种静态图像的动态显示方法,如图1所示,该方法包括:
步骤S102,获取静态图像,并从所述静态图像中提取所述静态图像中的目标对象的外轮廓,得到所述目标对象的外轮廓的外边缘位置数据。
静态图像可以是由成像设备拍摄的照片,也可以是由图形软件或图形工具创建的图像,格式可以是视频中的帧图像、JPG图片等。
在一些实施例中,可以根据所述静态图像的至少两个边缘中每个边缘的长度,获得对应于所述每个边缘的多个目标序列值;之后,确定所述多个目标序列值中的每个目标序列值对应于所述外轮廓的概率;最后,基于所确定的概率,从所述静态图像中提取所述目标对象的外轮廓。
在另一些实施例中,还可以提取静态图像中的目标对象的轮廓特征以获得目标对象的外轮廓内的图像。例如,对静态图像执行轮廓特征提取、图像的边缘检测、颜色空间特征的映射等操作,以获得目标对象的外轮廓的外边缘位置数据。
步骤S104,将所述外边缘位置数据与动画骨骼库中的动画骨骼进行匹配,并将所述外边缘位置数据与匹配的动画骨骼进行绑定。
在一些实施例中,可以采用方向切割的方法来将所述外边缘位置数据与动画骨骼库中的各个动画骨骼进行匹配。
首先,对动画骨骼进行预处理。例如,基于所述外边缘位置数据,估算所述外轮廓内的图像的面积和几何形状;基于所估算的面积,对所述动画骨骼库中的动画骨骼进行缩放,并基于所估算出的几何形状,对所述动画骨骼库中的动画骨骼进行旋转。
之后,基于方向对轮廓内的图像进行切割,并对切割后得到的子图像进行匹配。例如,基于预设的多个方向,将所述外轮廓内的图像划分为多个子图像;然后,针对所述多个方向中的每一个方向,判断与该方向相应的子图像的外边缘位置数据与处理后的动画骨骼在该方向上的位置数据是否匹配。
在另一些实施例中,可以采用分析拓扑结构的方法来将所述外边缘位置数据与动画骨骼库中的各个动画骨骼进行匹配。
例如,首先基于所述外边缘位置数据和所述轮廓内的图像,构建与所述轮廓内的图像对应的三维模型;接着,在所述三维模型的三角形网格上定义连续函数,并根据所述三角形网格上的各个顶点的三维坐标,利用所述连续函数计算各个所述顶点的函数值;然后,将所述顶点的函数值相同且位于同一连通分量上的顶点划归为一类,并作为新的节点商集;最后,基于所述新的节点商集,生成拓扑结构,并基于所述拓扑结构,来与动画骨骼库中的动画骨骼进行匹配。
步骤S106,驱动所绑定的动画骨骼,并基于所绑定的动画骨骼的运动轨迹来对所述外轮廓内的图像进行变形处理,以动态显示所述静态图像中的所述目标对象。
首先,进行预变形。例如,计算所述外轮廓内的图像的能量图;基于所述能量图,寻找所述外轮廓内的图像的所述最小能量线。之后,基于所述最小能量线和所述运动轨迹,移动所述外轮廓内的图像内的各个像素,并计算移动后的各个像素的光流场;然后,基于所述光流场,计算所述外轮廓内的图像内的各个像素的运动矢量,以对所述外轮廓内的图像进行预变形。
之后,对预变形后的图像进行网格划分,以划分后的所述网格的顶点为控制顶点,利用相似变幻,对所述预变形后的图像进行全局变形。
本实施例中,将目标对象的外边缘位置数据与动画骨骼库中的动画骨骼进行匹配,并将外边缘位置数据与匹配的动画骨骼进行绑定;驱动所绑定的动画骨骼,并基于所绑定的动画骨骼的运动轨迹来对所述外轮廓内的图像进行变形处理,进而解决了由于未对轮廓内的图像进行变形处理而造成的动态显示不协调的技术问题。
实施例2
根据本申请实施例,提供了另一种静态图像的动态显示方法,如图2所示,该方法包括:
步骤S202,获取静态图像。
静态图像可以是由智能电子设备例如,手机、平板电脑、照相机等拍摄的照片,也可以是由图形软件或绘图工具制作的图像,还可以是从智能电子设备的相册中获取的一张照片或从网络上下载的一张图片。在一些示例中,静态图像还可以是视频影像中的帧图像,例如,与眼部对应的静态图像可以是闭眼动作的帧图像或睁眼动作的帧图像。
步骤S204,从静态图像中提取目标对象的外轮廓。
在一些实施例中,可以对静态图像进行检测,从静态图像中提取出目标对象的外轮廓,例如,人、动物、植物、物品等的外轮廓。例如,对静态图像进行边缘检测、颜色空间特征映射,以获取目标对象的外轮廓。边缘检测的方法将在下文详细描述,此处不再赘述。
在另外一些实施例中,也可以接收用户输入的指令,基于用户输入的指令来从静态图像中选定目标对象的外轮廓。例如,用户通过手指在触摸屏上划定的静态图像中的范围或用户使用绘图工具在静态图像中选定的范围,以获取目标对象的外轮廓。
本实施例中的目标对象不限于静态图像中的整体目标,例如,人、动物、植物,物品等,还可以是静态图像中的某一个或某一些特征区域,例如,在静态图像包含人的情况下,特征区域可以是人的眼部、口部、鼻部、耳部、手部、足部、躯干部等,也可以是上述部分部位的结合,例如,眼部、口部、鼻部、耳部的结合。
之后,基于所提取的外轮廓,得到外轮廓的外边缘位置数据。
步骤S206,将轮廓内的图像与选定的动画骨骼进行绑定。
遍历动画骨骼库中的各个动画骨骼,通过移动旋转和缩放,调节每一个动画骨骼,来匹配轮廓内的图像。
在一些实施例中,在匹配外轮廓内的图像和动画骨骼时,剥离外轮廓内的图像的一层对象体素,同时保持外轮廓内的图像拓扑和局部伸长。然后将外轮廓内的图像划分为例如六个方向上的子图像,例如,北、南、东、西、上和下六个方向上的子图像。每个方向执行一个子迭代,以判断该方向的动画骨骼和该方向的外轮廓内的图像的外边缘位置数据是否相匹配,其中,并行处理相应方向子图像中的体素。
在另一些实施例中,可以首先分割外轮廓内的图像,使得任何体素的简单性与来自同一子图像的任何其他体素的对象配置彼此独立。之后,在三维立方体网格中定义八个子场,并建立其拓扑保持特性。利用迭代并行算法,来分别计算在八个子场中,外轮廓内的图像的距离变换和缩放后的动画骨骼的距离变换是否匹配。
步骤S208,驱动动画骨骼,对外轮廓内的图像进行相应的变形处理,来生成动态影像。
首先,需要寻找计算外轮廓内的图像的最小能量线,对外轮廓内的图像进行预变形。例如,可以将外轮廓内的图像放大成矩形图像。计算矩形图像的能量图;基于所述能量图,寻找矩形图像的最小能量线。外轮廓内的图像中的每个像素点都可以基于动画骨骼的运动轨迹移动其位置。外轮廓内的图像的像素点可以用Seam映射算法增强。假设像素点的位置移动为I’(x,y),那么可以计算其光流场u(x,y)-I’(x,y)。这样,在外轮廓内的图像变为局部扭转图像后,计算出每个像素的运动矢量。
接着,先对矩形图像进行网格划分,之后,在记录分区之后,每个像素点通过运动场进行变形后产生局部扭转图像。在运动场中,反变形,同时记录每个顶点的新位置,并将每个顶点的新位置存储在网格中。
以这些网格顶点新位置v’(x,y)为控制顶点,利用相似变换的变形方法,对外轮廓内的图像进行全局变形。变形的控制顶点为v’(x,y),变形后的位置为v(x,y),据此可以得到全局的图像变形结果。
本实施例中,通过计算外轮廓内的图像的各个像素的光流场,来对外轮廓内的图像进行预变形,并在预变形之后,进行全局变形,以达到更协调地动态显示静态图像中的目标对象的目的,进而解决现有技术中无法协调地动态显示静止图像所导致的用户体验差的技术问题。
实施例3
根据本申请实施例,提供了又一种静态图像的动态显示方法,如图3所示,该方法包括:
步骤S302,获取静态图像,从静态图像中提取目标对象的外轮廓。
在本实施例中,利用边缘检测方法来从静态图像中提取目标对象的外轮廓。
首先,根据静态图像的至少两个边缘的每个边缘的长度,获得对应于该边缘的多个目标序列值。在获得静态图像后,根据静态图像中各边缘的长度,得到对应于该边缘的多个目标序列值,例如,对静态图像的至少两个边缘的边缘长度离散化以获得多个目标序列值。其中,多个目标序列值可以是0和x之间的任意值,x是边缘长度值。
接着,根据静态图像获取目标跟踪特征,目标跟踪特征表示对应于至少两个边缘的多个目标序列值中的每个目标序列值对应于静态图像中的目标对象的外轮廓位置的概率。
外轮廓的边缘是灰度值不连续的结果,这种不连续可以利用空间微分算子通过卷积来进行边缘检测,以进一步地获取目标跟踪特征。具体地,利用滤波器来滤除外轮廓图像内的噪声,以提高相关边缘检测的性能。然后,利用滤除噪声后的外轮廓内的图像的强度的一阶导数和二阶导数来进行边缘检测。例如,先确定外轮廓内的图像中各像素点的邻域强度变化值,这样可以突出强度值有明显变化的像素点。外轮廓内的图像中会有很多梯度幅值比较大的点,此时可以通过子像素分辨率来判断边缘位置,也可以判断边缘的方位,得到每个目标序列值对应于静态图像中的目标对象的外轮廓位置的概率分布预测。
在对至少两个边缘中的较长边缘进行多个目标序列值的检测时,对静态图像进行尽可能多的概率分布预测,以提高所得到的目标跟踪特征所表示的概率分布的精度,从而最终提高目标检测特征的精度。
在本实施例中,提取对应于静态图像的至少两个边缘的多个目标序列值,然后,将目标序列值与目标对象的位置特征相匹配,进行概率分布预测,以获取目标跟踪特征,从而更精确地提取出目标对象的外轮廓。
步骤S304,基于外轮廓内的图像生成三维模型。
获取外轮廓内的图像以及该图像的深度信息。其中,深度信息用于描述图像中每个像素的灰度或颜色,对应场景的深度信息一般由相同的灰度大小来描述图像的灰度,灰度图像中每个像素的灰度值描述对应场景的深度的值,即深度信息。
本实施例通过外轮廓内的图像中的像素点的深度信息,计算出每个像素点的对应深度,之后,利用计算出的深度信息来构建三维模型。例如,根据深度图的深度信息,得到外轮廓内的图像中各像素的深度值;利用三维建模算法将深度信息中每个像素的深度值映射到三维坐标系上的坐标上得到三维图像,然后对三维图像进行三维建模得到三维模型。
外轮廓内的图像和相应的深度信息共同确定了三维空间中三维模型的整体形状。为了使所构建的三维模型效果更精确,还需要对构建的三维模型进行渲染,渲染的方法可以采用现有技术中的方法,因此,此处不再赘述。
步骤S306,将三维模型与选定的动画骨骼进行绑定。
在所述三维模型的三角形网格上定义连续函数,并根据所述三角形网格上的各个顶点的三维坐标,利用所述连续函数计算各个所述顶点的函数值;然后,将所述顶点的函数值相同且位于同一连通分量上的顶点划归为一类,并作为新的节点商集;最后,基于所述新的节点商集,生成拓扑结构,并遍历动画骨骼库中的各个动画骨骼,来匹配拓扑结构。在进行拓扑结构的匹配之前,还可以对动画骨骼进行旋转和缩放,以更好地与拓扑结构进行匹配。
步骤S308,驱动动画骨骼,对外轮廓内的图像进行相应的变形处理,来生成动态影像。
变形处理的方法和实施例1和2中的方法类似,此处不再赘述。
本实施例中,在驱动动画骨骼的同时,还播放与动画骨骼的运动轨迹相适应的音频文件。
音频文件是由用户输入声音或输入字符而直接生成的。字符信息是用户输入的字符。用动画骨骼驱动静态图像中的目标对象之后,可以从静态图像中提取出与输入的字符相对应的字符信息,并将字符信息转换成相应的音频文件。此时,在对静态图像进行动态显示时,可以播放相应的音频文件以获得更加有趣的显示效果。
本实施例实现了为动态影像创建音频文件的目的,并且可以在静态图像的动态显示期间满足声音元件的渲染效果。
实施例4
根据本申请实施例,提供了又一种静态图像的动态显示方法,如图4所示,该方法包括:
步骤S402,获取静态图像,并识别静态图像中的目标对象。
例如,识别静态图像中的目标对象,目标对象可以是人或角色的身体部分或面部。静态图像可以是由智能电子设备拍摄的照片,也可以是由制图软件或绘图工具制作的图像。
对静态图像进行边缘检测、颜色空间特征映射,以获取人物图像或人物的轮廓特征数据;基于轮廓特征数据获取角色或头像。在其他的一些实施例中,可以对静态图像执行诸如边缘检测或色域映射之类的图像处理操作,以获得静态图像中目标人物或人物的轮廓特征数据。这样,可以基于所识别出的轮廓特征数据,提取目标对象的外轮廓。
步骤S404,基于目标对象的外轮廓,来匹配动画骨骼。
基于拓扑结构分析,获得与轮廓内图像对应的动画骨骼。基于外轮廓的外边缘位置数据,通过拓扑结构分析,匹配到具体的动画骨骼的信息文件。将外轮廓内的图像与对应的动画骨骼的信息文件绑定。
在一些实施例中,可以基于所述外边缘位置数据和所述轮廓内的图像,构建与所述轮廓内的图像对应的三维模型;在所述三维模型的三角形网格上定义连续函数,并根据所述三角形网格上的各个顶点的三维坐标,利用所述连续函数计算各个所述顶点的函数值;将所述顶点的函数值相同且位于同一连通分量上的顶点划归为一类,并作为新的节点商集;基于所述新的节点商集,生成拓扑结构,并基于所述拓扑结构,来与所述动画骨骼库中的动画骨骼进行匹配。
在另外一些实施例中,还可以采用其他的拓扑结构的分析方法,这些拓扑结构分析方法将在下文详细描述,此处不再赘述。
步骤S406,基于驱动指令,驱动动画骨骼。
在一些实施例中,还可以根据实际驱动需要,基于外轮廓内的图像和相应的动画骨骼的信息文件将静态图像中的外轮廓内的图像转换为矢量模型。例如,对外轮廓内的图像进行三角化,得到新的带动画骨骼数据的矢量模型。从矢量模型和对应的外轮廓内的图像获得五官矢量模型。基于向量模型和相关外轮廓内的图像,识别人脸部的五官等信息,将五官信息三角化,得到五官矢量模型。使用五官表情驱动或肢体驱动的方式来驱动五官矢量模型。
在一些实施例中,驱动指令可以包括声音信号,表情动作和身体动作。例如,驱动指令可以是用户输入的声音,脸部表情和身体动作。再例如,当用户使用手机进行拍照时,将用户的各种脸部表情和脸部动作特征作为手机屏幕上的静态照片的驱动指令,这样,手机上的静态图像就可以以一定的方式移动。可用于为手机更换不同的图像,或装饰部分特定图像以取代电脑的保护屏的图片。本实施例中,通过引入驱动指令可以实现通过表情或手势动作来移动静止图像的效果。
步骤S408,对动态显示的目标对象进行换脸处理。
例如,识别出的目标对象是人或动物的情况下,可以对目标对象进行换脸处理。当然,在其他的实施例中,也可以替换其他部位,比如腿部、手部、眼部等。
图5是根据本申请实施例的对动态显示的目标对象进行换脸处理的方法的流程图,如图5所示,该方法包括以下步骤:
步骤S4082,提取脸部运动轨迹数据。
在动态显示静态图像得到动态视频之后,可以获取动态视频中相邻的两帧图片,即当前帧图片和下一帧图片,也可以称为第一帧图片和第二帧图片。通过焦点检测从当前帧图片中得到特征点;之后,初始化特征点,设置特征点跟踪成功标志位,并绘制特征点。然后,利用稀疏光流法跟踪KTL,获取跟踪到的特征点数,并将跟踪到的移动了的特征点在矢量中连续起来,剔除掉损失的和静止不动的特征点,保存有效的特征点并绘制跟踪轨迹。
如图6所示,在相邻的两帧图片I和J中,存在像素点的运动,也即当前帧的像素点在下一帧中其位置会有轻微的变动,这个变动就是位移矢量,也就是像素点的光流。
为了计算光流,需要判断相邻帧之间是否满足以下三个条件:相邻帧之间的亮度恒定、短距离移动、空间一致性,即同一图片的像素点具有相同的运动。
首先判断一个视频的相邻两帧I、J在集成窗口w上的亮度是否是一样的,即在集成窗口w内是否I(x,y,t)=J(x’,y’,t+τ)。只有相邻两帧之间的亮度恒定才能够保证KLT算法找到像素点。
接着,判断相邻帧之间是否存在空间一致性。即,对于同一个窗口,所有像素点的偏移量都是否相等。在集成窗口w上,所有(x,y)都往一个方向移动了(dx,dy),从而得到了(x’,y’),即t时刻的(x,y)点在t+τ时刻为(x+dx,y+dy),所以寻求匹配的问题可化为最小化差异函数ε的向量来寻求最小值。
参考图6,计算像素点的位移矢量d,令u=[ux uy]T,表示该像素点所在位置,则该像素点在下一帧中的新位置可表示为v=u+d=[ux+dx uy+dy]T,其中,u表示像素点在当前帧中的位置,v表示像素点在下一帧中的新位置,ux与uy分别表示像素点在当前帧中的横坐标和纵坐标,T表示时间,dx,dy分别表示像素点在当前帧和下一帧中的横轴上的位移量和纵轴上的位移量。
用最小化差异函数ε的向量来计算位移矢量d:
Figure BDA0004076929850000091
其中,I(x,y)表示像素点在当前帧中的亮度,J(x+dx,y+dy)表示该像素点在下一帧中的亮度。在像素点的周围预设一个长度为wx宽度为wy的邻域,基于该邻域确定大小为(2wx+1)*(2wy+1)的集成窗口。当前帧该集成窗口中所有像素点与下一帧该集成窗口中已进行位移的所有像素点进行差分后求平方,再求和,当所得到的最小化差异函数最小时,即可求得位移矢量d,如图7所示。
通过上述方法,最小化差异函数求出位移矢量,进一步基于所求出的位移矢量,便能够追踪出视频中的脸部的运动轨迹。
步骤S4084,推算镜头运动轨迹。
通过分析动态视频的连续画面,追踪其中的关键像素的画面运动,利用透视原理计算出动画骨骼的镜头运动轨迹。
步骤,S4086,进行脸部替换。
基于镜头运动轨迹,将动态视频内脸部图像的像素的坐标与世界坐标融合,并用三维素材来替换这些像素。在一些实施例中,视频融合后,还可以进行误差检测,去除误检的图像。
本实施例中,以替换脸部为例,在其他的实施例中,还可以替换躯干部等其他部位。
本实施通过上述方法可直接替换动态视频中的脸部,这样,可以将用户的手机自拍照片中的脸部替换为卡通动画中的角色的脸部,也可以将卡通人物的脸部替换为用户自己的脸部,从而增强用户的趣味性,提高用户体验。
实施例5
下面将详细描述利用拓扑结构分析的方法来匹配动画骨骼的方法。本实施例中通过将外轮廓内的图像与流形边界分量相关联,并跟踪内部和空隙之间变化,来确定外轮廓内的图像的拓扑结构,从而能够为目标对象匹配到更适合的动画骨骼。如图8所示,该方法包括以下步骤:
步骤S802,基于外轮廓内的图像建立轮廓图,并对轮廓图进行预处理。
基于预设的映射函数为外轮廓内的图像建立轮廓图,其中,预设的映射函数反映流形拓扑的一般连通性,其定义域是简单连通的。此时,轮廓图的形状完全由映射函数本身定义。在建立的轮廓图中设定单连通子域。
通过轮廓图中的对应于级别集组件的创建、合并或删除,以及对应于轮廓图中的标量场临界点的存在,将轮廓图的标量场的水平集的每个连接组件都收缩到一个点,形成一些单调路径,该单调路径用于将某个点连接到另一个点,使得没有点属于任何分量临界点的轮廓,通过这样的方式构建水平集分量。水平集分量的数量是变化的,但水平集的亏格并不会发生变化。
标量场的等值面在标量场的临界值上改变亏格,通过分析水平集分量来对轮廓图的所有鞍部进行编码,利用水平集的所有拓扑变化的进一步信息来丰富轮廓图。
步骤S804,扩展并离散预处理后的轮廓图。
扩展轮廓图的流形的三角形网格,用f表示三角形网格的一个区域,该区域包含定义在曲面上的映射函数的共域。每个区域根据沿其边界分量的个数和值定义为正则区域或临界区域。关键区域被分类为最大区域、最小区域和鞍区,并对应于轮廓图的节点。然后通过关键区域的扩展过程检测节点之间的弧。
由于区域内的像素的反像的所有点在扩展意义上都是等价的,因此可以将区域内的像素的反像的所有点缩到商空间的同一点中,从而得到的商空间是一个离散空间。连接共享相同映射函数值的离散的点,得到离散轮廓图。
现有技术中将具有边界的曲面的亏格设定为用圆盘封闭每个边界分量而获得封闭曲面的亏格,这样实际上封闭了部分边界分量。本实施例将轮廓图扩展到具有任意数量边界分量的曲面,从而能够通过给定映射函数的有限水平集来表示曲面,进而能够生成准确的拓扑结构。
步骤S806,通过多分辨率切片方法,获取拓扑结构。
首先以所需的最小分辨率提取图像,然后使用邻接规则以由小到大的顺序完成多分辨率表示。具体地,在图形提取期间不执行拓扑控制,而用一组平行平面扫描轮廓图,生成一组切片,这些切片由两个相邻等值面界定的网格元素集形成。切片的每个连接分量由等值面与一组切片平面的交集确定。
接着,构建水平集图。在三角化表面的水平集图中,每个轮廓通过其质心可视化。为了自动选择源点,使用启发式方法来确定切片方向。基于使用多尺度曲率评估来定位种子点,例如,通过使用输入表面和以网格顶点为中心且半径增加的球体集合之间的一组相交曲线来评估定位种子点。然后,使用为单纯复形定义的波前遍历距离来顺序连接种子点。种子点和所选曲率尺度的数量决定了水平集图的复杂性。
最后,提取拓扑结构。为位于水平集图中的相邻水平集上的每对轮廓定义依赖于两个不同轮廓的顶点之间的平均距离的权重函数,并利用权重函数来确定两个顶点之间的连接。这样,通过分析每个顶点来识别临界点,并进行分类。一旦检测到所有临界点,就根据映射函数的增加值处理所有顶点。
在相关技术中,通过局部调整或扰动来分析拓扑结构时,会引入与任何形状特征都不对应的伪影,从而导致对形状的解释错误。而本申请实施例采用模型的语义特征并引入离散结构来分析拓扑结构,提高了拓扑结构的准确度。
实施例6
根据本申请实施例,提供了另一种利用拓扑结构分析的方法来匹配动画骨骼的方法,如图9所示,该方法包括以下步骤:
步骤S902,获取静态图像,并从所述静态图像中提取所述静态图像中的目标对象的外轮廓。
根据所述静态图像的至少两个边缘中每个边缘的长度,获得对应于所述每个边缘的多个目标序列值;确定所述多个目标序列值中的每个目标序列值对应于所述外轮廓的概率;基于所确定的概率,从所述静态图像中提取所述目标对象的外轮廓。
步骤S904,确定所述外轮廓内的图像的拓扑结构,并基于所述拓扑结构,将所述外轮廓内的图像与动画骨骼库中的动画骨骼进行匹配,其中,所匹配的动画骨骼用来动态显示所述外轮廓内的图像。
首先,基于预设的映射函数为外轮廓内的图像建立轮廓图,并对所述轮廓图进行预处理。例如,将所述轮廓图的标量场的水平集的每个连接组件都收缩到一个点,构成所述水平集的分量;通过分析所述水平集的分量来对所述轮廓图的所有鞍部进行编码,得到所述水平集的所有拓扑变化,并基于所述拓扑变化的信息来构建所述轮廓图的细节,以对所述轮廓图进行预处理。其中,所述映射函数用于反映所述外轮廓内的图像的流形拓扑的连通性。
接着,对预处理后的所述轮廓图进行扩展和离散处理,并利用多分辨率切片方法,对扩展和离散处理后的所述轮廓图进行分析,得到所述外轮廓内的图像的拓扑结构。
例如,扩展预处理后的所述轮廓图的流形的三角形网格,得到扩展后的所述轮廓图;将每个三角形网格的区域内的像素的反像的所有点映射到商空间的同一点,得到离散空间;连接所述离散空间中共享相同映射函数值的点,得到离散处理后的所述轮廓图。
在进行离散处理之后,利用所述多分辨率切片方法,利用一组平行平面扫描扩展和离散处理后的所述轮廓图,得到一组切片;使用启发式方法来确定所述一组切片的各自方向,并使用多尺度曲率评估来定位所述一组切片的各个种子点;连接所述各个种子点来构建水平集图,并基于所述水平集图得到所述拓扑结构。
例如,为位于所述水平集图中的相邻水平集上的每对轮廓设置所述每对轮廓的顶点之间的平均距离的权重函数;利用所述权重函数来确定所述每对轮廓的顶点的连接,以得到所述拓扑结构。最后,将得到的拓扑结构与动画骨骼库中的各个动画骨骼进行匹配。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
实施例7
根据本申请实施例,还提供了一种静态图像的动态显示装置,如图10所示,该装置包括:获取模块102、匹配模块104和驱动模块106。
获取模块102用于获取静态图像,并从所述静态图像中提取所述静态图像中的目标对象的外轮廓,得到所述目标对象的外轮廓的外边缘位置数据。
匹配模块104用于将所述外边缘位置数据与动画骨骼库中的动画骨骼进行匹配,并将所述外边缘位置数据与匹配的动画骨骼进行绑定。
驱动模块106用于驱动所绑定的动画骨骼,并基于所绑定的动画骨骼的运动轨迹来对所述外轮廓内的图像进行变形处理,以动态显示所述静态图像中的所述目标对象。
可选地,本实施例中的具体示例可以参考上述实施例1至4中所描述的示例,本实施例在此不再赘述。
实施例8
根据本申请实施例,还提供了一种基于拓扑结构匹配动画骨骼的装置,如图11所示,该装置包括轮廓获取模块112和拓扑分析模块114。
轮廓获取模块112被配置为获取静态图像,并从所述静态图像中提取所述静态图像中的目标对象的外轮廓;
拓扑分析模块114被配置为确定所述外轮廓内的图像的拓扑结构,并基于所述拓扑结构,将所述外轮廓内的图像与动画骨骼库中的动画骨骼进行匹配,其中,所匹配的动画骨骼用来动态显示所述外轮廓内的图像。
可选地,本实施例中的具体示例可以参考上述实施例5和6中所描述的示例,本实施例在此不再赘述。
实施例9
图12为本申请实施例提供的一种电子设备的结构示意图,如图12所示,该电子设备包括:
处理器(processor)291,电子设备还包括了存储器(memory)292;还可以包括通信接口(Communication Interface)293和总线294。其中,处理器291、存储器292、通信接口293、可以通过总线294完成相互间的通信。通信接口293可以用于信息传输。处理器291可以调用存储器294中的逻辑指令,以执行上述实施例1至6的方法。
此外,上述的存储器292中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器292作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本申请实施例中的方法对应的程序指令/模块。处理器291通过运行存储在存储器292中的软件程序、指令以及模块,从而执行功能应用以及数据处理,即实现上述方法实施例中的方法。
存储器292可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器292可以包括高速随机存取存储器,还可以包括非易失性存储器。
实施例10
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以位于虚拟网络中的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例1至6中所描述的示例,本实施例在此不再赘述。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时用于实现任一实施例中所述的方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种基于拓扑结构匹配动画骨骼的方法,其特征在于,包括:
获取静态图像,并从所述静态图像中提取所述静态图像中的目标对象的外轮廓;
确定所述外轮廓内的图像的拓扑结构,并基于所述拓扑结构,将所述外轮廓内的图像与动画骨骼库中的动画骨骼进行匹配,其中,所匹配的动画骨骼用来动态显示所述外轮廓内的图像。
2.根据权利要求1所述的方法,其特征在于,确定所述外轮廓内的图像的拓扑结构包括:
基于预设的映射函数为外轮廓内的图像建立轮廓图,并对所述轮廓图进行预处理,其中,所述映射函数用于反映所述外轮廓内的图像的流形拓扑的连通性;
对预处理后的所述轮廓图进行扩展和离散处理,并利用多分辨率切片方法,对扩展和离散处理后的所述轮廓图进行分析,得到所述外轮廓内的图像的拓扑结构。
3.根据权利要求2所述的方法,其特征在于,对所述轮廓图进行预处理包括:
将所述轮廓图的标量场的水平集的每个连接组件都收缩到一个点,构成所述水平集的分量;
通过分析所述水平集的分量来对所述轮廓图的所有鞍部进行编码,得到所述水平集的所有拓扑变化,并基于所述拓扑变化的信息来构建所述轮廓图的细节,以对所述轮廓图进行预处理。
4.根据权利要求3所述的方法,其特征在于,对预处理后的所述轮廓图进行扩展和离散处理包括:
扩展预处理后的所述轮廓图的流形的三角形网格,得到扩展后的所述轮廓图;
将每个三角形网格的区域内的像素的反像的所有点映射到商空间的同一点,得到离散空间;
连接所述离散空间中共享相同映射函数值的点,得到离散处理后的所述轮廓图。
5.根据权利要求2所述的方法,其特征在于,利用多分辨率切片方法,对扩展和离散处理后的所述轮廓图进行分析,得到所述外轮廓内的图像的拓扑结构,包括:
利用所述多分辨率切片方法,利用一组平行平面扫描扩展和离散处理后的所述轮廓图,得到一组切片;
使用启发式方法来确定所述一组切片的各自方向,并使用多尺度曲率评估来定位所述一组切片的各个种子点;
连接所述各个种子点来构建水平集图,并基于所述水平集图得到所述拓扑结构。
6.根据权利要求5所述的方法,其特征在于,基于所述水平集图得到所述拓扑结构,包括:
为位于所述水平集图中的相邻水平集上的每对轮廓设置所述每对轮廓的顶点之间的平均距离的权重函数;
利用所述权重函数来确定所述每对轮廓的顶点的连接,以得到所述拓扑结构。
7.根据权利要求1所述的方法,其特征在于,从所述静态图像中提取所述静态图像中的目标对象的外轮廓包括:
根据所述静态图像的至少两个边缘中每个边缘的长度,获得对应于所述每个边缘的多个目标序列值;
确定所述多个目标序列值中的每个目标序列值对应于所述外轮廓的概率;
基于所确定的概率,从所述静态图像中提取所述目标对象的外轮廓。
8.根据权利要求1所述的方法,其特征在于,将所述外轮廓内的图像与动画骨骼库中的动画骨骼进行匹配,包括:
基于所述轮廓内的图像,构建与所述轮廓内的图像对应的三维模型;
在所述三维模型的三角形网格上定义连续函数,并根据所述三角形网格上的各个顶点的三维坐标,利用所述连续函数计算各个所述顶点的函数值;
将所述顶点的函数值相同且位于同一连通分量上的顶点划归为一类,并作为新的节点商集;
基于所述新的节点商集,生成拓扑结构,并基于所述拓扑结构,来与动画骨骼库中的动画骨骼进行匹配。
9.一种基于拓扑结构匹配动画骨骼的装置,其特征在于,包括:
轮廓获取模块,被配置为获取静态图像,并从所述静态图像中提取所述静态图像中的目标对象的外轮廓;
拓扑分析模块,被配置为确定所述外轮廓内的图像的拓扑结构,并基于所述拓扑结构,将所述外轮廓内的图像与动画骨骼库中的动画骨骼进行匹配,其中,所匹配的动画骨骼用来动态显示所述外轮廓内的图像。
10.一种计算机可读存储介质,其上存储有程序,其特征在于,在所述程序运行时,使得计算机执行如权利要求1至8中任一项所述的方法。
CN202310111239.5A 2023-02-03 2023-02-03 基于拓扑结构匹配动画骨骼的方法、装置及存储介质 Pending CN116228940A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310111239.5A CN116228940A (zh) 2023-02-03 2023-02-03 基于拓扑结构匹配动画骨骼的方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310111239.5A CN116228940A (zh) 2023-02-03 2023-02-03 基于拓扑结构匹配动画骨骼的方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN116228940A true CN116228940A (zh) 2023-06-06

Family

ID=86576289

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310111239.5A Pending CN116228940A (zh) 2023-02-03 2023-02-03 基于拓扑结构匹配动画骨骼的方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN116228940A (zh)

Similar Documents

Publication Publication Date Title
CN111598998B (zh) 三维虚拟模型重建方法、装置、计算机设备和存储介质
CN109003325B (zh) 一种三维重建的方法、介质、装置和计算设备
CN111243093B (zh) 三维人脸网格的生成方法、装置、设备及存储介质
Berger et al. State of the art in surface reconstruction from point clouds
CN112002014A (zh) 面向精细结构的三维人脸重建方法、系统、装置
CN115943436A (zh) 快速和深度脸部变形
CN113822993B (zh) 一种基于3d模型匹配的数字孪生方法和系统
Governi et al. 3D geometry reconstruction from orthographic views: A method based on 3D image processing and data fitting
CN112102480B (zh) 图像数据处理方法、装置、设备以及介质
CN113628327A (zh) 一种头部三维重建方法及设备
CN113593001A (zh) 目标对象三维重建方法、装置、计算机设备和存储介质
US7333112B2 (en) Rig baking
CN113822965A (zh) 图像渲染处理方法、装置和设备及计算机存储介质
US20230326137A1 (en) Garment rendering techniques
CN115841546A (zh) 一种场景结构关联的地铁站多视矢量仿真渲染方法及系统
CN116228940A (zh) 基于拓扑结构匹配动画骨骼的方法、装置及存储介质
CN116095515A (zh) 静态图像的动态显示方法、装置及存储介质
Li et al. Video vectorization via bipartite diffusion curves propagation and optimization
Yao et al. Neural Radiance Field-based Visual Rendering: A Comprehensive Review
CN117237542B (zh) 基于文本的三维人体模型生成方法和装置
Liu et al. Animating characters in Chinese painting using two-dimensional skeleton-based deformation
Jain et al. New Perspectives on Heritage: A Deep Learning Approach to Heritage Object Classification
US20240029358A1 (en) System and method for reconstructing 3d garment model from an image
CN111862139B (zh) 一种基于彩色-深度相机的动态物体参数化建模方法
Eisemann et al. Seamless Satellite-image Synthesis

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