yolov5项目改进_替换主干网络MobileViTv1

211 阅读1分钟

论文地址

MobileViT网络是由苹果公司提出的,将CNN和ViT的优势相结合,提高了在移动视觉任务中的性能。

以往的研究主要集中在轻量卷积神经网络和自注意力ViTs,其中CNN具有局部感知性,参数较少,ViTs具有全局感知性,参数较多。 然而这些方法在移动视觉任务中存在一些问题,如$\color{red}{性能不够理想、延迟较高。

MobileViT将transformers作为卷积的方式进行全局信息处理,实现了轻量级和低延迟的移动视觉任务网络。

轻量化网络在精度上一般不会有提升,很大程度会造成精度下降。它的作用主要是为了提升速度,使网络便于部署到算力不高的设备上。我替换mobilevit在visdrone2019-DET上训练结果比原来的YOLOv5s,map0.5降低了7个点左右(可能是我参数没调好)。

纯Transformer模型存在的问题

  • Transformer参数多,算力要求高
  • Transformer缺少空间归纳偏置
  • Transformer迁移到其他任务比较繁琐
  • Transformer模型训练困难

网络结构

image.png

标准ViT结构

image.png

MV2

MV2就是MobileNet v2里面Inverted Residual Block

MobileViTblock

image.png

1x1卷积核的作用

卷积核数量小于通道数时可以降维 image.png image.png 卷积核数量大于通道数时可以升维 image.png

yolov5s的参数量 image.png mobileViT的参数量 image.png

在参数量减少的情况下,仍能具有不错的性能

image.png

修改yolo.py

parse_model函数中增加下列语句 image.png

验证是否成功加入

image.png

训练结果

200个epoch

results.png