CN112364694B - 一种基于关键点检测的人体坐姿识别方法 - Google Patents
一种基于关键点检测的人体坐姿识别方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/11—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
- A61B5/1116—Determining posture transitions
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/11—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
- A61B5/1126—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique
- A61B5/1128—Measuring 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种坐姿下左眼瞳孔的坐标记为右眼瞳孔的坐标记为鼻尖的坐标记为颈部的坐标记为左肩的坐标记为右肩的坐标记为
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代数据组,具体过程为:
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代数据组,具体过程为:
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代数据组,具体过程为:
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代数据组,具体过程为:
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种不正确坐姿的优先级从高到低依次为距离过近、距离过远、头部左偏、头部右偏、身体左倾、身体右倾、肩膀不平行和脊椎弯曲。
与现有技术相比,本发明的优点在于通过一台预存有图像处理程序的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种坐姿下左眼瞳孔的坐标记为右眼瞳孔的坐标记为鼻尖的坐标记为颈部的坐标记为左肩的坐标记为右肩的坐标记为
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代数据组,具体过程为:
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代数据组,具体过程为:
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代数据组,具体过程为:
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代数据组,具体过程为:
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种不正确坐姿的优先级从高到低依次为距离过近、距离过远、头部左偏、头部右偏、身体左倾、身体右倾、肩膀不平行和脊椎弯曲。
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种不正确坐姿的优先级从高到低依次为距离过近、距离过远、头部左偏、头部右偏、身体左倾、身体右倾、肩膀不平行和脊椎弯曲。
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)
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)
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)
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 |
-
2020
- 2020-10-13 CN CN202011088718.2A patent/CN112364694B/zh active Active
Patent Citations (2)
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)
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 |