CN113454684A - 一种关键点标定方法和装置 - Google Patents

一种关键点标定方法和装置 Download PDF

Info

Publication number
CN113454684A
CN113454684A CN202180001870.9A CN202180001870A CN113454684A CN 113454684 A CN113454684 A CN 113454684A CN 202180001870 A CN202180001870 A CN 202180001870A CN 113454684 A CN113454684 A CN 113454684A
Authority
CN
China
Prior art keywords
images
image
key points
positions
key point
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
CN202180001870.9A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN113454684A publication Critical patent/CN113454684A/zh
Pending legal-status Critical Current

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

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

一种关键点标定方法和装置
技术领域
本申请涉及自动驾驶领域,具体涉及一种关键点标定方法及装置。
背景技术
识别图片中的关键点是计算设备执行视觉任务的基础。例如,在进行人脸识别或手势识别的过程中,需要先确定人脸或手指的关键点的位置,然后在此基础上通过一系列算法识别出当前的人脸或手势。用于识别出当前的人脸或手势的模型需要利用关键点数据进行训练得到,关键点数据的数据量越大,训练得出的模型的识别能力越强。
现有的关键点数据通过人工标定图片得到,人工标定具有以下缺点:标定速度慢,每人每天只能标定大概100-200张图片;不同的标定人员对标定规则理解不统一,两个不同标定人员对同一张图片的关键点的标定可能是不同的,有时,甚至同一个标定人员前后两次标定同一张图片的关键点的位置也会不一样;当人脸图片相对于相机的旋转角度过大导致一部分人脸被遮挡时,标定人员只能猜测被遮挡部分的关键点大概在什么位置,无法再保证标定的精确程度;人工标定只能标定图片中关键点的二维坐标,无法标定关键点的深度。
因此,如何获得更多的关键点数据、保证关键点标定的精确程度、使关键点标定结果能够达到商用落地水平并且减少人力资源的消耗成为业内亟需解决的问题。
发明内容
有鉴于此,本申请提供了一种关键点标定方法和装置,实现关键点的自动标定,降低人力资源的消耗;保证关键点标定的准确性,使标定结果能够达到商用落地水平。
本申请提供的标定方法可以通过本地终端执行,例如诸如计算机这样的终端,也可以由处理器执行;还可以由服务器执行,其中,处理器可以是中央处理单元(centralprocessing unit,CPU)、图像处理器(Graphic Processing Unit,GPU)、或通用处理器等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,服务器可以是云端服务器,也可以是本地服务器,可以是实体服务器,也可以是虚拟服务器,本申请对此不做限定。图像采集设备(例如:手机、具有摄像头的终端)将图像发送给本地终端,本地终端收到图像后,对图像进行关键点的标定,并将标定后得到的关键点的信息存储至本地的存储器上;或者,图像采集设备(例如:手机、具有摄像头的终端)将图像发送给云端服务器,服务器收到图像后,对图像进行关键点的标定,并将标定后得到的关键点的信息存储至云存储器上,或将标定后得到的关键点的信息(关键点在图像中的坐标、关键点的深度等)传输回本地终端(例如计算机、手机、相机)或传输回本地的存储器中。
本申请的第一方面,提供了一种关键点标定方法,包括:获取多张采集图像和多张采集图像对应的采集设备的参数,多张采集图像中的目标对象的姿态相同且被采集角度不同,多张采集图像包括第一图像和其他图像,其中,第一图像中的目标对象的被采集角度小于预设阈值,第一图像至少包括两张图像;根据目标对象的关键点在第一图像中的位置和第一图像对应的采集设备的参数,确定关键点在世界坐标系下的位置;以及根据其他图像所对应的采集设备的参数和关键点在世界坐标系下的位置,确定关键点在其他图像中的位置。
通过上述设置,获得了目标对象在相同姿态下的不同角度的多张采集图像,增加了采集图像的数量和种类,从而增加了获得被采集角度小于预设阈值的采集图像的概率,进而能够选择被采集角度小于预设阈值的至少两张采集图像来确定关键点在世界坐标系下的位置,提升确定关键点在世界坐标系下的位置的准确性;
当关键点在世界坐标系下的位置准确时,关键点在其他图像中的位置进而能够被准确地定位,解决了因目标对象的被采集角度过大而导致的关键点无法被准确标定的问题,提升关键点在各种被采集角度下的图像中标定的准确性;
实现了关键点的自动标定,无需人为对关键点标定,提升关键点的标定效率,减少人力资源。
在一种可能的实现方式中,多张采集图像为尺寸标准化的图像。
通过上述设置,使采集图像中的目标对象的大小得到统一,进而提升标定关键点在第一图像中位置的准确性。
在一种可能的实现方式中,根据目标对象的关键点在第一图像中的位置和第一图像对应的采集设备的参数,确定关键点在世界坐标系下的位置,包括:根据关键点在至少两张第一图像中的位置和第一图像所对应的图像采集设备的参数,通过三角测量法求解关键点在世界坐标系下的位置。
在一种可能的实现方式中,还包括:校准关键点在世界坐标系下的位置,使关键点在世界坐标系下的位置位于目标对象的关键区域;根据校准后的关键点在世界坐标系下的位置和多张采集图像所对应的采集设备的参数,更新关键点在多张采集图像中的位置。
通过上述设置,能够在关键点标定模型对关键点的位置确定的不准确的情况下也能获得关键点的在世界坐标系下的位置,进而更新确定的关键点在采集图像中的位置,保证关键点识别的准确性。
在一种可能的实现方式中,图像采集设备的参数包括相机阵列中相机的内参,根据目标对象的关键点在第一图像中的位置和第一图像对应的采集设备的参数,确定关键点在世界坐标系下的位置包括:根据目标对象的关键点在第一图像中的位置和相机阵列中相机的内参,确定关键点在世界坐标系下的位置。
在一种可能的实现方式中,目标对象包括人脸。
本申请的目标对象不限于人脸,还可以使人手、人体等。
在一种可能的实现方式中,关键点在第一图像中的位置通过关键点标定模型获得,关键点标定模型通过以下方式训练获得:获取其他图像和确定的关键点在其他图像中的位置;将确定的关键点在其他图像中的位置作为第一训练目标,根据其他图像训练关键点标定模型,直至关键点标定模型获得的关键点在其他图像中的位置与第一训练目标的差异值收敛。
通过上述设置,能够提升关键点标定模型预测关键点在采集图像中的位置的准确性,使模型的预测能力能够随着输入的样本数据的增加得到提升。
在一种可能的实现方式中,训练方式还包括:将关键点在多张采集图像中的深度作为第二训练目标,根据多张采集图像训练关键点标定模型,直至关键点标定模型获得的深度与第二训练目标的差异值收敛,其中,第二训练目标的深度根据关键点在世界坐标系下的位置和多张采集图像中的目标对象的被采集角度获得。
通过上述设置,能够获得关键点的深度,并且使关键点标定模型具备预测关键点深度的功能。
本申请的第二方面,提供了一种关键点标定装置,包括:收发模块和处理模块,
收发模块用于获取多张采集图像和多张采集图像对应的采集设备的参数,多张采集图像中的目标对象的姿态相同且被采集角度不同,多张采集图像包括第一图像和其他图像,其中,第一图像中的目标对象的被采集角度小于预设阈值,第一图像至少包括两张图像;处理模块用于根据目标对象的关键点在第一图像中的位置和第一图像对应的采集设备的参数,确定关键点在世界坐标系下的位置;处理模块还用于根据其他图像所对应的采集设备的参数和关键点在世界坐标系下的位置,确定关键点在其他图像中的位置。
在一种可能的实现方式中,多张采集图像为尺寸标准化的图像。
在一种可能的实现方式中,处理模块具体用于根据关键点在至少两张第一图像中的位置和第一图像所对应的图像采集设备的参数,通过三角测量法求解关键点在世界坐标系下的位置。
在一种可能的实现方式中,处理模块还用于:校准关键点在世界坐标系下的位置,使关键点在世界坐标系下的位置位于目标对象的关键区域;处理模块还用于:根据校准后的关键点在世界坐标系下的位置和多张采集图像所对应的采集设备的参数,更新关键点在多张采集图像中的位置。
在一种可能的实现方式中,图像采集设备的参数包括相机阵列中相机的内参,处理模块具体用于根据目标对象的关键点在第一图像中的位置和相机阵列中相机的内参,确定关键点在世界坐标系下的位置。
在一种可能的实现方式中,目标对象包括人脸。
在一种可能的实现方式中,关键点在第一图像中的位置通过关键点标定模型获得,收发模块还用于获取其他图像和确定的关键点在其他图像中的位置;处理模块还用于将确定的关键点在其他图像中的位置作为第一训练目标,根据其他图像训练关键点标定模型,直至关键点标定模型获得的关键点在其他图像中的位置与第一训练目标的差异值收敛。
在一种可能的实现方式中,处理模块还用于:将关键点在多张采集图像中的深度作为第二训练目标,根据多张采集图像训练关键点标定模型,直至关键点标定模型获得的深度与第二训练目标的差异值收敛,其中,第二训练目标的深度根据关键点在世界坐标系下的位置和多张采集图像中的目标对象的被采集角度获得。
本申请第二方面提供的及其任一可能的实现方式提供的关键点标定装置所带来的技术效果与本申请第一方面提供的及其任一可能的实现方式提供的关键点标定方法所带来的技术效果相同,为了简洁起见,在此不再赘述。
本申请第三方面,提供了一种计算设备,包括:处理器,处理器与存储器耦合,存储器用于存储程序或指令,当程序或指令被处理器执行时,使得计算设备执行本申请第一方面及其可能的实现方式所提供的方法。
本申请第四方面,提供了一种计算机可读存储介质,计算机可读存储介质中存储了程序代码,程序代码被终端或终端中的处理器执行时,以实现本申请第一方面及其可能的实现方式所提供的方法。
本申请第五方面,提供了一种计算机程序产品,计算机程序产品包含的程序代码被终端中的处理器执行时,以实现本申请第一方面及其可能的实现方式所提供的方法。
本申请第六方面,提供了一种车辆,包括:本申请第二方面及其任一可能的实现方式提供的关键点标定装置、本申请第三方面提供的计算设备、本申请第四方面提供的计算机可读存储介质或本申请第五方面提供的计算机程序产品。
本申请第七方面,提供了一种关键点标定系统,包括:图像采集设备和计算设备其中,图像采集设备用于采集多张采集图像并向计算设备发送多张采集图像,计算设备用于执行上述第一方面及其任一可能的实现方式提供的关键点标定方法。
作为第七方面的一种可能的实现方式,计算设备还用于向图像采集设备发送标定后的关键点的信息。
附图说明
以下参照附图来进一步说明本申请的各个特征和各个特征之间的联系。附图均为示例性的,一些特征并不以实际比例示出,并且一些附图中可能省略了本申请所涉及领域的惯常的且对于本申请非必要的特征,或是额外示出了对于本申请非必要的特征,附图所示的各个特征的组合并不用以限制本申请。另外,在本说明书全文中,相同的附图标记所指代的内容也是相同的。具体的附图说明如下:
图1是本申请实施例提供的关键点标定方法的应用场景的示意图;
图2是本申请实施例提供的关键点标定方法的流程图;
图3是本申请实施例提供的关键点的标定装置的模块示意图;
图4a是本申请实施例提供的利用三角测量定位关键点在世界坐标系下的坐标的原理图;
图4b是本申请实施例提供的利用三角测量定位关键点在世界坐标系下的坐标的原理图,其中,关键点空间位置不在直线O1p1和直线O2p2的交点上;
图5a是本申请实施例提供的人脸关键点标定方法的流程图;
图5b是本申请实施例提供的人脸关键点标定规则的示意图;
图6是本申请实施例提供的计算设备的结构性示意性图。
具体实施方式
为了提高人脸关键点标定的准确性,一种可能的实现方式是:获取初始人脸图像,在对初始人脸图像进行预处理后,得到待检测人脸图像;然后使用一级卷积神经网络对待检测的人脸图像进行关键点预测,得到预测的人脸关键点;再针对预测的关键点进行二级卷积神经网络处理和回归处理,得到目标对象关键点,从而提高人脸关键点标定的准确性。
但是,这种人脸关键点的标定方法存在以下缺陷:1、此方法无法对各个角度的人脸图像中的关键点都能做出很好的预测,对于因人脸旋转角度过大而导致一部分人脸被遮挡的人脸图像,该方法无法做出准确的关键点预测;2、此方法得到的关键点是模型推理出来的结果,可信度低,无法直接落地使用;3、该方法对图像的质量要求比较高,当图像模糊时,此方法便不再可行;4、该方法仅能标定关键点的二维信息,无法同时标定关键点的深度信息。
还有一种人脸关键点的标定方法为:获取至少一帧的初始人脸图像,在对初始人脸图像进行预处理后,得到至少一帧的待检测人脸图像;然后使用卷积神经网络对待检测的人脸图像进行特征提取,然后将提取的特征输入至递归神经网络;递归神经网络结合至少一帧的人脸图像特征以及前一帧的图像经过递归神经网络的输出来预测当前至少一帧的人脸图像中的多个人脸关键点。
这种人脸关键点的标定方法利用了图像之间的时序信息,这也就意味着输入的图像需要是连续的几帧,这样图像之间能有一个渐变的趋势,如果每张图像之间没有时间关联,则无法精确地识别图像中的关键点。
为了能够使清晰度低、人脸旋转角度大以及时序不关联的图像中的关键点也能够被自动且准确地标定,且同时获得关键点的深度信息,本申请实施例提供了一种关键点标定方法和装置。
图1示出了本申请实施例提供的关键点标定方法的一种示例性应用场景。
如图1所示,图像采集设备,例如相机阵列30采集人40的在当前姿态下不同角度的图像后,将采集后的图像传输至服务器,例如计算机20,计算机20收到图像后对图像进行关键点的标定,并将标定后得到的关键点的信息存储至存储器上。
如图1所示,在相机阵列30采集完图像后,还可以将图像上传至服务器10中,服务器10收到图像后对图像进行关键点的标定,并可以将标定后得到的关键点的信息存储至云存储器上,或可以将标定后得到的关键点的信息例如,关键点在图像中的坐标(有时也称为关键点在图像中的图像坐标)、关键点的深度等,传输回本地的终端(例如计算机、手机、相机)或传输回本地的存储器中。其中,服务器可以是云端服务器,也可以是本地服务器,可以是实体服务器,也可以是虚拟服务器,本申请对此不做限定。
图2示出了本申请实施例提供的关键点的标定方法的流程图。
本申请实施例提供的关键点的标定方法可以由终端执行,例如诸如计算机这样的终端,也可以由处理器执行;本申请实施例提供的关键点的标定方法还可以由服务器执行,其中,处理器可以是CPU、图像处理器、或通用处理器等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
图2中的关键点的标定方法的软件代码可以存储在存储器中,通过终端或服务器运行该软件代码,进而实现人脸关键点的标定。如图2所示,关键点的标定方法包括以下步骤:
步骤S1:获取多张采集图像和所述多张采集图像对应的采集设备的参数。
其中,所述多张采集图像中的目标对象的姿态相同且被采集角度不同,所述多张采集图像包括第一图像和其他图像,其中,所述第一图像中的所述目标对象的被采集角度小于预设阈值,所述第一图像至少包括两张图像。目标对象可以包括:人脸、人手以及人体等。
在一些实施例中,图像采集设备可以包括:相机、相机阵列、带有摄像头的手机以及带有摄像头的电脑。图像采集设备可以为一个或多个,当图像采集设备为一个时,使目标对象保持一个姿态不动,使图像采集设备分别在不同角度采集目标对象的图像,例如,可以围绕目标对象设置轨道,使图像采集设备沿轨道移动的同时采集目标对象的图像,并记录在采集时的采集角度;当图像采集设备为多个时,例如,图像采集设备为相机阵列时,使相机阵列同时采集目标对象的图像。
在一些实施例中,相机阵列中的相机种类可以相同也可以不同,例如,相机阵列可以均采用红外(Infrared Rays,IR)相机、均采用红绿蓝(Red Green Blue,RGB)相机或其他相机,也可以混合使用IR相机和RGB相机,进而实现图像数据的多样性,从而使得关键点标定模型可以支持多样性的图像数据。
在一些实施例中,图像采集设备的参数包括相机阵列中相机的内参。相机的内参,也称为相机投影矩阵,是每个标定好的相机所配备的参数,利用相机投影矩阵,能够将被采集的目标对象在世界坐标系下的三维坐标与采集图像上的二维坐标进行转换。
当一个关键点的三维坐标为(X,Y,Z)、其对应的二维坐标(在下文中也称图像坐标或图像中的坐标)为(u,v)时,不考虑缩放系数,通过该投影矩阵
Figure BDA0003162678200000061
进行的映射可描述为如下:
Figure BDA0003162678200000062
其中,
Figure BDA0003162678200000063
取值为0;
Figure BDA0003162678200000064
取值为1;
Figure BDA0003162678200000065
为相机的焦距与图像像素在x轴方向的宽度的比值,x轴平行于u轴;
Figure BDA0003162678200000066
为相机焦距与图像像素在y轴方向的宽度的比值,y轴平行于v轴;
Figure BDA0003162678200000067
为相机的光轴与图像的交点在图像中的坐标。
当服务器为本地时,仅需通过数据线或信号传输的方式将相机采集的图像传输至本地服务器,本地服务器能够根据图像和相机的参数进行步骤S1-步骤S3。当服务器是服务器时,还需要将每张图像对应的相机的投影矩阵传递给服务器,服务器根据图像和相机的参数执行步骤S1-步骤S3。
在一些实施例中,所述多张采集图像为尺寸标准化的图像。例如,可以截取图像采集设备采集到的原始图像中目标对象所在的区域,然后将目标对象所在的区域按照预设尺寸统一为相同尺寸的图像,便于后续对目标对象的关键点在第一图像中的位置的识别。尺寸标准化可以由神经网络实现,例如,由区域选取网络(Regions with CNN features,RCNN)以及提取候选框网络(Region Proposal Network,RPN)等图像分割模型实现。
在一些实施例中,所述目标对象的被采集角度可以通过偏转角识别模型获得。由于多张采集图像中分别示出了目标对象在当前姿态下的不同角度,因此,必然有的图像能够完整的显示目标对象的所有特征。对于能够完整且准确显示目标对对象的特征的图像,其关键点在第一图像中的定位必然相对于其他图像更加准确,利用被采集角度小于预设值的至少两个第一图像的关键点的图像位置来计算关键点在世界坐标系下的位置则更为准确。
步骤S2:根据所述目标对象的关键点在所述第一图像中的位置和所述第一图像对应的采集设备的参数,确定所述关键点在世界坐标系下的位置。
在一些实施例中,目标对象的关键点在所述第一图像中的位置通过关键点标定模型来获得,所述关键点标定模型可以为神经网络,在一些实施例中,神经网络可以为卷积神经网络、残差网络等等,本申请对此不做限定。
在一些实施例中,根据所述关键点在至少两张所述第一图像中的位置和所述第一图像所对应的图像采集设备的参数,通过三角测量法求解所述关键点在世界坐标系下的位置。
在一些实施例中,关键点在图像中的位置以及关键点在世界坐标系下的位置可以用坐标的方式来表示,其中,任一关键点在至少两张第一图像中的坐标分别表示为:(u1,v1,1)和(u2,v2,1),至少两张第一图像对应的相机投影矩阵分别表示为:
M1
Figure BDA0003162678200000071
和M2
Figure BDA0003162678200000072
由此,关键点在世界坐标系下的坐标(X,Y,Z,1)可以根据以下公式得到:
Figure BDA0003162678200000073
Figure BDA0003162678200000074
其中,在M1中,
Figure BDA0003162678200000075
取值为0;
Figure BDA0003162678200000076
取值为1;
Figure BDA0003162678200000077
为其中一张第一图像的相机的焦距与图像像素在x轴方向的宽度的比值,x轴平行于u轴;
Figure BDA0003162678200000078
为其中一张第一图像的相机焦距与图像像素在y轴方向的宽度的比值,y轴平行于v轴;
Figure BDA0003162678200000079
为其中一张第一图像的相机的光轴与图像的交点在图像中的坐标,Zc1表示其中一张第一图像对应的相机的缩放系数。在M2中,
Figure BDA00031626782000000710
Figure BDA00031626782000000711
取值为0;
Figure BDA00031626782000000712
取值为1;
Figure BDA00031626782000000713
为另一张第一图像的相机的焦距与图像像素在x轴方向的宽度的比值,x轴平行于u轴;
Figure BDA00031626782000000714
为另一张第一图像的相机焦距与图像像素在y轴方向的宽度的比值,y轴平行于v轴;
Figure BDA00031626782000000715
为另一张第一图像的相机的光轴与图像的交点在图像中的坐标,Zc2表示另一张第一图像对应的相机的缩放系数。从公式1分解后可以得到:
Figure BDA0003162678200000081
消去Zc1得到:
Figure BDA0003162678200000082
公式2分解后可以得到:
Figure BDA0003162678200000083
消去Zc2得到:
Figure BDA0003162678200000084
由上,公式4与公式6构成了四个方程,且仅具有三个未知数,因此能够计算出关键点P的在世界坐标系下的坐标(X,Y,Z,1)。
步骤S3:根据所述其他图像所对应的采集设备的参数和所述关键点在世界坐标系下的位置,确定所述关键点在所述其他图像中的位置。
其中,步骤S2获得的任一关键点在其他图像中的坐标为(u,v,1),其他图像对应的相机投影矩阵为:
Figure BDA0003162678200000085
Figure BDA0003162678200000086
取值为0;
Figure BDA0003162678200000087
取值为1;
Figure BDA0003162678200000088
为其他图像的相机的焦距与图像像素在x轴方向的宽度的比值,x轴平行于u轴;
Figure BDA0003162678200000089
为其他图像的相机焦距与图像像素在y轴方向的宽度的比值,y轴平行于v轴;
Figure BDA00031626782000000810
为其中其他图像的相机的光轴与其他图像的交点在其他图像中的坐标,根据下述公式7计算关键点在其他图像中的图像坐标,其中,Zcb为其他图像对应的相机缩放系数:
Figure BDA00031626782000000811
分解公式7得到:
Figure BDA00031626782000000812
消去Zcb得到关键点在人脸图像中的图像坐标(u,v,1),其中
Figure BDA0003162678200000091
在一些实施例中,所述方法还包括:校准所述关键点在世界坐标系下的位置,使所述关键点在世界坐标系下的位置位于所述目标对象的关键区域;根据校准后的所述关键点在世界坐标系下的位置和所述多张采集图像所对应的采集设备的参数,更新所述关键点在所述多张采集图像中的位置。
其中,关键点在世界坐标系下的真实位置周围第一距离内的区域为关键区域,所述关键区域位于目标对象上;校准关键点在世界坐标系下的位置可以通过最小二乘法、梯度下降法、牛顿法以及迭代非线性最小二乘法等校准。
当关键点标定模型前期无法非常准确地识别的关键点在第一图像中的位置时,导致获得的关键点在世界坐标系下的位置偏离其真实位置,例如,如图5b所示,步骤S2计算得到的关键点31在世界坐标系下的位置可能不位于目标对象上,例如,位于鼻尖的前方,偏离了其真实位置,因此,需要校准关键点在世界坐标系下的位置。由于校准后的关键点在世界坐标系下的位置发生了变化,通过上述公式的计算可知,关键点在第一图像和其他图像中的位置也会被更新。
当关键点标定模型能够非常准确地识别的关键点在第一图像中的位置时,可以省去对其在世界坐标系下的位置的校准。当关键点识别模型能够非常准确地识别的关键点在第一图像中的位置时,校准后的关键点在世界坐标系下的位置不变,从而更新后的关键点在所述多张采集图像中的位置与更新前的位置相同。
在一些实施例中,关键点在所述第一图像中的位置可以通过关键点标定模型获得,关键点标定模型通过以下方式训练获得:获取所述其他图像和确定的所述关键点在所述其他图像中的位置;将确定的所述关键点在所述其他图像中的位置作为第一训练目标,根据所述其他图像训练所述关键点标定模型,直至所述关键点标定模型获得的所述关键点在所述其他图像中的位置与所述第一训练目标的差异值收敛。
其中,关键点标定模型可以为关键点卷积神经网络模型,训练样本可以为具有关键点位置的多张其他图像,其中,关键点位置的一种表现形式可以为关键点在其他图像中的坐标,即关键点在该其他图像中的坐标与该其他图像对应,用于标识该其他图像中的关键点。在训练时,可以初始化关键点卷积神经网络模型的参数,然后将该多张其他图像输入至关键点卷积神经网络模型,该多张其他图像经过关键点卷积神经网络模型处理后,输出关键点在多张其他图像中的坐标;将输出的关键点在多张其他图像中的坐标与训练样本的关键点在多张其他图像中的坐标进行比对,例如,进行相应运算,得到一个差异值,根据差异值对初始化的关键点卷积神经网络模型进行调整,以调整后的关键点卷积神经网络模型对训练样本的其他图像进行处理,进而得到一个新的差异值,如此反复迭代,直至差异值收敛;还可以设置一个差异值应满足的预设条件,如果差异值不满足这个预设条件,则调整关键点卷积神经网络模型的参数,以调整后的关键点卷积神经网络模型对训练样本的其他图像进行处理,如此反复迭代,直至差异值满足这一预设条件。
在一些实施例中,训练样本还可以为具有更新的关键点在采集图像中位置的多张采集图像,更新的关键点在采集图像中的坐标与该采集图像对应,用于标识该采集图像中的关键点。将更新的所述关键点在所述采集图像中的位置作为第三训练目标,训练关键点标定模型,其训练方式与上述训练方式相同,在此不再赘述。
通过初始化关键点卷积神经网络模型,将训练样本输入至初始化的关键点卷积神经网络模型,经过循环迭代,获取目标关键点卷积神经网络模型,从而可以提升训练所获取的目标卷积神经网络模型的关键点的定位精度。
在一些实施例中,所述关键点标定模型还可以通过以下方式训练获得:将所述关键点在所述多张采集图像中的深度作为第二训练目标,根据所述多张采集图像训练所述关键点标定模型,直至所述关键点标定模型获得的深度与所述第二训练目标的差异值收敛,其中,所述深度根据所述关键点在世界坐标系下的位置和所述多张采集图像中的所述目标对象的被采集角度获得。
在一些实施例中,关键点在世界坐标系下的位置的一种表现形式为关键点在世界坐标系下的坐标,在获得关键点在世界坐标系下的坐标后,根据采集设备在世界坐标系下的坐标即可得到关键点相对于采集设备的深度。在一些实施例中,当多张采集图像为人脸图像时,从多个关键点中选择出其中一个关键点作为参照关键点,使用参照关键点的相对于采集设备的深度分别与所有关键点的相对于采集设备的深度相减,然后根据被采集角度得到每个人脸图像的关键点的深度。例如,如图5b所示的人脸正面图像(即第一图像),选择鼻尖关键点31作为参照关键点,使关键点1-关键点68的Z值分别与比鼻尖关键点31的Z值相减,得到所有关键点相对于鼻尖关键点31的Z值差,利用该Z值差作为该关键点的深度,从而确定出图上的关键点的深度信息。对于其他图像,则可以根据其他图像的被采集角度、关键点相对于鼻尖关键点31的位置,获得关键点的深度。
还可以将带有深度的多张采集图像作为训练样本,输入至关键点标定模型中,以上述方式进行训练,使关键点标定模型能够具有识别关键点深度的能力。
下面,以人脸图像为例,对本申请实施例提供的关键点标定方法进行说明。
具体实施方式一:人脸关键点的标定方法
参照图5a对本申请实施例提供的关键点标定方法的一具体实施方式进行说明。图5a中步骤S100-步骤S180的人脸关键点的标定方法的软件代码可以存储在存储器中,电子设备的处理器或服务器运行该软件代码,进而实现人脸关键点的标定。
该具体实施方式中,人脸关键点的标定方法包括以下步骤:
步骤S100:获取人在相同姿态下不同角度的原始图像和原始图像对应的相机的内参。
其中,原始图像可以由相机阵列采集,相机阵列由多个相机构成,且围绕被采集的人布置,相机阵列中的每一个相机相对于被采集的人的角度都不同,从而保证相机阵列中的至少两个相机能够正对被采集的人的面部,使得被采集的人的面部特征能够全部被相机捕捉到。
相机阵列中的相机类型可以相同也可以不同,例如,相机阵列可以均使用IR相机或均使用RGB相机;相机阵列还可以混合使用IR相机和RGB相机。由于每一个相机的内参在相机出厂时已经确定,因此能够根据相机的参数计算获得相机投影矩阵。
当用于标定关键点的服务器是本地服务器时,仅需将原始图像通过数据线传输至本地服务器即可,本地服务器能够直接获取原始图像对应的相机的参数。当用于标定关键点的服务器是服务器时,还需要将每张图像对应的相机参数发送给服务器,供后续的步骤使用。
相机的参数可以包括相机阵列中每个相机的内参。相机的内参,也称为相机投影矩阵,是每个标定好的相机所配备的参数,利用相机投影矩阵,能够将被采集的目标对象在世界坐标系下的坐标与图像上的坐标进行转换。
步骤S110:截取原始图像中的人脸区域,并将截取后的人脸区域的图像调整为预设尺寸,获得待识别的人脸图像。
其中,步骤S110获得的待识别的人脸图像为步骤S1-步骤S3中所述的尺寸标准化的采集图像。由于相机阵列采集的当前人在不同角度下的原始图像还包含人的身体部分,需要从原始图像中定位人脸所在的区域,从原始图像中截取人脸区域,并将截取后的人脸区域的图像调整为预设尺寸,获得待识别的人脸图像。在一些实施例中,可以将由相机阵列采集的原始图像输入图像分割模型,图像分割模型截取原始图像中的人脸区域,然后,将人脸区域的图像获得待识别的人脸图像的尺寸统一为相同的尺寸。
步骤S120:利用被采集角度识别模型识别人脸图像中人脸的姿态,获得人脸的被采集角度,选择被采集角度小于预设值的至少两张作为第一正脸图像和第二正脸图像。
第一正脸图像和第二正脸图像即为实施例中步骤S1-步骤S3的至少两张第一图像。在本实施方式中,仅选择两张第一正脸图像和第二正脸图像作为第一图像,但本申请不限于此,还可以选择三张或者更多张。
步骤S130:利用关键点标定模型识别第一正脸图像和第二正脸图像中的关键点,获得关键点在第一正脸图像和第二正脸图像中的图像坐标。
在一些实施例中,还可以将步骤S120获得的全部人脸图像输入至关键点标定模型中,获得关键点在人脸图像中的图像坐标。
在一些实施例中,被采集角度识别模型和关键点标定模型可以为同一神经网络,例如可以为卷积神经网络、残差网络等等,本申请对此不做限定。
当被采集角度识别模型和关键点标定模型为同一神经网络时,将多个人脸图像输入至该同一神经网络中,输出关键点在各个人脸图像中的坐标和人脸在各个人脸图像中的被采集角度;从多个人脸图像中选择人脸被采集角度小于预设值的至少两个第一正脸图像和第二正脸图像。
图5b示出了本申请实施例提供的一种人脸关键点标定规则,需要在人脸图像上标定68个关键点。将人脸图像输入至关键点标定模型后,关键点标定模型按照图5b示出的规则对人脸进行关键点标定,分别输出每个关键点的图像坐标(ui,vi,1),其中,i表示人脸图像中被识别出的第i个关键点。
由于相机阵列能够环绕被采集的人员,因此能够从多个人脸图像中选择至少两个被采集角度小于预设值的人脸图像,其能够完整显示人脸五官,没有因为人脸面部的旋转角度过大而导致人脸五官被遮挡或显示不全。
步骤S140:根据第一正脸图像和第二正脸图像对应的相机的参数和关键点在第一正脸图像和第二正脸图像中的图像坐标,利用三角测量法确定关键点的在世界坐标系下的初始坐标。
图4a示出了通过三角测量法确定关键点的在世界坐标系下的初始坐标的原理图。如图4a所示,对于任一关键点P,它在第一相机C1上的第一图像点为p1,它在第二相机C2上的第二图像点为p2,第一相机C1的光心为O1,第二相机C2的光心为O2,在理想情况下,关键点P的世界坐标系下的位置即为直线O1p1和直线O2p2的交点。
在步骤S130中,已获得任一关键点在第一正脸图像中的第一图像坐标(u1,v1,1)和在第二正脸图像中的第二图像坐标(u2,v2,1)。
在步骤S100中,已知相机阵列中每一个相机的内参,第一正脸图像对应的第一相机的内参为第一相机投影矩阵M1
Figure BDA0003162678200000121
第二正脸图像对应的第二相机内参为第二相机投影矩阵M2
Figure BDA0003162678200000122
由此,关键点P在世界坐标系下的坐标(X,Y,Z,1)可以根据以下公式得到:
Figure BDA0003162678200000123
Figure BDA0003162678200000124
其中,在M1中,
Figure BDA0003162678200000125
取值为0;
Figure BDA0003162678200000126
取值为1;
Figure BDA0003162678200000127
为第一正脸图像的相机的焦距与图像像素在x轴方向的宽度的比值,x轴平行于u轴;
Figure BDA0003162678200000128
为第一正脸图像的相机焦距与图像像素在y轴方向的宽度的比值,y轴平行于v轴;
Figure BDA0003162678200000129
为第一正脸图像的相机的光轴与图像的交点在图像中的坐标,Zc1表示第一正脸图像对应的相机的缩放系数。在M2中,
Figure BDA00031626782000001210
Figure BDA00031626782000001211
取值为0;
Figure BDA00031626782000001212
取值为1;
Figure BDA00031626782000001213
为第二正脸图像的相机的焦距与图像像素在x轴方向的宽度的比值,x轴平行于u轴;
Figure BDA00031626782000001214
为第二正脸图像的相机焦距与图像像素在y轴方向的宽度的比值,y轴平行于v轴;
Figure BDA00031626782000001215
为第二正脸图像的相机的光轴与图像的交点在图像中的坐标,Zc2表示第二正脸图像对应的相机的缩放系数。从公式1分解后可以得到:
Figure BDA0003162678200000131
消去Zc1得到:
Figure BDA0003162678200000132
公式2分解后可以得到:
Figure BDA0003162678200000133
消去Zc2得到:
Figure BDA0003162678200000134
由上,公式4与公式6构成了四个方程,且仅具有三个未知数,因此能够计算出关键点P的在世界坐标系下的坐标(X,Y,Z,1)。
由于第一正脸图像和第二正脸图像能够完整地显示人的五官,关键点标定模型能够较为准确的识别到关键点在第一正脸图像和第二正脸图像中的位置。因此通过关键点在第一正脸图像和第二正脸图像中的第一图像坐标和第二图像坐标来计算关键点的在世界坐标系下的坐标则较为可靠。
步骤S150:校准关键点在世界坐标系下的初始坐标,获得关键点在世界坐标系下的最终坐标。
其中,可以利用最小二乘法校准关键点在世界坐标系下的坐标,但校准方法不限于最小二乘法,还可以是梯度下降法,牛顿法,迭代非线性最小二乘法。
如果前期关键点标定模型并没有被训练好,即关键点标定模型无法非常准确地识别的关键点在第一正脸图像和第二正脸图像中的位置,导致关键点偏离其对应的人脸的关键区域,O1p1和直线O2p2的交点不是关键点P的在世界坐标系下的位置(如图4b所示),因此,需要执行步骤S150。如果模型能够非常准确地识别的关键点在第一正脸图像和第二正脸图像中的位置,直线O1p1和直线O2p2的交点就是关键点P在世界坐标系下的位置,步骤S150可以省去。
经过步骤S150后,可以分别得到图5b示出的正脸图像的68个关键点在世界坐标系下的最终坐标(X,Y,Z,1)。
步骤S160:根据关键点在世界坐标系下的最终坐标和人脸的被采集角度确定关键点在各人脸图像中的深度。
通过步骤S150能够得到人脸图像中任一关键点在世界坐标系下的坐标(X,Y,Z,1),其中,在世界坐标系下的坐标(X,Y,Z,1)的Z值为关键点相对于人脸图像相对应的相机的深度。由于人脸图像是在相机捕捉的人的原始图像的基础上经过尺寸标准化获得的,因此每一张人脸图像的尺寸相同,这样会导致在两个相机与人脸的距离不同的情况下,从人脸图像上看,人脸相对于相机的深度也是相同的。如果直接利用关键点在世界坐标系下的坐标的Z值作为深度来训练模型,会导致模型不能准确的识别出关键点的深度。
因此,在计算出每一个关键点在世界坐标系下的坐标(X,Y,Z,1)后,从多个关键点中选择出其中一个关键点作为参照关键点,使用参照关键点的Z值分别与所有关键点的Z值相减,然后根据目标对象的被采集角度得到每个人脸图像的关键点的深度。例如,如图5b所示的人脸正面图,选择鼻尖关键点31作为参照关键点,使关键点1至关键点68的Z值分别与比鼻尖关键点31的Z值相减,得到所有关键点相对于鼻尖关键点31的Z值差,利用该Z值差作为该关键点的深度,从而确定出人脸正面图上的关键点的深度信息。而对于其他的人脸图像,则可以根据人脸的被采集角度、关键点相对于鼻尖关键点31的位置,来获得关键点的深度。
在一些实施例中,还可以以确定后的关键点的深度作为训练目标,利用上述多张人脸图像来训练关键点标定模型,进而使步骤S130中的关键点标定模型能够进一步具备预测关键点深度的能力。当然,也可以将步骤S160获得的关键点的深度存储至存储器中,供其他识别操作使用;还可以将步骤S160获得的关键点的深度输入至其他神经网络中进行训练,本申请对此不做限制。
步骤S170:根据关键点在世界坐标系下的最终坐标和人脸图像对应的相机的参数,确定关键点在人脸图像中的图像坐标。
在一些实施例中,当关键点在世界坐标系下的最终坐标与初始坐标不同时,步骤S170会更新在步骤S130获得的关键点在第一正脸图像和第二正脸图像中的图像坐标。
在一些实施例中,当关键点在世界坐标系下的最终坐标与初始坐标不同且在步骤S130中,将步骤S120获得的全部人脸图像输入至关键点标定模型中时,步骤S170会更新关键点在全部人脸图像中的图像坐标。
对于人脸角度较大的人脸图像,由于部分五官没有显示出来,关键点标定模型可能不能准确地识别眼角位置处对应的关键点的位置,导致眼角位置处对应的关键点偏离,通过利用关键点在世界坐标系下的坐标以及人脸图像对应的相机的参数能够确定关键点在人脸图像中的坐标。
在步骤S150或步骤S140中已经获得关键点在世界坐标系下的坐标(X,Y,Z,1)了,由于关键点在世界坐标系下的坐标是不变的,能够利用关键点在世界坐标系下的坐标确定关键点在其他人脸图像中的图像坐标。
根据公式:
Figure BDA0003162678200000141
计算关键点在其他人脸图像中的图像坐标。
其中,(u,v,1)为关键点在其他人脸图像中的图像坐标,(X,Y,Z,1)步骤S150或步骤S140计算得到的关键点在世界坐标系下的坐标,
Figure BDA0003162678200000142
Figure BDA0003162678200000143
取值为0;
Figure BDA0003162678200000144
取值为1;
Figure BDA0003162678200000145
为其他人脸图像的相机的焦距与图像像素在x轴方向的宽度的比值,x轴平行于u轴;
Figure BDA0003162678200000151
为其他人脸图像的相机焦距与图像像素在y轴方向的宽度的比值,y轴平行于v轴;
Figure BDA0003162678200000152
为其他人脸图像的相机的光轴与图像的交点在图像中的坐标,根据下述公式7计算关键点在其他人脸图像中的坐标,Zcb为其他人脸图像对应的相机缩放系数。
公式7分解得到:
Figure BDA0003162678200000153
消去Zcb得到关键点在人脸图像中的图像坐标(u,v,1),其中
Figure BDA0003162678200000154
在步骤S170和获得了关键点在所有人脸图像中的图像坐标之后,可以利用标定有图像坐标的人脸图像训练关键点标定模型,更新关键点标定模型的参数,实现对关键点标定模型的迭代优化,进而提升关键点标定模型对于人脸图像的关键点的识别能力。
需要说明的是,在步骤S130中,当关键点标定模型识别出的第一正脸图像和第二正脸图像中关键点较为准确时,步骤S140计算得到的关键点在世界坐标系下的初始坐标则位于关键区域,步骤S150可以省去,或者,经过步骤S150获得的关键点在世界坐标系下的最终坐标可能与校准前得到的初始坐标相同,因此在步骤S170中,确定出的关键点在第一正脸图像和第二正脸图像中的图像坐标像可能与在步骤S130中获得的图像坐标相同。
步骤S180:将所述关键点在所述人脸图像的图像坐标映射至所述原始图像中,获得所述关键点在所述原始图像中的图像坐标。
由于待识别的人脸图像是根据预设大小从图像截取人脸区域得到的,因此关键点在所述人脸图像的图像坐标并非是关键点在原始图像中的图像坐标,需要将关键点在所述人脸图像的校准的图像坐标映射至原始图像中,通过坐标变换,得到所述关键点在所述原始图像中的图像坐标。
在步骤S170和步骤S160中,已经获得关键点在人脸图像中的图像坐标和关键点的深度,为了提升关键点标定模型的对关键点的识别能力,可以将标定有关键点的图像坐标和/或关键点的深度的人脸图像作为训练样本、将步骤S170和步骤S160获得的关键点的图像坐标和/或关键点的深度作为训练目标,来训练关键点标定模型,其训练方法可以如下:初始化关键点标定模型的参数,然后将人脸图像输入至关键点标定模型,人脸图像经过关键点标定模型处理后,输出关键点在人脸图像中的图像坐标和/或关键点的深度;将输出的关键点在人脸图像中的坐标和/或关键点的深度与训练样本标定的关键点在人脸图像中的坐标和/或关键点的深度进行比对,例如,进行相应运算,得到一个差异值,根据差异值对初始化的关键点标定模型进行调整;以调整后的关键点标定模型对训练样本的人脸图像进行处理,进而计算一个新的差异值,如此反复迭代,直至差异值收敛;还可以设置一个差异值应满足的预设条件,如果差异值不满足这个预设条件,则可以调整关键点卷积神经网络模型的参数,以调整后的关键点卷积神经网络模型对训练样本的其他图像进行处理,进而计算一个新的差异值,判断该新的差异值是否满足预设条件,如果满足预设条件,则得到目标关键点卷积神经网络模型,如果不满足,则继续迭代,直至满足这一预设条件。
由于在步骤S170和步骤S150中能够保证关键点在人脸图像中的图像坐标和深度是准确的,因此利用所述人脸图像、所述深度以及关键点在人脸图像中的图像坐标训练关键点标定模型,能够提高关键点标定模型对关键点识别的准确性,同时还能使关键点标定模型具备预测关键点的深度的能力。
当服务器是本地的情况下,在步骤S180后,可以将关键点在原始图像中的坐标和关键点的深度存储至存储器、文件夹中供后续使用;当服务器为服务器的情况下,可以将关键点在图像中的坐标和关键点的深度存储至云存储器中供后续使用,还可以将将关键点在图像中的坐标和关键点的深度发送回本地终端(相机、手机、计算机等)中供后续使用。
在本申请的上述实施例中,关键点在图像中的坐标或关键点在图像中的图像坐标的表述,指关键点对应的图像像素的行与列,在本申请的实施例中用(u,v)表示。
图3示出了本申请实施例提供的关键点标定装置的模块示意图。如图3所示,本申请实施例提供的关键点标定装置包括:收发模块1000和处理模块2000。
所述收发模块1000用于获取多张采集图像和所述多张采集图像对应的采集设备的参数,所述多张采集图像中的目标对象的姿态相同且被采集角度不同,所述多张采集图像包括第一图像和其他图像,其中,所述第一图像中的所述目标对象的被采集角度小于预设阈值,所述第一图像至少包括两张图像;
所述处理模块2000用于根据所述目标对象的关键点在所述第一图像中的位置和所述第一图像对应的采集设备的参数,确定所述关键点在世界坐标系下的位置;
所述处理模块2000还用于根据所述其他图像所对应的采集设备的参数和所述关键点在世界坐标系下的位置,确定所述关键点在所述其他图像中的位置。
在一些实施例中,所述多张采集图像为尺寸标准化的图像。
在一些实施例中,所述处理模块2000具体用于根据关键点在至少两张第一图像中的位置和所述第一图像所对应的图像采集设备的参数,通过三角测量法求解关键点在世界坐标系下的位置。
在一些实施例中,所述处理模块2000还用于:校准所述关键点在世界坐标系下的位置,使所述关键点在世界坐标系下的位置位于所述目标对象的关键区域;
所述处理模块2000还用于:根据校准后的所述关键点在世界坐标系下的位置和所述多张采集图像所对应的采集设备的参数,更新所述关键点在所述多张采集图像中的位置。
在一些实施例中,所述图像采集设备的参数包括相机阵列中相机的内参,所述处理模块具体用于根据所述目标对象的关键点在所述第一图像中的位置和所述相机阵列中相机的内参,确定所述关键点在世界坐标系下的位置。
在一些实施例中,所述目标对象包括人脸。
在一些实施例中,所述关键点在所述第一图像中的位置通过关键点标定模型获得,所述收发模块1000还用于获取所述其他图像和确定的所述关键点在所述其他图像中的位置;所述处理模块2000还用于将确定的所述关键点在所述其他图像中的位置作为第一训练目标,根据所述其他图像训练所述关键点标定模型,直至所述关键点标定模型获得的关键点在所述其他图像中的位置与所述第一训练目标的差异值收敛。
在一些实施例中,所述处理模块2000还用于:将所述关键点在所述多张图像中的深度作为第二训练目标,根据所述多张采集图像训练所述关键点标定模型,直至所述关键点标定模型获得的深度与所述第二训练目标的差异值收敛,其中,所述深度根据所述关键点在世界坐标系下的位置,所述多张采集图像中的所述目标对象的被采集角度获得。
需要说明的是,上述各模块,即:收发模块1000和处理模块2000用于执行上述方法的相关步骤。比如收发模块1000用于执行步骤S1和步骤S100等的相关内容,处理模块2000用于执行步骤S2、步骤S3、步骤S110至步骤S180等的相关内容。
在本实施例中,关键点标定装置是以模块的形式来呈现。这里的“模块”可以指特定应用集成电路(application-specific integrated circuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。此外,以上收发模块1000和处理模块2000可以通过图6所示的计算设备来实现。
图6是本申请实施例提供的一种计算设备1500的结构性示意性图。该计算设备1500包括:处理器1510和与处理器1510耦合的存储器1520,存储器1520用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得所述计算设备执行本申请实施例提供的关键点标定方法。其中,该存储器1520可以是处理器1510内部的存储单元,也可以是与处理器1510独立的外部存储单元,还可以是包括处理器1510内部的存储单元和与处理器1510独立的外部存储单元的部件。
可选的,计算设备1500还可以包括总线和通信接口(图中未绘制出)。其中,存储器1520、通信接口可以通过总线与处理器1510连接。总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。
应理解,在本申请实施例中,该处理器1510可以采用CPU等装置来实现。该处理器还可以是其它通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(fieldprogrammable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器1510采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器1520可以包括只读存储器和随机存取存储器,并向处理器1510提供指令和数据。处理器1510的一部分还可以包括非易失性随机存取存储器。例如,处理器1510还可以存储设备类型的信息。
在计算设备1500运行时,所述处理器1510执行所述存储器1520中的计算机执行指令执行本申请的图像关键点的自动标定。
应理解,根据本申请实施例的计算设备1500可以对应于执行根据本申请各实施例的方法中的相应主体,并且计算设备1500中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行一种多样化问题生成方法,该方法包括上述各个实施例所描述的方案中的至少之一。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包含的程序代码被终端中的处理器执行时,以实现上述实施例提供的关键点标定方法。
说明书和权利要求书中的词语“第一、第二、第三等”或模块A、模块B、模块C等类似用语,仅用于区别类似的对象,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
在以上的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
说明书和权利要求书中使用的术语“包括”不应解释为限制于其后列出的内容;它不排除其它的元件或步骤。因此,其应当诠释为指定所提到的所述特征、整体、步骤或部件的存在,但并不排除存在或添加一个或更多其它特征、整体、步骤或部件及其组群。因此,表述“包括装置A和B的设备”不应局限为仅由部件A和B组成的设备。
本说明书中提到的“一个实施例”或“实施例”意味着与该实施例结合描述的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在本说明书各处出现的用语“在一个实施例中”或“在实施例中”并不一定都指同一实施例,但可以指同一实施例。此外,在一个或多个实施例中,能够以任何适当的方式组合各特定特征、结构或特性,如从本公开对本领域的普通技术人员显而易见的那样。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。如有不一致,以本说明书中所说明的含义或者根据本说明书中记载的内容得出的含义为准。另外,本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
注意,上述仅为本申请的较佳实施例及所运用的技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请的构思的情况下,还可以包括更多其他等效实施例,均属于本申请的保护范畴。

Claims (19)

1.一种关键点标定方法,其特征在于,包括:
获取多张采集图像和所述多张采集图像对应的采集设备的参数,所述多张采集图像中的目标对象的姿态相同且被采集角度不同,所述多张采集图像包括第一图像和其他图像,其中,所述第一图像中的所述目标对象的被采集角度小于预设阈值,所述第一图像至少包括两张图像;
根据所述目标对象的关键点在所述第一图像中的位置和所述第一图像对应的采集设备的参数,确定所述关键点在世界坐标系下的位置;以及
根据所述其他图像所对应的采集设备的参数和所述关键点在世界坐标系下的位置,确定所述关键点在所述其他图像中的位置。
2.根据权利要求1所述的方法,其特征在于,所述多张采集图像为尺寸标准化的图像。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标对象的关键点在所述第一图像中的位置和所述第一图像对应的采集设备的参数,确定所述关键点在世界坐标系下的位置,包括:
根据所述关键点在至少两张所述第一图像中的位置和所述第一图像所对应的图像采集设备的参数,通过三角测量法求解所述关键点在世界坐标系下的位置。
4.根据权利要求1-3中任一项所述的方法,其特征在于,还包括:
校准所述关键点在世界坐标系下的位置,使所述关键点在世界坐标系下的位置位于所述目标对象的关键区域;
根据校准后的所述关键点在世界坐标系下的位置和所述多张采集图像所对应的采集设备的参数,更新所述关键点在所述多张采集图像中的位置。
5.根据权利要求1所述的方法,其特征在于,所述图像采集设备的参数包括相机阵列中相机的内参,根据所述目标对象的关键点在所述第一图像中的位置和所述第一图像对应的采集设备的参数,确定所述关键点在世界坐标系下的位置包括:
根据所述目标对象的关键点在所述第一图像中的位置和所述相机阵列中相机的内参,确定所述关键点在世界坐标系下的位置。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述目标对象包括人脸。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述关键点在所述第一图像中的位置通过关键点标定模型获得,所述关键点标定模型通过以下训练方式训练获得:
获取所述其他图像和确定的所述关键点在所述其他图像中的位置;
将确定的所述关键点在所述其他图像中的位置作为第一训练目标,根据所述其他图像训练所述关键点标定模型,直至所述关键点标定模型获得的所述关键点在所述其他图像中的位置与所述第一训练目标的差异值收敛。
8.根据权利要求7所述的方法,其特征在于,所述训练方式还包括:
将所述关键点在所述多张采集图像中的深度作为第二训练目标,根据所述多张采集图像训练所述关键点标定模型,直至所述关键点标定模型获得的深度与所述第二训练目标的差异值收敛,其中,所述第二训练目标的深度根据所述关键点在世界坐标系下的位置和所述多张采集图像中的所述目标对象的被采集角度获得。
9.一种关键点标定装置,其特征在于,包括:收发模块和处理模块,
所述收发模块用于获取多张采集图像和所述多张采集图像对应的采集设备的参数,所述多张采集图像中的目标对象的姿态相同且被采集角度不同,所述多张采集图像包括第一图像和其他图像,其中,所述第一图像中的所述目标对象的被采集角度小于预设阈值,所述第一图像至少包括两张图像;
所述处理模块用于根据所述目标对象的关键点在所述第一图像中的位置和所述第一图像对应的采集设备的参数,确定所述关键点在世界坐标系下的位置;
所述处理模块还用于根据所述其他图像所对应的采集设备的参数和所述关键点在世界坐标系下的位置,确定所述关键点在所述其他图像中的位置。
10.根据权利要求9所述的装置,其特征在于,所述多张采集图像为尺寸标准化的图像。
11.根据权利要求9所述的装置,其特征在于,所述处理模块具体用于根据所述关键点在至少两张所述第一图像中的位置和所述第一图像所对应的图像采集设备的参数,通过三角测量法求解所述关键点在世界坐标系下的位置。
12.根据权利要求9-11中任一所述的装置,其特征在于,所述处理模块还用于:
校准所述关键点在世界坐标系下的位置,使所述关键点在世界坐标系下的位置位于所述目标对象的关键区域;
所述处理模块还用于:根据校准后的所述关键点在世界坐标系下的位置和所述多张采集图像所对应的采集设备的参数,更新所述关键点在所述多张采集图像中的位置。
13.根据权利要求9所述的装置,其特征在于,所述图像采集设备的参数包括相机阵列中相机的内参,所述处理模块具体用于根据所述目标对象的关键点在所述第一图像中的位置和所述相机阵列中相机的内参,确定所述关键点在世界坐标系下的位置。
14.根据权利要求9-13中任一项所述的装置,其特征在于,所述目标对象包括人脸。
15.根据权利要求9-14中任一项所述的装置,其特征在于,所述关键点在所述第一图像中的位置通过关键点标定模型获得,
所述收发模块还用于获取所述其他图像和确定的所述关键点在所述其他图像中的位置;
所述处理模块还用于将确定的所述关键点在所述其他图像中的位置作为第一训练目标,根据所述其他图像训练所述关键点标定模型,直至所述关键点标定模型获得的所述关键点在所述其他图像中的位置与所述第一训练目标的差异值收敛。
16.根据权利要求15所述的装置,其特征在于,
所述处理模块还用于将所述关键点在所述多张采集图像中的深度作为第二训练目标,根据所述多张采集图像训练所述关键点标定模型,直至所述关键点标定模型获得的深度与所述第二训练目标的差异值收敛,其中,所述第二训练目标的深度根据所述关键点在世界坐标系下的位置和所述多张采集图像中的所述目标对象的被采集角度获得。
17.一种计算设备,其特征在于,包括:
处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得所述计算设备执行如权利要求1-8中任一项所述的方法。
18.一种计算机可读存储介质,所述计算机可读存储介质中存储了程序代码,其特征在于,所述程序代码被终端或终端中的处理器执行时,以实现如权利要求1-8中任一项所述的方法。
19.一种计算机程序产品,其特征在于:所述计算机程序产品包含的程序代码被终端中的处理器执行时,以实现如权利要求1-8中任一所述的方法。
CN202180001870.9A 2021-05-24 2021-05-24 一种关键点标定方法和装置 Pending CN113454684A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/095539 WO2022246605A1 (zh) 2021-05-24 2021-05-24 一种关键点标定方法和装置

Publications (1)

Publication Number Publication Date
CN113454684A true CN113454684A (zh) 2021-09-28

Family

ID=77819505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180001870.9A Pending CN113454684A (zh) 2021-05-24 2021-05-24 一种关键点标定方法和装置

Country Status (2)

Country Link
CN (1) CN113454684A (zh)
WO (1) WO2022246605A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115620094A (zh) * 2022-12-19 2023-01-17 南昌虚拟现实研究院股份有限公司 关键点的标注方法、装置、电子设备及存储介质
WO2023103145A1 (zh) * 2021-12-09 2023-06-15 东软睿驰汽车技术(沈阳)有限公司 一种头部姿势真值的获取方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003279310A (ja) * 2002-03-22 2003-10-02 Canon Inc 位置姿勢補正装置、及び位置姿勢補正方法
WO2018173551A1 (ja) * 2017-03-21 2018-09-27 オリンパス株式会社 較正装置、較正方法、光学装置、撮影装置および投影装置
CN110091891A (zh) * 2019-05-05 2019-08-06 中铁检验认证中心有限公司 高速列车动态限界测量方法、装置、存储介质及电子设备
CN111160178A (zh) * 2019-12-19 2020-05-15 深圳市商汤科技有限公司 图像处理方法及装置、处理器、电子设备及存储介质
CN111819568A (zh) * 2018-06-01 2020-10-23 华为技术有限公司 人脸旋转图像的生成方法及装置
CN112767489A (zh) * 2021-01-29 2021-05-07 北京达佳互联信息技术有限公司 一种三维位姿确定方法、装置、电子设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110738143B (zh) * 2019-09-27 2023-06-02 Oppo广东移动通信有限公司 定位方法及装置、设备、存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003279310A (ja) * 2002-03-22 2003-10-02 Canon Inc 位置姿勢補正装置、及び位置姿勢補正方法
WO2018173551A1 (ja) * 2017-03-21 2018-09-27 オリンパス株式会社 較正装置、較正方法、光学装置、撮影装置および投影装置
CN111819568A (zh) * 2018-06-01 2020-10-23 华为技术有限公司 人脸旋转图像的生成方法及装置
CN110091891A (zh) * 2019-05-05 2019-08-06 中铁检验认证中心有限公司 高速列车动态限界测量方法、装置、存储介质及电子设备
CN111160178A (zh) * 2019-12-19 2020-05-15 深圳市商汤科技有限公司 图像处理方法及装置、处理器、电子设备及存储介质
CN112767489A (zh) * 2021-01-29 2021-05-07 北京达佳互联信息技术有限公司 一种三维位姿确定方法、装置、电子设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023103145A1 (zh) * 2021-12-09 2023-06-15 东软睿驰汽车技术(沈阳)有限公司 一种头部姿势真值的获取方法、装置、设备及存储介质
CN115620094A (zh) * 2022-12-19 2023-01-17 南昌虚拟现实研究院股份有限公司 关键点的标注方法、装置、电子设备及存储介质
CN115620094B (zh) * 2022-12-19 2023-03-21 南昌虚拟现实研究院股份有限公司 关键点的标注方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
WO2022246605A1 (zh) 2022-12-01

Similar Documents

Publication Publication Date Title
CN109886997B (zh) 基于目标检测的识别框确定方法、装置及终端设备
CN109934115B (zh) 人脸识别模型的构建方法、人脸识别方法及电子设备
CN110826519B (zh) 人脸遮挡检测方法、装置、计算机设备及存储介质
JP6681729B2 (ja) オブジェクトの3d姿勢およびオブジェクトのランドマーク点の3dロケーションを求める方法、およびオブジェクトの3d姿勢およびオブジェクトのランドマークの3dロケーションを求めるシステム
EP3553465B1 (en) Information processing device and information processing method
CN109934065B (zh) 一种用于手势识别的方法和装置
CN112258567B (zh) 物体抓取点的视觉定位方法、装置、存储介质及电子设备
US8269722B2 (en) Gesture recognition system and method thereof
CN109448007B (zh) 图像处理方法、图像处理装置及存储介质
WO2021052283A1 (zh) 处理三维点云数据的方法和计算设备
US11941796B2 (en) Evaluation system, evaluation device, evaluation method, evaluation program, and recording medium
CN114186632B (zh) 关键点检测模型的训练方法、装置、设备、存储介质
CN113454684A (zh) 一种关键点标定方法和装置
CN110910445B (zh) 一种物件尺寸检测方法、装置、检测设备及存储介质
CN107272899B (zh) 一种基于动态手势的vr交互方法、装置及电子设备
WO2023279584A1 (zh) 一种目标检测方法、目标检测装置及机器人
CN112200056A (zh) 人脸活体检测方法、装置、电子设备及存储介质
AU2019349986A1 (en) Apparatus and method for three-dimensional object recognition
CN113298870A (zh) 一种物体的姿态跟踪方法、装置、终端设备和存储介质
CN111353325A (zh) 关键点检测模型训练方法及装置
JP2022039719A (ja) 位置姿勢推定装置、位置姿勢推定方法及びプログラム
KR102454715B1 (ko) 영상에 기반하여 동물의 승가 행위를 검출하는 장치 및 방법
CN113021355B (zh) 一种用于预测遮挡农作物摘取点的农业机器人作业方法
CN114608521A (zh) 单目测距方法及装置、电子设备和存储介质
CN117152670A (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