CN115227234A - 一种基于摄像头的心肺复苏按压动作评估方法与系统 - Google Patents
一种基于摄像头的心肺复苏按压动作评估方法与系统 Download PDFInfo
- Publication number
- CN115227234A CN115227234A CN202210802369.9A CN202210802369A CN115227234A CN 115227234 A CN115227234 A CN 115227234A CN 202210802369 A CN202210802369 A CN 202210802369A CN 115227234 A CN115227234 A CN 115227234A
- Authority
- CN
- China
- Prior art keywords
- pressing
- representing
- server
- module
- cardiopulmonary resuscitation
- 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.)
- Pending
Links
Images
Classifications
-
- 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/74—Details of notification to user or communication with user or patient ; user input means
- A61B5/7475—User input or interface means, e.g. keyboard, pointing device, joystick
- A61B5/748—Selection of a region of interest, e.g. using a graphics tablet
- A61B5/7485—Automatic selection of region of interest
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
- G06V10/763—Non-hierarchical techniques, e.g. based on statistics of modelling distributions
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61H—PHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
- A61H31/00—Artificial respiration or heart stimulation, e.g. heart massage
- A61H31/004—Heart stimulation
Landscapes
- Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Veterinary Medicine (AREA)
- General Physics & Mathematics (AREA)
- Molecular Biology (AREA)
- Surgery (AREA)
- Animal Behavior & Ethology (AREA)
- Biomedical Technology (AREA)
- Public Health (AREA)
- Pathology (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Heart & Thoracic Surgery (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Probability & Statistics with Applications (AREA)
- Physiology (AREA)
- Dentistry (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于摄像头的心肺复苏按压动作评估方法与系统,包括以下步骤:设计心肺复苏按压动作评估体系;设计基于关键点的心肺复苏按压动作序列识别算法;设计基于按压动作的心肺复苏评估算法;以及构建基于摄像头的心肺复苏按压动作评估系统。本发明解决了目前多人姿态估计算法在心肺复苏场景上存在的重复识别问题,成功将心肺复苏实施者和被抢救者的骨骼点分离,排除了被抢救者的关键点干扰,提高了关键点的精度;在安卓系统上开发心肺复苏按压动作评估系统,有利于病人的第一目击者在黄金四分钟内对病人实施心肺复苏,提高心肺复苏的成功率。
Description
技术领域
本发明涉及计算机视觉与医疗图像处理技术领域,具体为一种基于摄像头的心肺复苏按压动作评估方法与系统。
背景技术
心肺复苏技术(cardiopulmonary resuscitation CPR)是上世纪中期由捷克医生詹姆斯·埃兰和彼得·沙发共同研究发明的急救措施,由于简单有效,无数人因此获救,从而得到了大力推广。心肺复苏是通过按压胸部让学业重新流通,促进心脏恢复跳动,辅以人工呼吸,给脑部和其他器官供氧,从而达到抢救患者的目的。
2000年国际上制定了第一份心肺复苏指南,采用当时最新的技术和思想,经过长时间的临床试验得到的数据总结,因此是一部非常可靠的医学指导。2005年,在第一版心肺复苏指南的基础上,国际急救联系委员会和美国心脏协会重新修订出版了第二版心肺复苏指南,之后每五年,国际上都会对心肺复苏指南进行修订,使其更具有科学性和泛用性,迄今为止已经有五版。最新的2020版心肺复苏指南对胸外按压动作规定为一下几点:第一,胸骨下陷程度至少5厘米,不超过6厘米;第二,按压/放松时间比为1:1;第三,频率至少为100次每分钟,不超过120次每分钟。
心肺复苏是通过胸外按压动作挤压心脏,使血液恢复流动进而形成短暂的人工循环,以人工呼吸代替自然呼吸为辅助,为大脑以及人体其他器官提供氧气,从而实现抢救患者的目的。心脏骤停后的四分钟在医学上被称为“黄金四分钟”,因为如果在这四分钟内实施心肺复苏,抢救成功的概率高达60%以上。
目前我国医院之外的心肺复苏成功率仅有1%-5%,比西方发达国家水平低了许多。归根结底,不仅是因为我国心肺复苏动作普及度太低和心肺复苏动作不规范,更是因为没有把握住心肺复苏的黄金四分钟,如果最早接触病人的第一批目击者比如病人的父母、朋友、同学、同事等能够掌握心肺复苏标准动作并实施救治,那么我国心肺复苏的成功率也会大大提高,因此而获救的病人将不计其数,对社会有着重大的意义。而随着人体姿态估计技术的发展,其对动作的识别精度逐渐提高,使用人体姿态估计技术来识别心肺复苏动作是否标准将是一个具有重大意义的课题。
人体姿态估计技术是指能够识别出给定的图像和视频中人体的骨骼关键点的位置,比如手腕、肘部、肩膀、眼睛、鼻子、耳朵等关键点,然后根据关键点信息和数据进行各种各样的计算和处理,从而得到人体的行为信息。姿态估计目前各领域有着广泛的应用,例如在运动识别、人机交互、智能照片编辑、行人追踪等领域。在心肺复苏领域,人体姿态估计能够得到手腕和肘部以及肩膀的关键点信息的特征,意味着其能够在视频中精确识别心肺复苏时实施者的手部位置,再对腕部关键点信息进行计算处理,从而可以判断心肺复苏实施者的动作是否标准,并对实施者的动作进行提示和改进。
人体姿态估计技术作为计算机视觉中的一个经典技术,将其应用于心肺复苏领域是一个重大的突破。本课题致力于研究出一套心肺复苏动作评估系统,能够提供标准的心肺复苏动作指导,并且可以为当前心肺复苏动作提供实时反馈,便于心肺复苏实施者进行动作的调整。从社会角度来看,本研究有利于病人的第一目击者在黄金四分钟内对病人实施心肺复苏,提高心肺复苏的成功率,配合之后手术抢救,从而减少因心脏骤停或者呼吸骤停而倒地的病人的死亡率,挽救更多因未及时救治而死亡的生命,保障社会上群众的生命安全,减少工人猝死的风险,对社会有着重大且积极的意义。
发明内容
针对上述问题,本发明的目的在于提供一种基于摄像头的心肺复苏按压动作评估方法与系统,使用多人姿态估计算法得到心肺复苏实施者手部和肩部的骨骼关键点,同时排除场景中被抢救者的身体部位骨骼关键点的干扰,提高了关键点的精度,有利于对心肺复苏动作进行客观的评估。技术方案如下:
一种基于摄像头的心肺复苏按压动作评估方法,包括以下步骤:
步骤1:设计心肺复苏按压动作评估体系
对按压频率、按压幅度和按压放松比三项指标进行量化和等级的划分,构建客观的按压动作评估体系,再根据按压动作的各个指标位于体系中的等级进行打分,得到这三项指标各自的分数,并根据重要程度对其赋予不同的权重,加权平均的得到最终分数;
步骤2:设计基于关键点的心肺复苏按压动作序列识别算法
构建一个对称空间变换网络,将其部署于单人姿态估计网络的前后,然后设置一个平行的单人姿态估计网络,用于优化空间变换网络;然后使用非极大值抑制和基于K-means的关键点优化算法将心肺复苏实施者和按压者的关键点分离,以消除动作冗余;
步骤3:设计基于按压动作的心肺复苏评估算法
在得到经过优化处理的关键点数据后,提取出腕部、肘部和肩部的关键点,通过按压者的身体比例计算出实际臂长,通过腕部、肘部和肩部的关键点计算出视频中的臂长,通过其比值得到视频中按压幅度和实际按压幅度的比例;然后提取出动作序列中腕部关键点的极大极小值,计算出按压频率、按压幅度和按压放松比三个评估指标,再根据评估体系对其进行评估并进行打分。
进一步的,所述步骤1中,设置满分为100分,共设置的5个分数段,得到这三项指标各自的分数后,通过加权平均得到最终分数的公式如下:
W=0.4*w1+0.4*w2+0.2*w3
其中,W表示总分数,w1表示频率得分,w2表示平均振幅得分,w3表示按压放松比得分,三种得分分别以权重0.4、0.4、0.2相加,总分超过60即可算本次心肺复苏有效。
更进一步的,所述步骤2具体包括:
步骤2.1:通过人体检测器得到人体区域,然后将人体区域图像输入STN+SPPE模块,检测出人体姿态,并输入平行的单人姿态估计网络,提高姿态估计的效果
对称空间变换网络包括空间变换网络和空间反变换网络结构;空间变换网络自动选取感兴趣的区域,如下式所示:
其中,θ1、θ2和θ3是二维向量,{xi s,yi s}和{xi t,yi t}分别表示转换前后像素点的坐标;
单人姿态估计网络处理结束时,姿态被映射到人体区域,空间反变换网络将其反映射回原坐标,如下式所示:
其中,γ1、γ2、γ3为逆仿射变换系数;
已知空间反变换网络是空间变换网络的反向结构,则得以下关系:
[γ1 γ2]=[θ1 θ2]-1
γ3=-1×[γ1 γ2]θ3
其中,J(W,b)表示STN网络的输出;θ表示仿射变换系数;
对人体区域使用单人姿态估计网络算法进行姿态估计,得到高质量的关键点;
步骤2.2:得到姿态关键点数据后,将其输入PP-NMS模块处理,解决人体冗余问题;
采用AlphaPose算法提出新的距离度量,如下式所示:
f(Pi,Pj|Λ,η)=1[d(Pi,Pj|Λ,η)≤η]
其中,η表示消除标准的阈值,Λ表示函数d的一个参数集合;Pi和Pj分别表示第i个姿势和第j个姿势;
如果d小于阈值η,那么f(Pi,Pj|Λ,η)的输出就是1,表示姿态为冗余姿态,需要被消除;
在姿态距离上,定义一个软匹配函数如下式所示:
使用双曲正切函数将置信度比较低的姿势筛选出来,有且仅有两个姿势都是高置信度姿势时,函数输出才为1;而空间距离如下:
因此定义最终距离为:
d(Pi,Pj|\Λ)=KSim(Pi,Pj|σ1)+λHSim(Pi,Pj|σ2)
其中,λ位权重系数,代表两种距离度量重要性不同;
步骤2.3:通过K均值聚类处理,解决重复识别的问题
学习分布P(δB|atom(P)),其中atom(P)表示P的原子姿势,由K均值聚类算法得到;
使用基于K-means的关键点优化算法,对姿态估计模块输出的姿态估计图中的人体骨骼关键点进行聚类和分析,从而达到消除重复识别的目的;
设定聚类的类簇数量k为2,采用欧氏距离公式来计算空间距离,根据下式进行计算:
其中,disted(xq,Co)表示xq和Co间的欧氏距离,xq表示第q个关键点,Co表示第o个类簇中心;m表示空间的维度;xqt表示第t个维度下第q个关键点的位置;Cot表示第t个维度下第o个类簇中心的位置;
计算完距离之后,进行第一次分类,然后根据上式再重新计算类簇,进行迭代;最终得到聚类之后的结果。
更进一步的,所述步骤3具体包括:
步骤3.1:检测按压动作的极大值点和极小值点
判断出按压过程中腕部关键点纵坐标的极值点,即重复按压时每次到最低点和最高点的位置,并记录此次位置的时间和坐标;设定有且仅有当该点分别比附近4个点都大或者都小时,才将该点记录为极大值点或者极小值点;
步骤3.2:计算按压的平均频率
通过获取输入视频的每秒帧数,得到每帧画面持续时间,再计算相邻的极大值和极小值之间相隔的帧数,得到每次按压消耗的时间,从而得到平均按压的频率,如下式所示:
其中,fa表是按压动作的平均频率,共有n个极大值,tmax_n表示腕部关键点出现第n个极大值的时间,tmax_1表示腕部关键点出现第1个极大值的时间;腕部关键点出现第u个极大值的时间表示为:
其中,FPS表示每秒帧数,vmax_u表示腕部关键点出现第u个极大值时的帧数;
计算得到按压的平均频率后根据心肺复苏指南的标准做出评估;
步骤3.2:通过计算极值点的y轴坐标来计算振幅
通过身高与臂长的比例关系,求得按压者的实际臂长,将实际臂长与图片中的像素点距离相比较,得到实际尺寸与视频中尺寸的比例尺,并根据极值的像素高度,最终得到实际按压的深度和振幅;如下式所示:
其中,Aa表示平均振幅,ymax_u表示极大值的像素高度,ymin_u表示极小值的像素高度,hr表示实际身高,lp表示图片中像素点臂长;其中lp通过下式得到:
其中,xsho、ysho分别表示肩部关键点的横纵坐标,xelb、yelb分别表示肘部关键点的横纵坐标,xwri、ywri分别表示腕部关键点的横纵坐标;
步骤3.3:通过计算按压时间和放松时间得动按压放松比
先计算按压时间,如下式所示:
其中Tp表示平均按压时间,tmax_u表示腕部关键点出现第u个极大值的时间,tmin_u表示腕部关键点出现第u个极小值的时间;
计算放松时间,如下式所示:
其中,Tr表示平均放松时间;
得到平均按压时间和平均放松时间之后,计算Tp/Tr得到按压放松比。
更进一步的,所述步骤3之后还包括构建基于摄像头的心肺复苏按压动作评估系统,所述评估系统包括客户端和服务端,客户端位于安卓端,服务端位于电脑端;在安卓端设计系统的操作界面,然后通过调用系统自带的摄像头进行视频的拍摄,再使用Socket通信方法将视频传输到服务端,通过部署在服务端的算法进行评估,评估结束后,服务端将结果传输回客户端进行展示。
一种基于摄像头的心肺复苏按压动作评估系统,客户端和服务端;客户端拍摄视频传送到服务端;服务端接收客户端传输的数据并进行处理,然后将结果传回客户端;
(1)所述客户端包括开始检测模块和系统信息模块;
所述开始检测模块包括摄像模块和通信模块,用于调用摄像头拍摄录像,以及与服务端通信;所述系统信息模块用于展示系统的功能以及心肺复苏的按压方式;
所述通信模块使用套接字通信方法与服务端通信,客户端通过一个能够使用的IP和端口连接服务端,连接成功以后,服务端持续监听该端口,当识别到约定好的标识符时,开始接收信息;客户端在发送数据之后,继续监听该端口,等待接收服务端处理完成后返回的结果;
(2)所述服务端包括态估计模块和动作评估模块;
所述姿态估计模块使用RMPE框架,通过人体检测器得到人体区域,然后将人体区域输入STN+SPPE模块,检测出人体姿态;同时输入平行的单人姿态估计网络模块;得到姿态关键点数据后,将其输入PP-NMS模块处理,解决人体冗余问题;最后输出二维多人姿态估计的骨骼关键点;
所述动作评估模块通过按压者的身体比例计算出实际臂长,通过腕部、肘部和肩部的关键点计算出视频中的臂长,通过其比值得到视频中按压幅度和实际按压幅度的比例;然后提取出动作序列中腕部关键点的极大极小值,计算出按压频率、按压幅度和按压放松比三个评估指标,再根据评估体系对其进行评估并进行打分。
本发明的有益效果是:
1)设计基于关键点的心肺复苏按压动作序列识别算法:本发明设计了姿态估计网络并使用了NMS(non maximum suppression非极大抑制)和基于K-means的关键点优化算法对姿态估计算法识别出的骨骼关键点进行了优化,解决了目前多人姿态估计算法在心肺复苏场景上存在的重复识别问题,成功将心肺复苏实施者和被抢救者的骨骼点分离,排除了被抢救者的关键点干扰,提高了关键点的精度。
2)设计了基于按压动作的心肺复苏评估算法:本发明通过对按压动作序列的关键点进行处理,计算出了按压频率、按压幅度、按压放松比三个重要指标,有利于对心肺复苏动作进行客观的评估。
3)设计心肺复苏按压动作评估体系:本发明将2020年心肺复苏指南中的评估标准分级,设计了一种规范的动作评估体系,有利于对心肺复苏按压动作进行客观评估。
4)开发了一套心肺复苏按压动作评估系统:本设计采用在服务端进行计算的方法,将安卓端作为客户端,两者之间采用Socket通信传输视频以及相关信息,保证了系统的实时性和普适性,提高了心肺复苏的成功率。
附图说明
图1为用户需求示意图。
图2为RMPE框架原理示意图。
图3为冗余识别对比图;(a)正常姿势识别示意图;(b)腕部、肘部等关键部位重复识别示意图。
图4为优化算法效果对比图;(a)优化算法前识别结果;(b)优化算法后识别结果。
图5为动作评估模块示意图。
图6为按压数据点示意图。
图7为系统工作流程图;(a)客户端;(b)服务端。
图8为安卓端主页图。
图9为数据传输算法流程图
图10为连接服务器算法流程图。
图11为断开连接算法流程图。
图12为评估结果图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细说明。本发明拟解决的问题在于在心肺复苏的场景下,如何使用多人姿态估计算法得到心肺复苏实施者手部和肩部的骨骼关键点,同时排除场景中被抢救者的身体部位骨骼关键点的干扰,最终得到一套基于摄像头的心肺复苏按压动作评估系统。
如图1所示,为了保证系统的便携性、实时性和普适性,本发明将系统分为两部分:服务端和客户端,服务端为电脑端,主要分为姿态估计模块和动作评估模块;客户端为移动端,也就是安卓端,主要分为通信模块和摄像模块。服务端的高计算速度保证了系统的实时性,移动端的体积小保证了系统的可携带性,系统的算法设计以及系统的灵活要求保证了系统的普适性。本发明的服务端可以在Windows和Linux平台上实现,使用python编程,客户端在安卓端实现。本发明方法具体包括以下步骤:
步骤一:设计心肺复苏按压动作评估体系
在得到按压动作的三项关键数据后,根据其重要度进行排序,得到按压频率=按压振幅>按压放松比,因此将按压频率和按压振幅的权重分别设置为0.4,将按压放松比的权重设置为0.2,总权重为1。
如表1所示,设置满分为10分,共设置的5个分数段,三项指标中每项指标处于对应的区域便给予对应的分数,通过加权平均得到最终分数,如公式所示:
W=0.4*w1+0.4*w2+0.2*w3
其中,W表示总分数,w1表示频率得分,w2表示平均振幅得分,w3表示按压放松比得分,三种分为分别以权重0.4、0.4、0.2相加,总分超过60即可算本次心肺复苏有效。
表1打分体系表
步骤二:基于关键点的心肺复苏按压动作序列识别算法
本发明的服务端主要分为两部分,姿态估计模块和动作评估模块。姿态估计模块使用RMPE(Regional Multi-Person Pose Estimation区域多人姿态估计)框架,如图2所示,首先通过人体检测器得到人体区域,然后将人体区域输入STN+SPPE模块,检测出人体姿态。同时输入平行的SPPE(single person pose estimation单人姿态估计网络)模块,进一步提高姿态估计的效果。得到姿态关键点数据后,将其输入PP-NMS(Parametric attitudenon-maximum suppression参数化姿态非极大值抑制)模块处理,解决人体冗余等问题。最后输出二维多人姿态估计的骨骼关键点。
如图2所示,输入图像首先经过STN+SPPE模块。对称空间变换网络(symmetricspatial transformer network SSTN)包括STN(spatial transformer network空间变换网络)和SDTN(spatial de-transformer network空间反变换网络)结构。STN能够自动选取感兴趣的区域,本方法即是使用STN来提高一个高质量的人体区域,如下式所示:
其中θ1、θ2和θ3是二维向量,{xi s,yi s}和{xi t,yi t}分别表示转换前后的坐标。SPPE处理结束时,姿态将会被映射到人体区域,所以需要SDTN将其反映射会原坐标,如下式所示:
已知SDTN是STN的反向结构,可得以下关系:
[γ1 γ2]=[θ1 θ2]-1
γ3=-1×[γ1 γ2]θ3
在SPPE+STN模块中,对人体区域使用SPPE算法进行姿态估计,可以得到高质量的关键点。平行的SPPE可以协助STN优化提取出的人体区域框,该平行的SPPE连接STN但是不连接SDTN,可以与真实标签比较。由于自顶向下的算法效果与人体区域识别效果相关,平行的SPPE模块通过上述操作就可以达到优化人体区域框从而优化姿态估计效果的功能。
NMS体系的目的是解决人体检测过程中出现的不可避免的冗余的检测框。AlphaPose算法提出了新的距离度量,如下式所示:
f(Pi,Pj|Λ,η)=1[d(Pi,Pj|Λ,η)≤η]
其中η表示消除标准的阈值,Λ表示函数d的一个参数集合。Pi和Pj分别表示第i个和第j个姿势;如果d小于阈值η,那么f(Pi,Pj|Λ,η)的输出就是1,表示姿态为冗余姿态,需要被消除。
然后在姿态距离上,算法定义了一个软匹配函数如下式所示
其中,表示第i个姿势的识别框。σ1表示姿态距离系数;和分别表示第i个姿势和第j个姿势的置信度分数;表示第j个姿势的识别框中心;使用双曲正切函数可以将置信度比较低的姿势筛选出来,有且仅有两个姿势都是高置信度姿势时,函数输出才为1。而空间距离如下:
因此定义最终距离为:
d(Pi,Pj|\Λ)=KSim(Pi,Pj|σ1)+λHSim(Pi,Pj|σ2)
其中λ位权重系数,代表两种距离度量重要性不同。可以通过优化f(Pi,Pj|Λ,η)中的四个参数需来提高mAP(平均精确度),同时提高消除冗余姿势的效果。
最后是PGPG(姿势引导发生器),其目的是增加样本的数量以更好的训练网络。该算法利用一种分布P(δB|P),以这种分布为依据,可以生成类似的训练样本。但是直接学习P(δB|P)很困难,因此学习分布P(δB|atom(P)),其中atom(P)表示P的原子姿势,由K均值聚类算法得到。通过对原子姿势的处理,计算偏移然后归一化再进行拟合,就可以得到增强的训练建议。
虽然姿态估计模块识别效果很出色,但是仍然存在着一些问题。如图3所示,可以看到对于心肺复苏动作这中训练过程中出现非常少的姿势,会出现重复识别或者错误识别的问题。因此,本发明使用了基于K-means的关键点优化算法,对姿态估计模块输出的姿态估计图中的人体骨骼关键点进行聚类和分析,从而达到消除重复识别的目的。
在心肺复苏场景中,一般只存在两个人体,因此人体姿态检测器输出的图片中只包括两个人体区域,但是由于心肺复苏姿势在训练集中的罕见,这两个人体区域出现了严重的重复识别问题,同一个骨骼关键点会识别多次。
如图3所示,算法是基于COCO数据集训练的,COCO数据集是大规模数据集,其中出现了各种各样的姿势,对于这些正常四肢舒展或者运动的姿势,姿势检测模块都能够正常识别出人体并且识别出骨骼关键点,但是对于训练集几乎没有的心肺复苏按压动作,在识别的过程中出现了严重的重复识别问题,在图3(b)中可以看到,腕部、肘部等关键部位都重复识别了2次到3次。
由于实验前便存在着一些先验知识,因此实验中设定聚类的类簇数量k为2,对于距离度量来说,采用欧氏距离公式来计算空间距离,根据下式进行计算
其中,disted(xq,Co)表示xq和Co间的欧氏距离,xq表示第q个关键点,Co表示第o个类簇中心;m表示空间的维度;xqt表示第t个维度下第q个关键点的位置;Cot表示第t个维度下第o个类簇中心的位置。
计算完距离之后,进行第一次分类,然后根据上式再重新计算类簇,进行迭代。最终可以得到聚类之后的结果,然后将其与聚类之前的姿态估计实验结果进行比较。
如图4所示,经过姿态估计模块得到的姿势共有17个骨骼关键点,我们分别对这17个骨骼关键点进行类为2的分类,然后只取腕部、肘部和肩部的骨骼的关键点进行显示。经过K-means聚类算法处理后,重复识别的问题明显得到了改善,腕部、肘部、肩部的关键点都被聚为了一个精确的点。因为在心肺复苏场景下,除了腕部、肘部、肩部、五官等关键点,其他关键点大部分处于被遮挡的状态,无法准确识别并且与心肺复苏按压动作无关,因此为了排除干扰,实验中只显示了腕部、肘部、肩部和五官部分关键点,如图4(b)所示。
如表2所示,其中频率误差计算如下式所示
其中er表示正确率,如表2所示,可见基于K均值的骨骼点优化算法极大的降低了识别的误差,提高了关键点识别的精度。
表2频率误差对比表
步骤三:基于按压动作的心肺复苏评估算法
步骤三主要介绍心肺复苏按压动作评估模块的算法,流程图如图5所示。2020年心肺复苏指南指出心肺复苏按压动作的频率应处于每分钟100次与每分钟120次之间。因此判断频率是否达标的临界值即为100和120。
在人体骨骼关键点数据经过K均值聚类的处理以后,解决了重复识别的问题。在此基础上,首先判断出按压过程中腕部关键点纵坐标的极值点,即重复按压时每次到最低点和最高点的位置,然后记录此次位置的时间和坐标。由于识别过程中存在着抖动的问题,在最高点或者最低点附近有一些错误识别的数据干扰,因此设定有且仅有当该点分别比附近4个点都大或者都小时,才将该点记录为极大值点或者极小值点。
如图6所示,检测出极大值和极小值点之后,通过获取输入视频的每秒帧数,可以得到每帧画面持续时间,再计算相邻的极大值和极小值之间相隔的帧数,即可得到每次按压消耗的时间,从而得到平均按压的频率,如下式所示
其中fa表是按压动作的平均频率,共有n个极大值,tmax_n表示腕部关键点出现第n个极大值的时间,tmax_1表示腕部关键点出现第1个极大值的时间。以tmax_u为例,如公式所示
其中FPS表示每秒帧数,vmax_u表示腕部关键点出现第u个极大值时的帧数。
通过上述计算即可得到按压的平均频率并根据心肺复苏指南的标准做出评估。当频率小于每分钟100次时,输出按压频率较慢,不符合标准;当频率处于每分钟100次和每分钟120次之间时,输出按压频率正常,符合标准;当频率大于每分钟120次时,输出按压频率较快,不符合标准。
通过上述算法,可以通过按压动作在y轴上的极值点计算出每次按压的间隔从而计算出按压频率。同理,也可以计算出按压的振幅。最新版心肺复苏指南规定心肺复苏按压的深度要达到5厘米和6厘米之间。
在检测出按压动作的极大值点和极小值点之后,通过计算极值点的y轴坐标来计算振幅。但是仅仅凭借视频中像素点的距离只能得到在视频中的相对振幅,而无法得到实际振幅,因此需要得到视频中的比例尺。由于大多数人并不了解自己的臂长,所以需要通过身高与臂长的比例来求得臂长。
已知人体身高:单臂长约为10:3,通过输入身高,便能够求得臂长,将实际臂长与图片中的像素点距离相比较,即可得到图片中按压者的实际臂长,从而得到按压的深度和振幅。如下式所示
其中,Aa表示平均振幅,ymax_u表示极大值的像素高度,ymin_u表示极小值的像素高度,hr表示实际身高,lp表示图片中像素点臂长;其中lp通过下式得到:
其中xsho、ysho分别表示肩部关键点的横纵坐标,xelb、yelb分别表示肘部关键点的横纵坐标,xwri、ywri分别表示腕部关键点的横纵坐标。
通过上述计算即可得到按压的平均振幅并根据心肺复苏指南的标准做出评估。当平均振幅小于5厘米时,输出按压幅度偏小,不符合标准;当平均振幅处于5厘米和6厘米之间时,输出按压幅度偏小,不符合标准;当平均振幅大于6厘米时,输出按压幅度偏小,不符合标准。
按压放松比的计算与计算按压频率的方法类似,通过分别计算按压时间和放松时间即可得到。最新版心肺复苏指南规定心肺复苏按压的按压放松比尽量达到1:1。
首先计算按压时间,如下式所示
其中Tp表示平均按压时间,tmax_u表示腕部关键点出现第u个极大值的时间,tmin_u表示腕部关键点出现第u个极小值的时间;
其次计算放松时间,如下式所示
其中Tr表示平均放松时间。得到平均按压时间和平均放松时间之后,计算Tp/Tr即可得到按压放松比。
通过上述计算即可得到按压的按压放松比并根据心肺复苏指南的标准做出评估。当按压放松比小于0.8时,输出按压时间偏短,但是放松时间偏长,不符合标准;当按压放松比处于0.8和1.2之间时,输出按压时间与放松时间都正常,符合标准;当按压放松比大于1.2时,输出按压时间偏长,但是放松时间偏短,不符合标准;
由上述算法可以分别得到按压动作的平均频率、平均振幅以及按压放松比,将其得到的数据与真实数据进行对比得到,如表3所示,振幅和实际振幅测试详解相同,测试频率和实际频率相近,因此可知算法准确性比较高,具有足够的可信度。
表3按压指标测试表
步骤四:构建基于摄像头的心肺复苏按压动作评估系统
步骤四主要介绍系统的前后端开发。安卓平台是一个开源的平台,开发者可以根据不同的用户需求开发出不同功能的应用,并能调用安卓平台自带的电话、短信摄像头功能。安卓平台的手机持有率更高,而且手机也自带着摄像头,因此在手机上开发该系统是一个合适的选择。
如图7所示,考虑到系统的实时性因素,本系统分为客户端和服务端两个部分,客户端主要承担着拍摄视频传送到服务端的职责。服务端用来接收客户端传输的数据并进行处理,然后将结果传回客户端。
在设计客户端时,主页分为开始检测模块和系统信息模块。如图8所示,开始检测模块负责与服务端的通信以及调用摄像头,其中包括摄像模块和通信模块。系统信息模块负责讲述本系统的功能以及心肺复苏的按压方式,包括按压部位、按压手法、按压标准等因素。
摄像模块负责在动态获取录像等权限之后,调用相机模块进行录像。在录像完毕后,系统将弹出一个提示框显示当前视频的储存路径,默认储存到相机录像的默认文件夹,为接下来套接字通信提供了基础。
通信模块使用了套接字通信的方法,如图9所示,客户端通过一个可以使用的IP和端口连接服务端,连接成功以后,服务端持续监听该端口,当识别到约定好的标识符时,开始接收信息。如果IP为共网IP,那么在所有无线网络下都可以连接到该IP,使用该系统进行心肺复苏动作评估,如果是局域网IP,那就只能在该局域网下进行通信,从而对心肺复苏动作进行评估。客户端在发送数据之后,继续监听该端口,等待接收服务端处理完成后返回的结果。
首先需要针对该IP和端口创建socket类型变量,从而进行套接字通信。如图10所示,在连接服务器过程中,首先设置一个变量isConnnect标识服务器是否连接成功,设置其初值为false,便于后续通讯操作使用。通过判断对应IP和端口的socket是否为空来判断连接是否成功,若socket不为空,则说明已经连接成功,如图11所示,弹出信息提示框提示用户服务器已连接成功,同时将isConnect赋值为true,可进行下一步操作;若socket为空则说明连接失败,可能是无线网络不稳定或者端口被占用的原因,需要重新调整端口或者ip进行重新连接,此时弹出消息提示框提示服务器连接失败,连接失败时isConnect保持为false。
然后设计断开连接按钮,通过检测socket是否为空来判断当前是否存在socket通信。如图11所示,若socket不为空,则说明当前存在socket通信,点击断开服务器按钮之后,会首先关闭socket通信通道,其次将socket变量赋值为空,然后将isConnect变量设置为false,并输出服务器断开连接;若socket为空,则说明目前没有socket通信,isConnect保持为false,并输出尚未连接服务器。
最后设计发送视频按钮,客户端根据拍摄视频时得到的实际路径和文件名来操作视频,创建file对象后首先通过outputStream函数向服务端发送文件名+“#”作为本次通信开始的标识符,然后以1024字节大小的缓冲区向服务端发送视频字节流,全部发送完成后关闭本次发送通道,告诉服务端本次信息发送完毕,等待服务端传输结果。之所以要关闭本次发送通道,是因为socket通信过程中,服务端并不知道客户端的数据是否传输完毕,因此read之类的阻塞函数会一直监听端口,所以发送完成后就要关闭通道。当服务端处理完成后,客户端通过InputStream函数接收服务端发送的结果,并在预先设置好的文本框中显示此次评估的结果。
服务端则在建立连接后监听端口,一旦检测到“#”字符,便保存其之前的文件名,然后开始接收客户端传来的视频字节流,将其重新保存为视频。然后使用调用函数对该视频进行心肺复苏按压动作评估,将评估结果保存并通过字节流传输回客户端。评估结果如图12所示。
Claims (6)
1.一种基于摄像头的心肺复苏按压动作评估方法,其特征在于,包括以下步骤:
步骤1:设计心肺复苏按压动作评估体系
对按压频率、按压幅度和按压放松比三项指标进行量化和等级的划分,构建客观的按压动作评估体系,再根据按压动作的各个指标位于体系中的等级进行打分,得到这三项指标各自的分数,并根据重要程度对其赋予不同的权重,加权平均的得到最终分数;
步骤2:设计基于关键点的心肺复苏按压动作序列识别算法
构建一个对称空间变换网络,将其部署于单人姿态估计网络的前后,然后设置一个平行的单人姿态估计网络,用于优化空间变换网络;然后使用非极大值抑制和基于K-means的关键点优化算法将心肺复苏实施者和按压者的关键点分离,以消除动作冗余;
步骤3:设计基于按压动作的心肺复苏评估算法
在得到经过优化处理的关键点数据后,提取出腕部、肘部和肩部的关键点,通过按压者的身体比例计算出实际臂长,通过腕部、肘部和肩部的关键点计算出视频中的臂长,通过其比值得到视频中按压幅度和实际按压幅度的比例;然后提取出动作序列中腕部关键点的极大极小值,计算出按压频率、按压幅度和按压放松比三个评估指标,再根据评估体系对其进行评估并进行打分。
2.根据权利要求1所述的基于摄像头的心肺复苏按压动作评估方法,其特征在于,所述步骤1中,设置满分为100分,共设置的5个分数段,得到这三项指标各自的分数后,通过加权平均得到最终分数的公式如下:
W=0.4*w1+0.4*w2+0.2*w3
其中,W表示总分数,w1表示频率得分,w2表示平均振幅得分,w3表示按压放松比得分,三种得分分别以权重0.4、0.4、0.2相加,总分超过60即可算本次心肺复苏有效。
3.根据权利要求1所述的基于摄像头的心肺复苏按压动作评估方法,其特征在于,所述步骤2具体包括:
步骤2.1:通过人体检测器得到人体区域,然后将人体区域图像输入STN+SPPE模块,检测出人体姿态,并输入平行的单人姿态估计网络,提高姿态估计的效果
对称空间变换网络包括空间变换网络和空间反变换网络结构;空间变换网络自动选取感兴趣的区域,如下式所示:
其中,θ1、θ2和θ3是二维向量,{xi s,yi s}和{xi t,yi t}分别表示转换前后像素点的坐标;
单人姿态估计网络处理结束时,姿态被映射到人体区域,空间反变换网络将其反映射回原坐标,如下式所示:
其中,γ1、γ2、γ3分别为逆仿射变换系数;
已知空间反变换网络是空间变换网络的反向结构,则得以下关系:
[γ1 γ2]=[θ1 θ2]-1
γ3=-1×[γ1 γ2]θ3
其中,J(W,b)表示STN网络的输出;θ表示仿射变换系数;
对人体区域使用单人姿态估计网络算法进行姿态估计,得到高质量的关键点;
步骤2.2:得到姿态关键点数据后,将其输入PP-NMS模块处理,解决人体冗余问题;
采用AlphaPose算法提出新的距离度量,如下式所示:
f(Pi,Pj|Λ,η)=1[d(Pi,Pj|Λ,η)≤η]
其中,η表示消除标准的阈值,Λ表示函数d的一个参数集合;Pi和Pj分别表示第i个和第j个姿势;
如果d小于阈值η,那么f(Pi,Pj|Λ,η)的输出就是1,表示姿态为冗余姿态,需要被消除;
在姿态距离上,定义一个软匹配函数如下式所示:
使用双曲正切函数将置信度比较低的姿势筛选出来,有且仅有两个姿势都是高置信度姿势时,函数输出才为1;而空间距离如下:
因此定义最终距离为:
d(Pi,Pj|\Λ)=KSim(Pi,Pj|σ1)+λHSim(Pi,Pj|σ2)
其中,λ位权重系数,代表两种距离度量重要性不同;
步骤2.3:通过K均值聚类处理,解决重复识别的问题
学习分布P(δB|atom(P)),其中atom(P)表示P的原子姿势,由K均值聚类算法得到;
使用基于K-means的关键点优化算法,对姿态估计模块输出的姿态估计图中的人体骨骼关键点进行聚类和分析,从而达到消除重复识别的目的;
设定聚类的类簇数量k为2,采用欧氏距离公式来计算空间距离,根据下式进行计算:
其中,disted(xq,Co)表示xq和Co间的欧氏距离,xq表示第q个关键点,Co表示第o个类簇中心;m表示空间的维度;xqt表示第t个维度下第q个关键点的位置;Cot表示第t个维度下第o个类簇中心的位置;
计算完距离之后,进行第一次分类,然后根据上式再重新计算类簇,进行迭代;最终得到聚类之后的结果。
4.根据权利要求1所述的基于摄像头的心肺复苏按压动作评估方法,其特征在于,所述步骤3具体包括:
步骤3.1:检测按压动作的极大值点和极小值点
判断出按压过程中腕部关键点纵坐标的极值点,即重复按压时每次到最低点和最高点的位置,并记录此次位置的时间和坐标;设定有且仅有当该点分别比附近4个点都大或者都小时,才将该点记录为极大值点或者极小值点;
步骤3.2:计算按压的平均频率
通过获取输入视频的每秒帧数,得到每帧画面持续时间,再计算相邻的极大值和极小值之间相隔的帧数,得到每次按压消耗的时间,从而得到平均按压的频率,如下式所示:
其中,fa表是按压动作的平均频率,共有n个极大值,tmax_n表示腕部关键点出现第n个极大值的时间,tmax_1表示腕部关键点出现第1个极大值的时间;腕部关键点出现第u个极大值的时间表示为:
其中,FPS表示每秒帧数,vmax_u表示腕部关键点出现第u个极大值时的帧数;
计算得到按压的平均频率后根据心肺复苏指南的标准做出评估;
步骤3.2:通过计算极值点的y轴坐标来计算振幅
通过身高与臂长的比例关系,求得按压者的实际臂长,将实际臂长与图片中的像素点距离相比较,得到实际尺寸与视频中尺寸的比例尺,并根据极值的像素高度,最终得到实际按压的深度和振幅;如下式所示:
其中,Aa表示平均振幅,ymax_u表示极大值的像素高度,ymin_u表示极小值的像素高度,hr表示实际身高,lp表示图片中像素点臂长;其中lp通过下式得到:
其中,xsho、ysho分别表示肩部关键点的横纵坐标,xelb、yelb分别表示肘部关键点的横纵坐标,xwri、ywri分别表示腕部关键点的横纵坐标;
步骤3.3:通过计算按压时间和放松时间得动按压放松比
先计算按压时间,如下式所示:
其中Tp表示平均按压时间,tmax_u表示腕部关键点出现第u个极大值的时间,tmin_u表示腕部关键点出现第u个极小值的时间;
计算放松时间,如下式所示:
其中,Tr表示平均放松时间;
得到平均按压时间和平均放松时间之后,计算Tp/Tr得到按压放松比。
5.根据权利要求1所述的基于摄像头的心肺复苏按压动作评估方法,其特征在于,所述步骤3之后还包括构建基于摄像头的心肺复苏按压动作评估系统,所述评估系统包括客户端和服务端,客户端位于安卓端,服务端位于电脑端;在安卓端设计系统的操作界面,然后通过调用系统自带的摄像头进行视频的拍摄,再使用Socket通信方法将视频传输到服务端,通过部署在服务端的算法进行评估,评估结束后,服务端将结果传输回客户端进行展示。
6.一种基于摄像头的心肺复苏按压动作评估系统,其特征在于,客户端和服务端;客户端拍摄视频传送到服务端;服务端接收客户端传输的数据并进行处理,然后将结果传回客户端;
(1)所述客户端包括开始检测模块和系统信息模块;
所述开始检测模块包括摄像模块和通信模块,用于调用摄像头拍摄录像,以及与服务端通信;所述系统信息模块用于展示系统的功能以及心肺复苏的按压方式;
所述通信模块使用套接字通信方法与服务端通信,客户端通过一个能够使用的IP和端口连接服务端,连接成功以后,服务端持续监听该端口,当识别到约定好的标识符时,开始接收信息;客户端在发送数据之后,继续监听该端口,等待接收服务端处理完成后返回的结果;
(2)所述服务端包括态估计模块和动作评估模块;
所述姿态估计模块使用RMPE框架,通过人体检测器得到人体区域,然后将人体区域输入STN+SPPE模块,检测出人体姿态;同时输入平行的单人姿态估计网络模块;得到姿态关键点数据后,将其输入PP-NMS模块处理,解决人体冗余问题;最后输出二维多人姿态估计的骨骼关键点;
所述动作评估模块通过按压者的身体比例计算出实际臂长,通过腕部、肘部和肩部的关键点计算出视频中的臂长,通过其比值得到视频中按压幅度和实际按压幅度的比例;然后提取出动作序列中腕部关键点的极大极小值,计算出按压频率、按压幅度和按压放松比三个评估指标,再根据评估体系对其进行评估并进行打分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210802369.9A CN115227234A (zh) | 2022-07-07 | 2022-07-07 | 一种基于摄像头的心肺复苏按压动作评估方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210802369.9A CN115227234A (zh) | 2022-07-07 | 2022-07-07 | 一种基于摄像头的心肺复苏按压动作评估方法与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115227234A true CN115227234A (zh) | 2022-10-25 |
Family
ID=83671137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210802369.9A Pending CN115227234A (zh) | 2022-07-07 | 2022-07-07 | 一种基于摄像头的心肺复苏按压动作评估方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115227234A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115641646A (zh) * | 2022-12-15 | 2023-01-24 | 首都医科大学宣武医院 | 一种cpr自动检测质控方法及系统 |
CN116643268A (zh) * | 2023-04-23 | 2023-08-25 | 中国医学科学院北京协和医院 | 一种基于毫米波雷达的心肺复苏按压检测评估方法及系统 |
-
2022
- 2022-07-07 CN CN202210802369.9A patent/CN115227234A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115641646A (zh) * | 2022-12-15 | 2023-01-24 | 首都医科大学宣武医院 | 一种cpr自动检测质控方法及系统 |
CN116643268A (zh) * | 2023-04-23 | 2023-08-25 | 中国医学科学院北京协和医院 | 一种基于毫米波雷达的心肺复苏按压检测评估方法及系统 |
CN116643268B (zh) * | 2023-04-23 | 2024-03-22 | 中国医学科学院北京协和医院 | 一种基于毫米波雷达的心肺复苏按压检测评估方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ar et al. | A computerized recognition system for the home-based physiotherapy exercises using an RGBD camera | |
WO2018120964A1 (zh) | 一种基于深度信息和骨骼信息的姿势矫正方法 | |
CN115227234A (zh) | 一种基于摄像头的心肺复苏按压动作评估方法与系统 | |
CN109635727A (zh) | 一种人脸表情识别方法及装置 | |
CN105739688A (zh) | 一种基于情感体系的人机交互方法、装置和交互系统 | |
CN110472481B (zh) | 一种睡姿检测方法、装置及设备 | |
US20140145936A1 (en) | Method and system for 3d gesture behavior recognition | |
CN111931585A (zh) | 一种课堂专注度的检测方法及装置 | |
CN110490109B (zh) | 一种基于单目视觉的在线人体康复动作识别方法 | |
CN107911643B (zh) | 一种视频通信中展现场景特效的方法和装置 | |
CN109299690B (zh) | 一种可提高视频实时人脸识别精度的方法 | |
CN111401318B (zh) | 动作识别方法及装置 | |
CN113537005A (zh) | 一种基于姿态估计的线上考试学生行为分析方法 | |
CN113516005A (zh) | 一种基于深度学习和姿态估计的舞蹈动作评价系统 | |
CN108174141B (zh) | 一种视频通信的方法和一种移动装置 | |
Badhe et al. | Artificial neural network based indian sign language recognition using hand crafted features | |
CN117333932A (zh) | 基于机器视觉识别肌少症的方法、装备、设备以及介质 | |
de Dios et al. | Landmark-based methods for temporal alignment of human motions | |
Masullo et al. | CaloriNet: From silhouettes to calorie estimation in private environments | |
CN116052272A (zh) | 一种智能化体能训练自动识别方法 | |
US11830292B2 (en) | System and method of image processing based emotion recognition | |
CN115690895A (zh) | 基于人体骨骼点检测的多人运动检测方法及装置 | |
CN114187992A (zh) | 基于视频ai分析老年肢体动作并自动生成检测报告的方法 | |
CN115690902A (zh) | 一种健身动作的异常姿态预警方法 | |
TW201824020A (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 |