一种基于物联网的显示器手势动态控制系统及方法转让专利

申请号 : CN202210391064.3

文献号 : CN114816054B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 叶金华

申请人 : 江苏锦花电子股份有限公司

摘要 :

本发明公开了一种基于物联网的显示器手势动态控制系统及方法,包括:手部部位识别模块,所述手部部位识别模块为不同手部部位进行编号,并根据数据库中的手部特征对用户手部中的各个部位进行识别;识别模型构建模块,所述识别模型构建模块通过三维建模的方式构建识别模型,实时获取识别模型中用户手部各个部位对应的数据;手势识别数据获取模块,所述手势识别数据获取模块实时获取识别模型中手部各个部位对应的数据,并将同一时间中识别模型中手部各个部位对应的数据进行汇总,得到用户在一个时间点时手部数据,所述手部数据为矩阵。

权利要求 :

1.一种基于物联网的显示器手势动态控制系统,其特征在于,包括:

手部部位识别模块,所述手部部位识别模块为不同手部部位进行编号,并根据数据库中的手部特征对用户手部中的各个部位进行识别;

识别模型构建模块,所述识别模型构建模块通过三维建模的方式构建识别模型,实时获取识别模型中用户手部各个部位对应的数据;

手势识别数据获取模块,所述手势识别数据获取模块实时获取识别模型中手部各个部位对应的数据,并将同一时间中识别模型中手部各个部位对应的数据进行汇总,得到用户在一个时间点时手部数据,所述手部数据为矩阵;

手势识别数据动态分析模块,所述手势识别数据动态分析模块获取同一用户手部数据随时间变化的关系,结合数据库中预制的不同指令对应的手势数据函数,得到用户手势识别数据动态分析结果;

手势动态控制模块,所述手势动态控制模块根据用户手势识别数据动态分析结果,对显示器进行控制;

所述手部部位识别模块根据数据库中的手部特征对用户手部中的各个部位进行识别的方法包括以下步骤:S1.1、将手指中相连的两个部位的连接处记为一个关节点,手指中除指尖外的每一个部位均对应两个关节点,手指的指尖部位对应一个关节点,获取用户手部手指中相连的部位之间关系,即获取各个相应关节点对应的信息,所述关节点信息包括关节点区域中的折痕个数、相应折痕之间的长度比及相应折痕之间的间距比;

S1.2、获取用户手部手指中不相连的各个部位之间的关系,即手指伸直状态下,不同手指之间的长度比,及不同部位之间的长度比;

S1.3、获取手部中各个部位区域分别对应的纹路信息,所述手部的各个部位区域包括手掌部位及手指部位,所述用户手部手指中相连的部位之间关系、用户手部手指中不相连的各个部位之间的关系及手部中各个部位区域分别对应的纹路信息构成用户手部特征,并将用户手部特征存储到数据库中;

S1.4、对用户手部中的各个部位进行识别时,获取相应部位对应的关节点,并将所得的关节点相应的关节点信息与用户手部特征进行比较,当所得关节点相应的关节点信息存在与用户手部特征中部位A对应的信息相同时,则判定获取的相应部位对应的编号与部位A对应的编号相同,当所得关节点相应的关节点信息与用户手部特征中各个部位对应的信息均不相同时,则判定获取的相应部位对应的纹路信息,并将所得纹路信息与用户手部特征进行对比,当所得纹路信息与用户手部特征中部位A1对应的纹路信息之间的相似度大于等于第一阈值时,则判定获取的相应部位对应的编号与部位A1对应的编号相同,反之,则判定获取的部位无法识别。

2.根据权利要求1所述的一种基于物联网的显示器手势动态控制系统,其特征在于:所述识别模型构建模块通过三维建模的方式构建识别模型的方法包括以下步骤:S2.1、获取时间t时,显示器上的摄像头采集的手部图片,并根据手部特征中手掌部位的纹路信息识别手部图片中手掌部位,将手掌部位的中心点记为o,将图片中手掌部位中的像素个数记为B1t;

S2.2、获取数据库中手掌部位平行于显示器且手掌部位的中心点距离显示器为第一单位距离时的图片记为标准图片,将标准图片中对应的手掌部位中的像素个数记为Bt;

S2.3、计算时间t时对应的模型缩放比例βt,所述

S2.4、获取摄像头采集手部图片时,图片中手掌部位与中指连接的关节点信息,获取该关节点信息中该关节点区域中,包含所有折痕的最小矩形区域的中心点,并将该最小矩形区域的中心点对应的手部位置记为c1,默认手掌部位始终平行于显示器,获取摄像头采集手部图片时,以o为原点、以直线oc1为x轴、以垂直于x轴的过o点且与显示器所在平面相交的直线为z轴、以过o点且分别垂直与x轴及z轴的直线为y轴,构建空间直角坐标系,得到模型缩放比例为βt的识别模型。

3.根据权利要求2所述的一种基于物联网的显示器手势动态控制系统,其特征在于:所述识别模型构建模块获取识别模型中用户手部各个部位对应的数据的方法包括以下步骤:S3.1、获取识别模型中手指中相连的两个部位分别对应的编号d及d1,将编号d及编号d1分别对应的部位相连的关节点记为Cdd1,获取Cdd1对应的关节点信息中相应关节点区域中,包含所有折痕的最小矩形区域中心点,记为ECdd1;

S3.2、分别获取时间t时识别模型中各个手指部位对应的倾斜系数;

所述识别模型获取手指部位对应的倾斜系数的方法包括以下步骤:

S3.2.1、获取编号为d3的手部中的手指部位对应的关节点,

若编号为d3的手指部位不为指尖时,则获取相应的手指部位对应的两个关节点,并分别获取这两个关节点信息对应的最小矩形区域中心点,记为E1及E2;

S3.2.2、获取时间t采集的图片中E1与E2之间的长度LtE1E2,获取标准图片中E1与E2之间的长度LE1E2;

S3.2.3、计算编号为d3的手指部位对应的倾斜系数Qtd3,

所述Qtd3=LtE1E2/(LE1E2*βt)。

4.根据权利要求3所述的一种基于物联网的显示器手势动态控制系统,其特征在于:所述S3.2.1中获取编号为d3的手部中的手指部位对应的关节点时,当编号为d3的手指部位为指尖时,则获取相应的指尖部位对应的关节点,获取这个关节点信息对应的最小矩形区域中心点,记为E1,并对时间t采集的图片中该指尖部位进行分析处理;

所述识别模型构建模块对时间t采集的图片中该指尖部位进行分析处理时,先对时间t采集的图片中该指尖部位进行灰度处理,得到编号为d3的指尖部位中各个像素点对应的灰度值,比较相邻像素点之间的灰度值之差,对灰度值之差大于第二阈值且灰度值大的像素点进行标记,得到编号为d3的指尖部位对应的一个边缘临界点,分别计算时间t采集的图片中编号为d3的指尖部位对应的每个边缘临界点与E1之间的距离,将最大距离对应的边缘临界点记为E2,并跳转到S3.2.2。

5.根据权利要求3所述的一种基于物联网的显示器手势动态控制系统,其特征在于:所述手势识别数据获取模块得到用户在一个时间点时手部数据的方法包括以下步骤:S4.1、获取时间t采集的图片中d3为不同值时,编号d3对应的手部部位相应的倾斜系数Qtd3;

S4.2、获取d3分别对应的值,d3=Djk,j∈{1,2,3,4,5}且k∈{1,2,3},在对手部部位进行编号时,同一手指上的不同部位对应的编号中的j相同且k不同,j的值等于从大拇指至小拇指的排列顺序中的手指序号,k等于1时表示相应手指的近节指骨,k等于2时表示j∈{2,3,4,5}时相应手指的中节指骨及j等于1时手部的手掌部位,k等于3时表示相应手指的指尖;

S4.3、得到用户在时间t时对应的手部数据QSt,

所述

6.根据权利要求5所述的一种基于物联网的显示器手势动态控制系统,其特征在于:所述手势识别数据动态分析模块得到用户手势识别数据动态分析结果的方法包括以下步骤:S5.1、获取t为不同值时,用户对应的各个手部数据QSt,将用户编号为Djk的手部部位在QSt中对应的倾斜系数记为QStjk;

S5.2、获取第一预设时间t1内各个手部数据中,用户编号为Djk的手部部位在各个手部数据中分别对应的倾斜系数,并将获取的数据在平面直角坐标系中进行标记,所述平面直角坐标系是以o1为原点、以时间为x1轴、以倾斜系数为y1轴构建的;

S5.3、根据数据库中预制的线性拟合模型对平面直角坐标系中标记的点进行拟合,得到编号为Djk的手部部位对应的倾斜系数随时间变化的函数,记为GDjk(x1),0≤x1≤t1;

S5.4、获取数据库中预制的不同指令对应的手势数据函数,将第m个指令对应的手势数据函数中,编号为Djk的手部部位对应的倾斜系数随时间变化的函数,记为GmDjk(x1);

S5.5、得到用户手势识别动态数据与第m个指令对应的手势数据函数中,编号为Djk的手部部位对应的动态偏差值PmDjk,所述S5.6、得到用户手势识别动态数据与第m个指令对应的手势数据函数之间的整体动态偏差值Pm,作为用户手势识别数据与第m个指令之间的动态分析结果,所述

S5.7、获取用户手势识别数据与各个指令之间的动态分析结果,得到用户手势识别数据动态分析结果。

7.根据权利要求6所述的一种基于物联网的显示器手势动态控制系统,其特征在于:所述手势动态控制模块获取用户手势识别数据动态分析结果,选取相应的各个动态分析结果中的最小值,记为CKZL,将CKZL与数据库中的第一预设值YSD进行比较,

当CKZL≥YSD时,则判定用户手势动态指令错误,不对显示器进行控制;

当CKZL<YSD时,则判定用户手势动态指令正确,按CKZL在数据库中对应的指令对显示器进行控制。

8.根据权利要求1‑7任意一项所述的一种基于物联网的显示器手势动态控制系统的基于物联网的显示器手势动态控制方法,其特征在于:所述方法包括以下步骤:S1、手部部位识别模块为不同手部部位进行编号,并根据数据库中的手部特征对用户手部中的各个部位进行识别;

S2、识别模型构建模块通过三维建模的方式构建识别模型,实时获取识别模型中用户手部各个部位对应的数据;

S3、手势识别数据获取模块实时获取识别模型中手部各个部位对应的数据,并将同一时间中识别模型中手部各个部位对应的数据进行汇总,得到用户在一个时间点时手部数据,所述手部数据为矩阵;

S4、手势识别数据动态分析模块获取同一用户手部数据随时间变化的关系,结合数据库中预制的不同指令对应的手势数据函数,得到用户手势识别数据动态分析结果;

S5、手势动态控制模块根据用户手势识别数据动态分析结果,对显示器进行控制。

说明书 :

一种基于物联网的显示器手势动态控制系统及方法

技术领域

[0001] 本发明涉及手势显示器控制技术领域,具体为一种基于物联网的显示器手势动态控制系统及方法。

背景技术

[0002] 随着科技的发展,人们对显示设备的依赖越来越强,广告屏幕或者人们日常使用的电子产品离不开显示器,通过显示器,能够将人们想要获取的或者想要展现的信息通过直观的方式呈现出来,而往往功能强大的显示器能够给人们带来更好的使用体验。当前的显示器的控制方式较为多样化,有键控式,有触控式,还有手势控制的方式。
[0003] 现有的显示器手势动态控制系统中,只是单纯的通过摄像头获取手势的变化趋势,通过判断手势变化趋势对显示器进行控制,该过程中,对手势的识别精度不高,获取的手势变化趋势较为模糊,存在较大的偏差。
[0004] 针对上述情况,我们需要一种基于物联网的显示器手势动态控制系统及方法。

发明内容

[0005] 本发明的目的在于提供一种基于物联网的显示器手势动态控制系统及方法,以解决上述背景技术中提出的问题。
[0006] 为了解决上述技术问题,本发明提供如下技术方案:一种基于物联网的显示器手势动态控制系统,包括:
[0007] 手部部位识别模块,所述手部部位识别模块为不同手部部位进行编号,并根据数据库中的手部特征对用户手部中的各个部位进行识别;
[0008] 识别模型构建模块,所述识别模型构建模块通过三维建模的方式构建识别模型,实时获取识别模型中用户手部各个部位对应的数据;
[0009] 手势识别数据获取模块,所述手势识别数据获取模块实时获取识别模型中手部各个部位对应的数据,并将同一时间中识别模型中手部各个部位对应的数据进行汇总,得到用户在一个时间点时手部数据,所述手部数据为矩阵;
[0010] 手势识别数据动态分析模块,所述手势识别数据动态分析模块获取同一用户手部数据随时间变化的关系,结合数据库中预制的不同指令对应的手势数据函数,得到用户手势识别数据动态分析结果;
[0011] 手势动态控制模块,所述手势动态控制模块根据用户手势识别数据动态分析结果,对显示器进行控制。
[0012] 本发明通过各个模块的协同合作,共同实现了对手部各部位的识别及对不同时间对应的手部数据的获取,进而得到用户手部数据随时间变化的结果,即手势识别数据,通过数据库中不同指令对应的手势数据函数与用户手势识别数据对应的动态识别结果,实现对手势识别数据相应的指令进行筛选,进而对显示器进行控制。
[0013] 进一步的,所述手部部位识别模块根据数据库中的手部特征对用户手部中的各个部位进行识别的方法包括以下步骤:
[0014] S1.1、将手指中相连的两个部位的连接处记为一个关节点,手指中除指尖外的每一个部位均对应两个关节点,手指的指尖部位对应一个关节点,
[0015] 获取用户手部手指中相连的部位之间关系,即获取各个相应关节点对应的信息,所述关节点信息包括关节点区域中的折痕个数、相应折痕之间的长度比及相应折痕之间的间距比;
[0016] S1.2、获取用户手部手指中不相连的各个部位之间的关系,即手指伸直状态下,不同手指之间的长度比,及不同部位之间的长度比;
[0017] S1.3、获取手部中各个部位区域分别对应的纹路信息,所述手部的各个部位区域包括手掌部位及手指部位,
[0018] 所述用户手部手指中相连的部位之间关系、用户手部手指中不相连的各个部位之间的关系及手部中各个部位区域分别对应的纹路信息构成用户手部特征,并将用户手部特征存储到数据库中;
[0019] S1.4、对用户手部中的各个部位进行识别时,获取相应部位对应的关节点,并将所得的关节点相应的关节点信息与用户手部特征进行比较,
[0020] 当所得关节点相应的关节点信息存在与用户手部特征中部位A对应的信息相同时,则判定获取的相应部位对应的编号与部位A对应的编号相同,
[0021] 当所得关节点相应的关节点信息与用户手部特征中各个部位对应的信息均不相同时,则判定获取的相应部位对应的纹路信息,并将所得纹路信息与用户手部特征进行对比,
[0022] 当所得纹路信息与用户手部特征中部位A1对应的纹路信息之间的相似度大于等于第一阈值时,则判定获取的相应部位对应的编号与部位A1对应的编号相同,
[0023] 反之,则判定获取的部位无法识别。
[0024] 本发明手部部位识别模块根据数据库中的手部特征对用户手部中的各个部位进行识别的过程中,识别不同的手部部位是考虑到用户在做不同手势时,手部中的不同部位对应的状态可能是存在差异的,因此对不同的手部部位进行识别,便于后续步骤中获取不同时间对应的手部识别数据,进而得到手部不同部位对应的动态变化情况;获取手指相连部位之间的关节点,是考虑到手指中的各个部位中的纹路信息复杂且清晰度不高,容易受摄像头周边的光线影响,而关节点区域中折痕则相对纹路信息更加清晰明显,获取的结果准确度更高,同时手指在活动幅度不大的情况下,折痕个数、相应折痕之间的长度比及相应折痕之间的间距比相对较为稳定,能够作为识别手指中各个部位的参考依据。
[0025] 进一步的,所述识别模型构建模块通过三维建模的方式构建识别模型的方法包括以下步骤:
[0026] S2.1、获取时间t时,显示器上的摄像头采集的手部图片,并根据手部特征中手掌部位的纹路信息识别手部图片中手掌部位,将手掌部位的中心点记为o,将图片中手掌部位中的像素个数记为B1t;
[0027] S2.2、获取数据库中手掌部位平行于显示器且手掌部位的中心点距离显示器为第一单位距离时的图片记为标准图片,将标准图片中对应的手掌部位中的像素个数记为Bt;
[0028] S2.3、计算时间t时对应的模型缩放比例βt,所述
[0029] S2.4、获取摄像头采集手部图片时,图片中手掌部位与中指连接的关节点信息,获取该关节点信息中该关节点区域中,包含所有折痕的最小矩形区域的中心点,并将该最小矩形区域的中心点对应的手部位置记为c1,默认手掌部位始终平行于显示器,
[0030] 获取摄像头采集手部图片时,以o为原点、以直线oc1为x轴、以垂直于x轴的过o 点且与显示器所在平面相交的直线为z轴、以过o点且分别垂直与x轴及z轴的直线为y 轴,构建空间直角坐标系,得到模型缩放比例为βt的识别模型。
[0031] 本发明识别模型构建模块通过建模的方式构建识别模型的过程中,将手掌部位的中心点记为o,是为了将手掌部位的中心点作为一个参照点,获取手部其余位置的相对位置信息,进而使得后续过程中获取的手部数据更加准确,同时,在手部进行手势变换的过程中,一般情况下,手掌的变化幅度不大,且手掌部位相对手指部位面积更大,更加容易继续快速识别;默认手掌部位始终平行于显示器,是考虑到一般情况下,手部进行手势变换时,主要变化的是手指部位,但是,由于手掌与手指是一个整体,当手掌与显示器所在平面的夹角出现变化时,与手掌相连的手指整体的数据也会发生改变,进而使得后续过程中获取的手部数据出现偏差,进而影响后续过程中数据库中预制指令的筛选;计算时间t时对应的模型缩放比例βt,是考虑到手部进行手势变换的过程中,用户手部不存在支撑点,进而手掌部位的中心点与显示器的距离也会出现变化,相应的摄像头采集的图片中手部各部位会进行相应的缩放,而后续获取手部数据时,是需要参考标准图片的,进而不获取相应的模型缩放比例进行调整,会使得后续过程中获取的手指部位对应的倾斜系数存在较大误差,进而影响对数据库中预制的指令的筛选,进而影响用户手势动态数据对显示器的控制结果。
[0032] 进一步的,所述识别模型构建模块获取识别模型中用户手部各个部位对应的数据的方法包括以下步骤:
[0033] S3.1、获取识别模型中手指中相连的两个部位分别对应的编号d及d1,将编号d及编号d1分别对应的部位相连的关节点记为Cdd1,获取Cdd1对应的关节点信息中相应关节点区域中,包含所有折痕的最小矩形区域中心点,记为ECdd1;
[0034] S3.2、分别获取时间t时识别模型中各个手指部位对应的倾斜系数;
[0035] 所述识别模型获取手指部位对应的倾斜系数的方法包括以下步骤:
[0036] S3.2.1、获取编号为d3的手部中的手指部位对应的关节点,
[0037] 若编号为d3的手指部位不为指尖时,则获取相应的手指部位对应的两个关节点,并分别获取这两个关节点信息对应的最小矩形区域中心点,记为E1及E2;
[0038] S3.2.2、获取时间t采集的图片中E1与E2之间的长度LtE1E2,获取标准图片中E1 与E2之间的长度LE1E2;
[0039] S3.2.3、计算编号为d3的手指部位对应的倾斜系数Qtd3,
[0040] 所述Qtd3=LtE1E2/(LE1E2*βt)。
[0041] 本发明识别模型构建模块获取识别模型中用户手部各个部位对应的数据的过程中,获取ECdd1是因为关节点Cdd1对应的是一片区域,关节点对应的关节点信息包括相应折痕所在的区域,而获取的倾斜系数则是属于相应部位各个端点对应的直线的倾斜程度,关节点属于相应部位的端部,但对应的不是具体的一个点,因此,在确定相应部位的关节点后,需要进一步确定端点,即ECdd1;获取编号为d3的手指部位对应的倾斜系数Qtd3,此处的倾斜系数只是对相应部位的倾斜程度的量化,是与标准图片中相应部位的状态进行比较的,而不是具体指相应部位对应直线的系数,因为识别模型是一个三维的模型,即相应部位的直线对应的是三个变量之间的关系,进而直线的系数不仅仅只有一个值;计算编号为d3 的手指部位对应的倾斜系数Qtd3的过程中,计算LtE1E2/βt,是考虑到后续需要跟标准图片中的数据进行比较,进而需要调整LtE1E2对应识别模型的缩放比例,使得LtE1E2对应的识别模型中手掌部位中心点至显示器的距离与标准图片中手掌部位中心点至显示器的距离相等,即使得LtE1E2对应的调节后的识别模型对应的缩放比例为1,为后续计算相应部位的倾斜系数提供数据参考,计算LtE1E2/(LE1E2*βt),是考虑到手指部位在进行手势变换时,不同的倾斜程度会使得摄像头采集的图片中的相应部位的两端点之间的距离发生改变,倾斜程度越大,获取的图片中相应部位的两端点之间在距离越短。
[0042] 进一步的,所述S3.2.1中获取编号为d3的手部中的手指部位对应的关节点时,[0043] 当编号为d3的手指部位为指尖时,则获取相应的指尖部位对应的关节点,获取这个关节点信息对应的最小矩形区域中心点,记为E1,并对时间t采集的图片中该指尖部位进行分析处理;
[0044] 所述识别模型构建模块对时间t采集的图片中该指尖部位进行分析处理时,先对时间 t采集的图片中该指尖部位进行灰度处理,得到编号为d3的指尖部位中各个像素点对应的灰度值,
[0045] 比较相邻像素点之间的灰度值之差,对灰度值之差大于第二阈值且灰度值大的像素点进行标记,得到编号为d3的指尖部位对应的一个边缘临界点,
[0046] 分别计算时间t采集的图片中编号为d3的指尖部位对应的每个边缘临界点与E1之间的距离,将最大距离对应的边缘临界点记为E2,并跳转到S3.2.2。
[0047] 本发明考虑到编号为d3的手指部位为指尖时,由于指尖在实际中只存在一个关节点,而获取指尖部位对应的倾斜系数时却需要两个端点,进而通过对图片进行获取处理的方式,通过选择边缘临界点的方式获取指尖部位除关节点之外的另一个端点,即E2,为后续获取手部数据提供了数据依据。
[0048] 进一步的,所述手势识别数据获取模块得到用户在一个时间点时手部数据的方法包括以下步骤:
[0049] S4.1、获取时间t采集的图片中d3为不同值时,编号d3对应的手部部位相应的倾斜系数Qtd3;
[0050] S4.2、获取d3分别对应的值,d3=Djk,j∈{1,2,3,4,5}且k∈{1,2,3},在对手部部位进行编号时,同一手指上的不同部位对应的编号中的j相同且k不同,
[0051] j的值等于从大拇指至小拇指的排列顺序中的手指序号,k等于1时表示相应手指的近节指骨,k等于2时表示j∈{2,3,4,5}时相应手指的中节指骨及j等于1时手部的手掌部位,k等于3时表示相应手指的指尖;
[0052] S4.3、得到用户在时间t时对应的手部数据QSt,
[0053] 所述
[0054] 本发明手势识别数据获取模块得到用户在一个时间点时手部数据的过程中,通过矩阵的方式存储时间t时对应的手部数据,是因为矩阵中的数据存储位置与手部中各个部位对应的编号能够一一对应起来,进而通过矩阵中的数据就能够较为直观地获取相应时间内相应部位对应的倾斜系数,便于后续对不同编号对应的手部部位相应的倾斜系数随时间变化的函数进行拟合。
[0055] 进一步的,所述手势识别数据动态分析模块得到用户手势识别数据动态分析结果的方法包括以下步骤:
[0056] S5.1、获取t为不同值时,用户对应的各个手部数据QSt,将用户编号为Djk的手部部位在QSt中对应的倾斜系数记为QStjk;
[0057] S5.2、获取第一预设时间t1内各个手部数据中,用户编号为Djk的手部部位在各个手部数据中分别对应的倾斜系数,并将获取的数据在平面直角坐标系中进行标记,所述平面直角坐标系是以o1为原点、以时间为x1轴、以倾斜系数为y1轴构建的;
[0058] S5.3、根据数据库中预制的线性拟合模型对平面直角坐标系中标记的点进行拟合,得到编号为Djk的手部部位对应的倾斜系数随时间变化的函数,记为GDjk(x1),0≤x1≤ t1;
[0059] S5.4、获取数据库中预制的不同指令对应的手势数据函数,将第m个指令对应的手势数据函数中,编号为Djk的手部部位对应的倾斜系数随时间变化的函数,记为GmDjk(x1);
[0060] S5.5、得到用户手势识别动态数据与第m个指令对应的手势数据函数中,编号为Djk 的手部部位对应的动态偏差值PmDjk,所述
[0061] S5.6、得到用户手势识别动态数据与第m个指令对应的手势数据函数之间的整体动态偏差值Pm,作为用户手势识别数据与第m个指令之间的动态分析结果,
[0062] 所述
[0063] S5.7、获取用户手势识别数据与各个指令之间的动态分析结果,得到用户手势识别数据动态分析结果。
[0064] 本发明手势识别数据动态分析模块得到用户手势识别数据动态分析结果的过程中,获取GDjk(x1)及GmDjk(x1),是为了分别获取用户手势识别数据及第m个指令中,编号为Djk的手部部位对应的倾斜系数随时间变化的情况,计算GDjk(x1)‑GmDjk(x1),能够得到时间为x1时,用户手势识别数据及第m个指令中编号为Djk的手部部位对应的倾斜系数之间的瞬时偏差值,进而编号为Djk的手部部位对应的动态偏差值PmDjk,则能够在一定程度上反应出用户手势识别数据及第m个指令中,编号为Djk的手部部位在手势变化过程中对应的倾斜系数之间的总体差异情况,进而能够判断出在手势变换过程中编号为 Djk的手部部位的运动情况,与第m个指令中编号为Djk的手部部位的运动情况之间的相似程度,为后续筛选用户手势识别数据对应的指令提供数据依据;PmDjk反映的是用户手势识别动态数据与第m个指令对应的手势数据函数中,编号为Djk的手部部位对应的差异情况,Pm反映的则是用户手势识别动态数据与第m个指令对应的手势数据函数中,所有手部部位对应的整体的差异情况。
[0065] 进一步的,所述手势动态控制模块获取用户手势识别数据动态分析结果,选取相应的各个动态分析结果中的最小值,记为CKZL,
[0066] 将CKZL与数据库中的第一预设值YSD进行比较,
[0067] 当CKZL≥YSD时,则判定用户手势动态指令错误,不对显示器进行控制;
[0068] 当CKZL<YSD时,则判定用户手势动态指令正确,按CKZL在数据库中对应的指令对显示器进行控制。
[0069] 一种基于物联网的显示器手势动态控制方法,所述方法包括以下步骤:
[0070] S1、手部部位识别模块为不同手部部位进行编号,并根据数据库中的手部特征对用户手部中的各个部位进行识别;
[0071] S2、识别模型构建模块通过三维建模的方式构建识别模型,实时获取识别模型中用户手部各个部位对应的数据;
[0072] S3、手势识别数据获取模块实时获取识别模型中手部各个部位对应的数据,并将同一时间中识别模型中手部各个部位对应的数据进行汇总,得到用户在一个时间点时手部数据,所述手部数据为矩阵;
[0073] S4、手势识别数据动态分析模块获取同一用户手部数据随时间变化的关系,结合数据库中预制的不同指令对应的手势数据函数,得到用户手势识别数据动态分析结果;
[0074] S5、手势动态控制模块根据用户手势识别数据动态分析结果,对显示器进行控制。
[0075] 与现有技术相比,本发明所达到的有益效果是:本发明不仅实现了对手部各部位的识别及对不同时间对应的手部数据的获取,还得到用户手部数据随时间变化的结果,并通过数据库中不同指令对应的手势数据函数与用户手势识别数据对应的动态识别结果,实现对手势识别数据相应的指令进行筛选,进而对显示器进行有效、精准地控制。

附图说明

[0076] 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0077] 图1是本发明一种基于物联网的显示器手势动态控制系统的结构示意图;
[0078] 图2是本发明一种基于物联网的显示器手势动态控制系统中识别模型构建模块通过三维建模的方式构建识别模型的方法的流程示意图;
[0079] 图3是本发明一种基于物联网的显示器手势动态控制系统中识别模型获取手指部位对应的倾斜系数的方法的流程示意图;
[0080] 图4是本发明一种基于物联网的显示器手势动态控制方法的流程示意图。

具体实施方式

[0081] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0082] 请参阅图1‑图4,本发明提供技术方案:一种基于物联网的显示器手势动态控制系统,包括:
[0083] 手部部位识别模块,所述手部部位识别模块为不同手部部位进行编号,并根据数据库中的手部特征对用户手部中的各个部位进行识别;
[0084] 识别模型构建模块,所述识别模型构建模块通过三维建模的方式构建识别模型,实时获取识别模型中用户手部各个部位对应的数据;
[0085] 手势识别数据获取模块,所述手势识别数据获取模块实时获取识别模型中手部各个部位对应的数据,并将同一时间中识别模型中手部各个部位对应的数据进行汇总,得到用户在一个时间点时手部数据,所述手部数据为矩阵;
[0086] 手势识别数据动态分析模块,所述手势识别数据动态分析模块获取同一用户手部数据随时间变化的关系,结合数据库中预制的不同指令对应的手势数据函数,得到用户手势识别数据动态分析结果;
[0087] 手势动态控制模块,所述手势动态控制模块根据用户手势识别数据动态分析结果,对显示器进行控制。
[0088] 所述手部部位识别模块根据数据库中的手部特征对用户手部中的各个部位进行识别的方法包括以下步骤:
[0089] S1.1、将手指中相连的两个部位的连接处记为一个关节点,手指中除指尖外的每一个部位均对应两个关节点,手指的指尖部位对应一个关节点,
[0090] 获取用户手部手指中相连的部位之间关系,即获取各个相应关节点对应的信息,所述关节点信息包括关节点区域中的折痕个数、相应折痕之间的长度比及相应折痕之间的间距比;
[0091] S1.2、获取用户手部手指中不相连的各个部位之间的关系,即手指伸直状态下,不同手指之间的长度比,及不同部位之间的长度比;
[0092] S1.3、获取手部中各个部位区域分别对应的纹路信息,所述手部的各个部位区域包括手掌部位及手指部位,
[0093] 所述用户手部手指中相连的部位之间关系、用户手部手指中不相连的各个部位之间的关系及手部中各个部位区域分别对应的纹路信息构成用户手部特征,并将用户手部特征存储到数据库中;
[0094] S1.4、对用户手部中的各个部位进行识别时,获取相应部位对应的关节点,并将所得的关节点相应的关节点信息与用户手部特征进行比较,
[0095] 当所得关节点相应的关节点信息存在与用户手部特征中部位A对应的信息相同时,则判定获取的相应部位对应的编号与部位A对应的编号相同,
[0096] 当所得关节点相应的关节点信息与用户手部特征中各个部位对应的信息均不相同时,则判定获取的相应部位对应的纹路信息,并将所得纹路信息与用户手部特征进行对比,
[0097] 当所得纹路信息与用户手部特征中部位A1对应的纹路信息之间的相似度大于等于第一阈值时,则判定获取的相应部位对应的编号与部位A1对应的编号相同,
[0098] 反之,则判定获取的部位无法识别。
[0099] 所述识别模型构建模块通过三维建模的方式构建识别模型的方法包括以下步骤:
[0100] S2.1、获取时间t时,显示器上的摄像头采集的手部图片,并根据手部特征中手掌部位的纹路信息识别手部图片中手掌部位,将手掌部位的中心点记为o,将图片中手掌部位中的像素个数记为B1t;
[0101] S2.2、获取数据库中手掌部位平行于显示器且手掌部位的中心点距离显示器为第一单位距离时的图片记为标准图片,将标准图片中对应的手掌部位中的像素个数记为Bt;
[0102] S2.3、计算时间t时对应的模型缩放比例βt,所述
[0103] S2.4、获取摄像头采集手部图片时,图片中手掌部位与中指连接的关节点信息,获取该关节点信息中该关节点区域中,包含所有折痕的最小矩形区域的中心点,并将该最小矩形区域的中心点对应的手部位置记为c1,默认手掌部位始终平行于显示器,
[0104] 获取摄像头采集手部图片时,以o为原点、以直线oc1为x轴、以垂直于x轴的过o 点且与显示器所在平面相交的直线为z轴、以过o点且分别垂直与x轴及z轴的直线为y 轴,构建空间直角坐标系,得到模型缩放比例为βt的识别模型。
[0105] 所述识别模型构建模块获取识别模型中用户手部各个部位对应的数据的方法包括以下步骤:
[0106] S3.1、获取识别模型中手指中相连的两个部位分别对应的编号d及d1,将编号d及编号d1分别对应的部位相连的关节点记为Cdd1,获取Cdd1对应的关节点信息中相应关节点区域中,包含所有折痕的最小矩形区域中心点,记为ECdd1;
[0107] S3.2、分别获取时间t时识别模型中各个手指部位对应的倾斜系数;
[0108] 所述识别模型获取手指部位对应的倾斜系数的方法包括以下步骤:
[0109] S3.2.1、获取编号为d3的手部中的手指部位对应的关节点,
[0110] 若编号为d3的手指部位不为指尖时,则获取相应的手指部位对应的两个关节点,并分别获取这两个关节点信息对应的最小矩形区域中心点,记为E1及E2;
[0111] S3.2.2、获取时间t采集的图片中E1与E2之间的长度LtE1E2,获取标准图片中E1 与E2之间的长度LE1E2;
[0112] S3.2.3、计算编号为d3的手指部位对应的倾斜系数Qtd3,
[0113] 所述Qtd3=LtE1E2/(LE1E2*βt)。
[0114] 本实施例中若时间03秒时,编号为D22对应的手指部位在时间03秒时采集的图片中对应的长度为6单位长度,
[0115] 若时间03秒时对应的模型缩放比例为1.2,
[0116] 若标准图片中编号为D22对应的手指部位在相应图片中对应的长度为5单位长度,[0117] 得到编号为D22的手指部位对应的倾斜系数Q03D22,
[0118] 所述Q03D22=6/(5*1.2)=1。
[0119] 所述S3.2.1中获取编号为d3的手部中的手指部位对应的关节点时,
[0120] 当编号为d3的手指部位为指尖时,则获取相应的指尖部位对应的关节点,获取这个关节点信息对应的最小矩形区域中心点,记为E1,并对时间t采集的图片中该指尖部位进行分析处理;
[0121] 所述识别模型构建模块对时间t采集的图片中该指尖部位进行分析处理时,先对时间 t采集的图片中该指尖部位进行灰度处理,得到编号为d3的指尖部位中各个像素点对应的灰度值,
[0122] 比较相邻像素点之间的灰度值之差,对灰度值之差大于第二阈值且灰度值大的像素点进行标记,得到编号为d3的指尖部位对应的一个边缘临界点,
[0123] 分别计算时间t采集的图片中编号为d3的指尖部位对应的每个边缘临界点与E1之间的距离,将最大距离对应的边缘临界点记为E2,并跳转到S3.2.2。
[0124] 所述手势识别数据获取模块得到用户在一个时间点时手部数据的方法包括以下步骤:
[0125] S4.1、获取时间t采集的图片中d3为不同值时,编号d3对应的手部部位相应的倾斜系数Qtd3;
[0126] S4.2、获取d3分别对应的值,d3=Djk,j∈{1,2,3,4,5}且k∈{1,2,3},在对手部部位进行编号时,同一手指上的不同部位对应的编号中的j相同且k不同,
[0127] j的值等于从大拇指至小拇指的排列顺序中的手指序号,k等于1时表示相应手指的近节指骨,k等于2时表示j∈{2,3,4,5}时相应手指的中节指骨及j等于1时手部的手掌部位,k等于3时表示相应手指的指尖;
[0128] 本实施例中d3∈{D11,D12,D13,D21,D22,D23,D31,D32,D33,D41,D42,D43, D51,D52,D53},其中,
[0129] D11表示大拇指的近节指骨,D12表示手部的手掌部位,D13表示大拇指的指尖,[0130] D21表示食指的近节指骨,D21表示食指的中节指骨,D21表示食指的指尖,[0131] D31表示中指的近节指骨,D31表示中指的中节指骨,D31表示中指的指尖,[0132] D41表示无名指指的近节指骨,D41表示无名指的中节指骨,D41表示无名指的指尖,
[0133] D51表示小拇指的近节指骨,D51表示小拇指的中节指骨,D51表示小拇指的指尖。
[0134] S4.3、得到用户在时间t时对应的手部数据QSt,
[0135] 所述
[0136] 所述手势识别数据动态分析模块得到用户手势识别数据动态分析结果的方法包括以下步骤:
[0137] S5.1、获取t为不同值时,用户对应的各个手部数据QSt,将用户编号为Djk的手部部位在QSt中对应的倾斜系数记为QStjk;
[0138] S5.2、获取第一预设时间t1内各个手部数据中,用户编号为Djk的手部部位在各个手部数据中分别对应的倾斜系数,并将获取的数据在平面直角坐标系中进行标记,所述平面直角坐标系是以o1为原点、以时间为x1轴、以倾斜系数为y1轴构建的;
[0139] S5.3、根据数据库中预制的线性拟合模型对平面直角坐标系中标记的点进行拟合,得到编号为Djk的手部部位对应的倾斜系数随时间变化的函数,记为GDjk(x1),0≤x1≤ t1;
[0140] S5.4、获取数据库中预制的不同指令对应的手势数据函数,将第m个指令对应的手势数据函数中,编号为Djk的手部部位对应的倾斜系数随时间变化的函数,记为GmDjk(x1);
[0141] S5.5、得到用户手势识别动态数据与第m个指令对应的手势数据函数中,编号为Djk 的手部部位对应的动态偏差值PmDjk,所述
[0142] S5.6、得到用户手势识别动态数据与第m个指令对应的手势数据函数之间的整体动态偏差值Pm,作为用户手势识别数据与第m个指令之间的动态分析结果,
[0143] 所述
[0144] S5.7、获取用户手势识别数据与各个指令之间的动态分析结果,得到用户手势识别数据动态分析结果。
[0145] 所述手势动态控制模块获取用户手势识别数据动态分析结果,选取相应的各个动态分析结果中的最小值,记为CKZL,
[0146] 将CKZL与数据库中的第一预设值YSD进行比较,
[0147] 当CKZL≥YSD时,则判定用户手势动态指令错误,不对显示器进行控制;
[0148] 当CKZL<YSD时,则判定用户手势动态指令正确,按CKZL在数据库中对应的指令对显示器进行控制。
[0149] 一种基于物联网的显示器手势动态控制方法,所述方法包括以下步骤:
[0150] S1、手部部位识别模块为不同手部部位进行编号,并根据数据库中的手部特征对用户手部中的各个部位进行识别;
[0151] S2、识别模型构建模块通过三维建模的方式构建识别模型,实时获取识别模型中用户手部各个部位对应的数据;
[0152] S3、手势识别数据获取模块实时获取识别模型中手部各个部位对应的数据,并将同一时间中识别模型中手部各个部位对应的数据进行汇总,得到用户在一个时间点时手部数据,所述手部数据为矩阵;
[0153] S4、手势识别数据动态分析模块获取同一用户手部数据随时间变化的关系,结合数据库中预制的不同指令对应的手势数据函数,得到用户手势识别数据动态分析结果;
[0154] S5、手势动态控制模块根据用户手势识别数据动态分析结果,对显示器进行控制。
[0155] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
[0156] 最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。