基于摄像头与压力传感器的颈椎病识别方法

文档序号:10656160阅读:808来源:国知局
基于摄像头与压力传感器的颈椎病识别方法
【专利摘要】本发明公开了一种基于摄像头与压力传感器的颈椎病识别方法,包括:S1采用摄像头和压力传感器采集用户不同坐姿下的测试样本;S2 分别采用人脸分类器和坐姿分类器识别测试样本,获得人脸分类器和坐姿分类器的准确率;S3调整人脸分类器和坐姿分类器的权重;S4采集用户的当前人脸图像和当前压力数据;S5采用人脸分类器从当前人脸图像识别各坐姿概率,采用坐姿分类器从当前压力数据识别各坐姿概率,并计算各坐姿的综合概率,综合概率最大的坐姿即用户当前坐姿;S6分别统计预设周期内用户处于标准坐姿和非标准坐姿的时长,判定用户有患颈椎病风险。本发明结合人脸图像和体压进行颈部姿态确定,增加了判断精度。
【专利说明】
基于摄像头与压力传感器的颈椎病识别方法
技术领域
[0001]本发明涉及图像识别和体压分布技术领域,具体涉及一种基于摄像头与压力传感器的颈椎病识别方法。
【背景技术】
[0002]颈椎病是一种常见且危害极大的慢性病,治愈十分困难。颈椎病的产生是一个由浅入深的过程,如果能通过长期监控方式进行颈椎病的预防和早期诊断,使患者能及时就诊,从而不会延误病情。
[0003]基于摄像头与压力传感器的颈椎病预防与诊断方法中需要根据图像进行头部运动判断,常使用图像识别技术精确定位五官以及背景中的明显特征,并通过所定位的五官和背景中特征间的关系(通常是距离和角度)判断头部的运动情况。但是,头部运动判断的实现还存在如下技术瓶颈:
[0004](I)由于待定位目标较多,受限于硬件水平,定位速度低下,通常情况下会出现延迟;
[0005](2)作为参照物的背景中明显特征,一般根据特征值挑选,无法确保一定是背景中静物,如果挑选的参照物在判断过程中移动,将会造成结果偏差;
[0006](3)当用户头部偏转不再面对摄像头,待客户头部再次偏转回将会导致判断不准确乃至不可判断。
[0007]目前,可使用多摄像头进行全方位识别的方式来解决上述问题,但却存在布置困难、成本较高等问题。

【发明内容】

[0008]为解决【背景技术】中提到的技术问题,本发明提供了一种高效准确的基于摄像头与压力传感器的颈椎病预防与诊断方法。
[0009]为解决上述技术问题,本发明采用如下的技术方案:
[0010]—、一种基于图像的动作捕捉坐姿判断方法,包括:
[0011]SI摄像头采集用户不同坐姿的人脸图像作为训练样本;
[0012]S2采用训练样本及各训练样本对应的坐姿训练随机森林,得人脸分类器;
[0013]S3摄像头采集用户的当前人脸图像,采用人脸分类器从当前人脸图像中获取五官坐标,五官坐标即左眼、右眼和嘴的中心点坐标,计算五官坐标的平均坐标,记为五官平均坐标;
[0014]S4根据当前人脸图像中五官坐标识别用户当前坐姿,本步骤进一步包括:
[0015]4.1采用人脸分类器从标准坐姿的训练样本中获取五官坐标,即五官标准坐标,计算各五官标准坐标的平均坐标,记为五官平均标准坐标;
[0016]4.2将五官平均坐标的X轴坐标减去五官平均标准坐标的X轴坐标,所得差值记为第一差值;将五官平均坐标的y轴坐标减去五官平均标准坐标的y轴坐标,所得差值记为第二差值;
[0017]4.3根据①第一差值和第二差值的大小、②五官平均坐标和五官平均标准坐标的连线与水平方向的夹角、以及③当前人脸图像和标准坐姿训练样本中各五官间距离的差值大小,判断当前人脸图像中五官相对标准坐姿的训练样本中五官的偏移方向,从而识别用户当前坐姿;
[0018]S5基于当前人脸图像,采用人脸分类器识别用户当前坐姿;
[0019]S6比较步骤S4和S5的识别结果,若识别结果相同,则该识别结果即用户当前坐姿,根据用户当前坐姿对用户提出建议或警告,然后,对下一帧人脸图像执行步骤S3?S6;若识别结果不同,直接对下一帧人脸图像执行步骤S3?S6。
[0020]上述不同坐姿包括标准坐姿、仰头、低头、头部左偏、头部右偏、头部远离摄像头和头部靠近摄像头。
[0021]子步骤4.3具体为:
[0022](a)若第一差值和第二差值均大于a,计算五官平均坐标和五官平均标准坐标的连线与水平方向夹角的正切值,若正切值大于I,则判定用户当前坐姿为仰头;否则,判定用户当前坐姿为头部右偏;
[0023](b)若第一差值大于a同时第二差值小于-a,计算五官平均坐标和五官平均标准坐标的连线与水平方向夹角的正切值,若正切值大于I,则判定用户当前坐姿为低头;否则,判定用户当前坐姿为头部右偏;
[0024](C)若第一差值大于a同时第二差值位于范围[_a,a]内,则判定用户当前坐姿为头部右偏;
[0025](d)若第一差值小于-a同时第二差值大于a,计算五官平均坐标和五官平均标准坐标的连线与水平方向夹角的正切值,若正切值大于I,则判定用户当前坐姿为仰头;否则,判定用户当前坐姿为头部左偏;
[0026](e)若第一差值和第二差值均小于-a,计算五官平均坐标和五官平均标准坐标的连线与水平方向夹角的正切值,若正切值大于I,则判定用户当前坐姿为低头;否则,判定用户当前坐姿为头部左偏;
[0027](f)若第一差值小于_a同时第二差值位于范围[_a,a],则判定用户当前坐姿为头部左偏;
[0028](g)若第一差值位于范围[_a,a]内,同时第二差值大于a,则判定用户当前坐姿为仰头;
[0029](h)若第一差值位于范围[_a,a]内,同时第二差值大于a,则判定用户当前坐姿为低头;
[0030](i)若第一差值和第二差值均位于范围[_a,a]内,计算标准坐姿的训练样本中左眼与右眼、左眼与嘴、右眼与嘴的距离,分别记为标准距离1、标准距离2、标准距离3,计算当前人脸图像中左眼与右眼、左眼与嘴、右眼与嘴的距离,分别记为距离1、距离2、距离3,计算标准距离I与距离1、标准距离2与距离2、标准距离3与距离3的差值,若所有差值均大于阈值b,则判断用户当前坐姿为头部靠近摄像头;若所有差值都小于阈值b,则判断用户当前坐姿为头部远离摄像头;否则,判断用户当前坐姿为标准坐姿。
[0031]阈值a和b为与标准坐姿训练样本中人脸宽度像素值有关的经验值,通过多次试验调整获得。
[0032]二、一种基于体压分布检测的坐姿判断方法,包括:
[0033]SI坐垫上布置压力传感器节点,采集用户不同坐姿下各压力传感器节点的压力值,压力传感器节点的压力值及对应的坐姿构成训练样本集D;
[0034]S2以节点的压力值为特征,不同坐姿类型为不同类别,采用Relief或ReliefF法分析各节点权重,选取权重最大的前N个节点作为有效节点,N在15?20范围取值;
[0035 ] S3采集不同坐姿下各有效节点的压力值,有效节点的压力值及对应的坐姿构成训练样本集D ’,采用训练样本集D ’训练随机森林,得坐姿分类器;
[0036]S4有效节点采集当前压力数据,基于当前压力数据,采用坐姿分类器识别用户当前坐姿。
[0037]步骤S2中,采用Relief法分析各节点权重,进一步包括:
[0038]2a.1从训练样本集D随机选取样本R,从和样本R类别相同的训练样本中寻找样本R的最近邻样本H,从和样本R类别不同的训练样本中寻找样本R的最近邻样本M;
[0039]2a.2将各压力传感器节点的初始权重设为0,然后对各压力传感器节点逐一进行:
[0040]在当前压力传感器节点上,比较R和H的距离与R和M的距离,若R和H的距离小于R和M的距离,增加当前压力传感器节点的权重,权重的增加量为在当前压力传感器节点上R和M的距离;否则,减少当前压力传感器节点的权重,权重的减少量为在当前压力传感器节点上R和H的距离;
[0041]2a.3判断所有传感器节点的当前权重和上一权重的方差的差值是否小于预设阈值,若小于预设阈值,执行子步骤2a.4;否则,重新执行子步骤2a.1;
[0042]2a.4取权重最大的前N个压力传感器节点作为有效节点。
[0043]步骤S2中,采用ReliefF法分析各节点权重,进一步包括:
[0044]2b.1从训练样本集D随机选取样本R,从和样本R类别相同的训练样本中寻找样本R的k近邻样本,记为Set (H);从和样本R类别不同的训练样本中寻找样本R的k近邻样本,记为Setc(M);
[0045]2b.2将各压力传感器节点的初始权重设为0,然后对各压力传感器节点逐一进行:
[0046]在当前压力传感器节点上,比较R和Set(H)的距离与R和Setc(M)的距离,若R和Set(H)的距离小于R和Setc(M)的距离,增加当前压力传感器节点的权重,权重的增加量为当前压力传感器节点上R和Set(H)中各样本出距离之和;否则,减少当前压力传感器节点的权重,权重的减少量为当前压力传感器节点上R和Setc(M)中各样本Mci的距离的加权和,R和Mci的距离的权值为Setc(M)中与样本Mci同类型的样本数占Setc(M)中样本总数的比例;
[0047]2b.3判断所有传感器节点的当前权重和上一权重的方差的差值是否小于预设阈值,若小于预设阈值,执行子步骤2b.4;否则,重新执行子步骤2b.1;
[0048]2b.4取权重最大的前N个压力传感器节点作为有效节点。
[0049]三、基于摄像头与压力传感器的颈椎病识别方法,包括:
[0050]SI采用摄像头和压力传感器分别采集用户不同坐姿下的人脸图像和有效节点压力值,人脸图像、有效节点压力值及对应的坐姿构成测试样本;
[0051]S2分别采用权利要求1步骤S2所得人脸分类器和权利要求4步骤S3所得坐姿分类器识别测试样本,计算人脸分类器和坐姿分类器识别正确的样本数占测试样本总数的百分比,即人脸分类器和坐姿分类器的准确率;
[0052]S3根据人脸分类器和坐姿分类器的准确率调整权重,S卩,若人脸分类器准确率低于坐姿分类器,按预设权重调整值降低人脸分类器权重,提高坐姿分类器权重;反之,按预设权重调整值提高人脸分类器权重,降低坐姿分类器;人脸分类器和坐姿分类器的初始权重设为0.5;权重调整值根据经验人为设定;
[0053]S4摄像头采集用户的当前人脸图像,有效节点采集用户的当前压力数据;
[0054]S5采用人脸分类器从当前人脸图像识别各坐姿概率,采用坐姿分类器从当前压力数据识别各坐姿概率,分别计算各坐姿的综合概率^=!!!.a.+n.bi,综合概率最大的坐姿即用户当前坐姿;m、n分别为人脸分类器和坐姿分类器的权重;m、匕分别表示人脸分类器和坐姿分类器从当前人脸图像识别为第i类坐姿的概率;
[0055]S6分别统计预设周期内用户处于标准坐姿和非标准坐姿的时长,计算非标准坐姿的时长占预设周期的比例,当该比例达规定程度,判定用户有患颈椎病风险。
[0056]当判定用户有患颈椎病风险时,根据用户颈椎保健操完成程度,进一步判断是否患颈椎病风险,具体包括:
[0057](I)用户最大限度低头,摄像头采集用户的人脸图像,根据人脸图像获取俯角,将俯角与预设正常值比对;
[0058](2)用户最大限度仰头,摄像头采集用户的人脸图像,根据人脸图像获取仰角,将仰角与设定正常值比对;
[0059](3)用户分别向两侧最大限度歪头,摄像头采集用户的人脸图像,根据人脸图像获取倾角,将倾角与设定正常值比对,同时判断两侧倾角是否相等;
[0060](4)用户分别向两侧最大限度转头,摄像头采集用户的人脸图像,根据人脸图像获取用户转头轨迹;
[0061](5)用户做耸肩动作,摄像头采集用户的人脸图像,根据人脸图像获取用户的肩膀水平线与下巴边缘的距离;
[0062](6)用户做兜肩动作,摄像头采集用户的人脸图像;
[0063](7)用户腕部和肘部最大限度向内弯曲,摄像头采集用户的人脸图像,根据人脸图像获取弯曲弧度;
[0064](8)用户作扩胸动作,摄像头采集用户的人脸图像,根据人脸图像获取用户扩胸过程中,以肩膀为圆心、手臂为直径的最大圆的直径与轨迹;
[0065](9)用户分别顺时针、逆时针摇头,摄像头采集用户的人脸图像,根据人脸图像获取摇头频率。
[0066]四、基于摄像头与压力传感器的颈椎病识别系统,包括:
[0067]视频监控装置、数据传输模块、设于坐垫的压力传感器节点、处理单元和警告系统,视频监控装置、警告系统均连接处理单元,压力传感器节点通过数据传输模块连接处理单元;
[0068]视频监控装置用来采集用户人脸的视频流;压力传感器节点用来采集用户的压力信息,处理单元用来根据视频监控装置和压力传感器节点采集数据识别用户的当前坐姿,并非标准坐姿时长占预设周期的比例,判定用户是否有患颈椎病风险;警告系统用来当用户判断为有患颈椎病风险时提供警告。
[0069]针对需要识别多个目标的问题,本发明只需要识别双眼和嘴巴目标,减少了相当多的系统运算量,并且在实际测试中采用最优频率检测以使系统的运行速度更快。此外,为判断用户不面对屏幕时的状态监测和运动追踪,本发明还使用随机森林法进行训练,根据用户个人样本的训练,达到精确监测的目的。
[0070]本发明中采用摄像头采集的人脸图像信息和通过压力传感器采集的体压测量联合进行颈部的姿态确定,增加判断精度。
【附图说明】
[0071]图1为本发明系统架构图;
[0072]图2为本发明系统运作流程图;
[0073]图3为ReliefF的权重图;
[0074]图4为节点部署图。
【具体实施方式】
[0075]下面将对本发明三种技术方案的【具体实施方式】进行详细说明。
[0076]—、基于图像的动作捕捉坐姿判断方法,具体步骤如下:
[0077]步骤I,采集训练样本。
[0078]采用摄像头采集用户不同坐姿的图像作为训练样本,图像为用户肩膀以上部分。本具体实施中,所采集的坐姿包括标准坐姿、仰头、低头、头部左偏、头部右偏、头部远离摄像头、头部靠近摄像头七种;采样频率为每秒24帧,各坐姿分别采集1000个样本,采样所需时间8-10分钟。
[0079]步骤2,采用步骤I采集的训练样本及各训练样本对应的坐姿训练随机森林,得人脸分类器。
[0080]随机森林法,即采用随机方式建立随机森林,随机森林由若干决策树组成,随机森林中各决策树间没有关联。建立随机森林后,每输入一训练样本(记为当前训练样本),即让随机森林中所有决策树分别判断当前训练样本所属坐姿,被判断最多的坐姿即当前训练样本的坐姿。
[0081]步骤3,采用摄像头实时采集用户的当前图像,采用人脸分类器实时获取五官在当前图像中坐标,这里五官包括左眼、右眼和嘴。本发明中采用以左眼、右眼、嘴的中心点为圆心的三个圆分别表示左眼、右眼、嘴的位置,以圆心坐标作为左眼、右眼、嘴的坐标,五官坐标既包含左眼、右眼、嘴的坐标。
[0082]步骤4,根据当前图像中五官坐标识别用户当前坐姿。
[0083]本步骤进一步包括:
[0084](I)将标准坐姿的训练样本中五官坐标作为五官标准坐标。
[0085](2)将当前图像中左眼、右眼、嘴的X轴坐标相加后除3,y轴坐标也相加后除3,所得坐标记为五官平均坐标。将五官标准坐标中左眼、右眼、嘴的标准坐标的X轴坐标相加后除3,y轴坐标也相加后除3,所得坐标记为五官平均标准坐标。
[0086](3)将五官平均坐标的X轴坐标减去五官平均标准坐标的X轴坐标,所得差值记为第一差值;将五官平均坐标的y轴坐标减去五官平均标准坐标的y轴坐标,所得差值记为第二差值;
[0087]根据第一差值和第二差值判断用户当前坐姿,具体为:
[0088](a)若第一差值和第二差值均大于a,计算五官平均坐标和五官平均标准坐标的连线与水平方向夹角的正切值,若正切值大于I,则判定用户当前坐姿为仰头;否则,判定用户当前坐姿为头部右偏;
[0089](b)若第一差值大于a同时第二差值小于-a,计算五官平均坐标和五官平均标准坐标的连线与水平方向夹角的正切值,若正切值大于I,则判定用户当前坐姿为低头;否则,判定用户当前坐姿为头部右偏;
[0090](C)若第一差值大于a同时第二差值位于范围[_a,a]内,则判定用户当前坐姿为头部右偏;
[0091](d)若第一差值小于-a同时第二差值大于a,计算五官平均坐标和五官平均标准坐标的连线与水平方向夹角的正切值,若正切值大于I,则判定用户当前坐姿为仰头;否则,判定用户当前坐姿为头部左偏;
[0092](e)若第一差值和第二差值均小于-a,计算五官平均坐标和五官平均标准坐标的连线与水平方向夹角的正切值,若正切值大于I,则判定用户当前坐姿为低头;否则,判定用户当前坐姿为头部左偏;
[0093](f)若第一差值小于-a同时第二差值位于范围[_a,a],则判定用户当前坐姿为头部左偏;
[0094](g)若第一差值位于范围[_a,a]内,同时第二差值大于a,则判定用户当前坐姿为仰头;
[0095](h)若第一差值位于范围[_a,a]内,同时第二差值大于a,则判定用户当前坐姿为低头;
[0096](i)若第一差值和第二差值均位于范围[_a,a]内,计算标准坐姿的训练样本中左眼与右眼、左眼与嘴、右眼与嘴的距离,分别记为标准距离1、标准距离2、标准距离3,计算当前图像中左眼与右眼、左眼与嘴、右眼与嘴的距离,分别记为距离1、距离2、距离3,计算标准距离I与距离1、标准距离2与距离2、标准距离3与距离3的差值,若所有差值均大于阈值b,则判断用户当前坐姿为头部靠近摄像头;若所有差值都小于阈值b,则判断用户当前坐姿为头部远离摄像头;否则,判断用户当前坐姿为标准坐姿。
[0097]阈值a和b为与标准坐姿训练样本中人脸宽度像素值有关的经验值,通过多次试验调整获得。本实施例中,阈值a设为人脸宽度像素值的1/3 ;阈值b为人脸宽度像素值的1/4。
[0098]本发明中坐标采用绝对坐标,所采用坐标系为:以图像左上角为原点,水平向右为X轴正方向,竖直向下为y轴正方向,坐标单位长度为像素。
[0099]步骤5,基于当前图像,采用人脸分类器识别用户当前坐姿。
[0100]步骤6,比较步骤4和5的识别结果,若识别结果相同,则该相同识别结果即用户当前坐姿,根据用户当前坐姿对用户提出建议或警告,然后,对下一帧图像执行步骤3?6;若识别结果不同,跳过当前图像,跳转至下一帧图像,对下一帧图像执行步骤3?6。
[0101]二、基于体压分布检测的坐姿判断方法,具体步骤如下:
[0102]步骤I,坐垫上布置压力传感器节点,采集不同坐姿下各压力传感器节点的压力值,压力传感器节点的压力值及对应的坐姿构成训练样本集D。
[0103]步骤2,以压力传感器节点的压力值为特征,不同坐姿类型为不同类别,采用Relief法或ReliefF法分析各压力传感器节点权重,选取权重最大的前N个压力传感器节点作为有效节点,N优选为15?20。
[0104]Relief法用于两种坐姿的分类,采用Relief法分析各压力传感器节点权重的具体步骤如下:
[0105]2a.1从训练样本集D随机选取样本R,从和样本R类别相同的训练样本中寻找样本R的最近邻样本H,从和样本R类别不同的训练样本中寻找样本R的最近邻样本M;
[0106]2a.2对各压力传感器节点逐一进行:
[0107]在当前压力传感器节点上,比较R和H的距离与R和M的距离,若R和H的距离小于R和M的距离,表明当前压力传感器节点对区别有益,增加当前压力传感器节点的权重;否则,减少当前压力传感器节点的权重。
[0108]每次更新权重时,权重的增加量为在当前压力传感器节点上R和M的距离,权重的减少量为在当前压力传感器节点上R和H的距离。
[0109]各压力传感器节点的初始权重设为O。本步骤中,样本和最近邻样本的距离可用来表示样本和最近邻样本在当前压力传感器节点的压力差。
[0110]2a.3判断所有传感器节点的当前权重和上一权重的方差的差值是否小于预设阈值,若小于预设阈值,则认为各压力传感器节点权重不会发生剧烈变化,此时收敛,执行子步骤2a.4 ;否则,重新执行子步骤2a.1 ;
[0111]2a.4取权重最大的前N个压力传感器节点作为有效节点,仅在有效节点处布置压力传感器。
[0112]ReliefF法用于两种以上坐姿的分类,采用ReliefF法分析各压力传感器节点权重的具体步骤如下:
[0113]2b.1从训练样本集D随机选取样本R,从和样本R类别相同的训练样本中寻找样本R的k近邻样本,记为Set (H);从和样本R类别不同的训练样本中寻找样本R的k近邻样本,记为Setc(M);
[0114]2b.2对各压力传感器节点逐一进行:
[0115]在当前压力传感器节点上,比较R和Set(H)的距离与R和Setc(M)的距离,若R和Set(H)的距离小于R和Setc(M)的距离,表明当前压力传感器节点对区别有益,增加当前压力传感器节点的权重;否则,减少当前压力传感器节点的权重。
[0116]每次更新权重时,权重的增加量为当前压力传感器节点上R和Set(H)中各样本Hi距离之和,权重的减少量为当前压力传感器节点上R和Setc(M)中各样本Mci的距离的加权和,R和Mci的距离的权值为Setc(M)中与样本Mci同类型的样本数占Setc(M)中样本总数的比例。
[0117]各压力传感器节点的初始权重设为O。本步骤中,样本和k近邻样本的距离可用来表示样本和最近邻样本在当前压力传感器节点的压力差。
[0118]2b.3判断所有传感器节点的当前权重和上一权重的方差的差值是否小于预设阈值,若小于预设阈值,则认为各压力传感器节点权重不会发生剧烈变化,此时收敛,执行子步骤2b.4 ;否则,重新执行子步骤2b.1 ;
[0119]2b.4取权重最大的前N个压力传感器节点作为有效节点,仅在有效节点处布置压力传感器。
[0120]步骤3,采集不同坐姿下各有效节点的压力值,有效节点的压力值及对应的坐姿构成训练样本集D’,采用训练样本集D ’训练随机森林,得坐姿分类器;坐姿分类器可根据实时的压力信息,通过投票方式实时输出用户的当前坐姿。
[0121]步骤4,采集有效节点的当前压力数据,基于当前压力数据,采用坐姿分类器识别用户当前坐姿。
[0122]三、基于摄像头与压力传感器的颈椎病识别方法,具体步骤如下:
[0123]步骤I,根据人脸分类器与坐姿分类器识别坐姿的准确率,调整人脸分类器与坐姿分类器的权重,具体为:
[0124]分别采用摄像头和压力传感器采集用户不同坐姿的数据,记为测试样本,测试样本包括人脸图像、有效节点的压力数据及对应的坐姿。本具体实时方式中,将7种坐姿的人脸图像分别标记为al、a2、a3、a4、a5、a6、a7;将7种坐姿的压力数据分别标记为b1、b2、b3、b4、b5、b6、b70
[0125]分别采用人脸分类器和坐姿分类器识别测试样本,计算识别正确样本数占测试样本总数的百分比,即获得人脸分类器和坐姿分类器的准确率。
[0126]根据人脸分类器和坐姿分类器的准确率调整权重,若人脸分类器准确率低于坐姿分类器,按预设的权重调整值降低人脸分类器权重,提高坐姿分类器权重;反之,则按预设的权重调整值提高人脸分类器权重,降低坐姿分类器。本发明中人脸分类器和坐姿分类器的初始权重设定为0.5,权重调整值人为设定,本实施例中,权重调整值设为0.01。
[0127]步骤2,根据调整后权重判断用户当前坐姿类型。
[0128]摄像头采集用户的当前图像,有效节点采集用户的当前压力数据。采用人脸分类器从当前图像识别各坐姿的概率,采用坐姿分类器从当前压力数据识别各坐姿的概率匕。分别计算各坐姿的综合概率Cl=m.a.+n.Id1,其中,m、n分别为人脸分类器和坐姿分类器的权重,&1表示人脸分类器从当前图像识别的第i类坐姿的概率,匕为坐姿分类器从当前压力数据识别的第i类坐姿的概率;综合概率最大的坐姿即用户当前坐姿类型。
[0129]第i类坐姿的概率为识别为第i类坐姿的决策树数占总决策树数的比值。
[0130]步骤3,分别统计预设周期内用户处于标准坐姿和非标准坐姿的时长,分别计算标准坐姿和非标准坐姿的时长占预设周期的比例,当非标准坐姿时长所占比例达规定程度,判定用户有患颈椎病风险,并提醒用户。
[0131]下面将结合附图进一步说明本发明运作方式。
[0132]见图1?2,本发明系统包括视频监控装置、数据传输模块、坐垫模块、处理单元、警告系统和服务器。视频监控装置为电脑自带摄像头或外置摄像头;数据传输模块采用蓝牙4.0协议,与处理单元连接的蓝牙模块设置属性为主机,与坐垫模块连接的蓝牙模块设置属性为从机,数据传输采用数据透传模式;坐垫模块包括压力传感器和Arduino控制模块;处理单元采用电脑,警告显示于电脑屏幕;服务器负责数据存储备份。
[0133]视频监控装置用来获取视频流。用户在视频监控装置前根据提示做出相应的坐姿动作并保持一定时间,视频监控装置此时采集训练样本,采用训练样本训练随机森林,得当前用户的人脸分类器。
[0134]把视频流按照每秒I帧的间隔分成图像输入处理单元,使用opencv库中的随机森立模型进行图像处理,主要检测图像中用户的双眼和嘴的坐标。采用双眼和嘴的坐标判断头部的初步运动方向,再根据与阈值a、b的比较,以此得出脸部精确运动变化。对不正确坐姿进行警告。
[0135]系统默认坐标系为:以图像左上角为原点,水平向右为X轴正方向,竖直向下为y轴正方向,这样即可保证图像上点坐标均为正数。
[0136]见图3?4,基于体压分布检测的坐姿判断方法中,首先,设置11行11列共121个压力传感器节点,在不同坐姿下采集各压力传感器节点的压力值,压力传感器节点的压力值及对应的坐姿类型构成训练集D;然后,通过ReliefF法在121个节点中选取有效节点。本实施例中,通过ReliefF法找出了20个权重最大的压力传感器节点作为有效节点,见图4。
[0137]随机森林实际上是通过随机方式建立多个决策树进行决策,对于输入的测试数据,通过每棵决策树进行分类,最后通过投票方式进行分类。投票的方式是每棵决策树产生一个坐姿类型识别,统计各决策树产生的坐姿类型,数量最高的坐姿类型即最终输出的坐姿类型。随机森林在数据集上表现良好,能够处理很高维度的数据,并且不用做特征的选择,训练速度快,容易做成并行的方法。通过将压力传感器节点的压力数据输入训练好的随机森林,即可实时获得用户的坐姿。
[0138]当用户初步判断有患颈椎病风险时,本系统还提供颈椎保健操,用户完成动作,根据用户动作完成程度,进一步判断用户是否有患颈椎病风险:
[0139]一、低头,动作要点:最大限度低头。摄像头采集图像,记录低头最大限度时的俯角,与设定的正常值比对。
[0140]二、仰头,动作要点:最大限度仰头。摄像头采集图像,记录低头最大限度时的仰角,与设定的正常值比对。
[0141]三、歪头,动作要点:分别向两侧最大限度歪头。摄像头采集图像,记录两侧倾角,与设定的正常值比对,并判断两侧倾角是否等值。
[0142]四、转头,动作要点:分别向两侧最大限度转头,转头的概念是头顶尽力向前,下巴尽力伸向侧后方。摄像头采集图像,在旋转过程中模块向用户提供模拟旋转轨迹,并记录用户转头时的轨迹。
[0143]五、耸肩动作要点:一只手自然握住另一只手,双肩上耸,缩脖子。摄像头采集图像,记录肩膀水平线与下巴边缘的相对距离。
[0144]六,兜肩,动作要点:双肩要尽量前兜。
[0145]七、屈腕屈肘,动作要点:腕部、肘部尽力向内弯曲。模块记录弯曲弧度。
[0146]八、扩胸。摄像头采集图像,记录扩胸过程中,以肩膀为圆心,手为直径的最大圆的直径与轨迹。
[0147]九、摇头,动作要点:分别顺时针、逆时针摇头。模块记录摇头频率,提醒用户按照设定频率摇头,以防摇头过快或过慢。
[0148]上述动作皆通过摄像头判断动作是否到位。
【主权项】
1.一种基于图像的动作捕捉坐姿判断方法,其特征是,包括: Si摄像头采集用户不同坐姿的人脸图像作为训练样本; S2采用训练样本及各训练样本对应的坐姿训练随机森林,得人脸分类器; S3摄像头采集用户的当前人脸图像,采用人脸分类器从当前人脸图像中获取五官坐标,五官坐标即左眼、右眼和嘴的中心点坐标,计算五官坐标的平均坐标,记为五官平均坐标; S4根据当前人脸图像中五官坐标识别用户当前坐姿,本步骤进一步包括: 4.1采用人脸分类器从标准坐姿的训练样本中获取五官坐标,即五官标准坐标,计算各五官标准坐标的平均坐标,记为五官平均标准坐标; 4.2将五官平均坐标的X轴坐标减去五官平均标准坐标的X轴坐标,所得差值记为第一差值;将五官平均坐标的y轴坐标减去五官平均标准坐标的y轴坐标,所得差值记为第二差值; 4.3根据①第一差值和第二差值的大小、②五官平均坐标和五官平均标准坐标的连线与水平方向的夹角、以及③当前人脸图像和标准坐姿训练样本中各五官间距离的差值大小,判断当前人脸图像中五官相对标准坐姿的训练样本中五官的偏移方向,从而识别用户当前坐姿; S5基于当前人脸图像,采用人脸分类器识别用户当前坐姿; S6比较步骤S4和S5的识别结果,若识别结果相同,则该识别结果即用户当前坐姿,根据用户当前坐姿对用户提出建议或警告,然后,对下一帧人脸图像执行步骤S3?S6;若识别结果不同,直接对下一帧人脸图像执行步骤S3?S6。2.如权利要求1所述的基于图像的动作捕捉坐姿判断方法,其特征是,包括: SI中所述的不同坐姿包括标准坐姿、仰头、低头、头部左偏、头部右偏、头部远离摄像头和头部靠近摄像头。3.如权利要求1所述的基于图像的动作捕捉坐姿判断方法,其特征是,包括: 子步骤4.3具体为: (a)若第一差值和第二差值均大于a,计算五官平均坐标和五官平均标准坐标的连线与水平方向夹角的正切值,若正切值大于I,则判定用户当前坐姿为仰头;否则,判定用户当前坐姿为头部右偏; (b)若第一差值大于a同时第二差值小于-a,计算五官平均坐标和五官平均标准坐标的连线与水平方向夹角的正切值,若正切值大于I,则判定用户当前坐姿为低头;否则,判定用户当前坐姿为头部右偏; (C)若第一差值大于a同时第二差值位于范围[_a,a]内,则判定用户当前坐姿为头部右偏; (d)若第一差值小于-a同时第二差值大于a,计算五官平均坐标和五官平均标准坐标的连线与水平方向夹角的正切值,若正切值大于I,则判定用户当前坐姿为仰头;否则,判定用户当前坐姿为头部左偏; (e)若第一差值和第二差值均小于_a,计算五官平均坐标和五官平均标准坐标的连线与水平方向夹角的正切值,若正切值大于1,则判定用户当前坐姿为低头;否则,判定用户当前坐姿为头部左偏; (f)若第一差值小于-a同时第二差值位于范围[_a,a],则判定用户当前坐姿为头部左偏; (g)若第一差值位于范围[-a,a]内,同时第二差值大于a,则判定用户当前坐姿为仰头; (h)若第一差值位于范围[_a,a]内,同时第二差值大于a,则判定用户当前坐姿为低头; (i)若第一差值和第二差值均位于范围[_a,a]内,计算标准坐姿的训练样本中左眼与右眼、左眼与嘴、右眼与嘴的距离,分别记为标准距离1、标准距离2、标准距离3,计算当前人脸图像中左眼与右眼、左眼与嘴、右眼与嘴的距离,分别记为距离1、距离2、距离3,计算标准距离I与距离1、标准距离2与距离2、标准距离3与距离3的差值,若所有差值均大于阈值b,则判断用户当前坐姿为头部靠近摄像头;若所有差值都小于阈值b,则判断用户当前坐姿为头部远离摄像头;否则,判断用户当前坐姿为标准坐姿; 阈值a和b为与标准坐姿训练样本中人脸宽度像素值有关的经验值,通过多次试验调整获得。4.一种基于体压分布检测的坐姿判断方法,其特征是,包括: S1坐垫上布置压力传感器节点,采集用户不同坐姿下各压力传感器节点的压力值,压力传感器节点的压力值及对应的坐姿构成训练样本集D; S2以节点的压力值为特征,不同坐姿类型为不同类别,采用Relief或ReliefF法分析各节点权重,选取权重最大的前N个节点作为有效节点,N在15?20范围取值; S3采集不同坐姿下各有效节点的压力值,有效节点的压力值及对应的坐姿构成训练样本集D ’,采用训练样本集D ’训练随机森林,得坐姿分类器; S4采集有效节点的当前压力数据,基于当前压力数据,采用坐姿分类器识别用户当前坐姿。5.如权利要求4所述的基于体压分布检测的坐姿判断方法,其特征是: 步骤S2中,采用Rel ief法分析各节点权重,进一步包括: 2a.1从训练样本集D随机选取样本R,从和样本R类别相同的训练样本中寻找样本R的最近邻样本H,从和样本R类别不同的训练样本中寻找样本R的最近邻样本M; 2a.2将各压力传感器节点的初始权重设为0,然后对各压力传感器节点逐一进行: 在当前压力传感器节点上,比较R和H的距离与R和M的距离,若R和H的距离小于R和M的距离,增加当前压力传感器节点的权重,权重的增加量为在当前压力传感器节点上R和M的距离;否则,减少当前压力传感器节点的权重,权重的减少量为在当前压力传感器节点上R和H的距离; 2a.3判断所有传感器节点的当前权重和上一权重的方差的差值是否小于预设阈值,若小于预设阈值,执行子步骤2a.4;否则,重新执行子步骤2a.1; 2a.4取权重最大的前N个压力传感器节点作为有效节点。6.如权利要求4所述的基于体压分布检测的坐姿判断方法,其特征是: 步骤S2中,采用Re I ief F法分析各节点权重,进一步包括: 2b.1从训练样本集D随机选取样本R,从和样本R类别相同的训练样本中寻找样本R的k近邻样本,记为Set(H);从和样本R类别不同的训练样本中寻找样本R的k近邻样本,记为Setc(M); 2b.2将各压力传感器节点的初始权重设为O,然后对各压力传感器节点逐一进行: 在当前压力传感器节点上,比较R和Set (H)的距离与R和Setc(M)的距离,若R和Set (H)的距离小于R和Setc(M)的距离,增加当前压力传感器节点的权重,权重的增加量为当前压力传感器节点上R和Set (H)中各样本Hi距离之和;否则,减少当前压力传感器节点的权重,权重的减少量为当前压力传感器节点上R和Setc(M)中各样本Mci的距离的加权和,R和Mci的距离的权值为Set JM)中与样本Md同类型的样本数占Setc(M)中样本总数的比例; 2b.3判断所有传感器节点的当前权重和上一权重的方差的差值是否小于预设阈值,若小于预设阈值,执行子步骤2b.4;否则,重新执行子步骤2b.1; 2b.4取权重最大的前N个压力传感器节点作为有效节点。7.基于摄像头与压力传感器的颈椎病识别方法,其特征是,包括: SI采用摄像头和压力传感器分别采集用户不同坐姿下的人脸图像和有效节点压力值,人脸图像、有效节点压力值及对应的坐姿构成测试样本; S2分别采用权利要求1步骤S2所得人脸分类器和权利要求4步骤S3所得坐姿分类器识别测试样本,计算人脸分类器和坐姿分类器识别正确的样本数占测试样本总数的百分比,即人脸分类器和坐姿分类器的准确率; S3根据人脸分类器和坐姿分类器的准确率调整权重,即,若人脸分类器准确率低于坐姿分类器,按预设权重调整值降低人脸分类器权重,提高坐姿分类器权重;反之,按预设权重调整值提高人脸分类器权重,降低坐姿分类器;人脸分类器和坐姿分类器的初始权重设为0.5;权重调整值根据经验人为设定; S4摄像头采集用户的当前人脸图像,有效节点采集用户的当前压力数据; S5采用人脸分类器从当前人脸图像识别各坐姿概率,采用坐姿分类器从当前压力数据识别各坐姿概率,分别计算各坐姿的综合概率Cl = m.a.+n.Id1,综合概率最大的坐姿即用户当前坐姿;m、n分别为人脸分类器和坐姿分类器的权重;Bhb1分别表示人脸分类器和坐姿分类器从当前人脸图像识别为第i类坐姿的概率; S6分别统计预设周期内用户处于标准坐姿和非标准坐姿的时长,计算非标准坐姿的时长占预设周期的比例,当该比例达规定程度,判定用户有患颈椎病风险。8.如权利要求7所述的基于摄像头与压力传感器的颈椎病识别方法,其特征是: 当判定用户有患颈椎病风险时,根据用户颈椎保健操完成程度,进一步判断是否患颈椎病风险,具体包括: (1)用户最大限度低头,摄像头采集用户的人脸图像,根据人脸图像获取俯角,将俯角与预设正常值比对; (2)用户最大限度仰头,摄像头采集用户的人脸图像,根据人脸图像获取仰角,将仰角与设定正常值比对; (3)用户分别向两侧最大限度歪头,摄像头采集用户的人脸图像,根据人脸图像获取倾角,将倾角与设定正常值比对,同时判断两侧倾角是否相等; (4)用户分别向两侧最大限度转头,摄像头采集用户的人脸图像,根据人脸图像获取用户转头轨迹; (5)用户做耸肩动作,摄像头采集用户的人脸图像,根据人脸图像获取用户的肩膀水平线与下巴边缘的距离; (6)用户做兜肩动作,摄像头采集用户的人脸图像; (7)用户腕部和肘部最大限度向内弯曲,摄像头采集用户的人脸图像,根据人脸图像获取弯曲弧度; (8)用户作扩胸动作,摄像头采集用户的人脸图像,根据人脸图像获取用户扩胸过程中,以肩膀为圆心、手臂为直径的最大圆的直径与轨迹; (9)用户分别顺时针、逆时针摇头,摄像头采集用户的人脸图像,根据人脸图像获取摇头频率。9.基于摄像头与压力传感器的颈椎病识别系统,其特征是,包括: 视频监控装置、数据传输模块、设于坐垫的压力传感器节点、处理单元和警告系统,视频监控装置、警告系统均连接处理单元,压力传感器节点通过数据传输模块连接处理单元;视频监控装置用来采集用户人脸的视频流;压力传感器节点用来采集用户的压力信息,处理单元用来根据视频监控装置和压力传感器节点采集数据识别用户的当前坐姿,并非标准坐姿时长占预设周期的比例,判定用户是否有患颈椎病风险;警告系统用来当用户判断为有患颈椎病风险时提供警告。
【文档编号】G06K9/00GK106022378SQ201610343035
【公开日】2016年10月12日
【申请日】2016年5月23日
【发明人】朱卫平, 尹韶升, 刘国檩, 邵泽宇, 周旺, 夏天, 夏天一
【申请人】武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1