CN112613355B - 一种基于寻岛算法的手势分割方法 - Google Patents
一种基于寻岛算法的手势分割方法 Download PDFInfo
- Publication number
- CN112613355B CN112613355B CN202011416832.3A CN202011416832A CN112613355B CN 112613355 B CN112613355 B CN 112613355B CN 202011416832 A CN202011416832 A CN 202011416832A CN 112613355 B CN112613355 B CN 112613355B
- Authority
- CN
- China
- Prior art keywords
- grid
- gesture
- adjacent
- value
- island
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- 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/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/107—Static hand or arm
- G06V40/113—Recognition of static hand signs
-
- 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
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/107—Static hand or arm
- G06V40/117—Biometrics derived from hands
Abstract
本公开的基于寻岛算法的手势分割方法,S1:获取手势网格图像矩阵A、高度m和宽度n;S2:根据高度m和宽度n遍历图像矩阵A的四个边界,保存网格值为1的网格坐标并将该网格值置为2;S3:针对每个网格值为2的网格,判断其相邻网格的值是否为1,若为1,保存相邻网格的坐标,计数值加1,将该相邻网格的值置为2;S4:针对每个相邻网格值为2的网格,判断其相邻网格值是否为1,若为1,保存其相邻网格坐标,将计数值加1。将该相邻网格值置为2,直到与该网格直接相邻和间接相邻的网格值均置为2为止;S5:重复S3‑S4,遍历图像矩阵A的所有网格;S6:返回最大计数值所对应的网格坐标,实现手势分割。能够从图像背景中提取用户的动态和静态手势。
Description
技术领域
本发明属于手势识别技术领域,具体涉及一种基于寻岛算法的手势分割方法。
背景技术
基于手势的交互方式仅依据图像进行信息识别,不受交互场景中声音影响,可以实现人机远距离、无接触、静默交互,是实现人机自然交互的重要途径。
手势识别技术依据所识别手势是否包含时序信息,可以分为静态手势识别和动态手势识别两类。目前的研究通常只考虑交互过程中仅包含某一类手势的交互情景。而在自然的交互过程中,往往包含静态手势与动态手势,交互双方并不拘泥于只使用静态手势或者动态手势进行交互。因此目前的手势识别方法在人与机器采用手势进行自然交互时,尚存在一些问题,比如缺少有效的手势分割方法,以及静态手势和动态手势的交互场景下有效分割手势与背景。
目前的手势分割算法按照判别过程中所依赖信息的不同,主要可以分为三类:基于肤色信息的手势分割算法、基于轮廓信息的手势分割算法以及基于运动信息的手势分割算法。但常规的手势分割方法不适用于基于深度信息的手势交互场景下的手势分割。在基于深度信息进行手势识别的方法中,多利用距离信息分割手势与背景,这类方法不受环境光线变化影响,但难以在手与物体到摄像头距离相近的场景下对手势进行有效分割。结合交互手势在深度图像中的呈现规律,提出了一种基于寻岛算法的手势分割算法。
发明内容
有鉴于此,本公开提出了一种基于寻岛算法的手势分割方法,能够有效从图像背景中提取出用户的动态手势和静态手势,且受环境光线变化影响较小。
根据本发明的一方面,提出了一种基于寻岛算法的手势分割方法,所述方法包括:
S1:获取所述手势网格图像矩阵A、手势网格图像的高度m和宽度n,m和n为正整数;
S2:根据所述手势网格图像的高度m和宽度n遍历所述手势网格图像矩阵A的四个边界,保存所述手势网格图像矩阵A的四个边界的所有网格值为1的网格坐标,并将所述网格值置为2;
S3:针对每一个网格值为2的网格,判断其相邻网格的值是否为1,如果所述相邻网格的值为1,保存所述相邻网格的坐标,并将相应的计数值加1,同时将已遍历的所述相邻网格的值置为2;
S4:针对每一个相邻网格值为2的网格,判断所述相邻网格的相邻网格值是否为1,如果所述相邻网格的相邻网格值为1,保存所述相邻网格的相邻网格坐标,并将所述相应的计数值加1,将已遍历的所述相邻网格的相邻网格值置为2,直到与所述网格直接相邻和间接相邻的网格值均置为2;
S5:重复步骤S3-S4,对所述手势网格图像矩阵A的所有网格进行遍历,得到每个边界网格值为1的所有直接和间接邻网格的坐标,以及相应的计数值;
S6:返回最大计数值所对应的所有网格坐标,实现基于寻岛算法的手势分割。
在一种可能的实现方式中,所述相邻网格为所述网格的上、下、左、右的四个网格。
在一种可能的实现方式中,所述方法还包括:初始化所述手势网格图像矩阵A的网格值为1或0。
在一种可能的实现方式中,所述手势网格图像矩阵A的四个边界,包括:所述手势网格图像矩阵A的第0行、第m-1行、第0列和第n-1列。
在一种可能的实现方式中,所述步骤S3和步骤S4由所述寻岛算法的感染函数实现,所述步骤S5由所述寻岛算法的寻到函数实现。
本公开的基于寻岛算法的手势分割方法,通过S1:获取所述手势网格图像矩阵A、手势网格图像的高度m和宽度n,m和n为正整数;S2:根据所述手势网格图像的高度m和宽度n遍历所述手势网格图像矩阵A的四个边界,保存所述手势网格图像矩阵A的四个边界的所有网格值为1的网格坐标,并将所述网格值置为2;S3:针对每一个网格值为2的网格,判断其相邻网格的值是否为1,如果所述相邻网格的值为1,保存所述相邻网格的坐标,并将相应的计数值加1,同时将已遍历的所述相邻网格的值置为2;S4:针对每一个相邻网格值为2的网格,判断所述相邻网格的相邻网格值是否为1,如果所述相邻网格的相邻网格值为1,保存所述相邻网格的相邻网格坐标,并将所述相应的计数值加1,将已遍历的所述相邻网格的相邻网格值置为2,直到与所述网格直接相邻和间接相邻的网格值均置为2;S5:重复步骤S3-S4,对所述手势网格图像矩阵A的所有网格进行遍历,得到每个边界网格值为1的所有直接和间接邻网格的坐标,以及相应的计数值;S6:返回最大计数值所对应的所有网格坐标,实现基于寻岛算法的手势分割。能够有效从图像背景中提取出用户的动态手势和静态手势,且受环境光线变化影响较小。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出根据本公开一实施例的基于寻岛算法的二维矩阵示意图;
图2示出根据本公开一实施例的基于寻岛算法的程序实现示例图;
图3示出根据本公开一实施例的基于寻岛算法流程图;
图4示出根据本公开一实施例的基于寻岛算法的手势分割方法流程图;
图5示出根据本公开另一实施例的基于寻岛算法的手势分割方法流程图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1示出根据本公开一实施例的基于寻岛算法的二维矩阵示意图;图2示出根据本公开一实施例的基于寻岛算法的程序实现示例图。
为了便于理解本公开的手势分割方法,首先对原始的寻岛算法进行简单介绍,寻岛问题也可以称为岛屿个数问题,如图1所示,给定一个二维矩阵,其中用'1'代表陆地,用'0'代表水,水平或者垂直相连的陆地构成岛屿,而岛屿之间被水隔开,统计矩阵中的岛屿个数。
如图1所示,该8*8矩阵中包含9个孤立的岛屿,寻岛算法可以通过记录已遍历8*8矩阵中的位置信息,巧妙解决寻岛问题,具体算法实现过程如图2所示。
寻岛算法主要用于统计矩阵中相连区域个数,寻岛算法包括两个函数,感染函数infect()和寻岛函数island()。其中,感染函数infect()用于递归地标记与指定陆地相连的陆地,寻岛函数island()用于遍历矩阵并统计矩阵中的陆地个数。
图3示出根据本公开一实施例的基于寻岛算法流程图。
如图3所示,在使用寻岛算法遍历整个矩阵区域的过程中,每次当遇到未标记的路径时,将计数值加1,并将与该陆地直接与间接相连的所有陆地标记为'2',待遍历完矩阵的所有元素后返回统计到的岛屿个数。
由于手势一般是使用摄像头通过第一人称视角采集到的,所以深度图像中的手势均从图像外延伸至图像中,而在手势识别过程中的干扰物体通常出现在画面中。根据寻岛算法原理,可以将深度图像中出现的各个区域看作不同的岛屿,通过去除与边界不相连的岛,便可有效分割深度图像中的手势与物体,减少环境变化对手势识别结果造成的影响。
图4示出了根据本公开一实施例的基于寻岛算法的手势分割方法流程图。如图4所示,该方法可以包括:
步骤S1:获取所述手势网格图像矩阵A、手势网格图像的高度m和宽度n,m和n为正整数。
其中,手势网格图像矩阵A为深度图,初始化手势网格图像矩阵A的元素的值为“0”或“1”。
手势网格图像的高度m和宽度n分别为手势网格图像矩阵A的行数和列数,即手势网格图像矩阵A为行为m、列为n的矩阵,m和n为正整数。
步骤S2:根据手势网格图像的高度m和宽度n遍历所述手势网格图像矩阵A的四个边界,保存手势网格图像矩阵A的四个边界的所有网格值为1的网格坐标,并将所述网格值置为2。
其中,相邻网格为网格的上、下、左、右的四个网格。手势网格图像矩阵A的四个边界依次为第0行、第m-1行、第0列和第n-1列。
以图1为例进行说明,手势网格图像矩阵A为8*8的矩阵,手势网格图像的高度为8、宽度也为8,则遍历手势网格图像矩阵A的第0行、第7行、第0列和第7列四个边缘,保存网格值为1的网格坐标,例如共有7个网格值为1的网格,并将相应的网格坐标例如A[0,0]、A[0,1]等保存起来,并将经过遍历的这些网格标记为2,以表示该网格被探索到。
步骤S3:针对每一个网格值为2的网格,判断其相邻网格的值是否为1,如果所述相邻网格的值为1,保存所述相邻网格的坐标,并将相应的计数值加1,同时将已遍历的所述相邻网格的值置为2;
步骤S4:针对每一个相邻网格值为2的网格,判断所述相邻网格的相邻网格值是否为1,如果所述相邻网格的相邻网格值为1,保存所述相邻网格的相邻网格坐标,并将所述相应的计数值加1,将已遍历的所述相邻网格的相邻网格值置为2,直到与所述网格直接相邻和间接相邻的网格值均置为2。
其中,基于寻岛算法的手势分割算法也同样包括两个函数,感染函数infect()和寻岛函数island()。感染函数infect()可以从来主要实现步骤S3和步骤S4,用来探索和标记与边界网格值为1的网格直接相连和间接相连的网格点坐标,并找到该手势深度图像中所有的与图像边界网格值为1的相连的岛,记录并保存所有岛的网格坐标和网格个数。
步骤S5:重复步骤S3-S4,对所述手势网格图像矩阵A的所有网格进行遍历,得到每个边界网格值为1的所有直接和间接邻网格的坐标,以及相应的计数值。
步骤S6:返回最大计数值所对应的所有网格坐标,实现基于寻岛算法的手势分割。
可以利用寻岛函数island()完成步骤S5遍历手势深度图像矩阵的所有网格,并统计以不同边界网格所形成的岛屿个数。通过步骤S6能够寻找与图像边界网格点相连的面积最大的岛,并返回该面积最大的岛中所有网格坐标。
图5示出根据本公开另一实施例的基于寻岛算法的手势分割方法流程图。
如图5所示,使用基于寻岛算法的手势分割方法时,首先对手势深度图像的边缘区域进行扫描,如果边缘中有岛屿(网格值为1)存在,则记录各个岛屿的坐标,然后针对每一个岛屿来说,使用感染函数infect()遍历得到该岛屿的各个元素的点的坐标和元素个数,进而得到每个岛屿的各个元素的坐标以及相应的岛屿的元素个数,记录并保存各个岛屿中元素的坐标,并将已探索到的岛屿元素标记为'2'。可以使用寻岛函数island()遍历完手势深度图像矩阵的所有边缘区域后,返回手势深度图像矩阵的岛屿个数,并返回将面积最大的岛屿中所有点的坐标,将面积最大的岛屿中所有点的坐标组成的图像作为手势分割图像。
本公开的基于寻岛算法的手势分割方法,相较于原始的寻岛算法,仅搜索图像的边缘区域,极大地加快了手势分割方法的处理速度,为实现实时手势识别提供了基础。且传统基于帧差法的手势分割会滤除掉变化较慢的手势,影响手势识别精度,本方法能够有效从背景中提取出用户的动态手势和静态手势,且不受环境光线变化影响。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (5)
1.一种基于寻岛算法的手势分割方法,其特征在于,所述方法包括:
S1:获取手势网格图像矩阵A、手势网格图像的高度m和宽度n,m和n为正整数;
S2:根据所述手势网格图像的高度m和宽度n遍历所述手势网格图像矩阵A的四个边界,保存所述手势网格图像矩阵A的四个边界的所有网格值为1的网格坐标,并将所述网格值置为2;
S3:针对每一个网格值为2的网格,判断其相邻网格的值是否为1,如果所述相邻网格的值为1,保存所述相邻网格的坐标,并将相应的计数值加1,同时将已遍历的所述相邻网格的值置为2;
S4:针对每一个相邻网格值为2的网格,判断所述相邻网格的相邻网格值是否为1,如果所述相邻网格的相邻网格值为1,保存所述相邻网格的相邻网格坐标,并将所述相应的计数值加1,将已遍历的所述相邻网格的相邻网格值置为2,直到与所述网格直接相邻和间接相邻的网格值均置为2;
S5:重复步骤S3-S4,对所述手势网格图像矩阵A的所有网格进行遍历,得到每个边界网格值为1的所有直接和间接相 邻网格的坐标,以及相应的计数值;
S6:返回最大计数值所对应的所有网格坐标,实现基于寻岛算法的手势分割。
2.根据权利要求1所述的手势分割方法,其特征在于,所述相邻网格为所述网格的上、下、左、右的四个网格。
3.根据权利要求1所述的手势分割方法,其特征在于,所述方法还包括:初始化所述手势网格图像矩阵A的网格值为1或0。
4.根据权利要求1所述的手势分割方法,其特征在于,所述手势网格图像矩阵A的四个边界,包括:所述手势网格图像矩阵A的第0行、第m-1行、第0列和第n-1列。
5.根据权利要求1所述的手势分割方法,其特征在于,所述步骤S3和步骤S4由所述寻岛算法的感染函数实现,所述步骤S5由所述寻岛算法的寻岛 函数实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011416832.3A CN112613355B (zh) | 2020-12-07 | 2020-12-07 | 一种基于寻岛算法的手势分割方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011416832.3A CN112613355B (zh) | 2020-12-07 | 2020-12-07 | 一种基于寻岛算法的手势分割方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112613355A CN112613355A (zh) | 2021-04-06 |
CN112613355B true CN112613355B (zh) | 2022-07-26 |
Family
ID=75229168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011416832.3A Active CN112613355B (zh) | 2020-12-07 | 2020-12-07 | 一种基于寻岛算法的手势分割方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112613355B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108470323A (zh) * | 2018-03-13 | 2018-08-31 | 京东方科技集团股份有限公司 | 一种图像拼接方法、计算机设备及显示装置 |
CN111240486A (zh) * | 2020-02-17 | 2020-06-05 | 河北冀联人力资源服务集团有限公司 | 一种基于边缘计算的数据处理方法及系统 |
WO2020173024A1 (zh) * | 2019-02-26 | 2020-09-03 | 南京邮电大学 | 面向智能家居场景的多手势精准分割方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8325978B2 (en) * | 2008-10-30 | 2012-12-04 | Nokia Corporation | Method, apparatus and computer program product for providing adaptive gesture analysis |
-
2020
- 2020-12-07 CN CN202011416832.3A patent/CN112613355B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108470323A (zh) * | 2018-03-13 | 2018-08-31 | 京东方科技集团股份有限公司 | 一种图像拼接方法、计算机设备及显示装置 |
WO2020173024A1 (zh) * | 2019-02-26 | 2020-09-03 | 南京邮电大学 | 面向智能家居场景的多手势精准分割方法 |
CN111240486A (zh) * | 2020-02-17 | 2020-06-05 | 河北冀联人力资源服务集团有限公司 | 一种基于边缘计算的数据处理方法及系统 |
Non-Patent Citations (4)
Title |
---|
Robust hand detection using arm segmentation from depth data and static palm gesture recognition;Rytis Augustauskas,Arunas Lipnickas;《2017 9th IEEE International Conference on Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications》;20170923;全文 * |
基于Kinect深度图像的手势识别分类;潘峥嵘等;《自动化技术与应用》;20190425(第04期);全文 * |
复杂背景下的手势识别方法;易靖国等;《数字技术与应用》;20160915(第09期);全文 * |
深度图像手势分割及HOG-SVM手势识别方法研究;LE Vanbang等;《计算机应用与软件》;20161215(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112613355A (zh) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mishra et al. | Active segmentation with fixation | |
CN107169487B (zh) | 基于超像素分割及深度特征定位的显著性目标检测方法 | |
JP3051182B2 (ja) | ハイライト領域検出方法 | |
JP5854802B2 (ja) | 画像処理装置、画像処理方法、及びコンピュータプログラム | |
WO2001037212A1 (en) | Video stream classifiable symbol isolation method and system | |
CN105719306B (zh) | 一种高分辨率遥感影像中的建筑物快速提取方法 | |
CN109064525A (zh) | 一种图片格式转换方法、装置、设备和存储介质 | |
Kunt | Edge detection: A tuttorial review | |
CN111415373A (zh) | 基于孪生卷积网络的目标跟踪与分割方法、系统及介质 | |
CN113129323A (zh) | 一种基于人工智能的遥感田埂界线检测方法、系统、计算机设备及存储介质 | |
CN112613355B (zh) | 一种基于寻岛算法的手势分割方法 | |
JP6754717B2 (ja) | 物体候補領域推定装置、物体候補領域推定方法、及び物体候補領域推定プログラム | |
CN110851631B (zh) | 一种检索系统 | |
Gui et al. | A fast caption detection method for low quality video images | |
Xu et al. | A novel approach for visual Saliency detection and segmentation based on objectness and top-down attention | |
CN106875405A (zh) | 基于广度优先搜索的ct图像肺实质模板气管消除方法 | |
CN114332866A (zh) | 一种基于图像处理的文献曲线分离与坐标信息提取方法 | |
JP4418726B2 (ja) | 文字列探索装置、探索方法およびこの方法のプログラム | |
JP2002133424A (ja) | 文書の傾き角度及び境界の検出方法 | |
CN105513044B (zh) | 一种基于统计度量直线特征的数字直线段识别方法 | |
Lan et al. | Object contour extraction based salience detection and automatic region growing | |
JP2832928B2 (ja) | 文字認識方法 | |
JP2004334461A (ja) | 文字認識装置及び文字認識プログラム | |
CN108564078A (zh) | 提取满文单词图像中轴线的方法 | |
Ehrich et al. | Contextual boundary formation by one-dimensional edge detection and scan line matching |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |