订阅
纠错
加入自媒体

技术文章:技术文章使用Python+OpenCV+yolov5实现行人目标检测

2021-01-01 12:15
磐创AI
关注

训练迭代2:主干网络:YOLOv5x模型初始化:COCO预训练的权重epoch:10个epoch性能0.65 mAP @ 0.50 IOU分析随着数据集的增加,模型性能急剧提高。有些数据集具有满足我们的一个要求的高拥挤场景,有些包含满足另一个需求的顶角摄影机视图。结论虽然模型的性能有所提高,但有些数据集是视频序列,而且在某些情况下背景仍然是静态的,可能会导致过拟合。很少有数据集有非常小的人体,这使得任务很难学习。清理数据下一步是清理数据。我们从训练和验证集中筛选出损失最大的图像,或者我们可以说这些图像具有非常少的mAP度量。我们选择了一个0.3的阈值并将图像可视化。我们从数据集中筛选出三种类型的错误。错误标记的边界框包含非常小的边界框或太多人群的图像重复帧的附近为了去除重复帧,我们只从视频序列中选择稀疏帧。第三个人体检测模型有了经过清理和整理的数据集,我们就可以进行第三次迭代了训练迭代3:主干网络:YOLOv5x模型初始化:COCO预训练的权重epoch:~100个epoch性能0.69 mAP @ 0.50 IOU分析当未清理的数据从训练和验证集中移除时,模型性能略有改善。结论数据集被清理,性能得到改善。我们可以得出结论,进一步改进数据集可以提高模型性能。为了提高性能,我们需要确保数据集包含与测试用例相似的图像。我们处理了人群情况和一些视角的情况,但大多数数据仍然有一个前视角。数据增强我们列出了在实际情况下检测时将面临的一些挑战,但是收集到的数据集分布不同,因此,我们采用了一些数据扩充技术,使训练分布更接近实际用例或测试分布。下面是我们对数据集进行的扩展。视角视角改变

照明条件亮度对比度

图像质量噪音图像压缩运动模糊

通过将所有这些扩展汇总,我们可以将公共数据分布更接近实际分布,我们将原始图像和转换后的图像进行比较,可以从下面的图像中看到。

所有这些扩展都是通过使用“albumentation”来应用的,这是一个易于与PyTorch数据转换集成的python库,他们还有一个演示应用程序,我们用来设置不同方法的增强参数。库中还有很多可以与其他用例一起使用的扩展包。我们使用albumentation方法来实现这一点。第四个人体检测模型现在有了转换后的数据集,我们就可以进行第四次迭代了训练迭代4:主干网络:YOLOv5x模型初始化:迭代3中的模型epoch:~100个epoch性能0.77 mAP @ 0.50 IOU分析

性能提高了近8%,该模型能够预测大多数情况,并在摄像机视角下进行了泛化。由于视频序列中的背景杂波和遮挡,仍有一些误报和漏报。结论我们试图收集数据集并覆盖任务中几乎所有的挑战,但是仍然有一个问题仍然存在,并阻碍了我们的模型性能,我们需要收集包含此类场景下的数据。创建自定义批注通过数据增强,我们创建了一些真实世界的样本,但是我们的数据在图像背景上仍然缺乏多样性。对于零售商店来说,框架背景充满了杂乱的东西,人体模型或衣服架子会导致假正例,而大面积的遮挡则会导致假反例。为了增加这种多样性,我们取消了谷歌搜索,从商店收集闭路电视视频,并对图片进行了手工注释。首先,我们通过迭代4中的模型传递所有的图像并创建自动标签,然后使用开源注释工具CVAT(computervision and annotation tool)进一步修正注释。最终人体检测模型我们将定制存储图像添加到之前的数据集中,并为最终迭代训练模型。我们的最终数据集分布如下所示。

训练迭代5:主干网络:YOLOv5x模型初始化:迭代4中的模型epoch:~100个epoch性能0.79 mAP @ 0.50 IOU分析

我们的模型的性能显示了大约0.2%的正增长,同时,从TIDE分析可以看出,假正例在误差中的贡献也有所降低。结论额外的数据有助于使模型对背景干扰更加稳健,但是收集到的数据量与总体数据集大小相比仍然非常少,并且模型仍然存在一些误报。当在随机图像上进行测试时,该模型能够很好地泛化。总结我们从模型选择开始,以COCO作为基准,我们实现一系列的模型。此外,我们考虑了推理时间和模型架构,并选择了yolov5。我们收集并清理了各种公开可用的数据集,并使用各种数据扩充技术来转换这些数据集,以适应我们的用例。最后,我们收集存储图像,并在手工注释后将其添加到数据集中。我们的最终模型是在这个精心设计的数据集上训练的,能够从0.46map@IOU0.5提高到0.79map@IOU0.5。结论通过根据用例对数据集进行处理,我们改进了大约20%的对象检测模型,该模型在映射和延迟方面仍有改进的余地,所选的超参数是yolov5默认给出的,我们可以使用optuna等超参数搜索库对它们进行优化。当训练分布和测试分布之间存在差异时,域适应是另一种可以使用的技术,同样,这种情况可能需要一个持续的训练循环,其中包含额外的数据集,以确保模型的持续改进。

图片标题


<上一页  1  2  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

    人工智能 猎头职位 更多
    扫码关注公众号
    OFweek人工智能网
    获取更多精彩内容
    文章纠错
    x
    *文字标题:
    *纠错内容:
    联系邮箱:
    *验 证 码:

    粤公网安备 44030502002758号