项目简介:语义分割
语义分割项目致力于提供简单易用且可定制的最先进(SOTA)语义分割模型。这些模型基于PyTorch平台,并配备了丰富的数据集,旨在帮助用户在图像的像素级别进行精确分类和标识。
项目更新计划
自2022年以来,语义分割领域发生了许多变化。尽管出现了新的开放世界分割模型,但传统的分割模型依旧在高准确性和定制应用场景中占据重要位置。为此,该项目将进行重大更新,适配新版本的PyTorch,并提供更详细的模型和自定义数据集使用文档。预计项目于2024年5月发布。
即将推出的功能包括:
- 完善训练管道
- 提供预训练的基线模型
- 引入新的更新理念
- 简化与最先进的骨干模型的集成,附带详细教程
- 支持自定义数据集的操作指南
- 支持分布式训练
部分功能,如提供的数据集数量及模型数量将减少,但更具代表性的内容将保留,并提供自定义数据集的教程。此外,数据增强将使用官方的torchvisionv2变换取代,支持与其他框架的转换和推理将会优化。
支持功能
该项目可用于以下任务:
- 场景解析
- 人体解析
- 面部解析
- 医学图像分割(即将推出)
目前可用数据集超过20个,支持的最先进骨干模型超过15个,最先进语义分割模型超过10个。同时支持PyTorch、ONNX、TFLite、OpenVINO的导出和推理。
模型库
支持的骨干模型:
- ResNet
- ResNetD
- MobileNetV2
- MobileNetV3
- MiT
- ResT
- MicroNet
- ResNet+
- PVTv2
- PoolFormer
- ConvNeXt
- UniFormer
- VAN
- DaViT
支持的方法:
- FCN
- UPerNet
- BiSeNetv1
- FPN
- SFNet
- SegFormer
- FaPN
- CondNet
- Light-Ham
- Lawin
- TopFormer
独立模型与模块:
- BiSeNetv2
- DDRNet
- PPM
- PSA
支持的数据集
在语义分割领域,丰富而多样化的数据集是必不可少的资源。本项目提供了多种经过验证的高质量数据集供选择。从场景解析、人类解析到面部解析,为模型训练与测试提供了广泛的应用场景。部分代表性数据集包括:
场景解析:
- ADE20K
- CityScapes
- COCO-Stuff
- CamVid
- PASCAL-Context
- Mapillary Vistas
- Sun RGB-D
人体解析:
- MHPv2
- MHPv1
- LIP
- CCIHP
- CIHP
- ATR
面部解析:
- HELEN
- LaPa
- iBugMask
- CelebAMaskHQ
- FaceSynthetics
其他数据集:
- SUIM
使用指南
安装
基本要求包括Python 3.6及以上版本,PyTorch 1.8.1及以上版本,torchvision 0.9.1及以上版本。用户可通过以下命令克隆并安装项目:
$ git clone https://github.com/sithu31296/semantic-segmentation
$ cd semantic-segmentation
$ pip install -e .
训练和评估
用户可以通过单GPU或多GPU进行训练,并通过调整配置文件来满足不同的需求。评估过程中,确保配置文件中的MODEL_PATH
已指向训练后的模型目录。为了获得更好的评估结果,用户可以选择多尺度和翻转选项。
推理及转换
项目支持将模型转换为ONNX、CoreML、OpenVINO和TFLite等格式,提供相应的转换和推理脚本,便于在不同平台上进行模型部署和测试。
通过这份详细的介绍,期望用户能更好地理解和使用语义分割项目,从而实现高效的图像处理和分析。