CN116977663A - 图像数据处理方法、装置、设备以及介质 - Google Patents

图像数据处理方法、装置、设备以及介质 Download PDF

Info

Publication number
CN116977663A
CN116977663A CN202211520650.XA CN202211520650A CN116977663A CN 116977663 A CN116977663 A CN 116977663A CN 202211520650 A CN202211520650 A CN 202211520650A CN 116977663 A CN116977663 A CN 116977663A
Authority
CN
China
Prior art keywords
sample
feature
coding
attention
target
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
CN202211520650.XA
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.)
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 CN202211520650.XA priority Critical patent/CN116977663A/zh
Publication of CN116977663A publication Critical patent/CN116977663A/zh
Priority to PCT/CN2023/130351 priority patent/WO2024114321A1/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

本申请实施例提供了一种图像数据处理方法、装置、设备以及介质,本申请可以应用于图像检测领域,该方法包括:获取包含目标对象的源图像,在源图像中获取目标对象对应的局部特征序列;对局部特征序列进行位置编码处理,得到局部特征序列对应的位置编码信息,将局部特征序列和位置编码信息组合为与目标对象相关联的对象描述特征;获取对象描述特征对应的注意力输出特征,根据对象描述特征和注意力输出特征,得到源图像对应的对象编码特征;注意力输出特征用于表征目标对象的全局信息之间的信息传递;基于对象编码特征,确定源图像所包含的目标对象对应的关键点位置信息。采用本申请实施例,可以提高关键点位置的准确性。

Description

图像数据处理方法、装置、设备以及介质
技术领域
本申请涉及人工智能技术领域,尤其涉及一种图像数据处理方法、装置、设备以及介质。
背景技术
目前的对象关键点定位场景中,可以使用深度学习方法对图像中的对象进行关键点定位,如可以通过深度学习模型对图像进行特征提取,以获取该图像中的对象所对应的局部特征,通过对局部特征进行后处理,可以得到图像中的对象的关键点位置。然而,在对图像中的对象进行关键点定位时,该图像中的对象可能会由于位置、视角等原因会被遮挡,利用深度学习模型提取到的局部特征缺少对图像中的对象的这些遮挡部分的描述,这样得到的关键点位置与图像中的对象的真实关键点位置可能会存在偏差,造成对象关键点的定位精度过低。
发明内容
本申请实施例提供一种图像数据处理方法、装置、设备以及介质,可以提高目标对象的关键点位置的准确性。
本申请实施例一方面提供了一种图像数据处理方法,包括:
获取包含目标对象的源图像,在源图像中获取目标对象对应的局部特征序列;
对局部特征序列进行位置编码处理,得到局部特征序列对应的位置编码信息,将局部特征序列和位置编码信息组合为与目标对象相关联的对象描述特征;
获取对象描述特征对应的注意力输出特征,根据对象描述特征和注意力输出特征,得到源图像对应的对象编码特征;注意力输出特征用于表征目标对象的全局信息之间的信息传递;
基于对象编码特征,确定源图像所包含的目标对象对应的关键点位置信息。
本申请实施例一方面提供了一种图像数据处理方法,包括:
获取包含样本对象的样本图像,通过对象定位模型中的卷积组件,输出样本图像中的样本对象对应的样本特征序列;样本图像携带样本对象对应的关键点标签位置;
对样本特征序列进行位置编码处理,得到样本特征序列对应的样本位置编码信息,将样本特征序列和样本位置编码信息组合为与样本对象相关联的样本描述特征;
通过对象定位模型中的注意力编码组件,输出样本描述特征对应的样本注意力输出特征,根据样本描述特征和样本注意力输出特征,得到样本图像对应的样本编码特征;样本注意力输出特征用于表征样本对象的全局信息之间的信息传递;
基于样本编码特征,确定样本图像所包含的样本对象对应的关键点预测位置;
根据关键点标签位置和关键点预测位置之间的位置误差,对上述对象定位模型的网络参数进行修正,将包含修正后的网络参数的对象定位模型确定为目标定位模型;目标定位模型用于检测源图像所包含的目标对象对应的关键点位置信息。
本申请实施例一方面提供了一种图像数据处理装置,包括:
特征提取模块,用于获取包含目标对象的源图像,在源图像中获取目标对象对应的局部特征序列;
第一编码模块,用于对局部特征序列进行位置编码处理,得到局部特征序列对应的位置编码信息,将局部特征序列和位置编码信息组合为与目标对象相关联的对象描述特征;
第二编码模块,用于获取对象描述特征对应的注意力输出特征,根据对象描述特征和注意力输出特征,得到源图像对应的对象编码特征;注意力输出特征用于表征目标对象的全局信息之间的信息传递;
位置确定模块,用于基于对象编码特征,确定源图像所包含的目标对象对应的关键点位置信息。
其中,特征提取模块包括:
图像剪裁单元,用于将源图像输入至目标定位模型,通过目标定位模型对源图像中的目标对象进行边缘检测,得到目标对象对应的区域范围,基于区域范围对源图像进行剪裁,得到包含目标对象的区域图像;
局部特征提取单元,用于通过目标定位模型中的卷积组件,对区域图像进行特征提取,得到区域图像对应的对象局部特征,将对象局部特征进行维度压缩,得到目标对象对应的局部特征序列。
其中,目标定位模型中的卷积组件的数量为N个,N为正整数;
局部特征提取单元通过目标定位模型中的卷积组件,对区域图像进行特征提取,得到区域图像对应的对象局部特征,包括:
获取N个卷积组件中的第i个卷积组件的输入特征;i为1时,第i个卷积组件的输入特征为区域图像,i为小于N的正整数;
根据第i个卷积组件中的一个或多个卷积层,对第i个卷积组件的输入特征进行卷积运算,得到候选卷积特征;
根据第i个卷积组件中的归一化层对应的权重向量,对候选卷积特征进行归一化处理,得到归一化特征;
对归一化特征和第i个卷积组件的输入特征进行组合,得到第i个卷积组件的卷积输出特征,将第i个卷积组件的卷积输出特征作为第(i+1)个卷积组件的输入特征;第i个卷积组件与第(i+1)个卷积组件相连接;
将第N个卷积组件的卷积输出特征,确定为区域图像对应的对象局部特征。
其中,局部特征序列包括L个局部特征,L为正整数;
第一编码模块包括:
索引位置获取单元,用于获取L个局部特征在源图像中的索引位置,将L个局部特征的索引位置划分为偶数索引位置和奇数索引位置;
正弦位置编码单元,用于对局部特征序列中的偶数索引位置进行正弦位置编码,得到偶数索引位置对应的正弦编码信息;
余弦位置编码单元,用于对局部特征序列中的奇数索引位置进行余弦位置编码,得到奇数索引位置对应的余弦编码信息;
位置编码信息确定单元,用于将正弦编码信息和余弦编码信息,确定为局部特征序列对应的位置编码信息。
其中,第二编码模块包括:
注意力特征输出单元,用于将对象描述特征输入至目标定位模型中的注意力编码组件,通过注意力编码组件中的自注意力子组件,输出对象描述特征对应的注意力输出特征;
归一化处理单元,用于将对象描述特征和注意力输出特征组合为第一对象融合特征,对第一对象融合特征进行归一化处理,得到归一化融合特征;
特征变换单元,用于根据注意力编码组件中的前馈网络层,对归一化融合特征进行特征变换处理,得到候选变换特征;
编码特征确定单元,用于将归一化融合特征和候选变换特征组合为第二对象融合特征,对第二对象融合特征进行归一化处理,得到源图像对应的对象编码特征。
其中,注意力编码组件中的自注意力子组件的数量为T个,T为正整数;
注意力特征输出单元通过注意力编码组件中的自注意力子组件,输出对象描述特征对应的注意力输出特征,包括:
获取T个自注意力子组件中的第j个自注意力子组件对应的变换权重矩阵,基于变换权重矩阵,将对象描述信息变换为查询矩阵Q、键矩阵K以及值矩阵V;j为小于或等于T的正整数;
对查询矩阵Q与键矩阵K的转置矩阵进行点乘运算,得到候选权重矩阵,获取查询矩阵Q对应的列数量;
对候选权重矩阵与列数量的平方根之间的比值进行归一化处理,得到注意力权重矩阵,将注意力权重矩阵与值矩阵V之间的点乘,确定为第j个自注意力子组件对应的输出特征;
将T个自注意力子组件对应的输出特征拼接为对象描述特征对应的注意力输出特征。
其中,注意力特征输出单元将对象描述信息变换为查询矩阵Q、键矩阵K以及值矩阵V,包括:
将对象描述特征和变换权重矩阵中的第一变换矩阵进行点乘运算,得到查询矩阵Q;
将对象描述特征和变换权重矩阵中的第二变换矩阵进行点乘运算,得到键矩阵K;
将对象描述特征和变换权重矩阵中的第三变换矩阵进行点乘运算,得到值矩阵V。
其中,位置确定模块包括:
特征输入单元,用于将对象编码特征输入至目标定位模型中的多层感知机,获取多层感知机对应的隐含权重矩阵和偏置向量;
特征点乘单元,用于基于隐含权重矩阵与对象编码特征之间的点乘,以及偏置向量,确定源图像所包含的目标对象对应的关键点位置信息。
其中,该装置还包括:
对象姿态确定模块,用于根据目标对象对应的关键点位置信息和目标对象对应的关键点类别,对目标对象的关键点进行连接,得到目标对象在源图像中的对象姿态;
姿态语义确定模块,用于获取与目标对象相关联的姿态描述库,在姿态描述库中确定目标对象对应的姿态语义信息。
本申请实施例一方面提供了一种图像数据处理装置,包括:
样本获取模块,用于获取包含样本对象的样本图像,通过对象定位模型中的卷积组件,输出样本图像中的样本对象对应的样本特征序列;样本图像携带样本对象对应的关键点标签位置;
第三编码模块,用于对样本特征序列进行位置编码处理,得到样本特征序列对应的样本位置编码信息,将样本特征序列和样本位置编码信息组合为与样本对象相关联的样本描述特征;
第四编码模块,用于通过对象定位模型中的注意力编码组件,输出样本描述特征对应的样本注意力输出特征,根据样本描述特征和样本注意力输出特征,得到样本图像对应的样本编码特征;样本注意力输出特征用于表征样本对象的全局信息之间的信息传递;
位置预测模块,用于基于样本编码特征,确定样本图像所包含的样本对象对应的关键点预测位置;
参数修正模块,用于根据关键点标签位置和关键点预测位置之间的位置误差,对上述对象定位模型的网络参数进行修正,将包含修正后的网络参数的对象定位模型确定为目标定位模型;目标定位模型用于检测源图像所包含的目标对象对应的关键点位置信息。
其中,参数修正模块包括:
均方误差损失确定单元,用于获取关键点标签位置和关键点预测位置之间的位置误差,根据位置误差确定对象定位模型对应的均方误差损失;
第一回归损失确定单元,用于若位置误差的绝对值小于误差约束参数,则根据误差约束参数、曲率调整参数以及位置误差的绝对值,确定第一回归损失;
第二回归损失确定单元,用于若位置误差大于或等于误差约束参数,则将位置误差的绝对值与常量参数之间的差值确定为第二回归损失;
模型损失确定单元,用于将均方误差损失,以及由第一回归损失和第二回归损失所组成的分段损失,确定为对象定位模型对应的模型损失;
网络参数调整单元,用于根据模型损失对上述对象定位模型的网络参数进行修正,将包含修正后的网络参数的对象定位模型确定为目标定位模型。
其中,第一回归损失确定单元具体用于:
若位置误差的绝对值小于误差约束参数,则将位置误差的绝对值与曲率调整参数之间的比值确定为候选误差;
对候选误差和目标数值之和进行对数处理,得到对数损失,将对数损失与误差约束参数之间的乘积确定为第一回归损失。
本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器与处理器相连,存储器用于存储计算机程序,处理器用于调用计算机程序,以使得该计算机设备执行本申请实施例中上述一方面提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序适于由处理器加载并执行,以使得具有处理器的计算机设备执行本申请实施例中上述一方面提供的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面提供的方法。
本申请实施例中,可以获取包含目标对象的源图像,获取该源图像中的目标对象对应的局部特征序列;通过对局部特征序列进行位置编码处理,得到该局部特征序列对应的位置编码信息,将位置编码信息和局部特征序列组合为对象描述特征,进而获取该对象描述特征对应的注意力输出特征,该注意力输出特征用于表征目标对象的全局信息之间的信息传递,即可以提取源图像中的目标对象的全局信息;基于对象描述特征和注意力输出特征,得到源图像对应的对象编码特征,通过对象编码特征可以确定目标对象对应的关键点位置信息。其中,该对象编码特征可以用于表征目标对象的局部特征和全局信息的组合结果,通过该组合结果可以提高目标对象的关键点位置的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构的结构示意图;
图2是本申请实施例提供的一种目标定位模型的场景示意图;
图3是本申请实施例提供的一种图像数据处理方法的流程示意图;
图4是本申请实施例提供的一种目标定位模型中的注意力编码组件的结构示意图;
图5是本申请实施例提供的一种目标定位模型的网络结构示意图;
图6是本申请实施例提供的一种目标定位模型的应用流程示意图;
图7是本申请实施例提供的另一种图像数据处理方法的流程示意图;
图8是本申请实施例提供的一种图像数据处理装置的结构示意图;
图9是本申请实施例提供的另一种图像数据处理装置的结构示意图;
图10是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于理解,下面先对本申请实施例涉及的基础技术概念进行描述:
计算机视觉(Computer Vision,CV)是一门研究如何使机器“看”的科学,更进一步地说,就是指用摄影机和电脑代替人眼对目标进行识别、定位和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能***。计算机视觉技术通常可以包括图像处理、图像识别、图像检测、图像语义理解、图像检索、OCR、视频处理、语义理解、内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建、自动驾驶、智慧交通等技术。
本申请实施例具体涉及计算机视觉技术下属的对象定位,对象定位是计算机视觉中的一个重要任务,也是计算机李烈图像或视觉中的对象动作、姿态等必不可少的一步;本申请实施例提供了一种由卷积网络(可以称为卷积组件)和注意力编码器(可以称为注意力编码组件)所组成的目标定位模型,利用目标定位模型中的卷积网络可以对源图像所包含的目标对象进行局部特征提取,得到局部特征序列;利用目标定位模型中的注意力编码器可以建立局部特征序列中的特征间的依赖关系,并获取与目标对象相关联的全局信息,进而可以输出源图像中的目标对象对应的关键点位置信息,这样可以提高关键点位置信息的准确性。其中,目标对象可以包括但不限于:人物、动物、植物以及各种类型的人体部位(例如,脸部、手部等),本申请对目标对象的类型不做限定。
请参见图1,图1是本申请实施例提供的一种网络架构的结构示意图,该网络架构可以包括服务器10d和终端集群,该终端集群可以包括一个或者多个终端设备,这里不对终端集群所包含的终端设备的数量进行限制。如图1所示,该终端集群可以具体包括终端设备10a、终端设备10b以及终端设备10c等;终端集群中的所有终端设备(例如,可以包括终端设备10a、终端设备10b以及终端设备10c等)均可以与服务器10d进行网络连接,以便于各个终端设备均可以通过该网络连接与服务器10d之间进行数据交互。
其中,服务器10d可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,本申请对服务器的类型不做限定。
终端集群的终端设备可以包括但不限于:智能手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备(例如智能手表、智能手环等)、智能语音交互设备、智能家电(例如智能电视等)、车载设备、飞行器等具有对象定位功能的电子设备,本申请对终端设备的类型不做限定。
其中,如图1所示,终端集群中的终端设备可以集成具备对象定位功能的应用客户端,该应用客户端可以包括但不限于:多媒体客户端(例如,短客户端、直播客户端、客户端)、娱乐客户端(例如,游戏客户端)、社交客户端(例如,即时通讯应用客户端、办公客户端)、交通客户端等。
下面以图1所示的终端集群中的终端设备10a为例,该终端设备10a的应用客户端中可以集成训练完成的对象定位模型(训练完成的对象定位模型可以称为目标定位模型),该目标定位模型可以包括卷积组件、注意力编码组件以及多层感知机等。该卷积组件可以为卷积神经网络(Convolutional Neural Networks,CNN),其可以包括但不限于:AlexNet、VGGnet、Resnet、ResNeXt、DenseNet以及这些网络模型的组合或变形等,本申请对卷积组件的结构不做限定。该注意力编码组件可以为Transformer结构的编码器(Encoder),或者可以为其他结构的注意力机制结构,本申请对此不做限定。
其中,目标定位模型中的卷积组件可以用于提取图像中的目标对象对应的局部特征(可以称为局部特征序列);目标定位模型中的注意力编码组件可以用于建立局部特征间的关联关系,并提取图像中的目标对象对应的全局信息,进而可以输出由目标对象的局部特征和全局信息组成的对象编码特征;通过目标定位模型中的多层感知机可以将对象编码组转化为目标对象在图像中的关键点位置信息。
需要说明的是,目标对象对应的关键点数量以及关键点类别都可以作为目标定位模型在训练阶段的先验知识输入到模型中,训练完成的目标定位模型所输出的关键点位置信息可以包括目标对象的所有关键点的位置信息;例如,假设目标对象对应的关键点数量为21,即目标对象可以包括21个关键点,那么目标定位模型输出的关键点位置信息可以包含21个关键点分别对应的位置信息。
可以理解的是,对象定位模型的训练过程以及训练完成的目标定位模型的应用过程可以由计算机设备执行,即本申请实施例提出的图像数据处理方法可以由计算机设备执行,该计算机设备可以为图1所示的网络架构中的服务器10d,或者为终端集群中的任一终端设备,或者可以为计算机程序(包括程序代码,例如,终端设备集成的应用客户端)等,本申请实施例对此不做限定。
请参见图2,图2是本申请实施例提供的一种目标定位模型的场景示意图,本申请实施例以目标对象是手部为例,对图像的手部定位过程进行描述。如图2所示,在手部定位场景中,可以获取包含手部的图像20a和预先训练完成的目标定位模型20b,该目标定位模型20b可以用于定位图像20a中所包含的手部关键点位置,该目标定位模型20b可以包括卷积组件、注意力编码组件以及多层感知机20f等组件。
可以将图像20a输入至目标定位模型20b,首先输入至目标定位模型20b中的卷积组件20c,通过该卷积组件20c可以对图像20a进行特征提取,得到该图像20a对应的局部特征序列20d;该局部特征序列20d可以作为注意力编码组件20e的输入特征,通过注意力编码组件20e对局部特征序列20d进行特征编码处理,可以得到与图像20a中的手部相关联的手部编码特征。注意力编码组件20e输出的手部编码特征可以作为多层感知机20f的输入特征,通过多层感知机20f中的多个全连接层,可以将手部编码特征转化为手部的关键点位置信息。
如图2所示,手部可以包含21个关键点,手部的21个关键点可以进行标记和排序,如可以依次标记为关键点S0至关键点S20,由多层感知机20f输出的关键点位置信息可以包括关键点S0至关键点S20的位置信息,此处的关键点位置信息可以采用二维坐标值的形式进行表示;例如,多层感知机20f输出的关键点位置信息可以包括关键点S0的位置信息(x0,y0)、关键点S1的位置信息(x1,y1)、……、关键点S20的位置信息(x20,y20)等。根据图像20a中的手部对应的21个关键点的位置信息,对图像20a中的21个手部关键点进行可视化显示,该可视化显示可以如图像20g所示。进一步地,可以根据图像20a对应的21个关键点的位置信息以及手部形状,对图像20a中的21个关键点进行连接,得到图像20a中的手部姿态;通过对手部姿态进行语义分析,可以确定该图像20a所包含的手部对应的姿态语义信息(例如,该姿态语义信息可以为数字“2”)。
本申请实施例中,可以将目标定位模型应用在手部姿态识别任务中,通过目标定位模型输出的关键点位置信息,识别图像对应的手部姿态,可以提高图像中的手部姿态的识别准确性。
请参见图3,图3是本申请实施例提供的一种图像数据处理方法的流程示意图;可以理解地,该图像数据处理方法可以由计算机设备执行,该计算机设备可以为服务器,或者可以为终端设备,本申请对此不做限定。如图3所示,该图像数据处理方法可以包括以下步骤S101至步骤S104:
步骤S101,获取包含目标对象的源图像,在源图像中获取目标对象对应的局部特征序列。
具体的,在对象定位场景中,计算机设备可以获取待处理图像数据,通过对待处理图像数据进行对象检测,得到该待处理图像数据对应的对象检测结果;若该对象检测结果指示待处理图像数据中包含目标对象,则可以将该待处理图像数据确定为包含目标对象的源图像,该源图像是指包含目标对象的图像,如前述图2所对应实施例中的图像20a;若该对象检测结果指示待处理图像数据中不包含目标对象,则可以确定该待处理图像数据不包含目标对象,无需对该待处理图像数据进行后续处理,即丢弃该待处理图像数据。
其中,待处理图像数据的对象检测可以是指检测待处理图像数据中是否包含目标对象,如可以基于目标对象的轮廓形状以及目标对象的纹理信息,创建针对目标对象的对象检测模板,通过该对象检测模板对待处理图像数据进行对象检测,可以判断该待处理图像数据中是否包含目标对象;若检测到待处理图像数据中存在与对象检测模板相匹配的目标对象,则将待处理图像数据确定为源图像;若检测到待处理图像数据中不存在于对象检测模板相匹配的目标对象,则无需对该待处理图像数据进行后续处理。可选地,本申请实施例还可以采用其他对象检测方法(例如,传统的机器学习方法、深度学习方法等)来检测待处理图像数据是否存在目标对象,本申请对此不做限定。
在获取到包含目标对象的源图像后,可以在计算机设备所集成的应用客户端中调用已经上线的目标定位模型。该目标定位模型可以为训练完成的对象定位模型,该目标定位模型可以包括用于提取特征和建模的第一网络结构(可以称为主干网络,并记为Backbone)和用于输出关键点位置信息的第二网络结构(可以称为预测网络,并记为head)。
其中,该第一网络结构可以为卷积神经网络和注意力网络组成的混合网络结构,此处的卷积神经网络可以包括但不限于:AlexNet、VGGnet、Resnet、ResNeXt、DenseNet等现有结构,以及这些现有结构的组合或变形等,本申请对卷积神经网络的类型不做限定;该注意力网络可以为Transformer结构的编码器,或者可以为其他结构的注意力机制,本申请对注意力网络的类型不做限定。为便于理解,本申请实施例可以将目标定位模型中的卷积神经网络称之为卷积组件,将目标定位模型中的注意力网络称之为注意力编码组件。第二网络结构可以为多层感知机结构,该多层感知机结构的输入特征可以为第一网络结构的输出特征。
进一步地,可以将包含目标对象的源图像输入至目标定位模型,通过目标定位模型对源图像中的目标对象进行边缘检测,得到目标对象对应的区域范围,基于区域范围对源图像进行剪裁,得到包含目标对象的区域图像。可以理解的是,计算机设备可以对包含目标对象的源图像进行图像预处理,得到预处理后的源图像;该预处理后的源图像可以输入至目标定位模型,通过该目标定位模型可以对预处理后的源图像中的目标对象进行边缘检测,得到目标对象在源图像中的区域范围,进而可以从预处理后的源图像中剪裁得到包含目标对象的区域图像,该区域范围可以用于表示源图像中的目标对象所处的位置区域。
其中,由于源图像中可能包含除目标对象之外的冗余信息(例如,噪声等),或者源图像中的目标对象可能存在遮挡,因此可以对源图像进行图像预处理,以消除源图像中的无关信息(除目标对象之外的信息),并恢复目标对象的真实信息,可以增强目标对象的可检测性,有利于提高对象定位的准确性。该图像预处理可以包括但不限于:几何变换、图像增强等,本申请对此不做限定;几何变换可以称为图像空间变换,该几何变换可以包括但不限于平移、转置、镜像、旋转、缩放等操作;图像增强可以用于改善源图像的视觉效果,基于对象定位应用场合,可以有目的地增强源图像的整体或局部特征,如可以将不清晰的源图像变得清晰,或者可以增强源图像中的目标对象等。
在得到包含目标对象的区域图像之后,可以通过目标定位模型中的卷积组件,对区域图像进行特征提取,得到区域图像对应的对象局部特征,对该对象局部特征进行维度压缩,可以得到目标对象对应的局部特征序列。其中,该对象局部特征可以用于表征源图像中的目标对象的结构化信息,该对象局部特征为卷积组件的输出特征,该对象局部特征可以表示为Xf1∈R3×Hc×Wc,其中数值3表示对象局部特征的通道数,Hc表示对象局部特征的高度,Wc表示对象局部特征的宽度。进而可以将对象局部特征进行维度转换,将对象局部特征压缩为一组序列特征,即局部特征序列Xf2∈RL×d;例如,可以使用一组Conv1×1的卷积(1×1的卷积核)对该对象局部特征进行维度转换,得到局部特征序列Xf2;该局部特征序列Xf2可以包含L个局部特征,每个局部特征的维度可以记为d。
在一个或多个实施例中,目标定位模型可以包括一个或多个卷积组件,该卷积组件的数量记为N个,N为正整数,如N可以取值为1,2,……;该N个卷积组件之间可以进行残差连接,如前一个卷积组件的输入特征和前一个卷积组件的输出特征相加之后的特征可以作为后一个卷积组件的输入特征。目标定位模型中的每个卷积组件都可以包括卷积层、BN(BatchNorm,批归一化)层以及激活层(例如,该激活层所对应的激活函数可以为ReLU、sigmod、tanh等,本申请对此不做限定),例如N个卷积组件中的单个卷积组件都可以为Conv2D(二维卷积)-BatchNorm-ReLU结构。
基于目标定位模型中的N个卷积组件对区域图像的特征提取过程可以包括:计算机设备可以获取N个卷积组件中的第i个卷积组件的输入特征,当i为1时,该第i个卷积组件的输入特征可以为区域图像,i可以为小于N的正整数。经过第i个卷积组件中的一个或多个卷积层,对第i个卷积组件的输入特征进行卷积运算,可以得到候选卷积特征;例如,的候选卷积特征可以表示为:Zi=wi*xi+bi,该Zi可以表示第i个卷积组件中的卷积层所输出的候选卷积特征,wi可以表示第i个卷积组件中的卷积层的权重,xi可以表示第i个卷积组件的输入特征,bi可以表示第i个卷积组件中的卷积层的偏置量。
根据第i个卷积组件中的归一化层对应的权重向量,对候选卷积特征进行归一化处理,可以得到归一化特征;对归一化特征和第i个卷积组件的输入特征进行组合(例如,此处的组合可以为特征相加),得到第i个卷积组件的卷积输出特征,将第i个卷积组件的卷积输出特征作为第(i+1)个卷积组件的输入特征,其中,第i个卷积组件与第(i+1)个卷积组件在目标定位模型中相连接。其中,第i个卷积组件中的归一化层可以为BN层,该归一化特征可以表示为:该ZBN可以表示第i个卷积组件中的归一化层(BN层)输出的归一化特征,mean可以表示为目标定位模型在训练阶段中的全局均值,var可以表示为目标定位模型在训练阶段中的全局方差,β和γ可以为第i个卷积组件中的归一化层对应的权重向量。进一步地,可以根据第i个卷积组件中的激活层(例如,ReLU函数),对归一化层输出的归一化特征进行非线性变换处理,得到变换后的特征,进而可以将变化后的特征和第i个卷积组件的输入特征组合为第i个卷积组件的卷积输出特征。
可选地,当归一化特征的尺寸与第i个卷积组件的输入特征的尺寸不一致时,可以对第i个卷积组件的输入特征进行线性变换,使得变换后的特征的尺寸与归一化特征的尺寸相同,进而可以将变换后的特征与归一化特征进行相加,得到第i个卷积组件的卷积输出特征。换言之,目标定位模型中的N个卷积组件依次相连,前一个卷积组件(例如,第i个卷积组件)的卷积输出特征,可以作为后一个卷积组件(第(i+1)个卷积组件)的输入特征,最终可以将最后一个卷积组件(第N个卷积组件)的卷积输出特征作为区域图像中的目标对象对应的对象局部特征。
步骤S102,对局部特征序列进行位置编码处理,得到局部特征序列对应的位置编码信息,将局部特征序列和位置编码信息组合为与目标对象相关联的对象描述特征。
具体的,通过目标定位模型中的卷积组件得到的局部特征序列可以作为注意力编码组件(例如,Transformer结构的编码器)的输入特征;在深度学习领域中,Transformer结构通常用于处理和建模序列化(如机器翻译等自然语言处理任务)的数据,而对于图像或视频数据,由于图像或视频数据中的结构化信息(空间信息)无法通过序列化的方式进行编码,即Transformer中的编码器、解码器结构无法直接应用在图像或视频等非序列化数据中,因此在图像或视频任务中,可以采用位置编码(Position Embedding)对图像或视频中的二维空间信息进行编码,以提高Transformer结构对图像或视频的处理效果。
本申请实施例中,为了保留源图像中的二维空间信息,可以采用位置编码方式对局部特征序列进行位置编码处理,以得到该局部特征序列对应的位置编码信息,该位置编码信息和局部特征序列相加后的结果可以作为目标对象对应的对象描述特征。其中,申请实施例所涉及的位置编码方式可以包括但不限于:正余弦位置编码(2D sine positionembedding)、可学习位置编码(learnable position embedding)等,为便于理解,下面以正余弦位置编码为例,对局部特征序列的位置编码处理进行描述。
其中,假设局部特征序列包括L个局部特征,L表示局部特征序列所包含的局部特征的数量,该L可以取值为1,2,……;该局部特征序列的正余弦位置编码过程可以包括:计算机设备可以获取L个局部特征在源图像中的索引位置,将L个局部特征的索引位置划分为偶数索引位置和奇数索引位置;对局部特征序列中的偶数索引位置进行正弦位置编码,得到偶数索引位置对应的正弦编码信息对局部特征序列中的奇数索引位置进行余弦位置编码,得到奇数索引位置对应的余弦编码信息;将正弦编码信息和余弦编码信息,确定为局部特征序列对应的位置编码信息。其中,正余弦位置编码过程可以如下述公式(1)至公式(4)所示:
/>
在上述公式(1)至公式(4)中,px和py可以表示为局部特征序列中的局部特征在源图像的横轴方向(x方向)和纵轴方向(y方向)上的索引位置;d表示为局部特征序列中的局部特征的维度,H、W分别表示为局部特征序列的高度和宽度;2i表示偶数索引位置,也可以认为是局部特征在x方向和y方向上的偶数维度,2i+1表示奇数索引位置,也可以认为是局部特征在x方向和y方向上的奇数维度,即2i≤d,2i+1≤d。
公式(1)中的可以表示各个局部特征中的偶数维度在y方向上的正弦编码信息,公式(2)中的/>可以表示各个局部特征中的奇数维度在y方向上的余弦编码信息,公式(3)中的/>可以表示各个局部特征中的偶数维度在x方向上的正弦编码信息,公式(4)中的/>可以表示各个局部特征中的奇数维度在x方向上的余弦编码信息。通过对公式(1)和公式(3)所表示的正弦编码信息,以及公式(2)和公式(4)所表示的余弦编码信息进行组合,得到局部特征序列对应的初始编码信息,进而可以对初始编码信息进行维度转换,得到一个序列化的位置编码信息PE∈RL×d
步骤S103,获取对象描述特征对应的注意力输出特征,根据对象描述特征和注意力输出特征,得到源图像对应的对象编码特征;注意力输出特征用于表征目标对象的全局信息之间的信息传递。
具体的,目标定位模型中的注意力编码组件可以用于提升卷积组件对于目标对象对应的全局信息的建模能力。在得到由局部特征序列和位置编码信息组成的对象描述特征之后,可以将对象描述特征输入至目标定位模型中的注意力编码组件,通过注意力编码组件中的自注意力子组件(可以记为Self-Attention,该自注意力子组件为注意力编码组件中的重点结构),输出对象描述特征对应的注意力输出特征。
请参见图4,图4是本申请实施例提供的一种目标定位模型中的注意力编码组件的结构示意图;目标定位模型可以包括一个或多个注意力编码组件,如图4所示,该目标定位模型可以包括M个注意力编码组件,该M个注意力编码组件可以进行依次连接,即前一个注意力编码组件的输出特征可以作为后一个注意力编码组件的输入特征;或者上述M个注意力编码组件之间的连接方式与前述N个卷积组件之间的残差连接方式相同,如第r-2(r-2≤M)个注意力编码组件的输出特征(也可以称为第r-1个注意力编码组件的输入特征)和第r-1(r-1≤M)个注意力编码组件的输出特征相加后的特征可以作为第r(r≤M)个注意力编码组件的输入特征,本申请实施例对M个注意力编码组件之间的连接方式不做限定。其中,目标定位模型中的M个注意力编码组件具有相同的网络结构,该M可以为正整数,如M可以取值为1,2,……。
如图4所示的注意力编码组件30e可以为的M个注意力编码组件中的任一个注意力编码组件的网络结构。该注意力编码组件30e可以包括多头注意力结构30a(Multi-HeadAttention)、组合+归一化层30b(Add&Norm)、前馈(Feed-Forward)网络层30c以及组合+归一化层30d等结构;其中,多头注意力结构30a可以包括多个自注意力子组件,如多头注意力结构30a所包含的自注意力子组件的数量为T,T个自注意力子组件的输入特征可以是相同的,T为大于1的整数,如T可以取值为2,3,……。
对于多头注意力结构30a所包含的T个自注意力子组件中的任意一个自注意力子组件(例如,第j个自注意力子组件,j为小于或等于T的正整数),可以获取第j个自注意力子组件对应的变换权重矩阵,基于该第j个自注意力子组件的变换权重矩阵,将对象描述信息变换为查询矩阵Q、键矩阵K以及值矩阵V;其中,第j个自注意力子组件的变换权重矩阵可以包括三个变换矩阵(也可以称为三个参数矩阵,如可以包括第一变换矩阵Wq、第二变换矩阵Wk以及第三变换矩阵Wv),变换权重矩阵是在目标定位模型的训练过程中学习得到的参数。局部特征序列与位置编码信息相加后可以得到对象描述特征(该对象描述特征可以记为Xf3∈RL×d),将对象描述特征Xf3和变换权重矩阵中的第一变换矩阵Wq进行点乘运算,可以得到查询矩阵Q,即Q=Xf3Wq;将对象描述特征Xf3和变换权重矩阵中的第二变换矩阵Wk进行点乘运算,得到键矩阵K,即K=Xf3Wk;将对象描述特征Xf3和变换权重矩阵中的第三变换矩阵Wv进行点乘运算,得到值矩阵V,即V=Xf3Wv。其中,查询矩阵Q中的每个查询向量可以用于编码每个特征与其他特征之间的相似性关系,该相似性关系可以决定该特征与前序特征之间的依赖信息。
进一步地,可以对查询矩阵Q与键矩阵K的转置矩阵进行点乘运算,得到候选权重矩阵(可以表示为QKT),该候选权重矩阵可以认为是查询矩阵Q和键矩阵K中每一行向量的内积(也可以称为点乘、点积),为了防止内积过大,可以获取查询矩阵Q对应的列数量(查询矩阵Q和键矩阵K具有相同的列数量,也可以称为向量维度);进而可以对候选权重矩阵QKT与列数量的平方根(可以记为)之间的比值进行归一化处理,得到注意力权重矩阵。
例如,该注意力权重矩阵可以表示为其中,注意力权重矩阵可以认为是一种“动态权重”,该注意力权重矩阵可以用于表征目标对象的全局信息之间的信息传递;softmax函数为用于归一化处理的函数,softmax函数可以用于计算单个特征对于其他特征的自注意力系数,通过softmax函数可以对/>中的每一行进行softmax。将注意力权重矩阵与值矩阵V之间的点乘,确定为第j个自注意力子组件对应的输出特征,此处的输出特征可以表示为/>
由于多头注意力结构30a包含T个自注意力子组件,那么可以得到T个自注意力子组件的输出特征,依次记为输出特征O1、输出特征O2、……、输出特征OT,进而可以将T个自注意力子组件对应的输出特征(即输出特征O1、输出特征O2、……、输出特征OT)拼接为对象描述特征对应的注意力输出特征,此处的拼接可以为concat操作;换言之,该注意力输出特征为多头注意力结构30a的输出特征。
进一步地,可以通过注意力编码组件30e中的组合+归一化层30b,对上述对象描述特征Xf3和注意力输出特征相加,并对相加后的特征进行归一化处理;其中,组合+归一化层30b中的组合(Add)可以是指将对象描述特征Xf3和注意力输出特征组合为第一对象融合特征,组合+归一化层30b中的归一化(Normalization)可以是指对第一对象融合特征进行归一化处理,得到归一化融合特征,此处的归一化处理可以是指将第一对象融合特征转化为均值方差相同的特征。根据注意力编码组件30e中的前馈网络层30c,可以对归一化融合特征进行特征变换处理,得到候选变换特征;通过注意力编码组件30e中的组合+归一化层30d,将归一化融合特征和候选变换特征组合为第二对象融合特征,对第二对象融合特征进行归一化处理,得到源图像对应的对象编码特征。
可以理解的是,目标定位模型中的注意力编码组件可以用于对源图像所包含的目标对象对应的对象描述特征进行建模,并构建目标对象的特征之间的长程关联关系,即构建局部特征序列中的特征之间的依赖关系。局部特征序列在经过注意力编码组件之后,其输出的对象编码特征的通道数量也会发生相应的变化,对象编码特征的通道数量与源图像中的目标对象需要定位的关键点的数量相同;例如,假设需要在目标定位模型中获取针对目标对象的21个关键点的位置信息,那么对象编码特征的通道数量可以为21。本申请实施例中,通过目标定位模型中的注意力编码组件,可以改善卷积组件对于全局信息发掘不足的缺陷,增强特征提取的质量(融合了卷积组件提取的局部特征和对象编码组件提取的全局特征),进而可以提升目标对象对应的关键点位置的准确性。
步骤S104,基于对象编码特征,确定源图像所包含的目标对象对应的关键点位置信息。
具体的,目标定位模型中还可以包含预测网络(可以记为Head),该预测网络可以连接在注意力编码组件之后,即注意力编码组件输出的对象编码特征可以作为预测网络的输入特征,通过目标定位模型中的预测网络,可以将对象编码特征映射为源图像所包含的目标对象对应的关键点位置信息。其中,目标定位模型中的预测网络可以包括但不限于:多层感知机、全连接网络等,为便于理解,本申请实施例以多层感知机为例进行描述。
计算机设备可以将对象编码特征输入至目标定位模型中的多层感知机,获取多层感知机对应的隐含权重矩阵和偏置向量;基于偏置向量,以及隐含权重矩阵与对象编码特征之间的点乘,确定源图像所包含的目标对象对应的关键点位置信息。其中,源图像中的目标对象可以包括多个关键点,不同的关键点可以对应不同的类别,这些关键点的类别和位置信息可以用于表征目标对象在源图像中的形状;由多层感知机所输出的关键点位置信息可以包括目标对象的每个关键点在源图像所在坐标系中的坐标。例如,当源图像中的目标对象为手部时,目标对象对应的关键点的数量可以为21,或者可以为其他数值;当源图像中的目标对象为人脸时,目标对象对应的关键点的数量可以为68,或者可以为49,或者可以为5,或者可以为21等,本申请对目标对象的关键点数量不做限定。
请参见图5,图5是本申请实施例提供的一种目标定位模型的网络结构示意图。如图5所示的目标定位模型可以包括主干网络40b(可以称为第一网络结构)和预测网络40c(可以称为第二网络结构);其中,该主干网络40b可以包括N个卷积组件40d(这N个卷积组件40d可以采用残差方式进行连接)和M个注意力编码组件(如Transformer结构的编码器),每个卷积组件40d可以为卷积层-BN层-激活层的结构,主干网络40b可以用于提取源图像所包含的目标对象对应的局部特征和全局特征;预测网络40c可以为多层感知机,该预测网络40c可以用于输出目标对象对应的所有关键点的位置信息。
当获取到包含手部的图像40a时,可以将该图像40a作为源图像,源图像所包含的目标对象为手部。该图像40a可以输入至目标定位模型,通过目标定位模型中的N个卷积组件40d,可以从图像40a中提取手部局部特征序列(目标对象对应的局部特征序列);进而可以将第N个卷积组件40d输出的手部局部特征序列输入注意力编码组件(如前述图4所示的注意力编码组件的网络结构)中,通过N个注意力编码组件可以得到图像40a对应的手部编码特征(对象编码特征)。
假设手部关键点的数量为21,那么前述手部编码特征的通道数量可以为21;通过目标定位模型中的预测网络40c,可以将手部编码特征映射为21个手部关键点对应的坐标信息(关键点位置信息),如手部关键点S0的坐标(x0,y0)、手部关键点S1的坐标(x1,y1)、……、手部关键点S20的坐标(x20,y20)等。基于21个手部关键点的类别以及21个手部关键点的坐标,可以对图像40a所包含的手部关键点进行可视化显示,如图5所示的图像40e。
在一个或多个实施例中,该目标定位模型可以应用到对象动作识别场景、对象姿态识别场景、手语识别场景等任务中。在上述识别场景中,除了需要使用该目标定位模型之外,还需要多个算法的配合,如图6所示,图6是本申请实施例提供的一种目标定位模型的应用流程示意图。如图6所示,目标定位模型的应用流程可以包括图像预处理、对象检测、关键点定位、图像后处理、结果显示等。其中,在获取到待处理的源图像之后,可以对源图像进行图像预处理,以消除源图像中的无关信息;预处理后的源图像可以继续进行对象检测(例如,手部检测),若检测到源图像中不包含目标对象,则可以无需执行后续流程;若检测到源图像中包含目标对象,则可以获取目标对象在源图像中的区域范围,基于区域范围进行图像剪裁,得到包含目标对象的区域图像。该区域图像可以输入至目标定位模型,通过该目标定位模型可以输出该区域图像所包含的目标对象在源图像中的关键点位置信息;基于该关键点位置信息可以对源图像进行图像后处理,如可以通过目标定位模型输出的关键点位置信息,识别目标对象在源图像中的对象姿态/动作,或者可以继续对源图像中的对象姿态/动作进行识别,得到对象姿态/动作对应的语义信息等,图像后处理的结果可以进行可视化显示。可以理解的是,图像预处理、对象检测、关键点定位的实现过程可以参见前述步骤S101至步骤S104中的相关描述,此处不再进行赘述。
可选地,在得到源图像所包含的目标对象对应的关键点位置信息之后,可以根据目标对象对应的关键点位置信息和目标对象对应的关键点类别,对目标对象的关键点进行连接,得到目标对象在源图像中的对象姿态;获取与目标对象相关联的姿态描述库,在姿态描述库中确定目标对象对应的姿态语义信息。其中,姿态描述库中可以包括不同对象姿态对应的语义信息,通过关键点位置信息识别出目标对象在源图像中的对象姿态之后,可以在该姿态描述库中确定与该对象姿态相匹配的姿态语义信息。例如,源图像中的目标对象可以为手部,姿态描述库可以包括各种类型的手部姿态对应的手语(语义信息),在基于关键点位置信息识别出对象姿态后,可以从姿态描述库中查找该对象姿态对应的手语。
本申请实施例中,可以利用目标定位模型中的卷积组件,获取源图像中的目标对象对应的局部特征序列;卷积组件所输出的局部特征序列可以作为目标定位模型中的注意力编码组件的输入特征,通过注意力编码组件可以建立局部特征序列中的特征间之间的信息传递,并获取目标对象对应的全局信息,由注意力编码组件输出的对象编码特征可以结合目标对象的局部特征和全局特征,基于对象编码特征可以确定目标对象在源图像中的关键点位置信息,可以提高目标对象的关键点位置的准确性。
可以理解的是,目标定位模型在上线之前,也就是在目标定位模型正式投入使用之前,需要先对初始化的对象定位模型进行模型训练,训练完成的对象定位模型可以称为目标定位模型,下面将结合图7对上述对象定位模型的训练过程进行描述。
请参见图5,图5是本申请实施例提供的另一种图像数据处理方法的流程示意图;可以理解地,该图像数据处理方法可以由计算机设备执行,该计算机设备可以为服务器,或者可以为终端设备,本申请对此不做限定。如图5所示,该图像数据处理方法可以包括以下步骤S201至步骤S205:
步骤S201,获取包含样本对象的样本图像,通过对象定位模型中的卷积组件,输出样本图像中的样本对象对应的样本特征序列;样本图像携带样本对象对应的关键点标签位置。
可以理解的是,对象定位模型可以是指未训练完成的定位模型,即训练阶段的定位模型,目标定位模型可以是指训练完成的定位模型。对象定位模型和目标定位模型具有相同的网络结构,只是对象定位模型和目标定位模型具有不同网络参数的定位模型。在对象定位模型的训练阶段,可以获取包含样本对象的训练数据集,该训练数据集中的所有样本图像均可以包含样本对象,并携带样本对象对应的关键点标签位置。为了增强模型的泛化性和鲁棒性,可以对训练数据集中的样本图像进行图像增广处理,该图像增广处理可以包括但不限于:随机旋转、水平或竖直对称、添加噪声、随机裁剪、图像模糊、颜色调整等,并将图像增广处理后的图像作为样本图像添加至训练数据集。
其中,训练数据集可以用于训练对象定位模型的网络参数,每个样本图像中的样本对象可以包含多个关键点,一个关键点可以对应一个类别;对于训练数据集中的每一个样本图像,可以对其所包含的目标对象的各个关键点进行位置标注,得到每个样本图像对应的关键点标签位置,即样本对象在其对应的样本图像中的真实位置。样本对象可以包括但不限于:人物、动物、植物以及各种类型的人体部位(例如,脸部、手部等),本申请对目标对象的类型不做限定。为便于理解,本申请实施例以样本对象是手部为例进行描述,手部的关键点可以为手掌中心点、手指关节等。
对于训练数据集中的所有样本图像,可以对训练数据集进行批处理,如可以从训练数据集中获取一批次的样本图像,这一批次的样本图像可以同时输入至对象定位模型进行网络参数训练。下面以训练数据集中的任一个样本图像为例,对上述对象定位模型的训练过程进行描述。
训练数据集中的样本图像可以输入至对象定位模型,通过对象定位模型中的卷积组件,可以输出样本图像所包含的样本对象对应的样本特征序列,该样本特征序列可以是指卷积组件从样本图像中提取到的局部特征。其中,对象定位模型所包含的卷积组件数量和多个卷积组件之间的连接方式,与目标定位模型所包含的卷积组件数量和多个卷积组件之间的连接方式相同,样本特征序列的获取方式可以参见前述图3所对应实施例中的步骤S101的相关描述,此处不再进行赘述。
步骤S202,对样本特征序列进行位置编码处理,得到样本特征序列对应的样本位置编码信息,将样本特征序列和样本位置编码信息组合为与样本对象相关联的样本描述特征。
具体的,通过对象定位模型中的卷积组件提取到样本特征序列后,可以将样本特征序列作为对象定位模型中的注意力编码组件的输入特征,在该注意力编码组件中,可以对样本特征序列进行位置编码处理,可以得到样本特征序列对应的样本位置编码信息。例如,在对象定位模型的训练阶段中,可以采用正余弦位置编码方式对样本特征序列进行位置编码,其具体编码方式可以如公式(1)至公式(4)所示,通过对样本特征序列进行位置编码处理,可以提高对象定位模型的泛化性和鲁棒性。进一步地,可以将样本特征序列和样本位置编码信息组合为与样本图像所包含的样本对象相关联的样本描述特征,该样本描述特征可以用于表征样本图像中的样本对象。
步骤S203,通过对象定位模型中的注意力编码组件,输出样本描述特征对应的样本注意力输出特征,根据样本描述特征和样本注意力输出特征,得到样本图像对应的样本编码特征;样本注意力输出特征用于表征样本对象的全局信息之间的信息传递。
具体的,对象定位模型中的注意力编码组件可以包括多个自注意力子组件(Self-Attention)和前馈网络(Feed-Forward Networks);可选地,多个自注意力子组件和前馈网络之间可以连接组合+归一化层(Add&Norm),或者也可以在前馈网络之后连接组合+归一化层。通过对象定位模型中的注意力编码组件所包含的自注意力子组件,可以输出样本描述特征对应的样本注意力输出特征。进一步地,可以通过注意力编码组件中的组合+归一化层和前馈网络,对样本描述特征和样本注意力输出特征进行相应地处理,得到样本图像对应的样本编码特征。
其中,样本注意力输出特征可以用于表征样本对象的全局信息之间的信息传递,样本编码特征可以是指融合了局部特征和全局特征的表征信息。可以理解的是,样本图像中的每一个区域都可以作为辅助结果推断的信息,每个区域的重要性可以使用梯度来表示。上述样本编码特征的获取方式可以参见图3所对应实施例的步骤S203中的相关描述,此处不再进行赘述。
步骤S204,基于样本编码特征,确定样本图像所包含的样本对象对应的关键点预测位置。
具体的,由对象定位模型中的注意力编码组件输出的样本编码特征,可以输入至对象定位模型中的多层感知机,通过多层感知机可以将样本编码特征映射为样本图像中的样本对象对应的关键点预测位置。其中,对象定位模型中的多层感知机可以由输入层、隐含层以及输出层组成,输入层、隐含层以及输出层之间的网络连接方式可以为全连接方式;关键点预测位置可以是指将样本图像输入至对象定位模型后,在对象定位模型中对样本图像进行前向计算所得到的预测结果,该关键点预测位置可以为样本对象的各个关键点在样本图像所对应坐标系中的坐标信息。
步骤S205,根据关键点标签位置和关键点预测位置之间的位置误差,对上述对象定位模型的网络参数进行修正,将包含修正后的网络参数的对象定位模型确定为目标定位模型。
具体的,在对象定位模型的训练过程中,可以计算关键点标签位置和关键点预测位置之间的位置误差,进而可以基于该位置误差进行反向传播(Back-propagation,BP),以对该对象定位模型的网络参数进行迭代调整,该关键点标签位置可以认为是样本图像中的样本对象对应的各个关键点的真实坐标信息。其中,对象定位模型的训练过程可以使用多个损失函数进行约束,此处的多个损失函数可以包括但不限于均方误差损失(mean-squareerror,MSE)和Wing损失(机翼损失);MSE损失可以是指关键点预测位置与关键点标签位置对应点误差的平方和的均值;Wing损失为一种新颖的分段函数,可以用于改善针对中小范围误差的对象定位模型的训练能力。
可以理解的是,由于样本图像中的样本对象可以包括多个关键点(例如,手部关键点),因此在关键点回归任务中,每个关键点的回归难度是不一样的;在对象定位模型的训练初期,关键点预测位置与关键点标签位置之间的位置误差都很大,可以理解为大误差(large error);在对象定位模型的训练中后期,样本对象的大部分关键点都已经基本确定,此时关键点预测位置与关键点标签位置之间的位置误差都很小了,可以理解为小误差(small error);为了提高样本对象对应的关键点的回归准确性,可以在Wing损失中采用对数函数。在对象定位模型的后续训练中,样本对象的大部分关键点的损失都很小,若使用原始的损失函数(前述对数函数),在对象定位模型的反向转播中,样本对象对应的关键点中可能由几个离群点的损失占据了主导,这对其他关键点的回归是一种损害,因此需要让离群点的损失减小一些,也就是说,Wing损失可以为分段函数的形式。
在一个或多个实施例中,MSE损失的计算过程可以包括:获取样本对象对应的各个关键点的关键点标签位置和关键点预测位置之间的位置误差,根据各个关键点分别对应的位置误差确定对象定位模型对应的均方误差损失,该均方误差损失可以如下述公式(5)所示:
其中,MSE表示均方误差,B表示样本图像中的样本对象对应的关键点的数量;Ya可以表示为样本对象的第a个关键点对应的关键点标签位置,a为小于或等B的正整数;Ya′可以表示为样本对象的第a个关键点对应的关键点预测位置,即对象定位模型所输出的第a个关键点的坐标信息。均方误差(MSE)可以用于约束预测网络的输出特征的生成,使得对象定位模型可以生成更加精确的结果。
在一个或多个实施例中,Wing损失的计算过程可以包括:若各个关键点的关键点标签位置和关键点预测位置之间的位置误差的绝对值小于误差约束参数ω,则可以根据误差约束参数ω、曲率调整参数∈以及位置误差的绝对值,确定第一回归损失。若各个关键点的关键点标签位置和关键点预测位置之间的位置误差大于或等于误差约束参数ω,则将位置误差的绝对值与常量参数(可以为数值1)之间的差值确定为第二回归损失;进而可以将均方误差损失,以及由第一回归损失和第二回归损失所组成的分段损失(上述Wing损失),确定为对象定位模型对应的模型损失。其中,第一回归损失的计算过程可以包括:若位置误差的绝对值小于误差约束参数,则将位置误差的绝对值与曲率调整参数之间的比值确定为候选误差;对候选误差和目标数值之和进行对数处理,得到对数损失,将对数损失与误差约束参数之间的乘积确定为第一回归损失。分段损失(Wing损失)可以如下述公式(6)所示:
其中,Wing表示机翼损失,表示第一回归损失,|la|-表示第二回归损失,ω可以用于约束Wing损失函数中的非线性部分的范围,∈可以用于控制Wing损失函数中的非线性区域的曲率;c是一个常数,可以用于平滑地连接分段的线性和非线性部分。la可以表示为样本对象的第a个关键点对应的关键点标签位置与关键点预测位置之间的欧式距离,若第a个关键点的关键点标签位置表示为(x,y),第a个关键点的关键点预测位置表示为(x',y'),那么la可以表示为la=sqrt[(x-x')2+(y-y')2],sqrt函数可以返回平方根。
进一步地,可以将上述公式(5)和公式(6)作为对象定位模型的模型损失,通过对该模型损失进行最小化优化处理,可以对该对象定位模型的网络参数进行迭代更新。可以理解的是,对象定位模型的训练阶段可以包括多轮迭代训练(epoch),每一轮迭代训练可以遍历一次训练数据集,并且每次都可以从训练数据集中获取一批次样本图像输入至对象定位模型执行前向计算以得到关键点预测位置。对于每一轮迭代训练,当对象定位模型的训练次数达到预先设定的最大迭代次数时,可以保存此时的网络参数,将此时的网络参数作为本轮迭代训练的对象定位模型。经过多轮迭代后的对象定位模型可以认为是训练完成的目标定位模型,该目标定位模型可以用于定位图像中的手部关键点的位置信息。
需要说明的是,在对象定位模型的训练阶段,可以根据应用场景来构建合适的对象定位模型,该对象定位模型的训练过程可以参见前述描述,此处不再进行赘述。当对象定位模型应用在云端服务器时,可以训练一个高精度的目标定位模型,并将该目标定位模型部署在云端服务器,该云端服务器中部署的目标定位模型可以提供云端服务,为用户提供高精度的关键点定位结果。当对象定位模型应用在数据预标注任务时,可以训练一个参数量和计算量大,但是速度慢的目标定位模型。当对象定位模型应用在知识蒸馏任务时,可以训练高精度的目标定位模型,有助于用户获取到性能更好的小模型。当对象定位模型应用在移动端时,可以训练一个轻量化的目标定位模型,该目标定位模型的速度快、精度高,可以直接部署到手机、智能摄像头等边缘计算设备中。可选地,在对象定位模型包括由卷积组件和注意力编码组件组成的主干网络以及预测网络的前提下,本申请还可以根据任务需求对该对象定位模型的网络结构进行个性化调整,本申请对此不做限定。
在一个或多个实施例中,为了对训练得到的目标定位模型进行定量化评测,可以采用性能评价标准来对训练得到的目标定位模型进行综合评估,该性能评价标准可以包括但不限于:PCK(Percentage of Correct Keypoint,正确估计出关键点的比例)、均方误差、均方根误差、和方差(SSE)等,本申请对此不做限定。
为便于理解,本申请实施例以PCK指标为例,采用PCK指标对训练完成的目标定位模型进行综合评估。PCK指标通过计算关键点预测位置与其对应的关键点标签位置之间的归一化误差来衡量模型性能的优劣,PCK指标越高,说明训练的目标定位模型的性能越强。PCK指标的计算方法如下述公式(7)所示:
其中,Tk可以表示为预先设定的阈值,la表示为样本对象的第a个关键点对应的关键点标签位置与关键点预测位置之间的欧式距离,l0表示样本对象的归一化因子。
为了验证训练完成的目标定位模型的性能,可以使用相同的配置条件和训练数据集,对训练的目标定位模型和现有模型(例如,可以为ResNet18和ResNet50,其中数值18和50为现有模型中的网络层数)进行对比,使用PCK作为模型精度的测试指标,其中归一化指标可以设置为0.05和0.1,与此同时还可以对训练的目标定位模型的参数量进行了对比,其实验结果可以如表1所示:
表1
其中,由上述表1中的实验结果可知,对比现有的ResNet模型,本申请实施例提出的对象定位模型在精度和模型体积上都具有优势。例如,本申请提出的轻量级定位模型(可以为具有tiny结构的目标定位模型)的参数量在仅有ResNet50结构15%的情况下,在[email protected](归一化指标为0.05的PCK)和[email protected](归一化指标为0.1的PCK)两个指标中都取得了基本一致的结果;对于本申请提出的大型定位模型(可以为具有Large结构的目标定位模型),在参数量远小于ResNet50的情况下,在各项指标中都取得了非常明显的优势。
本申请实施例中,可以创建由卷积组件和注意力编码组件组成的对象定位模型,该对象定位模型中的卷积组件可以用于提取样本图像中的样本对象对应的局部特征;该对象定位模型中的注意力编码组件可以用于提取样本图像中的样本对象对应的全局特征,并将局部特征和全局特征进行组合,由此可以输出样本对象对应的关键点预测位置。通过样本图像中的样本对象对应的关键点标签位置与关键点预测位置之间的位置误差,可以计算对象定位模型对应的模型损失(可以由均方误差损失和Wing损失组成),基于该模型损失对上述对象定位模型中的网络参数进行训练,可以得到训练完成的目标定位模型,进而可以提高目标定位模型的定位精度。
可以理解的是,在本申请的具体实施方式中,可能涉及到用户的部位图像(例如,用户人脸图像、手部图像以及人体图像等),当本申请以上实施例运用到具体产品或技术中时,需要获得用户等对象的许可或同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
请参见图8,图8是本申请实施例提供的一种图像数据处理装置的结构示意图。如图8所示,该图像数据处理装置1包括:特征提取模块11,第一编码模块12,第二编码模块13,位置确定模块14;
特征提取模块11,用于获取包含目标对象的源图像,在源图像中获取目标对象对应的局部特征序列;
第一编码模块12,用于对局部特征序列进行位置编码处理,得到局部特征序列对应的位置编码信息,将局部特征序列和位置编码信息组合为与目标对象相关联的对象描述特征;
第二编码模块13,用于获取对象描述特征对应的注意力输出特征,根据对象描述特征和注意力输出特征,得到源图像对应的对象编码特征;注意力输出特征用于表征目标对象的全局信息之间的信息传递;
位置确定模块14,用于基于对象编码特征,确定源图像所包含的目标对象对应的关键点位置信息。
其中,特征提取模块11,第一编码模块12,第二编码模块13,位置确定模块14的具体功能实现方式可以参见前述图3所对应实施例中的步骤S101至步骤S104,此处不再进行赘述。
在一个或多个实施例中,特征提取模块11包括:图像剪裁单元111,局部特征提取单元112;
图像剪裁单元111,用于将源图像输入至目标定位模型,通过目标定位模型对源图像中的目标对象进行边缘检测,得到目标对象对应的区域范围,基于区域范围对源图像进行剪裁,得到包含目标对象的区域图像;
局部特征提取单元112,用于通过目标定位模型中的卷积组件,对区域图像进行特征提取,得到区域图像对应的对象局部特征,将对象局部特征进行维度压缩,得到目标对象对应的局部特征序列。
可选地,目标定位模型中的卷积组件的数量为N个,N为正整数;
局部特征提取单元112通过目标定位模型中的卷积组件,对区域图像进行特征提取,得到区域图像对应的对象局部特征,包括:
获取N个卷积组件中的第i个卷积组件的输入特征;i为1时,第i个卷积组件的输入特征为区域图像,i为小于N的正整数;
根据第i个卷积组件中的一个或多个卷积层,对第i个卷积组件的输入特征进行卷积运算,得到候选卷积特征;
根据第i个卷积组件中的归一化层对应的权重向量,对候选卷积特征进行归一化处理,得到归一化特征;
对归一化特征和第i个卷积组件的输入特征进行组合,得到第i个卷积组件的卷积输出特征,将第i个卷积组件的卷积输出特征作为第(i+1)个卷积组件的输入特征;第i个卷积组件与第(i+1)个卷积组件相连接;
将第N个卷积组件的卷积输出特征,确定为区域图像对应的对象局部特征。
其中,图像剪裁单元111,局部特征提取单元112的具体功能实现方式可以参见前述图3所对应实施例中的步骤S101,此处不再进行赘述。
在一个或多个实施例中,局部特征序列包括L个局部特征,L为正整数;
第一编码模块包括:索引位置获取单元121,正弦位置编码单元122,余弦位置编码单元123,位置编码信息确定单元124;
索引位置获取单元121,用于获取L个局部特征在源图像中的索引位置,将L个局部特征的索引位置划分为偶数索引位置和奇数索引位置;
正弦位置编码单元122,用于对局部特征序列中的偶数索引位置进行正弦位置编码,得到偶数索引位置对应的正弦编码信息;
余弦位置编码单元123,用于对局部特征序列中的奇数索引位置进行余弦位置编码,得到奇数索引位置对应的余弦编码信息;
位置编码信息确定单元124,用于将正弦编码信息和余弦编码信息,确定为局部特征序列对应的位置编码信息。
其中,索引位置获取单元121,正弦位置编码单元122,余弦位置编码单元123,位置编码信息确定单元124的具体功能实现方式可以参见前述图3所对应实施例中的步骤S102,此处不再进行赘述。
在一个或多个实施例中,第二编码模块13包括:注意力特征输出单元131,归一化处理单元132,特征变换单元133,编码特征确定单元134;
注意力特征输出单元131,用于将对象描述特征输入至目标定位模型中的注意力编码组件,通过注意力编码组件中的自注意力子组件,输出对象描述特征对应的注意力输出特征;
归一化处理单元132,用于将对象描述特征和注意力输出特征组合为第一对象融合特征,对第一对象融合特征进行归一化处理,得到归一化融合特征;
特征变换单元133,用于根据注意力编码组件中的前馈网络层,对归一化融合特征进行特征变换处理,得到候选变换特征;
编码特征确定单元134,用于将归一化融合特征和候选变换特征组合为第二对象融合特征,对第二对象融合特征进行归一化处理,得到源图像对应的对象编码特征。
可选地,注意力编码组件中的自注意力子组件的数量为T个,T为正整数;
注意力特征输出单元131通过注意力编码组件中的自注意力子组件,输出对象描述特征对应的注意力输出特征,包括:
获取T个自注意力子组件中的第j个自注意力子组件对应的变换权重矩阵,基于变换权重矩阵,将对象描述信息变换为查询矩阵Q、键矩阵K以及值矩阵V;j为小于或等于T的正整数;
对查询矩阵Q与键矩阵K的转置矩阵进行点乘运算,得到候选权重矩阵,获取查询矩阵Q对应的列数量;
对候选权重矩阵与列数量的平方根之间的比值进行归一化处理,得到注意力权重矩阵,将注意力权重矩阵与值矩阵V之间的点乘,确定为第j个自注意力子组件对应的输出特征;
将T个自注意力子组件对应的输出特征拼接为对象描述特征对应的注意力输出特征。
可选地,注意力特征输出单元131将对象描述信息变换为查询矩阵Q、键矩阵K以及值矩阵V,包括:
将对象描述特征和变换权重矩阵中的第一变换矩阵进行点乘运算,得到查询矩阵Q;
将对象描述特征和变换权重矩阵中的第二变换矩阵进行点乘运算,得到键矩阵K;
将对象描述特征和变换权重矩阵中的第三变换矩阵进行点乘运算,得到值矩阵V。
其中,注意力特征输出单元131,归一化处理单元132,特征变换单元133,编码特征确定单元134的具体功能实现方式可以参见前述图3所对应实施例中的步骤S103,此处不再进行赘述。
在一个或多个实施例中,位置确定模块14包括:特征输入单元141,特征点乘单元142;
特征输入单元141,用于将对象编码特征输入至目标定位模型中的多层感知机,获取多层感知机对应的隐含权重矩阵和偏置向量;
特征点乘单元142,用于基于隐含权重矩阵与对象编码特征之间的点乘,以及偏置向量,确定源图像所包含的目标对象对应的关键点位置信息。
其中,特征输入单元141,特征点乘单元142的具体功能实现方式可以参见前述图3所对应实施例中的步骤S104,此处不再进行赘述。
在一个或多个实施例中,该图像数据处理装置1还包括:对象姿态确定模块15,姿态语义确定模块16;
对象姿态确定模块15,用于根据目标对象对应的关键点位置信息和目标对象对应的关键点类别,对目标对象的关键点进行连接,得到目标对象在源图像中的对象姿态;
姿态语义确定模块16,用于获取与目标对象相关联的姿态描述库,在姿态描述库中确定目标对象对应的姿态语义信息。
其中,对象姿态确定模块15,姿态语义确定模块16的具体功能实现方式可以参见前述图3所对应实施例中的步骤S104,此处不再进行赘述。
本申请实施例中,可以利用目标定位模型中的卷积组件,获取源图像中的目标对象对应的局部特征序列;卷积组件所输出的局部特征序列可以作为目标定位模型中的注意力编码组件的输入特征,通过注意力编码组件可以建立局部特征序列中的特征间之间的信息传递,并获取目标对象对应的全局信息,由注意力编码组件输出的对象编码特征可以结合目标对象的局部特征和全局特征,基于对象编码特征可以确定目标对象在源图像中的关键点位置信息,可以提高目标对象的关键点位置的准确性。
请参见图9,图9是本申请实施例提供的一种图像数据处理装置的结构示意图。如图9所示,该图像数据处理装置2包括:样本获取模块21,第三编码模块22,第四编码模块23,位置预测模块24,参数修正模块25;
样本获取模块21,用于获取包含样本对象的样本图像,通过对象定位模型中的卷积组件,输出样本图像中的样本对象对应的样本特征序列;样本图像携带样本对象对应的关键点标签位置;
第三编码模块22,用于对样本特征序列进行位置编码处理,得到样本特征序列对应的样本位置编码信息,将样本特征序列和样本位置编码信息组合为与样本对象相关联的样本描述特征;
第四编码模块23,用于通过对象定位模型中的注意力编码组件,输出样本描述特征对应的样本注意力输出特征,根据样本描述特征和样本注意力输出特征,得到样本图像对应的样本编码特征;样本注意力输出特征用于表征样本对象的全局信息之间的信息传递;
位置预测模块24,用于基于样本编码特征,确定样本图像所包含的样本对象对应的关键点预测位置;
参数修正模块25,用于根据关键点标签位置和关键点预测位置之间的位置误差,对上述对象定位模型的网络参数进行修正,将包含修正后的网络参数的对象定位模型确定为目标定位模型;目标定位模型用于检测源图像所包含的目标对象对应的关键点位置信息。
其中,样本获取模块21,第三编码模块22,第四编码模块23,位置预测模块24,参数修正模块25的具体功能实现方式可以参见前述图7所对应实施例中的步骤S201至步骤S205,此处不再进行赘述。
在一个或多个实施例中,参数修正模块25包括:均方误差损失确定单元251,第一回归损失确定单元252,第二回归损失确定单元253,模型损失确定单元254,网络参数调整单元255;
均方误差损失确定单元251,用于获取关键点标签位置和关键点预测位置之间的位置误差,根据位置误差确定对象定位模型对应的均方误差损失;
第一回归损失确定单元252,用于若位置误差的绝对值小于误差约束参数,则根据误差约束参数、曲率调整参数以及位置误差的绝对值,确定第一回归损失;
第二回归损失确定单元253,用于若位置误差大于或等于误差约束参数,则将位置误差的绝对值与常量参数之间的差值确定为第二回归损失;
模型损失确定单元254,用于将均方误差损失,以及由第一回归损失和第二回归损失所组成的分段损失,确定为对象定位模型对应的模型损失;
网络参数调整单元255,用于根据模型损失对上述对象定位模型的网络参数进行修正,将包含修正后的网络参数的对象定位模型确定为目标定位模型。
可选地,第一回归损失确定单元252具体用于:
若位置误差的绝对值小于误差约束参数,则将位置误差的绝对值与曲率调整参数之间的比值确定为候选误差;
对候选误差和目标数值之和进行对数处理,得到对数损失,将对数损失与误差约束参数之间的乘积确定为第一回归损失。
其中,均方误差损失确定单元251,第一回归损失确定单元252,第二回归损失确定单元253,模型损失确定单元254,网络参数调整单元255的具体功能实现方式可以参见前述图7所对应实施例中的步骤S205,此处不再进行赘述。
本申请实施例中,可以创建由卷积组件和注意力编码组件组成的对象定位模型,该对象定位模型中的卷积组件可以用于提取样本图像中的样本对象对应的局部特征;该对象定位模型中的注意力编码组件可以用于提取样本图像中的样本对象对应的全局特征,并将局部特征和全局特征进行组合,由此可以输出样本对象对应的关键点预测位置。通过样本图像中的样本对象对应的关键点标签位置与关键点预测位置之间的位置误差,可以计算对象定位模型对应的模型损失(可以由均方误差损失和Wing损失组成),基于该模型损失对上述对象定位模型中的网络参数进行训练,可以得到训练完成的目标定位模型,进而可以提高目标定位模型的定位精度。
进一步地,请参见图10,图10是本申请实施例提供的一种计算机设备的结构示意图。如图10所示,该计算机设备1000可以为用户终端,例如,上述图1所对应实施例中的用户终端10a,还可以为服务器,例如,上述图1所对应实施例中的服务器10d,这里将不对其进行限制。为便于理解,本申请以计算机设备为用户终端为例,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,该计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图10所示,作为一种计算机可读存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及设备控制应用程序。
其中,该计算机设备1000中的网络接口1004还可以提供网络通讯功能,且可选用户接口1003还可以包括显示屏(Display)、键盘(Keyboard)。在图10所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取包含目标对象的源图像,在源图像中获取目标对象对应的局部特征序列;
对局部特征序列进行位置编码处理,得到局部特征序列对应的位置编码信息,将局部特征序列和位置编码信息组合为与目标对象相关联的对象描述特征;
获取对象描述特征对应的注意力输出特征,根据对象描述特征和注意力输出特征,得到源图像对应的对象编码特征;注意力输出特征用于表征目标对象的全局信息之间的信息传递;
基于对象编码特征,确定源图像所包含的目标对象对应的关键点位置信息。
或者,处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取包含样本对象的样本图像,通过对象定位模型中的卷积组件,输出样本图像中的样本对象对应的样本特征序列;样本图像携带样本对象对应的关键点标签位置;
对样本特征序列进行位置编码处理,得到样本特征序列对应的样本位置编码信息,将样本特征序列和样本位置编码信息组合为与样本对象相关联的样本描述特征;
通过对象定位模型中的注意力编码组件,输出样本描述特征对应的样本注意力输出特征,根据样本描述特征和样本注意力输出特征,得到样本图像对应的样本编码特征;样本注意力输出特征用于表征样本对象的全局信息之间的信息传递;
基于样本编码特征,确定样本图像所包含的样本对象对应的关键点预测位置;
根据关键点标签位置和关键点预测位置之间的位置误差,对该对象定位模型的网络参数进行修正,将包含修正后的网络参数的对象定位模型确定为目标定位模型;目标定位模型用于检测源图像所包含的目标对象对应的关键点位置信息。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3或图7中任一个实施例中对图像数据处理方法的描述,也可执行前文图9所对应实施例中对图像数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的图像数据处理装置1所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3或图7中任一个实施例中对图像数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。其中,存储介质可以为磁碟、光盘、只读存储器(Read-OnlyMemory,ROM)或随机存储器(Random Access Memory,RAM)等。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链***。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行前文图3或图7中任一个实施例中对图像数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同媒体内容,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (17)

1.一种图像数据处理方法,其特征在于,包括:
获取包含目标对象的源图像,在所述源图像中获取所述目标对象对应的局部特征序列;
对所述局部特征序列进行位置编码处理,得到所述局部特征序列对应的位置编码信息,将所述局部特征序列和所述位置编码信息组合为与所述目标对象相关联的对象描述特征;
获取所述对象描述特征对应的注意力输出特征,根据所述对象描述特征和所述注意力输出特征,得到所述源图像对应的对象编码特征;所述注意力输出特征用于表征所述目标对象的全局信息之间的信息传递;
基于所述对象编码特征,确定所述源图像所包含的所述目标对象对应的关键点位置信息。
2.根据权利要求1所述的方法,其特征在于,所述在所述源图像中获取所述目标对象对应的局部特征序列,包括:
将所述源图像输入至目标定位模型,通过所述目标定位模型对所述源图像中的所述目标对象进行边缘检测,得到所述目标对象对应的区域范围,基于所述区域范围对所述源图像进行剪裁,得到包含所述目标对象的区域图像;
通过所述目标定位模型中的卷积组件,对所述区域图像进行特征提取,得到所述区域图像对应的对象局部特征,将所述对象局部特征进行维度压缩,得到所述目标对象对应的局部特征序列。
3.根据权利要求2所述的方法,其特征在于,所述目标定位模型中的卷积组件的数量为N个,N为正整数;
所述通过所述目标定位模型中的卷积组件,对所述区域图像进行特征提取,得到所述区域图像对应的对象局部特征,包括:
获取N个卷积组件中的第i个卷积组件的输入特征;i为1时,所述第i个卷积组件的输入特征为所述区域图像,i为小于N的正整数;
根据所述第i个卷积组件中的一个或多个卷积层,对所述第i个卷积组件的输入特征进行卷积运算,得到候选卷积特征;
根据所述第i个卷积组件中的归一化层对应的权重向量,对所述候选卷积特征进行归一化处理,得到归一化特征;
对所述归一化特征和所述第i个卷积组件的输入特征进行组合,得到所述第i个卷积组件的卷积输出特征,将所述第i个卷积组件的卷积输出特征作为第(i+1)个卷积组件的输入特征;所述第i个卷积组件与所述第(i+1)个卷积组件相连接;
将第N个卷积组件的卷积输出特征,确定为所述区域图像对应的对象局部特征。
4.根据权利要求1所述的方法,其特征在于,所述局部特征序列包括L个局部特征,L为正整数;
所述对所述局部特征序列进行位置编码处理,得到所述局部特征序列对应的位置编码信息,包括:
获取所述L个局部特征在所述源图像中的索引位置,将所述L个局部特征的索引位置划分为偶数索引位置和奇数索引位置;
对所述局部特征序列中的偶数索引位置进行正弦位置编码,得到所述偶数索引位置对应的正弦编码信息;
对所述局部特征序列中的奇数索引位置进行余弦位置编码,得到所述奇数索引位置对应的余弦编码信息;
将所述正弦编码信息和所述余弦编码信息,确定为所述局部特征序列对应的位置编码信息。
5.根据权利要求1所述的方法,其特征在于,所述获取所述对象描述特征对应的注意力输出特征,根据所述对象描述特征和所述注意力输出特征,得到所述源图像对应的对象编码特征,包括:
将所述对象描述特征输入至目标定位模型中的注意力编码组件,通过所述注意力编码组件中的自注意力子组件,输出所述对象描述特征对应的注意力输出特征;
将所述对象描述特征和所述注意力输出特征组合为第一对象融合特征,对所述第一对象融合特征进行归一化处理,得到归一化融合特征;
根据所述注意力编码组件中的前馈网络层,对所述归一化融合特征进行特征变换处理,得到候选变换特征;
将所述归一化融合特征和所述候选变换特征组合为第二对象融合特征,对所述第二对象融合特征进行归一化处理,得到所述源图像对应的对象编码特征。
6.根据权利要求5所述的方法,其特征在于,所述注意力编码组件中的自注意力子组件的数量为T个,T为正整数;
所述通过所述注意力编码组件中的自注意力子组件,输出所述对象描述特征对应的注意力输出特征,包括:
获取T个自注意力子组件中的第j个自注意力子组件对应的变换权重矩阵,基于所述变换权重矩阵,将所述对象描述信息变换为查询矩阵Q、键矩阵K以及值矩阵V;j为小于或等于T的正整数;
对所述查询矩阵Q与所述键矩阵K的转置矩阵进行点乘运算,得到候选权重矩阵,获取所述查询矩阵Q对应的列数量;
对所述候选权重矩阵与所述列数量的平方根之间的比值进行归一化处理,得到注意力权重矩阵,将所述注意力权重矩阵与所述值矩阵V之间的点乘,确定为所述第j个自注意力子组件对应的输出特征;
将所述T个自注意力子组件对应的输出特征拼接为所述对象描述特征对应的注意力输出特征。
7.根据权利要求6所述的方法,其特征在于,所述将所述对象描述信息变换为查询矩阵Q、键矩阵K以及值矩阵V,包括:
将所述对象描述特征和所述变换权重矩阵中的第一变换矩阵进行点乘运算,得到查询矩阵Q;
将所述对象描述特征和所述变换权重矩阵中的第二变换矩阵进行点乘运算,得到键矩阵K;
将所述对象描述特征和所述变换权重矩阵中的第三变换矩阵进行点乘运算,得到值矩阵V。
8.根据权利要求1所述的方法,其特征在于,所述基于所述对象编码特征,确定所述源图像所包含的所述目标对象对应的关键点位置信息,包括:
将所述对象编码特征输入至目标定位模型中的多层感知机,获取所述多层感知机对应的隐含权重矩阵和偏置向量;
基于所述隐含权重矩阵与所述对象编码特征之间的点乘,以及所述偏置向量,确定所述源图像所包含的所述目标对象对应的关键点位置信息。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述目标对象对应的关键点位置信息和所述目标对象对应的关键点类别,对所述目标对象的关键点进行连接,得到所述目标对象在所述源图像中的对象姿态;
获取与所述目标对象相关联的姿态描述库,在所述姿态描述库中确定所述目标对象对应的姿态语义信息。
10.一种图像数据处理方法,其特征在于,包括:
获取包含样本对象的样本图像,通过对象定位模型中的卷积组件,输出所述样本图像中的所述样本对象对应的样本特征序列;所述样本图像携带所述样本对象对应的关键点标签位置;
对所述样本特征序列进行位置编码处理,得到所述样本特征序列对应的样本位置编码信息,将所述样本特征序列和样本位置编码信息组合为与所述样本对象相关联的样本描述特征;
通过所述对象定位模型中的注意力编码组件,输出所述样本描述特征对应的样本注意力输出特征,根据所述样本描述特征和所述样本注意力输出特征,得到所述样本图像对应的样本编码特征;所述样本注意力输出特征用于表征所述样本对象的全局信息之间的信息传递;
基于所述样本编码特征,确定所述样本图像所包含的所述样本对象对应的关键点预测位置;
根据所述关键点标签位置和所述关键点预测位置之间的位置误差,对所述对象定位模型的网络参数进行修正,将包含修正后的网络参数的对象定位模型确定为目标定位模型;所述目标定位模型用于检测源图像所包含的目标对象对应的关键点位置信息。
11.根据权利要求10所述的方法,其特征在于,所述根据所述关键点标签位置和所述关键点预测位置之间的位置误差,对所述对象定位模型的网络参数进行修正,将包含修正后的网络参数的对象定位模型确定为目标定位模型,包括:
获取所述关键点标签位置和所述关键点预测位置之间的位置误差,根据所述位置误差确定所述对象定位模型对应的均方误差损失;
若所述位置误差的绝对值小于误差约束参数,则根据所述误差约束参数、曲率调整参数以及所述位置误差的绝对值,确定第一回归损失;
若所述位置误差大于或等于所述误差约束参数,则将所述位置误差的绝对值与常量参数之间的差值确定为第二回归损失;
将所述均方误差损失,以及由所述第一回归损失和所述第二回归损失所组成的分段损失,确定为所述对象定位模型对应的模型损失;
根据所述模型损失对所述对象定位模型的网络参数进行修正,将包含修正后的网络参数的对象定位模型确定为目标定位模型。
12.根据权利要求11所述的方法,其特征在于,所述若所述位置误差的绝对值小于误差约束参数,则根据所述误差约束参数、曲率调整参数以及所述位置误差的绝对值,确定第一回归损失,包括:
若所述位置误差的绝对值小于误差约束参数,则将所述位置误差的绝对值与所述曲率调整参数之间的比值确定为候选误差;
对所述候选误差和目标数值之和进行对数处理,得到对数损失,将所述对数损失与所述误差约束参数之间的乘积确定为所述第一回归损失。
13.一种图像数据处理装置,其特征在于,包括:
特征提取模块,用于获取包含目标对象的源图像,在所述源图像中获取所述目标对象对应的局部特征序列;
第一编码模块,用于对所述局部特征序列进行位置编码处理,得到所述局部特征序列对应的位置编码信息,将所述局部特征序列和所述位置编码信息组合为与所述目标对象相关联的对象描述特征;
第二编码模块,用于获取所述对象描述特征对应的注意力输出特征,根据所述对象描述特征和所述注意力输出特征,得到所述源图像对应的对象编码特征;所述注意力输出特征用于表征所述目标对象的全局信息之间的信息传递;
位置确定模块,用于基于所述对象编码特征,确定所述源图像所包含的所述目标对象对应的关键点位置信息。
14.一种图像数据处理装置,其特征在于,包括:
样本获取模块,用于获取包含样本对象的样本图像,通过对象定位模型中的卷积组件,输出所述样本图像中的所述样本对象对应的样本特征序列;所述样本图像携带所述样本对象对应的关键点标签位置;
第三编码模块,用于对所述样本特征序列进行位置编码处理,得到所述样本特征序列对应的样本位置编码信息,将所述样本特征序列和样本位置编码信息组合为与所述样本对象相关联的样本描述特征;
第四编码模块,用于通过所述对象定位模型中的注意力编码组件,输出所述样本描述特征对应的样本注意力输出特征,根据所述样本描述特征和所述样本注意力输出特征,得到所述样本图像对应的样本编码特征;所述样本注意力输出特征用于表征所述样本对象的全局信息之间的信息传递;
位置预测模块,用于基于所述样本编码特征,确定所述样本图像所包含的所述样本对象对应的关键点预测位置;
参数修正模块,用于根据所述关键点标签位置和所述关键点预测位置之间的位置误差,对所述对象定位模型的网络参数进行修正,将包含修正后的网络参数的对象定位模型确定为目标定位模型;所述目标定位模型用于检测源图像所包含的目标对象对应的关键点位置信息。
15.一种计算机设备,其特征在于,包括存储器和处理器;
所述存储器与所述处理器相连,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1至12任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1至12任一项所述的方法。
17.一种计算机程序产品,其特征在于,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现权利要求1至12任一项所述的方法。
CN202211520650.XA 2022-11-30 2022-11-30 图像数据处理方法、装置、设备以及介质 Pending CN116977663A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211520650.XA CN116977663A (zh) 2022-11-30 2022-11-30 图像数据处理方法、装置、设备以及介质
PCT/CN2023/130351 WO2024114321A1 (zh) 2022-11-30 2023-11-08 图像数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211520650.XA CN116977663A (zh) 2022-11-30 2022-11-30 图像数据处理方法、装置、设备以及介质

Publications (1)

Publication Number Publication Date
CN116977663A true CN116977663A (zh) 2023-10-31

Family

ID=88470051

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211520650.XA Pending CN116977663A (zh) 2022-11-30 2022-11-30 图像数据处理方法、装置、设备以及介质

Country Status (2)

Country Link
CN (1) CN116977663A (zh)
WO (1) WO2024114321A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117787525A (zh) * 2024-02-23 2024-03-29 煤炭科学技术研究院有限公司 基于井下多个目标对象的轨迹预测方法和预警方法
WO2024114321A1 (zh) * 2022-11-30 2024-06-06 腾讯科技(深圳)有限公司 图像数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111382714B (zh) * 2020-03-13 2023-02-17 Oppo广东移动通信有限公司 图像检测方法、装置、终端及存储介质
CN113393446B (zh) * 2021-06-21 2022-04-15 湖南大学 基于注意力机制的卷积神经网络医学图像关键点检测方法
CN114022900A (zh) * 2021-10-29 2022-02-08 北京百度网讯科技有限公司 检测模型的训练方法、检测方法、装置、设备和介质
CN114299563A (zh) * 2021-11-16 2022-04-08 三星(中国)半导体有限公司 预测人脸图像的关键点坐标的方法和装置
CN114118303B (zh) * 2022-01-25 2022-04-29 中科视语(北京)科技有限公司 基于先验约束的人脸关键点检测方法及装置
CN116977663A (zh) * 2022-11-30 2023-10-31 腾讯科技(深圳)有限公司 图像数据处理方法、装置、设备以及介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024114321A1 (zh) * 2022-11-30 2024-06-06 腾讯科技(深圳)有限公司 图像数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品
CN117787525A (zh) * 2024-02-23 2024-03-29 煤炭科学技术研究院有限公司 基于井下多个目标对象的轨迹预测方法和预警方法
CN117787525B (zh) * 2024-02-23 2024-05-14 煤炭科学技术研究院有限公司 基于井下多个目标对象的轨迹预测方法和预警方法

Also Published As

Publication number Publication date
WO2024114321A1 (zh) 2024-06-06

Similar Documents

Publication Publication Date Title
CN113362382A (zh) 三维重建方法和三维重建装置
CN116977663A (zh) 图像数据处理方法、装置、设备以及介质
CN111444370A (zh) 图像检索方法、装置、设备及其存储介质
CN115222896B (zh) 三维重建方法、装置、电子设备及计算机可读存储介质
CN113326851A (zh) 图像特征提取方法、装置、电子设备及存储介质
Ghorbani et al. Auto-labelling of markers in optical motion capture by permutation learning
CN114612902A (zh) 图像语义分割方法、装置、设备、存储介质及程序产品
CN114998583A (zh) 图像处理方法、图像处理装置、设备及存储介质
CN113436224B (zh) 一种基于显式构图规则建模的智能图像裁剪方法及装置
CN112990154B (zh) 一种数据处理方法、计算机设备以及可读存储介质
CN117033609B (zh) 文本视觉问答方法、装置、计算机设备和存储介质
CN117392488A (zh) 一种数据处理方法、神经网络及相关设备
CN111914822A (zh) 文本图像标注方法、装置、计算机可读存储介质及设备
WO2023168818A1 (zh) 视频和文本相似度确定方法、装置、电子设备、存储介质
CN114333069B (zh) 对象的姿态处理方法、装置、设备及存储介质
CN113822117B (zh) 一种数据处理方法、设备以及计算机可读存储介质
CN114298961A (zh) 图像处理方法、装置、设备及存储介质
CN116152334A (zh) 图像处理方法及相关设备
CN113610856A (zh) 训练图像分割模型和图像分割的方法和装置
CN114692715A (zh) 一种样本标注方法及装置
CN117938951B (zh) 信息推送方法、装置、计算机设备和存储介质
CN117173731B (zh) 一种模型训练的方法、图像处理的方法以及相关装置
CN115082430B (zh) 图像分析方法、装置及电子设备
CN116452741B (zh) 对象重建方法、对象重建模型的训练方法、装置及设备
CN117853678B (zh) 基于多源遥感进行地理空间数据三维实体化改造的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication