qubvel-org/segmentation_models.pytorch

Semantic segmentation models with 500+ pretrained convolutional and transformer-based backbones.

What it solves

此库提供了一种简化的方式来实现图像语义分割,免去手动从头构建复杂编码器‑解码器架构的需求。它简化了选择、初始化和训练能够识别并勾勒出图像中特定对象的神经网络的过程。

How it works

该库作为 PyTorch 的高级包装器,允许用户通过将预训练编码器(backbone)与特定解码器架构组合来创建分割模型。它会从编码器提取中间特征,并将这些特征输入解码器以生成分割掩码。库还内置了对常用分割指标和损失函数(如 Dice 和 Jaccard)的支持,并支持 ONNX 导出以便部署。

Who it’s for

该库面向从事计算机视觉任务的开发者和研究者,尤其是需要进行二元或多类图像分割的场景,如背景去除或医学影像。

Highlights

  • Extensive Model Library: 支持 12 种不同的编码器‑解码器架构,包括 Unet、Unet++、Segformer 和 DeepLabV3+。
  • Massive Encoder Selection: 提供超过 800 个预训练编码器,并支持 timm 库。
  • Easy Integration: 高级 API 只需两行代码即可创建完整的神经网络。
  • Flexible Configuration: 支持自定义输入通道(例如灰度图像)以及可选的辅助分类输出。
  • Deployment Ready: 兼容 torch script、trace、compile 和 ONNX 导出。