1

Ich baue ein RCNN-Erkennungsnetzwerk mit Tensorflow's object detection API.Sollte ich negative Beispiele für Tensorflow Object Detection API enthalten?

Mein Ziel ist es, Bounding-Boxen für Tiere in Outdoor-Videos zu erkennen. Die meisten Bilder haben keine Tiere und sind nur von dynamischen Hintergründen.

Die meisten Tutorials konzentrieren sich auf das Training von benutzerdefinierten Labels, erwähnen jedoch keine negativen Trainingsbeispiele. Wie geht diese Klasse von Detektoren mit Bildern um, die keine Objekte von Interesse enthalten? Gibt es nur eine geringe Wahrscheinlichkeit aus, oder wird es erzwungen, eine Begrenzungsbox in einem Bild zu zeichnen?

Mein aktueller Plan ist es, die traditionelle Hintergrundsubtraktion in opencv zu verwenden, um mögliche Frames zu generieren und sie an ein trainiertes Netzwerk weiterzugeben. Sollte ich auch eine Klasse von "Hintergrund" -Begrenzungsboxen als "negative Daten" einschließen?

Die letzte Option wäre, opencv für die Hintergrundsubtraktion zu verwenden, RCNN, um Begrenzungsrahmen zu erzeugen, und dann ein Klassifizierungsmodell von Pflanzen, um Tiere im Vergleich zum Hintergrund zu identifizieren.

Antwort

1

Im Allgemeinen ist es nicht notwendig, "negative Bilder" explizit einzubeziehen. Was in diesen Erkennungsmodellen passiert, ist, dass sie die Teile des Bildes, die nicht zu den annotierten Objekten gehören, als Negative verwenden.

+0

Vielen Dank für die Gedanken (und die große Arbeit an der API), nur um klar zu sein, was ist das erwartete Verhalten für einen einzelnen Klasse Detektor, wenn mit einem Bild ohne das Zielobjekt konfrontiert? Niedrige Wahrscheinlichkeit Punktzahl? Begrenzungsbox, die den gesamten Rahmen abdeckt? – bw4sz

+0

Die Hoffnung in diesem Fall ist, dass keine Boxen zurückgegeben werden :) –

0

Wenn Sie erwarten, dass Ihr Modell zwischen "gefundene Zahlen" und "keine Zahlen" unterscheidet, müssen Sie es mit Sicherheit an negativen Beispielen trainieren. Beschriften Sie diese als "kein Bild". Im Fall "Kein Bild", ja, verwende das gesamte Bild als Begrenzungsbox; Schlage nicht vor, dass das Modell etwas kleiner erkennt.

In "kein Bild" Fällen, Sie Mai erhalten Sie eine kleinere Bounding-Box, aber das spielt keine Rolle: Als Schlussfolgerung ignorieren Sie einfach, welche Box für "kein Bild" zurückgegeben wird.

Natürlich ist das kritische Problem hier, es auszuprobieren und zu sehen, wie gut es für Sie arbeitet.

Verwandte Themen