一种基于边缘计算的跌倒检测方法及系统

文档序号:25307544发布日期:2021-06-04 14:50阅读:90来源:国知局
一种基于边缘计算的跌倒检测方法及系统

1.本发明涉及计算机视觉技术领域,尤其涉及一种基于边缘计算的跌倒检测方法及系统。


背景技术:

2.来自中国疾病监测系统的数据显示,跌倒已经成为我国65岁以上老年人因伤致死的首位原因,如果老年人跌倒后能够及时得到治疗,则可以降低80%的死亡风险和26%的长期住院治疗风险。目前,最常见的跌倒检测方法主要有3种:

基于环境设备的检测方法,根据人体跌倒时形成的环境噪声进行检测,这种方法通过感知物体压力和声音的变化检测跌倒,误报率较高,实际生活中很少采用。

基于穿戴式传感器的检测方法,利用加速度计和陀螺仪来进行跌倒检测,缺点是长时间配戴传感器影响人的生活舒适度,并且由于老年人记忆力不好,容易忘记佩戴,从事复杂活动时误报率较高。

基于视觉识别的检测方法可分为两类:一类是传统机器视觉方法利用摄像头捕获视频,然后通过帧差法、卡尔曼滤波、光流法等提取有效的跌倒特征,但易受背景、光线变化等环境因素的影响,鲁棒性差;另一类使用人工智能方法,利用rgb相机提供的二维图像信息或深度rgb

d相机提供三维数据用于卷积神经网络的训练及推理,人工智能算法虽然识别精度高、检测速度快,能够及时发现老人跌倒,但往往伴随着高昂的硬件成本,对硬件的计算力要求高,推理速度滞后,极大的限制了实际的落地应用。


技术实现要素:

3.本发明的目的在于克服现有技术的不足,本发明提供了一种基于边缘计算的跌倒检测方法及系统经过模型的轻量化优化显著提高跌倒检测速度,可以有效的消除图像中的姿态伪影对后续识别的影响,并且提高行人跌倒检测识别的精度,能够满足实时检测需求。
4.为了解决上述技术问题,本发明实施例提供了一种基于边缘计算的跌倒检测方法,所述方法包括:
5.将采集到的采集图像输入轻量化优化后的行人目标检测模型中进行行人目标检测,获得采集图像的行人目标;
6.对所述采集图像的行人目标进行行人图像序列化处理,获得序列化后的行人图像;
7.将所述序列化后的行人图像输入轻量化优化后的姿态检测模型中进行姿态检测,获得人体姿态图像信息;
8.基于人体姿态伪影消除法对所述人体姿态图像信息进行伪影消除处理,获得消除伪影后的人体姿态图像;
9.对所述消除伪影后的人体姿态图像进行跌倒检测处理,获得跌倒检测结果。
10.可选的,所述行人目标检测模型的轻量化优化过程包括:
11.输入行人目标检测模型,并对所述行人目标检测模型进行维度初始化处理,获得
维度初始化后的行人目标检测模型;
12.在维度初始化后的行人目标检测模型中创建onnx网络节点,并移除dummy网络层中的route和yolo节点;
13.对维度初始化后的行人目标检测模型中的输入层进行判别,若输入层为“convolutional”,则加载卷积权重参数,若输入层为“upsample”,则加载上采样参数;
14.创建维度初始化后的行人目标检测模型的计算图,并加载维度初始化后的行人目标检测模型的转换优化器,经过转换,获得轻量化优化后的行人目标检测模型。
15.可选的,所述将采集到的采集图像输入轻量化优化后的行人目标检测模型中进行行人目标检测,获得采集图像的行人目标,包括:
16.将采集到的所述采集图像输入所述轻量化优化后的行人目标检测模型中,并在所述轻量化优化后的行人目标检测模型中利用双重非极大值抑制法进行行人目标检测,获得行人目标检测框;
17.计算所述行人目标检测框与自行车检测框或摩托车检测框之间的关联关系,并基于关联关系剔除骑行人,获得采集图像的行人目标。
18.可选的,所述在所述轻量化优化后的行人目标检测模型中利用双重非极大值抑制法进行行人目标检测,获得行人目标检测框,包括:
19.设置第一重叠阈值t
nms
‑1,并基于第一重叠阈值t
nms
‑1在所述轻量化优化后的行人目标检测模型中进行第一次非极大值推理,获得第一次person预测框集合(i1,i2,

,i
n
),其中,i表示行第一次人目标检测框,n表示第一次检测到的行人个数;
20.基于所述第一次person预测框集合(i1,i2,

,i
n
)计算出第二重叠阈值t
nms
‑2,其中t
nms
‑2通过计算person预测框集合(i1,i2,

,i
n
)的平均iou获得;
21.基于第二重叠阈值t
nms
‑2对所述第一次person预测框集合(i1,i2,

,i
n
)进行第二次非极大值机制处理,获得第二次person预测框集合(d1,d2,

,d
m
),其中d表示第二次行人检测框,m表示第二次检测到的行人个数;
22.基于所述第二次person预测框集合(d1,d2,

,d
m
)获得行人目标检测框;
23.所述基于关联关系剔除骑行人,包括:
24.设置剔除骑行人阈值s
threshold
,根据所述剔除骑行人阈值s
threshold
和所述关联关系剔除骑行人;
25.根据所述剔除骑行人阈值s
threshold
和所述关联关系剔除骑行人,如下:
[0026][0027]
其中,s
person

area
表示行人目标检测框;s
bike

area
表示自行车检测框或摩托车检测框;s
threshold
表示剔除骑行人阈值。
[0028]
可选的,所述对所述采集图像的行人目标进行行人图像序列化处理,获得序列化后的行人图像,包括:
[0029]
将所述采集图像的行人目标转化为二维的tensor数据结构td;td=[[x1,y1,w1,h1,sc1],[x2,y2,w2,h2,sc2],

[x
i
,y
i
,w
i
,h
i
,sc
i
]],其中[x
i
,y
i
,w
i
,h
i
,sc
i
]]表示第i个行人目标的结构化数据,x表示预测框左上角的图像横坐标,y表示预测框左上角的图像纵坐标,w表示预测框的宽,h表示预测框的高,sc表示判定为行人的置信度;
[0030]
将采集图像i
m
变换为浮点型32位的tensor类型数据i
m_t
,且对i
m_t
进行归一化操作;
[0031]
根据tensor数据结构td和tensor类型数据i
m_t
在采集图像i
m
中截取行人区域图像,并按照行人的置信度从高至低排列,形成序列化后的行人图像。
[0032]
可选的,所述姿态检测模型的轻量化优化过程如下:
[0033]
输入姿态检测模型,将所述姿态检测模型输入dummy网络层进行维度初始化,所述dummy网络层输入维度设置为tensor类型(1,3,w
dummy
,h
dummy
),其中,1表示batchsize为1,3表示图像通道数,w
dummy
、h
dummy
表示网络层输入图像归一化尺度;
[0034]
为维度初始化的姿态检测模型中创建onnx网络节点,并对维度初始化的姿态检测模型的输入输出网络层定制设计,输入层设定为

input1’,输出层设定为

output1’;
[0035]
创建维度初始化的姿态检测模型的计算图,并加载所述维度初始化的姿态检测模型的转化优化器,经过转换,生成轻量化优化后的姿态检测模型;
[0036]
所述维度初始化的姿态检测模型的计算图输入维度为(1,3,w
d
,h
d
),其中1表示batchsize为1,3表示图像通道数,w
d
、h
d
表示网络层输入图像归一化尺度。
[0037]
可选的,所述基于人体姿态伪影消除法对所述人体姿态图像信息进行伪影消除处理,获得消除伪影后的人体姿态图像,包括:
[0038]
根据所述采集图像内的人体区域在摄像机有效视场内的分布特点,设定人体姿态矩阵框宽高比阈值t
r

[0039]
根据人体姿态图像信息统计在连续f帧的采集图像局部范围内出现人体姿态矩阵框的频次f
r
,若f
r
>γ,则记录该局部区域连续f帧检测到的人体姿态矩形框[r1,r2,...r
i
],γ为设定阈值,r
i
表示第i帧的姿态检测结果矩形框,i≤f;
[0040]
基于人体姿态矩形框构建人体姿态伪影消除法公式,进行伪影消除处理,获得消除伪影后的人体姿态图像;
[0041]
所述体姿态伪影消除法公式如下:
[0042][0043]
在所述人体姿态矩形框的集合满足上式时,则判定该区域检测的人体姿态图像信息为人体姿态伪影,将该区域内的人体姿态图像信息消除,其中,表示设定第一阈值;表示r的平均宽度;表示r的平均高度。
[0044]
可选的,所述对所述消除伪影后的人体姿态图像进行跌倒检测处理,获得跌倒检测结果,包括:
[0045]
基于消除伪影后的人体姿态图像进行第一跌倒特征计算,并基于第一跌倒特征初步判断行人是否跌倒;
[0046]
若是,则基于消除伪影后的人体姿态图像进行第二跌倒特征计算,并基于第二跌倒特征判断行人是否跌倒,获得跌倒检测结果。
[0047]
可选的,所述基于消除伪影后的人体姿态图像进行第一跌倒特征计算,并基于第
一跌倒特征初步判断行人是否跌倒,包括:
[0048]
计算所述消除伪影后的人体姿态图像中人体头部关节点的第一线速度、计算所述消除伪影后的人体姿态图像中人体胸部重心的第二线速度、所述消除伪影后的人体姿态图像中人体脚踝的第三线速度;其中,所述人体胸部重心位置由对应的关节点的图像坐标计算获得;
[0049]
当第一线速度、第二线速度及第三线速度满足第一预设条件时,则初步判定为行人跌倒;
[0050]
所述基于消除伪影后的人体姿态图像进行第二跌倒特征计算,并基于第二跌倒特征判断行人是否跌倒,获得跌倒检测结果,包括:
[0051]
计算所述消除伪影后的人体姿态图像中人体上半身中垂线与水平线的第一夹角,若人第一夹角小于第一预设夹角,且在第一时间阈值时长内保持第一夹角小于第一预设夹角,则判定为跌倒;否则,
[0052]
计算所述消除伪影后的人体姿态图像中人体下半身中垂线与水平线的第二夹角,若第二夹角小于第二预设夹角,且在第二时间阈值时长内保持第二夹角小于第二预设夹角,则判定为跌倒,否则判断行人未发生跌倒。
[0053]
另外,本发明实施例还提供了一种基于边缘计算的跌倒检测系统,所述系统包括:
[0054]
行人检测模块:用于将采集到的采集图像输入轻量化优化后的行人目标检测模型中进行行人目标检测,获得采集图像的行人目标;
[0055]
序列化处理模块:用于对所述采集图像的行人目标进行行人图像序列化处理,获得序列化后的行人图像;
[0056]
姿态检测模块:用于将所述序列化后的行人图像输入轻量化优化后的姿态检测模型中进行姿态检测,获得人体姿态图像信息;
[0057]
伪影消除模块:用于基于人体姿态伪影消除法对所述人体姿态图像信息进行伪影消除处理,获得消除伪影后的人体姿态图像;
[0058]
跌倒检测模块:用于对所述消除伪影后的人体姿态图像进行跌倒检测处理,获得跌倒检测结果。
[0059]
在本发明实施例中,优化设计了行人目标检测模型、人体姿态检测模型的推理流程,模型仅需要进行前向传播,避免了推理速度慢、延迟高的致命弱点,降低硬件设备的算力要求,系统能够方便部署在低成本的嵌入式开发板;对目标检测模型进行了目标检测预选框的优化、骑行人的剔除、行人数据结构化和行人图像序列化的优化设计,提高了行人检测的准确度,加快了行人目标检测模型与人体姿态检测模型之间数据交互速度;据行人在摄像机视场内的图像分布特点,设计了连续多帧图像人体姿态数据对比分析的方法,消除视场内跳变的、超出正常尺寸范围的人体姿态伪影;设计了早期动态的第一跌倒特征和后续静态的第二跌倒特征结合的方式,利用人体姿态关节点数据,用简洁的数学公式,描述人体跌倒情况,提高识别精度。
附图说明
[0060]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本
发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0061]
图1是本发明实施例中的基于边缘计算的跌倒检测方法的流程示意图;
[0062]
图2是本发明实施例中的基于边缘计算的跌倒检测系统的结构组成示意图;
[0063]
图3是本发明实施例中的人体关节点的示意图。
具体实施方式
[0064]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0065]
实施例
[0066]
请参阅图1,图1是本发明实施例中的基于边缘计算的跌倒检测方法的流程示意图。
[0067]
如图1所示,一种基于边缘计算的跌倒检测方法,所述方法包括:
[0068]
s11:将采集到的采集图像输入轻量化优化后的行人目标检测模型中进行行人目标检测,获得采集图像的行人目标;
[0069]
在本发明具体实施过程中,所述行人目标检测模型的轻量化优化过程包括:输入行人目标检测模型,并对所述行人目标检测模型进行维度初始化处理,获得维度初始化后的行人目标检测模型;为维度初始化后的行人目标检测模型中创建onnx网络节点,并移除dummy网络层中的route和yolo节点;对维度初始化后的行人目标检测模型中的输入层进行判别,若输入层为“convolutional”,则加载卷积权重参数,若输入层为“upsample”,则加载上采样参数;创建维度初始化后的行人目标检测模型的计算图,并加载维度初始化后的行人目标检测模型的转换优化器,经过转换,获得轻量化优化后的行人目标检测模型。
[0070]
进一步的,所述将采集到的采集图像输入轻量化优化后的行人目标检测模型中进行行人目标检测,获得采集图像的行人目标,包括:将采集到的所述采集图像输入所述轻量化优化后的行人目标检测模型中,并在所述轻量化优化后的行人目标检测模型中利用双重非极大值抑制法进行行人目标检测,获得行人目标检测框;计算所述行人目标检测框与自行车检测框或摩托车检测框之间的关联关系,并基于关联关系剔除骑行人,获得采集图像的行人目标。
[0071]
进一步的,所述在所述轻量化优化后的行人目标检测模型中利用双重非极大值抑制法进行行人目标检测,获得行人目标检测框,包括:设置第一重叠阈值t
nms
‑1,并基于第一重叠阈值t
nms
‑1在所述轻量化优化后的行人目标检测模型中进行第一次非极大值推理,获得第一次person预测框集合(i1,i2,

,i
n
),其中,i表示行第一次人目标检测框,n表示第一次检测到的行人个数;基于所述第一次person预测框集合(i1,i2,

,i
n
)计算出第二重叠阈值t
nms
‑2;其中t
nms
‑2通过计算person预测框集合(i1,i2,

,i
n
)的平均iou获得;基于第二重叠阈值t
nms
‑2对所述第一次person预测框集合(i1,i2,

,i
n
)进行第二次非极大值机制处理,获得第二次person预测框集合(d1,d2,

,d
m
),其中d表示第二次行人检测框,m表示第二次检测到的行人个数;基于所述第二次person预测框集合(d1,d2,

,d
m
)获得行人目标检测框;
[0072]
所述基于关联关系剔除骑行人,包括:设置剔除骑行人阈值s
threshold
,根据所述剔除骑行人阈值s
threshold
和所述关联关系剔除骑行人;根据所述剔除骑行人阈值s
threshold
和所述关联关系剔除骑行人,如下:
[0073][0074]
其中,s
person

area
表示行人目标检测框;s
bike

area
表示自行车检测框或摩托车检测框;s
threshold
表示剔除骑行人阈值。
[0075]
具体的,在本实施例中,所输入的行人目标检测模型可以为yolov4

tiny网络模型;因此,对yolov4

tiny网络模型的输出维度初始化,其中网络层'030_convolutional'=[c,h//32,w//32],'037_convolutional'=[c,h//16,w//16],其中c表示输入图像通道数,h表示输入图像,w表示输入图像宽,//表示整除操作;这里以yolov4

tiny网络模型为例说明,但并不局限于yolov4

tiny网络模型,当为yolov4其他模型时修改相应的网络层输出维度即可。创建优化模型的onnx网络节点,并移除dummy网络层中的route和yolo节点;输入层判别,如果输入层为

convolutional’,则加载卷积权重参数,如果是

upsample’,加载上采样参数;创建目标检测模型计算图,加载模型转换优化器,生成yolov4

tiny

trt优化模型。
[0076]
在得到轻量化优化后的行人目标检测模型后,将采集到的采集图像输入轻量化优化后的行人目标检测模型中进行行人目标检测,从而得到采集图像的行人目标。
[0077]
利用生成的yolov4

tiny

trt优化模型检测行人目标;需要设计双重非极大值抑制方法优化行人检测,提高行人目标检测精度;(1)设置第一重叠率阈值t
nms
‑1,经过行人检测模型推理,得到第一次person预测框集合(i1,i2,

,i
n
),其中i表示行人检测框,n为检测到的行人个数;用集合(i1,i2,

,i
n
)计算出第二重叠率阈值t
nms
‑2,其中t
nms
‑2通过计算person预测框集合(i1,i2,

,i
n
)的平均iou获得;对集合i1,i2,

,i
n
进行第二次非极大值机制,得到第二次person预测框集合(d1,d2,

,d
m
),其中d表示行人检测框,m为检测到的行人个数。
[0078]
骑行人的剔除,使跌倒检测系统专注于行人跌倒事件的检测;设置剔除骑行人阈值s
threshold
,根据所述剔除骑行人阈值s
threshold
和所述关联关系剔除骑行人;根据所述剔除骑行人阈值s
threshold
和所述关联关系剔除骑行人,如下:
[0079][0080]
其中,s
person

area
表示行人目标检测框;s
bike

area
表示自行车检测框或摩托车检测框;s
threshold
表示剔除骑行人阈值。
[0081]
s12:对所述采集图像的行人目标进行行人图像序列化处理,获得序列化后的行人图像;
[0082]
在本发明具体实施过程中,所述对所述采集图像的行人目标进行行人图像序列化处理,获得序列化后的行人图像,包括:将所述采集图像的行人目标转化为二维的tensor数据结构td;td=[[x1,y1,w1,h1,sc1],[x2,y2,w2,h2,sc2],

[x
i
,y
i
,w
i
,h
i
,sc
i
]],其中[x
i
,y
i
,w
i
,h
i
,sc
i
]]表示第i个行人目标的结构化数据,x表示预测框左上角的图像横坐标,y表示预测框左上角的图像纵坐标,w表示预测框的宽,h表示预测框的高,sc表示判定为行人的置信度;将采集图像i
m
变换为浮点型32位的tensor类型数据i
m_t
,且对i
m_t
进行归一化操作;根据
tensor数据结构td和tensor类型数据i
m_t
在采集图像i
m
中截取行人区域图像,并按照行人的置信度从高至低排列,形成序列化后的行人图像。
[0083]
具体的,行人图像序列化,是为了提高目标检测模型与人体姿态检测模型之间的数据交互效率;在得到采集图像的行人目标之后将采集图像的行人目标转化为2维的tensor数据结构td;td=[[x1,y1,w1,h1,sc1],[x2,y2,w2,h2,sc2],

[x
i
,y
i
,w
i
,h
i
,sc
i
]],其中[x
i
,y
i
,w
i
,h
i
,sc
i
]]表示第i个行人目标的结构化数据,x表示预测框左上角的图像横坐标,y表示预测框左上角的图像纵坐标,w表示预测框的宽,h表示预测框的高,sc表示判定为行人的置信度;将采集图像i
m
变换为浮点型32位的tensor类型数据i
m_t
,且对i
m_t
进行归一化操作,具体如下:
[0084][0085]
根据tensor数据结构td和tensor类型数据i
m_t
在采集图像i
m
中截取行人区域图像,并按照行人的置信度从高至低排列,形成序列化后的行人图像。
[0086]
s13:将所述序列化后的行人图像输入轻量化优化后的姿态检测模型中进行姿态检测,获得人体姿态图像信息;
[0087]
在本发明具体实施过程中,所述姿态检测模型的轻量化优化过程如下:输入姿态检测模型,将所述姿态检测模型输入dummy网络层进行维度初始化,所述dummy网络层输入维度设置为tensor类型(1,3,w
dummy
,h
dummy
),其中,1表示batchsize为1,3表示图像通道数,w
dummy
、h
dummy
表示网络层输入图像归一化尺度;在维度初始化的姿态检测模型中创建onnx网络节点,并对输入输出网络层定制,输入层设定为

input1’,输出层设定为

output1’;创建维度初始化的姿态检测模型的计算图,并加载所述维度初始化的姿态检测模型的转化优化器,经过转换,生成轻量化优化后的姿态检测模型;所述维度初始化的姿态检测模型的计算图输入维度为(1,3,w
d
,h
d
),其中1表示batchsize为1,3表示图像通道数,w
d
、h
d
表示网络层输入图像归一化尺度。
[0088]
具体的,输入姿态检测模型,将姿态检测模型输入dummy网络层维度初始化,dummy网络层输入维度设置为tensor类型(1,3,w
dummy
,h
dummy
),其中1表示batchsize为1,3表示图像通道数,w
dummy
、h
dummy
表示网络层输入图像归一化尺度。创建优化模型的onnx网络节点,输入输出网络层定制,输入层设定为

input1’,输出层设定为

output1’;创建目标检测模型计算图,设定计算图输入维度为(1,3,w
d
,h
d
),其中1表示batchsize为1,3表示图像通道数,w
d
、h
d
表示网络层输入图像归一化尺度,并加载模型转换优化器,生成姿态检测优化模型。
[0089]
然后将序列化后的行人图像输入轻量化优化后的姿态检测模型中进行姿态检测,从而获得人体姿态图像信息。
[0090]
s14:基于人体姿态伪影消除法对所述人体姿态图像信息进行伪影消除处理,获得消除伪影后的人体姿态图像;
[0091]
在本发明具体实施过程中,所述基于人体姿态伪影消除法对所述人体姿态图像信息进行伪影消除处理,获得消除伪影后的人体姿态图像,包括:根据所述采集图像内的人体区域在摄像机有效视场内的分布特点,设定人体姿态矩阵框宽高比阈值t
r
;根据人体姿态图像信息统计在连续f帧的采集图像局部范围内出现人体姿态矩阵框的频次f
r
,若f
r
>γ,则
记录该局部区域连续f帧检测到的人体姿态矩形框[r1,r2,...r
i
],γ为设定阈值,r
i
表示第i帧的姿态检测结果矩形框,i≤f;基于人体姿态矩形框构建人体姿态伪影消除法公式,进行伪影消除处理,获得消除伪影后的人体姿态图像;所述体姿态伪影消除法公式如下:
[0092][0093]
在所述人体姿态矩形框的集合满足上式时,则判定该区域检测的人体姿态图像信息为人体姿态伪影,将该区域内的人体姿态图像信息消除,其中,表示设定第一阈值;表示r的平均宽度;表示r的平均高度。
[0094]
具体的,人体姿态伪影消除方法,删除跳变的、超出正常尺寸范围的人体姿态检测结果;根据人体区域在摄像机有效视场内的分布特点,设定人体姿态矩形框宽高比阈值t
r
;统计连续f帧图像局部范围出现人体姿态矩形框的频次f
r
,若f
r
>γ,则记录该局部区域连续f帧检测到的人体姿态矩形框[r1,r2,...r
i
],γ为设定阈值,其中r
i
表示第i帧的姿态检测结果矩形框,i≤f。人体姿态伪影消除方法公式,
[0095][0096]
在人体姿态矩形框的集合满足上式时,则判定该区域检测的人体姿态图像信息为人体姿态伪影,将该区域内的人体姿态图像信息消除,其中,表示设定第一阈值;表示r的平均宽度;表示r的平均高度。
[0097]
s15:对所述消除伪影后的人体姿态图像进行跌倒检测处理,获得跌倒检测结果。
[0098]
在本发明具体实施过程中,所述对所述消除伪影后的人体姿态图像进行跌倒检测处理,获得跌倒检测结果,包括:基于消除伪影后的人体姿态图像进行第一跌倒特征计算,并基于第一跌倒特征初步判断行人是否跌倒;若是,则基于消除伪影后的人体姿态图像进行第二跌倒特征计算,并基于第二跌倒特征判断行人是否跌倒,获得跌倒检测结果。
[0099]
进一步的,所述基于消除伪影后的人体姿态图像进行第一跌倒特征计算,并基于第一跌倒特征初步判断行人是否跌倒,包括:计算所述消除伪影后的人体姿态图像中人体头部关节点的第一线速度、计算所述消除伪影后的人体姿态图像中人体胸部重心的第二线速度、所述消除伪影后的人体姿态图像中人体脚踝的第三线速度;其中,所述人体胸部重心位置由对应的关节点的图像坐标计算获得;当第一线速度、第二线速度及第三线速度满足第一预设条件时,则初步判定为行人跌倒;所述基于消除伪影后的人体姿态图像进行第二跌倒特征计算,并基于第二跌倒特征判断行人是否跌倒,获得跌倒检测结果,包括:计算所述消除伪影后的人体姿态图像中人体上半身中垂线与水平线的第一夹角,若人第一夹角小于第一预设夹角,且在第一时间阈值时长内保持第一夹角小于第一预设夹角,则判定为跌
倒;否则,计算所述消除伪影后的人体姿态图像中人体下半身中垂线与水平线的第二夹角,若第二夹角小于第二预设夹角,且在第二时间阈值时长内保持第二夹角小于第二预设夹角,则判定为跌倒,否则判断行人未发生跌倒。
[0100]
具体的,请参阅图3,计算人体头部关节点0的线速度v0。计算人体胸部重心o的线速度v
o
,人体胸部重心位置由人体关节点1、8、11图像坐标计算得出。计算人体脚踝线速度v
10

13
,v
10

13
是人体关节点11和13的平均线速度。且以上线速度是由连续m帧图像,每次间隔n帧图像所计算出的平均线速度。如果v0、v
o
、v
10

13
满足一下公式,则初步判定为疑似跌倒,其中χ为设定阈值,α,β分别是速度v
10

13
的下限、上限值;
[0101][0102]
即,人在跌倒初期的某个过程,一般是脚踝位置的位移不明显,人体躯干围绕脚踝向某一方向跌倒,类似人体躯干以脚踝为圆心转动,那么离圆心远的点线速度越大。
[0103]
在计算第二跌倒特征时,(1)计算人体上半身中垂线与水平线夹角θ
u
,如果θ
u
<ε1,且在时间阈值t1时长内保持,则判定为跌倒,否则到(2);(2)计算人体下半身中垂线与水平线夹角θ
d
,如果θ
d
<ε2,且在时间阈值t2时长内保持θ
d
<ε2,则判定为跌倒,否则到行人未发生跌倒。人在跌倒以后,一般会保持某一跌倒状态一段时间后,才开始发生姿态变化,比如手撑地、坐起、躬身弯腰爬起等,因此需要时间阈值的过滤。根据人体站立平衡的特点,当人体上半身中垂线与水平线夹角满足某一条件时人体就会失去平衡,发生跌倒,但并不一定满足,例如弯腰捡东西、系鞋带等动作,因此结合条件(2),检测下半身中垂线与水平线夹角的变化,同样加上时间阈值的过滤,判定人体跌倒情况。
[0104]
在本发明实施例中,优化设计了行人目标检测模型、人体姿态检测模型的推理流程,模型仅需要进行前向传播,避免了推理速度慢、延迟高的致命弱点,降低硬件设备的算力要求,系统能够方便部署在低成本的嵌入式开发板;对目标检测模型进行了目标检测预选框的优化、骑行人的剔除、行人数据结构化和行人图像序列化的优化设计,提高了行人检测的准确度,加快了行人目标检测模型与人体姿态检测模型之间数据交互速度;据行人在摄像机视场内的图像分布特点,设计了连续多帧图像人体姿态数据对比分析的方法,消除视场内跳变的、超出正常尺寸范围的人体姿态伪影;设计了早期动态的第一跌倒特征和后续静态的第二跌倒特征结合的方式,利用人体姿态关节点数据,用简洁的数学公式,描述人体跌倒情况,提高识别精度。
[0105]
实施例
[0106]
请参阅图2,图2是本发明实施例中的基于边缘计算的跌倒检测系统的结构组成示意图。
[0107]
如图2所示,一种基于边缘计算的跌倒检测系统,所述系统包括:
[0108]
行人检测模块21:用于将采集到的采集图像输入轻量化优化后的行人目标检测模型中进行行人目标检测,获得采集图像的行人目标;
[0109]
在本发明具体实施过程中,所述行人目标检测模型的轻量化优化过程包括:输入行人目标检测模型,并对所述行人目标检测模型进行维度初始化处理,获得维度初始化后的行人目标检测模型;为维度初始化后的行人目标检测模型中创建onnx网络节点,并移除
dummy网络层中的route和yolo节点;对维度初始化后的行人目标检测模型中的输入层进行判别,若输入层为“convolutional”,则加载卷积权重参数,若输入层为“upsample”,则加载上采样参数;创建维度初始化后的行人目标检测模型的计算图,并加载维度初始化后的行人目标检测模型的转换优化器,经过转换,获得轻量化优化后的行人目标检测模型。
[0110]
进一步的,所述将采集到的采集图像输入轻量化优化后的行人目标检测模型中进行行人目标检测,获得采集图像的行人目标,包括:将采集到的所述采集图像输入所述轻量化优化后的行人目标检测模型中,并在所述轻量化优化后的行人目标检测模型中利用双重非极大值抑制法进行行人目标检测,获得行人目标检测框;计算所述行人目标检测框与自行车检测框或摩托车检测框之间的关联关系,并基于关联关系剔除骑行人,获得采集图像的行人目标。
[0111]
进一步的,所述在所述轻量化优化后的行人目标检测模型中利用双重非极大值抑制法进行行人目标检测,获得行人目标检测框,包括:设置第一重叠阈值t
nms
‑1,并基于第一重叠阈值t
nms
‑1在所述轻量化优化后的行人目标检测模型中进行第一次非极大值推理,获得第一次person预测框集合(i1,i2,

,i
n
),其中,i表示行第一次人目标检测框,n表示第一次检测到的行人个数;基于所述第一次person预测框集合(i1,i2,

,i
n
)计算出第二重叠阈值t
nms
‑2;其中t
nms
‑2通过计算person预测框集合(i1,i2,

,i
n
)的平均iou获得;基于第二重叠阈值t
nms
‑2对所述第一次person预测框集合(i1,i2,

,i
n
)进行第二次非极大值机制处理,获得第二次person预测框集合(d1,d2,

,d
m
),其中d表示第二次行人检测框,m表示第二次检测到的行人个数;基于所述第二次person预测框集合(d1,d2,

,d
m
)获得行人目标检测框;
[0112]
所述基于关联关系剔除骑行人,包括:设置剔除骑行人阈值s
threshold
,根据所述剔除骑行人阈值s
threshold
和所述关联关系剔除骑行人;根据所述剔除骑行人阈值s
threshold
和所述关联关系剔除骑行人,如下:
[0113][0114]
其中,s
person

area
表示行人目标检测框;s
bike

area
表示自行车检测框或摩托车检测框;s
threshold
表示剔除骑行人阈值。
[0115]
具体的,在本实施例中,所输入的行人目标检测模型可以为yolov4

tiny网络模型;因此,对yolov4

tiny网络模型的输出维度初始化,其中网络层'030_convolutional'=[c,h//32,w//32],'037_convolutional'=[c,h//16,w//16],其中c表示输入图像通道数,h表示输入图像,w表示输入图像宽,//表示整除操作;这里以yolov4

tiny网络模型为例说明,但并不局限于yolov4

tiny网络模型,当为yolov4其他模型时修改相应的网络层输出维度即可。创建优化模型的onnx网络节点,并移除dummy网络层中的route和yolo节点;输入层判别,如果输入层为

convolutional’,则加载卷积权重参数,如果是

upsample’,加载上采样参数;创建目标检测模型计算图,加载模型转换优化器,生成yolov4

tiny

trt优化模型。
[0116]
在得到轻量化优化后的行人目标检测模型后,将采集到的采集图像输入轻量化优化后的行人目标检测模型中进行行人目标检测,从而得到采集图像的行人目标。
[0117]
利用生成的yolov4

tiny

trt优化模型检测行人目标;需要设计双重非极大值抑制方法优化行人检测,提高行人目标检测精度;(1)设置第一重叠率阈值t
nms
‑1,经过行人检测模型推理,得到第一次person预测框集合(i1,i2,

,i
n
),其中i表示行人检测框,n为检测
到的行人个数;用集合(i1,i2,

,i
n
)计算出第二重叠率阈值t
nms
‑2,其中t
nms
‑2通过计算person预测框集合(i1,i2,

,i
n
)的平均iou获得;对集合i1,i2,

,i
n
进行第二次非极大值机制,得到第二次person预测框集合(d1,d2,

,d
m
),其中d表示行人检测框,m为检测到的行人个数。
[0118]
骑行人的剔除,使跌倒检测系统专注于行人跌倒事件的检测;设置剔除骑行人阈值s
threshold
,根据所述剔除骑行人阈值s
threshold
和所述关联关系剔除骑行人;根据所述剔除骑行人阈值s
threshold
和所述关联关系剔除骑行人,如下:
[0119][0120]
其中,s
person

area
表示行人目标检测框;s
bike

area
表示自行车检测框或摩托车检测框;s
threshold
表示剔除骑行人阈值。
[0121]
序列化处理模块22:用于对所述采集图像的行人目标进行行人图像序列化处理,获得序列化后的行人图像;
[0122]
在本发明具体实施过程中,所述对所述采集图像的行人目标进行行人图像序列化处理,获得序列化后的行人图像,包括:将所述采集图像的行人目标转化为二维的tensor数据结构td;td=[[x1,y1,w1,h1,sc1],[x2,y2,w2,h2,sc2],

[x
i
,y
i
,w
i
,h
i
,sc
i
]],其中[x
i
,y
i
,w
i
,h
i
,sc
i
]]表示第i个行人目标的结构化数据,x表示预测框左上角的图像横坐标,y表示预测框左上角的图像纵坐标,w表示预测框的宽,h表示预测框的高,sc表示判定为行人的置信度;将采集图像i
m
变换为浮点型32位的tensor类型数据i
m_t
,且对i
m_t
进行归一化操作;根据tensor数据结构td和tensor类型数据i
m_t
在采集图像i
m
中截取行人区域图像,并按照行人的置信度从高至低排列,形成序列化后的行人图像。
[0123]
具体的,行人图像序列化,是为了提高目标检测模型与人体姿态检测模型之间的数据交互效率;在得到采集图像的行人目标之后将采集图像的行人目标转化为2维的tensor数据结构td;td=[[x1,y1,w1,h1,sc1],[x2,y2,w2,h2,sc2],

[x
i
,y
i
,w
i
,h
i
,sc
i
]],其中[x
i
,y
i
,w
i
,h
i
,sc
i
]]表示第i个行人目标的结构化数据,x表示预测框左上角的图像横坐标,y表示预测框左上角的图像纵坐标,w表示预测框的宽,h表示预测框的高,sc表示判定为行人的置信度;将采集图像i
m
变换为浮点型32位的tensor类型数据i
m_t
,且对i
m_t
进行归一化操作,具体如下:
[0124][0125]
根据tensor数据结构td和tensor类型数据i
m_t
在采集图像i
m
中截取行人区域图像,并按照行人的置信度从高至低排列,形成序列化后的行人图像。
[0126]
姿态检测模块23:用于将所述序列化后的行人图像输入轻量化优化后的姿态检测模型中进行姿态检测,获得人体姿态图像信息;
[0127]
在本发明具体实施过程中,所述姿态检测模型的轻量化优化过程如下:输入姿态检测模型,将所述姿态检测模型输入dummy网络层进行维度初始化,所述dummy网络层输入维度设置为tensor类型(1,3,w
dummy
,h
dummy
),其中,1表示batchsize为1,3表示图像通道数,w
dummy
、h
dummy
表示网络层输入图像归一化尺度;在维度初始化的姿态检测模型中创建onnx网
络节点,并对输入输出网络层定制,输入层设定为

input1’,输出层设定为

output1’;创建维度初始化的姿态检测模型的计算图,并加载所述维度初始化的姿态检测模型的转化优化器,经过转换,生成轻量化优化后的姿态检测模型;所述维度初始化的姿态检测模型的计算图输入维度为(1,3,w
d
,h
d
),其中1表示batchsize为1,3表示图像通道数,w
d
、h
d
表示网络层输入图像归一化尺度。
[0128]
具体的,输入姿态检测模型,将姿态检测模型输入dummy网络层维度初始化,dummy网络层输入维度设置为tensor类型(1,3,w
dummy
,h
dummy
),其中1表示batchsize为1,3表示图像通道数,w
dummy
、h
dummy
表示网络层输入图像归一化尺度。创建优化模型的onnx网络节点,输入输出网络层定制,输入层设定为

input1’,输出层设定为

output1’;创建目标检测模型计算图,设定计算图输入维度为(1,3,w
d
,h
d
),其中1表示batchsize为1,3表示图像通道数,w
d
、h
d
表示网络层输入图像归一化尺度,并加载模型转换优化器,生成姿态检测优化模型。
[0129]
然后将序列化后的行人图像输入轻量化优化后的姿态检测模型中进行姿态检测,从而获得人体姿态图像信息。
[0130]
伪影消除模块24:用于基于人体姿态伪影消除法对所述人体姿态图像信息进行伪影消除处理,获得消除伪影后的人体姿态图像;
[0131]
在本发明具体实施过程中,所述基于人体姿态伪影消除法对所述人体姿态图像信息进行伪影消除处理,获得消除伪影后的人体姿态图像,包括:根据所述采集图像内的人体区域在摄像机有效视场内的分布特点,设定人体姿态矩阵框宽高比阈值t
r
;根据人体姿态图像信息统计在连续f帧的采集图像局部范围内出现人体姿态矩阵框的频次f
r
,若f
r
>γ,则记录该局部区域连续f帧检测到的人体姿态矩形框[r1,r2,...r
i
],γ为设定阈值,r
i
表示第i帧的姿态检测结果矩形框,i≤f;基于人体姿态矩形框构建人体姿态伪影消除法公式,进行伪影消除处理,获得消除伪影后的人体姿态图像;所述体姿态伪影消除法公式如下:
[0132][0133]
在所述人体姿态矩形框的集合满足上式时,则判定该区域检测的人体姿态图像信息为人体姿态伪影,将该区域内的人体姿态图像信息消除,其中,表示设定第一阈值;表示r的平均宽度;表示r的平均高度。
[0134]
具体的,人体姿态伪影消除方法,删除跳变的、超出正常尺寸范围的人体姿态检测结果;根据人体区域在摄像机有效视场内的分布特点,设定人体姿态矩形框宽高比阈值t
r
;统计连续f帧图像局部范围出现人体姿态矩形框的频次f
r
,若f
r
>γ,则记录该局部区域连续f帧检测到的人体姿态矩形框[r1,r2,...r
i
],γ为设定阈值,其中r
i
表示第i帧的姿态检测结果矩形框,i≤f。人体姿态伪影消除方法公式,
[0135][0136]
在人体姿态矩形框的集合满足上式时,则判定该区域检测的人体姿态图像信息为人体姿态伪影,将该区域内的人体姿态图像信息消除,其中,表示设定第一阈值;表示r的平均宽度;表示r的平均高度。
[0137]
跌倒检测模块25:用于对所述消除伪影后的人体姿态图像进行跌倒检测处理,获得跌倒检测结果。
[0138]
在本发明具体实施过程中,所述对所述消除伪影后的人体姿态图像进行跌倒检测处理,获得跌倒检测结果,包括:基于消除伪影后的人体姿态图像进行第一跌倒特征计算,并基于第一跌倒特征初步判断行人是否跌倒;若是,则基于消除伪影后的人体姿态图像进行第二跌倒特征计算,并基于第二跌倒特征判断行人是否跌倒,获得跌倒检测结果。
[0139]
进一步的,所述基于消除伪影后的人体姿态图像进行第一跌倒特征计算,并基于第一跌倒特征初步判断行人是否跌倒,包括:计算所述消除伪影后的人体姿态图像中人体头部关节点的第一线速度、计算所述消除伪影后的人体姿态图像中人体胸部重心的第二线速度、所述消除伪影后的人体姿态图像中人体脚踝的第三线速度;其中,所述人体胸部重心位置由对应的关节点的图像坐标计算获得;当第一线速度、第二线速度及第三线速度满足第一预设条件时,则初步判定为行人跌倒;所述基于消除伪影后的人体姿态图像进行第二跌倒特征计算,并基于第二跌倒特征判断行人是否跌倒,获得跌倒检测结果,包括:计算所述消除伪影后的人体姿态图像中人体上半身中垂线与水平线的第一夹角,若人第一夹角小于第一预设夹角,且在第一时间阈值时长内保持第一夹角小于第一预设夹角,则判定为跌倒;否则,计算所述消除伪影后的人体姿态图像中人体下半身中垂线与水平线的第二夹角,若第二夹角小于第二预设夹角,且在第二时间阈值时长内保持第二夹角小于第二预设夹角,则判定为跌倒,否则判断行人未发生跌倒。
[0140]
具体的,请参阅图3,计算人体头部关节点0的线速度v0。计算人体胸部重心o的线速度v
o
,人体胸部重心位置由人体关节点1、8、11图像坐标计算得出。计算人体脚踝线速度v
10

13
,v
10

13
是人体关节点11和13的平均线速度。且以上线速度是由连续m帧图像,每次间隔n帧图像所计算出的平均线速度。如果v0、v
o
、v
10

13
满足一下公式,则初步判定为疑似跌倒,其中χ为设定阈值,α,β分别是速度v
10

13
的下限、上限值;
[0141][0142]
即,人在跌倒初期的某个过程,一般是脚踝位置的位移不明显,人体躯干围绕脚踝向某一方向跌倒,类似人体躯干以脚踝为圆心转动,那么离圆心远的点线速度越大。
[0143]
在计算第二跌倒特征时,(1)计算人体上半身中垂线与水平线夹角θ
u
,如果θ
u
<ε1,且在时间阈值t1时长内保持,则判定为跌倒,否则到(2);(2)计算人体下半身中垂线与水平
线夹角θ
d
,如果θ
d
<ε2,且在时间阈值t2时长内保持θ
d
<ε2,则判定为跌倒,否则到行人未发生跌倒。人在跌倒以后,一般会保持某一跌倒状态一段时间后,才开始发生姿态变化,比如手撑地、坐起、躬身弯腰爬起等,因此需要时间阈值的过滤。根据人体站立平衡的特点,当人体上半身中垂线与水平线夹角满足某一条件时人体就会失去平衡,发生跌倒,但并不一定满足,例如弯腰捡东西、系鞋带等动作,因此结合条件(2),检测下半身中垂线与水平线夹角的变化,同样加上时间阈值的过滤,判定人体跌倒情况。
[0144]
在本发明实施例中,优化设计了行人目标检测模型、人体姿态检测模型的推理流程,模型仅需要进行前向传播,避免了推理速度慢、延迟高的致命弱点,降低硬件设备的算力要求,系统能够方便部署在低成本的嵌入式开发板;对目标检测模型进行了目标检测预选框的优化、骑行人的剔除、行人数据结构化和行人图像序列化的优化设计,提高了行人检测的准确度,加快了行人目标检测模型与人体姿态检测模型之间数据交互速度;据行人在摄像机视场内的图像分布特点,设计了连续多帧图像人体姿态数据对比分析的方法,消除视场内跳变的、超出正常尺寸范围的人体姿态伪影;设计了早期动态的第一跌倒特征和后续静态的第二跌倒特征结合的方式,利用人体姿态关节点数据,用简洁的数学公式,描述人体跌倒情况,提高识别精度。
[0145]
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,read only memory)、随机存取存储器(ram,random access memory)、磁盘或光盘等。
[0146]
另外,以上对本发明实施例所提供的一种基于边缘计算的跌倒检测方法及系统进行了详细介绍,本文中应采用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1