一种人体关键点的检测方法及装置
技术领域
本发明涉及图像识别技术领域,具体而言,涉及一种人体关键点的检测方法及装置。
背景技术
人体关键点检测是计算机视觉中一项经典的任务,通过检测人体关键点可以为监控以及人机交互等场景提供技术基础。相关的人体关键点检测过程,一般是以二维图像为输入,从二维图像中识别出所包含各人体的人体关键点在二维图像中的二维坐标。随着各场景对检测精度的要求的提升,在一些场景中人体的人体关键点检测过程,存在确定人体的人体关键点的三维位置信息,以进行更精度的人体姿态行为的检测,例如:舱体场景中,需要得到人体的人体关键点的三维位置信息,以便对人体的姿态和/或行为进行监测。那么,如何提供一种人体关键点的检测,以获得人体关键点的三维位置信息的方法成为亟待解决的问题。
发明内容
本发明提供了一种人体关键点的检测方法及装置,以实现对目标场景中人体的人体关键点的三维位置信息的确定。
本发明实施例的创新点包括:
1、可以基于当前舱体图像中各人体的人体关键点的二维位置信息,前N帧舱体图像中各人体的人体关键点的二维位置信息以及当前舱体图像和前N帧舱体图像之间的时序信息,确定出各人体的人体关键点的三维位置信息,进而结合图像采集设备的参数信息,确定得到各人体的人体关键点对应的在所述目标舱体所对应舱体坐标系下的三维位置信息,实现对目标场景即目标舱体中人体的人体关键点的三维位置信息的确定。
2、目标人体关键点检测模型通过每一样本人体图像对以及每一样本人体图像对对应的标定信息中包括所对应样本人体图像对中两图像之间的标定平移值训练得到,使得目标人体关键点检测模型可克服平移抖动造成的所检测的人体关键点的位置出现偏差的问题,进而,通过该目标人体关键点检测模型得到准确性更高的各人体对应的人体区域图像中各人体关键点的二维位置信息,为后续的人体关键点的三维位置信息的准确确定提供基础。
3、训练得到目标人体关键点检测模型的过程中,通过样本人体图像对的每一图像中人体关键点的预测位置信息和标定位置信息,以及样本人体图像对中两图像中存在对应关系的人体关键点之间的预测平移值和标定平移值,确定初始人体关键点检测模型对应的当前损失值,进而,基于当前损失值调整初始人体关键点检测模型的模型参数,进而,直到初始人体关键点检测模型达到预设收敛条件,得到目标人体关键点检测模型,使得目标人体关键点检测模型可克服平移抖动造成的所检测的人体关键点的位置出现偏差的问题,保证目标人体关键点检测模型的检测结果的准确性。
附图说明
图1为本发明实施例提供的人体关键点的检测方法的一种流程示意图;
图2为本发明实施例提供的目标人体关键点检测模型的训练过程的一种流程示意图;;
图3为本发明实施例提供的人体关键点的检测装置的一种结构示意图。
具体实施方式
本发明提供了一种人体关键点的检测方法及装置,以实现对目标场景中人体的人体关键点的三维位置信息的确定。下面对本发明实施例进行详细说明。
图1为本发明实施例提供的人体关键点的检测方法的一种流程示意图。该方法可以包括如下步骤:
S101:从所获得的当前舱体图像中,检测出各人体的人体关键点的二维位置信息。
其中,当前舱体图像为图像采集设备针对目标舱体内所采集的图像。
本发明实施例所提供的人体关键点的检测方法,可以应用于任一具有计算能力的电子设备,该电子设备可以为终端或者服务器。在一种实现中,实现该人体关键点的检测方法的功能软件可以以单独的客户端软件的形式存在,也可以以目前相关的客户端软件的插件的形式存在,这都是可以的。
其中,该目标舱体可以为目标车辆的车舱,相应的,后续提到的该目标舱体对应的舱体坐标系可以为目标车舱所在车辆的车体坐标系;或者,该目标舱体可以为目标船只的船舱,相应的,后续提到的该目标舱体对应的舱体坐标系可以为目标船只的船体坐标系。目标舱体可以为目标车辆的车舱的情况下,在一种实现中,该电子设备可以为车载设备,该电子设备安装于目标车辆的车舱内。另一种实现中,该电子设备可以为非车载设备。
该电子设备与图像采集设备连接,可以获得图像采集设备针对目标舱体采集的图像。 该图像采集设备可以为红外成像摄像头。在一种情况中,为了可以针对目标舱体内的人体进行监测,图像采集设备可以设置于目标舱体的前方,以便对整个舱体进行拍摄。例如:目标舱体为目标车辆的车舱,图像采集设备可以设置于目标车辆的车舱内的后视镜处。
图像采集设备可以实时针对目标舱体采集图像,得到舱体图像,并发送至电子设备,电子设备获得图像采集设备实时针对目标舱体采集的舱体图像,作为当前舱体图像;利用预设人体关键点检测算法,对当前舱体图像进行检测,从当前舱体图像中,检测出各人体的人体关键点的二维位置信息。一种实现中,该预设人体关键点检测算法可以为相关技术中的任一种类型的检测算法。在另一种实现中,该预设人体关键点检测算法可以为本发明实施例提供的预先训练所得的目标人体关键点检测模型,为了布局清楚后续对目标人体关键点检测模型的训练方式进行介绍。
在一种情况中,考虑到人员处于目标舱体内一般处于坐姿,该人体关键点可以包括人体的上半身以及头部的关键点。在一种情况中,人体关键点可以包括但不限于:鼻子关键点、左肩膀关键点、右肩膀关键点、左肘关节关键点、右肘关节关键点、左腕关节关键点、右腕关节关键点、左髋关节关键点和右髋关节关键点。
S102:获得从前N帧舱体图像每一图像中检测出的各人体的人体关键点的二维位置信息。
其中,前N帧舱体图像为:图像采集设备所采集的当前舱体图像的前N帧图像,N为正整数。
本步骤中,电子设备可以获得图像采集设备针对该目标舱体所采集的该当前舱体图像的前N帧舱体图像,并可以获得从前N帧舱体图像每一图像中检测出的各人体的人体关键点的二维位置信息。在一种实现方式中,前N帧舱体图像每一图像中检测出的各人体的人体关键点的二维位置信息可以是:电子设备基于预设人体关键点检测算法,对前N帧舱体图像每一图像进行检测,所检测出各人体的人体关键点的二维位置信息。
N为正整数,其具体数值可以是工作人员根据实际需求进行设置的,也可以是电子设备默认设置的。
所检测出的人体关键点可以对应有语义信息,在人体关键点包括鼻子关键点、左肩膀关键点、右肩膀关键点、左肘关节关键点、右肘关节关键点、左腕关节关键点、右腕关节关键点、左髋关节关键点和右髋关节关键点的情况下,人体关键点对应的语义信息可以包括:鼻子关键点、左肩膀关键点、右肩膀关键点、左肘关节关键点、右肘关节关键点、左右腕关节关键点、右腕关节关键点、左髋关节关键点和右髋关节关键点。
S103:基于当前舱体图像中各人体的人体关键点的二维位置信息,前N帧舱体图像 中各人体的人体关键点的二维位置信息,当前舱体图像和前N帧舱体图像之间的时序信息以及图像采集设备的参数信息,确定各人体的人体关键点对应的在目标舱体所对应舱体坐标系下的三维位置信息。
本步骤中,电子设备可以基于当前舱体图像中各人体的人体关键点的二维位置信息,前N帧舱体图像中各人体的人体关键点的二维位置信息以及当前舱体图像和前N帧舱体图像之间的时序信息,确定出各人体的各人体关键点在各图像中的二维位置信息,其中,该图像包括当前舱体图像以及前N帧舱体图像。进而基于按图像之间的时序信息排序的各人体的各人体关键点在各图像中的二维位置信息,确定各人体的各人体关键点对应的在其所在人体的人体坐标系下的三维位置信息;进而,利用图像采集设备的内外参以及各人体的各人体关键点对应的在其所在人体的人体坐标系下的三维位置信息,确定出人体的各人体关键点在对应的在目标舱体所对应舱体坐标系下的三维位置信息,实现对目标舱体内各人体的各人体关键点的真实物理位置信息的确定。
应用本发明实施例,可以基于当前舱体图像中各人体的人体关键点的二维位置信息,前N帧舱体图像中各人体的人体关键点的二维位置信息以及当前舱体图像和前N帧舱体图像之间的时序信息,确定出各人体的人体关键点的三维位置信息,进而结合图像采集设备的参数信息,确定得到各人体的人体关键点对应的在所述目标舱体所对应舱体坐标系下的三维位置信息,实现对目标场景即目标舱体中人体的人体关键点的三维位置信息的确定。
在本发明的另一实施例中,所述S101,可以包括如下步骤011-013:
011:从所获得的当前舱体图像中,确定出各人体所在区域并截取,得到各人体对应的人体区域图像。
012:基于各人体对应的人体区域图像以及目标人体关键点检测模型,确定出各人体对应的人体区域图像中各人体关键点对应的热力图。
其中,目标人体关键点检测模型为:基于多组样本人体图像对及其对应的标定信息训练所得的模型,每一样本人体图像对为同一人体对应的存在不同平移值的人体图像,标定信息中包括所对应样本人体图像对中两图像之间的标定平移值。
013:基于各人体对应的人体区域图像中各人体关键点对应的热力图,确定出各人体对应的人体区域图像中各人体关键点的二维位置信息。
本实现方式中,电子设备可以采用Top-down的检测方案从当前舱体图像中检测出其中各人体的人体关键点的二维位置信息。电子设备可以首先基于预设人体检测算法,从当前舱体图像中检测出各人体所在区域,并将所检测出的各人体所在区域图像从当前舱体图像中截取出,得到各人体对应的人体区域图像。其中,该预设人体检测算法可以为 相关技术中任一种的可从图像中检测出人体的人体检测算法,在此不作赘述。
电子设备将所截取出的各人体对应的人体区域图像,输入基于多组样本人体图像对及其对应的标定信息训练所得的目标人体关键点检测模型,通过目标人体关键点检测模型对各人体对应的人体区域图像进行检测,确定出各人体对应的人体区域图像中各人体关键点对应的热力图,即目标人体关键点检测模型输出各人体对应的人体区域图像中各人体关键点对应的热力图。
每一人体关键点对应一热力图,该热力图中的像素点的响应值可以表征该像素点为所对应人体关键点的可能性,热力图中的像素点的响应值越大可以表征该像素点为所对应人体关键点的可能性越大。每一热力图可以对应一人体关键点的语义信息,以区分不同人体关键点对应的热力图。
后续的,电子设备可以针对各人体对应的人体区域图像中各人体关键点对应的热力图,基于该热力图中各像素点的响应值,确定出该热力图对应的人体关键点的二维位置信息。一种实现,可以基于该热力图中响应值最高的像素点所在位置,确定该热力图对应的人体关键点的二维位置信息。另一种实现,可以基于该热力图中响应值最高的前M个像素点所在位置的中间位置,确定该热力图对应的人体关键点的二维位置信息,这都是可以的。
在本发明的另一实施例中,本发明实施例提供了目标人体关键点检测模型的训练过程,在所述012之前,所述方法还可以包括如下步骤:
训练得到目标人体关键点检测模型的过程,如图2所示,所述过程可以包括:
S201:获得初始人体关键点检测模型。
S202:获得多组样本人体图像对及其对应的标定信息。
其中,标定信息包括所对应样本人体图像对的各图像中各人体关键点对应的标定位置信息以及所对应样本人体图像对中两图像之间的标定平移值。
S203:利用多组样本人体图像对以及标定信息中所对应样本人体图像对的各图像中各人体关键点对应的标定位置信息和所对应样本人体图像对中两图像之间的标定平移值,训练初始人体关键点检测模型,直至初始人体关键点检测模型达到预设收敛条件,确定出目标人体关键点检测模型。
其中,该初始人体关键点检测模型可以为基于深度学习的神经网络模型。
一种实现中,上述获得多组样本人体图像对及其对应的标定信息的过程,可以是:获得针对目标舱体或其他舱体采集的样本图像,标注人员手动或通过特定标注工具从每一样本图像中标注出人体所在区域,其中,样本图像中人体所在区域通过矩形框标注出。标注人员手动或通过特定标注工具在每一样本图像中再次标注出每一人体所在区域对应 的新的矩形框,其中,新的矩形框为:标注出的人体所在区域的矩形框进行随机平移后所得的框。为了方便描述,后续称标注出的人体所在区域的矩形框为第一矩形框,称标注出的人体所在区域的矩形框进行随机平移后所得的新的矩形框为第二矩形框。
针对每一样本图像,基于所标注的第一矩形框和第二矩形框,从该样本图像中截取出相应的区域图像,将存在对应关系的第一矩形框和第二矩形框各自对应的区域图像,作为一组样本人体图像对。并同时记录存在对应关系的第一矩形框和第二矩形框之间的平移值,作为标定平移值。针对每组样本人体图像对中的样本人体图像标注出其中包含的人体的各人体关键点,得到各人体关键点对应的标定位置信息,以得到每一组样本人体图像对对应的标定信息。其中,标定信息中各人体关键点对应的标定位置信息为:在其所在样本人体图像中的位置信息。
基于样本图像中所标注的第一矩形框和第二矩形框,从该样本图像中截取出相应的区域图像,即样本人体图像的过程中,记录第一矩形框和第二矩形框各自对应的区域图像在样本图像中的位置信息。进而,通过标定信息中各人体关键点在其所在样本人体图像中的位置信息,以及第一矩形框和第二矩形框各自对应的样本人体图像在样本图像中的位置信息,可以确定出各人体关键点在样本图像中的位置信息。
后续的,电子设备可以将多组样本人体图像对分批次的输入初始人体关键点检测模型中,以通过多组样本人体图像对,以及每组样本人体图像对对应的标定信息中该样本人体图像对各图像中各人体关键点对应的标定位置信息和该样本人体图像对中两图像之间的标定平移值,训练初始人体关键点检测模型,直至初始人体关键点检测模型达到预设收敛条件,确定出目标人体关键点检测模型。
在一种实现方式中,每一样本人体图像对对应的标定信息中还包括该样本人体图像对各图像中各人体关键点对应的标定可见度信息,其中,该标定可见度信息为表征所对应人体关键点是否被遮挡的信息。在一种情况中,该标定可见度信息的取值范围可以为[0,1],标定可见度信息的取值越大表征所对应人体关键点越可见,即被遮挡的情况也不严重。相应的,在每一样本人体图像对对应的标定信息中还包括该样本人体图像对各图像中各人体关键点对应的标定可见度信息的情况下,训练所得的目标人体关键点检测模型在输出图像中各人体关键点对应的热力图的同时,还可以输出各人体关键点对应的可见度信息。通过每一样本人体图像对及其对应的标定信息中包括的样本人体图像对中两图像之间的标定平移值,可以训练得到可克服平移抖动造成的人体关键点所预测位置出现偏差的问题的目标人体关键点检测模型,在一定程度上可提高目标人体关键点检测模型的检测结果的准确性。
在本发明的另一实施例中,所述S203,可以包括如下步骤021-027:
021:对多组样本人体图像对分批次,得到不同批次的样本人体图像对。
022:针对每一批次内每组样本人体图像对,将该批次内该组样本人体图像对中每一图像,输入初始人体关键点检测模型,得到该组样本人体图像对的每一图像中各人体关键点对应的热力图。
023:基于该批次内该组样本人体图像对的每一图像中人体关键点对应的热力图,确定该组样本人体图像对的每一图像中人体关键点的预测位置信息,以及该组样本人体图像对中两图像中存在对应关系的人体关键点之间的预测平移值。其中,存在对应关系的人体关键点为对应相同语义信息的人体关键点。
024:基于该批次内所有样本人体图像对的每一图像中人体关键点的预测位置信息和标定位置信息,以及该批次内所有样本人体图像对中两图像中存在对应关系的人体关键点之间的预测平移值和标定平移值,确定初始人体关键点检测模型对应的当前损失值。
025:判断初始人体关键点检测模型对应的当前损失值是否超过预设损失阈值。
026:若判断初始人体关键点检测模型对应的当前损失值超过预设损失阈值,调整初始人体关键点检测模型的模型参数,返回执行022;
027:若判断初始人体关键点检测模型对应的当前损失值未超过预设损失阈值,确定初始人体关键点检测模型达到预设收敛条件,确定出目标人体关键点检测模型。
本实现方式中,可以首先将多组样本人体图像对分批次,得到每一批次中的多组样本人体图像对,进而,针对每一批次中的每组样本人体图像对,将该组样本人体图像对输入初始人体关键点检测模型,得到每组样本人体图像对的每一图像中各人体关键点对应的热力图;进而,针对该批次中的每组样本人体图像对,对该组样本人体图像对的每一图像中人体关键点对应的热力图进行处理,得到该组样本人体图像对的每一图像中人体关键点的预测位置信息;并利用该组样本人体图像对的两图像中对应相同人体关键点的预测位置信息,计算该两图像中对应相同人体关键点的预测位置信息之间的差值,得到该组样本人体图像对中两图像中对应相同人体关键点的预测位置信息之间的偏差,即为存在对应关系的人体关键点之间的预测平移值。其中,该对应相同人体关键点的预测位置信息即所对应语义信息相同的人体关键的预测位置信息。
其中,在一种情况中,上述对该组样本人体图像对的每一图像中人体关键点对应的热力图进行处理,得到该组样本人体图像对的每一图像中人体关键点的预测位置信息的过程,可以是:利用soft-argmax操作,对该组样本人体图像对的每一图像中人体关键点对应的热力图进行处理,得到该组样本人体图像对的每一图像中人体关键点的预测位置信息。其中,soft-argmax操作的可以通过如下公式表示:
其中,i为样本人体图像对中一图像对应的热力图的第i个像素点的索引值,即在样本人体图像对中一图像所对应热力图中的位置信息,x
i为样本人体图像对中该图像所对应热力图的第i个像素点的响应值,即在样本人体图像对中一图像所对应热力图中位置信息i处的具体值,p为样本人体图像对中一图像对应的热力图的第p个像素点的索引值,x
p为样本人体图像对中该图像所对应热力图的第p个像素点的响应值,
表示该热力图的所有像素点对应的指数和,例如,第p个像素点对应的指数为
i和p的取值范围为[1,Q],Q基于该热力图的尺寸确定。
样本人体图像对中每一图像所对应热力图在经过soft-argmax操作之后,可以被转换成以二维坐标的形式表示的该热力图对应的人体关键点的预测位置信息,进而可以基于所转换的二维坐标的形式表示的该热力图对应的人体关键点的预测位置信息,以及该热力图与其对应的样本人体图像对中的图像之间的尺寸比例,确定出该热力图对应的图像中人体关键点的预测位置信息。该整个转换过程具备可导性,可在模型训练时使用。
进而,在得到一批内所有的样本人体图像对的每一图像所对应热力图中人体关键点的预测位置信息,即得到一批内所有的样本人体图像对的每一图像中人体关键点的预测位置信息,以及该组样本人体图像对的两图像中存在对应关系的人体关键点之间的预测平移值之后,基于该批次内所有样本人体图像对的每一图像中人体关键点的预测位置信息和标定位置信息以及第一损失函数,确定出该批次对应的第一位置损失值。其中,可以是:针对该批次内的每一图像,基于该图像中人体关键点的预测位置信息和标定位置信息以及第一损失函数,确定该图像对应的第一损失值,进而将该批次内所有图像对应的第一损失值的和,或该批次内所有图像对应的第一损失值的和的平均值,作为该批次对应的第一位置损失值。
其中,第一位置损失值可以称为热力图损失值heat map loss,第一损失函数可以为MSE Loss函数,该MSE Loss函数的表达式可以为:
其中,MSE表示第一位置损失值,y
jhw表示样本人体图像对中一图像所对应热力图中第j个人体关键点的预测位置信息,
表示样本人体图像对中一图像所对应热力图中第j个人体关键点的标定位置信息,H和W为样本人体图像对中该图像所对应热力图的尺寸信息,N为样本人体图像对中该图像所对应热力图中人体关键点的个数。
进而,电子设备基于该批次内各样本人体图像对中每一图像所对应热力图中人体关键点的预测位置信息,确定出该批次内各样本人体图像对的每一图像中人体关键点的预测位置信息;进而基于该批次内各样本人体图像对的每一图像中人体关键点的预测位置信息,以及预先记录的各样本人体图像对的每一图像在其所对应样本图像中的位置信息, 确定出各样本人体图像对的每一图像中人体关键点在其所对应样本图像中的预测位置信息;并基于该批次内各样本人体图像对的每一图像中人体关键点的标定位置信息,以及预先记录的各样本人体图像对的每一图像在其所对应样本图像中的位置信息,确定出各样本人体图像对的每一图像中人体关键点在其所对应样本图像中的标定位置信息;基于该批次内所有样本人体图像对的每一图像中人体关键点在其对应的样本图像中的预测位置信息和标定位置信息,以及第二损失函数,确定出该批次对应的第二位置损失值。
其中,基于该批次内所有样本人体图像对的每一图像中人体关键点在其对应的样本图像中的预测位置信息和标定位置信息,以及第二损失函数,确定出该批次对应的第二位置损失值的过程,可以是:
针对该批次内的每一图像,基于该图像中人体关键点在其对应的样本图像中的预测位置信息和标定位置信息以及第二损失函数,确定该图像对应的第二损失值,进而将该批次内所有图像对应的第二损失值的和,或该批次内所有图像对应的第二损失值的和的平均值,作为该批次对应的第二位置损失值。
第二位置损失值可以为key point loss,在一种情况中,该第二损失函数可以为L1Loss函数。
并且,电子设备基于该批次内所有样本人体图像对中两图像中存在对应关系的人体关键点之间的预测平移值和标定平移值,以及第三损失函数,确定该批次对应的稳定性损失值stable loss。其中,该第三损失函数可以为L1Loss函数。
上述确定该批次对应的稳定性损失值的过程,可以是:针对该批次内的每一图像,基于该图像中存在对应关系的人体关键点之间的预测平移值和标定平移值以及第三损失函数,确定该图像对应的第三损失值,进而将该批次内所有图像对应的第三损失值的和,或该批次内所有图像对应的第三损失值的和的平均值,作为该批次对应的稳定性损失值。
后续的,电子设备基于上述的该批次对应的第一位置损失值、第二位置损失值以及稳定性损失值,确定初始人体关键点检测模型对应的当前损失值。例如:可以是将上述三者的和作为初始人体关键点检测模型对应的当前损失值。
电子设备将初始人体关键点检测模型对应的当前损失值与预设损失阈值进行比较,判断始人体关键点检测模型对应的当前损失值是否超过预设损失阈值;若判断初始人体关键点检测模型对应的当前损失值超过预设损失阈值,则认为当前的初始人体关键点检测模型为达到预设收敛条件,则基于预设优化函数,如梯度下降法,调整初始人体关键点检测模型的模型参数,并返回执行022;若判断初始人体关键点检测模型对应的当前损失值未超过预设损失阈值,确定初始人体关键点检测模型达到预设收敛条件,确定出目标人体关键点检测模型。
在本发明的另一实施例中,所述S103,可以包括如下步骤031-033:
031:基于当前舱体图像中各人体的人体关键点的二维位置信息,前N帧舱体图像中各人体的人体关键点的二维位置信息、各人体对应的人体区域图像的像素面积、各人体关键点对应的检测可见度信息以及当前舱体图像和前N帧舱体图像之间的时序信息,依次确定当前舱体图像和前N帧舱体图像中每相邻两图像之间各人体关键点之间的相似度值。
其中,各人体关键点对应的可见度信息为表征所对应人体关键点是否被遮挡的信息。
032:基于当前舱体图像和前N帧舱体图像中每相邻两图像之间各人体关键点之间的相似度值,确定当前舱体图像和前N帧舱体图像中同一人体的各人体关键点。
033:基于当前舱体图像和前N帧舱体图像中每一人体的各人体关键点的二维位置信息、目标三维人体关键点位置预测模型、图像采集设备的参数信息以及预设人体活动范围约束条件,确定各人体所对应各人体关键点对应的三维位置信息。
其中,目标三维人体关键点位置预测模型为:基于样本人体的各样本人体关键点按时序排序的二维位置信息及其对应的标定三维位置信息训练所得的模型。
本实现方式中,电子设备需要从不同帧图像即当前舱体图像和前N帧图像的各人体的人体关键点中,确定出同一人体的各人体关键点,进而,利用不同帧图像中同一人体的各人体关键点的二维位置信息以及不同帧图像之间的时序信息,确定出各人体所对应人体关键点对应的三维位置信息。
一种情况中,可以利用OKS的度量方式,计算不同帧图像中各人体的人体关键点之间的相似度值,即利用当前舱体图像中各人体的人体关键点的二维位置信息,前N帧舱体图像中各人体的人体关键点的二维位置信息、各人体对应的人体区域图像的像素面积、各人体关键点对应的检测可见度信息以及当前舱体图像和前N帧舱体图像之间的时序信息,依次确定当前舱体图像和前N帧舱体图像中每相邻两图像之间各人体关键点之间的相似度值。
具体的,可以是:针对第M帧中的目标人体的各人体关键点,执行如下操作,以确定第M+1帧中与第M帧中的目标人体的各人体关键点,即为同一人体的各人体关键点;其中,目标人体为第M帧的每一人体,其中,该第M帧和M+1帧均属于当前舱体图像和前N帧舱体图像,第M帧为当前舱体图像和前N帧舱体图像中的任一帧图像,M的取值范围为[1,N+1]。
利用第M帧中的该目标人体的该人体关键点的二维位置信息、以及第M+1帧中每一人体中与该目标人体的该人体关键点对应同一语义信息的人体关键点的二维位置信息、该目标人体对应的人体区域图像的像素面积以及该目标人体的该人体关键点对应的检测 可见度信息,确定第M帧中的该目标人体的该人体关键点,与第M+1帧中每一人体中与该目标人体的该人体关键点对应同一语义信息的人体关键点之间的相似度值;以此类推,确定第M帧中的该目标人体的各人体关键点,与第M+1帧中每一人体中与该目标人体的各人体关键点对应同一语义信息的人体关键点之间的相似度值;进而,基于第M帧中的该目标人体的各人体关键点,与第M+1帧中每一人体中与该目标人体的各人体关键点对应同一语义信息的人体关键点之间的相似度值,从第M+1帧中的所有人体的人体关键点中,确定是否存在与第M帧中的该目标人体的各人体关键点为同一人体的人体关键点,在确定存在时,确定与第M帧中的该目标人体的各人体关键点为同一人体的人体关键点,即从第M+1帧中的所有人体中确定出与第n帧中的该目标人体为同一人体的人体。
该过程所利用公式(1)可以是:
其中,OKS表示当前舱体图像和前N帧舱体图像中的第M帧中目标人体的第j个人体关键点与第M+1帧中的当前计算的人体的第j个人体关键点之间的相似度值,j为第M帧中目标人体的第j个人体关键点的序号,d
j表示第M帧中目标人体的第j个人体关键点的二维位置信息和第M+1帧中的当前计算的人体的第j个人体关键点的二维位置信息之间的欧式距离;s表示第M帧中目标人体对应的人体区域图像的像素面积;K
j为超参,v
j表示第M帧中目标人体的第j个人体关键点对应的检测可见度信息,为上述目标人体关键点检测模型的输出;a为预设值,根据训练得到目标人体关键点检测模型的样本人体图像对的图像中各人体关键点对应的标定可见度信息和检测可见度信息确定;其中,v
j>a表示目标人体的第j个人体关键点可见,即未被遮挡;该目标人体为当前舱体图像和前N帧舱体图像中的第M帧中的任一人体,其中,在M取[1,N]的情况下,第M帧可以指前N帧舱体图像的第n帧舱体图像,其中,n的取值为[1,N];在M取N+1的情况下,第M帧可以指当前舱体图像。
举例而言,当前舱体图像和前N帧舱体图像中包括依据采集时间先后顺序依次排序的图像1、图像2和图像3,其中,图像1中包括人体A对应的各人体关键点,人体B对应的各人体关键;图像2中包括人体C对应的各人体关键点,人体D对应的各人体关键;图像3中包括人体E对应的各人体关键点,人体F对应的各人体关键点。首先针对图像1中的人体A的各人体关键点,从图像2中的C对应的各人体关键点和人体D对应的各人体关键,查找与其为同一人体的人体关键点;以针对图像1中的人体A的人体关键点1为例进行说明:
利用上述公式(1)、图像1中的人体A的人体关键点1的二维位置信息,以及图像 2中人体C的人体关键点1的二维位置信息,人体A对应的人体区域图像的像素面积、人体A的人体关键点1对应的检测可见度信息,确定图像1中的人体A的人体关键点1与图像2中人体C的人体关键点1之间的相似度值。
并利用上述公式(1)、图像1中的人体A的人体关键点1的二维位置信息,以及图像2中人体D的人体关键点1的二维位置信息,人体A对应的人体区域图像的像素面积、人体A的人体关键点1对应的检测可见度信息,确定图像1中的人体A的人体关键点1与图像2中人体D的人体关键点1之间的相似度值。
若图像1中的人体A的人体关键点1与图像2中人体C的人体关键点1之间的相似度值,大于图像1中的人体A的人体关键点1与图像2中人体D的人体关键点1之间的相似度值,可以认为图像2中人体C的人体关键点1与图像1中的人体A的人体关键点1最相似。
若图像2中人体C的各人体关键点,均与图像1中的人体A的各人体关键点最相似,或者,图像2中人体C的各人体关键点中,与图像1中的人体A的各人体关键点最相似的个数超过一定阈值,则可以认为图像2中人体C与图像1中的人体A为同一人体,相应的图像2中人体C的各人体关键点与图像1中的人体A的各人体关键点为同一人体的人体关键点。
进而,可以从图像2中的人体C和人体D中,确定与图像1中的人体B为同一人体的人体。
后续的,从图像3中的人体E和人体F中,分别确定与图像2中的人体C和人体D为同一人体的人体。其过程参加上述从图像2中的人体,确定与图像1中的人体A为同一人体的人体的过程,在此不再赘述。
电子设备确定出当前舱体图像和前N帧舱体图像中同一人体的各人体关键点之后,可以针对每一人体的各人体关键点,基于该人体的各人体关键点在当前舱体图像和前N帧舱体图像中的二维位置信息、目标三维人体关键点位置预测模型、图像采集设备的参数信息以及预设人体活动范围约束条件,确定该人体的各人体关键点对应的三维位置信息。
其中,该目标三维人体关键点位置预测模型为:基于样本人体的各样本人体关键点按时序排序的二维位置信息及其对应的标定三维位置信息训练所得的模型,其中,该目标三维人体关键点位置预测模型的训练过程可以参见相关技术中三维人体关键点位置预测模型的训练过程,在此不再赘述。
在本发明的另一实施例中,所述033,可以包括如下步骤0331-0332:
0331:基于当前舱体图像和前N帧舱体图像中每一人体的各人体关键点的二维位置 信息以及目标三维人体关键点位置预测模型,确定各人体的各人体关键点对应的在该人体所对应人体坐标系下的三维位置信息。
0332:针对每一人体,基于该人体的各人体关键点对应的在该人体所对应人体坐标系下的三维位置信息,图像采集设备的参数信息以及该人体对应的预设人体活动范围约束条件,确定该人体的各人体关键点对应的在目标舱体所对应舱体坐标系下的三维位置信息。
本实现方式中,电子设备可以针对每一人体的各人体关键点,从当前舱体图像和前N帧舱体图像中,确定出该人体的各人体关键点在当前舱体图像和前N帧舱体图像中的二维位置信息;基于当前舱体图像和前N帧舱体图像之间的时序信息,以当前舱体图像和前N帧舱体图像的采集时间的先后顺序,排序该人体的各人体关键点在当前舱体图像和前N帧舱体图像中的二维位置信息,得到按当前舱体图像和前N帧舱体图像的采集时间的先后顺序排序的该人体的各人体关键点对应的二维位置信息序列;对该人体所对应每一人体关键点对应的二维位置信息序列,进行归一化处理,得到该人体所对应每一人体关键点对应的归一化后的二维位置信息序列;将该人体所对应每一人体关键点对应的归一化后的二维位置信息序列,输入目标三维人体关键点位置预测模型,得到该人体所对应每一人体关键点对应的在该人体对应的人体坐标系下的三维位置信息。
其中,人体坐标系为以所对应人体的左右髋关节即左髋关节关键点和右髋关节关键点连线的中心点为坐标原点的坐标系。
进而,为了得到真实物理世界的各人体所对应每一人体关键点对应的三维位置信息,需要将人体的每一人体关键点对应的在该人体对应的人体坐标系下的三维位置信息,从其所在的人体坐标系下转换至目标舱体所对应舱体坐标系下,即得到人体的各人体关键点对应的在目标舱体所对应舱体坐标系下的三维位置信息。
在该转换过程中可以引入该人体对应的预设人体活动范围约束条件,即约束人体所在人体坐标系的坐标原点的移动范围为该人体所在座椅平面的特定区域之中。
然后,针对当前舱体图像中所检测出的每一人体,计算重投影误差,即针对当前舱体图像中所检测出的每一人体,基于该人体的各人体关键点对应在该人体所在人体坐标系下的三维位置信息,以及图像采集设备的参数信息,将该人体的各人体关键点对应的在该人体所在人体坐标系下的空间点投影至当前舱体图像,并约束该人体所在人体坐标系的坐标原点的移动范围为该人体所在座椅平面的特征区域之中,计算该人体的各人体关键点对应的在该人体对应人体坐标系下的空间点在当前舱体图像中的投影点的投影位置信息,与当前舱体图像中人体的各人体关键点的二维位置信息之间的距离误差,即重投影误差。
其中,上述基于该人体的各人体关键点对应在该人体所在人体坐标系下的三维位置信息,以及图像采集设备的参数信息,将该人体的各人体关键点对应的在该人体所在人体坐标系下的空间点投影至当前舱体图像的过程中,需要首先基于该人体的各人体关键点对应在该人体所在人体坐标系下的三维位置信息,将该人体的各人体关键点对应在该人体所在人体坐标系下的三维位置信息转换至图像采集设备的设备坐标系下,得到该人体的各人体关键点对应在图像采集设备的设备坐标系下的三维位置信息;进而基于图像采集设备的参数信息,以及该人体的各人体关键点对应在图像采集设备的设备坐标系下的三维位置信息,将该人体的各人体关键点对应的在该人体所在人体坐标系下的空间点投影至当前舱体图像。相应的,在将该人体的各人体关键点对应在该人体所在人体坐标系下的三维位置信息转换至图像采集设备的设备坐标系下,得到该人体的各人体关键点对应在图像采集设备的设备坐标系下的三维位置信息的过程中,需要确定出该人体所在人体坐标系与图像采集设备的设备坐标系之间的位置转换关系,以及该人体所在人体坐标系与图像采集设备的设备坐标系之间的放缩尺度。
鉴于此,通过上述计算重投影误差的过程,可以确定出该人体所在人体坐标系与图像采集设备的设备坐标系之间的位置转换关系以及该人体所在人体坐标系与图像采集设备的设备坐标系之间的放缩尺度;若所计算的该人体的各人体关键点对应的在该人体对应人体坐标系下的空间点在当前舱体图像中的投影点的投影位置信息,与当前舱体图像中人体的各人体关键点的二维位置信息之间的重投影误差最小,可以认为得到最优的人体所在人体坐标系与图像采集设备的设备坐标系下之间的位置转换关系以及该人体所在人体坐标系与图像采集设备的设备坐标系之间的放缩尺度。
即在上述针对当前舱体图像中所检测出的每一人体,计算重投影误差的过程中,通过调整人体所在人体坐标系与图像采集设备的设备坐标系之间的位置转换关系以及该人体所在人体坐标系与图像采集设备的设备坐标系之间的放缩尺度,实现对人体的各人体关键点对应在图像采集设备的设备坐标系下的三维位置信息的调整。在所计算的该人体的各人体关键点对应的在该人体对应人体坐标系下的空间点在当前舱体图像中的投影点的投影位置信息,与当前舱体图像中人体的各人体关键点的二维位置信息之间的重投影误差最小时,可以认为该人体的各人体关键点对应的在该人体对应人体坐标系下的三维位置信息,基于该人体所在人体坐标系与图像采集设备的设备坐标系之间的位置转换关系以及该人体所在人体坐标系与图像采集设备的设备坐标系之间的放缩尺度,所转换得到的在图像采集设备的设备坐标系下的三维位置信息为最优的三维位置信息。
进而,基于该最优的人体所在人体坐标系与图像采集设备的设备坐标系之间的位置转换关系、该人体所在人体坐标系与图像采集设备的设备坐标系之间的放缩尺度,以及 人体的各人体关键点对应在该人体所在人体坐标系下的三维位置信息,确定出人体的各人体关键点对应在图像采集设备的设备坐标系下的三维位置信息。
一种实现,可以认为图像采集设备的设备坐标系与目标舱体所对应舱体坐标系重合。即将人体的各人体关键点对应的在图像采集设备的设备坐标系下的三维位置信息,直接作为人体的各人体关键点对应的在目标舱体所对应舱体坐标系下的三维位置信息。
在另一种实现中,若认为图像采集设备的设备坐标系与目标舱体所对应舱体坐标系不重合,可以预先标定出图像采集设备的设备坐标系与目标舱体所对应舱体坐标系之间的坐标转换关系,在确定出人体的各人体关键点对应的在图像采集设备的设备坐标系下的三维位置信息之后,基于人体的各人体关键点对应的在图像采集设备坐标系下的三维位置信息,以及预先标定的图像采集设备的设备坐标系与目标舱体所对应舱体坐标系之间的坐标转换关系,将人体的各人体关键点对应的在图像采集设备的设备坐标系下的三维位置信息,转换至目标舱体所对应舱体坐标系下,得到人体的各人体关键点对应的在目标舱体所对应舱体坐标系下的三维位置信息。
为了便于确定出人体的各人体关键点对应在图像采集设备的设备坐标系下的三维位置信息,可以将上述针对当前舱体图像中所检测出的每一人体,计算重投影误差的过程,转化为一个带约束的优化过程,其中,该优化过程的优化目标方程,可以表示为:
其中,P为优化目标方程的目标值,M表示图像采集设备的投影矩阵,即图像采集设备的参数信息,
表示将已转换至图像采集设备的设备坐标系下人体的各人体关键点对应的在图像采集设备的设备坐标系下的空间点,投影至当前舱体图像中;scale表示待求解的放缩尺度,用于使得图像采集设备的设备坐标系的尺度与人体所在人体坐标系的尺度统一;o表示待求解的移动向量,即上述的人体所在人体坐标系与图像采集设备的设备坐标系之间的位置转换关系;v
j表示该人体的第j个人体关键点在其人体所在人体坐标系的三维位置信息;
表示该人体的第j个人体关键点在当前舱体图像中的二维位置信息,N为该人体的人体关键点的个数。
通过该人体对应的预设人体活动范围约束条件f(o)=ax+by+cz+d=0,对上述优化过程进行约束。其中,a、b和c分别为人体所在的座椅平面的系数,其数值为预设值;代入人体对应的预设人体活动范围约束条件的(x,y,z)为:该人体所在人体坐标系的坐标原点在图像采集设备的设备坐标系下的三维位置信息;
在另一实现中,为了更加提高所确定的目标舱体内各人体的各人体关键点的真实物理位置信息的准确性,该预设人体活动范围约束条件还可以包括对该人体所在人体坐标系的坐标原点的(x,y,z)在平面上的活动范围的限定,即可以设置该人体所在人体坐 标系的坐标原点的(x,y,z)的限定取值范围,结合该人体所在人体坐标系的坐标原点的(x,y,z)的限定取值范围,以及f(o)=ax+by+cz+d=0,共同对上述优化过程进行约束。
通过上述对带约束的优化过程的求解过程,得到使得P最小的scale和o的取值,进而,基于所得到的scale和o的取值,以及该人体的各人体关键点在其人体所在人体坐标系的三维位置信息,确定出该人体的各人体关键点在图像采集设备的设备坐标系下的三维位置信息,并基于该人体的各人体关键点在图像采集设备的设备坐标系下的三维位置信息,确定出该人体的各人体关键点在目标舱体所对应舱体坐标系下的三维位置信息。
相应于上述方法实施例,本发明实施例提供了一种装置,如图3所示,所述装置可以包括:
检测模块310,被配置为从所获得的当前舱体图像中,检测出各人体的人体关键点的二维位置信息,其中,所述当前舱体图像为图像采集设备针对目标舱体内所采集的图像;
获得模块320,被配置为获得从前N帧舱体图像每一图像中检测出的各人体的人体关键点的二维位置信息,其中,所述前N帧舱体图像为:所述图像采集设备所采集的所述当前舱体图像的前N帧图像,N为正整数;
第一确定模块330,被配置为基于所述当前舱体图像中各人体的人体关键点的二维位置信息,所述前N帧舱体图像中各人体的人体关键点的二维位置信息,所述当前舱体图像和所述前N帧舱体图像之间的时序信息以及所述图像采集设备的参数信息,确定各人体的人体关键点对应的在所述目标舱体所对应舱体坐标系下的三维位置信息。
应用本发明实施例,可以基于当前舱体图像中各人体的人体关键点的二维位置信息,前N帧舱体图像中各人体的人体关键点的二维位置信息以及当前舱体图像和前N帧舱体图像之间的时序信息,确定出各人体的人体关键点的三维位置信息,进而结合图像采集设备的参数信息,确定得到各人体的人体关键点对应的在所述目标舱体所对应舱体坐标系下的三维位置信息,实现对目标场景即目标舱体中人体的人体关键点的三维位置信息的确定。
在本发明的另一实施例中,所述检测模块310,包括:
第一确定单元(图中未示出),被配置为从所获得的当前舱体图像中,确定出各人体所在区域并截取,得到各人体对应的人体区域图像;
第二确定单元(图中未示出),被配置为基于各人体对应的人体区域图像以及目标人体关键点检测模型,确定出各人体对应的人体区域图像中各人体关键点对应的热力图,其中,所述目标人体关键点检测模型为:基于多组样本人体图像对及其对应的标定信息 训练所得的模型,每一样本人体图像对为同一人体对应的存在不同平移值的人体图像,所述标定信息中包括所对应样本人体图像对中两图像之间的标定平移值;
第三确定单元(图中未示出),被配置为基于各人体对应的人体区域图像中各人体关键点对应的热力图,确定出各人体对应的人体区域图像中各人体关键点的二维位置信息。
在本发明的另一实施例中,所述装置还包括:
模型训练模块(图中未示出),被配置为在所述基于各人体对应的人体区域图像以及目标人体关键点检测模型,确定出各人体对应的人体区域图像中各人体关键点的二维位置信息之前,训练得到所述目标人体关键点检测模型,所述模型训练模块,包括:
第一获得单元(图中未示出),被配置为获得初始人体关键点检测模型;
第二获得单元(图中未示出),被配置为获得多组样本人体图像对及其对应的标定信息,其中,所述标定信息包括所对应样本人体图像对的各图像中各人体关键点对应的标定位置信息以及所对应样本人体图像对中两图像之间的标定平移值;
训练单元(图中未示出),被配置为利用所述多组样本人体图像对以及所述标定信息中所对应样本人体图像对的各图像中各人体关键点对应的标定位置信息和所对应样本人体图像对中两图像之间的标定平移值,训练所述初始人体关键点检测模型,直至所述初始人体关键点检测模型达到预设收敛条件,确定出目标人体关键点检测模型。
在本发明的另一实施例中,所述训练单元,被具体配置为
对所述多组样本人体图像对分批次,得到不同批次的样本人体图像对;
针对每一批次内每组样本人体图像对,将该批次内该组样本人体图像对中每一图像,输入所述初始人体关键点检测模型,得到该组样本人体图像对的每一图像中各人体关键点对应的热力图;
基于该批次内该组样本人体图像对的每一图像中人体关键点对应的热力图,确定该组样本人体图像对的每一图像中人体关键点的预测位置信息,以及该组样本人体图像对中两图像中存在对应关系的人体关键点之间的预测平移值;
基于该批次内所有样本人体图像对的每一图像中人体关键点的预测位置信息和标定位置信息,以及该批次内所有样本人体图像对中两图像中存在对应关系的人体关键点之间的预测平移值和标定平移值,确定所述初始人体关键点检测模型对应的当前损失值;
判断所述初始人体关键点检测模型对应的当前损失值是否超过预设损失阈值;
若判断所述初始人体关键点检测模型对应的当前损失值超过所述预设损失阈值,调整所述初始人体关键点检测模型的模型参数,返回执行所述针对不同批次内每组样本人体图像对,将该批次内该组样本人体图像对中每一图像,输入所述初始人体关键点检测 模型,得到该组样本人体图像对的每一图像中各人体关键点对应的热力图的步骤;
若判断所述初始人体关键点检测模型对应的当前损失值未超过所述预设损失阈值,确定所述初始人体关键点检测模型达到预设收敛条件,确定出目标人体关键点检测模型。
在本发明的另一实施例中,所述第一确定模块330,包括:
第四确定单元(图中未示出),被配置为基于所述当前舱体图像中各人体的人体关键点的二维位置信息,所述前N帧舱体图像中各人体的人体关键点的二维位置信息、各人体对应的人体区域图像的像素面积、各人体关键点对应的检测可见度信息以及所述当前舱体图像和所述前N帧舱体图像之间的时序信息,依次确定所述当前舱体图像和所述前N帧舱体图像中每相邻两图像之间各人体关键点之间的相似度值,其中,各人体关键点对应的可见度信息为表征所对应人体关键点是否被遮挡的信息;
第五确定单元(图中未示出),被配置为基于所述当前舱体图像和所述前N帧舱体图像中每相邻两图像之间各人体关键点之间的相似度值,确定所述当前舱体图像和所述前N帧舱体图像中同一人体的各人体关键点;
第六确定单元(图中未示出),被配置为基于所述当前舱体图像和所述前N帧舱体图像中每一人体的各人体关键点的二维位置信息、目标三维人体关键点位置预测模型、所述图像采集设备的参数信息以及预设人体活动范围约束条件,确定各人体的各人体关键点对应的三维位置信息,其中,所述目标三维人体关键点位置预测模型为:基于样本人体的各样本人体关键点按时序排序的二维位置信息及其对应的标定三维位置信息训练所得的模型。
在本发明的另一实施例中,所述第六确定单元,被具体配置为:基于所述当前舱体图像和所述前N帧舱体图像中每一人体的各人体关键点的二维位置信息以及目标三维人体关键点位置预测模型,确定各人体的各人体关键点在该人体所对应人体坐标系下的三维位置信息;针对每一人体,基于该人体的各人体关键点对应的在该人体所对应人体坐标系下的三维位置信息,所述图像采集设备的参数信息以及该人体对应的预设人体活动范围约束条件,确定该人体的各人体关键点对应的在所述目标舱体所对应舱体坐标系下的三维位置信息。