由 PyTorch 团队

TorchVision v0.9 已发布,它包含众多新的机器学习模型和功能、速度提升和错误修复。在这篇博客文章中,我们快速概述了新引入的机器学习模型,并讨论了它们的关键特性和特点。

分类

  • MobileNetV3 大型和小型:这两个分类模型针对移动应用场景进行了优化,并作为其他计算机视觉任务的骨干网络。新 MobileNetV3 架构的实现支持大型和小型变体以及深度乘数参数,如原文所述。我们为大型和小型网络提供 ImageNet 上的预训练权重,深度乘数为 1.0,分辨率为 224x224。我们之前的训练配方已更新,可以轻松从头开始训练模型(向 Ross Wightman 致敬,他的灵感激发了一些我们的训练配置)。大型变体在 CPU 上比 ResNet50 快 6 倍,同时提供有竞争力的准确度,意味着它是速度重要应用的良好候选者。对于速度至关重要的应用,可以牺牲更多精度以换取速度,并使用比 ResNet50 快 15 倍的小型变体。

  • 量化 MobileNetV3 Large:MobileNetV3 Large 的量化版本将参数数量减少了 45%,其速度比非量化版本快约 2.5 倍,同时在精度方面保持竞争力。它使用量化感知训练在 ImageNet 上进行了调整,通过迭代非量化版本进行,并且可以使用现有的参考脚本从头开始训练。

使用方法:

model = torchvision.models.mobilenet_v3_large(pretrained=True)
# model = torchvision.models.mobilenet_v3_small(pretrained=True)
# model = torchvision.models.quantization.mobilenet_v3_large(pretrained=True)
model.eval()
predictions = model(img)

目标检测

  • Faster R-CNN MobileNetV3-Large FPN:将 MobileNetV3 Large 骨干网络与 Faster R-CNN 检测器和特征金字塔网络相结合,可得到高度准确且快速的物体检测器。预训练权重使用提供的参考脚本在 COCO 2017 上进行调整,该模型在 CPU 上的速度比等效的 ResNet50 检测器快 5 倍,同时在精度方面保持竞争力。
  • Faster R-CNN MobileNetV3-Large 320 FPN:这是先前模型的迭代版本,使用降低的分辨率(min_size=320 像素),牺牲精度以换取速度。它在 CPU 上的速度比等效的 ResNet50 检测器快 25 倍,因此非常适合实际移动用例。

使用说明:

model = torchvision.models.detection.fasterrcnn_mobilenet_v3_large_fpn(pretrained=True)
# model = torchvision.models.detection.fasterrcnn_mobilenet_v3_large_320_fpn(pretrained=True)
model.eval()
predictions = model(img)

语义分割

  • DeepLabV3 与 Dilated MobileNetV3 Large 骨干:MobileNetV3 Large 骨干的膨胀版本与 DeepLabV3 相结合,帮助我们构建一个高精度且快速的语义分割模型。预训练权重使用我们的标准训练方法在 COCO 2017 上进行调整。最终模型在 CPU 上的准确度与 FCN ResNet50 相同,但速度是其 8.5 倍,因此成为大多数应用的优秀替代品。
  • Lite R-ASPP 与 Dilated MobileNetV3 Large 骨干:我们引入了一种新的分割头实现,称为 Lite R-ASPP,并将其与膨胀的 MobileNetV3 Large 骨干结合,构建了一个非常快速的分割模型。新模型牺牲了一些精度,实现了比之前最轻量级的分割模型(FCN ResNet50)15 倍的速度提升。

使用说明:

model = torchvision.models.segmentation.deeplabv3_mobilenet_v3_large(pretrained=True)
# model = torchvision.models.segmentation.lraspp_mobilenet_v3_large(pretrained=True)
model.eval()
predictions = model(img)

在不久的将来,我们计划发布一篇文章,详细说明上述模型的训练细节,并讨论它们的权衡和设计选择。在此之前,我们鼓励您尝试使用新模型并提供您的反馈。