--- title: Garment Attribute Predictor emoji: 👕 colorFrom: indigo colorTo: blue sdk: gradio sdk_version: 5.25.2 app_file: app.py pinned: true --- # 👕 Fashion Attribute Predictor Ein Gradio-basierter Hugging Face Space zur Vorhersage von Attributen aus Modebildern (z. B. T-Shirts, Pullover, etc.) Das Modell sagt für jede Attributgruppe (z. B. Farbe, Material, Schnitt) **das wahrscheinlichste Merkmal** vorher – inklusive **Confidence-Score**. --- ## 🔍 Funktionen - 📸 Unterstützung für Bild-Upload - 🧠 Vorhersage von Attributen aus 228 Kategorien - 📊 Strukturierte **JSON-Ausgabe** mit `label`, `score` und `confidence` - ✅ Einfache Integration in Datenbanken, APIs oder Forschungsprojekte --- ## 🧩 Unterstützte Attributgruppen Das Modell liefert jeweils **das wahrscheinlichste Attribut** aus jeder dieser Gruppen: | Attributgruppe | Beschreibung (Beispiele) | |----------------|-------------------------------------------------| | `category` | Kleidungstyp (z. B. T-Shirts, Jeans, Blazer) | | `color` | Farbton (z. B. Red, Black, Blue) | | `material` | Materialtyp (z. B. Cotton, Leather, Lace) | | `style` | Stil (z. B. Vintage, Bandage, Peplum) | | `pattern` | Muster (z. B. Striped, Polka Dot, Floral) | | `sleeve` | Ärmeltyp (z. B. Sleeveless, Long Sleeves) | | `neckline` | Ausschnittform (z. B. V-Neck, Round Neck) | | `gender` | Gender-Zielgruppe (Male, Female, Neutral) | --- ## 📦 Ausgabeformat (Beispiel) ```json { "category": { "label": "T-Shirts", "score": 0.9123, "confidence": "high" }, "color": { "label": "Red", "score": 0.4871, "confidence": "low" } } ``` - **score**: Modellwahrscheinlichkeit (0.0–1.0) - **confidence**: `"high"` wenn Score ≥ 0.5, sonst `"low"` --- ## 📁 Dateien | Datei | Beschreibung | |-----------------------------|--------------| | `app.py` | Haupt-Interface mit JSON-Ausgabe | | `model_loader.py` | Lädt das trainierte ResNet50-Modell | | `index_to_attr.py` | Mapping von Indizes zu Attributnamen | | `model/AttrPredModel_StateDict.pth` | Vorgefertigte Modellgewichte | --- ## ⚙️ Modell-Details - Backbone: `ResNet50` - Trainingsdaten: iMaterialist (Fashion) Challenge 2018 - Vorhersageformat: Multi-Label (228 binäre Attribute) - Eingabegröße: 512×512 RGB - Normalisierung: mean=[0.6765, 0.6347, 0.6207], std=[0.3284, 0.3371, 0.3379] --- ## 📚 Lizenz & Nutzung Nur für nicht-kommerzielle Forschungszwecke. Modelldaten basieren auf öffentlich verfügbaren Wettbewerbsdaten von FGVC5/Kaggle. --- ## 🧑‍💻 Erstellt von Andreas Jewtschuk Masterarbeit – E-Commerce, Ernst-Abbe-Hochschule Jena [2025] --- ## 📥 Modellquelle Dieses Projekt basiert auf dem vortrainierten Modell aus: **VisualFashionAttributePrediction** by [Malte Prinzler](https://github.com/malteprinzler) 🔗 https://github.com/malteprinzler/VisualFashionAttributePrediction Das Modell wurde ursprünglich im Rahmen der [iMaterialist Challenge (Fashion) 2018](https://www.kaggle.com/competitions/imaterialist-challenge-fashion-2018/) trainiert und basiert auf einem ResNet50-Backbone. --- ## 🔧 Modifikationen durch den Autor Im Rahmen dieser Anwendung wurde ausschließlich die **Ausgabe der Attributvorhersagen** verändert: - Ursprünglich wurden nur Attribute mit einem Score über 0.5 angezeigt. - In dieser Version wird **für jede Attributgruppe** (z. B. Farbe, Material, Ärmel) das **wahrscheinlichste Attribut** angezeigt – unabhängig vom Score. - Zusätzlich wird eine Einschätzung über die Modellzuversicht (`confidence`: "high" / "low") auf Basis eines Schwellenwerts von 0.5 ausgegeben. Das Modell selbst wurde nicht verändert.