英文

MobileViT (extra small-sized model)

MobileViT模型在256x256的分辨率下在ImageNet-1k上进行了预训练。该模型是由Sachin Mehta和Mohammad Rastegari于 MobileViT: Light-weight, General-purpose, and Mobile-friendly Vision Transformer 年引入的,并于 this repository 年首次发布。所使用的许可证是 Apple sample code license

免责声明:发布MobileViT的团队没有为该模型编写模型卡,因此此模型卡是由Hugging Face团队编写的。

模型描述

MobileViT是一个轻量级、低延迟的卷积神经网络,将MobileNetV2风格的层与使用transformers进行全局处理替换卷积层中的局部处理的新块结合起来。与ViT(Vision Transformer)一样,图像数据在被Transformer层处理之前被转换为扁平化的块。然后,这些块被“反扁平化”回特征图。这使得MobileViT块可以放置在CNN中的任何位置。MobileViT不需要任何位置编码。

预期用途和限制

您可以使用原始模型进行图像分类。查看 model hub 以寻找您感兴趣的任务上的微调版本。

如何使用

以下是如何使用此模型将COCO 2017数据集的图像分类为1,000个ImageNet类别之一的方法:

from transformers import MobileViTFeatureExtractor, MobileViTForImageClassification
from PIL import Image
import requests

url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)

feature_extractor = MobileViTFeatureExtractor.from_pretrained("apple/mobilevit-x-small")
model = MobileViTForImageClassification.from_pretrained("apple/mobilevit-x-small")

inputs = feature_extractor(images=image, return_tensors="pt")

outputs = model(**inputs)
logits = outputs.logits

# model predicts one of the 1000 ImageNet classes
predicted_class_idx = logits.argmax(-1).item()
print("Predicted class:", model.config.id2label[predicted_class_idx])

目前,特征提取器和模型都支持PyTorch。

训练数据

MobileViT模型是在包含100万个图像和1,000个类别的数据集 ImageNet-1k 上进行预训练的。

训练过程

预处理

训练只需要基本的数据增强,即随机调整大小剪裁和水平翻转。

为了在不需要微调的情况下学习多尺度表示,训练过程中使用了多尺度采样器,图像尺寸随机采样自(160, 160),(192, 192),(256, 256),(288, 288),(320, 320)。

在推断时,图像被调整/缩放到相同的分辨率(288x288),并进行中心裁剪到256x256。

像素被归一化到范围[0, 1]。图像应该按照BGR像素顺序而不是RGB的顺序。

预训练

MobileViT网络在ImageNet-1k上从头开始进行了300个epoch的训练,使用了8个NVIDIA GPU,有效批大小为1024,学习率预热了3k个步骤,然后进行余弦退火。还使用了标签平滑的交叉熵损失和L2权重衰减。训练分辨率从160x160到320x320不等,使用了多尺度采样。

评估结果

Model ImageNet top-1 accuracy ImageNet top-5 accuracy # params URL
MobileViT-XXS 69.0 88.9 1.3 M 1237321
MobileViT-XS 74.8 92.3 2.3 M 1238321
MobileViT-S 78.4 94.1 5.6 M 1239321

BibTeX条目和引用信息

@inproceedings{vision-transformer,
title = {MobileViT: Light-weight, General-purpose, and Mobile-friendly Vision Transformer},
author = {Sachin Mehta and Mohammad Rastegari},
year = {2022},
URL = {https://arxiv.org/abs/2110.02178}
}