手势姿态识别关键帧提取方法、装置及可读存储介质与流程

文档序号:24875933发布日期:2021-04-30 12:51阅读:102来源:国知局
手势姿态识别关键帧提取方法、装置及可读存储介质与流程

本发明涉及计算机技术领域,特别是涉及一种手势姿态识别关键帧提取方法、装置及可读存储介质。



背景技术:

手势识别是人机交互的重要手段,在vr(virtualreality,虚拟现实技术)人机交互中,用户可以通过虚拟手势识别,进行音量大小的调节或者其他虚拟移动按键的控制。

由于硬件处理速度和产品体验要求,手势姿态估计需要满足实时性要求,因此,并不是视频流中所有的图像都做3d手势姿态识别,而是抽取部分关键帧进行识别,现有的解决方案主要有固定时间提取图像帧、随机抽样或者提供帧差法提取等,这些方法不能提取较清晰的图像作为预测的关键帧,模糊图像直接影响到3d手势姿态识别的准确性。



技术实现要素:

为此,本发明的一个目的在于提出一种手势姿态识别关键帧提取方法,以解决现有技术不能提取较清晰的图像作为预测的关键帧的问题。

本发明提供一种手势姿态识别关键帧提取方法,所述方法包括:

通过训练好的手部检测深度学习模型对目标图像进行手部目标检测,以得到手部区域最小外接矩形的图形信息;

根据所述手部区域最小外接矩形的图形信息,并通过皮肤检测算法,结合深度图,进行手部区域分割,以得到只有手部的中间图像;

计算第一时刻内各帧中间图像的熵值,以获取第一时刻对应的熵值最大的中间图像,以及计算第二时刻内各帧中间图像的熵值,以获取第二时刻对应的熵值最大的中间图像,所述第一时刻与所述第二时刻为相邻的时刻;

将所述第一时刻对应的熵值最大的中间图像二值化,以得到第一二值化图像,以及将所述第二时刻对应的熵值最大的中间图像二值化,以得到第二二值化图像,并计算所述第一二值化图像和所述第二二值化图像的手部重叠率;

若所述第一二值化图像和所述第二二值化图像的手部重叠率大于重叠度阈值,则丢弃所述第二时刻的关键帧,保留所述第一时刻的关键帧;若所述第一二值化图像和所述第二二值化图像的手部重叠率小于或等于重叠度阈值,则提取所述第二时刻的关键帧。

根据本发明提供的手势姿态识别关键帧提取方法,具有以下有益效果:

(1)通过熵值计算,提取某一时间段内一帧清晰图像并且将重叠度高的帧丢弃,减少模型推理时间,提高手势识别实时性,增强客户体验效果;

(2)通过手部区域的熵值计算,在一个时间段内选择熵值最大的图像,图像熵能衡量图像的清晰度及其信息的丰富度,熵值越大说明手部越清晰,清晰的手部能够提升动态手势识别的准确性;

(3)本发明将手部皮肤检测和深度图像相结合,比仅仅通过皮肤检测能更准确的提取手部区域,抗干扰性更强。

另外,根据本发明上述的手势姿态识别关键帧提取方法,还可以具有如下附加的技术特征:

进一步地,通过训练好的手部检测深度学习模型对目标图像进行手部目标检测,以得到手部区域最小外接矩形的图形信息的步骤具体包括:

获取rgb摄像头采集到的含有手部的rgb图像;

将所述rgb图像输入到已经训练好的所述手部检测深度学习模型中进行手部目标检测;

根据所述手部目标检测的检测结果,得到手部区域最小外接矩形的图形信息,所述图形信息包括最小外接矩形左上角顶点坐标、矩形的宽和高。

进一步地,根据所述手部区域最小外接矩形的图形信息,并通过皮肤检测算法,结合深度图,进行手部区域分割,以得到只有手部的中间图像的步骤具体包括:

根据所述手部区域最小外接矩形的图形信息,将所述手部区域最小外接矩形之外的像素值全部置为0,所述手部区域最小外接矩形内部的像素值不变,以得到去背景后的rgb图像;

将所述去背景后的rgb图像转换到ycrcb空间,通过椭圆皮肤检测方法,对最小外接矩形内的皮肤进行检测,得到手部皮肤区域,并结合对应的深度图,计算所述手部皮肤区域的平均深度值dv;

将深度值小于dv-thrd或者大于dv+thrd的像素点去背景,得到只有手部的中间图像,其中,thrd表示深度阈值。

进一步地,计算第一时刻内各帧中间图像的熵值,以获取第一时刻对应的熵值最大的中间图像的步骤具体包括:

对于第一时刻内的任一帧中间图像,先将中间图像灰度化,然后采用下式计算中间图像的熵值:

其中,h表示中间图像的熵值,pi表示灰度化后的中间图像中像素的灰度值为i的概率,i的取值范围为0~255,mi表示灰度化后的中间图像中像素的灰度值为i的数量,mpix表示灰度化后的中间图像中像素的总数。

进一步地,计算所述第一二值化图像和所述第二二值化图像的手部重叠率的步骤中,采用下式计算手部重叠率:

其中,iou表示第一二值化图像和所述第二二值化图像的手部重叠率,area(binary_t_1)表示所述第一二值化图像中像素值为255的像素面积,area(binary_t)表示所述第二二值化图像中像素值为255的像素面积,∩表示交集运算,∪表示并集运算。

本发明的另一个目的在于提出一种手势姿态识别关键帧提取装置,以解决现有技术不能提取较清晰的图像作为预测的关键帧的问题。

本发明提供一种手势姿态识别关键帧提取装置,包括:

检测模块,用于通过训练好的手部检测深度学习模型对目标图像进行手部目标检测,以得到手部区域最小外接矩形的图形信息;

分割模块,用于根据所述手部区域最小外接矩形的图形信息,并通过皮肤检测算法,结合深度图,进行手部区域分割,以得到只有手部的中间图像;

第一计算模块,用于计算第一时刻内各帧中间图像的熵值,以获取第一时刻对应的熵值最大的中间图像,以及计算第二时刻内各帧中间图像的熵值,以获取第二时刻对应的熵值最大的中间图像,所述第一时刻与所述第二时刻为相邻的时刻;

第二计算模块,用于将所述第一时刻对应的熵值最大的中间图像二值化,以得到第一二值化图像,以及将所述第二时刻对应的熵值最大的中间图像二值化,以得到第二二值化图像,并计算所述第一二值化图像和所述第二二值化图像的手部重叠率;

保留提取模块,用于若所述第一二值化图像和所述第二二值化图像的手部重叠率大于重叠度阈值,则丢弃所述第二时刻的关键帧,保留所述第一时刻的关键帧;若所述第一二值化图像和所述第二二值化图像的手部重叠率小于或等于重叠度阈值,则提取所述第二时刻的关键帧。

根据本发明提供的手势姿态识别关键帧提取装置,具有以下有益效果:

(1)通过熵值计算,提取某一时间段内一帧清晰图像并且将重叠度高的帧丢弃,减少模型推理时间,提高手势识别实时性,增强客户体验效果;

(2)通过手部区域的熵值计算,在一个时间段内选择熵值最大的图像,图像熵能衡量图像的清晰度及其信息的丰富度,熵值越大说明手部越清晰,清晰的手部能够提升动态手势识别的准确性;

(3)本发明将手部皮肤检测和深度图像相结合,比仅仅通过皮肤检测能更准确的提取手部区域,抗干扰性更强。

另外,根据本发明上述的手势姿态识别关键帧提取装置,还可以具有如下附加的技术特征:

进一步地,所述检测模块具体用于:

获取rgb摄像头采集到的含有手部的rgb图像;

将所述rgb图像输入到已经训练好的所述手部检测深度学习模型中进行手部目标检测;

根据所述手部目标检测的检测结果,得到手部区域最小外接矩形的图形信息,所述图形信息包括最小外接矩形左上角顶点坐标、矩形的宽和高。

进一步地,所述分割模块具体用于:

根据所述手部区域最小外接矩形的图形信息,将所述手部区域最小外接矩形之外的像素值全部置为0,所述手部区域最小外接矩形内部的像素值不变,以得到去背景后的rgb图像;

将所述去背景后的rgb图像转换到ycrcb空间,通过椭圆皮肤检测方法,对最小外接矩形内的皮肤进行检测,得到手部皮肤区域,并结合对应的深度图,计算所述手部皮肤区域的平均深度值dv;

将深度值小于dv-thrd或者大于dv+thrd的像素点去背景,得到只有手部的中间图像,其中,thrd表示深度阈值。

进一步地,所述第一计算模块具体用于:

对于第一时刻内的任一帧中间图像,先将中间图像灰度化,然后采用下式计算中间图像的熵值:

其中,h表示中间图像的熵值,pi表示灰度化后的中间图像中像素的灰度值为i的概率,i的取值范围为0~255,mi表示灰度化后的中间图像中像素的灰度值为i的数量,mpix表示灰度化后的中间图像中像素的总数。

进一步地,所述第二计算模块具体用于采用下式计算手部重叠率:

其中,iou表示第一二值化图像和所述第二二值化图像的手部重叠率,area(binary_t_1)表示所述第一二值化图像中像素值为255的像素面积,area(binary_t)表示所述第二二值化图像中像素值为255的像素面积,∩表示交集运算,∪表示并集运算。

本发明还提出一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。

本发明还提出一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实施例了解到。

附图说明

本发明实施例的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1是根据本发明一实施例的手势姿态识别关键帧提取方法的流程图;

图2是图1中步骤s101的详细流程图;

图3是图1中步骤s102的详细流程图;

图4是根据本发明另一实施例的手势姿态识别关键帧提取装置的结构框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,本发明一实施例提出的手势姿态识别关键帧提取方法,包括步骤s101~s105。

s101,通过训练好的手部检测深度学习模型对目标图像进行手部目标检测,以得到手部区域最小外接矩形的图形信息。

请参阅图2,步骤s101具体包括:

s1011,获取rgb摄像头采集到的含有手部的rgb图像;

s1012,将所述rgb图像输入到已经训练好的所述手部检测深度学习模型中进行手部目标检测;

s1013,根据所述手部目标检测的检测结果,得到手部区域最小外接矩形的图形信息,所述图形信息包括最小外接矩形左上角顶点坐标、矩形的宽和高。

其中,最小外接矩形左上角顶点坐标可以用(px,py)表示,矩形的宽和高分别用w和h表示,单位为pix。

s102,根据所述手部区域最小外接矩形的图形信息,并通过皮肤检测算法,结合深度图,进行手部区域分割,以得到只有手部的中间图像。

其中,请参阅图3,步骤s102具体包括:

s1021,根据所述手部区域最小外接矩形的图形信息,将所述手部区域最小外接矩形之外的像素值全部置为0,所述手部区域最小外接矩形内部的像素值不变,以得到去背景后的rgb图像;

其中,将手部区域最小外接矩形之外的像素值全部置为0也即是将非手部区域去背景。

s1022,将所述去背景后的rgb图像转换到ycrcb空间,通过椭圆皮肤检测方法,对最小外接矩形内的皮肤进行检测,得到手部皮肤区域,并结合对应的深度图,计算所述手部皮肤区域的平均深度值dv;

s1023,将深度值小于dv-thrd或者大于dv+thrd的像素点去背景,得到只有手部的中间图像,其中,thrd表示深度阈值。

其中,由于椭圆皮肤检测方法容易受光线干扰,仅仅通过皮肤检测不能较完整的检测到手部,因此,皮肤检测之后结合深度图,计算手部皮肤区域的平均深度dv(单位mm),计算公式如下:

其中,de表示手部皮肤区域中每个像素对应的深度值,单位为mm,n表示手部皮肤像素点个数。

然后将深度值小于dv-thrd或者大于dv+thrd的像素点去背景,得到只有手部的中间图像,即手部区域为彩色,其余区域为黑色(像素值为0)。

s103,计算第一时刻内各帧中间图像的熵值,以获取第一时刻对应的熵值最大的中间图像,以及计算第二时刻内各帧中间图像的熵值,以获取第二时刻对应的熵值最大的中间图像,所述第一时刻与所述第二时刻为相邻的时刻。

其中,第二时刻例如是t时刻,第一时刻例如是t-1时刻,即第一时刻是第二时刻的上一时刻。第一时刻和第二时刻都有多帧中间图像。

对于第一时刻内的任一帧中间图像,先将中间图像灰度化,然后采用下式计算中间图像的熵值:

其中,h表示中间图像的熵值,pi表示灰度化后的中间图像中像素的灰度值为i的概率,i的取值范围为0~255,mi表示灰度化后的中间图像中像素的灰度值为i的数量,比如,灰度值为0的像素个数为m0,灰度值为1的像素个数为m1等,mpix表示灰度化后的中间图像中像素的总数。

由此,可以得到第一时刻内各帧中间图像的熵值,然后将熵值从大到小排序,就能够得到第一时刻对应的熵值最大的中间图像。例如,第一时刻内一共有m帧中间图像,其中,第j帧中间图像的熵值最大。

同理,可以得到第二时刻内各帧中间图像的熵值,然后将熵值从大到小排序,就能够得到第二时刻对应的熵值最大的中间图像。例如,第二时刻内一共有n帧中间图像,其中,第k帧中间图像的熵值最大。

s104,将所述第一时刻对应的熵值最大的中间图像二值化,以得到第一二值化图像,以及将所述第二时刻对应的熵值最大的中间图像二值化,以得到第二二值化图像,并计算所述第一二值化图像和所述第二二值化图像的手部重叠率。

其中,将第一时刻对应的熵值最大的中间图像(即第j帧中间图像)二值化,以得到第一二值化图像binary_t_1,以及将第二时刻对应的熵值最大的中间图像(即第k帧中间图像)二值化,以得到第二二值化图像binary_t,然后计算第一二值化图像binary_t_1和第二二值化图像binary_t的手部重叠率,具体采用下式计算手部重叠率:

其中,iou表示第一二值化图像和所述第二二值化图像的手部重叠率,area(binary_t_1)表示所述第一二值化图像中像素值为255的像素面积,area(binary_t)表示所述第二二值化图像中像素值为255的像素面积,∩表示交集运算,∪表示并集运算,iou的取值范围是0~1,iou值越大,表示重叠度越高,移动越少。

s105,若所述第一二值化图像和所述第二二值化图像的手部重叠率大于重叠度阈值,则丢弃所述第二时刻的关键帧,保留所述第一时刻的关键帧;若所述第一二值化图像和所述第二二值化图像的手部重叠率小于或等于重叠度阈值,则提取所述第二时刻的关键帧。

其中,假如iou>thr(thr表示重叠度阈值,比如取0.95),则认为手部没有运动或者轻微运动,丢弃第二时刻的关键帧,不重新推理手部姿态,保留第一时刻的关键帧,这里,第二时刻的关键帧指的是第二时刻熵值最大的帧,第一时刻的关键帧指的是第一时刻熵值最大的帧;否则(即iou≤thr),提取第二时刻的关键帧,也即,将第k帧中间图像输入到手势识别模型中进行推理,得到新的手势姿态。

综上,根据本实施例提供的手势姿态识别关键帧提取方法,具有以下有益效果:

(1)通过熵值计算,提取某一时间段内一帧清晰图像并且将重叠度高的帧丢弃,减少模型推理时间,提高手势识别实时性,增强客户体验效果;

(2)通过手部区域的熵值计算,在一个时间段内选择熵值最大的图像,图像熵能衡量图像的清晰度及其信息的丰富度,熵值越大说明手部越清晰,清晰的手部能够提升动态手势识别的准确性;

(3)本发明将手部皮肤检测和深度图像相结合,比仅仅通过皮肤检测能更准确的提取手部区域,抗干扰性更强。

请参阅图4,本发明另一实施例提出的手势姿态识别关键帧提取装置,包括:

检测模块10,用于通过训练好的手部检测深度学习模型对目标图像进行手部目标检测,以得到手部区域最小外接矩形的图形信息;

分割模块20,用于根据所述手部区域最小外接矩形的图形信息,并通过皮肤检测算法,结合深度图,进行手部区域分割,以得到只有手部的中间图像;

第一计算模块30,用于计算第一时刻内各帧中间图像的熵值,以获取第一时刻对应的熵值最大的中间图像,以及计算第二时刻内各帧中间图像的熵值,以获取第二时刻对应的熵值最大的中间图像,所述第一时刻与所述第二时刻为相邻的时刻;

第二计算模块40,用于将所述第一时刻对应的熵值最大的中间图像二值化,以得到第一二值化图像,以及将所述第二时刻对应的熵值最大的中间图像二值化,以得到第二二值化图像,并计算所述第一二值化图像和所述第二二值化图像的手部重叠率;

保留提取模块50,用于若所述第一二值化图像和所述第二二值化图像的手部重叠率大于重叠度阈值,则丢弃所述第二时刻的关键帧,保留所述第一时刻的关键帧;若所述第一二值化图像和所述第二二值化图像的手部重叠率小于或等于重叠度阈值,则提取所述第二时刻的关键帧。

本实施例中,所述检测模块10具体用于:

获取rgb摄像头采集到的含有手部的rgb图像;

将所述rgb图像输入到已经训练好的所述手部检测深度学习模型中进行手部目标检测;

根据所述手部目标检测的检测结果,得到手部区域最小外接矩形的图形信息,所述图形信息包括最小外接矩形左上角顶点坐标、矩形的宽和高。

本实施例中,所述分割模块20具体用于:

根据所述手部区域最小外接矩形的图形信息,将所述手部区域最小外接矩形之外的像素值全部置为0,所述手部区域最小外接矩形内部的像素值不变,以得到去背景后的rgb图像;

将所述去背景后的rgb图像转换到ycrcb空间,通过椭圆皮肤检测方法,对最小外接矩形内的皮肤进行检测,得到手部皮肤区域,并结合对应的深度图,计算所述手部皮肤区域的平均深度值dv;

将深度值小于dv-thrd或者大于dv+thrd的像素点去背景,得到只有手部的中间图像,其中,thrd表示深度阈值。

本实施例中,所述第一计算模块30具体用于:

对于第一时刻内的任一帧中间图像,先将中间图像灰度化,然后采用下式计算中间图像的熵值:

其中,h表示中间图像的熵值,pi表示灰度化后的中间图像中像素的灰度值为i的概率,i的取值范围为0~255,mi表示灰度化后的中间图像中像素的灰度值为i的数量,mpix表示灰度化后的中间图像中像素的总数。

本实施例中,所述第二计算模块40具体用于采用下式计算手部重叠率:

其中,iou表示第一二值化图像和所述第二二值化图像的手部重叠率,area(binary_t_1)表示所述第一二值化图像中像素值为255的像素面积,area(binary_t)表示所述第二二值化图像中像素值为255的像素面积,∩表示交集运算,∪表示并集运算。

根据本实施例提供的手势姿态识别关键帧提取装置,具有以下有益效果:

(1)通过熵值计算,提取某一时间段内一帧清晰图像并且将重叠度高的帧丢弃,减少模型推理时间,提高手势识别实时性,增强客户体验效果;

(2)通过手部区域的熵值计算,在一个时间段内选择熵值最大的图像,图像熵能衡量图像的清晰度及其信息的丰富度,熵值越大说明手部越清晰,清晰的手部能够提升动态手势识别的准确性;

(3)本发明将手部皮肤检测和深度图像相结合,比仅仅通过皮肤检测能更准确的提取手部区域,抗干扰性更强。

此外,本发明的实施例还提出一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。

此外,本发明的实施例还提出一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1