本发明涉及图像处理的领域,更具体地涉及一种关键点检测方法、关键点检测装置、电子设备和存储介质。
背景技术:
1、关键点检测是诸多计算机视觉任务的基础,如人体姿态估计、自动驾驶、图像匹配等。例如,在工业场景下,图像匹配任务中会面临大量、密集的关键点检测的需求。在很多应用场景中,对于算法的精度和效率都有较高的要求。
2、如果用传统的关键点检测方法,算法的精度难以满足需求。为了提高精度,目前较为先进的关键点方法往往利用预测热力图,但是由于热力图分辨率较高,数据量庞大,导致检测效率低下。
技术实现思路
1、考虑到上述问题而提出了本发明。
2、根据本发明一个方面,提供了一种关键点检测方法。所述方法包括:获取目标对象的待检测图像;将待检测图像输入神经网络模型,以输出待检测图像对应的关键点特征图,其中,关键点特征图中的像素值表示图像中预测关键点的特征信息;以及根据关键点特征图,确定待检测图像中的目标对象的关键点;
3、其中,神经网络模型通过以下训练步骤获得:将样本图像和对应的标注信息输入神经网络模型,以输出样本图像对应的关键点特征图以及对应的关键点密度信息图,并且,基于样本图像对应的关键点特征图以及对应的关键点密度信息图训练神经网络模型,其中,关键点密度信息图中的像素值表示图像中位置对应的图像区域中包括的预测关键点的个数。
4、示例性地,训练步骤还包括:对样本图像进行均匀划分,以获得多个图像区域。
5、示例性地,基于样本图像对应的关键点特征图以及对应的关键点密度信息图训练神经网络模型,包括:基于样本图像对应的关键点密度信息图,计算点疏密损失函数的函数值;基于样本图像对应的关键点特征图,计算关键点的坐标损失函数的函数值并且计算关键点的置信度损失函数的函数值;至少基于点疏密损失函数的函数值、坐标损失函数的函数值和置信度损失函数的函数值,训练神经网络模型。
6、示例性地,计算点疏密损失函数的函数值,包括:对于样本图像中的每个图像区域,根据标注信息,确定该图像区域中的真实关键点的个数;根据关键点密度信息图,确定该图像区域中的预测关键点的个数;对于该图像区域中存在真实关键点的情况,根据真实关键点的个数与该图像区域中预测关键点的个数的差异度,计算该图像区域的第一损失值;对于该图像区域中不存在真实关键点的情况,根据该图像区域中预测关键点的个数,计算该图像区域的第二损失值;根据所有其中存在真实关键点的图像区域的第一损失值以及所有其中不存在真实关键点的图像区域的第二损失值,计算点疏密损失函数的函数值。
7、示例性地,预测关键点的特征信息包括预测关键点的位置坐标信息,标注信息包括真实关键点的位置坐标信息,计算关键点的坐标损失函数的函数值,包括:对于每个图像区域中的每个真实关键点,根据该真实关键点的位置坐标和该图像区域中的每个预测关键点的位置坐标,计算该真实关键点与每个预测关键点之间的距离;从所计算的距离中选择最小距离;根据最小距离计算关于该真实关键点的坐标损失函数值;根据关于所有真实关键点的坐标损失函数值,计算坐标损失函数的函数值。
8、示例性地,预测关键点的特征信息包括预测关键点的位置坐标信息和预测置信度信息,标注信息包括真实关键点的位置坐标信息,计算关键点的置信度损失函数的函数值,包括:对于每个图像区域中的每个真实关键点,根据该真实关键点的位置坐标与该图像区域中每个预测关键点的位置坐标,计算该真实关键点与该图像区域中每个预测关键点之间的距离;根据该真实关键点与该图像区域中每个预测关键点之间的距离,确定与该真实关键点匹配的预测关键点;对于存在与之匹配的真实关键点的每个预测关键点,根据与之匹配的真实关键点与该预测关键点之间的距离,计算该预测关键点的真实置信度;根据该预测关键点的预测置信度与该预测关键点的真实置信度之间的差异度,计算该预测关键点的置信度损失值;对于不存在与之匹配的真实关键点的每个预测关键点,根据该预测关键点的预测置信度,计算该预测关键点的置信度损失值;根据所有预测关键点的置信度损失值,计算置信度损失函数的函数值。
9、示例性地,基于样本图像对应的关键点密度信息图以及对应的关键点特征图训练神经网络模型,还包括:基于样本图像对应的关键点特征图,计算关键点的类别损失函数的函数值;其中训练神经网络模型,还基于类别损失函数的函数值。
10、示例性地,预测关键点的特征信息包括预测关键点的类别信息,标注信息包括真实关键点的类别信息,类别信息表示关键点属于对应关键点类别的概率;计算关键点的类别损失函数的函数值,包括:对于每个关键点类别,根据预测关键点的类别信息和真实关键点的类别信息,确定类别损失函数的函数值。
11、示例性地,在将待检测图像输入神经网络模型之前,方法还包括:对待检测图像进行缩放,以获得经缩放的待检测图像;根据关键点特征图,确定待检测图像中的目标对象的关键点,包括:根据关键点特征图,确定经缩放的待检测图像中的目标对象的关键点;根据对待检测图像进行缩放的缩放比例,调整所确定的关键点的位置信息,以获得缩放前的待检测图像中目标对象的关键点。
12、示例性地,预测关键点的特征信息包括预测关键点的位置坐标信息和预测置信度信息,根据关键点特征图,确定待检测图像中的目标对象的关键点,包括:从预测关键点中,删除第一关键点,其中,第一关键点的预测置信度低于置信度阈值;确定预测关键点中任意两个预测关键点之间的距离;从预测关键点中,删除第二关键点,以将剩余预测关键点作为待检测图像中的目标对象的关键点,其中,第二关键点与预测关键点中的第三关键点之间的距离小于距离阈值,并且,第二关键点的预测置信度小于第三关键点的预测置信度。
13、根据本发明又一个方面,还提供了一种关键点检测装置,包括:
14、获取模块,用于获取目标对象的待检测图像;
15、处理模块,用于将待检测图像输入神经网络模型,以输出待检测图像对应的关键点特征图,其中,关键点特征图中的像素值表示图像中预测关键点的特征信息;以及
16、确定模块,用于根据关键点特征图,确定待检测图像中的目标对象的关键点;
17、其中,神经网络模型通过以下训练步骤获得:将样本图像和对应的标注信息输入神经网络模型,以输出样本图像对应的关键点特征图以及对应的关键点密度信息图,并且,基于样本图像对应的关键点特征图以及对应的关键点密度信息图训练神经网络模型,其中,关键点密度信息图中的像素值表示图像中位置对应的图像区域中包括的预测关键点的个数。
18、根据本发明又一个方面,还提供了一种电子设备,包括处理器和存储器,存储器中存储有计算机程序指令,计算机程序指令被处理器运行时用于执行上述的关键点检测方法。
19、根据本发明再一个方面,还提供了一种存储介质,在存储介质上存储了程序指令,程序指令在运行时用于执行上述的关键点检测方法。
20、在上述技术方案中,在训练用于关键点检测的神经网络模型时,考虑了关键点的密度信息。由此,保证了关键点检测的精度,尤其更适配关键点密集的检测任务。此外,仅基于关键点信息,避免了预测热力图的使用,由此,保证了算法的执行效率。
21、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
1.一种关键点检测方法,其特征在于,包括:
2.根据权利要求1所述关键点检测方法,其特征在于,所述训练步骤还包括:
3.根据权利要求1所述关键点检测方法,其特征在于,所述基于所述样本图像对应的关键点特征图以及对应的关键点密度信息图训练所述神经网络模型,包括:
4.根据权利要求3所述关键点检测方法,其特征在于,所述计算点疏密损失函数的函数值,包括:
5.根据权利要求3所述关键点检测方法,其特征在于,所述预测关键点的特征信息包括预测关键点的位置坐标信息,所述标注信息包括真实关键点的位置坐标信息,
6.根据权利要求3所述关键点检测方法,其特征在于,所述预测关键点的特征信息包括预测关键点的位置坐标信息和预测置信度信息,所述标注信息包括真实关键点的位置坐标信息,
7.根据权利要求3所述关键点检测方法,其特征在于,所述基于所述样本图像对应的关键点密度信息图以及对应的关键点特征图训练所述神经网络模型,还包括:
8.根据权利要求7所述关键点检测方法,其特征在于,所述预测关键点的特征信息包括预测关键点的类别信息,所述标注信息包括真实关键点的类别信息,类别信息表示关键点属于对应关键点类别的概率;
9.根据权利要求1所述关键点检测方法,其特征在于,
10.根据权利要求1所述关键点检测方法,其特征在于,所述预测关键点的特征信息包括预测关键点的位置坐标信息和预测置信度信息,
11.一种关键点检测装置,其特征在于,包括:
12.一种电子设备,包括处理器和存储器,其特征在于,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行如权利要求1至10任一项所述的关键点检测方法。
13.一种存储介质,在所述存储介质上存储了程序指令,其特征在于,所述程序指令在运行时用于执行如权利要求1至10任一项所述的关键点检测方法。
