chrisis2's picture
Update README.md
396c716 verified
metadata
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

vit-food-classification-chrisis2

Dieses Modell ist eine feinjustierte Version von 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 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