一种机器人的挥手检测方法、系统及一种机器人与流程

文档序号:14120843阅读:297来源:国知局
一种机器人的挥手检测方法、系统及一种机器人与流程

本发明涉及图像识别领域,特别是一种机器人的挥手检测方法、系统及一种机器人。



背景技术:

随着科技的进步,人工智能越来越普及的,人们希望与机器人进行像真人一样的交互。但目前与机器人的交互方式还是以鼠标、键盘及触摸屏为主,人们已经不能满足这种有诸多限制的传统交互方式。所以,我们需要设计一些更加智能化的交互方式。视觉是人与人之间理解交互信息的一种重要渠道,通过视觉观察交互对象的肢体动作,可以明白对方的交互意图。所以,为了增加机器人与人交互过程中的拟人化特征,有必要让机器人理解人的一些肢体语言,比如挥手打招呼。

申请号为201610859376.7的发明专利公开了一种基于运动历史图像的挥手检测方法。该发明首先通过人体检测器检测到人体所处的大致区域,然后对该区域进行基于运动历史图像的分析,判断人是否在挥手。但是基于运动历史图像分析的方法只适合于静态背景下,当人处在复杂的动态背景下时,则很容易将运动的背景判断为该人是在进行挥手。该现有专利的挥手检测算法实际是对待检测区域连续的三帧图像进行差分运算,然后对获得的差分图像采用阈值法获取二值图像,最后利用获取的一系列的二值图像历史信息进行挥手判断。由于该发明采用了连续图像的帧差法,所以当背景不是固定的而是动态的,比如待检测区域中有人在动,则很容易受到干扰将动态背景识别为人在挥手。

因此,需要设计一种在复杂背景下也能准确识别挥手的方法,提高人机交互的智能化。



技术实现要素:

本发明提供了一种机器人的挥手检测方法、系统及一种机器人,实现了的在复杂背景下对手掌的识别,并对手掌进行跟中,从而检测是否在挥手,对背景噪声的抗干扰性强。其技术方案如下:

一种机器人的挥手检测方法,包括:通过级联分类器在视频流中检测处于标准位置的手掌;提取所述处于标准位置的手掌的角点,得到角点集;在视频流中对所述角点集内每个角点进行跟踪检测,得到每个角点对应的运动轨迹;根据所述角点集内每个角点的运动轨迹判断手掌是否在挥手。

相对于现有技术对挥手的检测方法,本发明能够在单独的视频帧上执行手掌检测,不需要结合前后视频帧的历史数据,即在挥手的过程中即可检测挥手。通过级联分类器在复杂背景能够完成手势识别,之后对手掌的角点进行检测及跟踪,实现了复杂环境下对挥手的检测,对动态背景噪声的抗干扰能力强,对挥手检测的正确率高。

优选的,根据所述角点集内每个角点的运动轨迹判断用户是否在挥手具体包括:根据所述角点集内每个角点在视频流中相邻两帧之间的运动轨迹以及预设像素距离,分析得到所述角点集内有效运动角点的数量;根据所述有效运动角点的数量以及第一预设数量,分析得到所述角点集内的所有角点的检测情况;在所述检测情况满足预设要求时,根据所述有效运动角点的运动轨迹,分析得到所述有效运动角点内的有效挥手角点数量;根据所述有效挥手角点数量以及第二预设数量,判断用户是否在挥手。

通过对视频流中角点轨迹的检测,首先判断角点是否进行了有效运动,提高了挥手检测的正确率;判断角点是否进行了向左向右的有效运动,能够有效判断手掌是否在挥手。

优选的,根据所述角点集内每个角点在视频流相邻两帧之间的运动轨迹以及预设像素距离,分析得到所述角点集内有效运动角点的数量具体包括:根据所述角点集内每个角点在所述视频流中相邻两帧之间的运动轨迹计算所述视频流中相邻两帧之间同一角点的运动距离;判断所述运动距离是否大于预设像素距离;当所述运动距离大于预设像素距离时,判断所述角点进行有效运动,并将所述角点作为所述有效运动角点;当所述运动距离小于所述预设像素距离时,判定所述角点进行无效运动,并将所述有效运动角点的数量ntrack减1,最终计算得到的ntrack即为所述角点集内有效运动角点的数量,ntrack的初始值为所述角点集中的角点总数量n;

通过对角点运动距离与预设像素距离的比较,可以有效筛选出做了有效运动的角点,由此得到的有效运动角点ntrack的数量也比较精确,为判断手掌是否挥手做前期准备。

优选的,根据所述有效运动角点的数量以及第一预设数量,分析得到所述角点集内的所有角点的检测情况具体包括:判断所述有效运动角点的数量ntrack是否大于第一预设数量;当所述有效运动角点的数量ntrack小于所述第一预设数量时,停止检测所述有效运动角点的运动轨迹,并判断用户没有挥手;当所述有效运动角点的数量ntrack大于所述第一预设数量时,继续检测所述有效运动角点的运动轨迹。

判断所述有效运动角点的数量ntrack是否大于第一预设数量,能够初步判断手掌是否挥手,若做了有效运动的角点数量太低,可以判断出手掌没有移动,若所述有效运动角点的数量ntrack大于第一预设数量,则继续进行接下来的判断过程。

优选的,当所述有效运动角点的数量ntrack大于所述第一预设数量时,检测所述视频流中相邻两帧之间所述有效运动角点向左运动距离以及向右运动距离;判断视频流中相邻两帧之间所述有效运动角点向左运动距离以及向右运动距离是否都大于预设距离;当视频流中相邻两帧之间所述有效运动角点向左运动距离以及向右运动距离都大于预设距离时,将所述有效运动角点记为有效挥手角点,并将有效挥手角点数量nmove将加1,最终计算得到的nmove即为所述角点集内有效挥手角点的数量,所述有效挥手角点数量nmove的初始值为0。

若所述有效运动角点的数量ntrack大于第一预设数量,判断有效运动角点是否向左向右进行了有效运动,可以精确得到向左向右都进行了有效运动的有效挥手角点数量nmove,便于接下来的判断过程。

优选的,根据所述有效挥手角点数量以及第二预设数量,判断用户是否在挥手具体包括:判断所述有效挥手角点数量nmove是否大于第二预设数量;当所述有效挥手角点数量nmove大于所述第二预设数量时,判断手掌正在挥手;否则,判断手掌没有挥手。

由于手掌在挥手的时候必须要进行向左向右的挥手过程,因此手掌角点的运动轨迹也会向左向右进行运动,由此可以检测得到有效挥手角点的数量,通过对有效挥手角点数量的判断,当有效挥手角点数量大于第二预设数量时,则能够准确地分别出手掌是否正在挥手。

优选的,通过级联分类器在视频流中检测处于标准位置的手掌之前包括:制作手掌训练样本;提取所述手掌训练样本的lbp纹理特征向量,得到提取处理后的手掌训练样本;通过提取处理后的手掌训练样本训练级联分类器。

在挥手检测之前,需要训练adaboost级联分类器,对训练adaboost级联分类器所需的手掌训练样本进行lbp纹理特征提取,可以提高adaboost级联分类器的识别准确率。

优选的,制作手掌训练样本具体包括:采集不同用户在不同背景下的手掌样本,所述手掌样本包括手掌相对于标准位置在预设角度范围内旋转的样本。

筛选手掌样本时,为了便于提取lbp特征值,因此选择的手掌样本为手掌相对于标准位置在预设角度范围内手掌样本,以便更好地提升级联分类器在标准位置附近的手势识别成功率。采集不同用户在不同背景下的手掌样本,提高了样本的多样性,当采集的手掌训练样本之间具一定程度的形状及光照上的差异,获得的检测效果会非常好,提高了级联分类器对手势识别的成功率。

优选的,提取所述手掌训练样本的lbp纹理特征向量的过程具体包括:将检测窗口划分为n×n的像素区域,将所述像素区域中的一个中心像素点与相邻的8个相邻像素点的灰度值进行比较,其中n∈{64,32,16,8};若所述相邻像素点的像素值大于中心像素点的像素值,则该相邻像素点被标记为1,否则为0,由此产生8位二进制数,作为所述中心像素点的lbp值,由此可以计算得到所述像素区域内每个像素点的lbp值;根据所述像素区域内每个像素点得lbp值计算所述像素区域的统计直方图,并对所述统计直方图进行归一化处理;将所述手掌训练样本每个像素区域的统计直方图进行连接,形成所述手掌训练样本的lbp纹理特征向量;

在训练级联分类器之前,对手掌样本进行了lbp特征检测,由此训练得到的级联分类器计算速度比较快,且能够准确定位到手掌在图像上的位置。

优选的,检测所述手掌区域的角点,得到角点集,以及在视频流中对所述角点集内所有角点进行跟踪检测,得到每个角点对应的运动轨迹具体为:通过角点检测算法提取所述处于标准位置的手掌的角点,得到角点集,并在视频流中对所述角点集内所有角点进行光流跟踪,根据光流跟踪算法检测所述角点集内所有角点运动后的位置,根据稀疏光流算法计算得到每个角点对应的运动轨迹。

通过角点检测算法,能够有效地提取手掌区域的角点,通过光流跟踪算法,能够更好地实现在视频流中对各个角点的光流跟踪,通过稀疏光流算法可以更好地检测角点的运动轨迹,便于之后对挥手的检测过程。

一种机器人的挥手检测系统,包括:检测模块,用于通过级联分类器在视频流中检测处于标准位置的手掌;角点提取模块,与所述检测模块电连接,用于提取所述处于标准位置的手掌的角点,得到角点集;角点跟踪模块,与所述角点提取模块电连接,用于在视频流中对所述角点集内每个角点进行跟踪检测,得到每个角点对应的运动轨迹;判断模块,与所述角点跟踪模块电连接,用于根据所述角点集内每个角点的运动轨迹判断手掌是否在挥手。

优选的,所述判断模块包括:分析子模块,根据所述角点集内每个角点在视频流中相邻两帧之间的运动轨迹以及预设像素距离,分析得到所述角点集内有效运动角点的数量;所述分析子模块还用于根据所述有效运动角点的数量以及第一预设数量,分析得到所述角点集内的所有角点的检测情况;所述分析子模块还用于在所述检测情况满足预设要求时,根据所述有效运动角点的运动轨迹,分析得到所述有效运动角点内的有效挥手角点数量;判断子模块,与所述分析子模块电连接,用于根据所述有效挥手角点数量以及第二预设数量,判断用户是否在挥手。

优选的,所述判断模块还包括:计算子模块,用于根据所述角点集内每个角点在所述视频流中相邻两帧之间的运动轨迹计算所述视频流中相邻两帧之间同一角点的运动距离;所述判断子模块,还与所述计算子模块电连接,用于判断所述运动距离是否大于预设像素距离;手势判断子子模块还用于当所述运动距离大于预设像素距离时,判断所述角点进行有效运动,并将所述角点作为所述有效运动角点;手势判断子子模块还用于当所述运动距离小于所述预设像素距离时,判定所述角点进行无效运动,并将所述有效运动角点的数量ntrack减1,最终计算得到的ntrack即为所述角点集内有效运动角点的数量,ntrack的初始值为所述角点集中的角点总数量n;

优选的,所述判断子模块还用于判断所述有效运动角点的数量ntrack是否大于第一预设数量;所述判断子模块还用于当所述有效运动角点的数量ntrack小于所述第一预设数量时,停止检测所述有效运动角点的运动轨迹,并判断用户没有挥手;所述判断子模块还用于当所述有效运动角点的数量ntrack大于所述第一预设数量时,继续检测所述有效运动角点的运动轨迹。

优选的,所述判断模块还包括检测子模块,用于当所述有效运动角点的数量ntrack大于所述第一预设数量时,检测所述视频流中相邻两帧之间所述有效运动角点向左运动距离以及向右运动距离;所述判断子模块还用于判断视频流中相邻两帧之间所述有效运动角点向左运动距离以及向右运动距离是否都大于预设距离;所述判断子模块还用于当视频流中相邻两帧之间所述有效运动角点向左运动距离以及向右运动距离都大于预设距离时,将所述有效运动角点记为有效挥手角点,并将有效挥手角点数量nmove将加1,最终计算得到的nmove即为所述角点集内有效挥手角点的数量,所述有效挥手角点数量nmove的初始值为0。

优选的,所述判断子模块还用于判断所述有效挥手角点数量nmove是否大于第二预设数量;所述判断子模块还用于当所述有效挥手角点数量nmove大于所述第二预设数量时,判断手掌正在挥手;否则,判断手掌没有挥手。

优选的,还包括:样本制作模块,用于制作手掌训练样本;特征提取模块,提取所述手掌训练样本的lbp纹理特征向量,得到提取处理后的手掌训练样本;分类器训练模块,与所述特征提取模块电连接,用于通过提取处理后的手掌训练样本训练级联分类器。

优选的,所述特征提取模块包括:处理子模块,用于将检测窗口划分为n×n的像素区域,将所述像素区域中的一个中心像素点与相邻的8个相邻像素点的灰度值进行比较,其中n∈{64,32,16,8};特征值计算子模块,与所述处理子模块电连接,若所述相邻像素点的像素值大于中心像素点的像素值,则该相邻像素点被标记为1,否则为0,由此产生8位二进制数,作为所述中心像素点的lbp值,由此可以计算得到所述像素区域内每个像素点的lbp值;所述处理子模块还用于根据所述像素区域内每个像素点得lbp值计算所述像素区域的统计直方图,并对所述统计直方图进行归一化处理;所述处理子模块还用于将所述手掌训练样本每个像素区域的统计直方图进行连接,形成所述手掌训练样本的lbp纹理特征向量;

优选的,所述角点跟踪模块还用于通过角点检测算法提取所述处于标准位置的手掌的角点,得到角点集,并在视频流中对所述角点集内所有角点进行光流跟踪,根据光流跟踪算法检测所述角点集内所有角点运动后的位置,根据稀疏光流算法计算得到每个角点对应的运动轨迹。

一种机器人,其集成有本发明提供的一种机器人的挥手检测系统。

根据本发明提供的一种机器人的挥手检测方法、系统及一种机器人,能够实现以下至少一种有益效果:

1、相对于现有技术对挥手的检测方法,本发明能够在单独的视频帧上执行手掌检测,不需要结合前后视频帧的历史数据,即在挥手的过程中即可检测挥手。通过级联分类器在复杂背景能够完成手势识别,之后对手掌的角点进行检测及跟踪,实现了复杂环境下对挥手的检测,对动态背景噪声的抗干扰能力强,对挥手检测的正确率高。

2、通过角点检测算法,能够有效地提取手掌区域的角点,通过光流跟踪算法,能够更好地实现在视频流中对各个角点的光流跟踪,通过稀疏光流算法可以更好地检测角点的运动轨迹,便于之后对挥手的检测过程。

3、通过对视频流中角点轨迹的检测,首先判断角点是否进行了有效运动,提高了挥手检测的正确率。判断角点是否进行了向左向右的有效运动,能够有效判断手掌是否在挥手。

4、筛选手掌样本时,为了便于提取lbp特征值,因此选择的手掌样本为手掌相对于标准位置在预设角度范围内手掌样本,以便更好地提升级联分类器在标准位置附近的手势识别成功率。采集不同用户在不同背景下的手掌样本,提高了样本的多样性,当采集的手掌训练样本之间具一定程度的形状及光照上的差异,获得的检测效果会非常好,提高了级联分类器对手势识别的成功率。

5、在训练级联分类器之前,对手掌样本进行了lbp特征检测,由此训练得到的级联分类器计算速度比较快,且能够准确定位到手掌在图像上的位置。

附图说明

下面将以明确易懂的方式,结合附图说明优选实施方式,对一种机器人的挥手检测方法、系统及机器人的上述特性、技术特征、优点及其实现方式予以进一步说明。

图1是本发明一种机器人的挥手检测方法的一个实施例流程图;

图2是本发明一种机器人的挥手检测方法的另一个实施例流程图;

图3是本发明手掌挥动示意图;

图4是本发明一种机器人的挥手检测方法的另一个实施例流程图;

图5是本发明手掌角点跟踪检测图;

图6是本发明一种机器人的挥手检测方法的另一个实施例流程图;

图7是本发明一种机器人的挥手检测系统的一个结构示意图;

图8是本发明一种机器人的挥手检测系统的另一个结构示意图;

图9是本发明一种机器人的挥手检测系统的另一个结构示意图;

附图标号说明:

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。

如图1所示,本发明提供了一种机器人的挥手检测方法的一个实施例,包括:

s4通过级联分类器在视频流中检测处于标准位置的手掌;

s5提取所述处于标准位置的手掌的角点,得到角点集;

s6在视频流中对所述角点集内每个角点进行跟踪检测,得到每个角点对应的运动轨迹;

s7根据所述角点集内每个角点的运动轨迹判断手掌是否在挥手。

具体的,在本实施例中,首先adaboost级联分类器采用adaboost算法,检测视频流中的处于标准位置的手掌,当检测到处于标准位置的手掌之后,运用角点采集的方法采集手掌上的角点,并在视频流中对角点进行跟踪检测,得到每个角点的运动轨迹,通过运动轨迹则可以判断出判断视频流中的手掌是否在挥手。

本实施例中,机器人在采集视频流的时候能够同步检测手掌以及手掌上角点的运动轨迹,不用基于历史图像来进行挥手检测,运用adaboost级联分类器对手掌的识别率比较高,相对于现有技术,本实施例在复杂背景下、动态背景下也可以准确地在视频流中检测到处于标准位置的手掌,便于后续对手掌角点的跟踪检测。

本实施例通过对角点运动轨迹的检测来对手掌是否挥手进行判断,比如,检测到角点集中每个角点的运动轨迹,若超过一半的角点的进行了向左向右的有效运动,则可以判断用户正在挥手。

如图2所示,本发明还提供了一种机器人的挥手检测方法的另一个实施例,包括:

s1制作手掌训练样本;

s2提取所述手掌训练样本的lbp纹理特征向量,得到提取处理后的手掌训练样本;

s3通过提取处理后的手掌训练样本训练级联分类器。

s4通过级联分类器在视频流中检测处于标准位置的手掌;

s5提取所述处于标准位置的手掌的角点,得到角点集;

s6在视频流中对所述角点集内每个角点进行跟踪检测,得到每个角点对应的运动轨迹;

s7根据所述角点集内每个角点的运动轨迹判断手掌是否在挥手。

优选的,制作手掌训练样本具体包括:s11采集不同用户在不同背景下的手掌样本,所述手掌样本包括手掌相对于标准位置在预设角度范围内旋转的样本。

优选的,提取所述手掌训练样本的lbp纹理特征向量的过程具体包括:

s21将检测窗口划分为n×n的像素区域,将所述像素区域中的一个中心像素点与相邻的8个相邻像素点的灰度值进行比较,其中n∈{64,32,16,8};

s22若所述相邻像素点的像素值大于中心像素点的像素值,则该相邻像素点被标记为1,否则为0,由此产生8位二进制数,作为所述中心像素点的lbp值,由此可以计算得到所述像素区域内每个像素点的lbp值;

s23根据所述像素区域内每个像素点得lbp值计算所述像素区域的统计直方图,并对所述统计直方图进行归一化处理;

s24将所述手掌训练样本每个像素区域的统计直方图进行连接,形成所述手掌训练样本的lbp纹理特征向量;

具体的,在使用级联分类器在视频流中检测处于标准位置的手掌之前需要训练级联分类器,本实施例具体阐述了级联分类器的样本制作过程,以及如何训练级联分类器的过程。

如图3所示,用户在挥手过程中手掌在①、②、③位置间来回运动。本实施例采用adaboost算法结合lbp特征对视频帧中的手掌进行检测。由于该算法不具有旋转不变性,仅能识别手掌在某一标准位置旋转角度在±15°范围内的手掌。本实施例选择手掌处在②位置的手势为标准手掌,其他位置的手势则不能识别。

级联分类器的训练过程可以分为:1、制作手掌训练样本;2、手掌训练样本lbp特征的提取;3、训练级联分类器。

在采集手掌训练样本的时候,为了便于提取lbp特征值,因此选择的手掌样本为手掌相对于标准位置在预设角度范围内手掌样本,以便更好地提升级联分类器在标准位置附近的手势识别成功率,手掌预设角度范围可以是±15°的范围,即样本包括相对标准位置旋转角度在±15°范围内的手势样本,以更好的提升算法在标准位置附近的手势识别率。采集不同用户在不同背景下的手掌样本时为了提高了样本的多样性,当采集的手掌训练样本之间具一定程度的形状及光照上的差异,获得的检测效果会非常好,能够更大程度地提高了级联分类器对手势识别的成功率。

手掌训练样本lbp特征的提取过程为:a.将检测窗口划分为16×16的小区域(cell),对于每个cell中的一个像素,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。这样,3*3邻域内的8个点经比较可产生8位二进制数,即得到该窗口中心像素点的lbp值;b.计算每个cell的直方图,即每个数字(假定是十进制数lbp值)出现的频率;对该直方图进行归一化处理;c.最后将得到的每个cell的统计直方图进行连接成为一个特征向量,也就是整幅图的lbp纹理特征向量。

训练级联分类器所使用的adaboost算法是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器,即弱分类器,然后把这些弱分类器集合起来,构造一个更强的最终分类器,算法分为以下3步:

a.初始化训练数据的权值分布。如果有n个样本,则每一个训练样本最开始时都被赋予相同的权值:1/n;

b.训练弱分类器。如果某个样本点已经被准确地分类,那么在构造下一个训练集中,它的权值就被降低;相反,如果某个样本点没有被准确地分类,那么它的权值就得到提高。然后,权值更新过的样本集被用于训练下一个分类器,整个训练过程如此迭代地进行下去。使用具有权值分布的训练数据集学习,得到基本分类器(选取让误差率最低的阈值来设计基本分类器):

gm(x):x→{-1,+1}

计算在训练数据集上的分类误差率:

由上述式子可知,在训练数据集上的误差率就是被误分类样本的权值之和。

计算的系数,表示在最终分类器中的重要程度(目的:得到基本分类器在最终分类器中所占的权重):

由上述式子可知,时,,且随着的减小而增大,意味着分类误差率越小的基本分类器在最终分类器中的作用越大。

更新训练数据集的权值分布(目的:得到样本的新的权值分布),用于下一轮迭代

dm+1=(wm+1,1,wm+1,2,...,wm+1,n)

使得被基本分类器误分类样本的权值增大,而被正确分类样本的权值减小。就这样,通过这样的方式,adaboost方法能“重点关注”或“聚焦于”那些较难分的样本上。

c.将各个训练得到的弱分类器组合成强分类器。各个弱分类器的训练过程结束后,加大分类误差率小的弱分类器的权重,使其在最终的分类函数中起着较大的决定作用,而降低分类误差率大的弱分类器的权重,使其在最终的分类函数中起着较小的决定作用。换言之,误差率低的弱分类器在最终分类器中占的权重较大,否则较小。

组合各个弱分类器,从而得到最终分类器,如下:

由于采用了改良过的手掌检测算法,具有以下优点:

1、该手势检测算法是在单独的视频帧上执行手掌检测,不需要结合前后视频帧的历史数据。

2、该检测算法是通过手掌图像的lbp特征进行检测,计算速度比较快,且能够准确定位到手掌在图像上的位置。

3、当采集的手掌训练样本之间具一定程度的形状及光照上的差异,获得的检测效果会非常好,识别率高。

如图4所示,本发明还提供了一种机器人的挥手检测方法的另一个实施例,包括:

s11采集不同用户在不同背景下的手掌样本,所述手掌样本包括手掌相对于标准位置在预设角度范围内旋转的样本;

s21将检测窗口划分为n×n的像素区域,将所述像素区域中的一个中心像素点与相邻的8个相邻像素点的灰度值进行比较,其中n∈{64,32,16,8};

s22若所述相邻像素点的像素值大于中心像素点的像素值,则该相邻像素点被标记为1,否则为0,由此产生8位二进制数,作为所述中心像素点的lbp值,由此可以计算得到所述像素区域内每个像素点的lbp值;

s23根据所述像素区域内每个像素点得lbp值计算所述像素区域的统计直方图,并对所述统计直方图进行归一化处理;

s24将所述手掌训练样本每个像素区域的统计直方图进行连接,形成所述手掌训练样本的lbp纹理特征向量;

s3通过提取处理后的手掌训练样本训练级联分类器;

s4通过级联分类器在视频流中检测处于标准位置的手掌;

s51通过角点检测算法提取所述处于标准位置的手掌的角点,得到角点集;

s61在视频流中对所述角点集内所有角点进行光流跟踪,根据光流跟踪算法检测所述角点集内所有角点运动后的位置,根据稀疏光流算法计算得到每个角点对应的运动轨迹;

s71根据所述角点集内每个角点在视频流中相邻两帧之间的运动轨迹以及预设像素距离,分析得到所述角点集内有效运动角点的数量;

s72当所述有效运动角点的数量大于第一预设数量时,继续对所述角点集内的所有角点进行跟踪检测;

s73根据所述有效运动角点的运动轨迹,分析得到所述有效运动角点内的有效挥手角点数量;

s74当所述有效挥手角点数量大于第二预设数量,判断用户在挥手。

本实施例具体阐述了手掌角点的检测、跟踪,以及根据角点的运动轨迹如何检测挥手的过程。

具体的,如图5所示,手掌运动的检测、跟踪的过程。①为在视频帧中检测到处于标准位置的手掌;②为通过角点检测算法提取到手掌区域内的角点,该提取出来的角点有多个,在图中示意性的给出了一部分,标黑的点即为检测到的角点;③为手掌在视频帧中处于标准位置时检测到的角点初始位置,以该点作为初始位置对视频帧进行光流跟踪;④、⑤为在接下来视频帧中通过光流跟踪算法检测到的角点的运动后的位置;l1、l2为在手掌挥动过程中通过稀疏光流算法跟踪到手角点的运动路径。

本实施例中,对角点的提取方法采用角点检测算法,能够有效地提取手掌区域的角点,除此以外,还可以用其他特征点的提取方法,如fast特征点提取方法等等,此处不再赘述。对角点在视频流中的跟踪采用的是光流跟踪算法,能够在视频流中对每个角点进行有效的跟踪,提高了跟踪的有效程度,通过稀疏光流算法可以更好地检测角点的运动轨迹,便于之后对挥手的检测过程。

检测视频流中相邻两帧之间各个角点的运动轨迹,可以得到各个角点的运动距离,当相邻两帧中角点的运动距离大于预设像素距离时,将所述角点作为有效运动角点,同时统计有效运动角点的数量。

根据所述有效运动角点的数量以及第一预设数量,分析得到所述角点集内的所有角点的检测情况,具体的检测情况为:一种是有效运动角点的数量小于第一预设数量,所述第一预设数量的值比较小,可以设为5~10个,由于提取到的手掌角点数量远远超过5~10个,当有效运动角点的数量小于第一预设数量,即大多数角点都没有进行有效运动,此时可以判断手掌没有进行挥手。

当有效运动角点的数量大于第一预设数量时,即所述检测情况满足预设要求时,根据所述有效运动角点的运动轨迹,分析得到所述有效运动角点内的有效挥手角点数量,在挥手时,手掌肯定会向左向右进行运动,手掌上的角点也会做同样的运动,由此会形成相应的运动轨迹,根据角点的运动轨迹即可以判断手掌挥手。在对有效运动角点进行跟踪检测的时候,不可避免的会丢失目标,因此跟踪得到的有效运动角点数量不会有原始有效运动角点数量这么多,当有效运动角点向左向右都做了有效运动之后,将所述的有效运动角点记为有效挥手角点。当所述有效挥手角点数量大于第二预设数量,则可以判断用户在挥手。

如图6所示,本发明还提供了一种机器人的挥手检测方法的另一个实施例,包括:

s11采集不同用户在不同背景下的手掌样本,所述手掌样本包括手掌相对于标准位置在预设角度范围内旋转的样本;

s21将检测窗口划分为n×n的像素区域,将所述像素区域中的一个中心像素点与相邻的8个相邻像素点的灰度值进行比较,其中n∈{64,32,16,8};

s22若所述相邻像素点的像素值大于中心像素点的像素值,则该相邻像素点被标记为1,否则为0,由此产生8位二进制数,作为所述中心像素点的lbp值,由此可以计算得到所述像素区域内每个像素点的lbp值;

s23根据所述像素区域内每个像素点得lbp值计算所述像素区域的统计直方图,并对所述统计直方图进行归一化处理;

s24将所述手掌训练样本每个像素区域的统计直方图进行连接,形成所述手掌训练样本的lbp纹理特征向量;

s3通过提取处理后的手掌训练样本训练级联分类器;

s4通过级联分类器在视频流中检测处于标准位置的手掌;

s51通过角点检测算法提取所述处于标准位置的手掌的角点,得到角点集;

s61在视频流中对所述角点集内所有角点进行光流跟踪,根据光流跟踪算法检测所述角点集内所有角点运动后的位置,根据稀疏光流算法计算得到每个角点对应的运动轨迹;

s711根据所述角点集内每个角点在所述视频流中相邻两帧之间的运动轨迹计算所述视频流中相邻两帧之间同一角点的运动距离;

s712判断所述运动距离是否大于预设像素距离;

s713当所述运动距离大于预设像素距离时,判断所述角点进行有效运动,并将所述角点作为所述有效运动角点;

s714当所述运动距离小于所述预设像素距离时,判定所述角点进行无效运动,并将所述有效运动角点的数量ntrack减1,最终计算得到的ntrack即为所述角点集内有效运动角点的数量,ntrack的初始值为所述角点集中的角点总数量n;

s721判断所述有效运动角点的数量ntrack是否大于第一预设数量;

s722当所述有效运动角点的数量ntrack小于所述第一预设数量时,停止检测所述有效运动角点的运动轨迹,并判断用户没有挥手;

s723当所述有效运动角点的数量ntrack大于所述第一预设数量时,继续检测所述有效运动角点的运动轨迹。

s731当所述有效运动角点的数量ntrack大于所述第一预设数量时,检测所述视频流中相邻两帧之间所述有效运动角点向左运动距离以及向右运动距离;

s732判断视频流中相邻两帧之间所述有效运动角点向左运动距离以及向右运动距离是否都大于预设距离;

s733当视频流中相邻两帧之间所述有效运动角点向左运动距离以及向右运动距离都大于预设距离时,将所述有效运动角点记为有效挥手角点,并将有效挥手角点数量nmove将加1,最终计算得到的nmove即为所述角点集内有效挥手角点的数量,所述有效挥手角点数量nmove的初始值为0;

s741判断所述有效挥手角点数量nmove是否大于第二预设数量;

s742当所述有效挥手角点数量nmove大于所述第二预设数量时,判断手掌正在挥手;

s743否则,判断手掌没有挥手。

具体的,本实施例对如何根据所述角点集内每个角点的运动轨迹判断手掌是否在挥手进行了更加详细地说明。

挥手检测过程具体为:

①从视频帧中检测到标准手势开始对手掌进行跟踪,统计手掌区域所有跟踪角点ai{i=1,2,...n}的运动路径li{i=1,2,...n},n为手掌区域内的角点总数。规定当li>0表示该角点运动到标准手势的右方,当li<0表示该角点运动到标准手势的左边。

②当li<-dleft表示该角点向左进行了有效运动,该角点的相应标志位mi,left=true,其中dleft为向左运动距离的阈值,可以设为两个像素距离;当li>dright表示该角点向右进行了有效运动,该角点的相应标志位mi,right=true,其中dright为向右运动距离的阈值,可以设为两个像素距离;

③当视频流中两帧之间角点ai的运动路径li小于两个像素距离,视为该角点跟踪失效,跟踪有效的角点数量ntrack减去1,ntrack的初始值为所述角点集中的的角点总数量n;

④当跟踪有效的角点总数ntrack<5时停止跟踪,当跟踪有效的角点总数ntrack≥5时,继续判断视频流中所述有效运动角点是否向左及向右都进行了有效运动,

⑤当某一角点ai向左及向右都进行了的有效运动,即运动标识mi,left=true,mi,right=true,则有效挥手角点数量nmove加1。所述有效挥手角点数量nmove的初始值为0;

⑥实时统计有效挥手角点数量nmove,当时可判断用户正在进行挥手,同时停止角点跟踪并开始新一轮的手掌检测。

⑥若果挥手检测有效运动角点总数则本次检测无效,开始新一轮的检测。

本实施例提出一种能够在动态背景下准确识别人手挥动的方法,摄像头能够通过连续的视频帧检测有没有人在挥手。本发明本质上不同于基于帧差法的识别,首先通过手掌检测器在每一帧的图片上检测手掌,一旦检测到手掌即对手掌进行跟踪,通过手掌的运动轨迹进行挥手判断。由于手掌检测是在单帧图片上进行检测而并不需要结合上下的历史图像帧,所以不会受到复杂背景及动态背景的干扰。即该检测方法准确稳定,能够不受复杂背景的影响,即使背景有人或者其他物体的运动干扰,也能准确识别是否在挥手。

如图7所示,本发明提供了一种机器人的挥手检测系统的一个实施例,包括:

检测模块,用于通过级联分类器在视频流中检测处于标准位置的手掌;

角点提取模块,与所述检测模块电连接,用于提取所述处于标准位置的手掌的角点,得到角点集;

角点跟踪模块,与所述角点提取模块电连接,用于在视频流中对所述角点集内每个角点进行跟踪检测,得到每个角点对应的运动轨迹;

判断模块,与所述角点跟踪模块电连接,用于根据所述角点集内每个角点的运动轨迹判断手掌是否在挥手。

首先机器人调用检测模块通过级联分类器在视频流中检测处于标准位置的手掌;其次,调用角点提取模块提取所述处于标准位置的手掌的角点,得到角点集;再次,调用角点跟踪模块在视频流中对所述角点集内每个角点进行跟踪检测,得到每个角点对应的运动轨迹;最后调用判断模块,根据所述角点集内每个角点的运动轨迹判断手掌是否在挥手。

本实施例中,机器人在采集视频流的时候能够同步检测手掌以及手掌上角点的运动轨迹,不用基于历史图像来进行挥手检测,运用adaboost级联分类器对手掌的识别率比较高,相对于现有技术,本实施例在复杂背景下、动态背景下也可以准确地在视频流中检测到处于标准位置的手掌,便于后续对手掌角点的跟踪检测。

如图8所示,本发明提供了一种机器人的挥手检测系统的一个实施例,在上一个实施例的基础上,还包括:

样本制作模块,用于制作手掌训练样本;

特征提取模块,提取所述手掌训练样本的lbp纹理特征向量,得到提取处理后的手掌训练样本;

分类器训练模块,与所述特征提取模块电连接,用于通过提取处理后的手掌训练样本训练级联分类器。

优选的,所述特征提取模块包括:

处理子模块,用于将检测窗口划分为n×n的像素区域,将所述像素区域中的一个中心像素点与相邻的8个相邻像素点的灰度值进行比较,其中n∈{64,32,16,8};

特征值计算子模块,与所述处理子模块电连接,若所述相邻像素点的像素值大于中心像素点的像素值,则该相邻像素点被标记为1,否则为0,由此产生8位二进制数,作为所述中心像素点的lbp值,由此可以计算得到所述像素区域内每个像素点的lbp值;

所述处理子模块还用于根据所述像素区域内每个像素点得lbp值计算所述像素区域的统计直方图,并对所述统计直方图进行归一化处理;

所述处理子模块还用于将所述手掌训练样本每个像素区域的统计直方图进行连接,形成所述手掌训练样本的lbp纹理特征向量;

所述角点跟踪模块还用于通过角点检测算法提取所述处于标准位置的手掌的角点,得到角点集,并在视频流中对所述角点集内所有角点进行光流跟踪,根据光流跟踪算法检测所述角点集内所有角点运动后的位置,根据稀疏光流算法计算得到每个角点对应的运动轨迹。

如图3所示,用户在挥手过程中手掌在①、②、③位置间来回运动,本实施例采用adaboost算法结合lbp特征对视频帧中的手掌进行检测。由于该算法不具有旋转不变性,仅能识别手掌在某一标准位置旋转角度在±15°范围内的手掌。本实施例选择手掌处在②位置的手势为标准手掌,其他位置的手势则不能识别。

级联分类器的训练过程可以分为:1、制作手掌训练样本;2、手掌训练样本lbp特征的提取;3、训练级联分类器。

在采集手掌训练样本的时候,为了便于提取lbp特征值,因此选择的手掌样本为手掌相对于标准位置在预设角度范围内手掌样本,以便更好地提升级联分类器在标准位置附近的手势识别成功率,手掌预设角度范围可以是±15°的范围,即样本包括相对标准位置旋转角度在±15°范围内的手势样本,以更好的提升算法在标准位置附近的手势识别率。采集不同用户在不同背景下的手掌样本时为了提高了样本的多样性,当采集的手掌训练样本之间具一定程度的形状及光照上的差异,获得的检测效果会非常好,能够更大程度地提高了级联分类器对手势识别的成功率。

特征提取模块提取手掌训练样本lbp特征的过程为:a.将检测窗口划分为16×16的小区域(cell),对于每个cell中的一个像素,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。这样,3*3邻域内的8个点经比较可产生8位二进制数,即得到该窗口中心像素点的lbp值;b.计算每个cell的直方图,即每个数字(假定是十进制数lbp值)出现的频率;对该直方图进行归一化处理;c.最后将得到的每个cell的统计直方图进行连接成为一个特征向量,也就是整幅图的lbp纹理特征向量。

训练级联分类器所使用的adaboost算法是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器,即弱分类器,然后把这些弱分类器集合起来,构造一个更强的最终分类器,算法分为以下3步:

a.初始化训练数据的权值分布。如果有n个样本,则每一个训练样本最开始时都被赋予相同的权值:1/n;

b.训练弱分类器。如果某个样本点已经被准确地分类,那么在构造下一个训练集中,它的权值就被降低;相反,如果某个样本点没有被准确地分类,那么它的权值就得到提高。然后,权值更新过的样本集被用于训练下一个分类器,整个训练过程如此迭代地进行下去。使用具有权值分布的训练数据集学习,得到基本分类器(选取让误差率最低的阈值来设计基本分类器):

gm(x):x→{-1,+1}

计算在训练数据集上的分类误差率:

由上述式子可知,在训练数据集上的误差率就是被误分类样本的权值之和。

计算的系数,表示在最终分类器中的重要程度(目的:得到基本分类器在最终分类器中所占的权重):

由上述式子可知,时,,且随着的减小而增大,意味着分类误差率越小的基本分类器在最终分类器中的作用越大。

更新训练数据集的权值分布(目的:得到样本的新的权值分布),用于下一轮迭代

dm+1=(wm+1,1,wm+1,2,...,wm+1,n)

使得被基本分类器误分类样本的权值增大,而被正确分类样本的权值减小。就这样,通过这样的方式,adaboost方法能“重点关注”或“聚焦于”那些较难分的样本上。

c.将各个训练得到的弱分类器组合成强分类器。各个弱分类器的训练过程结束后,加大分类误差率小的弱分类器的权重,使其在最终的分类函数中起着较大的决定作用,而降低分类误差率大的弱分类器的权重,使其在最终的分类函数中起着较小的决定作用。换言之,误差率低的弱分类器在最终分类器中占的权重较大,否则较小。

组合各个弱分类器,从而得到最终分类器,如下:

由于采用了改良过的手掌检测算法,具有以下优点:

1、该手势检测算法是在单独的视频帧上执行手掌检测,不需要结合前后视频帧的历史数据。

2、该检测算法是通过手掌图像的lbp特征进行检测,计算速度比较快,且能够准确定位到手掌在图像上的位置。

3、当采集的手掌训练样本之间具一定程度的形状及光照上的差异,获得的检测效果会非常好,识别率高。

如图9所示,本发明提供了一种机器人的挥手检测系统的一个实施例,包括:

检测模块,用于通过级联分类器在视频流中检测处于标准位置的手掌;

角点提取模块,与所述检测模块电连接,用于提取所述处于标准位置的手掌的角点,得到角点集;

角点跟踪模块,与所述角点提取模块电连接,用于在视频流中对所述角点集内每个角点进行跟踪检测,得到每个角点对应的运动轨迹;

判断模块,与所述角点跟踪模块电连接,用于根据所述角点集内每个角点的运动轨迹判断手掌是否在挥手;

所述判断模块包括:

分析子模块,根据所述角点集内每个角点在视频流中相邻两帧之间的运动轨迹以及预设像素距离,分析得到所述角点集内有效运动角点的数量;

所述分析子模块还用于根据所述有效运动角点的数量以及第一预设数量,分析得到所述角点集内的所有角点的检测情况;

所述分析子模块还用于在所述检测情况满足预设要求时,根据所述有效运动角点的运动轨迹,分析得到所述有效运动角点内的有效挥手角点数量;

判断子模块,与所述分析子模块电连接,用于根据所述有效挥手角点数量以及第二预设数量,判断用户是否在挥手;

所述判断模块还包括:

计算子模块,用于根据所述角点集内每个角点在所述视频流中相邻两帧之间的运动轨迹计算所述视频流中相邻两帧之间同一角点的运动距离;

所述判断子模块,还与所述计算子模块电连接,用于判断所述运动距离是否大于预设像素距离;

所述判断子子模块还用于当所述运动距离大于预设像素距离时,判断所述角点进行有效运动,并将所述角点作为所述有效运动角点;

手势判断子子模块还用于当所述运动距离小于所述预设像素距离时,判定所述角点进行无效运动,并将所述有效运动角点的数量ntrack减1,最终计算得到的ntrack即为所述角点集内有效运动角点的数量,ntrack的初始值为所述角点集中的角点总数量n;

所述判断子模块还用于判断所述有效运动角点的数量ntrack是否大于第一预设数量;

所述判断子模块还用于当所述有效运动角点的数量ntrack小于所述第一预设数量时,停止检测所述有效运动角点的运动轨迹,并判断用户没有挥手;

所述判断子模块还用于当所述有效运动角点的数量ntrack大于所述第一预设数量时,继续检测所述有效运动角点的运动轨迹。

所述判断模块还包括检测子模块,用于当所述有效运动角点的数量ntrack大于所述第一预设数量时,检测所述视频流中相邻两帧之间所述有效运动角点向左运动距离以及向右运动距离;

所述判断子模块还用于判断视频流中相邻两帧之间所述有效运动角点向左运动距离以及向右运动距离是否都大于预设距离;

所述判断子模块还用于当视频流中相邻两帧之间所述有效运动角点向左运动距离以及向右运动距离都大于预设距离时,将所述有效运动角点记为有效挥手角点,并将有效挥手角点数量nmove将加1,最终计算得到的nmove即为所述角点集内有效挥手角点的数量,所述有效挥手角点数量nmove的初始值为0;

所述判断子模块还用于判断所述有效挥手角点数量nmove是否大于第二预设数量;

所述判断子模块还用于当所述有效挥手角点数量nmove大于所述第二预设数量时,判断手掌正在挥手;否则,判断手掌没有挥手;

样本制作模块,用于制作手掌训练样本;

特征提取模块,提取所述手掌训练样本的lbp纹理特征向量,得到提取处理后的手掌训练样本;

分类器训练模块,与所述特征提取模块电连接,用于通过提取处理后的手掌训练样本训练级联分类器;

所述特征提取模块包括:

处理子模块,用于将检测窗口划分为n×n的像素区域,将所述像素区域中的一个中心像素点与相邻的8个相邻像素点的灰度值进行比较,其中n∈{64,32,16,8};

特征值计算子模块,与所述处理子模块电连接,若所述相邻像素点的像素值大于中心像素点的像素值,则该相邻像素点被标记为1,否则为0,由此产生8位二进制数,作为所述中心像素点的lbp值,由此可以计算得到所述像素区域内每个像素点的lbp值;

所述处理子模块还用于根据所述像素区域内每个像素点得lbp值计算所述像素区域的统计直方图,并对所述统计直方图进行归一化处理;

所述处理子模块还用于将所述手掌训练样本每个像素区域的统计直方图进行连接,形成所述手掌训练样本的lbp纹理特征向量;

所述角点跟踪模块还用于通过角点检测算法提取所述处于标准位置的手掌的角点,得到角点集,并在视频流中对所述角点集内所有角点进行光流跟踪,根据光流跟踪算法检测所述角点集内所有角点运动后的位置,根据稀疏光流算法计算得到每个角点对应的运动轨迹。

本实施例具体阐述了手掌角点的检测、跟踪,以及根据角点的运动轨迹如何检测挥手的过程。

具体的,如图5所示,手掌运动的检测、跟踪的过程。①为在视频帧中检测到处于标准位置的手掌;②为通过角点检测算法提取到手掌区域内的角点,该提取出来的角点有多个,在图中示意性的给出了一部分,标黑的点即为检测到的角点;③为手掌在视频帧中处于标准位置时检测到的角点初始位置,以该点作为初始位置对视频帧进行光流跟踪;④、⑤为在接下来视频帧中通过光流跟踪算法检测到的角点的运动后的位置;l1、l2为在手掌挥动过程中通过稀疏光流算法跟踪到手角点的运动路径。

本实施例中,对角点的提取方法采用角点检测算法,能够有效地提取手掌区域的角点,除此以外,还可以用其他特征点的提取方法,如fast特征点提取方法等等,此处不再赘述。对角点在视频流中的跟踪采用的是光流跟踪算法,能够在视频流中对每个角点进行有效的跟踪,提高了跟踪的有效程度,通过稀疏光流算法可以更好地检测角点的运动轨迹,便于之后对挥手的检测过程。

检测视频流中相邻两帧之间各个角点的运动轨迹,可以得到各个角点的运动距离,当相邻两帧中角点的运动距离大于预设像素距离时,将所述角点作为有效运动角点,同时统计有效运动角点的数量。

根据所述有效运动角点的数量以及第一预设数量,分析得到所述角点集内的所有角点的检测情况,具体的检测情况为:一种是有效运动角点的数量小于第一预设数量,所述第一预设数量的值比较小,可以设为5~10个,由于提取到的手掌角点数量远远超过5~10个,当有效运动角点的数量小于第一预设数量,即大多数角点都没有进行有效运动,此时可以判断手掌没有进行挥手。

当有效运动角点的数量大于第一预设数量时,即所述检测情况满足预设要求时,根据所述有效运动角点的运动轨迹,分析得到所述有效运动角点内的有效挥手角点数量,在挥手时,手掌肯定会向左向右进行运动,手掌上的角点也会做同样的运动,由此会形成相应的运动轨迹,根据角点的运动轨迹即可以判断手掌挥手。在对有效运动角点进行跟踪检测的时候,不可避免的会丢失目标,因此跟踪得到的有效运动角点数量不会有原始有效运动角点数量这么多,当有效运动角点向左向右都做了有效运动之后,将所述的有效运动角点记为有效挥手角点。当所述有效挥手角点数量大于第二预设数量,则可以判断用户在挥手。

具体的,本实施例对如何根据所述角点集内每个角点的运动轨迹判断手掌是否在挥手进行了更加详细地说明,挥手检测过程具体为:

①从视频帧中检测到标准手势开始对手掌进行跟踪,统计手掌区域所有跟踪角点ai{i=1,2,...n}的运动路径li{i=1,2,...n},n为手掌区域内的角点总数。规定当li>0表示该角点运动到标准手势的右方,当li<0表示该角点运动到标准手势的左边。

②当li<-dleft表示该角点向左进行了有效运动,该角点的相应标志位mi,left=true,其中dleft为向左运动距离的阈值,可以设为两个像素距离;当li>dright表示该角点向右进行了有效运动,该角点的相应标志位mi,right=true,其中dright为向右运动距离的阈值,可以设为两个像素距离;

③当视频流中两帧之间角点ai的运动路径li小于两个像素距离,视为该角点跟踪失效,跟踪有效的角点数量ntrack减去1,ntrack的初始值为所述角点集中的的角点总数量n;

④当跟踪有效的角点总数ntrack<5时停止跟踪,当跟踪有效的角点总数ntrack≥5时,继续判断视频流中所述有效运动角点是否向左及向右都进行了有效运动,

⑤当某一角点ai向左及向右都进行了的有效运动,即运动标识mi,left=true,mi,right=true,则有效挥手角点数量nmove加1。所述有效挥手角点数量nmove的初始值为0;

⑥实时统计有效挥手角点数量nmove,当时可判断用户正在进行挥手,同时停止角点跟踪并开始新一轮的手掌检测。

⑥若果挥手检测有效运动角点总数则本次检测无效,开始新一轮的检测。

本实施例提出一种能够在动态背景下准确识别人手挥动的方法,摄像头能够通过连续的视频帧检测有没有人在挥手。本发明本质上不同于基于帧差法的识别,首先通过手掌检测器在每一帧的图片上检测手掌,一旦检测到手掌即对手掌进行跟踪,通过手掌的运动轨迹进行挥手判断。由于手掌检测是在单帧图片上进行检测而并不需要结合上下的历史图像帧,所以不会受到复杂背景及动态背景的干扰。即该检测方法准确稳定,能够不受复杂背景的影响,即使背景有人或者其他物体的运动干扰,也能准确识别是否在挥手。

应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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