Indem Sie auf „Alle Cookies akzeptieren“ klicken, stimmen Sie der Speicherung von Cookies auf Ihrem Gerät zu, um die Website-Navigation zu verbessern, die Website-Nutzung zu analysieren und unsere Marketingbemühungen zu unterstützen. Mehr Infos
Cookie-Einstellungen
Indem Sie auf „Alle Cookies akzeptieren“ klicken, stimmen Sie der Speicherung von Cookies auf Ihrem Gerät zu, um die Website-Navigation zu verbessern, die Website-Nutzung zu analysieren und unsere Marketingbemühungen 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 ein selbstfahrendes Auto in Aktion gesehen haben, haben Sie Echtzeit-KI-Inferenz erlebt. Ein selbstfahrendes Auto verwendet typischerweise Kameras, Sensoren und KI, um seine Umgebung zu verarbeiten und fast sofort Entscheidungen zu treffen. Wenn jedoch keine schnellen Reaktionen erforderlich sind, kann die Echtzeit-Inferenz ressourcenintensiv sein.
Eine bessere Option in diesen Fällen ist 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 zum Beispiel werden 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-Inferenz in der Computer Vision
Sie können sich die Batch-Inferenz als die gleichzeitige Bewältigung einer großen Aufgabe vorstellen, anstatt sie Stück für Stück zu bearbeiten, sobald sie eingeht. Anstatt Daten ständig in Echtzeit zu verarbeiten, ermöglicht die Batch-Inferenz die Verarbeitung großer Datengruppen in festgelegten Intervallen. Dieser Ansatz ist viel effizienter, wenn keine sofortigen Reaktionen erforderlich sind, wodurch Rechenressourcen gespart, der Energieverbrauch gesenkt und Kosten reduziert werden.
Wenn es um Computer Vision geht, gibt es bestimmte Anwendungen, bei denen eine geringe Latenzzeit entscheidend ist. Eine geringe Latenzzeit bezieht sich auf die minimale Verzögerung zwischen dem Empfang von Eingaben (z. B. einem Bild oder einem Videoframe) und der Reaktion des Systems. Beispielsweise können in der Echtzeit-Sicherheitsüberwachung selbst kleine Verzögerungen zu Sicherheitsrisiken führen.
In vielen anderen Computer-Vision-Szenarien ist eine geringe Latenzzeit jedoch nicht so kritisch. Hier kommt die Batch-Inferenz ins Spiel - wenn das System nicht sofort reagieren muss. Die Batch-Inferenz funktioniert, indem visuelle Daten in Gruppen oder Batches an ein Computer-Vision-Modell übermittelt werden, wodurch das System große Datensätze auf einmal verarbeiten kann, anstatt kontinuierlich in Echtzeit.
Grundlegendes zur Funktionsweise der Batch-Inferenz
Hier ist ein genauerer Blick auf die Schritte, die bei der Batch-Inferenz erforderlich sind:
Datenerfassung: Visuelle Daten werden über einen bestimmten Zeitraum erfasst. Dies können je nach Anwendung Sicherheitsaufnahmen, Produktbilder oder Kundendaten sein.
Batch-Vorbereitung: Die gesammelten Daten werden dann in Batches gruppiert. Während dieses Schritts werden die Daten gemäß den Anforderungen des Modells formatiert. Beispielsweise können Bilder in der Größe verändert, normalisiert oder in das für 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 sollte man Batch-Inferenz verwenden?
Nachdem wir nun behandelt haben, was Batch-Inferenz ist und wie sie sich von Echtzeit-Inferenz unterscheidet, wollen wir uns genauer ansehen, wann sie 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 versuchen, bestimmte Muster zu erkennen, z. B. die Anzahl der Personen, die zu verschiedenen Tageszeiten ein- und ausgehen.
Anstatt jeden Frame in Echtzeit zu verarbeiten, ermöglicht Batch-Inferencing die Verarbeitung des gesamten Materials eines Monats in Batches, wodurch wichtige Ereignisse oder Trends identifiziert werden, ohne dass sofortige Ergebnisse erforderlich sind. 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 Spitzenzeiten (z. B. über Nacht) ausführen, können Sie Rechenkosten sparen und sicherstellen, dass das System während der Spitzenzeiten 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 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.
Während des Batch-Inferencing-Prozesses werden Vorhersagen für alle Bilder im Batch gleichzeitig generiert. Standardmäßig ist die Batch-Größe auf 1 eingestellt, aber Sie können sie auf eine 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.
Anwendungen der Computer Vision, die durch Batch-Inferencing ermöglicht werden
Als Nächstes wollen wir einige reale Anwendungsfälle für Computer Vision im Bereich Batch-Inferencing 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 Batch-Inferencing Wissenschaftlern helfen, Daten in Bereichen wie Chemie, Biologie und Genetik einfacher zu analysieren. Anstatt die Daten einzeln zu analysieren, werden sie in Batches verarbeitet, was Zeit und Aufwand spart.
In medizinischen Einrichtungen kann Batch-Inferencing beispielsweise besonders nützlich sein, um große Mengen medizinischer Bilder wie MRTs oder CT-Scans zu analysieren. Krankenhäuser können diese Scans den ganzen Tag über erfassen und über Nacht in Batches verarbeiten.
Dieser Ansatz ermöglicht es Krankenhäusern, ihre Hardware und ihr Personal besser zu nutzen, die Betriebskosten zu senken und sicherzustellen, dass alle Scans einheitlich und konsistent überprüft werden. Er ist auch vorteilhaft für große Forschungsprojekte und Langzeitstudien, bei denen die Verarbeitung großer Datenmengen erforderlich ist.
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 detect .
Nachdem ein Auto eine Fahrt beendet hat, können die gesammelten Daten, wie z. B. stundenlanges Kameramaterial, Sensormesswerte und LIDAR-Scans, später in großen Batches verarbeitet werden. Dies ermöglicht es Ingenieuren, die KI-Modelle des Autos zu aktualisieren, die Systemsicherheit zu verbessern und seine Fähigkeit zur Bewältigung verschiedener Fahrbedingungen zu verbessern.
Batch-Inferencing wird auch in autonomen Fahrsimulationen verwendet, um zu testen, wie selbstfahrende Autos in verschiedenen Situationen reagieren würden, z. B. beim Navigieren in belebten Kreuzungen oder beim Reagieren auf unvorhersehbare Fußgängerbewegungen. Dieser Ansatz spart Zeit, senkt Kosten und vermeidet die Risiken, die mit dem Testen jedes Szenarios im realen Leben verbunden sind.
Einzelhandelsdatenanalyse mit 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.
Dies ermöglicht es Geschäften zu analysieren, was im Geschäft vor sich geht, wie 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 Generierung von Heatmaps, die Bereiche mit hoher und niedriger Kundenaktivität innerhalb des Geschäfts visualisieren. Durch die Analyse dieser Heatmaps können Einzelhändler erkennen, welche Bereiche die meisten Kunden anziehen und welche Teile des Geschäfts möglicherweise mehr Aufmerksamkeit oder eine Optimierung der Produktplatzierung benötigen. Diese Daten können Einzelhändlern helfen, bessere Entscheidungen über die Ladengestaltung, 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 von Batch-Inferencing
Hier sind einige der wichtigsten Vorteile, die Batch-Inferencing für verschiedene Branchen mit sich bringen kann:
Einfache Integration: Batch-Inferencing lässt sich problemlos in bestehende Arbeitsabläufe integrieren, insbesondere in Branchen wie dem Einzelhandel, der Sicherheit oder dem Gesundheitswesen, wo große Datenmengen in großen Mengen 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 track, zu überprüfen und zu organisieren.
Reduzierte Netzwerklast: Wenn Daten in Batches verarbeitet werden, kann die Menge der zu einem bestimmten Zeitpunkt übertragenen Daten minimiert werden, wodurch die Belastung der Netzwerkressourcen in Cloud-basierten Systemen oder verteilten Rechenumgebungen reduziert wird.
Obwohl die Verwendung von Batch-Inferencing viele Vorteile hat, gibt es auch einige Einschränkungen zu berücksichtigen. Hier sind einige Faktoren, die Sie beachten sollten:
Speicheranforderungen: Das Speichern großer Datensätze für die Batch-Verarbeitung kann die Speicherkosten erheblich erhöhen, insbesondere bei hochauflösenden Bildern, Videos oder großen Datenmengen.
Potenzial für Rückstände: Wenn sich Daten schnell ansammeln oder große Batches nicht rechtzeitig verarbeitet werden, kann es zu einem Rückstau kommen. Dies kann zu Verzögerungen bei der Bereitstellung von Erkenntnissen und der zeitnahen Verarbeitung neuer Daten führen.
Ressourcenspitzen: Große Batches, insbesondere solche mit hochauflösenden Bildern, können zu Spitzen im Speicher- oder Rechenverbrauch führen. Wenn diese Spitzen nicht richtig verwaltet werden, können sie Systeme überlasten und zu Verlangsamungen oder Abstürzen führen.
Wesentliche 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 Batches zu geplanten Zeiten verarbeitet, z. B. über Nacht.
Diese Methode ist kostengünstig, reduziert die Rechenlast und liefert dennoch genaue Ergebnisse. Von der Unterstützung von Geschäften bei der Bestandsverwaltung über die Unterstützung von Ärzten bei der Analyse medizinischer Scans bis hin zur Verbesserung von Technologien für selbstfahrende Autos macht Batch-Inferencing Computer Vision zugänglicher, erschwinglicher und praktischer für reale Anwendungen.