复杂场景数据集设计

简介: 随着计算机应用技术的发展,政府和企业越来越重视对于计算机视觉的应用,而多目标跟踪作为计算机视觉中具有挑战性的任务,在智能交通、智能监控和自动驾驶等多个领域起着重要的作用。多目标跟踪是对某个场景中的多个目标对象进行跟踪,但是由于场景的多变性和复杂性,以及被跟踪目标自身的各种变化,多目标跟踪会面对种种困难。

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)如果视频中包含了非跌倒、类跌倒和跌倒行为,则以跌倒行为进行分类。

相关文章
|
PyTorch 算法框架/工具
如何查看一个变量是否有要求计算梯度
在 PyTorch 中,可以通过查看张量的 requires_grad 属性来确定该变量是否要求计算梯度。具体来说,对于一个张量 x,可以通过访问 x.requires_grad 属性来获取它的梯度计算标志。
783 0
|
JSON API 持续交付
逐步指南:使用FastAPI部署YOLO模型的步骤
逐步指南:使用FastAPI部署YOLO模型的步骤
|
Web App开发 开发工具 git
如何下载Github上的单个文件或者指定目录?
如何下载Github上的单个文件或者指定目录?
3257 0
如何下载Github上的单个文件或者指定目录?
|
XML 算法 计算机视觉
使用OpenCV进行人脸检测和戴墨镜特效实战(附Python源码)
使用OpenCV进行人脸检测和戴墨镜特效实战(附Python源码)
679 1
|
TensorFlow 算法框架/工具 Android开发
使用YOLOv5进行工业检测(如裂纹、划痕、破损等)
使用YOLOv5进行工业检测(如裂纹、划痕、破损等)
3520 1
|
计算机视觉
【YOLOv8改进】 AFPN :渐进特征金字塔网络 (论文笔记+引入代码).md
YOLO目标检测专栏介绍了YOLO的有效改进和实战案例,包括AFPN——一种解决特征金字塔网络信息丢失问题的新方法。AFPN通过非相邻层直接融合和自适应空间融合处理多尺度特征,提高检测性能。此外,还展示了YOLOv8中引入的MPDIoU和ASFF模块的代码实现。详情可参考提供的专栏链接。
|
12月前
|
传感器 机器学习/深度学习 人工智能
智能物流:自动化仓库与配送系统
【10月更文挑战第22天】在21世纪的全球化经济中,物流行业作为连接生产与消费的桥梁,其效率与准确性至关重要。本文深入探讨智能物流的核心技术,如自动化仓储、无人驾驶配送和物联网,以及应用案例和未来发展趋势,揭示自动化仓库与配送系统如何引领物流行业的智能化转型。
1207 0
|
自然语言处理 前端开发 Java
您的智能测试助理来了!蚂蚁TestAgent开源,快来体验!
TestAgent 旨在构建测试领域的“智能体”,融合大模型和质量领域工程化技术,促进质量技术代系升级。我们期望和社区成员一起合作,打造创新的测试领域解决方案,构建24小时在线的测试助理服务,让测试如丝般顺滑。 很高兴地宣布,我们在国内首次开源了测试行业大模型及工具——TestAgent。本次版本包含了性能最强的7B测试领域大模型,以及配套的本地模型快速发布和体验工程化框架,欢迎体验和关注!
2688 0
您的智能测试助理来了!蚂蚁TestAgent开源,快来体验!
|
人工智能 JSON 自然语言处理
我的Google Vertex AI实践经验分享
忙碌的开发者分享了使用Google Vertex AI的实践经验。从复杂的初始设置到微调模型时的手动资源分配,作者经历了种种挑战,包括高昂的成本与不足的文档支持。尽管如此,Vertex AI在图像识别和自然语言处理方面展现出强大能力。作者希望反馈能帮助Google改进服务,使之更加用户友好。
570 2
|
安全 数据安全/隐私保护 虚拟化
win11家庭版怎么升级专业版
Windows 11家庭版用户常需升级到专业版以解锁远程桌面、组策略和BitLocker等高级功能。在升级前,备份数据、确保系统更新至最新。购买正版密钥后,通过“设置”->“系统”->“激活”输入密钥进行升级。遵循提示完成升级过程,系统会自动应用专业版特性。如有问题,参考官方文档或寻求技术支持。
win11家庭版怎么升级专业版