CN115346272A - 基于深度图像序列的实时摔倒检测方法 - Google Patents
基于深度图像序列的实时摔倒检测方法 Download PDFInfo
- Publication number
- CN115346272A CN115346272A CN202210915988.9A CN202210915988A CN115346272A CN 115346272 A CN115346272 A CN 115346272A CN 202210915988 A CN202210915988 A CN 202210915988A CN 115346272 A CN115346272 A CN 115346272A
- Authority
- CN
- China
- Prior art keywords
- human body
- posture
- target
- time
- height
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 78
- 238000000034 method Methods 0.000 claims abstract description 27
- 238000012300 Sequence Analysis Methods 0.000 claims abstract description 6
- 230000007704 transition Effects 0.000 claims description 26
- 238000005070 sampling Methods 0.000 claims description 25
- 238000001914 filtration Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 16
- 230000009466 transformation Effects 0.000 claims description 14
- 230000005484 gravity Effects 0.000 claims description 13
- 238000009499 grossing Methods 0.000 claims description 13
- 239000011159 matrix material Substances 0.000 claims description 11
- 238000005259 measurement Methods 0.000 claims description 11
- 238000012360 testing method Methods 0.000 claims description 11
- 230000009471 action Effects 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 9
- 230000033001 locomotion Effects 0.000 claims description 7
- 238000011478 gradient descent method Methods 0.000 claims description 6
- 238000012549 training Methods 0.000 claims description 6
- 238000003384 imaging method Methods 0.000 claims description 5
- 230000004927 fusion Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000002372 labelling Methods 0.000 claims description 3
- 238000013528 artificial neural network Methods 0.000 abstract description 2
- 230000036544 posture Effects 0.000 description 67
- 230000006399 behavior Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 210000002683 foot Anatomy 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 210000002414 leg Anatomy 0.000 description 3
- 208000027418 Wounds and injury Diseases 0.000 description 2
- 238000005452 bending Methods 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 208000014674 injury Diseases 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000001217 buttock Anatomy 0.000 description 1
- 210000000459 calcaneus Anatomy 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000007797 corrosion Effects 0.000 description 1
- 238000005260 corrosion Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000008897 memory decline Effects 0.000 description 1
- 230000005906 menstruation Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000000474 nursing effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000003642 reactive oxygen metabolite Substances 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/277—Analysis of motion involving stochastic approaches, e.g. using Kalman filters
-
- 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/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/267—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
-
- 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/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Social Psychology (AREA)
- Psychiatry (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于深度图像序列的实时摔倒检测方法。本发明以深度图像序列作为输入,训练目标检测神经网络,输出每帧图像中人体目标的定位信息及姿态分类;然后,采用滑动时间窗口,对人体目标进行匹配追踪,对人体姿态进行时序分析,计算人体姿态高度及其下降速度、失衡时间等特征;最后,对时序特征进行分析,作出人体是否摔倒的判决。本发明可应用于单人场景和多人场景的摔倒检测,在准确率、精确率、召回率等指标上都取得了先进的性能;只采集深度图像,用户隐私保护性好;算法复杂度低,可部署在低功耗低算力的终端设备上实时运行。
Description
技术领域
本发明涉及三维视觉,人体姿态追踪,异常行为事件检测,深度学习等领域,具体涉及基于深度图像序列的实时摔倒检测方法。
背景技术
随着人口老龄化的不断加剧,老人安全看护已逐渐成为一个社会热点问题。据统计,摔倒是65岁以上老年人受伤甚至死亡的首要原因。虽然很难对摔倒进行提前预测,但老人摔倒后若能够及时获得医疗救护,可以有效降低因摔倒而导致的受伤率及死亡率。因此,准确度高、鲁棒性强、实时性好的摔倒检测系统具有重要的应用价值。
目前主流的摔倒检测方法主要分为3类:基于可穿戴式传感器的摔倒检测方法,基于分布式环境传感器的摔倒检测方法,以及基于计算机视觉的摔倒检测方法。基于可穿戴式传感器的方法要求用户在身体某些部位佩戴加速度计等相关设备,通过对设备内传感器数据的分析,判断目标是否摔倒。但长时间穿戴容易感觉不适,对日常生活带来很多不便,并且老年人普遍存在记忆力衰退问题,容易忘记穿戴或者丢失设备。基于环境传感器的方法需要在目标场所预先布置复杂的传感器网络,以压力传感器和声音传感器为主,布置与维护成本较高,应用场合受限。在基于计算机视觉的方法中,目前大多数算法采用以RGB 数据作为输入,通过复杂的卷积神经网络或者循环神经网络对时间序列信息作处理,但RGB图像的获取对用户隐私有一定侵犯性,且这类算法虽有较高的准确率,但由于计算复杂度较高,无法保证检测结果的实时性。
近年来人工智能技术发展迅速,硬件算力不断提高,部分能实现高正确率的复杂检测网络在计算机平台上亦能取得实时性的效果。但实际应用更多的是采用边缘端处理的方式或统一将数据传输至服务器处理,前者要求硬件体积尽可能小,具备集成至深度相机的能力,而高性能的计算机平台一般体积较大,后者则需要满足多路数据同时输入的高并发需求。因此,复杂的网络虽能提高正确率,但也很难在生活中得到广泛的实际应用。
发明内容
为了解决背景技术中的问题,本发明提供了一种基于深度图像序列的实时摔倒检测方法。
本发明的技术方案通过以下步骤实现:
步骤1)采集室内场景下包含各种摔倒动作和非摔倒动作的深度图像序列,与公开的摔倒数据集融合获得融合数据集,对融合数据集中每张深度图像中的每个目标人体画出外接矩形框,并标注人体姿态类别,获得基于深度图像的摔倒检测数据集;
步骤2)搭建用于检测深度图像中人体位置并识别人体姿态特征的实时目标检测网络模型,采用步骤1)的基于深度图像的摔倒检测数据集对上述网络使用梯度下降法进行训练,直至收敛;
步骤3)将待检测的深度图像序列输入实时目标检测网络模型,模型输出每张图像中每个目标人体的矩形框定位信息以及对应人体姿态属于各个姿态类别的概率,选取概率最大的姿态类别作为对应矩形框内人体的姿态判决,用于后续时序分析;
步骤4)对于目标检测网络模型得到的每个人体矩形框,选取单像素宽度的水平采样线,对边界框内顶部像素进行采样,然后采用区域生长算法将采样线上的像素合并为若干个超像素,利用坐标反投影变换得到若干高度候选值,依照成像原理,候选值中的最大值即为目标姿态高度;
步骤5)采用设定长度和步幅的滑动时间窗口,对每个时间窗口内各帧图像检测到的人体目标进行匹配追踪,判断人体姿态变换过程是否满足摔倒的必要条件;
步骤6)对于每个满足步骤5)摔倒条件的时间窗口,对当前时间窗口内每个人体目标的姿态高度与下降速度数据进行卡尔曼滤波与卡尔曼平滑处理,获得各目标姿态高度及其下降速度的最优估计;
步骤7)结合步骤3)得到的人体姿态检测结果,提取人体目标处于过渡姿态时姿态高度下降速度的最大值,与预设的阈值进行比较,结合过渡姿态时长,实现时间窗口内目标是否摔倒的判断。
所述步骤1)具体为:
根据人体运动学和医学知识,将摔倒过程中人体姿态的动态变化,分解为必经的三个阶段,依次为正常阶段、失平衡阶段和倒地阶段;
正常阶段:指摔倒发生前的一小段时间内,目标仍保持着正常行为姿态,如走动、站立、坐着等;
失平衡阶段:指摔倒发生时,目标失去对自己身体平衡的控制,身体重心处于不可控的下降状态;
倒地阶段:指目标身体重心已停止下降,以臀部、背部、腿部或胸部等部位大面积地接触地面,以坐、趴或躺的姿势位于地面上;
通过下述分类标准标记人体姿态类别:
正常姿态:上半身保持直立,人体与地面接触面仅为双足,重心高度变化保持稳定,人体处于站立、走动、坐的状态;对应于摔倒的正常阶段
过渡姿态:人体重心处于下降阶段;对应于摔倒的失平衡阶段
落地姿态:人体以躺、趴、坐式接触地面,与地面接触面不仅限于双足,重心高度变化保持稳定;对应于摔倒的倒地阶段
重心高度变化保持稳定表示重心波动幅度不超过膝盖至足根骨的1/2距离。
所述步骤2)具体为:
实时目标检测网络模型采用YOLOv4网络模型,输入为基于深度图像的摔倒检测数据集,输出为各帧图像中每个人体目标边界框的坐标信息以及该人体姿态属于各个类别的概率,据此计算损失函数;
采用梯度下降法对实时目标检测网络模型进行迭代训练,直至收敛。
所述步骤3)具体为:
3-1)公开数据集的离线测试:
将公开数据集中已知长度的深度图序列输入实时目标检测网络模型,模型输出每个人体目标矩形框的定位信息以及对应人体姿态属于各个姿态类别的概率,选取概率最大的姿态类别作为对应矩形框内人体的姿态判决,用于后续时序分析;
3-2)实时在线测试:
将通过深度摄像头实时获取的深度图像序列输入实时目标检测网络模型,模型实时输出每个人体目标矩形框的定位信息和姿态判决,用于后续时序分析。
所述步骤4)具体为:
4.1)对于深度图像中每个人体矩形框,选取单像素宽度的水平采样线:
构建图像坐标系O-uv,水平采样线的方程为v=b,参数b的计算公式为:
b=top+(bot-top)*p%
其中,top为矩形框顶端水平直线的v轴参数,bot为矩形框底端水平直线的 v轴参数,p%为水平采样线与顶端之间的距离占矩形框高度的比例(自行设定);
4.2)应用区域生长算法,将水平采样线上的像素合并为若干个超像素:
顺序扫描水平采样线上的像素,计算当前像素的深度值与当前超像素深度均值之差的绝对值,当前超像素为当前像素的前一个像素归入的超像素;若绝对值小于给定阈值ε1则将当前像素添加到当前超像素;反之,则将当前像素归入新的超像素(水平采样线上第一个像素作为第一个新的超像素);
4.3)通过坐标反投影变换,计算各超像素深度均值对应的真实离地高度值,并加入姿态高度候选值集合;
其中,height为高度候选值;ave为当前超像素的深度值均值;u0、fx均为相机的内参,其物理意义分别为图像的中心像素坐标与图像坐标系O-uv的原点像素坐标之间相差的横向像素数、相机的横向焦距;H,θ均为相机的外参,其物理意义分别为相机在世界坐标系下的高度、相机的俯角;
4.4)应用区域生长算法,将相差在给定阈值ε2范围内的姿态高度候选值加权合并为新的候选值;
4.5)从步骤4.4)更新后的高度候选值中选取最大的高度候选值,作为当前矩形框内人体的姿态高度。
所述步骤5)具体为:
采用设定长度和步幅(步幅小于长度)的滑动时间窗口对输入的深度图像序列进行分割,对每个时间窗口内的所有深度图像序列执行下述检测:
对深度图像序列中每一帧检测到的各个人体目标进行匹配跟踪,判断人体目标的姿态变换过程是否满足摔倒必要条件:若当前时间窗口内人体的姿态依次经历正常姿态-过渡姿态-落地姿态的变换过程,则满足摔倒的必要条件;反之,不满足摔倒的必要条件,判断人体目标在当前时间窗口内未发生摔倒事件。
所述步骤6)具体为:
6-1)对每个满足步骤5)摔倒条件的时间窗口,基于基本运动方程,计算状态转移方程:
z(t)=z(t-1)+vz(t-1)
vz(t)=vz(t-1)
其中,z(t),vz(t)分别为t时刻人体目标的姿态高度和下降速度, z(t-1),vz(t-1)分别为t-1时刻人体目标的姿态高度和下降速度;由于时间较短,将下降过程视为匀速直线运动,从而得到状态转移矩阵A为:
根据下述卡尔曼滤波状态转移方程获得各时刻卡尔曼滤波系统状态信号:
Xk+1=AXk+Wk
其中,Xk+1,Xk分别为在已知当前时刻及之前时刻的各测量值的条件下,系统在k+1,k时刻的卡尔曼滤波系统状态信号;Wk为系统噪声,满足高斯分布;
其中,各测量值为姿态高度和下降速度;
6-2)基于步骤6-1)得到的卡尔曼滤波系统状态信号,在已知当前时间窗口内各测量值的条件下,应用卡尔曼平滑算法计算各时刻的卡尔曼平滑系统状态信号X′k;
6-3)根据下述测量方程获得各时刻下姿态高度及其下降速度的最优估计Yk:
Yk=CX′k+Vk
其中,Yk为在已知当前时刻及之前时刻的各测量值的条件下,系统在k时刻下的测量信号;C为观测矩阵,此处值为二阶单位阵;X′k为经步骤6-2)处理的卡尔曼平滑系统状态信号;Vk为观测噪声,满足高斯分布。
所述步骤7)具体为:
对于每个满足摔倒条件的时间窗口,基于步骤3)获取人体目标处于过渡姿态时的持续时间toff;基于步骤6)获取当前时间窗口下每个时刻下降速度的最优估计,取最优估计的最大值作为姿态高度下降的最大速度voff;
将toff与设定的失平衡阶段持续时间阈值tth,voff与下降速度阈值vth1和 vth2(vth1<vth2)进行比较,判断当前时间窗口内各个人体目标的状态:
7-1)当满足voff<vth1,表示人体虽有类似摔倒的动作,但姿态高度下降速度足够小,判决为安全;
7-2)当满足vth1<voff<vth2且toff>tth,表示人体虽有类似摔倒的动作,且姿态高度下降速度较大,但失平衡阶段持续时间足够长,表明人体的过渡姿态处于可控状态,但仍存在危险性,判决为需留意;
7-3)当满足voff>vth2,或者vth1<voff<vth2且toff<tth,表明人体姿态高度的下降处于不可控状态,判决为摔倒。
本发明的有益效果是:
本发明有效提高了摔倒检测的正确率,减少对趴下找东西、主动躺下等类似摔倒行为的误判。本发明适用场景广泛,可应用于单人场景和多人场景的摔倒检测,在准确率、精确率、召回率等指标上都取得了先进的性能。只采集深度图像,用户隐私保护性好。同时应用了低复杂度目标检测网络,可在低功耗低算力的嵌入式终端设备上实时运行,拓展了智能摔倒检测系统的应用市场。
附图说明
图1为本发明实现摔倒检测功能的整体流程图;
图2为已标注的目标三种姿态实例图;
图3为ROS系统中各模块的关系图;
图4为深度图中,采样线上各像素的灰度值;
图5为ToF相机布置示意图;
图6为摔倒检测算法的流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步详细说明。
特别的,本实施方式中,深度图像获取设备采用ToF(Time-of-Flight)深度相机,目标检测网络采用YOLOv4检测网络。上述选择仅为本发明的较佳实施例,并不用以限制本发明。
本发明首先对摔倒行为进行细化,并确立摔倒事件发生的必要条件:
针对要检测的摔倒行为,结合相关医学文献将其细化分解为依次必经的三个阶段,分别为正常阶段,失平衡阶段,最后为倒地阶段,各阶段具体定义如下:
1)正常阶段:指摔倒发生之前的一小段时间内,目标仍保持着正常行为姿态,如走动、站立、坐着等;
2)失平衡阶段:指摔倒发生时,目标失去对自己身体平衡的控制,身体重心处于不可控的下降状态;
3)倒地阶段:指目标身体重心已停止下降,以臀部、背部、腿部或胸部等部位大面积接触地面,如坐在地面上或躺在地面上。
其次是该方法的具体实现过程,
如图1所示,本发明的基于深度图像序列的实时摔倒检测方法包括以下步骤:
步骤一:使用ToF相机采集包含各种摔倒动作和非摔倒动作的深度图像序列,同时搜集相关的公开数据集,包括TST Fall detection dataset V2,结合上述对三个阶段人体姿态的划分,对每帧深度图像中的人体姿态进行分类,同时标注人体轮廓的矩形框,构造基于深度图像的摔倒检测数据集;
摔倒检测数据集中各深度图像的标注过程如下:
1.1)确定标签:人体姿态依据上述对摔倒阶段的细化,可划分为以下三个类别,正常姿态,过渡姿态以及落地姿态;
1.1.1)正常姿态:对应于摔倒的第一阶段——正常阶段,指目标人体处于站立,坐等保持上半身直立的姿态;
1.1.2)过渡姿态:对应于摔倒的第二阶段——失平衡阶段,指目标人体重心处于下落阶段,但身体大部分区域未接触到地面的姿态。特别的,如弯腰,体前屈等上半身非直立的正常动作,亦归入此状态。
1.1.3)落地姿态:对应于摔倒的第三阶段——倒地阶段,指目标人体以臀部、背部、胸部、腿部等部位大面积接触地面的姿态,如坐、趴或躺卧在地面上。
1.2)将采集得到视频按帧转换为图像序列,对每一张图像进行预处理,后对图像中的每一个目标人体按照上述类别划分进行标定。
预处理的主要操作为:通过形态学腐蚀算法填补深度图空洞,利用高斯滤波器去除深度图像噪声,计算放缩因子,将16位的ToF深度图投影至8位,使其通道内所有像素值落于0至255区间内。
1.2.1)计算放缩因子α:
其中Idmax为ToF深度图中最大的深度值,Idmin为ToF深度图中最小的非0 深度值。
投影后的8位图像可以通过下式计算得到:
In=(Id-Idmin)*α
其中Id为原本16位ToF深度图像中各像素值,In为投影后图像中各像素值。
从而得到预处理后的深度图像,各像素值落在[0,255]区间内。
1.3)根据定义,标注深度图像内各个目标。
标注后的结果,如图2。
步骤二:搭建针对人体目标检测以及人体姿态特征的YOLOv4实时检测网络,采用步骤一制作的数据集对上述网络使用梯度下降法进行训练。
模型输入为ToF深度图像,输出各图像中各人体目标边界框的定位信息以及该人体姿态属于各个类别的概率,据此计算损失函数,采用梯度下降法对网络进行迭代训练,直至收敛。
步骤三:应用步骤三得到的网络模型进行推理,输入ToF深度图像序列,输出每帧图像中人体目标的姿态及定位信息;
对网络的测试分为两种模式,一种是公开数据集的离线测试模式,另一种是ToF相机拍摄和数据处理同时进行的在线实时测试模式:
3.1)离线测试模式:模型输入公开数据集中已知长度的深度图序列,输出对应一个或多个目标边界框的定位信息以及该框内对象属于各个类别的概率,选取概率最大的类别作为此框内对象的姿态判决。在获取到所有检测结果后,应用后续介绍的时序信息处理方法,实现摔倒检测判决;
3.2)实时在线测试模式:基于ROS(Robot Operation System)框架建立ToF 相机模块、模型检测模块以及时序信息处理模块。具体各模块关系图及数据流动图见图3。ToF相机连接PC,实时获取ToF相机拍摄得到的深度图数据,ROS 框架通过ToF相机模块发布主题,模型检测模块订阅对应主题的方式,完成深度图像数据传输。模型检测模块中YOLOv4模型对传入的数据进行推理,确定各个目标边界框的定位信息以及该框内对象属于各个类别的概率,选取概率最大的类别作为此框内对象的姿态判决,上述检测结果同样通过发布主题,订阅主题的方式,传输到时序信息处理模块,检测结果经上述模块处理后,作出目标是否摔倒的判决;
步骤四:应用区域生长算法,获取深度图中属于人体姿态顶部的像素,结合相机成像原理,利用坐标反投影变换得到人体姿态高度的近似值;
对于网络检测得到的每一个边界框,选取单像素宽度的水平采样线,对边界框内像素进行采样,后采用区域生长算法将采样线上的像素合并为若干个超像素,结合相机逆投影变换得到若干姿态高度候选值,依照成像原理,候选值中的最大值即为目标姿态高度,如图5所示;
上述步骤四的具体实施如下:
4.1)于像素坐标系O-uv中,计算水平采样线的方程v=b的参数b:
b=top+(bot-top)*p%
其中,top为矩形框顶端水平直线的v轴参数,bot为矩形框底端水平直线的 v轴参数,p%为水平采样线与顶端之间的距离占矩形框高度的比例;
4.2)应用区域生长算法,将采样线上的像素合并为若干个超像素,记录各超像素的深度值均值以及其所含像素数量:
从左到右对采样线上的像素依次操作。计算当前像素的深度值与当前超像素深度值均值之差,并与给定阈值ε1进行比较,并作出当前像素是否属于当前超像素的判断;
4.2.1)当前像素属于当前超像素:更新当前超像素的深度值均值以及其包含像素的数量:
l′=l+1
其中,ave为更新前的超像素深度值均值,l为更新前的当前超像素所含像素数量,cur为当前像素的深度值。ave′,l′均为经本轮更新后的值,在本轮更新结束时,将本轮更新值ave′,l′作为新的ave,l;
4.2.2)当前像素不属于当前超像素:当前像素归入新的超像素;
4.3)通过坐标反投影变换,计算各超像素深度值候选值对应的真实高度值,并记录入姿态高度候选值集合:
S′=S∪(height,l)
其中S为更新前的姿态高度候选值集合,S′为经本轮更新后的值,在本轮更新结束时,将本轮更新值S′作为新的S。height为姿态高度候选值,u0,fx均为 ToF相机的内参,其物理意义分别为图像的中心像素坐标与原点像素坐标之间相差的横向像素数,ToF相机的横向焦距。H,θ均为ToF相机的外参,其物理意义分别为ToF相机在世界坐标系下的高度,ToF相机的俯角,具体ToF相机布置如图6所示;
4.4)应用区域生长算法,将相差在给定阈值ε2范围内的高度候选值加权合并为新的候选值:
L′=L+l
其中hnew为更新前的经加权合并的目标姿态高度候选值,L为更新前的对应权重(像素数量),hcur为当前姿态高度候选值,l为当前姿态高度候选值的权重(像素数量)。h′new,L′均为经本轮更新后的值,在下一轮更新时,将本轮更新值h′new,L′作为新的hnew,L;
4.5)选取姿态高度候选值的最大值,即为目标人体姿态高度;
步骤五:将连续时间信息通过设置时间窗口进行分割,每时间窗口执行一次检测。对窗口内各帧图像检测到的人体目标进行匹配追踪,后判断该时间窗口内各目标的姿态变换是否满足摔倒必要条件:
5.1)对时间窗口内检测到的多个目标进行跟踪;
对于相邻两帧,分别计算前帧与后帧检测到的目标数量,根据数量判断是否有目标进入或离开ToF相机取景范围,再计算前帧各目标与后帧各目标的边界框中心于像素坐标系下的欧氏距离,得到尺寸为前帧目标数*后帧目标数的距离矩阵,应用匈牙利算法,实现前后帧目标的匹配,即目标的跟踪;
5.2)对时间窗口内各目标的姿态变换进行判断:
5.2.1)若目标姿态存在正常姿态——过渡姿态——落地姿态的变化过程,则表明目标依次经历正常阶段——失平衡阶段——倒地阶段,满足摔倒必要条件;
5.2.2)若目标姿态不存在正常姿态——过渡姿态——落地姿态的变化过程,则表明目标不满足摔倒必要条件,该目标在当前时间窗口内未发生摔倒事件;
至此,部分非摔倒行为已被检测,已被判决为非摔倒的目标无需后续运算。
步骤六:结合步骤四的姿态高度检测结果,获取目标在本时间窗口内的姿态高度和下降速度信息,采用卡尔曼滤波和卡尔曼平滑算法对各帧目标姿态高度及下降速度进行最佳估计;
依次对各目标进行判断,在时间窗口内对目标的姿态高度以下降速度信息通过卡尔曼滤波与卡尔曼平滑进行线性滤波,以获得对目标姿态高度和下降速度的最优估计,后结合步骤三的检测结论,获取目标处于过渡姿态中下降速度的最大值;
6-1)对每个满足步骤5)摔倒条件的时间窗口,基于基本运动方程,计算状态转移方程:
z(t)=z(t-1)+vz(t-1)
vz(t)=vz(t-1)
其中,z(t),vz(t)分别为t时刻人体目标的姿态高度和下降速度, z(t-1),vz(t-1)分别为t-1时刻人体目标的姿态高度和下降速度;由于时间较短,将下降过程视为匀速直线运动,从而得到状态转移矩阵A为:
根据下述卡尔曼滤波状态转移方程获得各时刻卡尔曼滤波系统状态信号:
Xk+1=AXk+Wk
其中,Xk+1,Xk分别为在已知当前时刻及之前时刻的各测量值的条件下,系统在k+1,k时刻的卡尔曼滤波系统状态信号;Wk为系统噪声,满足高斯分布;
其中,各测量值为姿态高度和下降速度;
6-2)基于步骤6-1)得到的卡尔曼滤波系统状态信号,在已知当前时间窗口内各测量值的条件下,应用卡尔曼平滑算法计算各时刻的卡尔曼平滑系统状态信号X′k;
6-3)根据下述测量方程获得各时刻下姿态高度及其下降速度的最优估计Yk:
Yk=CX′k+Vk
其中,Yk为在已知当前时刻及之前时刻的各测量值的条件下,系统在k时刻下的测量信号;C为观测矩阵,此处值为二阶单位阵;X′k为经步骤6-2)处理的卡尔曼平滑系统状态信号;Vk为观测噪声,满足高斯分布。
步骤七:结合步骤三的姿态检测结果,获取步骤六结果中目标处于过渡姿态的下降速度最大值,并与事先设定好的阈值进行比较,实现对该时间窗口内目标是否摔倒的判断。
7.1)记录目标历经正常阶段——失平衡阶段——倒地阶段这一过程时,处于失平衡阶段的持续时间toff,并获取目标处于过渡姿态对应时刻的下降速度,记录最大值为voff;
7.2)根据设定的失平衡阶段持续时间阈值tth与下降速度阈值vth1, vth2(vth1<vth2),将该时间窗口内的各个目标的摔倒情况划分到三个类别;
7.2.1)安全:满足voff<vth1,虽有摔倒的类似行为,但下降速度足够小,该目标当前时间窗口内判定为安全;
7.2.2)需留意:满足vth1<voff<vth2且toff>tth,虽有摔倒的类似行为,且有一定下降速度,但失平衡阶段持续较长时间(表明目标人体可控向下运动),该目标当前时间窗口判定为需留意。即虽目前暂无摔倒事件发生,但当前姿态仍存在一定危险性,需相关人员关注;
7.2.3)摔倒:满足以下两种情况之一:voff>vth2(速度大于给定阈值),或vth1<voff<vth2且toff<tth(有一定下降速度,失平衡阶段持续时间短,表明目标向下运动不可控),则目标当前时间窗口判定为摔倒。
据此,完成对摔倒行为的检测。
在i7-9700中央处理器,Geforce RTX 2080Ti显卡硬件条件下,搭建Ubuntu16.04lts+cuda 10.1+ROS PC环境,实验所用ToF相机为Microsoft Kinect V2。基于上述环境设计离线实验与在线实验对本发明的可行性,实时性和准确性进行验证。离线测试在公开数据集TST Fall detection dataset V2上进行,实验结果表明本方法达到了97.92%的准确率,97.5%的敏感性以及98.3%的特异性,运行帧率为45Hz。在实时在线测试中,单人场景与多人场景均取得了100%的准确率,运行帧率为40Hz。上述实验表明,本发明在有效提高摔倒识别准确率的同时,亦保证了系统运行的实时性。
综上,本发明的方案首先对摔倒这一事件进行细化,确定其必要条件,后将ToF相机拍摄得到的深度图输入到预先训练好的YOLOv4模型当中,模型输出深度图内各个目标的姿态信息以及其边界框的位置信息。后续时序信息处理模块对网络检测结果进一步加工提炼:结合深度图信息,相机成像原理及网络检测结果,获取目标姿态高度,并确定处于失平衡阶段时姿态高度下降的最大速度,以此作为摔倒是否发生的评判标准进行判决。该方案应用场景广泛,在保障用户隐私性,系统运行实时性的同时,也具备较高的检测准确性,表现出良好的检测性能。
应当说明的是,上述实施例均可根据需要自由组合,本实施例仅是本发明的优选实施方式。在不脱离本发明原理的前提下,可对本发明作出若干改进和修饰,这些改进和修饰也应视为本发明的保护范围。
Claims (8)
1.一种基于深度图像序列的实时摔倒检测方法,其特征在于,包括以下步骤:
步骤1)采集包含各种摔倒动作和非摔倒动作的深度图像序列,与公开的摔倒数据集融合获得融合数据集,对融合数据集中每张深度图像中的每个目标人体画出外接矩形框,并标注人体姿态类别,获得基于深度图像的摔倒检测数据集;
步骤2)搭建用于检测深度图像中人体位置并识别人体姿态特征的实时目标检测网络模型,采用步骤1)的基于深度图像的摔倒检测数据集对网络模型使用梯度下降法进行训练,直至收敛;
步骤3)将待检测的深度图像序列输入实时目标检测网络模型,模型输出每张图像中每个目标人体的矩形框定位信息以及对应人体姿态属于各个姿态类别的概率,选取概率最大的姿态类别作为对应矩形框内人体的姿态判决;
步骤4)对于目标检测网络模型得到的每个人体矩形框,选取单像素宽度的水平采样线,对边界框内顶部像素进行采样,然后采用区域生长算法将采样线上的像素合并为若干个超像素,利用坐标反投影变换得到若干高度候选值,依照成像原理,候选值中的最大值即为目标姿态高度;
步骤5)采用设定长度和步幅的滑动时间窗口,对每个时间窗口内各帧图像检测到的人体目标进行匹配追踪,判断人体姿态变换过程是否满足摔倒的必要条件;
步骤6)对于每个满足步骤5)摔倒条件的时间窗口,对当前时间窗口内每个人体目标的姿态高度与下降速度数据进行卡尔曼滤波与卡尔曼平滑处理,获得各目标姿态高度及其下降速度的最优估计;
步骤7)结合步骤3)得到的人体姿态检测结果,提取人体目标处于过渡姿态时姿态高度下降速度的最大值,与预设的阈值进行比较,结合过渡姿态时长,实现时间窗口内目标是否摔倒的判断。
2.根据权利要求1所述的一种基于深度图像序列的实时摔倒检测方法,其特征在于,所述步骤1)中,通过下述分类标准标记人体姿态类别:
正常姿态:上半身保持直立,人体与地面接触面仅为双足,重心高度变化保持稳定,人体处于站立、走动、坐的状态;
过渡姿态:人体重心处于下降阶段;
落地姿态:人体以躺、趴、坐式接触地面,与地面接触面不仅限于双足,重心高度变化保持稳定。
3.根据权利要求1所述的一种基于深度图像序列的实时摔倒检测方法,其特征在于,所述步骤2)具体为:
实时目标检测网络模型采用YOLOv4网络模型,输入为基于深度图像的摔倒检测数据集,输出为各帧图像中每个人体目标边界框的坐标信息以及该人体姿态属于各个类别的概率;
采用梯度下降法对实时目标检测网络模型进行迭代训练,直至收敛。
4.根据权利要求1所述的一种基于深度图像序列的实时摔倒检测方法,其特征在于,所述步骤3)具体为:
3-1)公开数据集的离线测试:
将公开数据集中已知长度的深度图序列输入实时目标检测网络模型,模型输出每个人体目标矩形框的定位信息以及对应人体姿态属于各个姿态类别的概率,选取概率最大的姿态类别作为对应矩形框内人体的姿态判决,用于后续时序分析;
3-2)实时在线测试:
将通过深度摄像头实时获取的深度图像序列输入实时目标检测网络模型,模型实时输出每个人体目标矩形框的定位信息和姿态判决,用于后续时序分析。
5.根据权利要求1所述的一种基于深度图像序列的实时摔倒检测方法,其特征在于,所述步骤4)具体为:
4.1)对于深度图像中每个人体矩形框,选取单像素宽度的水平采样线:
构建图像坐标系O-uv,水平采样线的方程为v=b,参数b的计算公式为:
b=top+(bot-top)*p%
其中,top为矩形框顶端水平直线的v轴参数,bot为矩形框底端水平直线的v轴参数,p%为水平采样线与顶端之间的距离占矩形框高度的比例;
4.2)应用区域生长算法,将水平采样线上的像素合并为若干个超像素:
顺序扫描水平采样线上的像素,计算当前像素的深度值与当前超像素深度均值之差的绝对值,当前超像素为当前像素的前一个像素归入的超像素;若绝对值小于给定阈值ε1则将当前像素添加到当前超像素;反之,则将当前像素归入新的超像素;
4.3)通过坐标反投影变换,计算各超像素深度均值对应的真实离地高度值,并加入姿态高度候选值集合;
其中,height为高度候选值;ave为当前超像素的深度值均值;u0、fx均为相机的内参,其物理意义分别为图像的中心像素坐标与图像坐标系O-uv的原点像素坐标之间相差的横向像素数、相机的横向焦距;H,θ均为相机的外参,其物理意义分别为相机在世界坐标系下的高度、相机的俯角;
4.4)应用区域生长算法,将相差在给定阈值ε2范围内的姿态高度候选值加权合并为新的候选值;
4.5)从步骤4.4)更新后的高度候选值中选取最大的高度候选值,作为当前矩形框内人体的姿态高度。
6.根据权利要求1所述的一种基于深度图像序列的实时摔倒检测方法,其特征在于,所述步骤5)具体为:
采用设定长度和步幅的滑动时间窗口对输入的深度图像序列进行分割,对每个时间窗口内的所有深度图像序列执行下述检测:
对深度图像序列中每一帧检测到的各个人体目标进行匹配跟踪,判断人体目标的姿态变换过程是否满足摔倒必要条件:若当前时间窗口内人体的姿态依次经历正常姿态-过渡姿态-落地姿态的变换过程,则满足摔倒的必要条件;反之,不满足摔倒的必要条件,判断人体目标在当前时间窗口内未发生摔倒事件。
7.根据权利要求1所述的一种基于深度图像序列的实时摔倒检测方法,其特征在于,所述步骤6)具体为:
6-1)对每个满足步骤5)摔倒条件的时间窗口,基于基本运动方程,计算状态转移方程:
z(t)=z(t-1)+vz(t-1)
vz(t)=vz(t-1)
其中,z(t),vz(t)分别为t时刻人体目标的姿态高度和下降速度,z(t-1),vz(t-1)分别为t-1时刻人体目标的姿态高度和下降速度;将下降过程视为匀速直线运动,从而得到状态转移矩阵A为:
根据下述卡尔曼滤波状态转移方程获得卡尔曼滤波系统状态信号:
Xk+1=AXk+Wk
其中,Xk+1,Xk分别为在已知当前时刻及之前时刻的各测量值的条件下,系统在k+1,k时刻的卡尔曼滤波系统状态信号;Wk为系统噪声,满足高斯分布;
其中,各测量值为姿态高度和下降速度;
6-2)基于步骤6-1)得到的卡尔曼滤波系统状态信号,在已知当前时间窗口内各测量值的条件下,应用卡尔曼平滑算法计算各时刻的卡尔曼平滑系统状态信号X′k;
6-3)根据下述测量方程获得各时刻下姿态高度及其下降速度的最优估计Yk:
Yk=CX′k+Vk
其中,Yk为在已知当前时刻及之前时刻的各测量值的条件下,系统在k时刻下的测量信号;C为观测矩阵,其值为二阶单位阵;X′k为经步骤6-2)处理的卡尔曼平滑系统状态信号;Vk为观测噪声,满足高斯分布。
8.根据权利要求1所述的一种基于深度图像序列的实时摔倒检测方法,其特征在于,所述步骤7)具体为:
对于每个满足摔倒条件的时间窗口,基于步骤3)获取人体目标处于过渡姿态时的持续时间toff;基于步骤6)获取当前时间窗口下每个时刻下降速度的最优估计,取最优估计的最大值作为姿态高度下降的最大速度voff;
将toff与设定的失平衡阶段持续时间阈值tth,voff与下降速度阈值vth1和vth2进行比较,判断当前时间窗口内各个人体目标的状态:
7-1)当满足voff<vth1,表示人体虽有类似摔倒的动作,但姿态高度下降速度足够小,判决为安全;
7-2)当满足vth1<voff<vth2且toff>tth,表示人体虽有类似摔倒的动作,且姿态高度下降速度较大,但失平衡阶段持续时间足够长,表明人体的过渡姿态处于可控状态,但仍存在危险性,判决为需留意;
7-3)当满足voff>vth2,或者vth1<voff<vth2且toff<tth,表明人体姿态高度的下降处于不可控状态,判决为摔倒。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210915988.9A CN115346272A (zh) | 2022-08-01 | 2022-08-01 | 基于深度图像序列的实时摔倒检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210915988.9A CN115346272A (zh) | 2022-08-01 | 2022-08-01 | 基于深度图像序列的实时摔倒检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115346272A true CN115346272A (zh) | 2022-11-15 |
Family
ID=83949376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210915988.9A Pending CN115346272A (zh) | 2022-08-01 | 2022-08-01 | 基于深度图像序列的实时摔倒检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115346272A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116091983A (zh) * | 2023-04-10 | 2023-05-09 | 四川弘和通讯集团有限公司 | 一种行为检测方法、装置、电子设备及存储介质 |
CN116311542A (zh) * | 2023-05-23 | 2023-06-23 | 广州英码信息科技有限公司 | 兼容拥挤场景和非拥挤场景的人体摔倒检测方法及系统 |
-
2022
- 2022-08-01 CN CN202210915988.9A patent/CN115346272A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116091983A (zh) * | 2023-04-10 | 2023-05-09 | 四川弘和通讯集团有限公司 | 一种行为检测方法、装置、电子设备及存储介质 |
CN116311542A (zh) * | 2023-05-23 | 2023-06-23 | 广州英码信息科技有限公司 | 兼容拥挤场景和非拥挤场景的人体摔倒检测方法及系统 |
CN116311542B (zh) * | 2023-05-23 | 2023-08-04 | 广州英码信息科技有限公司 | 兼容拥挤场景和非拥挤场景的人体摔倒检测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114514562B (zh) | 预测性个性化三维身体模型 | |
CN109815826B (zh) | 人脸属性模型的生成方法及装置 | |
CN109902565B (zh) | 多特征融合的人体行为识别方法 | |
CN106600626B (zh) | 三维人体运动捕获方法与系统 | |
CN115346272A (zh) | 基于深度图像序列的实时摔倒检测方法 | |
CN110738154A (zh) | 一种基于人体姿态估计的行人摔倒检测方法 | |
CN108171278B (zh) | 一种基于运动训练数据的运动模式识别方法和系统 | |
CN110490109B (zh) | 一种基于单目视觉的在线人体康复动作识别方法 | |
CN109902558A (zh) | 一种基于cnn-lstm的人体健康深度学习预测方法 | |
Ghadi et al. | Multiple events detection using context-intelligence features | |
Bu | Human motion gesture recognition algorithm in video based on convolutional neural features of training images | |
CN108537181A (zh) | 一种基于大间距深度度量学习的步态识别方法 | |
CN113111767A (zh) | 一种基于深度学习3d姿态评估的跌倒检测方法 | |
CN110477907B (zh) | 一种智能辅助识别痫性发作的建模方法 | |
CN114511931A (zh) | 基于视频图像的动作识别方法、装置、设备及存储介质 | |
Szankin et al. | Long distance vital signs monitoring with person identification for smart home solutions | |
CN115661856A (zh) | 一种基于Lite-HRNet的自定义康复训练监测与评估方法 | |
CN107967944A (zh) | 一种基于Hadoop的户外环境大数据人体健康监测方法与平台 | |
CN116311497A (zh) | 一种基于机器视觉的隧道工人异常行为检测方法及系统 | |
Liu et al. | Key algorithm for human motion recognition in virtual reality video sequences based on hidden markov model | |
CN113327269A (zh) | 一种无标记颈椎运动检测方法 | |
CN107967455A (zh) | 一种智能人体多维自然特征大数据透明学习方法与系统 | |
CN110765925A (zh) | 基于改进的孪生神经网络的携带物检测与步态识别方法 | |
CN115546491A (zh) | 一种跌倒报警方法、系统、电子设备及存储介质 | |
CN113255514B (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 |