MobileViT网络是由苹果公司提出的,将CNN和ViT的优势相结合,提高了在移动视觉任务中的性能。
以往的研究主要集中在轻量卷积神经网络和自注意力ViTs,其中CNN具有局部感知性,参数较少,ViTs具有全局感知性,参数较多。 然而这些方法在移动视觉任务中存在一些问题,如$\color{red}{性能不够理想、延迟较高。
MobileViT将transformers作为卷积的方式进行全局信息处理,实现了轻量级和低延迟的移动视觉任务网络。
轻量化网络在精度上一般不会有提升,很大程度会造成精度下降。它的作用主要是为了提升速度,使网络便于部署到算力不高的设备上。我替换mobilevit在visdrone2019-DET上训练结果比原来的YOLOv5s,map0.5降低了7个点左右(可能是我参数没调好)。
纯Transformer模型存在的问题
- Transformer参数多,算力要求高
- Transformer缺少空间归纳偏置
- Transformer迁移到其他任务比较繁琐
- Transformer模型训练困难
网络结构
标准ViT结构
MV2
MV2就是MobileNet v2里面Inverted Residual Block
MobileViTblock
1x1卷积核的作用
卷积核数量小于通道数时可以降维
卷积核数量大于通道数时可以升维
yolov5s的参数量
mobileViT的参数量
在参数量减少的情况下,仍能具有不错的性能
修改yolo.py
parse_model函数中增加下列语句