metadata
license: apache-2.0
datasets:
- prithivMLmods/Realistic-Portrait-Gender-1024px
language:
- en
base_model:
- google/siglip2-base-patch16-224
pipeline_tag: image-classification
library_name: transformers
tags:
- Gender
- Classification
- art
- realism
- portrait
- Male
- Female
- SigLIP2
Realistic-Gender-Classification
Realistic-Gender-Classification is a binary image classification model based on
google/siglip2-base-patch16-224
, designed to classify gender from realistic human portrait images. It can be used in demographic analysis, personalization systems, and automated tagging in large-scale image datasets.
SigLIP 2: Multilingual Vision-Language Encoders with Improved Semantic Understanding, Localization, and Dense Features https://arxiv.org/pdf/2502.14786
Classification Report:
precision recall f1-score support
female portrait 0.9754 0.9656 0.9705 1600
male portrait 0.9660 0.9756 0.9708 1600
accuracy 0.9706 3200
macro avg 0.9707 0.9706 0.9706 3200
weighted avg 0.9707 0.9706 0.9706 3200
Label Classes
The model distinguishes between the following portrait gender categories:
0: female portrait
1: male portrait
Installation
pip install transformers torch pillow gradio
Example Inference Code
import gradio as gr
from transformers import AutoImageProcessor, SiglipForImageClassification
from PIL import Image
import torch
# Load model and processor
model_name = "prithivMLmods/Realistic-Gender-Classification"
model = SiglipForImageClassification.from_pretrained(model_name)
processor = AutoImageProcessor.from_pretrained(model_name)
# ID to label mapping
id2label = {
"0": "female portrait",
"1": "male portrait"
}
def classify_gender(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()
prediction = {id2label[str(i)]: round(probs[i], 3) for i in range(len(probs))}
return prediction
# Gradio Interface
iface = gr.Interface(
fn=classify_gender,
inputs=gr.Image(type="numpy"),
outputs=gr.Label(num_top_classes=2, label="Gender Classification"),
title="Realistic-Gender-Classification",
description="Upload a realistic portrait image to classify it as 'female portrait' or 'male portrait'."
)
if __name__ == "__main__":
iface.launch()
Demo Inference
female portrait
male portrait
Applications
- Demographic Insights in Visual Data
- Dataset Curation & Tagging
- Media Analytics
- Audience Profiling for Marketing