1. 目标检测数据集设计
现有的目标检测数据集如 ImageNet、VOC 和 COCO 通常是检测多个类别,对于人体的检测精度不高,容易漏检和误检。本文选取了 COCO 数据集作为基准数据集,使用 YOLOv5 算法进行目标检测时,对于跌倒或有遮挡的人体可能无法检测出。
站着的人可以被识别,但是倒地的人或者有遮挡的情况下有可能识别不出来,所以在原有的 COCO 数据集的基础上,需要添加额外的人体数据集再进行针对性训练。
选取了部分人体行为检测数据集和网络上符合复杂场景的图片,并使用LabelImg 进行标注,LabelImg 是一个可视化的图像标注工具,YOLO 所需要的数据集可以通过该软件进行标注。
利用该软件手工标注了 800 张复杂背景下的包含人体的图片,其中各种姿态的跌倒或躺地状态的人体图片有 200 张,存在遮挡的人体图片有 200 张,剩下的 400 张均为各种正常直立运动的图片,所有的图片均为多人场景。然后将图片和标注放到训练代码中进行训练,从而得到符合条件的测试权重。
2. 目标跟踪数据集设计
由于 Deep Sort 模型是针对行人进行目标跟踪的,对于非行人即跌倒或者躺下的人,会出现识别不了的情况,此时需要对 Deep Sort 进行再训练,使算法中的 ReID 模型学习到不同行为的人体特征,从而减少目标跟踪过程中因为对人体的检测丢失而导致的 ID Switch 现象。
本文的目标跟踪数据集的制作方法如下:首先使用目标检测器 YOLOv5 对跌倒视频中的某个人体进行检测框提取,然后将包含该人体的检测框提取出来保存为图片,对单个人体提取 30 张图片,这 30 张图片需要体现该人体的轨迹信息,然后将这些图片放缩到同样大小,保存为一个文件夹,依照该方法收集了 150个不相同的人体信息,保存为目标跟踪数据集。并使用该数据集训练 ReID 模型,从而获得理想的实验结果。
3. 复杂场景跌倒数据集设计
在跌倒检测领域,甚至在机器学习领域,数据集是模型训练、算法验证和性能提升的重要组成部分。由于跌倒发生的概率相对较低,日常生活中也较难获取相应的数据,因此长期以来基于跌倒的公开数据集较少,较为知名的有 Le2i 跌倒检测数据集、多摄像头跌倒数据集(MCFD)、UR 跌倒检测数据集(URFD),然而这些数据集中的跌倒行为大多是发生在简单场景,几乎没有复杂场景的跌倒数据集,因此为了验证跌倒模型的效果,需要采集复杂场景下的跌倒行为视频,组建一个新的数据集进行跌倒检测的研究。
新数据集需要包含以下几种行为:
(1)非跌倒行为,如站立、行走;
(2)类跌倒行为,如蹲下、坐下、躺下;
(3)跌倒行为,如向前跌倒、向后跌倒、侧方向跌倒; 与此同时,新数据集中的视频需要包含以下三种场景:
1、单人简单场景,主要来源于公开数据集,场景中只有一个人在行动,背景不发生变化的,无遮挡。
2、单人复杂场景,即视频中只有一个人,但是背景是实际场景,存在运动变化的背景,可能有遮挡。
3、多人复杂场景,视频中有多个人,对背景不作要求,可能有遮挡。
根据以上要求,通过混合公开数据集中的样本和网上的行为视频数据,并将视频统一裁剪和规格化为 6s, 640*480 分辨率,由此组建了新的数据集
部分视频可能包含多个动作,由于无法对每个视频中的行为进行精准地分割,因此本文对数据集中的视频进行了规则设定,具体规则如下:
(1)如果视频中只包含非跌倒行为,则以非跌倒行为进行分类
(2)如果视频中包含类跌倒行为和非跌倒行为,则以类跌倒进行分类
(3)如果视频中包含跌倒行为和非跌倒行为,则以跌倒行为进行分类
(4)如果视频中包含了非跌倒、类跌倒和跌倒行为,则以跌倒行为进行分类。