chrisis2's picture
Update README.md
396c716 verified
---
library_name: transformers
license: apache-2.0
base_model: google/vit-base-patch16-224
tags:
- image-classification
- food-classification
- generated_from_trainer
datasets:
- imagefolder
metrics:
- accuracy
model-index:
- name: vit-food-classification-chrisis2
results:
- task:
name: Image Classification
type: image-classification
dataset:
name: food-classification
type: imagefolder
config: default
split: train
args: default
metrics:
- name: Accuracy
type: accuracy
value: 0.9262981574539364
---
<!-- This model card has been generated automatically according to the information the Trainer had access to. You
should probably proofread and complete it, then remove this comment. -->
# vit-food-classification-chrisis2
Dieses Modell ist eine feinjustierte Version von [google/vit-base-patch16-224](https://huggingface.co/google/vit-base-patch16-224) für den Datensatz "food-classification".
Es erzielt die folgenden Ergebnisse in der Auswertungsmenge:
- Loss: 0.2449
- Accuracy: 0.9263
## Modell Beschreibung
Das Modell basiert auf der Vision Transformer (ViT) Architektur und wurde mithilfe der Hugging Face Trainer API auf ca. 24 000 Bildern trainiert.
Ziel war es, ein robustes Klassifikationsmodell für die Anwendung von Gerichten zu entwickeln.
## Einsatzbereiche und Einschränkungen
Verwendungszweck:
- Klassifizierung von Lebensmitteln zu Bildungs-, Analyse- oder Demonstrationszwecken
- Kann in Gradio-Anwendungen zur Klassifizierung von Gerichten einschliesslich der westlichen und vor allem indischen Küche verwendet werden
Einschränkungen:
- Nicht geeignet für ungewöhnliche oder gemischte Gerichte, die nicht im Trainingssatz enthalten sind.
- Kann keine Zutaten, Kalorienwerte oder Portionsgrössen identifizieren, sondern nur das am besten passende Etikett
## Trainings- und Evaluationsdaten
Das Modell wurde auf einem öffentlichen Lebensmitteldatensatz von Kaggle.com mit rund **24 000 Bildern in 34 Klassen** trainiert. Jede Klasse umfasst ca. 700–800 Bilder.
Aufteilung des Datensatzes:
- 80 % Training
- 10 % Validierung
- 10 % Testdaten
### Training der Hyperparameter
Die folgenden Hyperparameter wurden beim Training verwendet:
- learning_rate: 5e-05
- train_batch_size: 16
- eval_batch_size: 8
- seed: 42
- optimizer: Use adamw_torch with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments
- lr_scheduler_type: linear
- num_epochs: 6
### Training Resultate
| Training Loss | Epoch | Step | Validation Loss | Accuracy |
|:-------------:|:-----:|:----:|:---------------:|:--------:|
| 0.0983 | 1.0 | 1194 | 0.2300 | 0.9330 |
| 0.0981 | 2.0 | 2388 | 0.2302 | 0.9359 |
| 0.0873 | 3.0 | 3582 | 0.2302 | 0.9346 |
| 0.1053 | 4.0 | 4776 | 0.2296 | 0.9372 |
| 0.0879 | 5.0 | 5970 | 0.2294 | 0.9351 |
| 0.0982 | 6.0 | 7164 | 0.2293 | 0.9355 |
## Vergleich mit Zero-Shot-Modell (CLIP)
Zur Einordnung der Leistung wurde das Modell mit einem Zero-Shot-Klassifikationsmodell [`openai/clip-vit-large-patch14`](https://huggingface.co/openai/clip-vit-large-patch14) verglichen. Beide Modelle wurden auf dem identischen Testset (2 388 Bilder) ausgewertet.
**Zero-Shot Modell:**
- Modell: CLIP (ViT-Large, Patch-14)
- Aufgabe: `zero-shot-image-classification`
- Keine Feinjustierung – nutzt nur Text-Bild-Verständnis
### Beobachtungen
- Das ViT-Modell erzielt konstant höhere Genauigkeit und klarere Top-1-Vorhersagen, besonders bei gut ausgeleuchteten, zentrierten Bildern.
- Das CLIP-Modell zeigte gute Generalisierung, besonders bei uneindeutigen oder visuell komplexen Gerichten.
- Während das ViT-Modell gezielt auf die Erkennung fester Klassen trainiert wurde, basiert CLIP auf einem allgemeinen Sprach-Bild-Verständnis und ordnet Bilder den semantisch passendsten Beschriftungen zu.
### Zero-Shot Ergebnisse:
- Accuracy: 0.8622
- Precision: 0.9058
- Recall: 0.8622
### Framework Versionen
- Transformers 4.50.0
- Pytorch 2.6.0+cu124
- Datasets 3.4.1
- Tokenizers 0.21.1