CN112364694B - 一种基于关键点检测的人体坐姿识别方法 - Google Patents

一种基于关键点检测的人体坐姿识别方法 Download PDF

Info

Publication number
CN112364694B
CN112364694B CN202011088718.2A CN202011088718A CN112364694B CN 112364694 B CN112364694 B CN 112364694B CN 202011088718 A CN202011088718 A CN 202011088718A CN 112364694 B CN112364694 B CN 112364694B
Authority
CN
China
Prior art keywords
sitting posture
value
deviation
data set
coordinates
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
Application number
CN202011088718.2A
Other languages
English (en)
Other versions
CN112364694A (zh
Inventor
郑佳罄
石守东
胡加钿
房志远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningbo University
Original Assignee
Ningbo University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ningbo University filed Critical Ningbo University
Priority to CN202011088718.2A priority Critical patent/CN112364694B/zh
Publication of CN112364694A publication Critical patent/CN112364694A/zh
Application granted granted Critical
Publication of CN112364694B publication Critical patent/CN112364694B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1116Determining posture transitions
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1126Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique
    • A61B5/1128Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique using image analysis

Landscapes

  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Animal Behavior & Ethology (AREA)
  • Public Health (AREA)
  • Pathology (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Dentistry (AREA)
  • Physiology (AREA)
  • Biophysics (AREA)
  • Veterinary Medicine (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Radiology & Medical Imaging (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于关键点检测的人体坐姿识别方法,通过PC机、红外测距传感器以及摄像头搭建硬件环境,PC机内预存的判定阈值T1、T2、T3和T4通过关键点坐标确定,在对人体坐姿进行检测时,先获取人体正确坐姿下的关键点坐标作为基准,然后结合人体实时关键点坐标和四个判定阈值实时判断人体坐姿,且当连续3次判定为同一不正确的坐姿,则语音进行播报提醒使用者,当两种以上不正确坐姿连续3次同时出现时,语音播报时播报优先级别最高的坐姿;优点是实现过程简单,对硬件的计算能力要求较低,后续可移植到嵌入式设备上,实用性较高,成本较低,实时性较高,且交互性良好。

Description

一种基于关键点检测的人体坐姿识别方法
技术领域
本发明涉及一种人体坐姿识别方法,尤其是涉及一种基于关键点检测的人体坐姿识别方法。
背景技术
在工作和生活中,人们大多数时间采取的都是坐姿,并且稍不注意就会采取不正确的坐姿,而长期的坐姿不正确可能会引发脊柱侧弯、颈椎病、近视以及一系列并发症。良好的坐姿对于提高人们生活工作效率以及保持身心健康有着重要影响,正确识别人们的坐姿可以辅助人们养成良好的坐姿习惯。为此,人体坐姿识别技术得到了广泛研究。
现有的人体坐姿识别技术大多是基于机器学习的,例如申请公布号为CN111414780A)的中国专利中公开了一种人体坐姿识别方法,该方法实时采集用户坐姿图像,识别人体特征关键点并根据人体特征关键点数据计算当前坐姿数据,关键点数据包括眼坐标、嘴坐标、脖坐标、肩坐标,当前坐姿数据包括当前头部倾斜角度、当前肩部倾斜角度、当前脖子与脸部之间高度差值、当前肩与脸部之间高度差值,最后将当前坐姿数据与标准坐姿数据进行比较,判断当前坐姿是否异常。标准坐姿数据包括标准头部倾斜角度阈值、标准肩部倾斜角度阈值、标准用眼过近差值比阈值、标准趴桌差值比阈值,这四个阈值通过机器学习的监督学习分类算法进行大数据训练来获取。机器学习的监督学习分类算法对硬件的计算能力要求较高,训练时需要大量的数据以确保算法的准确率,并且需要一定的时间才能计算出相应的结果。由此,上述人体坐姿识别方法在实现时,对硬件的计算能力要求较高,成本较高,且为了保证其准确性,需要花费大量的时间制作大量的训练数据,实现过程复杂,且在识别时计算结果花费时间较多,实时性不高。
发明内容
本发明所要解决的技术问题是提供一种实现过程简单,对硬件的计算能力要求较低,实用性较高,成本较低,实时性较高,且交互性良好的基于关键点检测的人体坐姿识别方法。
本发明解决上述技术问题所采用的技术方案为:一种基于关键点检测的人体坐姿识别方法,包括以下步骤:
(1)、配备一台预存有图像处理程序的PC机、一个红外测距传感器以及一个摄像头,将红外测距传感器与摄像头组装并和PC机连接,红外测距传感器与摄像头在同一竖直平面上且距离不超过5厘米,以摄像头实时采集的画面左上角为坐标原点,水平向右方向为x轴正方向,垂直向下方向为y轴正方向,建立坐标系,PC机内还预先存储有四个判定阈值T1、T2、T3和T4,这四个判定阈值采用以下方法预先确定:
步骤1-1、将坐姿行为分为距离过近、距离过远、头部左偏、头部右偏、身体左倾、身体右倾、肩膀不平行、脊椎弯曲以及正确坐姿9种类别;
步骤1-2、选取身高在120cm~180cm之间的120名女性以及身高在130cm~190cm之间的120名男性作为预检人员,其中,120cm~180cm每10cm为一档,共分为6档,每一档女性为20人,130cm~190cm每10cm为一档,共分为6档,每一档男性为20人;将240名预检人员随机编号为1~240,将编号为i的预检人员称为第i个预检人员,i=1,2,…,240;
步骤1-3、对240名预检人员分别进行预检测,具体过程为:
S1、摄像头正对预检人员脸部,两者距离为30~50厘米,预检人员脸部和肩膀不能被遮挡;
S2、每个预检人员在摄像头前依次采取正确坐姿、头部左偏、头部右偏、身体左倾、身体右倾、脊椎弯曲以及肩膀不平行共7种坐姿,摄像头拍摄预检人员这7种坐姿的图像并发送给PC机,其中这7种坐姿按顺序依次编号为1-7,将编号为j的坐姿称为第j种坐姿,j=1,2,…,7,正确坐姿为腰背自然挺直,胸部张开,双肩放平,颈、胸和腰都要保持平直,除正确坐姿以外的其他6种坐姿按个人平时习惯实施;
S3、在PC机处采用图像处理程序分别获取并记录每个预检人员在7种坐姿下的左眼瞳孔、右眼瞳孔、鼻尖、颈部(两边锁骨连接处的凹点)、左肩和右肩这6个关键点的坐标,得到240组坐标数据,每组坐标数据分别包括一个预检人员在7种坐姿下的左眼瞳孔坐标、右眼瞳孔坐标、鼻尖坐标、颈部坐标、左肩坐标和右肩坐标,将第i个预检人员第j种坐姿下左眼瞳孔的坐标记为
Figure BDA0002721249650000021
右眼瞳孔的坐标记为
Figure BDA0002721249650000022
鼻尖的坐标记为
Figure BDA0002721249650000023
颈部的坐标记为
Figure BDA0002721249650000024
左肩的坐标记为
Figure BDA0002721249650000025
右肩的坐标记为
Figure BDA0002721249650000031
S4、将第i个预检人员身体左倾时左眼在x轴上的左偏量作为左倾偏量,记为ΔLi、身体右倾时右眼在x轴上的右偏量作为右倾偏量,记为ΔRi,脊椎弯曲时颈部在y轴上的偏移量作为颈部偏量,记为ΔCi,肩膀不平行时两个肩部关键点在y轴上的差值作为肩膀偏量,记为ΔHi,采用公式(1)、(2)、(3)、(4)分别计算得到ΔLi、ΔRi、ΔCi和ΔHi
Figure BDA0002721249650000032
Figure BDA0002721249650000033
Figure BDA0002721249650000034
Figure BDA0002721249650000035
式(4)中,||为取绝对值符号;
S5、按坐姿类别对240组坐标数据进行整合后按照7种坐姿类别重新分别7组,得到7组坐姿数据,每组坐姿数据分别包括240名测试人员在该坐姿下的左眼瞳孔坐标、右眼瞳孔坐标、鼻尖坐标、颈部坐标、左肩坐标和右肩坐标;
S6、分别确定判定阈值T1、T2、T3和T4的值,其中,确定判定阈值T1的具体过程为:
A、采用ΔL1~ΔL240这240个左倾偏量构成原始数据组,将原始数据组作为第0代数据组;
B、设定迭代变量t,对t进行初始化,令t=1;
C、进行第t次迭代更新,得到第t代数据组,具体过程为:
C1、计算第t-1代数据组的峰度
Figure BDA0002721249650000036
均值
Figure BDA0002721249650000037
和标准差
Figure BDA0002721249650000038
C2、判断
Figure BDA0002721249650000039
是否大于3,如果
Figure BDA00027212496500000310
不大于3,且
Figure BDA00027212496500000311
与3的差值不大于1,则令判定阈值
Figure BDA00027212496500000312
如果
Figure BDA00027212496500000313
不大于3,且
Figure BDA00027212496500000314
与3的差值大于1,则将第t-1代数据组中最大的左倾偏量的值作为判定阈值T1,如果
Figure BDA00027212496500000315
大于3,则计算第t-1代数据组中每个左倾偏量与
Figure BDA00027212496500000316
之差的平方值,将最大平方值对应的左倾偏量从第t-1代数据组中删除,得到第t代数据组,然后采用t的当前值加1的和更新t的取值,返回步骤C,进行下一次迭代,直至
Figure BDA00027212496500000317
不大于3;
确定判定阈值T2的具体过程为:
D、采用ΔR1~ΔR240这240个右倾偏量构成原始数据组,将原始数据组作为第0代数据组;
E、设定迭代变量t,对t进行初始化,令t=1;
F、进行第t次迭代更新,得到第t代数据组,具体过程为:
F1、计算第t-1代数据组的峰度
Figure BDA0002721249650000041
均值
Figure BDA0002721249650000042
和标准差
Figure BDA0002721249650000043
F2、判断
Figure BDA0002721249650000044
是否大于3,如果
Figure BDA0002721249650000045
不大于3,且
Figure BDA0002721249650000046
与3的差值不大于1,则令判定阈值
Figure BDA0002721249650000047
如果
Figure BDA0002721249650000048
不大于3,且
Figure BDA0002721249650000049
与3的差值大于1,则将第t-1代数据组中最大的右倾偏量的值作为判定阈值T2,如果
Figure BDA00027212496500000410
大于3,则计算第t-1代数据组中每个右倾偏量与
Figure BDA00027212496500000411
之差的平方值,将最大平方值对应的左倾偏量从第t-1代数据组中删除,得到第t代数据组,然后采用t的当前值加1的和更新t的取值,返回步骤F,进行下一次迭代,直至
Figure BDA00027212496500000412
不大于3;
确定判定阈值T3的具体过程为:
G、采用ΔC1~ΔC240这240个颈部偏量构成原始数据组,将原始数据组作为第0代数据组;
H、设定迭代变量t,对t进行初始化,令t=1;
I、进行第t次迭代更新,得到第t代数据组,具体过程为:
I1、计算第t-1代数据组的峰度
Figure BDA00027212496500000413
均值
Figure BDA00027212496500000414
和标准差
Figure BDA00027212496500000415
I2、判断
Figure BDA00027212496500000416
是否大于3,如果
Figure BDA00027212496500000417
不大于3,且
Figure BDA00027212496500000418
与3的差值不大于1,则令判定阈值
Figure BDA00027212496500000419
如果
Figure BDA00027212496500000420
不大于3,且
Figure BDA00027212496500000421
与3的差值大于1,则将第t-1代数据组中最大的颈部偏量的值作为判定阈值T3,如果
Figure BDA00027212496500000422
大于3,则计算第t-1代数据组中每个左倾偏量与
Figure BDA00027212496500000423
之差的平方值,将最大平方值对应的颈部偏量从第t-1代数据组中删除,得到第t代数据组,然后采用t的当前值加1的和更新t的取值,返回步骤I,进行下一次迭代,直至
Figure BDA00027212496500000424
不大于3;
确定判定阈值T4的具体过程为:
J、采用ΔH1~ΔH240这240个肩膀偏量构成原始数据组,将原始数据组作为第0代数据组;
K、设定迭代变量t,对t进行初始化,令t=1;
L、进行第t次迭代更新,得到第t代数据组,具体过程为:
L1、计算第t-1代数据组的峰度
Figure BDA00027212496500000425
均值
Figure BDA00027212496500000426
和标准差
Figure BDA00027212496500000427
L2、判断
Figure BDA00027212496500000428
是否大于3,如果
Figure BDA00027212496500000429
不大于3,且
Figure BDA00027212496500000430
与3的差值不大于1,则判定阈值
Figure BDA00027212496500000431
如果
Figure BDA00027212496500000432
不大于3,且
Figure BDA00027212496500000433
与3的差值大于1,则将第t-1代数据组中最大的肩膀偏量的值作为判定阈值T4,如果
Figure BDA0002721249650000051
则计算第t-1代数据组中每个左倾偏量与
Figure BDA0002721249650000052
之差的平方值,将最大平方值对应的肩膀偏量从第t-1代数据组中删除,得到第t代数据组,然后采用t的当前值加1的和更新t的取值,返回步骤L,进行下一次迭代,直至
Figure BDA0002721249650000053
不大于3;
(2)、当需对使用者进行坐姿识别时,摄像头安装在需要进行坐姿识别的对应位置处,先进行使用者的参考数据采集,具体过程为:使用者先采用正确坐姿坐在摄像头前,摄像头正对使用者脸部,两者距离为30~50厘米,使用者脸部和肩膀不能被遮挡,摄像头拍摄使用者正确坐姿的图像发送给PC机,PC机采用其内预存的图像处理程序对使用者正确坐姿的图像进行处理,确定并记录正确坐姿下使用者的左眼瞳孔、右眼瞳孔、鼻尖、颈部(两边锁骨连接处的凹点)、左肩和右肩这6个关键点的坐标,将使用者正确坐姿下左眼瞳孔的坐标记为(lx,ly),右眼瞳孔的坐标记为(rx,ry)、鼻尖的坐标记为(nx,ny)、颈部的坐标记为(bx,by)、左肩的坐标记为(lsx,lsy)、右肩的坐标记为(rsx,rsy);
(3)确定使用者的参考数据后,对使用者的坐姿进行实时识别,具体过程为:
步骤3-1、PC机每隔2秒从摄像头处采集一次使用者坐姿的图像,并采用图像处理程序对使用者坐姿的实时图像进行处理,确定并记录当前坐姿下使用者的左眼瞳孔、右眼瞳孔、鼻尖、颈部(两边锁骨连接处的凹点)、左肩和右肩这6个关键点的坐标,同时接收红外测距传感器测得的使用者与摄像头的距离,将使用者当前坐姿下左眼瞳孔的坐标记为(lxN,lyN),右眼瞳孔的坐标记为(rxN,ryN)、鼻尖的坐标记为(nxN,nyN)、颈部的坐标记为(bxN,byN)、左肩的坐标记为(lsxN,lsyN)、右肩的坐标记为(rsxN,rsyN),使用者与摄像头的距离记为D,将左眼瞳孔关键点与鼻尖关键点相连接且两者的连线记为线段a,将右眼瞳孔关键点分别与鼻尖关键点相连接且两者的连线记为线段b,将鼻尖关键点与颈部关键点相连接且两者的连线记为线段c,将左肩关键点与颈部关键点相连接且两者的连线记为线段d,将右肩关键点与颈部关键点相连接且两者的连线记为线段e,将线段c和线段d之间的夹角记为角α,线段c和线段e之间的夹角记为角β;
步骤3-2、对根据步骤3-1的实时数据情况对使用者坐姿进行实时判定,具体判定标准为:
如果D小于30厘米,则判定为距离过近;
如果D大于50厘米,则判定为距离过远;
如果α大于0°且小于等于70°,则判定当前坐姿为头部左偏;
如果β大于0°且小于等于70°,则判定当前坐姿为头部右偏;
如果lx-lxN>T1,则判定当前坐姿为身体左倾;
如果rxN-rx>T2,则判定当前坐姿为身体右倾;
如果|lsyN-rsyN|>T4,则判定当前坐姿为肩膀不平行;
如果byN-by>T3,则判定当前坐姿为脊椎弯曲;
如果为上述情况以外的其他情况,则判定当前坐姿为正确坐姿;
步骤3-3、如果连续3次判定为同一不正确的坐姿,则语音进行播报提醒使用者,当两种以上不正确坐姿连续3次同时出现时,语音播报时播报优先级别最高的坐姿,8种不正确坐姿的优先级从高到低依次为距离过近、距离过远、头部左偏、头部右偏、身体左倾、身体右倾、肩膀不平行和脊椎弯曲。
与现有技术相比,本发明的优点在于通过一台预存有图像处理程序的PC机、一个红外测距传感器以及一个摄像头搭建硬件环境,以摄像头实时采集的画面左上角为坐标原点,水平向右方向为x轴正方向,垂直向下方向为y轴正方向,建立坐标系,PC机内还预先存储有四个判定阈值T1、T2、T3和T4,四个判定阈值T1、T2、T3和T4预先通过关键点坐标确定,在对人体坐姿进行检测时,先获取人体正确坐姿下的关键点坐标作为基准,然后结合人体实时关键点坐标和四个判定阈值T1、T2、T3和T4实时判断人体坐姿,另外,使用红外测距传感器来获取使用者与摄像头之间的距离,红外测距传感器价格低廉,响应速度快,且当连续3次判定为同一不正确的坐姿,则语音进行播报提醒使用者,当两种以上不正确坐姿连续3次同时出现时,语音播报时播报优先级别最高的坐姿,本发明中四个判定阈值确定方法相对于现有的机器学习,不需要制作大量的训练数据,在保证高准确率的同时,简化了计算的过程,缩短了计算所需的时间,由此本发明实现过程简单,对硬件的计算能力要求较低,后续可移植到嵌入式设备上,实用性较高,成本较低,实时性较高,且交互性良好。
附图说明
图1为本发明的基于关键点检测的人体坐姿识别方法的各关键点、关键点连线以及连线间夹角示意图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
实施例:一种基于关键点检测的人体坐姿识别方法,包括以下步骤:
(1)、配备一台预存有图像处理程序的PC机、一个红外测距传感器以及一个摄像头,将红外测距传感器与摄像头组装并和PC机连接,红外测距传感器与摄像头在同一竖直平面上且距离不超过5厘米,以摄像头实时采集的画面左上角为坐标原点,水平向右方向为x轴正方向,垂直向下方向为y轴正方向,建立坐标系,PC机内还预先存储有四个判定阈值T1、T2、T3和T4,这四个判定阈值采用以下方法预先确定:
步骤1-1、将坐姿行为分为距离过近、距离过远、头部左偏、头部右偏、身体左倾、身体右倾、肩膀不平行、脊椎弯曲以及正确坐姿9种类别;
步骤1-2、选取身高在120cm~180cm之间的120名女性以及身高在130cm~190cm之间的120名男性作为预检人员,其中,120cm~180cm每10cm为一档,共分为6档,每一档女性为20人,130cm~190cm每10cm为一档,共分为6档,每一档男性为20人;将240名预检人员随机编号为1~240,将编号为i的预检人员称为第i个预检人员,i=1,2,…,240;
步骤1-3、对240名预检人员分别进行预检测,具体过程为:
S1、摄像头正对预检人员脸部,两者距离为30~50厘米,预检人员脸部和肩膀不能被遮挡;
S2、每个预检人员在摄像头前依次采取正确坐姿、头部左偏、头部右偏、身体左倾、身体右倾、脊椎弯曲以及肩膀不平行共7种坐姿,摄像头拍摄预检人员这7种坐姿的图像并发送给PC机,其中这7种坐姿按顺序依次编号为1-7,将编号为j的坐姿称为第j种坐姿,j=1,2,…,7,正确坐姿为腰背自然挺直,胸部张开,双肩放平,颈、胸和腰都要保持平直,除正确坐姿以外的其他6种坐姿按个人平时习惯实施;
S3、在PC机处采用图像处理程序分别获取并记录每个预检人员在7种坐姿下的左眼瞳孔、右眼瞳孔、鼻尖、颈部(两边锁骨连接处的凹点)、左肩和右肩这6个关键点的坐标,得到240组坐标数据,每组坐标数据分别包括一个预检人员在7种坐姿下的左眼瞳孔坐标、右眼瞳孔坐标、鼻尖坐标、颈部坐标、左肩坐标和右肩坐标,将第i个预检人员第j种坐姿下左眼瞳孔的坐标记为
Figure BDA0002721249650000071
右眼瞳孔的坐标记为
Figure BDA0002721249650000072
鼻尖的坐标记为
Figure BDA0002721249650000081
颈部的坐标记为
Figure BDA0002721249650000082
左肩的坐标记为
Figure BDA0002721249650000083
右肩的坐标记为
Figure BDA0002721249650000084
S4、将第i个预检人员身体左倾时左眼在x轴上的左偏量作为左倾偏量,记为ΔLi、身体右倾时右眼在x轴上的右偏量作为右倾偏量,记为ΔRi,脊椎弯曲时颈部在y轴上的偏移量作为颈部偏量,记为ΔCi,肩膀不平行时两个肩部关键点在y轴上的差值作为肩膀偏量,记为ΔHi,采用公式(1)、(2)、(3)、(4)分别计算得到ΔLi、ΔRi、ΔCi和ΔHi
Figure BDA0002721249650000085
Figure BDA0002721249650000086
Figure BDA0002721249650000087
Figure BDA0002721249650000088
式(4)中,||为取绝对值符号;
S5、按坐姿类别对240组坐标数据进行整合后按照7种坐姿类别重新分别7组,得到7组坐姿数据,每组坐姿数据分别包括240名测试人员在该坐姿下的左眼瞳孔坐标、右眼瞳孔坐标、鼻尖坐标、颈部坐标、左肩坐标和右肩坐标;
S6、分别确定判定阈值T1、T2、T3和T4的值,其中,确定判定阈值T1的具体过程为:
A、采用ΔL1~ΔL240这240个左倾偏量构成原始数据组,将原始数据组作为第0代数据组;
B、设定迭代变量t,对t进行初始化,令t=1;
C、进行第t次迭代更新,得到第t代数据组,具体过程为:
C1、计算第t-1代数据组的峰度
Figure BDA0002721249650000089
均值
Figure BDA00027212496500000810
和标准差
Figure BDA00027212496500000811
C2、判断
Figure BDA00027212496500000812
是否大于3,如果
Figure BDA00027212496500000813
不大于3,且
Figure BDA00027212496500000814
与3的差值不大于1,则令判定阈值
Figure BDA00027212496500000815
如果
Figure BDA00027212496500000816
不大于3,且
Figure BDA00027212496500000817
与3的差值大于1,则将第t-1代数据组中最大的左倾偏量的值作为判定阈值T1,如果
Figure BDA00027212496500000818
大于3,则计算第t-1代数据组中每个左倾偏量与
Figure BDA00027212496500000819
之差的平方值,将最大平方值对应的左倾偏量从第t-1代数据组中删除,得到第t代数据组,然后采用t的当前值加1的和更新t的取值,返回步骤C,进行下一次迭代,直至
Figure BDA00027212496500000820
不大于3;
确定判定阈值T2的具体过程为:
D、采用ΔR1~ΔR240这240个右倾偏量构成原始数据组,将原始数据组作为第0代数据组;
E、设定迭代变量t,对t进行初始化,令t=1;
F、进行第t次迭代更新,得到第t代数据组,具体过程为:
F1、计算第t-1代数据组的峰度
Figure BDA0002721249650000091
均值
Figure BDA0002721249650000092
和标准差
Figure BDA0002721249650000093
F2、判断
Figure BDA0002721249650000094
是否大于3,如果
Figure BDA0002721249650000095
不大于3,且
Figure BDA0002721249650000096
与3的差值不大于1,则令判定阈值
Figure BDA0002721249650000097
如果
Figure BDA0002721249650000098
不大于3,且
Figure BDA0002721249650000099
与3的差值大于1,则将第t-1代数据组中最大的右倾偏量的值作为判定阈值T2,如果
Figure BDA00027212496500000910
大于3,则计算第t-1代数据组中每个右倾偏量与
Figure BDA00027212496500000911
之差的平方值,将最大平方值对应的左倾偏量从第t-1代数据组中删除,得到第t代数据组,然后采用t的当前值加1的和更新t的取值,返回步骤F,进行下一次迭代,直至
Figure BDA00027212496500000912
不大于3;
确定判定阈值T3的具体过程为:
G、采用ΔC1~ΔC240这240个颈部偏量构成原始数据组,将原始数据组作为第0代数据组;
H、设定迭代变量t,对t进行初始化,令t=1;
I、进行第t次迭代更新,得到第t代数据组,具体过程为:
I1、计算第t-1代数据组的峰度
Figure BDA00027212496500000913
均值
Figure BDA00027212496500000914
和标准差
Figure BDA00027212496500000915
I2、判断
Figure BDA00027212496500000916
是否大于3,如果
Figure BDA00027212496500000917
不大于3,且
Figure BDA00027212496500000918
与3的差值不大于1,则令判定阈值
Figure BDA00027212496500000919
如果
Figure BDA00027212496500000920
不大于3,且
Figure BDA00027212496500000921
与3的差值大于1,则将第t-1代数据组中最大的颈部偏量的值作为判定阈值T3,如果
Figure BDA00027212496500000922
大于3,则计算第t-1代数据组中每个左倾偏量与
Figure BDA00027212496500000923
之差的平方值,将最大平方值对应的颈部偏量从第t-1代数据组中删除,得到第t代数据组,然后采用t的当前值加1的和更新t的取值,返回步骤I,进行下一次迭代,直至
Figure BDA00027212496500000924
不大于3;
确定判定阈值T4的具体过程为:
J、采用ΔH1~ΔH240这240个肩膀偏量构成原始数据组,将原始数据组作为第0代数据组;
K、设定迭代变量t,对t进行初始化,令t=1;
L、进行第t次迭代更新,得到第t代数据组,具体过程为:
L1、计算第t-1代数据组的峰度
Figure BDA00027212496500000925
均值
Figure BDA00027212496500000926
和标准差
Figure BDA00027212496500000927
L2、判断
Figure BDA0002721249650000101
是否大于3,如果
Figure BDA0002721249650000102
不大于3,且
Figure BDA0002721249650000103
与3的差值不大于1,则判定阈值
Figure BDA0002721249650000104
如果
Figure BDA0002721249650000105
不大于3,且
Figure BDA0002721249650000106
与3的差值大于1,则将第t-1代数据组中最大的肩膀偏量的值作为判定阈值T4,如果
Figure BDA0002721249650000107
则计算第t-1代数据组中每个左倾偏量与
Figure BDA0002721249650000108
之差的平方值,将最大平方值对应的肩膀偏量从第t-1代数据组中删除,得到第t代数据组,然后采用t的当前值加1的和更新t的取值,返回步骤L,进行下一次迭代,直至
Figure BDA0002721249650000109
不大于3;
(2)、当需对使用者进行坐姿识别时,摄像头安装在需要进行坐姿识别的对应位置处,先进行使用者的参考数据采集,具体过程为:使用者先采用正确坐姿坐在摄像头前,摄像头正对使用者脸部,两者距离为30~50厘米,使用者脸部和肩膀不能被遮挡,摄像头拍摄使用者正确坐姿的图像发送给PC机,PC机采用其内预存的图像处理程序对使用者正确坐姿的图像进行处理,确定并记录正确坐姿下使用者的左眼瞳孔、右眼瞳孔、鼻尖、颈部(两边锁骨连接处的凹点)、左肩和右肩这6个关键点的坐标,将使用者正确坐姿下左眼瞳孔的坐标记为(lx,ly),右眼瞳孔的坐标记为(rx,ry)、鼻尖的坐标记为(nx,ny)、颈部的坐标记为(bx,by)、左肩的坐标记为(lsx,lsy)、右肩的坐标记为(rsx,rsy);
(3)确定使用者的参考数据后,对使用者的坐姿进行实时识别,具体过程为:
步骤3-1、PC机每隔2秒从摄像头处采集一次使用者坐姿的图像,并采用图像处理程序对使用者坐姿的实时图像进行处理,确定并记录当前坐姿下使用者的左眼瞳孔、右眼瞳孔、鼻尖、颈部(两边锁骨连接处的凹点)、左肩和右肩这6个关键点的坐标,同时接收红外测距传感器测得的使用者与摄像头的距离,将使用者当前坐姿下左眼瞳孔的坐标记为(lxN,lyN),右眼瞳孔的坐标记为(rxN,ryN)、鼻尖的坐标记为(nxN,nyN)、颈部的坐标记为(bxN,byN)、左肩的坐标记为(lsxN,lsyN)、右肩的坐标记为(rsxN,rsyN),使用者与摄像头的距离记为D,将左眼瞳孔关键点与鼻尖关键点相连接且两者的连线记为线段a,将右眼瞳孔关键点分别与鼻尖关键点相连接且两者的连线记为线段b,将鼻尖关键点与颈部关键点相连接且两者的连线记为线段c,将左肩关键点与颈部关键点相连接且两者的连线记为线段d,将右肩关键点与颈部关键点相连接且两者的连线记为线段e,将线段c和线段d之间的夹角记为角α,线段c和线段e之间的夹角记为角β;
步骤3-2、对根据步骤3-1的实时数据情况对使用者坐姿进行实时判定,具体判定标准为:
如果D小于30厘米,则判定为距离过近;
如果D大于50厘米,则判定为距离过远;
如果α大于0°且小于等于70°,则判定当前坐姿为头部左偏;
如果β大于0°且小于等于70°,则判定当前坐姿为头部右偏;
如果lx-lxN>T1,则判定当前坐姿为身体左倾;
如果rxN-rx>T2,则判定当前坐姿为身体右倾;
如果|lsyN-rsyN|>T4,则判定当前坐姿为肩膀不平行;
如果byN-by>T3,则判定当前坐姿为脊椎弯曲;
如果为上述情况以外的其他情况,则判定当前坐姿为正确坐姿;
步骤3-3、如果连续3次判定为同一不正确的坐姿,则语音进行播报提醒使用者,当两种以上不正确坐姿连续3次同时出现时,语音播报时播报优先级别最高的坐姿,8种不正确坐姿的优先级从高到低依次为距离过近、距离过远、头部左偏、头部右偏、身体左倾、身体右倾、肩膀不平行和脊椎弯曲。

Claims (1)

1.一种基于关键点检测的人体坐姿识别方法,其特征在于包括以下步骤:
(1)、配备一台预存有图像处理程序的PC机、一个红外测距传感器以及一个摄像头,将红外测距传感器与摄像头组装并和PC机连接,红外测距传感器与摄像头在同一竖直平面上且距离不超过5厘米,以摄像头实时采集的画面左上角为坐标原点,水平向右方向为x轴正方向,垂直向下方向为y轴正方向,建立坐标系,PC机内还预先存储有四个判定阈值T1、T2、T3和Ti,这四个判定阈值采用以下方法预先确定:
步骤1-1、将坐姿行为分为距离过近、距离过远、头部左偏、头部右偏、身体左倾、身体右倾、肩膀不平行、脊椎弯曲以及正确坐姿9种类别;
步骤1-2、选取身高在120cm~180cm之间的120名女性以及身高在130cm~190cm之间的120名男性作为预检人员,其中,120cm~180cm每10cm为一档,共分为6档,每一档女性为20人,130cm~190cm每10cm为一档,共分为6档,每一档男性为20人;将240名预检人员随机编号为1~240,将编号为i的预检人员称为第i个预检人员,i=1,2,…,240;
步骤1-3、对240名预检人员分别进行预检测,具体过程为:
S1、摄像头正对预检人员脸部,两者距离为30~50厘米,预检人员脸部和肩膀不能被遮挡;
S2、每个预检人员在摄像头前依次采取正确坐姿、头部左偏、头部右偏、身体左倾、身体右倾、脊椎弯曲以及肩膀不平行共7种坐姿,摄像头拍摄预检人员这7种坐姿的图像并发送给PC机,其中这7种坐姿按顺序依次编号为1-7,将编号为j的坐姿称为第j种坐姿,j=1,2,…,7,正确坐姿为腰背自然挺直,胸部张开,双肩放平,颈、胸和腰都要保持平直,除正确坐姿以外的其他6种坐姿按个人平时习惯实施;
S3、在PC机处采用图像处理程序分别获取并记录每个预检人员在7种坐姿下的左眼瞳孔、右眼瞳孔、鼻尖、颈部、左肩和右肩这6个关键点的坐标,得到240组坐标数据,每组坐标数据分别包括一个预检人员在7种坐姿下的左眼瞳孔坐标、右眼瞳孔坐标、鼻尖坐标、颈部坐标、左肩坐标和右肩坐标,将第i个预检人员第j种坐姿下左眼瞳孔的坐标记为右眼瞳孔的坐标记为鼻尖的坐标记为颈部的坐标记为左肩的坐标记为右肩的坐标记为
S4、将第i个预检人员身体左倾时左眼在x轴上的左偏量作为左倾偏量,记为ΔLi、身体右倾时右眼在x轴上的右偏量作为右倾偏量,记为ΔRi,脊椎弯曲时颈部在y轴上的偏移量作为颈部偏量,记为ΔCi,肩膀不平行时两个肩部关键点在y轴上的差值作为肩膀偏量,记为ΔHi,采用公式(1)、(2)、(3)、(4)分别计算得到ΔLi、ΔRi、ΔCi和ΔHi
式(4)中,||为取绝对值符号;
S5、按坐姿类别对240组坐标数据进行整合后按照7种坐姿类别重新分别7组,得到7组坐姿数据,每组坐姿数据分别包括240名测试人员在该坐姿下的左眼瞳孔坐标、右眼瞳孔坐标、鼻尖坐标、颈部坐标、左肩坐标和右肩坐标;
S6、分别确定判定阈值T1、T2、T3和T4的值,其中,确定判定阈值T1的具体过程为:
A、采用ΔL1~ΔL240这240个左倾偏量构成原始数据组,将原始数据组作为第0代数据组;
B、设定迭代变量t,对t进行初始化,令t=1;
C、进行第t次迭代更新,得到第t代数据组,具体过程为:
C1、计算第t-1代数据组的峰度均值和标准差
C2、判断是否大于3,如果不大于3,且与3的差值不大于1,则令判定阈值如果不大于3,且与3的差值大于1,则将第t-1代数据组中最大的左倾偏量的值作为判定阈值T1,如果大于3,则计算第t-1代数据组中每个左倾偏量与之差的平方值,将最大平方值对应的左倾偏量从第t-1代数据组中删除,得到第t代数据组,然后采用t的当前值加1的和更新t的取值,返回步骤C,进行下一次迭代,直至不大于3;
确定判定阈值T2的具体过程为:
D、采用ΔR1~ΔR240这240个右倾偏量构成原始数据组,将原始数据组作为第0代数据组;
E、设定迭代变量t,对t进行初始化,令t=1;
F、进行第t次迭代更新,得到第t代数据组,具体过程为:
F1、计算第t-1代数据组的峰度均值和标准差
F2、判断是否大于3,如果不大于3,且与3的差值不大于1,则令判定阈值如果不大于3,且与3的差值大于1,则将第t-1代数据组中最大的右倾偏量的值作为判定阈值T2,如果大于3,则计算第t-1代数据组中每个右倾偏量与之差的平方值,将最大平方值对应的左倾偏量从第t-1代数据组中删除,得到第t代数据组,然后采用t的当前值加1的和更新t的取值,返回步骤F,进行下一次迭代,直至不大于3;
确定判定阈值T3的具体过程为:
G、采用ΔC1~ΔC240这240个颈部偏量构成原始数据组,将原始数据组作为第0代数据组;
H、设定迭代变量t,对t进行初始化,令t=1;
I、进行第t次迭代更新,得到第t代数据组,具体过程为:
I1、计算第t-1代数据组的峰度均值和标准差
I2、判断是否大于3,如果不大于3,且与3的差值不大于1,则令判定阈值如果不大于3,且与3的差值大于1,则将第t-1代数据组中最大的颈部偏量的值作为判定阈值T3,如果大于3,则计算第t-1代数据组中每个左倾偏量与之差的平方值,将最大平方值对应的颈部偏量从第t-1代数据组中删除,得到第t代数据组,然后采用t的当前值加1的和更新t的取值,返回步骤I,进行下一次迭代,直至不大于3;
确定判定阈值T4的具体过程为:
J、采用ΔH1~ΔH240这240个肩膀偏量构成原始数据组,将原始数据组作为第0代数据组;
K、设定迭代变量t,对t进行初始化,令t=1;
L、进行第t次迭代更新,得到第t代数据组,具体过程为:
L1、计算第t-1代数据组的峰度均值和标准差
L2、判断是否大于3,如果不大于3,且与3的差值不大于1,则判定阈值如果不大于3,且与3的差值大于1,则将第t-1代数据组中最大的肩膀偏量的值作为判定阈值T4,如果则计算第t-1代数据组中每个左倾偏量与之差的平方值,将最大平方值对应的肩膀偏量从第t-1代数据组中删除,得到第t代数据组,然后采用t的当前值加1的和更新t的取值,返回步骤L,进行下一次迭代,直至不大于3;
(2)、当需对使用者进行坐姿识别时,摄像头安装在需要进行坐姿识别的对应位置处,先进行使用者的参考数据采集,具体过程为:使用者先采用正确坐姿坐在摄像头前,摄像头正对使用者脸部,两者距离为30~50厘米,使用者脸部和肩膀不能被遮挡,摄像头拍摄使用者正确坐姿的图像发送给PC机,PC机采用其内预存的图像处理程序对使用者正确坐姿的图像进行处理,确定并记录正确坐姿下使用者的左眼瞳孔、右眼瞳孔、鼻尖、颈部、左肩和右肩这6个关键点的坐标,将使用者正确坐姿下左眼瞳孔的坐标记为(lx,ly),右眼瞳孔的坐标记为(rx,ry)、鼻尖的坐标记为(nx,ny)、颈部的坐标记为(bx,by)、左肩的坐标记为(lsx,lsy)、右肩的坐标记为(rsx,rsy);
(3)确定使用者的参考数据后,对使用者的坐姿进行实时识别,具体过程为:
步骤3-1、PC机每隔2秒从摄像头处采集一次使用者坐姿的图像,并采用图像处理程序对使用者坐姿的实时图像进行处理,确定并记录当前坐姿下使用者的左眼瞳孔、右眼瞳孔、鼻尖、颈部、左肩和右肩这6个关键点的坐标,同时接收红外测距传感器测得的使用者与摄像头的距离,将使用者当前坐姿下左眼瞳孔的坐标记为(lxN,lyN),右眼瞳孔的坐标记为(rxN,ryN)、鼻尖的坐标记为(nxN,nyN)、颈部的坐标记为(bxN,byN)、左肩的坐标记为(lsxN,lsyN)、右肩的坐标记为(rsxN,rsyN),使用者与摄像头的距离记为D,将左眼瞳孔关键点与鼻尖关键点相连接且两者的连线记为线段a,将右眼瞳孔关键点分别与鼻尖关键点相连接且两者的连线记为线段b,将鼻尖关键点与颈部关键点相连接且两者的连线记为线段c,将左肩关键点与颈部关键点相连接且两者的连线记为线段d,将右肩关键点与颈部关键点相连接且两者的连线记为线段e,将线段c和线段d之间的夹角记为角α,线段c和线段e之间的夹角记为角β;
步骤3-2、对根据步骤3-1的实时数据情况对使用者坐姿进行实时判定,具体判定标准为:
如果D小于30厘米,则判定为距离过近;
如果D大于50厘米,则判定为距离过远;
如果α大于0°且小于等于70°,则判定当前坐姿为头部左偏;
如果β大于0°且小于等于70°,则判定当前坐姿为头部右偏;
如果lx-lxN>T1,则判定当前坐姿为身体左倾;
如果rxN-rx>T2,则判定当前坐姿为身体右倾;
如果|lsyN-rsyN|>T4,则判定当前坐姿为肩膀不平行;
如果byN-by>T3,则判定当前坐姿为脊椎弯曲;
如果为上述情况以外的其他情况,则判定当前坐姿为正确坐姿;
步骤3-3、如果连续3次判定为同一不正确的坐姿,则语音进行播报提醒使用者,当两种以上不正确坐姿连续3次同时出现时,语音播报时播报优先级别最高的坐姿,8种不正确坐姿的优先级从高到低依次为距离过近、距离过远、头部左偏、头部右偏、身体左倾、身体右倾、肩膀不平行和脊椎弯曲。
CN202011088718.2A 2020-10-13 2020-10-13 一种基于关键点检测的人体坐姿识别方法 Active CN112364694B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011088718.2A CN112364694B (zh) 2020-10-13 2020-10-13 一种基于关键点检测的人体坐姿识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011088718.2A CN112364694B (zh) 2020-10-13 2020-10-13 一种基于关键点检测的人体坐姿识别方法

Publications (2)

Publication Number Publication Date
CN112364694A CN112364694A (zh) 2021-02-12
CN112364694B true CN112364694B (zh) 2023-04-18

Family

ID=74507159

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011088718.2A Active CN112364694B (zh) 2020-10-13 2020-10-13 一种基于关键点检测的人体坐姿识别方法

Country Status (1)

Country Link
CN (1) CN112364694B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113112770B (zh) * 2021-03-11 2022-05-17 合肥视其佳科技有限公司 一种识别学生头部姿态的检测方法
CN113034322B (zh) * 2021-04-01 2024-02-02 珠海爱浦京软件股份有限公司 一种基于互联网的线上教育监督***及方法
CN113627369A (zh) * 2021-08-16 2021-11-09 南通大学 一种竞拍场景下的动作识别与跟踪方法
CN113657271B (zh) * 2021-08-17 2023-10-03 上海科技大学 结合可量化因素及不可量化因素判断的坐姿检测方法及***
CN113743255A (zh) * 2021-08-18 2021-12-03 广东机电职业技术学院 基于神经网络的儿童坐姿识别纠正方法及***
CN116884083B (zh) * 2023-06-21 2024-05-28 圣奥科技股份有限公司 一种基于人体关键点的坐姿检测方法、介质及设备
CN117746505A (zh) * 2023-12-21 2024-03-22 武汉星巡智能科技有限公司 结合异常坐姿动态检测的学习陪护方法、装置及机器人

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111382653A (zh) * 2018-12-29 2020-07-07 沈阳新松机器人自动化股份有限公司 一种人体坐姿的监督方法
CN111414780A (zh) * 2019-01-04 2020-07-14 卓望数码技术(深圳)有限公司 一种坐姿实时智能判别方法、***、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10667697B2 (en) * 2015-06-14 2020-06-02 Facense Ltd. Identification of posture-related syncope using head-mounted sensors

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111382653A (zh) * 2018-12-29 2020-07-07 沈阳新松机器人自动化股份有限公司 一种人体坐姿的监督方法
CN111414780A (zh) * 2019-01-04 2020-07-14 卓望数码技术(深圳)有限公司 一种坐姿实时智能判别方法、***、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郭园 ; 郭晨旭 ; 时新 ; 申黎明 ; .基于OpenPose学习坐姿分析的桌椅人机适应性研究.林业工程学报.2020,(02),全文. *

Also Published As

Publication number Publication date
CN112364694A (zh) 2021-02-12

Similar Documents

Publication Publication Date Title
CN112364694B (zh) 一种基于关键点检测的人体坐姿识别方法
CN110495889B (zh) 体态评估方法、电子装置、计算机设备及存储介质
CN110170159A (zh) 一种人体健身动作运动监测***
CN106022378B (zh) 坐姿判断方法及基于摄像头与压力传感器颈椎病识别***
CN111368810A (zh) 基于人体及骨骼关键点识别的仰卧起坐检测***及方法
KR101930652B1 (ko) 보행 해석 시스템 및 기록 매체에 기록된 컴퓨터 프로그램
CN111931733A (zh) 基于深度相机的人体姿态检测方法
CN114120357B (zh) 一种基于神经网络的防近视方法和装置
CN112990137B (zh) 一种基于模板匹配的教室学生坐姿分析方法
CN110059670B (zh) 人体头面部、肢体活动角度及体姿非接触测量方法及设备
CN113191200A (zh) 一种俯卧撑测试计数方法、装置、设备和介质
CN110292386A (zh) 一种基于视频信息和压电信息的人体坐姿检测***及方法
CN112115827A (zh) 基于人体姿态动态特征的跌倒行为识别方法
CN111998829B (zh) 一种基于传感器判定读写姿态的方法
CN115240247A (zh) 一种用于进行动作和姿态检测的识别方法及***
CN115661930A (zh) 动作评分方法、装置、动作评分设备及存储介质
CN109674477A (zh) 基于深度学习的计算机视觉体态分析方法
CN109558824B (zh) 一种基于人员图像识别的健身动作监测与分析***
CN114973048A (zh) 康复动作的纠正方法、装置、电子设备及可读介质
CN116580359A (zh) 基于时空特征的施工人员重度疲劳检测***及方法
CN112818800A (zh) 一种基于人体骨骼点深度图像的体育动作评估方法及***
CN111814700A (zh) 一种基于儿童行为特征的行为动作识别算法
KR20210118496A (ko) 영상기반 지능형 푸시-업 판별 방법 및 푸시-업 판별 시스템
CN116612529A (zh) 基于人体动力学质心模型的行人跌倒行为识别方法及装置
CN115588229A (zh) 一种基于互联网的养老照顾服务管理***及方法

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