🚀 用于衣物分割的微调Segformer B2模型
本项目是基于SegFormer模型,在ATR数据集上进行微调,用于衣物分割,同时也可用于人体分割。Hugging Face上的数据集名为 "mattmdjaga/human_parsing_dataset"。
🚀 快速开始
安装依赖
确保你已经安装了必要的库,如transformers
、PIL
、requests
、matplotlib
和torch
。
运行代码示例
from transformers import SegformerImageProcessor, AutoModelForSemanticSegmentation
from PIL import Image
import requests
import matplotlib.pyplot as plt
import torch.nn as nn
processor = SegformerImageProcessor.from_pretrained("mattmdjaga/segformer_b2_clothes")
model = AutoModelForSemanticSegmentation.from_pretrained("mattmdjaga/segformer_b2_clothes")
url = "https://plus.unsplash.com/premium_photo-1673210886161-bfcc40f54d1f?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8MXx8cGVyc29uJTIwc3RhbmRpbmd8ZW58MHx8MHx8&w=1000&q=80"
image = Image.open(requests.get(url, stream=True).raw)
inputs = processor(images=image, return_tensors="pt")
outputs = model(**inputs)
logits = outputs.logits.cpu()
upsampled_logits = nn.functional.interpolate(
logits,
size=image.size[::-1],
mode="bilinear",
align_corners=False,
)
pred_seg = upsampled_logits.argmax(dim=1)[0]
plt.imshow(pred_seg)
标签说明
- 0: "背景"
- 1: "帽子"
- 2: "头发"
- 3: "太阳镜"
- 4: "上装"
- 5: "裙子"
- 6: "裤子"
- 7: "连衣裙"
- 8: "腰带"
- 9: "左脚鞋"
- 10: "右脚鞋"
- 11: "脸部"
- 12: "左腿"
- 13: "右腿"
- 14: "左臂"
- 15: "右臂"
- 16: "包"
- 17: "围巾"
✨ 主要特性
- 多用途分割:不仅可以用于衣物分割,还能进行人体分割。
- 微调模型:基于SegFormer B2模型在特定数据集上进行微调,提高分割效果。
💻 使用示例
基础用法
上述代码示例展示了如何使用该模型进行衣物分割。你可以将代码中的图片链接替换为你自己的图片链接,即可对不同图片进行分割。
高级用法
你可以根据实际需求对模型进行进一步的调整,例如修改processor
的参数,或者对输出的分割结果进行后处理。
📚 详细文档
评估指标
标签索引 |
标签名称 |
类别准确率 |
类别IoU |
0 |
背景 |
0.99 |
0.99 |
1 |
帽子 |
0.73 |
0.68 |
2 |
头发 |
0.91 |
0.82 |
3 |
太阳镜 |
0.73 |
0.63 |
4 |
上装 |
0.87 |
0.78 |
5 |
裙子 |
0.76 |
0.65 |
6 |
裤子 |
0.90 |
0.84 |
7 |
连衣裙 |
0.74 |
0.55 |
8 |
腰带 |
0.35 |
0.30 |
9 |
左脚鞋 |
0.74 |
0.58 |
10 |
右脚鞋 |
0.75 |
0.60 |
11 |
脸部 |
0.92 |
0.85 |
12 |
左腿 |
0.90 |
0.82 |
13 |
右腿 |
0.90 |
0.81 |
14 |
左臂 |
0.86 |
0.74 |
15 |
右臂 |
0.82 |
0.73 |
16 |
包 |
0.91 |
0.84 |
17 |
围巾 |
0.63 |
0.29 |
整体评估指标:
- 评估损失:0.15
- 平均准确率:0.80
- 平均IoU:0.69
训练代码
你可以在这里找到训练代码。
📄 许可证
该模型的许可证信息可以在这里找到。
📖 引用信息
@article{DBLP:journals/corr/abs-2105-15203,
author = {Enze Xie and
Wenhai Wang and
Zhiding Yu and
Anima Anandkumar and
Jose M. Alvarez and
Ping Luo},
title = {SegFormer: Simple and Efficient Design for Semantic Segmentation with
Transformers},
journal = {CoRR},
volume = {abs/2105.15203},
year = {2021},
url = {https://arxiv.org/abs/2105.15203},
eprinttype = {arXiv},
eprint = {2105.15203},
timestamp = {Wed, 02 Jun 2021 11:46:42 +0200},
biburl = {https://dblp.org/rec/journals/corr/abs-2105-15203.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}