← Back to list

Bildklassen-Finder mit YOLO und Streamlit

Für dieses Projekt habe ich eine interaktive Webanwendung entwickelt, mit der Benutzer Bilder hochladen, Objektkategorien auswählen und…

Mert · 2025-06-28 15:01 · 50 claps · 2.2 min read
#computer-vision #ultralytics #yolo #portfolio #streamlit
Open on Medium ↗
Wiki topics: INV · Investing & Markets 🔧 · Data Engineering

Bildklassen-Finder mit YOLO und Streamlit

Für dieses Projekt habe ich eine interaktive Webanwendung entwickelt, mit der Benutzer Bilder hochladen, Objektkategorien auswählen und Bilder basierend auf den ausgewählten Objekten automatisch erkennen und filtern können. Die App wurde mit YOLO für die Objekterkennung und Streamlit für die Weboberfläche erstellt und demonstriert Echtzeit-Filterung auf Basis künstlicher Intelligenz in einer übersichtlichen und einfachen Benutzeroberfläche.

Hier können Sie es selbst ausprobieren: Streamlit

Einleitung

In diesem Projekt habe ich eine intelligente Bildfilteranwendung entwickelt, die die YOLO-Objekterkennung mit einer Streamlit-basierten Benutzeroberfläche kombiniert. Die App ermöglicht es Benutzern:

  • Laden Sie ein oder mehrere Bilder hoch.
  • Wählen Sie Objektkategorien (z. B. „Hund“, „Auto“, „Pizza“) aus dem COCO-Datensatz aus.
  • Erkennen Sie diese Objekte in Echtzeit.
  • Nur die Bilder anzeigen und isolieren, die die ausgewählten Objekte enthalten.

Dieser Beitrag gibt einen Überblick über die Struktur des Projekts, seine wichtigsten Komponenten und die zugrunde liegende Logik dieses Echtzeit-Filtertools. Er dient auch als technisches Vorzeigeprojekt, das meine Fähigkeit demonstriert, Deep Learning mit produktionsreifen Frontend-Erfahrungen zu kombinieren.

Kernlogik und Funktionen

🔁 Modell-Caching

Um zu vermeiden, dass das große YOLO-Modell bei jeder Erkennung neu geladen werden muss, habe ich Streamlit’s @st.cache_resource decorator benutzt:

@st.cache_resource
def load_yolo_model():
    return YOLO("yolo11m.pt")  # Replace with your model path

Dies verbessert die Leistung erheblich, insbesondere bei mehreren Interaktionen in derselben Sitzung.

🎯 Erkennungsfunktion

Die detect_with_yolo Funktion führt eine Inferenz unter Verwendung des YOLO-Modells durch, ordnet vom Benutzer ausgewählte Klassennamen internen Klassen-IDs zu und filtert die Vorhersagen entsprechend:

def detect_with_yolo(image, selected_classes, conf: float = 0.25):
    model = load_yolo_model()
    all_class_names = model.names
    name_to_index = {v: k for k, v in all_class_names.items()}
    target_labels = [name_to_index[name] for name in selected_classes if name in name_to_index]
    results = model.predict(image, classes=target_labels, conf=conf)
    return results[0] if results else None

Diese Funktion stellt sicher, dass wir nur nach den Objekten suchen, die für den Benutzer tatsächlich von Interesse sind.

🖼️ Benutzeroberfläche mit Streamlit

Die Benutzeroberfläche umfasst:

  • Eine Seitenleiste mit Klassenauswahl und Schieberegler für die Konfidenzschwelle
  • Ein Datei-Uploader für Bilddateien
  • Eine Schaltfläche zur Erkennung von Bewegungen, um die Objekterkennung auszulösen
  • Ein Ergebnisfenster, das nur Bilder mit übereinstimmenden Objekten anzeigt.
if result and result.boxes and len(result.boxes.cls) > 0:
    matched_images.append((file.name, image))

Der Fortschritt wird in Echtzeit verfolgt, sodass Benutzer während der Verarbeitung ihrer Bilder Feedback erhalten.

▶️ Ausführen der Anwendung

Um die Anwendung lokal auszuführen:

Das Repository klonen

git clone https://github.com/MertAkguel/SearchImages.git

Abhängigkeiten installieren

pip install -r requirements.txt

Die App ausführen

streamlit run app.py

Die App wird in Ihrem Browser gestartet und ist sofort einsatzbereit.

📌 Funktionen auf einen Blick

✅ Mehrere Bilder hochladen ✅Wählen Sie aus über 80 COCO-Objektklassen ✅ Schwellenwert für die Erkennungssicherheit festlegen ✅ Filtern und anzeigen Sie nur Bilder mit den gewünschten Objekten. ✅ Reaktionsschnelles Feedback zu Fortschritten und ErfolgenFazit

Fazit

Dieses Projekt zeigt, wie leistungsstarke Computer-Vision-Tools wie YOLO mithilfe von Streamlit in benutzerfreundliche Anwendungen integriert werden können. Es ist ein übersichtliches, praxisnahes Beispiel für:

  • Modellbereitstellung mit effizientem Caching
  • Benutzerorientierte Filterung auf Basis von KI-Prognosen
  • Ein modernes, interaktives Frontend ohne traditionellen Webcode zu schreiben

Ob Sie KI-gestützte Content-Tools entwickeln, Pipelines filtern oder einfach nur maschinelles Lernen präsentieren — dieses Projekt zeigt, wie Sie fortschrittliche KI mit echter Benutzerfreundlichkeit verbinden können.

Full Source Code: https://github.com/MertAkguel/SearchImages Probieren Sie es selbst aus: Streamlit


메타데이터
post_id
7cd0b18c3e8a
slug
bildklassen-finder-mit-yolo-und-streamlit-7cd0b18c3e8a
url
https://medium.com/@Mert.A/bildklassen-finder-mit-yolo-und-streamlit-7cd0b18c3e8a
canonical_url
https://medium.com/@Mert.A/bildklassen-finder-mit-yolo-und-streamlit-7cd0b18c3e8a
author_url
https://medium.com/@Mert.A
status
ok
fetched_at
2026-07-19 06:10:46