File size: 4,044 Bytes
80c1f4a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
132
133
134
135
136
137
138
139
140
141
---
license: apache-2.0
tags:
- vision
- image-classification
- medical
- glomerulus
- pathology
- pytorch
- transformers
- vision-transformer
datasets:
- custom
metrics:
- accuracy
- f1
model-index:
- name: vision-transformer-glomerulus-classifier
  results:
  - task:
      type: image-classification
      name: Image Classification
    dataset:
      name: Glomerulus Classification Dataset
      type: custom
    metrics:
    - type: accuracy
      value: 0.9491
    - type: f1
      value: 0.9493
---

# Vision Transformer for Glomerulus Classification

This model is a **Vision Transformer Large** fine-tuned for classification of renal glomerulus images, distinguishing between normal and crescentic conditions across different histological stains.

## Model Performance

- **Accuracy**: 0.9491 (94.91%)
- **F1-Score**: 0.9493 (94.93%)


## Supported Classes

The model classifies glomeruli into **10 classes**:

### Normal:
- `Normal_AZAN` - Normal glomerulus with Azan staining
- `Normal_HE` - Normal glomerulus with H&E staining
- `Normal_PAMS` - Normal glomerulus with PAMS staining
- `Normal_PAS` - Normal glomerulus with PAS staining
- `Normal_PICRO` - Normal glomerulus with Picro staining

### Crescentic:
- `Crescente_AZAN` - Crescentic glomerulus with Azan staining
- `Crescente_HE` - Crescentic glomerulus with H&E staining
- `Crescente_PAMS` - Crescentic glomerulus with PAMS staining
- `Crescente_PAS` - Crescentic glomerulus with PAS staining
- `Crescente_PICRO` - Crescentic glomerulus with Picro staining

## How to Use

```python
from transformers import AutoImageProcessor, AutoModelForImageClassification
from PIL import Image
import torch

# Load model and processor
model_name = "CleitonOERocha/vision-transformer-glomerulus-classifier"
processor = AutoImageProcessor.from_pretrained(model_name)
model = AutoModelForImageClassification.from_pretrained(model_name)

# Load and process image
image = Image.open("your_image.jpg")
inputs = processor(images=image, return_tensors="pt")

# Make prediction
with torch.no_grad():
    outputs = model(**inputs)
    predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
    predicted_class_id = predictions.argmax().item()
    predicted_class = model.config.id2label[predicted_class_id]
    confidence = predictions.max().item()

print(f"Predicted class: {predicted_class}")
print(f"Confidence: {confidence:.4f}")
```

## Technical Details

- **Architecture**: Vision Transformer Large (ViT-L/16)
- **Base Model**: google/vit-large-patch16-224-in21k
- **Input Size**: 224x224 pixels
- **Patch Size**: 16x16
- **Parameters**: ~300M
- **Framework**: PyTorch + Transformers

## Model Comparison

In our benchmark:
1. **Vision Transformer Large**: 94.91% (this model)
2. **Vision Transformer Base**: 93.53%
3. **ResNet-50**: 50.58%

## Performance by Class

| Class | Precision | Recall | F1-Score | Support |
|-------|-----------|--------|----------|---------|
| Crescente_AZAN | 0.9500 | 0.9344 | 0.9421 | 61 |
| Crescente_HE | 0.9665 | 0.9914 | 0.9788 | 233 |
| Crescente_PAMS | 0.9737 | 0.9487 | 0.9610 | 78 |
| Crescente_PAS | 0.9607 | 0.9661 | 0.9634 | 177 |
| Crescente_PICRO | 0.7179 | 0.6364 | 0.6747 | 44 |
| Normal_AZAN | 0.8714 | 0.9683 | 0.9173 | 63 |
| Normal_HE | 0.9908 | 0.9908 | 0.9908 | 434 |
| Normal_PAMS | 0.9785 | 0.9681 | 0.9733 | 94 |
| Normal_PAS | 0.9835 | 0.8151 | 0.8914 | 146 |
| Normal_PICRO | 0.6667 | 0.9565 | 0.7857 | 46 |

## Dataset

The model was trained on a custom dataset of renal glomerulus images with:
- **Total images**: 2,759 images
- **Training**: 1,383 images  
- **Test**: 1,376 images
- **Stains**: 5 types (AZAN, H&E, PAMS, PAS, PICRO)
- **Conditions**: Normal vs Crescentic


## Limitations

- Trained specifically for renal glomeruli
- Requires histological quality images
- Does not replace professional medical diagnosis
- Performance may vary with different equipment/protocols


---

**Note**: This model is for research and educational purposes. It should not be used as the sole source for medical diagnosis.