Leitfaden für die Bewegungsfilterung

Mit dem Modell Bewegungsfilter können Sie die Rechenzeit verkürzen, indem Sie lange Videoabschnitte in kleinere Segmente mit Bewegungsereignissen kürzen. Mit diesem Modell können Sie die Bewegungsempfindlichkeit, die Mindestereignislänge, das Rückblickfenster und die Ruhezeit festlegen, um die Ausgabe der Bewegungsereignisse an Ihren Anwendungsfall anzupassen.

Modellparameter

Das Modell für den Bewegungsfilter hat vier Steuerparameter, mit denen sich die Ereignissegmente und die Art und Weise, wie sie vom Modell zurückgegeben werden, anpassen lassen.

Parameter Beschreibung Flag Standardwert Verfügbare Werte
Mindestdauer des Ereignisses Die Mindestdauer, in der ein Bewegungsereignis nach dem Ende eines Bewegungsereignisses erfasst wird (in Sekunden). --min-event-length INT 10 Sekunden 1–3.600
Empfindlichkeit der Bewegungserkennung Die Empfindlichkeit der Bewegungsereignisfilterung des Modells. Bei hoher Empfindlichkeit reagiert die Kamera schneller auf Bewegungen und filtert Bewegungen stärker heraus, wodurch mehr Bewegungen erkannt werden. --motion-sensitivity STRING "medium" "high", "medium" oder "low"
Lookback-Window Die Videoinhalte (in Sekunden), die der Dienst vor einem erkannten Bewegungsereignis erfasst. --lookback-length INT 3 Sekunden 0–300
Wartezeit Nach einem Bewegungsereignis beginnt eine Wartezeit mit der angegebenen Dauer. Während der Wartezeit registriert das Modell keine Bewegungsereignisse. --cooldown-length INT 300 Sekunden 0–3.600

Bewegungsempfindlichkeit

Bei der Ausführung des Bewegungsfilters spielt die Bewegungsempfindlichkeit die wichtigste Rolle bei der Bestimmung, wie viele Segmentvideos das Modell aus einem Videostream erstellt.

Je höher die Empfindlichkeit der Bewegungserkennung ist, desto empfindlicher ist die Modellerkennung gegenüber Rauschen und kleineren Bewegungen. Diese höhere Empfindlichkeitseinstellung wird für Umgebungen empfohlen, in denen die Beleuchtung stabil ist und kleinere bewegte Objekte zu sehen sind (z. B. Personen aus der Ferne).

Umgekehrt ist die Einstellung „Niedrig“ am wenigsten empfindlich gegenüber Lichteinflüssen und kleinen Bewegungen. Diese Einstellung eignet sich für Situationen mit mehr Lichteinflüssen, z. B. in einer Außenumgebung. Da diese Einstellung die aggressivste Filteroption ist, werden Bewegungen von kleinen Objekten ignoriert.

Mindestdauer des Ereignisses

Die Mindestereignisdauer ist die Videodauer, die das Modell aufzeichnet, nachdem es kein Bewegungsereignis mehr im Frame erkannt hat. Der Standardwert beträgt 10 Sekunden. Sie können jedoch einen Wert zwischen 1 und 3.600 Sekunden angeben. Wenn während der Mindestdauer des Ereignisses eine neue Bewegung erkannt wird, wird sie dem aktuellen Videosegment für die Dauer des neu erkannten Bewegungsereignisses plus einem neuen Countdown der Mindestdauer des Ereignisses hinzugefügt.

Diagramm zur Mindestereignisdauer

Angenommen, Sie haben ein Video einer Kreuzung mit zwei sich bewegenden Autos im Frame. Das erste Auto fährt in den ersten drei Sekunden vorbei und das zweite Auto zwei Sekunden später. Wenn Sie die Mindestdauer für Ereignisse auf eine Sekunde festlegen, gibt es zwei Videosegmente mit Bewegung. Ein Videosegment enthält das erste Auto, während das andere Segment das zweite Auto enthält. Wenn Sie das Bewegungsereignis jedoch auf drei Sekunden festlegen, wird nur ein Videosegment mit Bewegung erstellt. Das zweite Auto erscheint erst zwei Sekunden nach dem ersten Auto im Frame.

Berücksichtigen Sie beim Festlegen der Mindestdauer für Ereignisse, wie oft Bewegungsereignisse in Ihrem Video normalerweise auftreten und wie viele Videosegmente Sie speichern möchten. Wenn Bewegungsereignisse häufig auftreten, Sie aber die meisten Bewegungsereignisse in separaten Videosegmenten speichern möchten, legen Sie eine kürzere Mindestdauer für Ereignisse fest. Wenn sich Bewegungsereignisse selten ereignen, Sie sie aber gruppieren möchten, legen Sie eine längere Mindestdauer für Ereignisse fest, um mehrere Ereignisse im selben Videosegment zu erfassen.

Lookback-Window

Das Rückschaufenster ist der Zeitraum unmittelbar vor dem Moment, in dem ein Bewegungsereignis erkannt wird. Dieses Fenster ist nützlich, wenn Sie sehen möchten, was im Frame passiert, bevor das Modell ein Bewegungsereignis erkennt. Der Standardwert für das Lookback-Window beträgt drei Sekunden. Sie können jedoch einen Wert zwischen null und 300 Sekunden angeben.

Mit einem Rückschaufenster können Sie sehen, wo sich bewegte Objekte ursprünglich befanden. Mit einem Lookback-Window können Sie sich auch ansehen, was sich Sekunden vor dem Bewegungsereignis im Frame befand. Ein Rückschaufenster ist hilfreich, wenn sich im Bild kleine bewegte Objekte befinden, die nicht als Bewegungsereignis erkannt werden. Möglicherweise haben die kleinen sich bewegenden Objekte im Frame jedoch die größeren Bewegungsereignisse verursacht, die erkannt wurden.

Wartezeit

Eine Wartezeit ist eine Dauer, die nach einem Bewegungsereignis und einer Mindestereignisdauer abläuft. Während der Wartezeit löst die erkannte Bewegung den Bewegungsfilter nicht aus. Dieser Zeitraum kann zwischen 0 und 3.600 Sekunden liegen. Standardmäßig ist ein Wert von 300 Sekunden festgelegt.

Die Wartezeit soll Nutzern helfen, Rechenkosten zu sparen. Wenn Bewegungen in einem Frame erwartet werden und Sie nur wissen möchten, wann die Bewegung stattfindet, aber nicht, was danach passiert, ist eine Wartezeit eine nützliche Einstellung.

Modell verwenden

Sie können das Bewegungsfiltermodell mit dem Vertex AI Vision SDK verwenden.

Aktivieren Sie das Modell mit dem Befehlszeilentool vaictl. Geben Sie dazu applying encoded-motion-filter an und übergeben Sie Werte, um die Steuerparameter festzulegen.

Vertex AI Vision SDK

Wenn Sie eine Anfrage mit dem Bewegungsfiltermodell senden möchten, müssen Sie das Vertex AI Vision SDK installieren.

Ersetzen Sie die folgenden Variablen:

  • PROJECT_ID: Ihre Google Cloud -Projekt-ID
  • LOCATION_ID: Ihre Standort-ID. Beispiel: us-central1. Unterstützte Regionen Weitere Informationen
  • LOCAL_FILE.EXT: Der Dateiname einer lokalen Videodatei. Beispiel: my-video.mp4
  • STREAM_ID: Die Stream-ID, die Sie im Cluster erstellt haben. Beispiel: input-stream.
  • --motion-sensitivity: Die Empfindlichkeit der Filterung von Bewegungsereignissen. Optionen sind high, medium, low.
  • --min-event-length: Die Mindestdauer eines Bewegungsereignisses in Sekunden. Der Standardwert beträgt 10 Sekunden. Verfügbare Werte: 13600.
  • --lookback-length: Die Dauer des Rückschaufensters vor Beginn des Bewegungsereignisses in Sekunden. Der Standardwert beträgt 3 Sekunden. Verfügbare Werte: 0300.
  • --cooldown-length: Die Wartezeit nach einem Bewegungsereignis in Sekunden. Der Standardwert beträgt 300 Sekunden (5 Minuten). Verfügbare Werte: 03600.
  • --continuous-mode: Ob im kontinuierlichen Modus gesendet werden soll. Der Standardwert ist true.
  • OUTPUT_DIRECTORY: Das Verzeichnis, in dem du die MP4-Dateien des Ausgabevideosegments speichern möchtest.

Befehlsinformationen aufrufen

Mit dem folgenden Befehl können Sie weitere Informationen zum Befehl und seinen optionalen Parametern abrufen:

vaictl send video-file applying motion-filter -h

Inhalte lokaler Dateien mit dem Bewegungsfiltermodell filtern

Mit diesem Befehl werden nur Videoabschnitte gesendet, in denen das Modell Bewegung erkennt.

vaictl -p PROJECT_ID \
      -l LOCATION_ID \
      -c application-cluster-0 \
      --service-endpoint visionai.googleapis.com \
send video-file  --file-path LOCAL_FILE.EXT \
applying motion-filter --motion-sensitivity=medium \
      --min-event-length=10 --lookback-length=3 --cooldown-length=0 \
to streams STREAM_ID --loop

Inhalte lokaler Dateien mit dem Bewegungsfiltermodell filtern und Ausgabe speichern

In diesem Befehl wird das Flag --continuous_mode verwendet, um für jedes Bewegungssegment separate Videodateien auszugeben.

vaictl -p PROJECT_ID \
      -l LOCATION_ID \
      -c application-cluster-0 \
      --service-endpoint visionai.googleapis.com \
send video-file --file-path LOCAL_FILE.EXT --continuous-mode=false \
applying motion-filter --motion-sensitivity=medium \
      --min-event-length=10 --lookback-length=3 --cooldown-length=0 \
to mp4file --mp4-file-path=OUTPUT_DIRECTORY

Best Practices

Der Bewegungsfilter ist ein schlankes Modell, das die Rechenzeit bei der Dekodierung codierter Videos während der Übertragung reduziert. Für die beste Funktion des Filters sollten Sie eine Fotokamera direkt auf die Objekte Ihrer Wahl richten. Vermeiden Sie unwichtige bewegte Objekte im Hintergrund des Frames. In einem Frame mit Hintergrundobjekten wie sich bewegenden Bäumen, einem konstanten Autofluss oder Schatten von sich bewegenden Objekten wird beispielsweise die Bewegung dieser unwichtigen Motive erkannt.

Platzieren Sie die gewünschten Objekte im Vordergrund und reduzieren Sie die Anzahl der Hintergrundobjekte mit ständiger Bewegung so weit wie möglich. Zusammenfassung:

  • Verwenden Sie eine Fotokamera.
  • Vermeiden Sie einen ständig bewegten Hintergrund.
  • Minimale Bewegungen werden nicht erkannt.
  • Achten Sie darauf, dass die Objekte groß genug sind.

Best Practices für Innenräume

Für Innenräume mit konstanter Beleuchtung und minimaler Hintergrundbewegung gelten die folgenden Best Practices:

  • Erhöhen Sie die Empfindlichkeit. Die Objekte im Frame sind in der Regel größer und es gibt weniger Bildrauschen.
  • Verwenden Sie kleinere Lookback-Windows und eine kürzere Ereignisdauer. Bewegungen in Innenräumen sind langsamer und es gibt nur begrenzten Platz, in dem sich Personen bewegen können.

Wenn Sie diese Tipps für Innenräume beachten, kann der Bewegungsfilter Objektbewegungen in kürzester Zeit erfassen.

Best Practices für Outdoor-Aufnahmen

Bei Außenaufnahmen gibt es mehr Variablen, die sich auf die Leistung des Filters auswirken können. So werden beispielsweise der Schatten eines sich bewegenden Baums oder Änderungen des Sonnenlichts im Bild als Bewegung für das Modell des Bewegungsfilters erkannt. Berücksichtigen Sie die folgenden Bedingungen und die beste Reaktion darauf.

Situation 1:

Angenommen, Sie haben ein Video aufgenommen, in dem ein Bürgersteig zu sehen ist, über den gelegentlich Fußgänger gehen. Diese Bewegungen können so langsam wie ein gemütliches Spazierengehen oder so schnell wie ein vorbeifahrendes Skateboard sein. Beachten Sie dabei Folgendes:

  • Legen Sie eine längere Mindestfensterlänge und ein längeres Lookback-Window fest. Die Geschwindigkeit der Bewegungen hat einen größeren Bereich als das Szenario im Innenbereich. Wenn Sie die Mindestfensterlänge und das Lookback-Window verlängern, kann das Modell das gesamte Bewegungsereignis erfassen.
  • Erhöhen Sie die Bewegungsempfindlichkeit. Eine Außenumgebung enthält mehr natürlich bewegte Objekte wie bewegte Bäume und Schatten. Wenn Sie sich nur auf relevante Objekte wie Personen und Fahrräder konzentrieren möchten, erhöhen Sie die Bewegungsempfindlichkeit, um eine ständige Erkennung von Hintergrundobjekten zu vermeiden.

Situation 2:

Stellen Sie sich ein anderes Video vor, das sich auf eine Straße konzentriert, in der ständig Autos fahren und gelegentlich Fußgänger vorbeigehen. Beachten Sie dabei Folgendes:

  • Empfindlichkeit auf „Mittel“ oder „Niedrig“ einstellen: Mit einer niedrigeren Empfindlichkeit kann das Modell eine Vielzahl von bewegten Objekten im Frame erfassen.
  • Legen Sie für das Lookback-Window und die minimale Ereignisdauer einen kürzeren Wert fest. Autos und andere Fahrzeuge auf der Straße bewegen sich mit einer deutlich höheren Geschwindigkeit als Menschen und Fahrräder. Wenn Sie einen kürzeren Wert für diese Parameter festlegen, wird berücksichtigt, dass die Bewegungsgeschwindigkeit höher ist und dass Objekte den Frame schnell betreten und verlassen.
  • Legen Sie eine kurze Wartezeit fest. Aufgrund der höheren Bewegungsgeschwindigkeit kann das nächste Objekt kurz nach dem ersten Objekt in den Frame eindringen. Daher ist die Wartezeit kürzer.

Beschränkungen

Da der Bewegungsfilter weitgehend vom Bewegungsvektor in jedem Frame abhängt, sind einige Einschränkungen zu beachten.

  1. Kamerawinkel: Verwenden Sie eine Stativkamera, da bei einer bewegten Kamera ständig Bewegungen im Bild zu sehen sind.
  2. Objektgröße: Positionieren Sie die Motive so, dass wichtige Objekte im Bild groß genug sind, damit der Bewegungsfilter die beste Leistung erzielen kann.
  3. Beleuchtung: Änderungen der Beleuchtung, z. B. eine plötzliche Helligkeitsänderung im Frame oder starke Schattenbewegungen, können die Modellleistung beeinträchtigen. Ein niedriger Dynamikbereich, der zu einem ähnlichen Helligkeitston für das gesamte Video führt, was sich auf die Interpretation von Bewegungen durch das Modell auswirkt und die Modellleistung beeinträchtigt.
  4. Kameraposition: Das Modell ist so konzipiert, dass es Bewegungen im Bild erkennt. Dazu gehören auch Hintergrundbewegungen wie ein vom Wind bewegter Baum oder Objekte, die außerhalb des Bildes sind und Schatten werfen. Wenn ein großer Teil des Frames auf Hintergrundobjekte zeigt, die diese Bewegungen verursachen, kann sich das auf die Modellleistung auswirken.