本发明涉及坐姿检测方法,具体是涉及一种基于深度传感器的坐姿检测方法。
背景技术:
随着社会的发展,电脑的普及、学习的压力以及工作的需要,人们每天坐立的时间越来越长。据统计,如今人们平均每天坐立的时间超过8个小时。在长时间的坐立情况下,由于人们很难一直保持良好的坐立姿态,因此很容易出现离书桌太近、身体倾斜、头偏等不良坐姿,久而久之,就会很容易患上近视、斜眼、腰椎疾病、颈椎疾病等,严重的影响人们的身体健康。
15年,北京大学教授李玲发布了一份《国民视觉健康报告》,报告显示2012年我国5岁以上人群中,近视和远视的患病人数约有5亿,近视人数在4.5亿左右。其中,高中生和大学生的近视患病率均超过70%,并且在逐年增加,青少年近视患病率已高居世界第一位。引起近视的最主要原因就是坐姿不正确,眼睛离书桌太近以及用眼过度。
对于上班族,经常会长时间的坐在办公室里工作,由于坐立的时间过长、坐姿的不正确、缺乏运动以及身体承受能力的下降,导致70%的人都受到腰椎疾病的困扰。因此对人们的坐姿进行检测,当出现不良的坐姿时及时提醒纠正是非常重要的,也是人们迫切需要的。
目前,已有很多坐姿检测、预防近视、纠正坐姿的技术方案。其中,它们基本上都是通过传感器(红外、压力、加速度、超声波等传感器)实现。例如:申请号为201020571032.4的中国专利申请“智能学习桌”采用红外传感器和超声波传感器,监测用户头部与书桌的距离来判断坐姿是否正确;申请号为201510182899.8的中国专利申请“一种具有坐姿纠正功能的智能座椅”通过安装在椅子上的压力传感器判断人体坐姿是否倾斜;申请号为201610636497.5的中国专利申请“一种学生用防近视眼姿势防控方法”将距离传感器与倾斜传感器套接在用户头上,实现近视与身体倾斜的检测。
上述通过传感器进行坐姿检测的方案具有测量数据准确度高的优点,但是其测量数据过于单一,;另外,传感器需要进行安装或者让用户进行佩戴,这不仅会让用户感到不适,而且安装使用麻烦、成本较高,存在很多局限性。
另外一种方法就是通过图像进行坐姿监测,这种方式虽然图像数据处理比较复杂,但是其获取信息丰富,而且使用方便。因此成为未来主要的研究方向。目前通过图像进行坐姿监测的研究相对来说还比较少,还处于初步探索阶段。现有的通过图像进行坐姿检测的方案有:申请号为200910242665.2的中国专利申请“一种坐姿检测方法及装置”采用电脑上的摄像头采集目标用户图像,检测人脸、眼睛、肩部后得到人脸倾斜角度、眼睛区域面积和头肩曲线,将检测的结果与预设的标准值进行比较,得出坐姿结果。这种方式由于是采用彩色图像容易受到光照的影响,另外不同人的坐姿标准不一样,因此其检测不同的人容易造成误差。201310284585.x的中国专利申请“一种基于椭圆检测的近视预防装置及方法”通过头部重心的高低预防近视,这种检测方法太笼统,并且对于不同身高的人很容易产生错误。申请号为201410134765.4的中国专利申请“一种矫正坐姿的智能书桌及其矫正方法”通过红外线发射器与红外线摄像头进行主动式红外成像,提取结构光的特征点信息,测定特征点的深度信息,复原对象轮廓,完成图像的三维重建,并根据对象轮廓信息运用机器学习的方法识别出人眼、胸部、主要关节、桌面等对象,提取人体脊椎的骨骼模型,计算坐距、视矩,通过骨骼模型与标准的模型进行比较,判断含胸、歪斜等坐姿。这种通过机器学习识别出骨骼模型进行姿态识别具有较好的准确率,但是通过机器学习进行骨骼点的确定识别准确度往往不高,很容易影响坐姿的识别。申请号为201510918810.x的中国专利申请“一种用于监视坐姿的系统”采集坐姿图像,通过图像中目标所占比例与椭圆检测判定是否有人坐立,通过记录时间提醒人时常起身活动,这种方式检测的信息过于单一。申请号为201510864542.8的一中国专利申请“一种多模态学习过程状态信息压缩记录方法”用kinect采集坐姿信息,根据hu不变矩、支持向量机(svm)对端坐、左倾、右倾、前靠、后仰五种坐姿进行了识别,由于人体姿态多变,因此这种方法通过hu不变矩进行坐姿检测的准确度不高,对于不同的人不同的姿态适用性不好,另外该方法检测的姿态不够丰富。申请号为201610394250.7的一中国专利申请“一种基于双目相机的实时人体坐姿情况检测方法”利用双目相机采集坐姿图像,运用相机标定得到图像的深度信息,随后检测人脸、人眼与肩部点,最后通过头部的姿态角、人体上半身的姿态角、头部与摄像头的距离进行姿态的检测与近视的判定。这种方式获取的深度信息不够准确,会对后续的坐姿判定有影响,另外其通过曲率定位肩部很容易因手部动作与坐姿的变化而影响。
总的来说,现有的坐姿检测技术,存在坐姿检测准确度不高与检测的坐姿种类少两个缺点。
技术实现要素:
本发明所要解决的技术问题是,克服上述背景技术的不足,提供一种基于深度传感器的坐姿检测方法,坐姿检测种类多且检测准确度高。
本发明解决其技术问题采用的技术方案是,一种基于深度传感器的坐姿检测方法,包括以下步骤:
(1)采集人体坐姿数据并存储;
(2)建立坐姿训练模型;
(3)图像采集,坐姿判定;
(4)坐姿提醒。
进一步,步骤(1)中,采集人体坐姿数据并存储的具体方法如下:
(1.1)通过深度传感器采集人体的坐姿深度图像,坐姿深度图像包括正直、左偏头、右偏头、低头、仰头、身体右斜、身体左斜、举右手、举左手、右手托腮、左手托腮、后躺、伸展与趴下14种坐姿,
(1.2)对采集的14种坐姿深度图像进行前景提取,得到坐姿前景图并存储,作为坐姿数据库,坐姿数据库中存储的坐姿前景图包括正直坐姿前景图、左偏头坐姿前景图、右偏头坐姿前景图、低头坐姿前景图、仰头坐姿前景图、身体右斜坐姿前景图、身体左斜坐姿前景图、举右手坐姿前景图、举左手坐姿前景图、右手托腮坐姿前景图、左手托腮坐姿前景图、后躺坐姿前景图、伸展坐姿前景图与趴下坐姿前景图。
进一步,步骤(2)中,建立坐姿训练模型的具体方法如下:
(2.1)提取正直、左偏头、右偏头、低头、仰头、身体右斜、身体左斜、举右手、举左手、右手托腮、左手托腮、后躺、伸展与趴下14种坐姿的特征向量;
(2.2)根据步骤(2.1)中提取的坐姿特征向量通过随机森林训练得到坐姿训练模型。
进一步,步骤(2.1)中,提取正直、左偏头、右偏头、低头、仰头、身体右斜、身体左斜、举右手、举左手、右手托腮、左手托腮、后躺、伸展与趴下14种坐姿的特征向量的具体方法如下:
(2.1.1)提取正直坐姿的投影特征向量;
(2.1.2)提取正直坐姿的hog特征;
(2.1.3)根据步骤(2.1.1)中的投影特征向量与步骤(2.1.2)中的hog特征融合得到正直坐姿特征向量;
(2.1.4)按照步骤(2.1.1)、(2.1.2)、(2.1.3)的方法,依次获取左偏头、右偏头、低头、仰头、身体右斜、身体左斜、举右手、举左手、右手托腮、左手托腮、后躺、伸展与趴下坐姿特征向量。
进一步,步骤(2.1.1)中,提取正直坐姿的投影特征向量的具体方法如下:
(2.1.1.1)将正直坐姿前景图在3个笛卡尔平面上进行投影,分别得到前视图、俯视图与侧视图;前视图为原始的正直坐姿前景图,前视图为分辨率是320*240的二维图像;侧视图是从侧面角度观察原始的正直坐姿前景图得到的分辨率是240*255的二维图像;俯视图是从俯视角度观察原始的正直坐姿前景图得到的分辨率是320*255的二维图像;
(2.1.1.2)分别遍历前视图、俯视图与侧视图的每一行与每一列,如果某一行或某一列的所有像素点的像素值全为0,则将该行或该列去除,最终得到饱满的前视图、俯视图与侧视图;
(2.1.1.3)使用双三次插值方法分别对饱满的前视图、俯视图与侧视图进行插值缩放,缩放后的前视图的分辨率为50*70,俯视图的分辨率为50*50,侧视图的分辨率为50*50;
(2.1.1.4)分别对缩放后的前视图、俯视图、侧视图的所有像素点的像素值进行归一化处理,即将所有像素点的像素值都按比例缩放到0-1之间,归一化处理方法如下:
(2.1.1.5)将归一化处理后的前视图、俯视图、侧视图分别变换为对应的列向量h1,h2,h3,列向量h1,h2,h3按照前视图、俯视图、侧视图的顺序组成一个大的投影特征向量,hprojection=[h1,h2,h3]t;
(2.1.1.6)使用pca对投影特征向量hprojection进行降维,降维后保留90%的主成分,得到新的投影特征向量h‘projection,即正直坐姿的投影特征向量。
进一步,步骤(2.1.1.1)中,获取二维的俯视图的具体方法如下:获取正直坐姿前景图的所有像素点,如果正直坐姿前景图在某一像素点的像素值不等于0,则该像素点对应的俯视图的像素点的像素值加1,如果正直坐姿前景图在某一像素点的像素值等于0,则该像素点对应的俯视图的像素点的像素值加0;按以上方法依次得到正直坐姿前景图的所有像素点对应的俯视图的像素点及像素值,进而得到二维的俯视图。
进一步,步骤(2.1.1.1)中,获取二维的侧视图的具体方法如下:获取正直坐姿前景图的所有像素点,如果正直坐姿前景图在某一像素点的像素值不等于0,则该像素点对应的侧视图的像素点的像素值加1,如果正直坐姿前景图在某一像素点的像素值等于0,则该像素点对应的侧视图的像素点的像素值加0;按以上方法依次得到正直坐姿前景图的所有像素点对应的侧视图的像素点及像素值,进而得到二维的侧视图。
进一步,步骤(2.1.2)中,提取正直坐姿的hog特征的具体方法如下:
(2.1.2.1)对饱满的前视图进行双三次插值缩放,得到分辨率为64*64的前视图;
(2.1.2.2)对插值缩放的前视图进行两层hog特征的提取,第一层网格大小为2×2,第二层网格大小为4×4,分别对每一层求取hog特征后,按行向量的形式排列起来得到正直坐姿的hog特征hhog;
进一步,步骤(3)中,图像采集,坐姿判定的具体方法如下:
(3.1)通过深度传感器采集人体坐姿深度图像以及坐姿深度图像的深度距离信息,坐姿深度图像的分辨率为320*240;
(3.2)利用坐姿深度图像的深度距离信息,通过阀值分割法实现人体与背景的分割,得到坐姿前景图,通过滤波、腐蚀、膨胀算法实现噪声去除、边缘平滑;
(3.3)提取坐姿前景图的坐姿特征向量;
(3.4)将坐姿特征向量放入坐姿训练模型中测试,判定当前坐姿的类型。
与现有技术相比,本发明的优点如下:采用深度传感器采集人体学习工作时的坐姿图像,建立坐姿训练模型,提取坐姿深度图的投影特征与hog特征,进行融合后运用随机森林训练与测试,最终实现人体多种坐姿(14种)的实时检测,坐姿检测准确度高。
具体实施方式
下面结合具体实施例对本发明作进一步详细描述。
本实施例包括以下步骤:
(1)采集人体坐姿数据并存储,具体方法如下:
(1.1)通过深度传感器采集人体的坐姿深度图像,坐姿深度图像包括正直、左偏头、右偏头、低头、仰头、身体右斜、身体左斜、举右手、举左手、右手托腮、左手托腮、后躺、伸展与趴下14种坐姿,
(1.2)对采集的14种坐姿深度图像进行前景提取,得到坐姿前景图并存储,作为坐姿数据库,坐姿数据库中存储的坐姿前景图包括正直坐姿前景图、左偏头坐姿前景图、右偏头坐姿前景图、低头坐姿前景图、仰头坐姿前景图、身体右斜坐姿前景图、身体左斜坐姿前景图、举右手坐姿前景图、举左手坐姿前景图、右手托腮坐姿前景图、左手托腮坐姿前景图、后躺坐姿前景图、伸展与趴下坐姿前景图。
(2)建立坐姿训练模型,具体方法如下:
(2.1)提取正直、左偏头、右偏头、低头、仰头、身体右斜、身体左斜、举右手、举左手、右手托腮、左手托腮、后躺、伸展与趴下14种坐姿的特征向量;
以提取正直坐姿的特征向量为例,对坐姿的特征向量提取方法进行详细说明。其他坐姿的特征向量提取方法同正直坐姿。
(2.1.1)提取正直坐姿的投影特征向量;
(2.1.1.1)将正直坐姿前景图在3个笛卡尔平面上进行投影,分别得到前视图、俯视图与侧视图;前视图为原始的正直坐姿前景图,前视图为分辨率是320*240的二维图像;侧视图是从侧面角度观察原始的正直坐姿前景图得到的分辨率是240*255的二维图像;俯视图是从俯视角度观察原始的正直坐姿前景图得到的分辨率是320*255的二维图像;
获取二维的俯视图的具体方法如下:获取正直坐姿前景图的所有像素点,如果正直坐姿前景图在某一像素点的像素值不等于0,则该像素点对应的俯视图的像素点的像素值加1,如果正直坐姿前景图在某一像素点的像素值等于0,则该像素点对应的俯视图的像素点的像素值加0;按以上方法依次得到正直坐姿前景图的所有像素点对应的俯视图的像素点及像素值,进而得到二维的俯视图。
例如坐姿前景图的像素点(150,220)的像素值为122,则对应的俯视图的像素点为(150,122),俯视图的像素点(150,122)的像素值加1,坐姿前景图的像素点(180,210)的像素值为0,则对应的俯视图的像素点为(180,0),俯视图的像素点(180,0)的像素值加0。
获取二维的侧视图的具体方法如下:获取正直坐姿前景图的所有像素点,如果正直坐姿前景图在某一像素点的像素值不等于0,则该像素点对应的侧视图的像素点的像素值加1,如果正直坐姿前景图在某一像素点的像素值等于0,则该像素点对应的侧视图的像素点的像素值加0;按以上方法依次得到正直坐姿前景图的所有像素点对应的侧视图的像素点及像素值,进而得到二维的侧视图。
例如坐姿前景图的像素点(150,220)的像素值为122,则对应的侧视图的像素点为(220,122),侧视图的像素点(220,122)的像素值加1,坐姿前景图的像素点(150,210)的像素值为0,则对应的侧视图的像素点为(210,0),侧视图的像素点(210,0)的像素值加0。
(2.1.1.2)分别遍历前视图、俯视图与侧视图的每一行与每一列,如果某一行或某一列的所有像素点的像素值全为0,则将该行或该列去除,最终得到饱满的前视图、俯视图与侧视图。
(2.1.1.3)使用双三次插值方法分别对饱满的前视图、俯视图与侧视图进行插值缩放,缩放后的前视图的分辨率为50*70,俯视图的分辨率为50*50,侧视图的分辨率为50*50。
(2.1.1.4)分别对缩放后的前视图、俯视图、侧视图的所有像素点的像素值进行归一化处理,即将所有像素点的像素值都按比例缩放到0-1之间,归一化处理方法如下:
(2.1.1.5)将归一化处理后的前视图、俯视图、侧视图分别变换为对应的列向量h1,h2,h3,例如分辨率为m*n大小的投影图像,变化为m*n行的列向量。将列向量h1,h2,h3按照前视图、俯视图、侧视图的顺序组成一个大的投影特征向量,hprojection=[h1,h2,h3]t,
(2.1.1.6)使用pca(主成分分析)对投影特征向量hprojection进行降维,降维后保留90%的主成分,得到新的投影特征向量h‘projection,即正直坐姿的投影特征向量;
(2.1.2)提取正直坐姿的hog特征;
提取正直坐姿的hog特征的具体方法如下:
(2.1.2.1)对饱满的前视图进行双三次插值缩放,得到分辨率为64*64的前视图;
(2.1.2.2)对插值缩放的前视图进行两层hog特征的提取,第一层网格大小为2×2,第二层网格大小为4×4,分别对每一层求取hog特征后,按行向量的形式排列起来得到正直坐姿的hog特征hhog;
(2.1.3)根据步骤(2.1.1)中的投影特征向量与步骤(2.1.2)中的hog特征融合得到正直坐姿特征向量h;
(2.1.4)按照步骤(2.1.1)、(2.1.2)、(2.1.3)的方法,依次获取左偏头、右偏头、低头、仰头、身体右斜、身体左斜、举右手、举左手、右手托腮、左手托腮、后躺、伸展与趴下坐姿特征向量;
(2.2)根据步骤(2.1)中提取的坐姿特征向量通过随机森林训练得到坐姿训练模型;
(3)图像采集,坐姿判定,具体方法如下:
(3.1)通过深度传感器采集人体坐姿深度图像以及坐姿深度图像的深度距离信息,坐姿深度图像的分辨率为320*240。
(3.2)前景提取
利用坐姿深度图像的深度距离信息,通过阀值分割法实现人体与背景的分割,得到坐姿前景图,通过滤波、腐蚀、膨胀算法实现噪声去除、边缘平滑;
(3.3)提取坐姿前景图的坐姿特征向量;具体方法同步骤(2.1.1)、(2.1.2)、(2.1.3);
(3.4)将坐姿特征向量放入坐姿训练模型中测试,判定当前坐姿的类型。
(4)坐姿提醒
若当前坐姿为左偏头、右偏头、低头、身体右斜、身体左斜时,判断为不良坐姿,若不良坐姿持续30s以上,进行语音提醒,促使人体纠正坐姿;若当前坐姿为正直、仰头、举右手、举左手、右手托腮、左手托腮、后躺、伸展与趴下,则判断为非不良坐姿。若当前坐姿为正直、左偏头、右偏头、低头、仰头、身体右斜、身体左斜、举右手、举左手、右手托腮以及左手托腮时,则判断为学习状态;若当前坐姿为后躺、伸展与趴下,则判断为非学习状态。
(5)坐姿统计
对每一次学习的所有坐姿进行统计,统计每种姿态出现的时间,最后分别与总的学习时间相比,得到每种姿态的百分比,并用饼状图的形式显示,用于分析坐姿情况。
(6)学习状态评估
定义学习状态的总分为100分,计算正直、左偏头、右偏头、低头、仰头、身体右斜、身体左斜、右手托腮以及左手托腮的9种姿态的百分比之和,根据百分比之和给予相应的分数,(如9种姿态的百分比之和为70%,则得分为70),另外,根据举右手、举左手的次数进行附加分,举手一次加2分,最后得到总得分。如果总得分大于80,则学习状态为优秀;如果总得分在60-80之间,则学习状态为良好;如果总得分小于60,则学习状态为一般。
(7)坐姿习惯分析:对学习者一个月的学习坐姿情况进行记录存储,最后统计一个总的坐姿百分比,并以给出数据显示,如果某种姿态的百分比比较大就判定学习者具有该坐姿习惯,例如身体右斜的百分比占50%以上,说明学习者有身体右斜的习惯。
本发明直接采用深度传感器采集人体学习工作时的坐姿图像,建立坐姿训练模型,提取坐姿深度图的投影特征与hog特征,进行融合后运用随机森林训练与测试,最终实现人体多种坐姿的实时检测,坐姿检测准确度高。本发明由于使用的是深度传感器,因此采集的深度信息准确,图像分割方便,不受光照与背景的影响,另外设备安装使用很方便。本发明检测的坐姿内容非常丰富,可以对人体的坐姿习惯进行全面分析,有助于人们纠正不良坐姿,预防近视、斜眼、腰椎疾病与脊椎疾病等。
本领域的技术人员可以对本发明进行各种修改和变型,倘若这些修改和变型在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。
说明书中未详细描述的内容为本领域技术人员公知的现有技术。