本发明涉及人机交互技术领域,尤其涉及一种交互方法及装置。
背景技术
体感游戏是指玩家通过改变身体动作与智能设备进行交互的新型游戏,相比于传统的依赖按键或触摸等交互方式的游戏,体感游戏能够增强玩家的参与感,越来越受到游戏玩家的喜欢和市场的认可。
随着人工智能的重要性日益凸显,各种技术及应用层出不穷,深度学习作为人工智能领域中热门的研究方向,其能使得机器能模仿人脑学习机制去处理图像、声音等数据的方法,特别是在图像方面,基于深度学习算法的处理效果明显优于传统的图像处理算法。
体感游戏的核心技术是计算机如何获取玩家的身体动作信息,目前主要的实现方式有两种,一种是微软的kinect摄像头,其能获取到玩家的身体动作信息,这种方法识别效果较好,缺点是硬件成本高,设备配置复杂。另一种方式是使用普通摄像头采集到玩家图像后,通过身体动作识别的深度学习算法获取到玩家动作信息,普通摄像头与kinect摄像头的区别在于普通摄像头只能采集二维图像,而kinect摄像头能采集到三维图像。这种方法硬件成本低,但玩家体验效果较差,容易受到现场环境的干扰,比如玩家身体被短暂遮挡后,再次出现再图像中,体感游戏无法重新识别出该玩家的身体动作信息。
技术实现要素:
本发明的主要目的在于提出一种交互方法及装置,通过基于深度学习的卷积神经网络算法,提高了人机交互的速度和准确率,达到了自动跟踪目标人物的效果,且只需要普通摄像头来采集图像,成本较低,兼容性强。
为实现上述目的,本发明提供的一种交互方法,包括:
识别摄像头采集图像中所有人的人体骨骼关键点坐标集;
从所述人体骨骼关键点坐标集获取目标人物的坐标数据;
跟踪所述目标人物,根据所述目标人物的实时坐标数据进行交互。
可选地,所述识别摄像头采集图像中所有人的人体骨骼关键点坐标集包括:
获取摄像头采集到的图像;
使用人体骨骼关键点识别算法识别出所述图像中所有人的人体骨骼关键点坐标集。
可选地,所述跟踪所述目标人物,根据所述目标人物的实时坐标数据进行交互包括:
获取目标人物所在矩形区域的图像,确定初始跟踪区域;
通过目标跟踪算法估算所述目标人物某一时刻在摄像头采集图像中的矩形区域;
通过所述人体骨骼关键点识别算法计算出所述目标人物的实时坐标数据;
计算所述实时坐标数据对应的矩形区域与估算得到的矩形区域的交并比;
判断所述交并比是否大于预设的阈值,若是,将所述实时坐标数据作为目标人物与系统进行交互的控制数据;
否则,记录所述某一时刻的目标人物的动作为异常动作,并累加异常次数。
可选地,所述记录所述某一时刻的目标人物的动作为异常动作,并累加异常次数之后还包括:
判断所述异常次数是否大于预设的次数阈值;
若是,则获取此时摄像头采集图像中所有人的人体骨骼关键点坐标集,计算所有人所在矩形区域与所述初始跟踪区域的相似度;
将所述相似度最大的人物作为目标人物。
可选地,所述目标人物为图像中完成预设动作的人物。
作为本发明的另一方面,提供的一种交互装置,包括:
识别模块,用于识别摄像头采集图像中所有人的人体骨骼关键点坐标集;
交互模块,用于从所述人体骨骼关键点坐标集获取目标人物的坐标数据;
跟踪模块,用于跟踪所述目标人物,根据所述目标人物的实时坐标数据进行交互。
可选地,所述识别模块包括:
图像获取单元,用于获取摄像头采集到的图像;
坐标计算单元,用于使用人体骨骼关键点识别算法识别出所述图像中所有人的人体骨骼关键点坐标集。
可选地,所述跟踪模块包括:
初始单元,用于获取目标人物所在矩形区域的图像,确定初始跟踪区域;
估算单元,用于通过目标跟踪算法估算所述目标人物某一时刻在摄像头采集图像中的矩形区域;
实时坐标计算单元,用于通过所述人体骨骼关键点识别算法计算出所述目标人物的实时坐标数据;
交并比计算单元,用于计算所述实时坐标数据对应的矩形区域与估算得到的矩形区域的交并比;
第一判断单元,用于判断所述交并比是否大于预设的阈值,若是,将所述实时坐标数据作为目标人物与系统进行交互的控制数据;否则,记录所述某一时刻的目标人物的动作为异常动作,并累加异常次数。
可选地,所述跟踪模块还包括:
第二判断单元,用于判断所述异常次数是否大于预设的次数阈值;
相似度计算单元,用于当异常次数大于预设的次数阈值时,则获取此时摄像头采集图像中所有人的人体骨骼关键点坐标集,计算所有人所在矩形区域与所述初始跟踪区域的相似度;
重新获取目标单元,用于将所述相似度最大的人物作为目标人物。
可选地,所述目标人物为图像中完成预设动作的人物。
本发明提出的一种交互方法及装置,该方法包括:识别摄像头采集图像中所有人的人体骨骼关键点坐标集;从所述人体骨骼关键点坐标集获取目标人物的坐标数据;跟踪所述目标人物,根据所述目标人物的实时坐标数据进行交互;通过基于深度学习的卷积神经网络算法,提高了人机交互的速度和准确率,达到了自动跟踪目标人物的效果,且只需要普通摄像头来采集图像,成本较低,兼容性强。
附图说明
图1为本发明实施例一提供的一种交互方法流程图;
图2为图1中步骤s10的方法流程图;
图3为图1中步骤s30的一种方法流程图;
图4为图1中步骤s30的另一种方法流程图;
图5为本发明实施例二提供的一种交互装置示范性结构框图;
图6为图5中识别模块的示范性结构框图;
图7为图5中跟踪模块的一种示范性结构框图;
图8为图5中跟踪模块的另一种示范性结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。
实施例一
如图1所示,在本实施例中,一种交互方法,包括:
s10、识别摄像头采集图像中所有人的人体骨骼关键点坐标集;
s20、从所述人体骨骼关键点坐标集获取目标人物的坐标数据;
s30、跟踪所述目标人物,根据所述目标人物的实时坐标数据进行交互。
在本实施例中,通过基于深度学习的卷积神经网络算法,提高了人机交互的速度和准确率,达到了自动跟踪目标人物的效果,且只需要普通摄像头来采集图像,成本较低,兼容性强。
在本实施例中,人体骨骼关键点通常指眼睛、鼻子、颈部、左肩、左肘、左腕、右肩、右肘、右腕、左臀、左膝盖、左踝、右臀、右膝盖、右踝等关键点,而这些关键点的坐标数据与采集的图像有关,比如一张尺寸大小为h×w的图像,以图像的左顶点为原点坐标(0,0),以原点向右顶点的方向为x轴,以原点向左下点的方向为y轴,则关键点的坐标为(x,y),其中0≤x≤w,0≤y≤h。一种图像中可能存在零或多个人,人体骨骼关键点坐标数据集指的是把零或多个人的坐标数据放在一个集合中。
在本实施例中,所述目标人物为图像中完成预设动作的人物。
体感游戏启动时,会提示玩家做出预设的指定动作控制开始游戏,指定的动作如举手、站立等,这些动作映射到人体骨骼关键点坐标时是具有可分辨的特征的,所以能从人体骨骼关键点坐标数据集中选择出来。
如图2所示,在本实施例中,所述步骤s10包括:
s11、获取摄像头采集到的图像;
s12、使用人体骨骼关键点识别算法识别出所述图像中所有人的人体骨骼关键点坐标集。
在本实施例中,人体骨骼关键点识别算法包括基于深度学习的openpose算法。
在本实施例中,使用普通的摄像头作为图像数据采集设备,不仅硬件成本低,而且兼容性强,便于推广和使用;普通摄像头采集图像ft,使用人体骨骼关键点识别算法识别出ft中所有人的人体骨骼关键点坐标数据集{p1,p2,…,pn}。ft表示当前时刻采集到的图像,摄像头的帧率决定了时刻的单位,摄像头的分辨率决定了ft图像的尺寸大小,pn表示第n个人的人体骨骼关键点坐标数据。从{p1,p2,…,pn}中选择指定动作的目标玩家的人体骨骼关键点坐标数据pk,k∈{1,2,…,n},指定的动作包括举手、站立,但不限于具体动作。
如图3所示,在本实施例中,所述步骤s30包括:
s31、获取目标人物所在矩形区域的图像,确定初始跟踪区域;
根据人体骨骼关键点坐标数据pk,截取保存图像ft中目标玩家k所在的矩形区域o,并以此矩形区域的图像作为目标跟踪算法的初始化参数,初始化目标跟踪算法。
s32、通过目标跟踪算法估算所述目标人物某一时刻在摄像头采集图像中的矩形区域;
在本实施例中,目标跟踪算法包括基于深度学习的goturn算法。
s33、通过所述人体骨骼关键点识别算法计算出所述目标人物的实时坐标数据;
s34、计算所述实时坐标数据对应的矩形区域与估算得到的矩形区域的交并比;
摄像头采集图像ft+1,目标跟踪算法估计出图像ft+1中目标玩家所在区域的矩形m,人体骨骼关键点识别算法识别出ft+1中所有人的人体骨骼关键点坐标数据集{p1,p2,…,pn},计算{p1,p2,…,pn}对应的人体所在的区域{n1,n2,…,nn},然后在计算出{iou1,iou2,…,ioun},最后取iouk=max{iou1,iou2,…,ioun},其中iou(intersectionoverunion,交并比)的定义为:
s35、判断所述交并比是否大于预设的阈值,若是,s36、将所述实时坐标数据作为目标人物与系统进行交互的控制数据;
否则,s37、记录所述某一时刻的目标人物的动作为异常动作,并累加异常次数。
若iouk≥t1,t1为预设的阈值,则输出pk作为目标玩家与体感游戏实际交互的控制数据;若iouk<t1,记录并累加iouk<t1的异常次数c。
如图4所示,在本实施例中,所述步骤s37之后还包括:
s38、判断所述异常次数是否大于预设的次数阈值;
若是,则s39、获取此时摄像头采集图像中所有人的人体骨骼关键点坐标集,计算所有人所在矩形区域与所述初始跟踪区域的相似度;否则,进入步骤s310、继续累加所示异常次数;
s311、将所述相似度最大的人物作为目标人物。
摄像头重新采集当前时刻图像ft’,人体骨骼关键点识别算法识别出ft’中所有人的人体骨骼关键点坐标数据集{p1,p2,…,pn},计算{p1,p2,…,pn}对应的人体所在的区域{n1,n2,…,nn},然后在计算出{s1,s2,…,sn},sm表示区域o的图像与区域nm的图像的相似度,其中m∈{1,2,…,n}。遍历{s1,s2,…,sn},选择出sk>t2,t2为预设的阈值,以nk区域图像作为目标跟踪算法的初始化参数。
在本实施例中,本方法能够自动跟踪目标玩家,这种功能有效解决游戏中目标玩家受身体被短时间遮挡后导致跟踪目标丢失的问题,快速重新跟踪目标玩家,这极大提高了玩家对体感游戏的参与感,给玩家带来了更好的游戏体验。
实施例二
如图5所示,在本实施例中,一种交互装置,包括:
识别模块10,用于识别摄像头采集图像中所有人的人体骨骼关键点坐标集;
交互模块20,用于从所述人体骨骼关键点坐标集获取目标人物的坐标数据;
跟踪模块30,用于跟踪所述目标人物,根据所述目标人物的实时坐标数据进行交互。
在本实施例中,通过基于深度学习的卷积神经网络算法,提高了人机交互的速度和准确率,达到了自动跟踪目标人物的效果,且只需要普通摄像头来采集图像,成本较低,兼容性强。
在本实施例中,人体骨骼关键点通常指眼睛、鼻子、颈部、左肩、左肘、左腕、右肩、右肘、右腕、左臀、左膝盖、左踝、右臀、右膝盖、右踝等关键点,而这些关键点的坐标数据与采集的图像有关,比如一张尺寸大小为h×w的图像,以图像的左顶点为原点坐标(0,0),以原点向右顶点的方向为x轴,以原点向左下点的方向为y轴,则关键点的坐标为(x,y),其中0≤x≤w,0≤y≤h。一种图像中可能存在零或多个人,人体骨骼关键点坐标数据集指的是把零或多个人的坐标数据放在一个集合中。
在本实施例中,所述目标人物为图像中完成预设动作的人物。
体感游戏启动时,会提示玩家做出预设的指定动作控制开始游戏,指定的动作如举手、站立等,这些动作映射到人体骨骼关键点坐标时是具有可分辨的特征的,所以能从人体骨骼关键点坐标数据集中选择出来。
如图6所示,在本实施例中,所述识别模块包括:
图像获取单元11,用于获取摄像头采集到的图像;
坐标计算单元12,用于使用人体骨骼关键点识别算法识别出所述图像中所有人的人体骨骼关键点坐标集。
在本实施例中,人体骨骼关键点识别算法包括基于深度学习的openpose算法。
在本实施例中,使用普通的摄像头作为图像数据采集设备,不仅硬件成本低,而且兼容性强,便于推广和使用;普通摄像头采集图像ft,使用人体骨骼关键点识别算法识别出ft中所有人的人体骨骼关键点坐标数据集{p1,p2,…,pn}。ft表示当前时刻采集到的图像,摄像头的帧率决定了时刻的单位,摄像头的分辨率决定了ft图像的尺寸大小,pn表示第n个人的人体骨骼关键点坐标数据。从{p1,p2,…,pn}中选择指定动作的目标玩家的人体骨骼关键点坐标数据pk,k∈{1,2,…,n},指定的动作包括举手、站立,但不限于具体动作。
如图7所示,在本实施例中,所述跟踪模块包括:
初始单元31,用于获取目标人物所在矩形区域的图像,确定初始跟踪区域;
根据人体骨骼关键点坐标数据pk,截取保存图像ft中目标玩家k所在的矩形区域o,并以此矩形区域的图像作为目标跟踪算法的初始化参数,初始化目标跟踪算法。
估算单元32,用于通过目标跟踪算法估算所述目标人物某一时刻在摄像头采集图像中的矩形区域;
在本实施例中,目标跟踪算法包括基于深度学习的goturn算法。
实时坐标计算单元33,用于通过所述人体骨骼关键点识别算法计算出所述目标人物的实时坐标数据;
交并比计算单元34,用于计算所述实时坐标数据对应的矩形区域与估算得到的矩形区域的交并比;
摄像头采集图像ft+1,目标跟踪算法估计出图像ft+1中目标玩家所在区域的矩形m,人体骨骼关键点识别算法识别出ft+1中所有人的人体骨骼关键点坐标数据集{p1,p2,…,pn},计算{p1,p2,…,pn}对应的人体所在的区域{n1,n2,…,nn},然后在计算出{iou1,iou2,…,ioun},最后取iouk=max{iou1,iou2,…,ioun},其中iou(intersectionoverunion,交并比)的定义为:
第一判断单元35,用于判断所述交并比是否大于预设的阈值,若是,将所述实时坐标数据作为目标人物与系统进行交互的控制数据;否则,记录所述某一时刻的目标人物的动作为异常动作,并累加异常次数。
若iouk≥t1,t1为预设的阈值,则输出pk作为目标玩家与体感游戏实际交互的控制数据;若iouk<t1,记录并累加iouk<t1的异常次数c。
如图8所示,在本实施例中,所述跟踪模块还包括:
第二判断单元36,用于判断所述异常次数是否大于预设的次数阈值;
相似度计算单元37,用于当异常次数大于预设的次数阈值时,则获取此时摄像头采集图像中所有人的人体骨骼关键点坐标集,计算所有人所在矩形区域与所述初始跟踪区域的相似度;
重新获取目标单元38,用于将所述相似度最大的人物作为目标人物。
摄像头重新采集当前时刻图像ft’,人体骨骼关键点识别算法识别出ft’中所有人的人体骨骼关键点坐标数据集{p1,p2,…,pn},计算{p1,p2,…,pn}对应的人体所在的区域{n1,n2,…,nn},然后在计算出{s1,s2,…,sn},sm表示区域o的图像与区域nm的图像的相似度,其中m∈{1,2,…,n}。遍历{s1,s2,…,sn},选择出sk>t2,t2为预设的阈值,以nk区域图像作为目标跟踪算法的初始化参数。
在本实施例中,本方法能够自动跟踪目标玩家,这种功能有效解决游戏中目标玩家受身体被短时间遮挡后导致跟踪目标丢失的问题,快速重新跟踪目标玩家,这极大提高了玩家对体感游戏的参与感,给玩家带来了更好的游戏体验。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。