Wenn Sie auf "Alle Cookies akzeptieren" klicken, stimmen Sie der Speicherung von Cookies auf Ihrem Gerät zu, um die Navigation auf der Website zu verbessern, die Nutzung der Website zu analysieren und unsere Marketingaktivitäten zu unterstützen. Mehr Infos
Cookie-Einstellungen
Wenn Sie auf "Alle Cookies akzeptieren" klicken, stimmen Sie der Speicherung von Cookies auf Ihrem Gerät zu, um die Navigation auf der Website zu verbessern, die Nutzung der Website zu analysieren und unsere Marketingaktivitäten zu unterstützen. Mehr Infos
Entdecken Sie den Unterschied zwischen Echtzeit-Inferenzierung und Batch-Inferenzierung bei der Verwendung von Ultralytics YOLO11 für verschiedene Computer-Vision-Anwendungen.
Wenn Sie schon einmal ein selbstfahrendes Auto in Aktion gesehen haben, waren Sie Zeuge von KI-Inferencing in Echtzeit. Ein selbstfahrendes Auto nutzt in der Regel Kameras, Sensoren und KI, um seine Umgebung zu verarbeiten und fast sofortige Entscheidungen zu treffen. Wenn jedoch keine schnellen Antworten erforderlich sind, kann die Echtzeit-Inferenzierung ressourcenintensiv sein.
Eine bessere Option ist in diesen Fällen die Batch-Inferenz. Anstatt Daten kontinuierlich in Echtzeit zu verarbeiten, kann eine Batch-Inferenz große Datensätze in geplanten Intervallen verarbeiten. Dieser Ansatz hilft, Ressourcen zu sparen, den Stromverbrauch zu senken und die Infrastrukturkosten zu reduzieren.
Bei Computer-Vision-Anwendungen beispielsweise können Modelle wie Ultralytics YOLO11 für Echtzeitaufgaben wie Objekterkennung und Instanzsegmentierung verwendet werden. Die Verarbeitung großer Mengen visueller Daten in Echtzeit kann jedoch sehr anspruchsvoll sein.
Abb. 1. Ein Beispiel für die Segmentierung von Objekten in einem Bild mit YOLO11.
Mit Batch-Inferencing kann YOLO11 auf visuellen Daten in Stapeln ausgeführt werden, was die Belastung des Systems reduziert und die Effizienz ohne Leistungseinbußen verbessert. Dies erleichtert die Bereitstellung von Vision AI-Lösungen in großem Maßstab, ohne die Hardware zu überlasten oder die Kosten zu erhöhen.
In diesem Artikel werden wir uns mit der Batch-Inferenzierung, ihren Vorteilen und der Anwendung der Batch-Inferenzierung mit YOLO11 in Computer Vision Anwendungen beschäftigen. Legen wir los!
Ein Blick auf die Batch-Inferenzierung in der Computer Vision
Man kann sich die Batch-Inferenzierung so vorstellen, dass eine große Aufgabe auf einmal in Angriff genommen wird, anstatt sie Stück für Stück zu verarbeiten, sobald sie eintrifft. Anstatt Daten ständig in Echtzeit zu verarbeiten, können Sie mit der Stapelverarbeitung große Datengruppen in bestimmten Abständen verarbeiten. Dieser Ansatz ist sehr viel effizienter, wenn keine sofortigen Antworten erforderlich sind, und hilft, Rechenressourcen zu sparen, den Energieverbrauch zu senken und Kosten zu reduzieren.
In der Computer Vision gibt es bestimmte Anwendungen, bei denen eine niedrige Latenzzeit entscheidend ist. Eine niedrige Latenzzeit ist die minimale Verzögerung zwischen der Eingabe (z. B. eines Bildes oder Videobildes) und der Reaktion des Systems. Bei der Echtzeit-Sicherheitsüberwachung zum Beispiel können selbst kleine Verzögerungen zu Sicherheitsrisiken führen.
In vielen anderen Computer-Vision-Szenarien ist eine niedrige Latenzzeit jedoch nicht so entscheidend. Hier kommt das Batch-Inferencing zum Tragen, wenn das System nicht sofort reagieren muss. Bei der Batch-Inferenzierung werden visuelle Daten in Gruppen oder Stapeln an ein Computer-Vision-Modell weitergeleitet, so dass das System große Datensätze auf einmal und nicht kontinuierlich in Echtzeit verarbeiten kann.
Verstehen der Funktionsweise der Batch-Inferenzierung
Im Folgenden werden die einzelnen Schritte der Batch-Inferenzierung näher erläutert:
Datenerfassung: Visuelle Daten werden über einen bestimmten Zeitraum hinweg gesammelt. Dazu können je nach Anwendung Sicherheitsaufnahmen, Produktbilder oder Kundendaten gehören.
Vorbereitung der Chargen: Die gesammelten Daten werden dann in Chargen gruppiert. In diesem Schritt werden die Daten entsprechend den Anforderungen des Modells formatiert. So können beispielsweise Bilder in der Größe verändert, normalisiert oder in das für die Verarbeitung durch das Modell geeignete Format konvertiert werden.
Vorhersage: Sobald die Daten aufbereitet sind, wird der gesamte Stapel in das Modell (wie YOLO11) eingespeist, das den gesamten Stapel auf einmal verarbeitet. Dadurch kann das Modell Vorhersagen für alle Daten im Stapel gleichzeitig treffen, was den Prozess effizienter macht, als wenn jeder Datenpunkt einzeln bearbeitet würde.
Wann wird die Batch-Inferenzierung eingesetzt?
Nachdem wir uns nun damit beschäftigt haben, was Batch-Inferencing ist und wie es sich von Echtzeit-Inferencing unterscheidet, wollen wir uns nun genauer ansehen, wann es eingesetzt werden sollte.
Batch-Inferencing ist ideal für die Analyse historischer Daten. Nehmen wir an, Sie haben Überwachungsmaterial von einer U-Bahn-Station aus dem letzten Monat und möchten bestimmte Muster erkennen, z. B. die Anzahl der Personen, die zu verschiedenen Tageszeiten ein- und ausgehen.
Anstatt jedes einzelne Bild in Echtzeit zu verarbeiten, können Sie mit der Stapelinferenzierung das Filmmaterial eines ganzen Monats in Stapeln verarbeiten und so wichtige Ereignisse oder Trends erkennen, ohne sofortige Ergebnisse zu benötigen. Auf diese Weise können Sie große Datenmengen effizienter analysieren und Einblicke in langfristige Muster gewinnen, ohne das System zu überlasten oder eine ständige Überwachung zu erfordern.
Batch-Inferencing ist auch eine optimale Lösung, wenn die Systemressourcen begrenzt sind. Indem Sie die Inferenz außerhalb der Stoßzeiten (z. B. über Nacht) durchführen, können Sie Rechenkosten sparen und sicherstellen, dass das System während der Stoßzeiten nicht überlastet wird. Dies macht es zu einem effizienten und kostengünstigen Ansatz für Unternehmen oder Projekte, die große Datensätze verarbeiten müssen, aber keine Echtzeitanalyse benötigen.
Batch-Inferencing mit Ultralytics YOLO11
Das Ultralytics Python-Paket unterstützt Batch-Inferenzierung für Modelle wie YOLO11. Mit YOLO11 können Sie die Batch-Inferenz einfach ausführen, indem Sie das Argument "batch" angeben, das bestimmt, wie viele Bilder oder Videoframes auf einmal verarbeitet werden.
Bei der Stapelinferenzierung werden die Vorhersagen für alle Bilder im Stapel gleichzeitig erstellt. Standardmäßig ist die Stapelgröße auf 1 eingestellt, aber Sie können sie auf jede beliebige Zahl einstellen.
Wenn zum Beispiel die Stapelgröße auf 5 eingestellt ist, verarbeitet YOLO11 fünf Bilder oder Videoframes auf einmal und erstellt Vorhersagen für alle fünf auf einmal. Größere Stapelgrößen führen in der Regel zu schnelleren Inferenzzeiten, da die Verarbeitung mehrerer Bilder in einem Stapel effizienter ist als die Verarbeitung der einzelnen Bilder.
Computer-Vision-Anwendungen durch Batch-Inferencing ermöglicht
Als Nächstes wollen wir einige reale Anwendungsfälle für Batch-Inferencing in der Computer Vision untersuchen.
Verbesserung der Diagnostik und Forschung im Gesundheitswesen
In der medizinischen Forschung ist die Arbeit mit großen Mengen visueller Daten sehr verbreitet. Hier kann das Batch-Inferencing den Wissenschaftlern helfen, Daten in Bereichen wie Chemie, Biologie und Genetik einfacher zu analysieren. Anstatt die Daten einzeln zu analysieren, werden sie in Stapeln verarbeitet, was Zeit und Mühe spart.
In medizinischen Einrichtungen kann die Stapelverarbeitung zum Beispiel besonders nützlich sein, um große Mengen medizinischer Bilder wie MRT- oder CT-Scans zu analysieren. Krankenhäuser können diese Scans im Laufe des Tages sammeln und über Nacht in Stapeln verarbeiten.
Auf diese Weise können die Krankenhäuser ihre Hardware und ihr Personal besser nutzen, die Betriebskosten senken und sicherstellen, dass alle Scans auf einheitliche Weise geprüft werden. Es ist auch vorteilhaft für große Forschungsprojekte und Langzeitstudien, bei denen große Datenmengen verarbeitet werden müssen.
Abb. 2. Erkennung eines medizinischen Scans mit YOLO11.
Verbesserung autonomer Fahrzeuge durch Simulationen
Selbstfahrende Autos nutzen KI-Technologien wie Computer Vision, um die Welt um sie herum zu verarbeiten. Mithilfe fortschrittlicher Modelle wie YOLO11 können die bordeigenen Systeme im Auto andere Fahrzeuge, Fahrspuren, Straßenschilder und Menschen auf der Straße erkennen. Während die Echtzeit-Inferenzierung auf der Straße von entscheidender Bedeutung ist, stützt sich die selbstfahrende Technologie auch stark auf die Batch-Inferenzierung hinter den Kulissen.
Abb. 3. YOLO11 kann Fußgänger auf der Straße leicht erkennen.
Nach Abschluss einer Fahrt können die gesammelten Daten, wie z. B. stundenlanges Kameramaterial, Sensormessungen und LIDAR-Scans, später in großen Stapeln verarbeitet werden. Auf diese Weise können die Ingenieure die KI-Modelle des Fahrzeugs aktualisieren, die Sicherheit des Systems erhöhen und seine Fähigkeit verbessern, mit verschiedenen Fahrbedingungen umzugehen.
Batch Inferencing wird auch in Simulationen des autonomen Fahrens eingesetzt, um zu testen, wie selbstfahrende Autos in verschiedenen Situationen reagieren würden, z. B. beim Navigieren an belebten Kreuzungen oder bei der Reaktion auf unvorhersehbare Fußgängerbewegungen. Dieser Ansatz spart Zeit, senkt die Kosten und vermeidet die Risiken, die mit dem Testen jedes Szenarios in der Realität verbunden sind.
Analyse von Einzelhandelsdaten durch Batch-Inferencing
Auch für Einzelhandelsgeschäfte kann die Stapelverarbeitung mit Bildverarbeitungsmodellen wie YOLO11 die betriebliche Effizienz erheblich steigern. Kamerasysteme in Geschäften können beispielsweise den ganzen Tag über Tausende von Bildern aufnehmen, die dann über Nacht in Stapeln verarbeitet werden können.
Dadurch können die Geschäfte analysieren, was im Laden passiert, z. B. Kundenverhalten, Verkehrsmuster und Produktinteraktionen, ohne dass eine Echtzeitverarbeitung erforderlich ist, was für kleinere Geschäfte eine Herausforderung darstellen kann.
Ein weiteres interessantes Beispiel ist die Verwendung von Batch Inferencing zur Erstellung von Heatmaps, die Bereiche mit hoher und niedriger Kundenaktivität im Geschäft visualisieren. Durch die Analyse dieser Heatmaps können Einzelhändler erkennen, welche Bereiche am stärksten frequentiert werden und welche Teile des Ladens möglicherweise mehr Aufmerksamkeit oder eine Optimierung der Produktplatzierung erfordern. Diese Daten können Einzelhändlern helfen, bessere Entscheidungen über das Ladenlayout, die Produktpositionierung und sogar über Werbestrategien zu treffen, um das Kundenerlebnis und den Umsatz zu verbessern.
Abb. 4. Heatmaps können Einzelhändlern helfen, beliebte Bereiche in Geschäften zu identifizieren.
Vor- und Nachteile der Batch-Inferenzierung
Hier sind einige der wichtigsten Vorteile, die die Batch-Inferenzierung für verschiedene Branchen bringen kann:
Leichte Integration: Batch-Inferencing lässt sich leicht in bestehende Arbeitsabläufe integrieren, insbesondere in Branchen wie Einzelhandel, Sicherheit oder Gesundheitswesen, wo große Datenmengen in Massen verarbeitet werden müssen.
Leichtere Datenverwaltung: Bei der Arbeit mit großen Datenmengen kann die Batch-Inferenzierung die Datenverwaltung rationalisieren, da die Daten in überschaubare Teile gruppiert werden. Dies macht es einfacher, Daten im Laufe der Zeit zu verfolgen, zu überprüfen und zu organisieren.
Geringere Netzwerkbelastung: Wenn Daten in Stapeln verarbeitet werden, kann die Menge der zu einem bestimmten Zeitpunkt übertragenen Daten minimiert werden, was die Belastung der Netzwerkressourcen in Cloud-basierten Systemen oder verteilten Computerumgebungen verringert.
Die Batch-Inferenzierung hat zwar viele Vorteile, aber es gibt auch einige Einschränkungen. Hier sind einige Faktoren, die zu beachten sind:
Speicherbedarf: Die Speicherung großer Datensätze für die Stapelverarbeitung kann die Speicherkosten erheblich erhöhen, insbesondere bei hochauflösenden Bildern, Videos oder großen Datenmengen.
Rückstandspotenzial: Wenn sich Daten schnell ansammeln oder große Stapel nicht rechtzeitig verarbeitet werden, kann ein Rückstand entstehen. Dies kann zu Verzögerungen bei der Bereitstellung von Erkenntnissen und der rechtzeitigen Verarbeitung neuer Daten führen.
Ressourcen-Spitzen: Große Stapel, insbesondere solche mit hochauflösenden Bildern, können Spitzen in der Speicher- oder Rechennutzung verursachen. Wenn diese Spitzen nicht ordnungsgemäß verwaltet werden, können sie die Systeme überfordern und zu Verlangsamungen oder Abstürzen führen.
Die wichtigsten Erkenntnisse
Batch Inferencing ist eine effiziente Methode zur Verarbeitung großer Mengen visueller Daten, die keine sofortigen Ergebnisse erfordern. Anstatt jedes Bild in Echtzeit zu analysieren, werden sie in Stapeln zu geplanten Zeiten verarbeitet, beispielsweise über Nacht.
Diese Methode ist kosteneffizient, reduziert die Rechenlast und liefert dennoch genaue Ergebnisse. Von der Bestandsverwaltung in Geschäften über die Unterstützung von Ärzten bei der Analyse medizinischer Scans bis hin zur Verbesserung von Technologien für selbstfahrende Autos - die Batch-Inferenzierung macht Computer Vision für reale Anwendungen zugänglicher, erschwinglicher und praktischer.