Geometric Shapes Classification
基于SigLIP2微调的图像分类模型,专用于识别8种基本几何形状
下载量 159
发布时间 : 4/4/2025
模型简介
该模型采用SiglipForImageClassification架构,可准确分类圆形、风筝形、平行四边形、长方形、菱形、正方形、梯形和三角形等几何形状。
模型特点
高精度分类
在8类形状识别任务中达到99.08%的准确率
符号化输出
分类结果附带几何符号标识(如◯▲◼等)
教育友好
特别适合几何教学场景的视觉识别
模型能力
几何形状识别
图像分类
视觉特征提取
使用案例
教育
几何教学辅助
自动识别并标注教学材料中的几何形状
提升几何概念可视化教学效率
计算机视觉
工程图纸分析
识别技术图纸中的基本几何元素
准确率超过99%的形状分类
🚀 几何形状分类模型
本项目的几何形状分类模型是一个图像分类的视觉语言编码器模型,它基于 google/siglip2-base-patch16-224 进行微调,用于多类形状识别任务。该模型使用 SiglipForImageClassification 架构对各种几何形状进行分类。
🚀 快速开始
安装依赖
!pip install -q transformers torch pillow gradio
运行代码
import gradio as gr
from transformers import AutoImageProcessor
from transformers import SiglipForImageClassification
from PIL import Image
import torch
# Load model and processor
model_name = "prithivMLmods/Geometric-Shapes-Classification"
model = SiglipForImageClassification.from_pretrained(model_name)
processor = AutoImageProcessor.from_pretrained(model_name)
# Label mapping with symbols
labels = {
"0": "Circle ◯",
"1": "Kite ⬰",
"2": "Parallelogram ▰",
"3": "Rectangle ▭",
"4": "Rhombus ◆",
"5": "Square ◼",
"6": "Trapezoid ⏢",
"7": "Triangle ▲"
}
def classify_shape(image):
"""Classifies the geometric shape in the input image."""
image = Image.fromarray(image).convert("RGB")
inputs = processor(images=image, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs)
logits = outputs.logits
probs = torch.nn.functional.softmax(logits, dim=1).squeeze().tolist()
predictions = {labels[str(i)]: round(probs[i], 3) for i in range(len(probs))}
return predictions
# Gradio interface
iface = gr.Interface(
fn=classify_shape,
inputs=gr.Image(type="numpy"),
outputs=gr.Label(label="Prediction Scores"),
title="Geometric Shapes Classification",
description="Upload an image to classify geometric shapes such as circle, triangle, square, and more."
)
# Launch the app
if __name__ == "__main__":
iface.launch()
💻 使用示例
基础用法
# 以下代码展示了如何使用该模型进行几何形状分类
import gradio as gr
from transformers import AutoImageProcessor
from transformers import SiglipForImageClassification
from PIL import Image
import torch
# 加载模型和处理器
model_name = "prithivMLmods/Geometric-Shapes-Classification"
model = SiglipForImageClassification.from_pretrained(model_name)
processor = AutoImageProcessor.from_pretrained(model_name)
# 带有符号的标签映射
labels = {
"0": "Circle ◯",
"1": "Kite ⬰",
"2": "Parallelogram ▰",
"3": "Rectangle ▭",
"4": "Rhombus ◆",
"5": "Square ◼",
"6": "Trapezoid ⏢",
"7": "Triangle ▲"
}
def classify_shape(image):
"""对输入图像中的几何形状进行分类。"""
image = Image.fromarray(image).convert("RGB")
inputs = processor(images=image, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs)
logits = outputs.logits
probs = torch.nn.functional.softmax(logits, dim=1).squeeze().tolist()
predictions = {labels[str(i)]: round(probs[i], 3) for i in range(len(probs))}
return predictions
# Gradio 界面
iface = gr.Interface(
fn=classify_shape,
inputs=gr.Image(type="numpy"),
outputs=gr.Label(label="Prediction Scores"),
title="Geometric Shapes Classification",
description="上传一张图像,对圆形、三角形、正方形等几何形状进行分类。"
)
# 启动应用
if __name__ == "__main__":
iface.launch()
📚 详细文档
分类报告
Classification Report:
precision recall f1-score support
Circle ◯ 0.9921 0.9987 0.9953 1500
Kite ⬰ 0.9927 0.9927 0.9927 1500
Parallelogram ▰ 0.9926 0.9840 0.9883 1500
Rectangle ▭ 0.9993 0.9913 0.9953 1500
Rhombus ◆ 0.9846 0.9820 0.9833 1500
Square ◼ 0.9914 0.9987 0.9950 1500
Trapezoid ⏢ 0.9966 0.9793 0.9879 1500
Triangle ▲ 0.9772 0.9993 0.9881 1500
accuracy 0.9908 12000
macro avg 0.9908 0.9908 0.9907 12000
weighted avg 0.9908 0.9908 0.9907 12000
模型分类的类别
该模型将图像分类为以下类别:
- 类别 0:圆形 ◯
- 类别 1:风筝形 ⬰
- 类别 2:平行四边形 ▰
- 类别 3:矩形 ▭
- 类别 4:菱形 ◆
- 类别 5:正方形 ◼
- 类别 6:梯形 ⏢
- 类别 7:三角形 ▲
预期用途
几何形状分类 模型旨在识别图像中的基本几何形状。示例用例如下:
- 教育工具:用于以可视化方式学习和教授几何知识。
- 计算机视觉项目:作为机器人或自动化中的形状检测器。
- 图像分析:识别图表或工程图纸中的符号。
- 辅助技术:支持视障应用中的形状识别。
📄 许可证
本项目采用 Apache-2.0 许可证。
📦 模型信息
属性 | 详情 |
---|---|
模型类型 | 图像分类视觉语言编码器模型 |
基础模型 | google/siglip2-base-patch16-224 |
训练数据集 | prithivMLmods/Math-Shapes |
库名称 | transformers |
标签 | Shapes、Geometric、SigLIP2、art |
管道标签 | 图像分类 |
Nsfw Image Detection
Apache-2.0
基于ViT架构的NSFW图像分类模型,通过监督学习在ImageNet-21k数据集上预训练,并在80,000张图像上微调,用于区分正常和NSFW内容。
图像分类
Transformers

N
Falconsai
82.4M
588
Fairface Age Image Detection
Apache-2.0
基于Vision Transformer架构的图像分类模型,在ImageNet-21k数据集上预训练,适用于多类别图像分类任务
图像分类
Transformers

F
dima806
76.6M
10
Dinov2 Small
Apache-2.0
基于DINOv2方法训练的小尺寸视觉Transformer模型,通过自监督学习提取图像特征
图像分类
Transformers

D
facebook
5.0M
31
Vit Base Patch16 224
Apache-2.0
基于ImageNet-21k预训练和ImageNet微调的视觉变换器模型,用于图像分类任务
图像分类
V
google
4.8M
775
Vit Base Patch16 224 In21k
Apache-2.0
基于ImageNet-21k数据集预训练的视觉Transformer模型,用于图像分类任务。
图像分类
V
google
2.2M
323
Dinov2 Base
Apache-2.0
基于DINOv2方法训练的视觉Transformer模型,通过自监督学习提取图像特征
图像分类
Transformers

D
facebook
1.9M
126
Gender Classification
一个基于PyTorch和HuggingPics构建的图像分类模型,用于识别图像中的性别
图像分类
Transformers

G
rizvandwiki
1.8M
48
Vit Base Nsfw Detector
Apache-2.0
基于Vision Transformer (ViT)架构的图像分类模型,专门用于检测图像是否包含NSFW(不安全)内容。
图像分类
Transformers

V
AdamCodd
1.2M
47
Vit Hybrid Base Bit 384
Apache-2.0
混合视觉变换器(ViT)模型结合了卷积网络和Transformer架构,用于图像分类任务,在ImageNet上表现出色。
图像分类
Transformers

V
google
992.28k
6
Gender Classification 2
这是一个基于PyTorch框架和HuggingPics工具生成的图像分类模型,专门用于性别分类任务。
图像分类
Transformers

G
rizvandwiki
906.98k
32
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98