道路车流监测(2):目标检测模型解释

前言

啊啊啊,最近实习真的太累(lan)了,拖了好久才出第二章,leader一直鞭策(pua),但是mentor对我很好,所以还想再继续学下去,毕竟我也很难保证秋招能找到更好的公司,祈福.jpg。

一、模型选择

首先,明确自己要解决的问题,具体分析业务场景。从业务的角度出发选择适合的模型。毕竟没有最好的模型,只有最合适的模型。
解决的问题:检测道路中的车辆模型。需要目标检测模型来检测视频中的车辆。
业务场景分析:
1)检测目标:视频中的车辆目标属于中目标或者大目标检测,并且该类目标样本之间变化不大,不存在细粒度问题,并且我们的目标只需要检测车辆,对模型的分类能力要求不高,一般的目标检测模型都能够起到一个较好的检测结果
2)检测背景:检测目标背景简单, 一般的视频数据都是通过道路上的摄像头采集的,单一摄像头的场景不会有变动,同时摄像头捕获的也是道路数据,多个摄像头捕获的视频数据的场景变动也不大。因此也降低了车辆检测的难度。并且项目做的是车流检测,要的是统计车流数据,假设一个钟头内少检测了一辆车,导致计数的时候有所缺失,目前想来是可以接受的。
3)检测速度:由于应用场景是针对道路中摄像头中实时捕获的数据进行处理,因此对模型的速度,实时性要求比较高,并且最好能够做到分布式实时处理视频,在终端只返回处理后的结果给服务器,因此模型的大小也是考虑的一个方面。
总结:综上所述,在模型选择的时候重点关注模型的处理速度,大小,并且保证检测正确率不要太低即可。因此选用单阶段模型来保证处理速度较为合适。而在众多单阶段模型中yolo系列非常出名,我也有yolov3的基础,所以本次模型选择新一代yolov5作为目标检测模型,在yolov5系列中选用体量最小的yolov5s作为最终模型。各个模型之间比较结果如下。
在这里插入图片描述
在这里插入图片描述
Yolov5s网络最小,速度最少,AP精度也最低。但如果检测的以大目标为主,追求速度,倒也是个不错的选择。
其他的三种网络,在此基础上,不断加深加宽网络,AP精度也不断提升,但速度的消耗也在不断增加。
目前使用下来,yolov5s的模型十几M大小,速度很快,线上生产效果可观,嵌入式设备可以使用。
(这一段如果写论文的话可以扩展开,多选择几个不同的模型,单阶段双阶段,都拿来测试和比较)

二、yolov5s

模型概览

通过netron可以直观查看网络结构,对网络的架构会有更清晰的认识。
在这里插入图片描述

  • 输入端: 表示输入的图片。该网络的输入图像大小为608*608,该阶段通常包含一个图像预处理阶段,即将输入图像缩放到网络的输入大小,并进行归一化等操作。在网络训练阶段,YOLOv5使用Mosaic数据增强操作提升模型的训练速度和网络的精度;并提出了一种自适应锚框计算与自适应图片缩放方法
  • 基准网络: 通常是一些性能优异的分类器种的网络,该模块用来提取一些通用的特征表示。YOLOv5中不仅使用了CSPDarknet53结构,而且使用了Focus结构作为基准网络。
  • Neck网络: 通常位于基准网络和头网络的中间位置,利用它可以进一步提升特征的多样性及鲁棒性。虽然YOLOv5同样用到了SPP、FPN和PAN模块,但是实现的细节有些不同。
  • Head输出端: Head用来完成目标检测结果的输出。针对不同的检测算法,输出端的分支个数不尽相同,通常包含一个分类分支和一个回归分支。YOLOv5利用GIOU_Loss来代替Smooth L1 Loss函数,以及预测框筛选的DIOU_nms,从而进一步提升算法的检测精度。

输入端========================================

Mosaic数据增强

YOLOv5中在训练模型阶段仍然使用了Mosaic数据增强方法,该算法是在CutMix数据增强方法的基础上改进而来的。CutMix仅仅利用了两张图片进行拼接,而Mosaic数据增强方法则采用了4张图片,并且按照随机缩放、随机裁剪和随机排布的方式进行拼接而成,具体的效果如下图所示。这种增强方法可以将几张图片组合成一张

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值