CN112464833A - 基于光流的动态手势识别方法、装置、设备及存储介质 - Google Patents
基于光流的动态手势识别方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112464833A CN112464833A CN202011389813.6A CN202011389813A CN112464833A CN 112464833 A CN112464833 A CN 112464833A CN 202011389813 A CN202011389813 A CN 202011389813A CN 112464833 A CN112464833 A CN 112464833A
- Authority
- CN
- China
- Prior art keywords
- optical flow
- matrix
- determining
- dynamic gesture
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
- G06V20/42—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items of sport video content
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Social Psychology (AREA)
- Psychiatry (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本申请提供一种基于光流的动态手势识别方法、装置、设备及存储介质,该方法包括:获取拍摄装置采集到的多帧图像,并根据多帧图像,确定图像中的每个光流点的运动信息;根据每个光流点的运动信息,生成光流稀疏矩阵,并对生成的每个光流稀疏矩阵进行矩阵加法运算,得到目标光流稀疏矩阵;根据目标光流稀疏矩阵,确定多帧图像中是否存在动态手势,并在多帧图像中存在动态手势时,识别多帧图像中的手掌图像区域;根据手掌图像区域中的每个光流点的运动信息,确定动态手势所属的手势类别。该方法能够提高动态手势识别的准确性。本申请还涉及区块链领域,上述计算机可读存储介质可存储根据区块链节点的使用所创建的数据。
Description
技术领域
本申请涉及手势识别的技术领域,尤其涉及一种基于光流的动态手势识别方法、装置、设备及存储介质。
背景技术
目前,人们主要通过鼠标、键盘、触控屏或者遥控器等方式与电视、风扇、智能手机、相机或电脑等电子设备进行人机交互,但是这些人机交互方式不够人性化,且具有很大的局限性,不足以满足人们的需要。而手是人最灵活的部位之一,手势在日常的交流与操作中使用非常广泛,方便快捷,则可以通过通过动态手势与电子设备进行人机交互,而动态手势的识别尤其重要,目前主要是通过训练好的神经网络来识别动态手势,但这种识别方法依赖于训练的数据,当场景发生变化或者用户的动态手势的风格没有被训练数据完全收集时,会极大的影响动态手势的识别,用户体验不好。
发明内容
本申请实施例提供一种基于光流的动态手势识别方法、装置、设备及存储介质,旨在提高动态手势的识别准确性。
第一方面,本申请实施例提供一种基于光流的动态手势识别方法,包括:
获取所述拍摄装置采集到的多帧图像,并根据所述多帧图像,确定所述图像中的每个光流点的运动信息;
根据每个所述光流点的运动信息,生成光流稀疏矩阵,并对生成的每个光流稀疏矩阵进行矩阵加法运算,得到目标光流稀疏矩阵;
根据所述目标光流稀疏矩阵,确定所述多帧图像中是否存在动态手势,并在所述多帧图像中存在动态手势时,识别所述多帧图像中的手掌图像区域;
根据所述手掌图像区域中的每个光流点的运动信息,确定所述动态手势所属的手势类别。
第二方面,本申请实施例还提供一种基于光流的动态手势识别装置,所述基于光流的动态手势识别装置包括获取模块、确定模块、矩阵生成模块和识别模块,其中:
所述获取模块,用于获取所述拍摄装置采集到的多帧图像;
所述确定模块,用于根据所述多帧图像,确定所述图像中的每个光流点的运动信息;
所述矩阵生成模块,用于根据每个所述光流点的运动信息,生成光流稀疏矩阵,并对生成的每个光流稀疏矩阵进行矩阵加法运算,得到目标光流稀疏矩阵;
所述确定模块,还用于根据所述目标光流稀疏矩阵,确定所述多帧图像中是否存在动态手势;
在所述多帧图像中存在动态手势时,通过所述识别模块识别所述多帧图像中的手掌图像区域;
所述确定模块,还用于根据所述手掌图像区域中的每个光流点的运动信息,确定所述动态手势所属的手势类别。
第三方面,本申请实施例还提供一种电子设备,所述电子设备包括处理器、存储器、拍摄装置、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如上所述的动态手势识别方法的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如上所述的动态手势识别方法的步骤。
本申请实施例提供一种基于光流的动态手势识别方法、装置、设备及存储介质,通过获取拍摄装置采集到的多帧图像,并根据多帧图像,确定图像中的每个光流点的运动信息,然后根据每个光流点的运动信息,生成光流稀疏矩阵,并对生成的每个光流稀疏矩阵进行矩阵加法运算,得到目标光流稀疏矩阵,最后根据目标光流稀疏矩阵,确定多帧图像中是否存在动态手势,并在多帧图像中存在动态手势时,识别多帧图像中的手掌图像区域,并根据手掌图像区域中的每个光流点的运动信息,确定动态手势所属的手势类别,不需要依赖训练的数据,能够提高动态手势的识别准确性。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种基于光流的动态手势识别方法的流程示意图;
图2是本申请实施例中的初始光流稀疏矩阵的一示意图;
图3是本申请实施例中的光流稀疏矩阵的一示意图;
图4是本申请实施例中的目标光流稀疏矩阵的一示意图;
图5是本申请实施例提供的一种基于光流的动态手势识别装置的示意性框图;
图6是本申请实施例提供的一种电子设备的结构示意性框图。
本申请目的的实现、功能特点及优点将结合实施例,参阅附图做进一步说明。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
目前,人们主要通过鼠标、键盘、触控屏或者遥控器等方式与电视、风扇、智能手机、相机或电脑等电子设备进行人机交互,但是这些人机交互方式不够人性化,且具有很大的局限性,不足以满足人们的需要。而手是人最灵活的部位之一,手势在日常的交流与操作中使用非常广泛,方便快捷,则可以通过通过动态手势与电子设备进行人机交互,而动态手势的识别尤其重要,目前主要是通过训练好的神经网络来识别动态手势,但这种识别方法依赖于训练的数据,当场景发生变化或者用户的动态手势的风格没有被训练数据完全收集时,会极大的影响动态手势的识别,用户体验不好。
为解决上述问题,本申请实施例提供一种基于光流的动态手势识别方法,该动态手势识别方法可以应用于电子设备,电子设备可以包括手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等,该电子设备包括拍摄装置,电子设备通过获取拍摄装置采集到的多帧图像,并根据多帧图像,确定图像中的每个光流点的运动信息,然后根据每个光流点的运动信息,生成光流稀疏矩阵,并对生成的每个光流稀疏矩阵进行矩阵加法运算,得到目标光流稀疏矩阵,最后根据目标光流稀疏矩阵,确定多帧图像中是否存在动态手势,并在多帧图像中存在动态手势时,识别多帧图像中的手掌图像区域,并根据手掌图像区域中的每个光流点的运动信息,确定动态手势所属的手势类别,不需要依赖训练的数据,能够提高动态手势的识别准确性。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1,图1是本申请实施例提供的一种基于光流的动态手势识别方法的流程示意图。
如图1所示,该基于光流的动态手势识别方法包括步骤S101至步骤S104。
步骤S101、获取所述拍摄装置采集到的多帧图像,并根据所述多帧图像,确定所述图像中的每个光流点的运动信息。
示例性的,电子设备以间隔预设时间控制拍摄装置采集一次图像,并通过预设手掌识别模型对采集到的图像进行手掌识别,得到手掌识别结果;若该手掌识别结果为拍摄装置采集到的图像中存在手掌,则控制拍摄装置采集多帧图像。其中,多帧图像的数量、采集间隔时间、拍摄装置的数量、预设时间可以基于实际情况进行设置,本申请实施例对此不做具体限定,例如,拍摄装置采集10帧图像,采集间隔时间为0.3秒,该拍摄装置包括高清摄像头或红外摄像头,预设时间为1秒。
其中,基于图像的环境光强度不发生变化的假设,同一个世界坐标系的点在不同帧图像中的光度是不发生变化的,只要找到下一帧该变化的点,便可以追踪到该点的运动信息。示例性的,基于金字塔LK光流法,根据多帧图像,确定图像中的每个光流点在相邻帧图像之间的运动信息,所述运动信息包括光流点在每两个相邻帧图像之间的运动距离和运动方向。
例如,拍摄装置在短时间内采集得到10帧图像,分别为在T时刻、T+1时刻、T+2时刻、T+3时刻、T+4时刻、T+5时刻、T+6时刻、T+7时刻、T+8时刻、T+9时刻时刻采集到的第一图像、第二图像、第三图像、第四图像、第五图像、第六图像、第七图像、第八图像、第九图像、第十图像,通过第一图像和第二图像,可以确定光流点在T时刻与T+1时刻之间的运动信息,通过第二图像和第三图像,可以确定光流点在T+1时刻与T+2时刻之间的运动信息,通过第三图像和第四图像,可以确定光流点在T+2时刻与T+3时刻之间的运动信息,通过第四图像和第五图像,可以确定光流点在T+3时刻与T+4时刻之间的运动信息,通过第五图像和第六图像,可以确定光流点在T+4时刻与T+5时刻之间的运动信息。
通过第六图像和第七图像,可以确定光流点在T+5时刻与T+6时刻之间的运动信息,通过第七图像和第八图像,可以确定光流点在T+6时刻与T+7时刻之间的运动信息,通过第八图像和第九图像,可以确定光流点在T+7时刻与T+8时刻之间的运动信息,通过第九图像和第十图像,可以确定光流点在T+8时刻与T+9时刻之间的运动信息。
步骤S102、根据每个所述光流点的运动信息,生成光流稀疏矩阵,并对生成的每个光流稀疏矩阵进行矩阵加法运算,得到目标光流稀疏矩阵。
示例性的,根据每个光流点在两个相邻帧图像之间的运动距离,确定每个光流点的矩阵数值;将预设的初始光流稀疏矩阵中的每个光流点的初始矩阵数值调整为对应的所述矩阵数值。其中,电子设备的存储器中存储有拍摄装置拍摄到的图像中的光流点对应的初始光流稀疏矩阵,初始光流稀疏矩阵中的每个光流点的初始矩阵数值可基于实际情况进行设置,本申请实施例对此不做具体限定,如图2所示,初始光流稀疏矩阵中的每个光流点的初始矩阵数值均为0。
在一实施例中,根据每个光流点的运动距离,确定至少一个初始光流稀疏矩阵中的每个光流点的目标矩阵数值的方式可以为:将每个光流点的运动距离与预设距离阈值进行比较;获取运动距离大于或等于预设距离阈值的第一光流点和运动距离小于预设距离阈值的第二光流点;将第一预设值确定为第一光流点的矩阵数值,并将第二预设值确定为第二光流点的矩阵数值。其中,第一预设数值和第二预设数值可基于实际情况进行设置,本申请实施例对此不做具体限定。例如,第一预设数值为1,第二预设数值为0。将图1所示的初始光流稀疏矩阵中的每个光流点的初始矩阵数值调整为对应的矩阵数值,得到的光流稀疏矩阵如图3所示。
在一实施例中,根据每个光流点的运动距离,确定至少一个初始光流稀疏矩阵中的每个光流点的目标矩阵数值的方式可以为:将每个光流点的运动距离与预设距离阈值进行比较;获取运动距离大于或等于预设距离阈值的第一光流点和运动距离小于预设距离阈值的第二光流点;将第一光流点的运动距离确定为第一光流点的矩阵数值,并将第二预设数值确定为第二光流点的矩阵数值。
其中,光流稀疏矩阵的数量是根据多帧图像的数量确定,可选的,设多帧图像的数量为N,则光流稀疏矩阵的数量为N/2。例如,10帧图像可以得到5个光流稀疏矩阵,通过光流点在T时刻与T+1时刻之间的运动信息,可以得到第一光流稀疏矩阵,通过光流点在T+2时刻与T+3时刻之间的运动信息,可以得到第二光流稀疏矩阵,通过光流点在T+4时刻与T+5时刻之间的运动信息,可以得到第三光流稀疏矩阵,通过光流点在T+6时刻与T+7时刻之间的运动信息,可以得到第四光流稀疏矩阵,通过光流点在T+8时刻与T+9时刻之间的运动信息,可以得到第五光流稀疏矩阵,则累加第一光流稀疏矩阵、第二光流稀疏矩阵、第三光流稀疏矩阵、第四光流稀疏矩阵和第五光流稀疏矩阵,得到目标光流稀疏矩阵。
其中,一般计算连通域的面积的方法是进行不断的遍历求和,然后选择面积最大的连通域,如果目标光流稀疏矩阵的大小为m*n,则计算矩阵的面积的复杂度为O(m*n),计算最大的面积则在m*n的基础上乘以m,即时间复杂度为O(m*m*n),复杂度较高,影响运行速度,本申请实施例可以基于栈来计算目标光流稀疏矩阵的矩阵能量值,即对目标光流稀疏矩阵中的每一行的数值进行累加,得到一维数组;确定该一维数组的最大连续数字和,并将该一维数组的最大连续数字和写入空栈;当栈非空,且往栈中加入该一维数组的最大连续数字和的次数h[i]小于栈顶时,弹出栈顶存储的最大连续数字和,并将弹出的最大连续数字和确定为目标光流稀疏矩阵的矩阵能量值。该部分算法的复杂度为O(n,考虑到矩阵一行的算法复杂度为O(n),m行的矩阵复杂度为O(m*n),相较而言算法复杂度降低了m倍,大大的提高了算法运行效率和运行速度。
步骤S103、根据所述目标光流稀疏矩阵,确定所述多帧图像中是否存在动态手势,并在所述多帧图像中存在动态手势时,识别所述多帧图像中的手掌图像区域。
示例性的,确定目标光流稀疏矩阵的每个连通域的面积,并将最大的面积确定为目标光流稀疏矩阵的矩阵能量值;若矩阵能量值大于或等于预设矩阵能量值,则确定多帧图像中存在动态手势;若矩阵能量值小于预设矩阵能量值,则确定多帧图像中不存在动态手势。其中,预设矩阵能量值可基于实际情况进行设置,本申请实施例对此不做具体限定。例如,目标光流稀疏矩阵如图4所示,通过计算发现目标光流稀疏矩阵包括[3,3]、[1,1,2,3]和[8,8,7,9,6,5,3]这三个连通域,面积最大的连通域为[8,8,7,9,6,5,3],且最大面积为64,因此,目标光流稀疏矩阵的矩阵能量值为64。
在一实施例中,识别所述多帧图像中的手掌图像区域的方式可以为:根据预设手掌识别模型,识别多帧图像中的手掌图像区域。其中,预设手掌识别模型为预先训练好的神经网络模型,其训练过程具体为:获取拍摄装置采集到的图像,并对该图像进行标注,得到样本数据,其中,样本数据包括样本图像、样本图像的类型和在样本图像中标注的手掌图像区域;根据大量的样本数据对神经网络模型进行迭代训练,直至迭代训练后的神经网络模型收敛或者迭代训练次数达到预设次数,从而得到手掌识别模型。可以理解的是,神经网络模型包括卷积神经网络模型(Convolutional Neural Networks,CNN)、深度神经网络(DeepNeural Networks,DNN)和循环神经网络(Recurrent Neural Networks,RNN)。
步骤S104、根据所述手掌图像区域中的每个光流点的运动信息,确定所述动态手势所属的手势类别。
其中,动态手势所属的手势类别包括挥手、向左滑动手、向右滑动手、向上滑动手和向下滑动手等类别。
在一实施例中,确定动态手势所属的手势类别的方式可以为:根据手掌图像区域中的每个光流点的运动距离,确定多个目标光流点,其中,目标光流点的运动距离大于或等于预设距离阈值;根据每个目标光流点的运动信息,确定动态手势的光流运动矢量;确定光流运动矢量与每个手势类别各自对应的预设光流运动矢量之间的相似度;将最高的所述相似度对应的手势类别确定为动态手势所属的手势类别。其中,电子设备存储有每个手势类别各自对应的预设光流运动矢量,不同手势类别的预设光流运动矢量不同,光流运动矢量与预设光流运动矢量之间的相似度可以为余弦相似度,预设距离阈值可基于实际情况进行设置,本申请实施例对此不做具体限定。
在一实施例中,在确定动态手势所属的手势类别后,获取该手势类别对应的控制指令,并根据该控制指令,控制电子设备执行对应的事件。其中,在同一使用场景下,不同的手势类别对应不同的控制指令,在不同的使用场景下,相同的手势类别可以对应不同的控制指令。
例如,对于电子设备的显示页面中的选择标记的移动,如果该动态手势为向左滑动手,则电子设备显示的选择标记向左移动,如果该动态手势为向右滑动手,则电子设备显示的选择标记向右移动,如果该动态手势为向上滑动手,则电子设备显示的选择标记向上移动,如果该动态手势为向下滑动手,则电子设备显示的选择标记向下移动。
又例如,对于电子设备显示的图片的跳转控制,如果该动态手势为向左滑动手,则电子设备显示的图片跳转为上一张图片,如果该动态手势为向右滑动手,则电子设备显示的图片跳转为下一张图片,如果该动态手势为向上滑动手,则电子设备显示图片的详细信息,如果该动态手势为向下滑动手,则电子设备删除显示的图片。
再例如,对于电子设备显示的文本的翻页控制,如果该动态手势为向左滑动手,则电子设备显示的书页跳转为上一书页,如果该动态手势为向右滑动手,则电子设备显示的书页跳转为下一书页,如果该动态手势为向上滑动手,则电子设备显示书籍主页,如果该动态手势为向下滑动手,则电子设备标记当前显示的书页。
上述实施例提供的基于光流的动态手势识别方法,通过获取拍摄装置采集到的多帧图像,并根据多帧图像,确定图像中的每个光流点的运动信息,然后根据每个光流点的运动信息,生成光流稀疏矩阵,并对生成的每个光流稀疏矩阵进行矩阵加法运算,得到目标光流稀疏矩阵,最后根据目标光流稀疏矩阵,确定多帧图像中是否存在动态手势,并在多帧图像中存在动态手势时,识别多帧图像中的手掌图像区域,并根据手掌图像区域中的每个光流点的运动信息,确定动态手势所属的手势类别,不需要依赖训练的数据,能够提高动态手势的识别准确性。
请参阅图5,图5是本申请实施例提供的一种基于光流的动态手势识别装置的示意性框图。
如图5所示,该基于光流的动态手势识别装置200,包括获取模块210、确定模块220、矩阵生成模块230和识别模块240,其中:
所述获取模块210,用于获取所述拍摄装置采集到的多帧图像;
所述确定模块220,用于根据所述多帧图像,确定所述图像中的每个光流点的运动信息;
所述矩阵生成模块230,用于根据每个所述光流点的运动信息,生成光流稀疏矩阵,并对生成的每个光流稀疏矩阵进行矩阵加法运算,得到目标光流稀疏矩阵;
所述确定模块220,还用于根据所述目标光流稀疏矩阵,确定所述多帧图像中是否存在动态手势;
在所述多帧图像中存在动态手势时,通过所述识别模块240识别所述多帧图像中的手掌图像区域;
所述确定模块220,还用于根据所述手掌图像区域中的每个光流点的运动信息,确定所述动态手势所属的手势类别。
在一个实施例中,所述运动信息包括所述光流点在每两个相邻帧图像之间的运动距离,所述矩阵生成模块230,还用于:
根据每个所述光流点在两个相邻帧图像之间的运动距离,确定每个所述光流点的矩阵数值;
将预设的初始光流稀疏矩阵中的每个光流点的初始矩阵数值调整为对应的所述矩阵数值。
在一个实施例中,所述矩阵生成模块230,还用于:
将每个所述光流点的运动距离与预设距离阈值进行比较;
获取所述运动距离大于或等于预设距离阈值的第一光流点和所述运动距离小于预设距离阈值的第二光流点;
将第一预设值确定为所述第一光流点的矩阵数值,并将第二预设值确定为所述第二光流点的矩阵数值。
在一个实施例中,所述确定模块220,还用于:
确定所述目标光流稀疏矩阵的每个连通域的面积,并将最大的面积确定为所述目标光流稀疏矩阵的矩阵能量值;
若所述矩阵能量值大于或等于预设矩阵能量值,则确定所述多帧图像中存在动态手势;
若所述矩阵能量值小于预设矩阵能量值,则确定所述多帧图像中不存在动态手势。
在一个实施例中,所述识别模块240,还用于:
根据预设手掌识别模型,识别所述多帧图像中的手掌图像区域,其中,所述预设手掌识别模型为预先训练好的神经网络模型。
在一个实施例中,所述确定模块220,还用于:根据所述手掌图像区域中的每个光流点的运动距离,确定多个目标光流点,其中,所述目标光流点的运动距离大于或等于预设距离阈值;
根据每个所述目标光流点的所述运动信息,确定所述动态手势的光流运动矢量;
确定所述光流运动矢量与每个手势类别各自对应的预设光流运动矢量之间的相似度;
将最高的所述相似度对应的手势类别确定为所述动态手势所属的手势类别。
在一个实施例中,所述动态手势识别装置200还包括:
所述获取模块210,还用于获取所述手势类别对应的控制指令;
执行模块,用于根据所述控制指令,控制所述电子设备执行对应的事件。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块及单元的具体工作过程,可以参考前述基于光流的动态手势识别方法实施例中的对应过程,在此不再赘述。
上述实施例提供的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图6所示的电子设备上运行。
请参阅图6,图6是本申请实施例提供的一种电子设备的结构示意性框图。
如图6所示,该电子设备300包括处理器310、存储器320和拍摄装置330,处理器310、存储器320和拍摄装置330通过总线340连接,该总线340比如为I2C(Inter-integratedCircuit)总线。其中,
具体地,存储器320可以包括存储介质和内存储器,存储器320可以是Flash芯片、只读存储器(ROM,Read-Only Memory)磁盘、光盘、U盘或移动硬盘等。存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种基于光流的动态手势识别方法。
处理器310用于提供计算和控制能力,支撑整个电子设备的运行,内存储器为存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种基于光流的动态手势识别方法。
应当理解的是,处理器310可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,在一实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
获取所述拍摄装置采集到的多帧图像,并根据所述多帧图像,确定所述图像中的每个光流点的运动信息;
根据每个所述光流点的运动信息,生成光流稀疏矩阵,并对生成的每个光流稀疏矩阵进行矩阵加法运算,得到目标光流稀疏矩阵;
根据所述目标光流稀疏矩阵,确定所述多帧图像中是否存在动态手势,并在所述多帧图像中存在动态手势时,识别所述多帧图像中的手掌图像区域;
根据所述手掌图像区域中的每个光流点的运动信息,确定所述动态手势所属的手势类别。
在一实施例中,所述运动信息包括所述光流点在每两个相邻帧图像之间的运动距离,所述处理器在实现根据每个所述光流点的运动信息,生成光流稀疏矩阵时,用于实现:
根据每个所述光流点在两个相邻帧图像之间的运动距离,确定每个所述光流点的矩阵数值;
将预设的初始光流稀疏矩阵中的每个光流点的初始矩阵数值调整为对应的所述矩阵数值。
在一实施例中,所述处理器在实现根据每个所述光流点在两个相邻帧图像之间的运动距离,确定每个所述光流点的矩阵数值时,用于实现:
将每个所述光流点的运动距离与预设距离阈值进行比较;
获取所述运动距离大于或等于预设距离阈值的第一光流点和所述运动距离小于预设距离阈值的第二光流点;
将第一预设值确定为所述第一光流点的矩阵数值,并将第二预设值确定为所述第二光流点的矩阵数值。
在一实施例中,所述处理器在实现根据所述目标光流稀疏矩阵,确定所述多帧图像中是否存在动态手势时,用于实现:
确定所述目标光流稀疏矩阵的每个连通域的面积,并将最大的面积确定为所述目标光流稀疏矩阵的矩阵能量值;
若所述矩阵能量值大于或等于预设矩阵能量值,则确定所述多帧图像中存在动态手势;
若所述矩阵能量值小于预设矩阵能量值,则确定所述多帧图像中不存在动态手势。
在一实施例中,所述处理器在实现识别所述多帧图像中的手掌图像区域时,用于实现:
根据预设手掌识别模型,识别所述多帧图像中的手掌图像区域,其中,所述预设手掌识别模型为预先训练好的神经网络模型。
在一实施例中,所述处理器在实现根据所述手掌图像区域中的每个光流点的运动信息,确定所述动态手势所属的手势类别时,用于实现:
根据所述手掌图像区域中的每个光流点的运动距离,确定多个目标光流点,其中,所述目标光流点的运动距离大于或等于预设距离阈值;
根据每个所述目标光流点的所述运动信息,确定所述动态手势的光流运动矢量;
确定所述光流运动矢量与每个手势类别各自对应的预设光流运动矢量之间的相似度;
将最高的所述相似度对应的手势类别确定为所述动态手势所属的手势类别。
在一实施例中,所述处理器在实现根据所述手掌图像区域中的每个光流点的运动信息,确定所述动态手势所属的手势类别之后,还用于实现:
获取所述手势类别对应的控制指令,并根据所述控制指令,控制所述电子设备执行对应的事件。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的电子设备的具体工作过程,可以参考前述基于光流的动态手势识别方法实施例中的对应过程,在此不再赘述。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时所实现的方法可参阅本申请基于光流的动态手势识别方法的各个实施例。
其中,所述计算机可读存储介质可以是易失性的,也可以是非易失性的。所述计算机可读存储介质可以是前述实施例所述的电子设备的内部存储单元,例如所述电子设备的硬盘或内存。所述计算机可读存储介质也可以是所述电子设备的外部存储设备,例如所述电子设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于光流的动态手势识别方法,其特征在于,应用于电子设备,所述电子设备包括拍摄装置,所述方法包括:
获取所述拍摄装置采集到的多帧图像,并根据所述多帧图像,确定所述图像中的每个光流点的运动信息;
根据每个所述光流点的运动信息,生成光流稀疏矩阵,并对生成的每个光流稀疏矩阵进行矩阵加法运算,得到目标光流稀疏矩阵;
根据所述目标光流稀疏矩阵,确定所述多帧图像中是否存在动态手势,并在所述多帧图像中存在动态手势时,识别所述多帧图像中的手掌图像区域;
根据所述手掌图像区域中的每个光流点的运动信息,确定所述动态手势所属的手势类别。
2.根据权利要求1所述的动态手势识别方法,其特征在于,所述运动信息包括所述光流点在每两个相邻帧图像之间的运动距离,所述根据每个所述光流点的运动信息,生成光流稀疏矩阵,包括:
根据每个所述光流点在两个相邻帧图像之间的运动距离,确定每个所述光流点的矩阵数值;
将预设的初始光流稀疏矩阵中的每个光流点的初始矩阵数值调整为对应的所述矩阵数值。
3.根据权利要求2所述的动态手势识别方法,其特征在于,所述根据每个所述光流点在两个相邻帧图像之间的运动距离,确定每个所述光流点的矩阵数值,包括:
将每个所述光流点的运动距离与预设距离阈值进行比较;
获取所述运动距离大于或等于预设距离阈值的第一光流点和所述运动距离小于预设距离阈值的第二光流点;
将第一预设值确定为所述第一光流点的矩阵数值,并将第二预设值确定为所述第二光流点的矩阵数值。
4.根据权利要求1所述的动态手势识别方法,其特征在于,所述根据所述目标光流稀疏矩阵,确定所述多帧图像中是否存在动态手势,包括:
确定所述目标光流稀疏矩阵的每个连通域的面积,并将最大的面积确定为所述目标光流稀疏矩阵的矩阵能量值;
若所述矩阵能量值大于或等于预设矩阵能量值,则确定所述多帧图像中存在动态手势;
若所述矩阵能量值小于预设矩阵能量值,则确定所述多帧图像中不存在动态手势。
5.根据权利要求1所述的动态手势识别方法,其特征在于,所述识别所述多帧图像中的手掌图像区域,包括:
根据预设手掌识别模型,识别所述多帧图像中的手掌图像区域,其中,所述预设手掌识别模型为预先训练好的神经网络模型。
6.根据权利要求1-5中任一项所述的动态手势识别方法,其特征在于,所述根据所述手掌图像区域中的每个光流点的运动信息,确定所述动态手势所属的手势类别,包括:
根据所述手掌图像区域中的每个光流点的运动距离,确定多个目标光流点,其中,所述目标光流点的运动距离大于或等于预设距离阈值;
根据每个所述目标光流点的所述运动信息,确定所述动态手势的光流运动矢量;
确定所述光流运动矢量与每个手势类别各自对应的预设光流运动矢量之间的相似度;
将最高的所述相似度对应的手势类别确定为所述动态手势所属的手势类别。
7.根据权利要求1-5中任一项所述的动态手势识别方法,其特征在于,所述根据所述手掌图像区域中的每个光流点的运动信息,确定所述动态手势所属的手势类别之后,还包括:
获取所述手势类别对应的控制指令,并根据所述控制指令,控制所述电子设备执行对应的事件。
8.一种基于光流的动态手势识别装置,其特征在于,应用于电子设备,所述电子设备包括拍摄装置,所述动态手势识别装置包括获取模块、确定模块、矩阵生成模块和识别模块,其中:
所述获取模块,用于获取所述拍摄装置采集到的多帧图像;
所述确定模块,用于根据所述多帧图像,确定所述图像中的每个光流点的运动信息;
所述矩阵生成模块,用于根据每个所述光流点的运动信息,生成光流稀疏矩阵,并对生成的每个光流稀疏矩阵进行矩阵加法运算,得到目标光流稀疏矩阵;
所述确定模块,还用于根据所述目标光流稀疏矩阵,确定所述多帧图像中是否存在动态手势;
在所述多帧图像中存在动态手势时,通过所述识别模块识别所述多帧图像中的手掌图像区域;
所述确定模块,还用于根据所述手掌图像区域中的每个光流点的运动信息,确定所述动态手势所属的手势类别。
9.一种电子设备,其特征在于,所述电子设备包括处理器、存储器、拍摄装置、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如权利要求1至7中任一项所述的动态手势识别方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如权利要求1至7中任一项所述的动态手势识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011389813.6A CN112464833A (zh) | 2020-12-01 | 2020-12-01 | 基于光流的动态手势识别方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011389813.6A CN112464833A (zh) | 2020-12-01 | 2020-12-01 | 基于光流的动态手势识别方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112464833A true CN112464833A (zh) | 2021-03-09 |
Family
ID=74805215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011389813.6A Pending CN112464833A (zh) | 2020-12-01 | 2020-12-01 | 基于光流的动态手势识别方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112464833A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113570546A (zh) * | 2021-06-16 | 2021-10-29 | 北京农业信息技术研究中心 | 一种风机运行状态检测方法及装置 |
CN113627330A (zh) * | 2021-08-10 | 2021-11-09 | 北京百度网讯科技有限公司 | 识别目标类型动态图像的方法、装置及电子设备 |
CN113642493A (zh) * | 2021-08-20 | 2021-11-12 | 北京有竹居网络技术有限公司 | 一种手势识别方法、装置、设备及介质 |
CN113761889A (zh) * | 2021-07-28 | 2021-12-07 | 中国电子科技集团公司第十五研究所 | 基于动向态势融合的热点区域计算方法及装置 |
CN113807410A (zh) * | 2021-08-27 | 2021-12-17 | 北京百度网讯科技有限公司 | 图像识别方法、装置以及电子设备 |
CN114022518A (zh) * | 2022-01-05 | 2022-02-08 | 深圳思谋信息科技有限公司 | 图像的光流信息获取方法、装置、设备和介质 |
-
2020
- 2020-12-01 CN CN202011389813.6A patent/CN112464833A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113570546A (zh) * | 2021-06-16 | 2021-10-29 | 北京农业信息技术研究中心 | 一种风机运行状态检测方法及装置 |
CN113570546B (zh) * | 2021-06-16 | 2023-12-05 | 北京农业信息技术研究中心 | 一种风机运行状态检测方法及装置 |
CN113761889A (zh) * | 2021-07-28 | 2021-12-07 | 中国电子科技集团公司第十五研究所 | 基于动向态势融合的热点区域计算方法及装置 |
CN113627330A (zh) * | 2021-08-10 | 2021-11-09 | 北京百度网讯科技有限公司 | 识别目标类型动态图像的方法、装置及电子设备 |
CN113627330B (zh) * | 2021-08-10 | 2024-05-14 | 北京百度网讯科技有限公司 | 识别目标类型动态图像的方法、装置及电子设备 |
CN113642493A (zh) * | 2021-08-20 | 2021-11-12 | 北京有竹居网络技术有限公司 | 一种手势识别方法、装置、设备及介质 |
CN113642493B (zh) * | 2021-08-20 | 2024-02-09 | 北京有竹居网络技术有限公司 | 一种手势识别方法、装置、设备及介质 |
CN113807410A (zh) * | 2021-08-27 | 2021-12-17 | 北京百度网讯科技有限公司 | 图像识别方法、装置以及电子设备 |
CN113807410B (zh) * | 2021-08-27 | 2023-09-05 | 北京百度网讯科技有限公司 | 图像识别方法、装置以及电子设备 |
CN114022518A (zh) * | 2022-01-05 | 2022-02-08 | 深圳思谋信息科技有限公司 | 图像的光流信息获取方法、装置、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112464833A (zh) | 基于光流的动态手势识别方法、装置、设备及存储介质 | |
US8963836B2 (en) | Method and system for gesture-based human-machine interaction and computer-readable medium thereof | |
Rautaray et al. | A novel human computer interface based on hand gesture recognition using computer vision techniques | |
CN110335206B (zh) | 智能滤镜方法、装置及计算机可读存储介质 | |
US20210127071A1 (en) | Method, system and computer program product for object-initiated redaction of surveillance video | |
CN107368181B (zh) | 一种手势识别方法及装置 | |
CN110738070A (zh) | 基于视频的行为识别方法、行为识别装置及终端设备 | |
CN111523387B (zh) | 手部关键点检测的方法、设备和计算机设备 | |
WO2023001112A1 (zh) | 文字美化方法、装置、可读存储介质和电子设备 | |
JP2020154773A (ja) | 画像処理装置、画像処理方法及び画像処理システム | |
Yuan et al. | Action recognition by joint learning | |
Dou et al. | Background subtraction based on circulant matrix | |
KR101433543B1 (ko) | 제스처 기반으로 한 인간과 컴퓨터의 상호작용에 대한 방법, 시스템 및 컴퓨터 기록 매체 | |
CN111104911A (zh) | 一种基于大数据训练的行人重识别方法及装置 | |
Zahra et al. | Camera-based interactive wall display using hand gesture recognition | |
WO2024012289A1 (zh) | 视频生成方法、装置、电子设备及介质 | |
Zhang et al. | Face sketch aging via aging oriented principal component analysis | |
KR20190132885A (ko) | 영상으로부터 손을 검출하는 장치, 방법 및 컴퓨터 프로그램 | |
CN115660969A (zh) | 图像处理方法、模型训练方法、装置、设备和存储介质 | |
Lee et al. | Vision-based fingertip-writing character recognition | |
CN113553884B (zh) | 手势识别方法、终端设备及计算机可读存储介质 | |
Wang et al. | Dense attention network for facial expression recognition in the wild | |
CN113271379A (zh) | 图像处理方法、装置及电子设备 | |
CN112036501A (zh) | 基于卷积神经网络的图片的相似度检测方法及其相关设备 | |
Mou et al. | Attention based dual branches fingertip detection network and virtual key system |
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 |