CN111915676A - 图像生成方法、装置、计算机设备和存储介质 - Google Patents

图像生成方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN111915676A
CN111915676A CN202010555752.XA CN202010555752A CN111915676A CN 111915676 A CN111915676 A CN 111915676A CN 202010555752 A CN202010555752 A CN 202010555752A CN 111915676 A CN111915676 A CN 111915676A
Authority
CN
China
Prior art keywords
posture
attitude
training
error
data
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.)
Granted
Application number
CN202010555752.XA
Other languages
English (en)
Other versions
CN111915676B (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 University
Original Assignee
Shenzhen University
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 University filed Critical Shenzhen University
Priority to CN202010555752.XA priority Critical patent/CN111915676B/zh
Publication of CN111915676A publication Critical patent/CN111915676A/zh
Application granted granted Critical
Publication of CN111915676B publication Critical patent/CN111915676B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

本申请涉及一种图像生成方法、装置、计算机设备和存储介质。所述方法包括:获取待处理对象图像和参考姿态数据;对所述待处理对象图像进行姿态识别,得到所述待处理对象图像对应的对象骨架数据;调用姿态迁移模型,所述姿态迁移模型是根据训练样本对应的对象误差和姿态误差训练得到的;将所述对象骨架数据和所述参考姿态数据输入至所述姿态迁移模型,根据所述姿态迁移模型进行姿态迁移处理,得到目标骨架数据;根据所述目标骨架数据生成所述待处理对象图像对应的目标对象图像。采用本方法能够有效的提高生成的目标对象图像的准确性。

Description

图像生成方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种图像生成方法、装置、计算 机设备和存储介质。
背景技术
随着图像处理技术的发展,姿态迁移技术逐渐成为图像处理技术中的一个 重要研究方向。姿态迁移技术旨在由计算机根据包括目标对象的对象图像,以 及姿态图像,生成该目标对象具备姿态图像中姿态对象所对应姿态的对象图像。
在传统方式中,用于进行姿态迁移的目标对象和姿态对象的身形比例较为 接近,便于将姿态对象所对应的姿态迁移至目标对象。但是,当目标对象和姿 态对象之间的身形比例相差较大时,无法准确的进行姿态迁移,生成的图像的 准确性较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够有效提高图像生成的准 确性的图像生成方法、装置、计算机设备和存储介质。
一种图像生成方法,所述方法包括:
获取待处理对象图像和参考姿态数据;
对所述待处理对象图像进行姿态识别,得到所述待处理对象图像对应的对 象骨架数据;
调用姿态迁移模型,所述姿态迁移模型是根据训练样本对应的对象误差和 姿态误差训练得到的;
将所述对象骨架数据和所述参考姿态数据输入至所述姿态迁移模型,根据 所述姿态迁移模型进行姿态迁移处理,得到目标骨架数据;
根据所述目标骨架数据生成所述待处理对象图像对应的目标对象图像。
在其中一个实施例中,所述根据所述姿态迁移模型进行姿态迁移处理,得 到目标骨架数据包括:
对所述对象骨架数据和所述参考姿态数据进行特征提取,得到所述对象骨 架数据对应的对象特征,以及所述参考姿态数据对应的姿态特征;
将所述对象特征与所述姿态特征进行特征融合,得到目标特征;
获取所述姿态迁移模型根据所述目标特征输出对应的目标骨架数据。
在其中一个实施例中,所述方法还包括所述姿态迁移模型的训练步骤,所 述训练步骤包括:
获取训练样本,所述训练样本包括对象训练样本和姿态训练样本;
获取初始迁移模型,将所述对象训练样本和所述姿态训练样本输入所述初 始迁移模型,得到所述训练样本对应的骨架训练结果;
根据所述骨架训练结果和所述对象训练样本确定对象误差,根据所述骨架 训练结果和所述姿态训练样本确定姿态误差;
根据所述对象误差和所述姿态误差,对所述初始迁移模型中的模型参数进 行修正。
在其中一个实施例中,所述根据所述骨架训练结果和所述姿态训练样本确 定姿态误差包括:
根据所述姿态训练样本获取多个姿态关键点对;
从所述骨架训练结果中获取与所述多个姿态关键点对各自对应的结果关键 点对,组成多个关键点对组;
确定所述多个关键点对组各自对应的关键点对误差;
根据多个所述关键点对误差确定所述骨架训练结果对应的姿态误差。
在其中一个实施例中,所述确定所述多个关键点对组各自对应的关键点对 误差包括:
生成至少一条姿态参考线;
将所述关键点对组包括的所述姿态关键点对和所述结果关键点对,映射至 所述姿态参考线,得到各自对应的姿态向量和训练结果向量;
根据所述姿态向量和所述训练结果向量确定第一关键点对误差。
在其中一个实施例中,所述确定所述多个关键点对组各自对应的关键点对 误差包括:
获取所述姿态关键点对与极轴之间的姿态偏移量,以及所述结果关键点对 与所述极轴之间的训练偏移量;
根据所述姿态偏移量和所述训练偏移量确定第二关键点对误差。
在其中一个实施例中,所述根据多个所述关键点对误差确定所述骨架训练 结果对应的姿态误差包括:
根据多个所述第一关键点对误差确定第一姿态误差,根据多个所述第二关 键点对误差确定第二姿态误差;
获取所述第一姿态误差和所述第二姿态误差各自对应的误差权重;
根据所述误差权重对所述第一姿态误差和所述第二姿态误差进行加权运 算,得到所述骨架训练结果对应的目标姿态误差。
一种图像生成装置,所述装置包括:
姿态识别模块,用于获取待处理对象图像和参考姿态数据;对所述待处理 对象图像进行姿态识别,得到所述待处理对象图像对应的对象骨架数据;
模型调用模块,用于调用姿态迁移模型,所述姿态迁移模型是根据训练样 本对应的对象误差和姿态误差训练得到的;
姿态迁移模块,用于将所述对象骨架数据和所述参考姿态数据输入至所述 姿态迁移模型,根据所述姿态迁移模型进行姿态迁移处理,得到目标骨架数据;
图像生成模块,用于根据所述目标骨架数据生成所述待处理对象图像对应 的目标对象图像。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序, 所述处理器执行所述计算机程序时实现上述图像生成方法中的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处 理器执行时实现上述图像生成方法中的步骤。
上述图像生成方法、装置、计算机设备和存储介质,通过获取待处理对象 图像和参考姿态数据,对待处理对象图像进行姿态识别,得到待处理对象图像 对应的对象骨架数据,便于通过对象骨架数据准确的表示对象姿态。调用的姿 态迁移模型是根据训练样本对应的对象误差和姿态误差训练得到的,通过对象 误差和姿态误差训练姿态迁移模型能够提高姿态迁移模型的准确性,有效的避 免了身形比例差异对姿态迁移所造成的影响。通过将对象骨架数据和参考姿态 数据输入至姿态迁移模型,根据姿态迁移模型进行姿态迁移处理,得到目标骨 架数据,提高了进行姿态迁移所得到的目标骨架数据的准确性。根据目标骨架 数据生成待处理对象图像对应的目标对象图像,避免身形比例差异较大时出现 的姿态迁移误差,有效的提高了生成的目标对象图像的准确性。
附图说明
图1为一个实施例中图像生成方法的应用环境图;
图2为一个实施例中图像生成方法的流程示意图;
图3为一个实施例中姿态迁移模型的训练的步骤的流程示意图;
图4为一个实施例中根据CMU Panoptic样本数据训练初始迁移模型后的结 果比对图;
图5为一个实施例中根据Adobe Mixamo样本数据训练初始迁移模型后的结 果比对图;
图6为一个实施例中初始迁移模型对应的网络框架图;
图7为一个实施例中根据骨架训练结果和姿态训练样本确定姿态误差的步 骤的流程示意图;
图8为一个实施例中根据不同关键点对训练模型后的结果比对图;
图9为一个实施例中姿态向量与训练结果向量的示意图;
图10为一个实施例中根据不同姿态误差训练姿态迁移模型的结果比对图;
图11为一个实施例中姿态迁移的结果比对图;
图12为一个实施例中根据三维训练样本训练姿态迁移模型的结果比对图;
图13为一个实施例中图像生成装置的结构框图;
图14为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅 用以解释本申请,并不用于限定本申请。
本申请提供的图像生成方法,可以应用于如图1所示的应用环境中。其中, 终端102通过网络与服务器104进行通信。终端102获取待处理对象图像和参 考姿态数据,对待处理对象图像进行姿态识别,得到待处理对象图像对应的对 象骨架数据。终端102调用姿态迁移模型,姿态迁移模型是根据训练样本对应 的对象误差和姿态误差训练得到的,姿态迁移模型可以是服务器104训练得到 后配置在终端102中的。终端102将对象骨架数据和参考姿态数据输入至姿态 迁移模型,根据姿态迁移模型进行姿态迁移处理,得到目标骨架数据。终端102 根据目标骨架数据生成待处理对象图像对应的目标对象图像。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式 可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器 集群来实现。
在一个实施例中,如图2所示,提供了一种图像生成方法,以该方法应用 于图1中的终端102为例进行说明,包括以下步骤:
步骤202,获取待处理对象图像和参考姿态数据。
待处理对象图像是指需要进行姿态迁移处理的图像,待处理对象图像中包 括需要进行迁移姿态的目标对象。目标对象是可以改变姿态的,目标对象具体 可以是完整人体,也可以是例如猫、狗或者兔子等完整生物,还可以是局部对 象,例如自然人手部或者自然人腿部等。目标对象具体还可以是人或者生物等 对应的虚拟对象,例如动画形象或者游戏角色等。待处理对象图像具体可以是 独立的图像数据,也可以是视频图像序列中的视频图像。
参考姿态数据是用于给目标对象的姿态迁移提供姿态参考的数据,将目标 对象的姿态调整为参考姿态数据所对应的姿态。参考姿态数据可以是多种数据 类型中的任意一种。例如,参考姿态数据具体可以是图像数据,参考姿态图像 中包括姿态对象,以此将姿态对象所对应的姿态迁移至目标对象。参考姿态数 据还可以是姿态对象所对应的姿态骨架数据,姿态骨架数据具体包括但不限于 姿态对象所对应的多个姿态关键点,以及姿态关键点之间的顺序。
终端可以通过多种方式中的至少一种获取待处理对象图像和参考姿态数 据。终端获取待处理对象图像和获取参考姿态数据的方式可以是一致的,也可 以是不同的。具体的,终端可以获取终端本地的待处理对象图像或者参考姿态 数据,也可以响应接收到的图像采集指令,通过终端对应的摄像头等采集对象 图像或者参考姿态数据。终端还可以生成图像获取请求并且上传至服务器,接 收服务器根据图像获取请求发送的待处理对象图像,或者从网页中爬取待处理 对象图像或者参考姿态数据。
在其中一个实施例中,对于待处理对象图像,终端还可以获取待处理图像, 待处理图像中包括目标对象。终端可以对待处理图像进行目标检测或者语义分 割,根据目标检测结果或者语义分割结果,从待处理图像中截取出目标对象对 应的部分图像,记作待处理对象图像。
步骤204,对待处理对象图像进行姿态识别,得到待处理对象图像对应的对 象骨架数据。
对象骨架数据是指目标对象的支撑结构所对应的数据,对象骨架数据具体 可以包括但不限于目标对象骨架对应的关键点、关键点坐标、关键点顺序以及 关键点连接关系等中的至少一种。例如,当目标对象为人体时,对象骨架数据 具体可以是人体骨架数据,骨架对应的关键点可以是人体骨架中的部分或者全 部关节点,也可以将骨骼上的任意一点作为关键点。通过对象骨架数据能够更 加准确的表示目标对象的当前姿态。
终端可以对待处理对象图像进行姿态识别,以此得到待处理对象图像所对 应的对象骨架数据。具体的,终端可以调用姿态识别模型,将待处理对象图像 输入至姿态识别模型中,通过姿态识别模型对待处理对象图像中的目标对象进 行姿态识别,得到姿态识别模型输出的目标对象对应的对象骨架数据。其中, 姿态识别模型具体可以是根据AlphaPose或者Openpose等姿态识别算法建立的 模型。例如,Openpose模型具体可以是一种姿势检测框架,用于检测人体的关 节作为关键点,将多个关键点联系起来得到人体骨架数据。终端可以根据待处 理对象图像对应的对象骨架数据,确定待处理对象图像中目标对象所对应的对 象姿态。
在其中一个实施例中,终端获取到的待处理对象图像具体可以是一个或者 多个。多个是指两个及以上。待处理对象图像可以是二维图像。与待处理对象 图像相对应的,对象骨架数据具体为二维数据。当终端获取到多个待处理对象 图像时,终端可以分别对多个待处理对象图像进行姿态识别,得到多个待处理 对象图像各自对应的对象骨架数据。
在其中一个实施例中,当参考姿态数据为图像类型的数据时,参考姿态数 据具体为参考姿态图像。终端可以对参考姿态图像进行姿态识别,得到参考姿 态图像所对应的姿态骨架数据。姿态骨架数据为参考姿态图像中姿态对象的支 撑结构所对应的数据。其中,对参考姿态图像进行姿态识别的方式与上述对待 处理对象图像进行姿态识别的方式相类似,故在此不再赘述。
步骤206,调用姿态迁移模型,姿态迁移模型是根据训练样本对应的对象误 差和姿态误差训练得到的。
终端可以调用姿态迁移模型,姿态迁移模型可以是预先建立并且经过训练 后配置在终端的,以便终端调用姿态迁移模型进行姿态迁移处理。姿态迁移模 型是根据训练样本对应的对象误差以及姿态误差训练得到的,对象误差和姿态 误差是指训练样本经过训练中的模型处理后,输出的训练结果与训练样本之间 的误差。每组训练样本可以包括对象训练样本与姿态训练样本。对象误差可以 用于表示训练结果与对象训练样本之间的对象差异度。若对象误差越大,则表 示训练结果与对象训练样本各自对应的目标对象之间差异度越大。反之,则对 象的差异度越小。姿态误差可以用于表示训练结果与姿态训练样本之间的姿态 差异度。若姿态误差越大,则表示训练结果与姿态训练样本各自对应的对象的姿态差异度越大。
由于对象骨架数据是二维的,并且相对独立的,不需要三维或者运动连续 的对象骨架数据。终端基于该对象骨架数据无法直接获取对象的骨骼所对应的 真实长度以及比例。传统方式中根据骨骼的真实长度以及比例进行匹配的方式 仅限于身形比例接近的对象,当目标对象与姿态对象之间的身形比例相差较大 时,通过传统方式进行姿态迁移后,得到的姿态迁移结果是不准确的。在本实 施例中,根据训练样本对应的对象误差和姿态误差对姿态迁移模型进行训练, 有助于综合训练结果的对象误差和姿态误差,从而得到能够准确进行姿态迁移 的姿态迁移模型。
在其中一个实施例中,姿态迁移模型可以是配置在服务器中的,终端在获 取到对象骨架数据和参考姿态数据之后,还可以将对象骨架数据和参考姿态数 据上传至服务器,使得服务器根据对象骨架数据和参考姿态数据进行姿态迁移, 将姿态迁移后得到的目标骨架数据发送至终端。在本实施例中,终端可以通过 服务器对目标对象进行姿态迁移处理,从而有效的节省了终端本地的运算资源。
步骤208,将对象骨架数据和参考姿态数据输入至姿态迁移模型,根据姿态 迁移模型进行姿态迁移处理,得到目标骨架数据。
终端可以将对象骨架数据和参考姿态数据输入至姿态迁移模型中,根据姿 态迁移模型进行姿态迁移处理,得到姿态迁移模型输出的目标骨架数据。其中, 目标骨架数据是指对象骨架数据中的目标对象,摆出参考姿态数据对应的姿态 时的骨架数据。终端可以通过姿态迁移模型,将参考姿态数据所对应的姿态, 迁移至对象骨架数据所对应的目标对象,使得目标对象作出参考姿态数据所对 应的姿态。具体的,终端可以通过姿态迁移模型对对象骨架数据和参考姿态数 据分别进行特征提取,得到对象骨架数据对应的对象特征,以及参考姿态数据 对应的姿态特征。姿态迁移模型可以将对象特征和姿态特征进行特征融合,得 到目标特征,根据目标特征确定对应的目标骨架数据并且输出。终端可以获取 姿态迁移模型进行姿态迁移处理之后输出的目标骨架数据。
步骤210,根据目标骨架数据生成待处理对象图像对应的目标对象图像。
目标骨架数据可以准确的表示目标对象作出参考姿态数据所对应姿态时的 骨架数据,终端可以根据目标骨架数据生成待处理对象图像所对应的目标对象 图像。具体的,终端可以从待处理对象图像中获取目标对象对应的对象特征, 终端可以基于目标对象对应的对象特征和目标骨架数据,生成目标对象对应的 目标对象图像。在目标对象图像中,目标对象与待处理对象图像中的对象的身 形比例一致,目标对象所对应的姿态为参考姿态数据所对应的姿态。
例如,以目标对象为人体为例,终端可以从待处理对象图像中获取人体对 应的人体特征,具体可以包括人体身形特征以及人体像素特征等。人体身形特 征可以用于表示人体对应的胖瘦等信息,人体像素特征可以用于表示人体图像 中各个部位的像素颜色等信息。终端可以根据人体特征以及目标骨架数据,生 成该人体对应作出不同姿态的目标对象图像。
在其中一个实施例中,终端可以将待处理对象图像划分为前景图像、背景 图像以及原始对象图像。终端可以根据目标骨架数据生成迁移后的对象图像, 终端可以将原始对象图像替换为迁移后的对象图像,根据迁移后的对象图像、 前景图像以及背景图像进行图像合并,生成待处理对象图像所对应的目标对象 图像。
在本实施例中,通过获取待处理对象图像和参考姿态数据,对待处理对象 图像进行姿态识别,得到待处理对象图像对应的对象骨架数据,便于通过对象 骨架数据准确的表示对象姿态。调用的姿态迁移模型是根据训练样本对应的对 象误差和姿态误差训练得到的,通过对象误差和姿态误差训练姿态迁移模型能 够提高姿态迁移模型的准确性,有效的避免了身形比例差异对姿态迁移所造成 的影响。通过将对象骨架数据和参考姿态数据输入至姿态迁移模型,根据姿态 迁移模型进行姿态迁移处理,得到目标骨架数据,提高了进行姿态迁移所得到 的目标骨架数据的准确性。根据目标骨架数据生成待处理对象图像对应的目标 对象图像,避免身形比例差异较大时出现的姿态迁移误差,有效的提高了生成的目标对象图像的准确性。
在一个实施例中,上述根据姿态迁移模型进行姿态迁移处理,得到目标骨 架数据的步骤包括:对对象骨架数据和参考姿态数据进行特征提取,得到对象 骨架数据对应的对象特征,以及参考姿态数据对应的姿态特征;将对象特征与 姿态特征进行特征融合,得到目标特征;获取姿态迁移模型根据目标特征输出 对应的目标骨架数据。
终端可以将对象骨架数据和参考姿态数据输入至姿态迁移模型,通过姿态 迁移模型对对象骨架数据和参考姿态数据进行姿态迁移处理,得到姿态迁移模 型输出的目标骨架数据。具体的,终端可以通过姿态迁移模型对对象骨架数据 以及参考姿态数据进行特征提取,提取得到对象骨架数据对应的对象特征,以 及参考姿态数据对应的姿态特征。对象特征可以用于表示目标对象对应身份的 特征,不同的对象可以对应有不同的对象特征。姿态特征可以用于表示参考姿 态所对应的特征。终端可以通过姿态迁移模型将对象特征和姿态特征进行特征 融合,得到特征融合后的目标特征。终端可以获取姿态迁移模型根据目标特征 输出的,与目标特征对应的目标骨架数据。
在其中一个实施例中,姿态迁移模型具体可以是神经网络模型,例如具体 可以是基于CNN(Convolutional Neural Networks,卷积神经网络)建立的模型。 姿态迁移模型可以是生成式对抗网络(GAN,Generative Adversarial Networks) 的结构,姿态迁移模型中包括生成器(Generator)和判别器(Discriminator)。 生成器用于根据对象骨架数据和参考姿态数据生成目标骨架数据。具体的,生 成器中可以包括但不限于对象编码单元、姿态编码单元以及解码单元。终端将 对象骨架数据和参考姿态数据输入至姿态迁移模型之后,姿态迁移模型可以将 对象骨架数据输入给对象编码单元,通过对象编码单元对对象骨架数据进行编 码,得到对象骨架数据对应的对象特征。
在其中一个实施例中,当终端输入有目标对象对应的多个对象骨架数据时, 对象编码单元可以分别对多个对象骨架数据进行特征提取,得到多个对象骨架 数据各自对应的对象特征。对象编码单元可以对提取出的多个对象特征进行平 均处理,将平均处理后得到的对象平均特征确定为目标对象所对应的对象特征。
姿态迁移模型将参考姿态数据输入给姿态编码单元,通过姿态编码单元对 参考姿态数据进行编码,得到参考姿态数据对应的姿态特征。姿态迁移模型可 以依次提取对象特征以及姿态特征,也可以调用多线程并行提取对象特征和姿 态特征。终端可以将提取得到的对象特征和姿态特征输入至姿态迁移模型中的 解码单元,通过解码单元在特征空间中对对象特征和姿态特征进行特征融合, 得到目标特征。其中,解码单元可以通过AdaIN(Adaptive Instance Normalization) 或者IN(Instance Normalization)等结构,将对象特征注入至姿态特征,从而得 到融合后的目标特征。解码单元可以对融合后的目标特征进行解码处理,得到 目标特征对应的目标骨架数据。姿态迁移模型可以通过解码单元输出目标骨架 数据。
在本实施例中,终端通过姿态迁移模型对对象骨架数据和参考姿态数据进 行特征提取,得到对象骨架数据对应的对象特征,以及参考姿态数据对应的姿 态特征。通过特征提取得到的对象特征和姿态特征可以准确的反映目标对象和 姿态。通过将对象特征与姿态特征进行特征融合,得到目标特征,获取姿态迁 移模型根据目标特征输出的对应的目标骨架数据,目标骨架数据有效的综合了 对象特征和姿态特征,有效的提高了目标骨架数据的准确性。
在一个实施例中,如图3所示,上述方法还包括姿态迁移模型的训练步骤, 姿态迁移模型的训练步骤包括:步骤302,获取训练样本,训练样本包括对象训 练样本和姿态训练样本。步骤304,获取初始迁移模型,将对象训练样本和姿态 训练样本输入初始迁移模型,得到训练样本对应的骨架训练结果。步骤306,根 据骨架训练结果和对象训练样本确定对象误差,根据骨架训练结果和姿态训练 样本确定姿态误差。步骤308,根据对象误差和姿态误差,对初始迁移模型中的 模型参数进行修正。
训练样本是用于对模型进行训练的数据样本,训练样本可以是图像数据, 也可以是骨架数据。当训练样本是图像数据时,需要对图像数据进行姿态识别, 得到图像中的对象所对应的骨架数据。利用骨架数据对姿态迁移模型进行训练。 终端可以获取多组训练样本,每一组训练样本中包括对象训练样本和姿态训练 样本。例如,可以获取64组训练样本对初始迁移模型进行训练。与根据对象骨 架数据和参考姿态数据生成目标骨架数据相对应的,终端可以根据每组训练样 本中的对象训练样本和姿态训练样本对模型进行训练,使得对象训练样本中的 训练对象作出姿态训练样本所对应的姿态。训练样本可以是根据实际需求自行 采集的样本数据,也可以是开源的数据集。例如,训练样本具体可以是AdobeMixamo数据集或者CMU Panoptic数据集中的部分或者全部数据。
在其中一个实施例中,如图4所示,图4为一个实施例中根据CMU Panoptic 样本数据训练初始迁移模型后的结果比对图。CMU Panoptic样本数据包括图像 数据以及图像数据对应的关键点数据。图像数据包括姿态图像和对象图像,姿 态图像和对象图像可以是人体图像。在训练过程中,终端可以从CMU Panoptic 样本数据中获取图像数据分别对应的关键点数据,直接根据关键点数据进行模 型训练。终端也可以从CMU Panoptic样本数据中获取图像数据进行模型训练, 终端可以对图像数据包括的姿态图像和对象图像分别进行姿态识别,得到姿态 图像对应的姿态骨架,以及对象图像对应的对象骨架。训练后的姿态迁移模型 可以根据姿态骨架和对象骨架输出目标骨架。
在其中一个实施例中,如图5所示,图5为一个实施例中根据Adobe Mixamo 样本数据训练初始迁移模型后的结果比对图。Adobe Mixamo样本数据具体为骨 架数据,包括姿态骨架以及对象骨架。姿态迁移模型可以根据输入的姿态骨架 和对象骨架输出目标骨架,目标骨架与真实骨架的相似度较高。每组训练样本 可以是二维的数据,相较于传统需要提取三维数据的方式,由于提取三维数据 的准确性相对二维数据的准确性较低,本实施例中只需要输入二维的图像或者 骨架数据就可以进行姿态迁移,有效的提高了姿态迁移的准确性。每组训练样 本之间还可以是相互独立不连续的,相较于传统通过对象运动序列上的连续数 据训练模型,本实施例中有效的降低了模型训练以及模型运算时对输入模型的 数据的要求,即使根据单个对象数据和姿态数据也能够进行姿态迁移,有效的 提高了姿态迁移模型的普适性和准确性。
终端可以获取初始迁移模型,初始迁移模型是指未经过训练的姿态迁移模 型。初始迁移模型可以是根据生成式对抗网络的结果建立的神经网络模型。如 图6所示,图6为一个实施例中初始迁移模型对应的网络框架图。初始迁移模 型包括生成器和判别器。生成器中包括对象编码单元、姿态编码单元以及解码 单元。生成器用于根据对象样本和姿态样本生成骨架训练结果,判别器用于根 据对象样本和骨架训练结果确定对象误差。对象编码单元、姿态编码单元、解 码单元以及判别器可以是多层卷积神经网络以及多层残差块。终端可以将一组 训练样本中的对象训练样本和姿态训练样本输入至初始迁移模型,初始迁移模 型将对象训练样本输入对象编码单元,将姿态训练样本输入至姿态编码单元, 将通过对象编码单元提取到的对象特征,以及姿态编码单元提取到的姿态特征 输入解码单元,通过解码单元对对象特征和姿态特征进行特征融合并且解码, 得到初始迁移模型输出的训练样本所对应的骨架训练结果。
终端可以根据训练样本所对应的骨架训练结果和对象训练样本,确定训练 样本与训练结果之间的对象误差,根据骨架训练结果和姿态训练样本确定姿态 误差,根据对象误差和姿态误差对初始迁移模型中的模型参数进行修正。对象 误差可以用于表示对象训练样本与骨架训练结果之间的对象损失,对象损失可 以包括特征损失和生成对抗损失。具体的,初始迁移模型中包括生成器和判别 器,当对象训练样本和姿态训练样本经过生成器生成骨架训练结果后,可以将 对象训练样本和骨架训练结果输入至判别器,根据判别器输出的特征向量计算 对象损失。
终端根据对象误差对初始迁移模型中的模型参数进行修正,使得训练后得 到的姿态迁移模型输出的目标骨架数据与对象骨架数据所对应的骨架为同一个 对象的骨架。姿态误差可以用于表示姿态训练样本与训练结果之间的姿态损失, 根据姿态误差对初始迁移模型中的模型参数进行修正,使得训练后得到的姿态 迁移模型输出的目标骨架数据与参考姿态数据所对应的姿态相一致。
在其中一个实施例中,在初始迁移模型的训练过程中,可以根据损失函数 确定对象训练样本、姿态训练样本以及骨架训练结果对应的损失,损失可以包 括特征损失、生成对抗损失以及姿态损失。其中,生成对抗损失和姿态损失可 以各自对应有损失权重。根据特征损失、生成对抗损失、姿态损失以及各自对 应的损失权重进行加权处理,可以得到初始迁移模型对应的训练损失。初始迁 移模型所对应的损失函数可以表示为:
LG(G,D)+λFLF(G)+λPLP(G)
其中,LG表示生成对抗损失,LF表示特征损失,LP表示姿态损失。G表示 生成器生成步骤,D表示判别器判别步骤。λF表示特征损失对应的特征损失权 重,λP表示姿态损失对应的姿态损失权重。
在本实施例中,根据骨架训练结果和对象训练样本确定对象误差,根据骨 架训练结果和姿态训练样本确定姿态误差,根据对象误差和姿态误差对初始迁 移模型中的模型参数进行修正,以此得到训练后的姿态迁移模型。通过对象误 差和姿态误差修正模型参数,使得训练得到的姿态迁移模型能够得到身形比例 与对象骨架数据对应的身形比例一致,且姿态与参考姿态数据所对应的姿态一 致的目标骨架数据,有效的提高了姿态迁移模型进行姿态迁移的准确性,有利 于根据准确的目标骨架数据生成目标对象图像。
在一个实施例中,如图7所示,上述根据骨架训练结果和姿态训练样本确 定姿态误差的步骤包括:步骤702,根据姿态训练样本获取多个姿态关键点对。 步骤704,从骨架训练结果中获取与多个关键点对各自对应的结果关键点对,组 成多个关键点对组。步骤706,确定多个关键点对组各自对应的关键点对误差。 步骤708,根据多个关键点对误差确定骨架训练结果对应的姿态误差。
由于骨架训练结果以及训练样本均是二维的数据,无法从骨架数据中的关 键点位置坐标确定骨骼的实际长度,也无法确定骨骼之间的比例。基于传统方 式无法确定骨架训练结果与姿态训练样本之间的姿态误差。
终端可以根据姿态训练样本获取多个姿态关键点对。姿态训练样本中包括 姿态对象对应的姿态骨架数据,姿态骨架数据中包括姿态对象对应的多个姿态 关键点。姿态关键点是指姿态对象所对应姿态骨架中的关键点。终端可以根据 姿态骨架中的两个关键点进行组合,得到多个姿态关键点对。每个姿态关键点 对可以包括两个姿态关键点,姿态关键点可以重复与不同的其他姿态关键点组 成姿态关键点对。例如,姿态关键点对可以包括相邻的两个姿态关键点,也可 以包括任意两个姿态关键点。
终端可以从骨架训练结果中,获取与多个姿态关键点对分别对应的结果关 键点对,将每个姿态关键点对与对应的结果关键点对组成关键点对组。终端可 以将每个关键点对组中的姿态关键点对与结果关键点对进行比对,确定多个关 键点对组各自对应的关键点对误差。终端可以综合多个关键点对组各自对应的 关键点对误差,根据多个关键点对误差确定骨架训练结果对应的姿态误差。具 体的,终端可以对多个关键点对误差进行平均运算,将多个关键点对误差对应 的误差均值确定作为骨架训练结果对应的姿态误差,以便根据姿态误差对初始 迁移模型的模型参数进行修正,训练得到姿态迁移模型。
在其中一个实施例中,在训练过程中根据采用不同方式确定的关键点确定 的姿态误差对初始迁移模型进行了训练,分别得到了不同的姿态迁移模型,姿 态迁移模型各自对应的姿态迁移的准确性也是不同的。如图8所示,图8为一 个实施例中根据不同关键点对训练模型后的结果比对图。为了便于说明,以人 体作为目标对象进行举例。图8中采用了三种方式确定关键点对,分别为根据 真实骨骼之间的连接关系确定关键点对(方式1),连接真实骨骼以及末端节点 (手、脚和头部)相互连接确定关键点对(方式2),连接任意两个关键点确定 关键点对(方式3)。分别根据三种方式对应的关键点对组确定的姿态误差对模型参数进行修正,可以得到三个不同的姿态迁移模型,三个不同姿态迁移模型 所对应的姿态迁移结果如图8所示。
在本实施例中,根据姿态训练样本获取多个姿态关键点对,从骨架训练结 果中获取与多个姿态关键点对各自对应的结果关键点对,组成多个关键点对组。 通过确定多个关键点对组各自对应的关键点对误差,根据多个关键点对误差确 定骨架训练结果对应的姿态误差,以此准确、有效的根据二维数据确定训练结 果与训练样本之间的姿态误差,以便于根据姿态误差对模型参数进行修正,有 效的提高了姿态迁移的准确性。
在一个实施例中,上述确定多个关键点对组各自对应的关键点对误差的步 骤包括:生成至少一条姿态参考线;将关键点对组包括的姿态关键点对和结果 关键点对,映射至姿态参考线,得到各自对应的姿态向量和训练结果向量;根 据姿态向量和训练结果向量确定第一关键点对误差。
终端可以在二维平面上生成至少一条姿态参考线,姿态参考线的数量和方 向可以是随机确定的。例如,终端可以生成两条姿态参考线,两条姿态参考线 分别水平和垂直于水平线。终端也可以生成四条姿态参考线,相邻姿态参考线 之间的夹角为45度。终端也可以生成其他数量和角度的姿态参考线,对此不作 限制。终端可以将关键点对组中包括的姿态关键点对和结果关键点对分别映射 至姿态参考线上,得到在姿态参考线上分别对应的姿态向量和训练结果向量。 当关键点对包括的关键点不是按照真实骨骼的连接关系组合时,终端可以将关 键点对包括的两个关键点之间的连接确定为虚拟骨骼。终端可以将姿态参考线 上的向量确定为虚拟骨骼在姿态参考线上的投影。在姿态训练样本中,可以包括姿态关键点之间的顺序,终端可以根据姿态关键点之间的顺序确定姿态向量 的方向。训练结果向量的方向确定方式与姿态向量相类似。终端可以根据姿态 向量和训练结果向量确定关键点对组对应的虚拟骨骼连接误差,终端可以将关 键点对组对应的虚拟骨骼连接误差记作第一关键点对误差。可以理解的,“第 一”和“第二”只是用于区分不同的关键点对误差,不用于表示关键点对误差 之间的顺序等信息。
如图9所示,图9为一个实施例中姿态向量与训练结果向量的示意图。由 于人体骨架中的关键点对较多,图9中仅以矩形框和椭圆圈出的关键点对为例 进行说明。图9中生成了三条姿态参考线,三条姿态参考线的角度如图9所示。 其中,矩形框对应的姿态关键点对可以表示为(i1,j1),结果关键点对可以表 示为(i1`,j1`)。椭圆圈对应的姿态关键点对可以表示为(i2,j2),结果关键 点对可以表示为(i2`,j2`)。终端可以比对姿态关键点对和结果关键点对在三条 姿态参考线上的姿态向量和训练结果向量,根据姿态向量与训练结果向量之间 的比对结果确定该矩形框对应的姿态关键点对对应的第一关键点对误差。可以看出,在线1中,姿态向量与训练结果向量之间的向量方向是相反的,可以确 定矩形框对应的姿态关键点对存在第一关键点对误差。椭圆圈对应关键点对与 矩形框的关键点对同理,故在此不再赘述。当所有姿态参考线上的姿态向量与 训练结果向量之间的向量方向均相同时,可以确定对应的第一关键点对误差为 0,即当姿态向量与训练结果向量之间的向量方向均相同时,结果关键点对与姿 态关键点对之间不产生第一关键点对误差。
在其中一个实施例中,终端可以根据姿态关键点对与结果关键点对映射在 姿态参考线上的映射点坐标确定关键点对组对应的第一关键点对误差。根据映 射点坐标确定第一关键点对误差的过程具体可以表示为:
Figure BDA0002544254960000161
其中,i和j表示关键点对,θ表示姿态参考线与X轴之间的夹角。pi和pj表 示姿态关键点对(i,j)在方向为θ的姿态参考线上的映射点坐标,
Figure BDA0002544254960000162
Figure BDA0002544254960000163
表示 与姿态关键点对属于同一关键点对组中的结果关键点对在方向为θ的姿态参考 线上的映射点坐标。Lθ(i,j)表示关键点对组所对应的第一关键点对误差。σ表 示距离阈值。当姿态向量的长度小于或者等于距离阈值时,需要训练结果向量 的距离也很接近,从而可以通过映射点坐标之间的距离衡量第一关键点对误差。
在其中一个实施例中,终端可以根据多个第一关键点对误差确定骨架训练 结果与姿态训练样本之间的第一姿态误差。具体的,终端可以根据多个第一关 键点对误差,计算多个第一关键点对误差对应的第一关键点对误差总和。对第 一关键点对误差总和进行平均运算,确定平均运算得到的均值作为第一姿态误 差。根据多个第一关键点对误差确定第一姿态误差过程具体可以表示为:
Figure BDA0002544254960000171
其中,LVL(G)表示骨架训练结果对应的第一姿态误差。PVL表示所有关键点 对组的集合,Θ表示姿态参考线的方向集合。
在本实施例中,通过生成至少一条姿态参考线,将关键点对组包括的姿态 关键点对和结果关键点对,映射至姿态参考线,得到各自对应的姿态向量和训 练结果向量,根据姿态向量和训练结果向量确定该关键点对组对应的第一关键 点对误差,通过姿态参考线上的向量反映关键点对之间的方向和距离差异,以 此准确的表征和衡量每个关键点对组各自对应的第一关键点对误差,通过第一 关键点对误差有效的提高了确定第一姿态误差的准确性,以便于根据第一姿态 误差对模型参数进行修正,从而得到能够准确进行姿态迁移的姿态迁移模型。
在一个实施例中,上述确定多个关键点对组各自对应的关键点对误差的步 骤包括:获取姿态关键点对与极轴之间的姿态偏移量,以及结果关键点对与极 轴之间的训练偏移量;根据姿态偏移量和训练偏移量确定第二关键点对误差。
终端还可以根据关键点对组中关键点对之间的偏移误差确定第二关键点对 误差。具体的,终端可以确定一条极轴,极轴的方向可以是随机确定的。确定 关键点对组中的姿态关键点对应的向量方向,确定姿态关键点对向量方向与极 轴之间的夹角,将夹角记作姿态关键点与极轴之间的姿态偏移量。对应的,终 端可以获取关键点对组中,与姿态关键点对对应的结果关键点对与极轴之间的 训练偏移量。终端可以将姿态偏移量与训练偏移量进行比对,根据姿态偏移量 与训练偏移量之间的比对结果确定关键点对偏移误差。可以将关键点对组对应 的关键点对偏移误差记作第二关键点对误差。
在其中一个实施例中,终端可以确定姿态偏移量与训练偏移量之间的余弦 值,确定姿态偏移量与训练偏移量之间的余弦值作为第二关键点对误差。具体 的,确定姿态偏移量与训练偏移量之间的余弦值的过程具体可以表示为
Figure BDA0002544254960000181
其中,(i,j)表示关键点对组中的关键点对。θi,j表示姿态关键 点对对应的姿态偏移量,
Figure BDA0002544254960000182
表示结果关键点对对应的训练偏移量。
在其中一个实施例中,终端可以根据多个第二关键点对误差确定骨架训练 结果与姿态训练样本之间的第二姿态误差。具体的,终端可以根据多个第二关 键点对误差,计算多个第二关键点对误差对应的第二关键点对误差总和,对第 二关键点对误差总和进行平均运算,确定得到的均值为第二姿态误差。根据多 个第二关键点对误差确定第二姿态误差的过程具体可以表示为:
Figure BDA0002544254960000183
其中,LAL(G)表示第二姿态误差,(i,j)表示关键点对组中的关键点对。θi,j表 示姿态关键点对对应的姿态偏移量,
Figure BDA0002544254960000184
表示结果关键点对对应的训练偏移量。 PA表示关键点对组的总数。
在本实施例中,通过获取姿态关键点对与极轴之间的姿态偏移量,以及结 果关键点对与极轴之间的训练偏移量,根据姿态偏移量和训练偏移量确定第二 关键点对误差,通过姿态偏移量和训练偏移量来准确的衡量两个关键点对之间 的姿态相似性,有效的提高了第二关键点对误差的准确性。以便于根据第二关 键点对误差准确的确定第二姿态误差进行模型参数修正,从而得到能够准确进 行姿态迁移的姿态迁移模型。
在一个实施例中,终端可以根据多个第一关键点对误差确定第一姿态误差, 根据第一姿态误差对初始迁移模型进行训练,得到训练后的姿态迁移模型。终 端也可以根据多个第二关键点对误差确定第二姿态误差,根据第二姿态误差对 初始迁移模型进行训练,得到训练后的姿态迁移模型。终端还可以根据第一姿 态误差和第二姿态误差共同对初始迁移模型进行训练,得到训练后的姿态迁移 模型。
终端可以根据多个第一关键点对误差确定第一姿态误差,根据多个第二关 键点对误差确定第二姿态误差,根据第一姿态误差和第二姿态误差确定目标姿 态误差,根据目标姿态误差对初始迁移模型的模型参数进行修正。具体的,终 端可以获取第一姿态误差和第二姿态误差各自对应的误差权重。误差权重可以 是根据实际训练需求预先设置的,也可以是在模型训练过程中动态调整的。误 差权重包括第一姿态误差对应的第一误差权重,以及第二姿态误差对应的第二 误差权重。终端可以根据误差权重对第一姿态误差和第二姿态误差进行加权运 算,得到骨架训练结果对应的目标姿态误差。在其中一个实施例中,根据误差 权重、第一姿态误差和第二姿态误差确定目标姿态误差的过程具体可以表示为:
LP=λVLLVLALLAL
其中,LP表示骨架训练结果对应的目标姿态误差。LVL表示第一姿态误差, LAL表示第二姿态误差。λVL表示第一姿态误差对应的第一误差权重,λAL表示第 二姿态误差对应的第二误差权重。
在其中一个实施例中,当对象训练样本对应的目标对象与姿态训练样本对 应的姿态对象为不同对象时,可以通过上述实施例中确定姿态误差的方式确定 骨架训练结果对应的姿态误差。当对象训练样本对应的目标对象与姿态训练样 本对应的姿态对象为相同对象时,姿态迁移的目标为输出的骨架训练结果与姿 态训练样本是一致的。因此,骨架训练结果对应的姿态误差具体可以表示为:
Figure BDA0002544254960000191
其中,A表示姿态对象,B表示目标对象。xA表示姿态对象A对应的骨架 姿态,yB表示目标对象B对应的参考姿态。λL1表示当姿态对象与目标对象一致 时,姿态误差所对应的误差权重。
Figure BDA0002544254960000192
表示1-范式。
在其中一个实施例中,在训练初始迁移模型的过程中,可以根据第一姿态 误差对模型参数进行修正,得到姿态迁移模型。也可以根据第二姿态误差对模 型参数进行修正,得到姿态迁移模型。还可以根据第一姿态误差和第二姿态误 差确定的目标姿态误差对模型参数进行修正,得到姿态迁移模型。如图10所示, 图10为一个实施例中根据不同姿态误差训练姿态迁移模型的结果比对图。图10 中包括根据上述三种姿态误差训练初始迁移模型后,得到的姿态迁移模型进行 姿态迁移的结果。其中,根据第一姿态误差进行模型训练得到的结果为VL-only 对应的骨架数据,根据第二姿态误差进行模型训练得到的结果为AL-only对应 的骨架数据,根据第一姿态误差和第二姿态误差进行模型训练得到的结果为AL+AL对应的骨架数据。
在本实施例中,通过获取第一姿态误差和第二姿态误差各自对应的误差权 重,根据误差权重对第一姿态误差和第二姿态误差进行加权运算,得到骨架训 练结果对应的目标姿态误差,目标姿态误差能够更加准确的表征和反映骨架训 练结果与姿态训练样本之间的姿态损失,根据目标姿态误差对模型参数进行修 正,能够训练得到更加准确的姿态迁移模型,从而有效的提高了姿态迁移模型 进行姿态迁移的准确性。
在一个实施例中,为了评估上述方法实施例中的图像生成方法,根据相同 的数据集进行了方法结果比对。如图11所示,图11为一个实施例中姿态迁移 的结果比对图。图11中包括根据姿态骨架和对象骨架,传统缩放姿态骨架、拷 贝二维关节角以及拷贝三维关节角方法分别进行姿态迁移的结果,以及根据上 述实施例中的图像生成方法得到的目标骨架和真实骨架。从图11中可以清楚的 看出,根据上述实施例中的图像生成方法得到的目标骨架相较于传统方式得到 的骨架,与真实骨架的相似度更高。
在一个实施例中,上述训练样本还可以是三维骨架数据,训练样本包括三 维姿态训练样本和三维对象训练样本。终端可以根据三维的骨架数据对初始迁 移模型进行训练,得到姿态迁移模型。其中,根据三维骨架数据训练初始迁移 模型的方式与上述实施例中根据训练样本训练初始迁移模型的方式相类似,故 在此不再赘述。根据姿态迁移模型根据三维骨架数据进行训练后得到的目标骨 架数据可以如图12所示,图12中包括输入姿态迁移模型的姿态骨架和对象骨 架,以及姿态迁移模型输出的目标骨架和真实骨架。从图12中可以看出,目标 骨架与真实骨架之间的相似度较高。
应该理解的是,虽然图2、3和7的流程图中的各个步骤按照箭头的指示依 次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中 有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它 的顺序执行。而且,图2、3和7中的至少一部分步骤可以包括多个步骤或者多 个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同 的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与 其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图13所示,提供了一种图像生成装置,包括:姿态识 别模块1302、模型调用模块1304、姿态迁移模块1306和图像生成模块1308, 其中:姿态识别模块1302,用于获取待处理对象图像和参考姿态数据;对待处 理对象图像进行姿态识别,得到待处理对象图像对应的对象骨架数据。
模型调用模块1304,用于调用姿态迁移模型,姿态迁移模型是根据训练样 本对应的对象误差和姿态误差训练得到的。
姿态迁移模块1306,用于将对象骨架数据和参考姿态数据输入至姿态迁移 模型,根据姿态迁移模型进行姿态迁移处理,得到目标骨架数据。
图像生成模块1308,用于根据目标骨架数据生成待处理对象图像对应的目 标对象图像。
在一个实施例中,上述姿态迁移模块1306还用于对对象骨架数据和参考姿 态数据进行特征提取,得到对象骨架数据对应的对象特征,以及参考姿态数据 对应的姿态特征;将对象特征与姿态特征进行特征融合,得到目标特征;获取 姿态迁移模型根据目标特征输出对应的目标骨架数据。
在一个实施例中,上述图像生成装置还包括模型训练模块,用于获取训练 样本,训练样本包括对象训练样本和姿态训练样本;获取初始迁移模型,将对 象训练样本和姿态训练样本输入初始迁移模型,得到训练样本对应的骨架训练 结果;根据骨架训练结果和对象训练样本确定对象误差,根据骨架训练结果和 姿态训练样本确定姿态误差;根据对象误差和姿态误差,对初始迁移模型中的 模型参数进行修正。
在一个实施例中,上述模型训练模块还用于根据姿态训练样本获取多个姿 态关键点对;从骨架训练结果中获取与多个姿态关键点对各自对应的结果关键 点对,组成多个关键点对组;确定多个关键点对组各自对应的关键点对误差; 根据多个关键点对误差确定骨架训练结果对应的姿态误差。
在一个实施例中,上述模型训练模块还用于生成至少一条姿态参考线;将 关键点对组包括的姿态关键点对和结果关键点对,映射至姿态参考线,得到各 自对应的姿态向量和训练结果向量;根据姿态向量和训练结果向量确定第一关 键点对误差。
在一个实施例中,上述模型训练模块还用于获取姿态关键点对与极轴之间 的姿态偏移量,以及结果关键点对与极轴之间的训练偏移量;根据姿态偏移量 和训练偏移量确定第二关键点对误差。
在一个实施例中,上述模型训练模块还用于根据多个第一关键点对误差确 定第一姿态误差,根据多个第二关键点对误差确定第二姿态误差;获取第一姿 态误差和第二姿态误差各自对应的误差权重;根据误差权重对第一姿态误差和 第二姿态误差进行加权运算,得到骨架训练结果对应的目标姿态误差。
关于图像生成装置的具体限定可以参见上文中对于图像生成方法的限定, 在此不再赘述。上述图像生成装置中的各个模块可全部或部分通过软件、硬件 及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处 理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调 用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其 内部结构图可以如图14所示。该计算机设备包括通过系统总线连接的处理器、 存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提 供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。 该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存 储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口 用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商 网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种图像生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水 显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计 算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板 或鼠标等。
本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关 的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定, 具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件, 或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器 中存储有计算机程序,该处理器执行计算机程序时实现上述图像生成方法实施 例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程 序,计算机程序被处理器执行时实现上述图像生成方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于 一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述 各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、 存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的 至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、 磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory, SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述 实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特 征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅 表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解 为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说, 在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申 请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种图像生成方法,所述方法包括:
获取待处理对象图像和参考姿态数据;
对所述待处理对象图像进行姿态识别,得到所述待处理对象图像对应的对象骨架数据;
调用姿态迁移模型,所述姿态迁移模型是根据训练样本对应的对象误差和姿态误差训练得到的;
将所述对象骨架数据和所述参考姿态数据输入至所述姿态迁移模型,根据所述姿态迁移模型进行姿态迁移处理,得到目标骨架数据;
根据所述目标骨架数据生成所述待处理对象图像对应的目标对象图像。
2.根据权利要求1所述的方法,其特征在于,所述根据所述姿态迁移模型进行姿态迁移处理,得到目标骨架数据包括:
对所述对象骨架数据和所述参考姿态数据进行特征提取,得到所述对象骨架数据对应的对象特征,以及所述参考姿态数据对应的姿态特征;
将所述对象特征与所述姿态特征进行特征融合,得到目标特征;
获取所述姿态迁移模型根据所述目标特征输出对应的目标骨架数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括所述姿态迁移模型的训练步骤,所述训练步骤包括:
获取训练样本,所述训练样本包括对象训练样本和姿态训练样本;
获取初始迁移模型,将所述对象训练样本和所述姿态训练样本输入所述初始迁移模型,得到所述训练样本对应的骨架训练结果;
根据所述骨架训练结果和所述对象训练样本确定对象误差,根据所述骨架训练结果和所述姿态训练样本确定姿态误差;
根据所述对象误差和所述姿态误差,对所述初始迁移模型中的模型参数进行修正。
4.根据权利要求3所述的方法,其特征在于,所述根据所述骨架训练结果和所述姿态训练样本确定姿态误差包括:
根据所述姿态训练样本获取多个姿态关键点对;
从所述骨架训练结果中获取与所述多个姿态关键点对各自对应的结果关键点对,组成多个关键点对组;
确定所述多个关键点对组各自对应的关键点对误差;
根据多个所述关键点对误差确定所述骨架训练结果对应的姿态误差。
5.根据权利要求4所述的方法,其特征在于,所述确定所述多个关键点对组各自对应的关键点对误差包括:
生成至少一条姿态参考线;
将所述关键点对组包括的所述姿态关键点对和所述结果关键点对,映射至所述姿态参考线,得到各自对应的姿态向量和训练结果向量;
根据所述姿态向量和所述训练结果向量确定第一关键点对误差。
6.根据权利要求4所述的方法,其特征在于,所述确定所述多个关键点对组各自对应的关键点对误差包括:
获取所述姿态关键点对与极轴之间的姿态偏移量,以及所述结果关键点对与所述极轴之间的训练偏移量;
根据所述姿态偏移量和所述训练偏移量确定第二关键点对误差。
7.根据权利要求4所述的方法,其特征在于,所述根据多个所述关键点对误差确定所述骨架训练结果对应的姿态误差包括:
根据多个所述第一关键点对误差确定第一姿态误差,根据多个所述第二关键点对误差确定第二姿态误差;
获取所述第一姿态误差和所述第二姿态误差各自对应的误差权重;
根据所述误差权重对所述第一姿态误差和所述第二姿态误差进行加权运算,得到所述骨架训练结果对应的目标姿态误差。
8.一种图像生成装置,其特征在于,所述装置包括:
姿态识别模块,用于获取待处理对象图像和参考姿态数据;对所述待处理对象图像进行姿态识别,得到所述待处理对象图像对应的对象骨架数据;
模型调用模块,用于调用姿态迁移模型,所述姿态迁移模型是根据训练样本对应的对象误差和姿态误差训练得到的;
姿态迁移模块,用于将所述对象骨架数据和所述参考姿态数据输入至所述姿态迁移模型,根据所述姿态迁移模型进行姿态迁移处理,得到目标骨架数据;
图像生成模块,用于根据所述目标骨架数据生成所述待处理对象图像对应的目标对象图像。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202010555752.XA 2020-06-17 2020-06-17 图像生成方法、装置、计算机设备和存储介质 Active CN111915676B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010555752.XA CN111915676B (zh) 2020-06-17 2020-06-17 图像生成方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010555752.XA CN111915676B (zh) 2020-06-17 2020-06-17 图像生成方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN111915676A true CN111915676A (zh) 2020-11-10
CN111915676B CN111915676B (zh) 2023-09-22

Family

ID=73237790

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010555752.XA Active CN111915676B (zh) 2020-06-17 2020-06-17 图像生成方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN111915676B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112489129A (zh) * 2020-12-18 2021-03-12 深圳市优必选科技股份有限公司 位姿识别模型训练方法、装置、位姿识别方法和终端设备
CN112634444A (zh) * 2021-03-10 2021-04-09 北京智源人工智能研究院 一种基于三维信息的人体姿态迁移方法、装置、存储介质及终端

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140219550A1 (en) * 2011-05-13 2014-08-07 Liberovision Ag Silhouette-based pose estimation
CN111191599A (zh) * 2019-12-27 2020-05-22 平安国际智慧城市科技股份有限公司 姿态识别方法、装置、设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140219550A1 (en) * 2011-05-13 2014-08-07 Liberovision Ag Silhouette-based pose estimation
CN111191599A (zh) * 2019-12-27 2020-05-22 平安国际智慧城市科技股份有限公司 姿态识别方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
尚洋;孙晓亮;张跃强;李由;于起峰;: "三维目标位姿跟踪与模型修正", 测绘学报, no. 06, pages 113 - 122 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112489129A (zh) * 2020-12-18 2021-03-12 深圳市优必选科技股份有限公司 位姿识别模型训练方法、装置、位姿识别方法和终端设备
CN112634444A (zh) * 2021-03-10 2021-04-09 北京智源人工智能研究院 一种基于三维信息的人体姿态迁移方法、装置、存储介质及终端

Also Published As

Publication number Publication date
CN111915676B (zh) 2023-09-22

Similar Documents

Publication Publication Date Title
CN109657583B (zh) 脸部关键点检测方法、装置、计算机设备和存储介质
CN111968235B (zh) 一种物体姿态估计方法、装置、系统和计算机设备
CN108764048B (zh) 人脸关键点检测方法及装置
US20210158023A1 (en) System and Method for Generating Image Landmarks
CN111369681A (zh) 三维模型的重构方法、装置、设备及存储介质
US9443325B2 (en) Image processing apparatus, image processing method, and computer program
CN111652974B (zh) 三维人脸模型的构建方法、装置、设备及存储介质
CN111862299A (zh) 人体三维模型构建方法、装置、机器人和存储介质
CN113570684A (zh) 图像处理方法、装置、计算机设备和存储介质
JP2019096113A (ja) キーポイントデータに関する加工装置、方法及びプログラム
CN111915676B (zh) 图像生成方法、装置、计算机设备和存储介质
WO2021223738A1 (zh) 模型参数的更新方法、装置、设备及存储介质
CN113705297A (zh) 检测模型的训练方法、装置、计算机设备和存储介质
CN111815768B (zh) 三维人脸重建方法和装置
CN111754391A (zh) 人脸转正方法、设备及计算机可读存储介质
CN111507288A (zh) 图像检测方法、装置、计算机设备和存储介质
CN113469091B (zh) 人脸识别方法、训练方法、电子设备及存储介质
CN117372604A (zh) 一种3d人脸模型生成方法、装置、设备及可读存储介质
CN109934926B (zh) 模型数据处理方法、装置、可读存储介质和设备
CN116881886A (zh) 身份识别方法、装置、计算机设备和存储介质
CN116310976A (zh) 学习习惯养成方法、装置、电子设备及存储介质
CN115760888A (zh) 图像处理方法、装置、计算机及可读存储介质
CN114005052A (zh) 全景图像的目标检测方法、装置、计算机设备和存储介质
CN112990144B (zh) 一种用于行人重识别的数据增强方法及系统
CN117392734B (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
GR01 Patent grant
GR01 Patent grant