File size: 3,898 Bytes
daefa4a 233b25a 373a042 11c208c 9cac767 3cce231 11c208c 53da408 dab6b73 3cce231 f2651e1 3cce231 9cac767 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
---
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.
> [!note]
*SigLIP 2: Multilingual Vision-Language Encoders with Improved Semantic Understanding, Localization, and Dense Features* https://arxiv.org/pdf/2502.14786
```py
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**
```bash
pip install transformers torch pillow gradio
```
---
## **Example Inference Code**
```python
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
> [!note]
female portrait


> [!note]
male portrait


## **Applications**
* **Demographic Insights in Visual Data**
* **Dataset Curation & Tagging**
* **Media Analytics**
* **Audience Profiling for Marketing** |