CN115546904B - 基于目标检测时序跟踪并识别人员摔倒后的危险性的方法 - Google Patents
基于目标检测时序跟踪并识别人员摔倒后的危险性的方法 Download PDFInfo
- Publication number
- CN115546904B CN115546904B CN202211553077.2A CN202211553077A CN115546904B CN 115546904 B CN115546904 B CN 115546904B CN 202211553077 A CN202211553077 A CN 202211553077A CN 115546904 B CN115546904 B CN 115546904B
- Authority
- CN
- China
- Prior art keywords
- falling
- target
- frame
- target object
- person
- 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
- G06V40/23—Recognition of whole body movements, e.g. for sport training
-
- 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/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于目标检测时序跟踪并识别人员摔倒后的危险性的方法,步骤为:S1:首先生成原始图像数据集,并对原始图像数据集进行数据增强,获得增强数据集;S2:采用增强数据集训练目标检测模型获得摔倒检测模型,采用摔倒检测模型检测选定区域内是否有人摔倒,若有,则转至步骤S3;若无,则返回步骤S1;S3:判断并分析该摔倒的人员摔倒后的状态,根据分析的结果状态输出相应的危险性等级的告警信息。该基于目标检测时序跟踪并识别人员摔倒后的危险性的方法,显著地提高了告警信息的准确性和效率,减少摔倒的误报。
Description
技术领域
本发明属于人工智能技术领域,尤其涉及一种基于目标检测时序跟踪并识别人员摔倒后的危险性的方法。
背景技术
根据调研发现,现有的人员摔倒检测,大多数侧重点都是以如何准确检测到人员摔倒的技术方法,如优化检测模型的结构或提出新的检测模型等。很少有针对摔倒后倒地人员状态分析的技术方法,同时为了减少误报,提高告警效率,如人员摔倒后,没有受伤,而是很快就站起来正常走出监控范围,但算法却产生告警的情况,且生活中此种情况多为常见,算法的告警频次增加,占用大量的资源空间。因此本发明提出了如下的解决方法:首先通过大量人员摔倒数据集训练目标检测模型(如yolo系列、SSD、Retinanet等),保证模型检测摔倒的准确性,其次通过逻辑算法分析人员摔倒后的危险性,提高告警的准确性和效率,最后根据危险等级产生相应的告警,提醒相关人员进行查看,防止人员摔倒后发生生命危险。
根据视频中人员摔倒后行为的分析,本发明将危险等级主要划分为两个等级:一级等级,表明人员摔倒后直接处于静止状态,且摔倒人员昏迷或者严重摔伤的可能性较大,存在较大的生命危险;二级告警,表明人员摔倒后处于非静止状态,存在一系列的动作变化,如爬起或坐起揉腿、招手求救等,存在摔伤的可能性较大,但生命危险系数相对低于一级告警等级。
现有的目标检测算法得到的结果直接判断检测到的人员摔倒后的状态存在不准确性,且效率也不高,同时也不适用多人摔倒的情况。
发明内容
本发明要解决的技术问题是,提供一种基于目标检测时序跟踪并识别人员摔倒后的危险性的方法,提高了告警信息的准确性和效率。
为了解决上述技术问题,本发明采用的技术方案是:该基于目标检测时序跟踪并识别人员摔倒后的危险性的方法,具体包括以下步骤:
S1:首先生成原始图像数据集,并对原始图像数据集进行数据增强,获得增强数据集;
S2:采用增强数据集训练目标检测模型获得摔倒检测模型,采用摔倒检测模型检测选定区域内是否有人摔倒,若有,则转至步骤S3;若无,则返回步骤S1;
S3:判断并分析该摔倒的人员摔倒后的状态,根据分析的结果状态输出相应的危险性等级的告警信息。
需要理解的是,摔倒后存在三种状态:摔倒后立即爬起、倒后静止(无任何动作)、倒后非静止(存在动作),根据三种状态得到三种不同的危险性等级。上述技术方案中,在选定的区域内,当通过构建的摔倒检测模型检测到有人员摔倒,再对该摔倒人员摔倒后的状态进行分析,出现不同状态,进行相应告警。其中为了提高目标检测模型检测的准确性,本发明直接采用增加数据集的方式,提高模型的准确性和泛化能力;在检测时借助了时间序列即队列缓存以及ID_Count计数器,对目标进行累加处理,实现了在多人摔倒的情况下,为能够准确锁定跟踪所述人员摔倒位置信息,提高告警准确率;再根据摔倒的人员摔倒后的状态,提出按危险性等级告警,提高了摔倒告警的准确性、及时性以及效率,避免了人员摔倒后很快站起来离开还进行告警的情况,从而节省后台处理告警信息的资源。
优选地,所述步骤S1的具体步骤为:
S11:采集开放场景下的摔倒过程的数据作为正样本数据,以及摔倒相似的状态作为负样本数据,生成原始图像数据集;
S12:对原始图像数据集依次进行两次增强处理,获得增强数据集;
S13:将增强数据集划分为训练集和测试集。其中首先通过人力搜集大量有关摔倒的视频以及模拟拍摄开放场景下不同人员摔倒的视频(主要是多人模拟拍摄,不同角度、高度、距离、摔倒姿态,其中参与人员特征包括男女、高矮、胖瘦)作为正样本数据,收集摔倒状态类似的其他状态,包括站立、坐在椅子上、身体半蹲着等作为负样本数据。
优选地,所述步骤S11中通过视频抽帧的方式,对视频进行抽帧处理,生成相应的原始图像数据,即摔倒数据集;所述步骤S12中对抽帧后的原始图像数据进行数据增强处理,具体步骤为:首先使用Mosaic数据增强、模糊、裁剪、旋转、色亮度调整进行数据增强,即进行第一次预处理,其次再将经过第一次预处理后的图像使用目标遮挡的技术对其进行第二次图像预处理,从而获得增强数据集。其中目标遮挡技术使用固定大小纯色,如白色(或者花色)色块和图片(行人、汽车、椅子等)分别对目标图像数据进行头部遮挡、身体遮挡以及腿部遮挡,最后可提高图像数据的丰富性。通过搜集大量有关摔倒的视频以及模拟拍摄开放场景下不同人员摔倒的视频,并采用视频抽帧的方式,对视频进行抽帧处理,生成摔倒数据集,提高了模型检测的准确性,对数据集进行增强处理实现图像数据的丰富性,提高模型的泛化能力。在数据预处理阶段采用了目标遮挡技术,提高不完全遮挡人员摔倒检测的准确性。
优选地,在所述步骤S2中,采用yolov5目标检测模型或SSD目标检测模型或Retinanet目标检测模型,使用训练集作为模型训练的输入,训练获得摔倒检测模型。
优选地,所述步骤S2中采用摔倒检测模型检测选定区域内是否有人摔倒的具体步骤为:将采集到的数据的视频流接入训练好的摔倒检测模型进行摔倒检测,当检测到人员摔倒时,即摔倒过程的第一帧开始通过设置队列缓存,以字典形式进行保存,获得以字典形式的缓存结果。
优选地,所述步骤S2中获得以字典形式的缓存结果的具体步骤为:设一个ID_Count对应一个目标框的中心点坐标;即保存目标物体检测框的中心点,并赋予该中心点一个ID_Count,存放在全局变量center_point和fall_temp中,其中center_point和fall_temp均为字典类型的全局变量,fall_temp全局变量中的键为ID_Count,值为累加值,center_point全局变量中的键为ID_Count,值为对应的中心点坐标;所述ID_Count是一个计数器,当检测到新的目标对象时,所述计数器将自动进行累加处理,其中设置一个标志位,记为same_object_detected,所述标志位用于判断是否是同一个目标对象的标志,其初始值默认为False;当该标志位为True时,表明检测到的目标对象为同一个目标,当该标志位为False时,表明检测到的目标对象为新的目标对象,并为该新的目标对象分配ID_Count;即该ID_Count自动累加一并存放在fall_temp全局变量中,从而获得以字典形式缓存的结果。
优选地,所述步骤S2中若当前图像中通过摔倒检测模型检测到有人员摔倒时,则保存检测结果;即检测到人员摔倒的目标框,将目标框的两个顶点坐标xmin、ymin、xmax、ymax放入一个队列列表中保存,并缓存设定帧数的结果,计算出目标框的中心点坐标;计算公式为:其中,(xmin,ymin)(xmax,ymax)表示该目标框的两个顶点的坐标,cx、cy表示该目标框的中心点坐标;
再将该目标框的前后帧目标框的中心点进行差值处理,公式为其中A、B分别表示为cxcx0、cy-cy0;所述步骤S2中若差值范围在[0,8],则表示目标框是同一个目标对象,否则为新的目标对象。本发明确定人员摔倒位置信息的方法,是通过摔倒人员在当视频帧中的位置信息和历史视频中模型检测到摔倒人员的位置信息进行对比,从而确定目标人员的摔倒检测结果,进而判断所述人员摔倒后的状态信息,并根据状态信息判断是否相应的告警。采用该公式进行差值处理,能够达到跟踪的效果,提高了定位目标的准确性,同时可以解决在开放场景中根据目标框中心点的差值跟踪摔倒人员存在定位不准确的问题以及告警时存在画面闪跳、漏报情况,且显示的告警的准确性和效率均得到明显的提高。
优选地,所述步骤S2中还包括对摔倒检测模型进行C化即将摔倒检测模型转化为C++能处理的模型,具体步骤为:首先将yolov5目标检测模型训练的摔倒模型文件由.pt文件转为.torchscript文件,获得C化后的摔倒检测模型;再搭建libtorch环境,且需要安装相关C++代码库;再将python形式的逻辑推理转为C++语言编写的逻辑推理;将其部署于边缘计算盒子,进行C化算法运行。C化后摔倒检测模型在CPU条件下处理速度达到单帧5ms,检测速度更快。
优选地,所述步骤S3的具体步骤为:
S31判断人员摔倒后的状态:根据步骤S2获得的以字典形式的缓存结果,依次进行中心点位移差值对比,判断人员是否处于静止状态,若摔倒后立即爬起,则不推送告警信息,并结束判断;若摔倒后不爬起,则转至步骤S32;
S32告警提醒:若该摔倒后处于静止状态的目标对象的ID_Count的值出现的累计次数大于阈值一,触发红色告警并发送一级紧急短信给相关人员,如果非静止的ID_Count的值累计出现次数大于阈值二,触发黄色告警并发送二级紧急短信给相关人员。本发明的技术方案侧重于分析人员摔倒后的状态,并对摔倒后的人进行跟踪处理,若人员摔倒后,相安无事且起身正常离开,算法不告警,从而提高了算法检测的效率以及减少了算法的误报情况;若人员摔倒后,有意识(非静止)不能正常起身(如瘫坐地上等),算法启动二级告警,并用黄色框框出倒地人员,同时发送短息给相关人员;若人员摔倒后,无意识(静止)倒地状态,算法启动一级告警,并用红色框框出倒地人员,同时发送短息给相关人员。
优选地,所述步骤S31中判断人员是否处于静止状态的具体步骤为:
S311:根据步骤S2中的差值处理公式计算前后两帧的中心点距离,用变量distance表示,根据中心点距离distance判断目标对象在摔倒后是否处于静止状态;具体为:若中心点距离distance的值的范围在[0,8]范围内,则表示目标框为同一个目标对象,并进行第二次判断;若中心点距离distance的值在[0,1]范围内,则表示目标框内的同一个目标对象并处于静止状态;若中心点距离distance的值在(1,8]范围内,则表示目标框内的同一个目标对象并处于非静止状态;
S312:当目标对象出现不超过75帧的漏检时,该目标对象之前赋予的ID_Count并不会立即清除,将会保留设定的帧数阈值,若后续匹配到新的检测结果,且该新的检测结果与前期保存的检测结果一致,那么ID_Count则不变;具体为:利用一个计数空结果的flag,即变量null_count,当摔倒检测模型因为角度或短暂遮挡未检测到人员摔倒时,该flag进行空结果累加计数,如果空结果的累加值不超过设定的帧数阈值,之前检测到的目标对象的ID_Count的结果则不会自动清空,从而实现目标框的平滑处理,避免目标框闪动的情况;漏检主要是因为摄像头角度或者被检测目标对象被遮挡,出现短时间(1-3秒)的摔倒检测模型检测不到的情况。
S313:若步骤S311中的中心点距离distance的值小于设定的静止阈值范围,即distance∈[0,1],则默认为该目标对象是处于静止状态的,且静止状态的flag,即变量static_flag自动加1;并将该目标对象的ID_Count、目标框的坐标(xmin,ymin,xmax,ymax)、中心点距离distance、中心点坐标(cx,cy)存放至摔倒静止目标的列表中;
若中心点距离distance的值在非静止阈值范围内,即distance∈(1,8],则默认该目标对象处于非静止状态,且非静止的flag,即变量action_flag自动加1,并将非静止结果存储到摔倒非静止目标的列表中;
若监控视频中超过3秒时长检测不到摔倒目标,即变量null_count的累加值超过设定的最大阈值范围,则依次清除摔倒静止目标的列表和摔倒非静止目标的列表中的目标对象的ID_Count和对应目标框的坐标值,并返回步骤S1;
S314:分别统计摔倒静止目标的列表和摔倒非静止目标的列表中对应目标对象的ID_Count出现的次数。
与现有技术相比,本发明具有的有益效果为:
(1)在原始图像数据的预处理中,将目标遮挡用于增强摔倒数据集的预处理中,提高了不完全遮挡人员摔倒检测的准确性;
(2)在摔倒后人员的跟踪方法中设置了限定条件,显著地提高了告警信息的准确性和效率;减少摔倒的误报;
(3)本发明提出根据人员摔倒后倒地的状态,判断摔倒人员摔倒后危险等级,根据后摔倒倒地状态分为一级等级和二级等级并短信提醒,并用不同颜色的框区分一级和二级;提高了效率以及人员摔倒后的生命安全系数,针对人员摔倒后的状态,启动相应的告警并发短信给相关人员,提醒相关人员对摔倒人员进行紧急救助;
(4)对yolov5s模型进行了C化处理,C化后算法在CPU条件下处理速度达到单帧5ms。
附图说明
图1为本发明的基于目标检测时序跟踪并识别人员摔倒后的危险性的方法流程图;
图2a-图2c为本发明的基于目标检测时序跟踪并识别人员摔倒后的危险性的方法中的实施例的单人摔倒后非静止倒地状态对比图;其中,图2a记录单人摔倒后非静止倒地的所有过程,图2b是本发明提出的方法记录告警后非静止倒地的所有过程,图2c是未改进的方法记录告警后非静止倒地的所有过程;
图3a-图3b为本发明的基于目标检测时序跟踪并识别人员摔倒后的危险性的方法中的实施例的两人摔倒后非静止倒地状态对比图;其中,图3a记录两人摔倒倒地后非静止倒地的所有过程,图3b中绿色点是本发明提出的方法记录告警后非静止倒地的所有过程;中心点距离未改进的方法并没有产生告警;(该场景是人员A摔倒后,腿部摔伤,无法起身的状态,人员B摔倒后,正常起身离开视频监控);
图4a-图4c为本发明的基于目标检测时序跟踪并识别人员摔倒后的危险性的方法中的实施例的单人摔倒后静止倒地状态对比图;其中,图4a记录单人摔倒后静止倒地的所有过程,图4b是本发明提出的方法记录告警后静止倒地的所有过程,图4c是中心点距离未改进的方法记录告警后静止倒地的所有过程;
图5a-图5c为本发明的基于目标检测时序跟踪并识别人员摔倒后的危险性的方法中的实施例的两个人摔倒后静止倒地状态对比图;其中,图5a记录两个人摔倒后静止倒地的所有过程,图5b是本发明提出的方法记录告警后静止倒地的所有过程,图5c是中心点距离未改进的方法记录告警后静止倒地的所有过程;
图6a-图6b为本发明的基于目标检测时序跟踪并识别人员摔倒后的危险性的方法中的实施例的效果展示图;其中,图6a为摔倒后人员非静止状态;图6b为摔倒后人员静止状态。
具体实施方式
下面结合附图对本发明实施例进行详细描述,以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
本实施例的基于目标检测时序跟踪并识别人员摔倒后的危险性的方法,如图1所示,具体包括以下步骤:
S1:首先生成原始图像数据集,并对原始图像数据集进行数据增强,获得增强数据集;
所述步骤S1的具体步骤为:
S11:采集开放场景下的摔倒过程的数据作为正样本数据,以及摔倒相似的状态作为负样本数据,通过视频或者rtsp流,获取每帧图像数据,生成原始图像数据集;所述步骤S11中通过视频抽帧的方式,对视频进行抽帧处理,生成相应的原始图像数据,即摔倒数据集;其中通过人力搜集大量有关摔倒的视频以及模拟拍摄开放场景下不同人员摔倒的视频(主要是多人模拟拍摄,不同角度、高度、距离、摔倒姿态,其中参与人员特征包括男女、高矮、胖瘦)作为正样本数据,收集摔倒状态类似的其他状态,包括站立、坐在椅子上、身体半蹲着等作为负样本数据;
S12:对原始图像数据集依次进行两次增强处理,获得增强数据集;
所述步骤S12中对抽帧后的原始图像数据进行数据增强处理,具体步骤为:首先使用Mosaic数据增强、模糊、裁剪、旋转、色亮度调整进行数据增强,即进行第一次预处理,其次再将部分经过第一次预处理后的图像使用目标遮挡的技术对其进行第二次图像预处理,从而获得增强数据集。其中目标遮挡技术使用固定大小纯色,如白色(或者花色)色块和图片(行人、汽车、椅子等)分别对目标图像数据进行头部遮挡、身体遮挡以及腿部遮挡,最后可实现提高图像数据的丰富性;通过搜集大量有关摔倒的视频以及模拟拍摄开放场景下不同人员摔倒的视频,并采用视频抽帧的方式,对视频进行抽帧处理,生成摔倒数据集,提高了模型检测的准确性,对数据集进行增强处理实现图像数据的丰富性,提高模型的泛化能力;
S13:将增强数据集划分为训练集和测试集;
S2:采用增强数据集训练目标检测模型获得摔倒检测模型,采用摔倒检测模型检测选定区域内是否有人摔倒,若有,则转至步骤S3;若无,则返回步骤S1;
在所述步骤S2中,采用yolov5目标检测模型或SSD目标检测模型或Retinanet目标检测模型,使用训练集作为模型训练的输入,训练获得摔倒检测模型,该实施例中,以yolov5检测模型(SSD、Retinanet)为例,首先提前训练好yolov5模型,得到摔倒检测模型;
所述步骤S2中还包括对摔倒检测模型进行C化即将摔倒检测模型转化为C++能处理的模型,以yolov5目标检测模型为例,具体步骤为:首先将yolov5目标检测模型训练的摔倒模型文件由.pt文件转为.torchscript文件,获得C化后的摔倒检测模型;再搭建libtorch环境,且需要安装相关C++代码库;再将python形式的逻辑推理转为C++语言编写的逻辑推理;将其部署于边缘计算盒子,进行C化算法运行;
所述步骤S2中采用摔倒检测模型检测选定区域内是否有人摔倒的具体步骤为:将采集到的数据的视频流接入训练好的摔倒检测模型进行摔倒检测,当检测到人员摔倒时,即摔倒过程的第一帧开始通过设置队列缓存,以字典形式进行保存,获得以字典形式的缓存结果;
所述步骤S2中获得以字典形式的缓存结果的具体步骤为:设一个ID_Count对应一个目标框的中心点坐标;即保存目标物体检测框的中心点,并赋予该中心点一个ID_Count,存放在全局变量center_point和fall_temp中,其中center_point和fall_temp均为字典类型的全局变量,fall_temp全局变量中的键为ID_Count,值为累加值,center_point全局变量中的键为ID_Count,值为对应的中心点坐标;所述ID_Count是一个计数器,当检测到新的目标对象时,所述计数器将自动进行累加处理,其中设置一个标志位,记为same_object_detected,所述标志位用于判断是否是同一个目标对象的标志,其初始值默认为False;当该标志位为True时,表明检测到的目标对象为同一个目标,当该标志位为False时,表明检测到的目标对象为新的目标对象,并为该新的目标对象分配ID_Count;即该ID_Count自动累加一并存放在fall_temp全局变量中,从而获得以字典形式缓存的结果;所述步骤S2中若当前图像中通过摔倒检测模型检测到有人员摔倒时,则保存检测结果;即检测到人员摔倒的目标框(矩形框),将目标框的两个顶点的坐标(xmin,ymin)、(xmax,ymax)放入一个队列列表中保存,并缓存设定帧数的结果,此处设定帧数为10帧,计算出目标框(矩形框)的中心点坐标;计算公式为:其中,(xminymin)(xmax,ymax)表示该目标框的两个顶点的坐标,cx、cy表示该目标框的中心点坐标;
再将该目标框的前后帧目标框的中心点进行差值处理,公式为其中A、B分别表示为cxcx0、cy-cy0;所述步骤S2中若差值范围在[0,8],则表示目标框是同一个目标对象,否则为新的目标对象。进行差值处理达到了跟踪的效果,提高了定位目标的准确性;同时该公式可以解决在开放场景中根据目标框中心点的差值跟踪摔倒人员存在定位不准确的问题以及告警时存在画面闪跳、漏报情况;同时通过本发明提出的公式计算前后帧的目标框中心点的差值,可以有效的解决目标框抖动的问题,也实现了简单的目标跟踪的功能,同时解决因行人或者汽车短暂遮挡摔倒人员导致模型检测不到目标问题(将目标人员全部遮挡的情况才会出现,因为在训练模型,本发明通过目标遮挡技术对目标进行的数据预处理,在不完全遮挡的情况下,本模型依旧能检测到目标);
S3:判断并分析该摔倒的人员摔倒后的状态,根据分析的结果状态输出相应的危险性等级的告警信息;需要理解的是,摔倒后存在三种状态:摔倒后立即爬起、倒后静止(无任何动作)、倒后非静止(存在动作),根据三种状态得到三种不同的危险性等级。上述技术方案中,在选定的区域内,当通过构建的摔倒检测模型检测到有人员摔倒,再对该摔倒人员摔倒后的状态进行分析,出现不同状态,进行相应告警。其中为了提高目标检测模型检测的准确性,本发明直接采用增加数据集的方式,提高模型的准确性和泛化能力;在检测时借助了时间序列即队列缓存以及ID_Count计数器,对目标进行累加处理,实现了在多人摔倒的情况下,为能够准确锁定跟踪所述人员摔倒位置信息,提高告警准确率;再根据摔倒的人员摔倒后的状态,提出按危险性等级告警,提高了摔倒告警的准确性、及时性以及效率,避免了人员摔倒后很快站起来离开还进行告警的情况,从而节省后台处理告警信息的资源;
所述步骤S3的具体步骤为:
S31判断人员摔倒后的状态:根据步骤S2获得的以字典形式的缓存结果,依次进行中心点位移差值对比,判断人员是否处于静止状态,若摔倒后立即爬起,则不推送告警信息,并结束判断;若摔倒后不爬起,则转至步骤S32;
所述步骤S31中判断人员是否处于静止状态的具体步骤为:
S311:根据步骤S2中的差值处理公式计算前后两帧的中心点距离,用变量distance表示,根据中心点距离distance判断目标对象在摔倒后是否处于静止状态;具体为:若中心点距离distance的值的范围在[0,8]范围内,则表示目标框为同一个目标对象,并进行第二次判断;若中心点距离distance的值在[0,1]范围内,则表示目标框内的同一个目标对象并处于静止状态;若中心点距离distance的值在(1,8]范围内,则表示目标框内的同一个目标对象并处于非静止状态;
S312:当目标对象出现不超过75帧的漏检时,该目标对象之前赋予的ID_Count并不会立即清除,将会保留设定的帧数阈值,设定的帧数阈值为3秒(即75帧,按每秒25帧),若后续匹配到新的检测结果,且该新的检测结果与前期保存的检测结果一致,那么ID_Count则不变;具体为:利用一个计数空结果的flag,即变量null_count,当摔倒检测模型因为角度或短暂遮挡未检测到人员摔倒时,该flag进行空结果累加计数,如果空结果的累加值不超过设定的帧数阈值75帧(以每秒25帧为例),之前检测到的目标对象的ID_Count结果则不会自动清空,从而实现目标框的平滑处理,避免目标框闪动的情况;在判断人员是否处于静止状态时,仅靠距离判断是不可行的,当人员摔倒后直接处于静止状态,理论上在监控摄像头固定不动时,目标框应该是固定不动的,但实际拉流检测时发现检测框的中心点看上去是抖动的,主要因为目标检测模型是对像素值进行处理的,在进行目标检测时,其目标框本质上是存在不稳定和不连续的,如果检测输出框不稳定、不连续,无疑会对整个算法应用的准确性造成非常大的影响;因此,对目标框进行平滑处理,且当目标出现短暂漏检时(如监控视频中行人走动对目标的短暂遮挡,而发生的漏检),之前赋予的ID并不会马上清除,而是保留设定的帧数阈值,设定的帧数阈值为3秒(即75帧,按每秒25帧),若后续匹配到新的检测结果,那么ID则不变的;具体为:利用一个计数空结果的flag,即null_count,当模型未检测到人员摔倒时,该flag进行累加计数,如果累加值不超过设定的帧数阈值75帧(以每秒25帧为例),即3秒时间,之前检测的ID结果不会自动清空;
S313:若步骤S311中的中心点距离distance的值小于设定的静止阈值范围,即distance∈[0,1],则默认为该目标对象是处于静止状态的,且静止状态的flag,即变量static_flag自动加1;并将该目标对象的ID_Count、目标框的两个顶点的坐标(xmin,ymin)、(xmax,ymax)、中心点距离distance、中心点坐标(cx,cy)存放至摔倒静止目标的列表中;
若中心点距离distance的值在非静止阈值范围内,即distance∈(1,8],则默认该目标对象处于非静止状态,且非静止的flag,即变量action_flag自动加1,并将非静止结果存储到摔倒非静止目标的列表中;
若监控视频中超过3秒时长检测不到摔倒目标,即变量null_count的累加值超过设定的最大阈值范围,则依次清除摔倒静止目标的列表和摔倒非静止目标的列表中的目标对象的ID_Count和对应目标框的坐标值,避免资源消耗并返回步骤S1;
S314:分别统计摔倒静止目标的列表(fall_object_static列表)和摔倒非静止目标的列表(fall_object_action列表)中对应目标ID_Count出现的次数;
S32告警提醒:若该摔倒后处于静止状态的目标对象ID_Count的值出现的累计次数大于阈值一,此处的阈值一设定为125帧(即5秒,每秒25帧计算),触发红色告警(监控视频中的提醒弹框并红框标出目标)并发送一级紧急短信给相关人员,如果非静止的ID_Count的值累计出现次数大于阈值二,此处的阈值设置为250帧(即10秒,每秒25帧计算),触发黄色告警(监控视频中的提醒弹框并黄框标出目标)并发送二级紧急短信给相关人员;若步骤S31中静止状态的flag累加到5秒,则立即触发一级告警,表明摔倒人员处于摔倒后静止状态,存在生命危险且危险系数较大,急需救助;若非静止状态的flag累加至10秒,则触发二级告警,表明摔倒人员摔伤的可能性较大,无法站起身来,需要救助;若步骤S31中的对应flag计数器不满足设定的阈值,则不触发告警;当监控视频中出现多人摔倒,在本技术方案中告警的同时也会分别定位到摔倒的人的位置,并根据人的状态判断人员摔倒后危险性,如监控视频中有两个摔倒的人,A摔倒后昏迷静止不动,B摔倒后意识清醒,但腿摔伤无法站立,算法告警时,用红框框出A,用黄框框出B,其中红框表示一级告警等级,黄框为二级告警等级,并保存告警视频。
图2a记录单人摔倒后非静止倒地的所有过程,图2b是本发明提出的方法记录告警后非静止倒地的所有过程,图2c是中心点距离未改进的方法记录告警后非静止倒地的所有过程;从图2a、图2b和图2c进行对比可以看出,本发明改进后的方法对摔倒后非静止倒地状态的分析的准确性有显著提高。
图3a记录两人摔倒倒地后非静止倒地的所有过程,图3b中绿色点是本发明提出的方法记录告警后非静止倒地的所有过程;中心点距离未改进的方法并没有产生告警;(该场景是人员A摔倒后,腿部摔伤,无法起身的状态,人员B摔倒后,正常起身离开视频监控)。图3a和图3b对比可以看出,本发明改进后的方法对摔倒后非静止状态的分析的准确性有显著提高。
图4a记录单人摔倒后静止倒地的所有过程,图4b是本发明提出的方法记录告警后静止倒地的所有过程,图4c是中心点距离未改进的方法记录告警后静止倒地的所有过程;从图4a、图4b和图4c进行对比可以看出,本发明改进后的方法对摔倒后静止倒地状态的分析的准确性有显著提高。
图5a记录两个人摔倒后静止倒地的所有过程,图5b是本发明提出的方法记录告警后静止倒地的所有过程,图5c是中心点距离未改进的方法记录告警后静止倒地的所有过程,(该场景是人员A、B摔倒后,均处于昏迷静止状态);对比图5b、图5c图,可以发现两种方法均正常告警,但在仔细发现图5b图左下角蓝色的点更加密,表明图5b的告警时检测框更加连续,更加准确。
对比图3a-图3b和图5a-图5c发现,在两个人摔倒的场景下,本发明提出的方法有着明显的优势,且告警准确率较高。
图6a-图6b为效果展示图;图6a为摔倒后人员非静止状态;图6b为摔倒后人员静止状态。图6a模拟的是单人摔倒后不能正常起身的场景,摔倒后人员是处于一个非静止状态,所以此时算法告警为二级告警。图6b模拟的是单人摔倒后直接静止不动的场景,摔倒人员摔倒后是一个静止状态,所以此时算法告警为一级告警。
对于本领域的普通技术人员而言,具体实施例只是对本发明进行了示例性描述,显然本发明具体实现并不受上述方式的限制,只要采用了本发明的方法构思和技术方案进行的各种非实质性的改进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本发明的保护范围之内。
Claims (7)
1.一种基于目标检测时序跟踪并识别人员摔倒后的危险性的方法,其特征在于,具体包括以下步骤:
S1:首先生成原始图像数据集,并对原始图像数据集进行数据增强,获得增强数据集;
S2:采用增强数据集训练目标检测模型获得摔倒检测模型,采用摔倒检测模型检测选定区域内是否有人摔倒,若有,则转至步骤S3;若无,则返回步骤S1;
S3:判断并分析该摔倒的人员摔倒后的状态,根据分析的结果状态输出相应的危险性等级的告警信息;
所述步骤S1的具体步骤为:
S11:采集开放场景下的摔倒过程的数据作为正样本数据,以及摔倒相似的状态作为负样本数据,生成原始图像数据集;
S12:对原始图像数据集依次进行两次增强处理,获得增强数据集;
S13:将增强数据集划分为训练集和测试集;
所述步骤S11中通过视频抽帧的方式,对视频进行抽帧处理,生成相应的原始图像数据,即摔倒数据集;所述步骤S12中对抽帧后的原始图像数据进行数据增强处理,具体步骤为:首先使用Mosaic数据增强、模糊、裁剪、旋转、色亮度调整进行数据增强,即进行第一次预处理,其次再将经过第一次预处理后的图像使用目标遮挡技术对其进行第二次图像预处理,从而获得增强数据集;
所述步骤S3的具体步骤为:
S31判断人员摔倒后的状态:根据步骤S2获得的以字典形式的缓存结果,依次进行中心点位移差值对比,判断人员是否处于静止状态,若摔倒后立即爬起,则不推送告警信息,并结束判断;若摔倒后不爬起,则转至步骤S32;
S32告警提醒:若该摔倒后处于静止状态的目标对象的ID_Count的值出现的累计次数大于阈值一,触发红色告警并发送一级紧急短信给相关人员,如果非静止的ID_Count的值累计出现次数大于阈值二,触发黄色告警并发送二级紧急短信给相关人员。
2.根据权利要求1所述的基于目标检测时序跟踪并识别人员摔倒后的危险性的方法,其特征在于,在所述步骤S2中,采用yolov5目标检测模型或SSD目标检测模型或Retinanet目标检测模型,使用训练集作为模型训练的输入,训练获得摔倒检测模型。
3.根据权利要求2所述的基于目标检测时序跟踪并识别人员摔倒后的危险性的方法,其特征在于,所述步骤S2中采用摔倒检测模型检测选定区域内是否有人摔倒的具体步骤为:将采集到的数据的视频流接入训练好的摔倒检测模型进行摔倒检测,当检测到人员摔倒时,即摔倒过程的第一帧开始通过设置队列缓存,以字典形式进行保存,获得以字典形式的缓存结果。
4.根据权利要求3所述的基于目标检测时序跟踪并识别人员摔倒后的危险性的方法,其特征在于,所述步骤S2中获得以字典形式的缓存结果的具体步骤为:设一个ID_Count对应一个目标框的中心点坐标;即保存目标物体检测框的中心点,并赋予该中心点一个ID_Count,存放在全局变量center_point和fall_temp中,其中center_point和fall_temp均为字典类型的全局变量,fall_temp全局变量中的键为ID_Count,值为累加值,center_point全局变量中的键为ID_Count,值为对应的中心点坐标;所述ID_Count是一个计数器,当检测到新的目标对象时,所述计数器将自动进行累加处理,其中设置一个标志位,记为same_object_detected,所述标志位用于判断是否是同一个目标对象的标志,其初始值默认为False;当该标志位为True时,表明检测到的目标对象为同一个目标,当该标志位为False时,表明检测到的目标对象为新的目标对象,并为该新的目标对象分配ID_Count;即该ID_Count自动累加一并存放在fall_temp全局变量中,从而获得以字典形式缓存的结果。
5.根据权利要求4所述的基于目标检测时序跟踪并识别人员摔倒后的危险性的方法,其特征在于,所述步骤S2中若当前图像中通过摔倒检测模型检测到有人员摔倒时,则保存检测结果;即检测到人员摔倒的目标框,将目标框的坐标xmin、ymin、xmax、ymax放入一个队列列表中保存,并缓存设定帧数的结果,计算出该目标框的中心点坐标;计算公式为:其中,(xmin,ymin)、(xmax,ymax)表示该目标框的两个顶点的坐标,目标框是矩形,cx、cy表示该目标框的中心点坐标;
6.根据权利要求5所述的基于目标检测时序跟踪并识别人员摔倒后的危险性的方法,其特征在于,所述步骤S2中还包括对摔倒检测模型进行C化即将摔倒检测模型转化为C++能处理的模型,具体步骤为:首先将yolov5目标检测模型训练的摔倒模型文件由.pt文件转为.torchscript文件,获得C化后的摔倒检测模型;再搭建libtorch环境,且需要安装相关C++代码库;再将python形式的逻辑推理转为C++语言编写的逻辑推理;最终将其部署于边缘计算盒子,进行C化算法运行。
7.根据权利要求1所述的基于目标检测时序跟踪并识别人员摔倒后的危险性的方法,其特征在于,所述步骤S31中判断人员是否处于静止状态的具体步骤为:
S311:根据步骤S2中的差值处理公式计算前后两帧的中心点距离,用变量distance表示,根据中心点距离distance判断目标对象在摔倒后是否处于静止状态;具体为:若中心点距离distance的值的范围在[0,8]范围内,则表示目标框内为同一个目标对象,并进行第二次判断;若中心点距离distance的值在[0,1]范围内,则表示目标框内为同一个目标对象并处于静止状态;若中心点距离distance的值在(1,8]范围内,则表示目标框内为同一个目标对象并处于非静止状态;
S312:当目标对象出现不超过75帧的漏检时,该目标对象之前赋予的ID_Count并不会立即清除,将会保留设定的帧数阈值,若后续匹配到新的检测结果,且该新的检测结果与前期保存的检测结果一致,那么ID_Count则不变;具体为:利用一个计数空结果的flag,即变量null_count,当摔倒检测模型因为角度或短暂遮挡未检测到人员摔倒时,该flag进行空结果累加计数,如果空结果的累加值不超过设定的帧数阈值,之前检测到的目标对象的ID_Count结果则不会自动清空,从而实现目标框的平滑处理,避免目标框闪动的情况;
S313:若步骤S311中的中心点距离distance的值小于设定的静止阈值范围,即distance∈[0,1],则默认为该目标对象是处于静止状态的,且静止状态的flag,即变量static_flag自动加1;并将该目标对象的ID_Count、目标框的两个顶点的坐标(xmin,ymin)、(xmax,ymax)、中心点距离distance、中心点坐标(cx,cy)存放至摔倒静止目标的列表中,目标框是矩形;
若中心点距离distance的值在非静止阈值范围内,即distance∈(1,8],则默认该目标对象处于非静止状态,且非静止的flag,即变量action_flag自动加1,并将非静止结果存储到摔倒非静止目标的列表中;
若监控视频中超过3秒时长检测不到摔倒目标,即变量null_count的累加值超过设定的最大阈值范围,则依次清除摔倒静止目标的列表和摔倒非静止目标的列表中的目标对象的ID_Count和对应目标框的坐标值,并返回步骤S1;
S314:分别统计摔倒静止目标的列表和摔倒非静止目标的列表中对应目标对象的ID_Count出现的次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211553077.2A CN115546904B (zh) | 2022-12-06 | 2022-12-06 | 基于目标检测时序跟踪并识别人员摔倒后的危险性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211553077.2A CN115546904B (zh) | 2022-12-06 | 2022-12-06 | 基于目标检测时序跟踪并识别人员摔倒后的危险性的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115546904A CN115546904A (zh) | 2022-12-30 |
CN115546904B true CN115546904B (zh) | 2023-05-05 |
Family
ID=84722660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211553077.2A Active CN115546904B (zh) | 2022-12-06 | 2022-12-06 | 基于目标检测时序跟踪并识别人员摔倒后的危险性的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115546904B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116206255B (zh) * | 2023-01-06 | 2024-02-20 | 广州纬纶信息科技有限公司 | 基于机器视觉的危险区域人员监控方法与装置 |
CN116246351B (zh) * | 2023-05-11 | 2023-07-18 | 天津医科大学第二医院 | 一种基于图像处理的老年人步态识别方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112489368A (zh) * | 2020-11-30 | 2021-03-12 | 安徽国广数字科技有限公司 | 智能跌倒识别与检测报警方法及系统 |
WO2022120844A1 (zh) * | 2020-12-11 | 2022-06-16 | 深圳前海零距物联网科技有限公司 | 一种骑行摔倒检测智能头盔、报警系统及报警方法 |
CN114842397A (zh) * | 2022-05-19 | 2022-08-02 | 华南农业大学 | 一种基于异常检测的实时老人跌倒检测方法 |
CN115410113A (zh) * | 2022-07-08 | 2022-11-29 | 天津锋物科技有限公司 | 基于计算机视觉的跌倒检测方法、装置及存储介质 |
-
2022
- 2022-12-06 CN CN202211553077.2A patent/CN115546904B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112489368A (zh) * | 2020-11-30 | 2021-03-12 | 安徽国广数字科技有限公司 | 智能跌倒识别与检测报警方法及系统 |
WO2022120844A1 (zh) * | 2020-12-11 | 2022-06-16 | 深圳前海零距物联网科技有限公司 | 一种骑行摔倒检测智能头盔、报警系统及报警方法 |
CN114842397A (zh) * | 2022-05-19 | 2022-08-02 | 华南农业大学 | 一种基于异常检测的实时老人跌倒检测方法 |
CN115410113A (zh) * | 2022-07-08 | 2022-11-29 | 天津锋物科技有限公司 | 基于计算机视觉的跌倒检测方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115546904A (zh) | 2022-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115546904B (zh) | 基于目标检测时序跟踪并识别人员摔倒后的危险性的方法 | |
US10729117B2 (en) | Pest monitoring method based on machine vision | |
RU2393544C2 (ru) | Способ и устройство для обнаружения пламени | |
CN105787472B (zh) | 一种基于时空拉普拉斯特征映射学习的异常行为检测方法 | |
CN112926541B (zh) | 一种睡岗检测方法、装置及相关设备 | |
CN105678803A (zh) | 基于w4算法和帧间差分的视频监控目标检测方法 | |
CN106846362A (zh) | 一种目标检测跟踪方法和装置 | |
CN111401310B (zh) | 基于人工智能的厨房卫生安全监督管理方法 | |
Debard et al. | Camera based fall detection using multiple features validated with real life video | |
CN114202646A (zh) | 一种基于深度学习的红外图像吸烟检测方法与系统 | |
CN112818766A (zh) | 一种基于计算机视觉的高空抛物检测警报方法及系统 | |
CN113408464A (zh) | 一种行为检测方法、装置、电子设备及存储介质 | |
TWI493510B (zh) | 跌倒偵測方法 | |
CN111191499B (zh) | 一种基于最小中心线的跌倒检测方法及装置 | |
US20040114054A1 (en) | Method of detecting a significant change of scene | |
CN113822151A (zh) | 用于监测市场内部人员聚集密度的方法和系统 | |
CN117789394A (zh) | 一种基于运动历史图像的早期火灾烟雾检测方法 | |
CN107145861A (zh) | 一种遗弃物自动检测方法 | |
Al-Tamimi et al. | Face mask detection based on algorithm YOLOv5s | |
CN113239772B (zh) | 自助银行或atm环境中的人员聚集预警方法与系统 | |
CN108960181A (zh) | 基于多尺度分块lbp和隐马尔科夫模型的黑烟车检测方法 | |
CN112926444B (zh) | 抛物行为检测方法及装置 | |
CN114120187A (zh) | 一种基于监控视频的实时摔倒事件检测方法 | |
CN104268874B (zh) | 一种基于正态分布函数的非相参雷达图像背景建模方法 | |
CN107358167A (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 |