paint-brush
Gewalterkennung in Videos: Vorgeschlagener Ansatzvon@kinetograph
144 Lesungen

Gewalterkennung in Videos: Vorgeschlagener Ansatz

Zu lang; Lesen

In diesem Artikel schlagen Forscher ein System zur automatischen Erkennung von Gewalt in Videos vor, das zur Klassifizierung Audio- und visuelle Hinweise nutzt.
featured image - Gewalterkennung in Videos: Vorgeschlagener Ansatz
Kinetograph: The Video Editing Technology Publication HackerNoon profile picture
0-item


Autoren:

(1) Praveen Tirupattur, University of Central Florida.

Linktabelle

3. Vorgeschlagener Ansatz

Dieses Kapitel bietet eine detaillierte Beschreibung des in dieser Arbeit verfolgten Ansatzes. Der vorgeschlagene Ansatz besteht aus zwei Hauptphasen: Training und Testen. Während der Trainingsphase lernt das System, die in einem Video vorhandene Gewaltkategorie zu erkennen, indem es Klassifikatoren mit visuellen und akustischen Merkmalen trainiert, die aus dem Trainingsdatensatz extrahiert wurden. In der Testphase wird das System bewertet, indem die Genauigkeit des Systems bei der Erkennung von Gewalt für ein bestimmtes Video berechnet wird. Jede dieser Phasen wird in den folgenden Abschnitten ausführlich erläutert. Eine Übersicht über den vorgeschlagenen Ansatz finden Sie in Abbildung 3.1. Abschließend wird ein Abschnitt präsentiert, in dem die zur Bewertung des Systems verwendeten Metriken beschrieben werden.

3.1. Ausbildung

In diesem Abschnitt werden die Einzelheiten der Schritte der Trainingsphase erläutert. Der vorgeschlagene Trainingsansatz besteht aus drei Hauptschritten: Merkmalsextraktion, Merkmalklassifizierung und Merkmalsfusion. Jeder dieser drei Schritte wird in den folgenden Abschnitten ausführlich erläutert. In den ersten beiden Schritten dieser Phase werden Audio- und visuelle Merkmale aus den Videosegmenten mit und ohne Gewalt extrahiert und zum Trainieren von SVM-Klassifikatoren mit zwei Klassen verwendet. Anschließend werden im Schritt der Merkmalsfusion Merkmalsgewichte für jeden vom System anvisierten Gewalttyp berechnet. Diese Merkmalsgewichte werden ermittelt, indem eine Rastersuche für die mögliche Kombination von Gewichten durchgeführt und die beste Kombination ermittelt wird, die die Leistung des Systems im Validierungssatz optimiert. Das Optimierungskriterium ist hier die Minimierung der EER (Equal Error Rate) des Systems. Um diese Gewichte zu ermitteln, wird ein vom Trainingssatz disjunkter Datensatz verwendet, der Gewaltvideos aller anvisierten Kategorien enthält. Einzelheiten zu den anvisierten Kategorien finden Sie in Kapitel 1.


Abbildung 3.1: Abbildung mit einer Übersicht über das System. Vier verschiedene SVM-Klassifikatoren werden trainiert, jeweils einer für die Funktionen Audio, Blut, Bewegung und SentiBank. Bilder aus dem Internet werden verwendet, um ein Blutmodell zur Erkennung von Blut in Videobildern zu entwickeln. Um Klassifikatoren für alle Funktionen zu trainieren, werden Daten aus dem VSD2104-Datensatz verwendet. Jeder dieser Klassifikatoren gibt einzeln die Wahrscheinlichkeit an, dass ein Videosegment Gewalt enthält. Diese einzelnen Wahrscheinlichkeiten werden dann mithilfe der Late-Fusion-Technik kombiniert und die endgültige Ausgabewahrscheinlichkeit, die die gewichtete Summe der einzelnen Wahrscheinlichkeiten darstellt, wird vom System als Ausgabe präsentiert. Das als Eingabe für das System bereitgestellte Video wird in einsekündige Segmente unterteilt und die Wahrscheinlichkeit, dass jedes der Segmente Gewalt enthält, wird als Ausgabe abgerufen.

3.1.1. Merkmalsextraktion

Viele Forscher haben versucht, das Problem der Gewalterkennung mithilfe verschiedener Audio- und visueller Merkmale zu lösen. Ausführliche Informationen zur Forschung im Bereich der Gewalterkennung finden Sie in Kapitel 2. In früheren Arbeiten waren die am häufigsten verwendeten visuellen Merkmale zur Erkennung von Gewalt Bewegung und Blut und das am häufigsten verwendete Audiomerkmal ist das MFCC. Neben diesen drei gängigen Low-Level-Merkmalen umfasst dieser vorgeschlagene Ansatz auch SentiBank (Borth et al. [4]), ein visuelles Merkmal, das Stimmungen in Bildern darstellt. Die Einzelheiten zu jedem der Merkmale und seine Bedeutung für die Gewalterkennung sowie die verwendeten Extraktionsmethoden werden in den folgenden Abschnitten beschrieben.

3.1.1.1. MFCC-Funktionen

Audiomerkmale spielen eine sehr wichtige Rolle bei der Erkennung von Ereignissen wie Schüssen, Explosionen usw., die in Gewaltszenen sehr häufig vorkommen. Viele Forscher haben Audiomerkmale zur Gewalterkennung verwendet und gute Ergebnisse erzielt. Obwohl sich einige der früheren Arbeiten mit der Energieentropie [Nam et al. [41]] im Audiosignal befassten, verwendeten die meisten von ihnen MFCC-Merkmale, um den Audioinhalt in den Videos zu beschreiben. Diese MFCC-Merkmale werden häufig bei der Sprach- und Audioerkennung verwendet.


In dieser Arbeit werden die im VSD2014-Datensatz enthaltenen MFCC-Funktionen verwendet, um den SVM-Klassifikator während der Entwicklung des Systems zu trainieren. Während der Auswertung werden MFCC-Funktionen aus dem Audiostream des Eingangsvideos extrahiert, wobei die Fenstergröße auf die Anzahl der Audiosamples pro Frame im Audiostream eingestellt wird. Diese wird berechnet, indem die Audioabtastrate durch den fps-Wert (Frames per Second) des Videos geteilt wird. Wenn beispielsweise die Audioabtastrate 44.100 Hz beträgt und das Video mit 25 fps codiert ist, dann hat jedes Fenster 1.764 Audiosamples. Der Fensterüberlappungsbereich wird auf Null gesetzt und für jedes Fenster werden 22 MFCC berechnet. Mit diesem Setup wird für jedes Video-Frame ein 22-dimensionaler MFCC-Merkmalsvektor erhalten.

3.1.1.2. Blut-Merkmale

Blut ist das am häufigsten sichtbare Element in Szenen mit extremer Gewalt. Zum Beispiel Szenen mit Schlägen, Messerstechereien, Schüssen und Explosionen. In vielen früheren Arbeiten zur Gewalterkennung wird die Erkennung von Pixeln verwendet, die Blut darstellen, da dies ein wichtiger Indikator für Gewalt ist. Um Blut in einem Frame zu erkennen, wird in den meisten früheren Arbeiten eine vordefinierte Farbtabelle verwendet, zum Beispiel von Nam et al. [41] und Lin und Wang [38]. Andere Ansätze zur Erkennung von Blut, wie die Verwendung von Kohonens Self-Organizing Map (SOM) (Clarin et al. [12]), werden in einigen der früheren Arbeiten ebenfalls verwendet.


In dieser Arbeit wird ein Farbmodell verwendet, um Pixel zu erkennen, die Blut darstellen. Es wird mithilfe eines dreidimensionalen Histogramms mit jeweils einer Dimension für die Rot-, Grün- und Blauwerte der Pixel dargestellt. In jeder Dimension gibt es 32 Bins, wobei jedes Bin eine Breite von 8 hat (32 × 8 = 256). Dieses Blutmodell wird in zwei Schritten generiert. Im ersten Schritt wird das Blutmodell mithilfe der RGB-Werte (Rot, Grün, Blau) der Pixel, die Blut enthalten, gebootet. Das dreidimensionale binäre Histogramm wird mit den RGB-Werten dieser Pixel, die Blut enthalten, gefüllt. Der Wert im Bin, zu dem ein Blutpixel gehört, wird jedes Mal um 1 erhöht, wenn ein neues Blutpixel zum Modell hinzugefügt wird. Sobald eine ausreichende Anzahl blutiger Pixel zum Füllen des Histogramms verwendet wurde, werden die Werte in den Bins durch die Summe aller Werte normalisiert. Die Werte in jedem der Bins stellen nun die Wahrscheinlichkeit dar, dass ein Pixel bei seinen RGB-Werten Blut zeigt. Um das Blutmodell zu füllen, werden Pixel, die Blut enthalten, aus verschiedenen Bildern ausgeschnitten, die Blut enthalten und von Google heruntergeladen wurden. Das Zuschneiden der Bereiche, die nur Blutpixel enthalten, erfolgt manuell. Beispiele für die zugeschnittenen Bereiche, jeweils mit einer Größe von 20 x 20 Pixeln, finden Sie in Abbildung 3.2.


Abbildung 3.2: Die Abbildung zeigt beispielhaft zugeschnittene Bereiche der Größe 20 × 20, die Blut enthalten.


Sobald das Modell gebootet ist, wird es verwendet, um Blut in den von Google heruntergeladenen Bildern zu erkennen. Nur Pixel, die mit hoher Wahrscheinlichkeit Blut darstellen, werden verwendet, um das gebootete Modell weiter zu erweitern. Das Herunterladen der Bilder und die Erweiterung des Blutmodells erfolgt automatisch. Um Bilder von Google herunterzuladen, die Blut enthalten, werden Suchbegriffe wie „blutige Bilder“, „blutige Szenen“, „blutend“, „echte Blutspritzer“, „bluttropfend“ verwendet. Einige Beispiele der heruntergeladenen Bilder sind in Abbildung 3.3 zu sehen. Pixelwerte mit hoher Blutwahrscheinlichkeit werden dem Blutmodell hinzugefügt, bis es mindestens eine Million Pixelwerte hat.


Dieses Blutmodell allein reicht nicht aus, um Blut genau zu erkennen. Neben diesem Blutmodell wird auch ein Nicht-Blut-Modell benötigt. Um dieses zu erzeugen, werden ähnlich wie beim früheren Ansatz Bilder von Google heruntergeladen, die kein Blut enthalten, und die RGB-Pixelwerte dieser Bilder werden verwendet, um das Nicht-Blut-Modell zu erstellen. Einige Beispielbilder, die zur Erzeugung dieses Nicht-Blut-Modells verwendet wurden, sind in Abbildung 3.3 dargestellt. Unter Verwendung dieser Blut- und Nicht-Blut-Modelle wird nun die Wahrscheinlichkeit, dass ein Pixel Blut darstellt, wie folgt berechnet



Abbildung 3.3: Abbildung mit von Google heruntergeladenen Beispielbildern zum Generieren von Blut- und Nicht-Blut-Modellen.


Mithilfe dieser Formel wird für ein gegebenes Bild die Wahrscheinlichkeit berechnet, dass jedes Pixel Blut darstellt, und eine Blutwahrscheinlichkeitskarte (BPM) wird erstellt. Diese Karte hat dieselbe Größe wie das Eingabebild und enthält die Blutwahrscheinlichkeitswerte für jedes Pixel. Diese BPM wird mithilfe eines Schwellenwerts binärisiert, um die endgültige binärisierte BPM zu erzeugen. Der zur Binärisierung der BPM verwendete Schwellenwert wird geschätzt (Jones und Rehg [35]). Aus dieser binärisierten BPM wird ein eindimensionaler Merkmalsvektor der Länge 14 erzeugt, der Werte wie Blutverhältnis, Blutwahrscheinlichkeitsverhältnis, Größe der größten verbundenen Komponente, Mittelwert, Varianz usw. enthält. Dieser Merkmalsvektor wird für jedes Bild im Video extrahiert und zum Trainieren des SVM-Klassifikators verwendet. Ein Beispielbild zusammen mit seiner BPM und der binärisierten BPM ist in Abbildung 3.4 dargestellt. Aus dieser Abbildung lässt sich erkennen, dass dieser Ansatz beim Erkennen von Pixeln, die Blut enthalten, sehr gut funktioniert hat.


Abbildung 3.4: Abbildung, die die Leistung des generierten Blutmodells bei der Bluterkennung zeigt. Die erste Spalte enthält die Eingabebilder, die zweite Spalte die Blutwahrscheinlichkeitskarten und die letzte Spalte die binärisierten Blutwahrscheinlichkeitskarten.

3.1.1.3. Bewegungsfunktionen

Bewegung ist ein weiteres weit verbreitetes visuelles Merkmal zur Gewalterkennung. Die Arbeiten von Deniz et al. [21], Nievas et al. [42] und Hassner et al. [28] sind einige Beispiele, in denen Bewegung als Hauptmerkmal zur Gewalterkennung verwendet wird. Hier bezieht sich Bewegung auf den Grad der räumlich-zeitlichen Variation zwischen zwei aufeinanderfolgenden Frames in einem Video. Bewegung gilt als guter Indikator für Gewalt, da in Szenen, die Gewalt enthalten, ein erhebliches Maß an Gewalt zu erwarten ist. So gibt es beispielsweise in Szenen mit Kämpfen zwischen Personen schnelle Bewegungen menschlicher Körperteile wie Beine und Hände, und in Szenen mit Explosionen gibt es viel Bewegung von den Teilen, die durch die Explosion auseinanderfliegen.


Die Idee, Bewegungsinformationen zur Aktivitätserkennung zu nutzen, stammt aus der Psychologie. Untersuchungen zur menschlichen Wahrnehmung haben gezeigt, dass das kinematische Bewegungsmuster für die Wahrnehmung von Aktionen ausreicht (Blake und Shiffrar [2]). Forschungsstudien zur Computervision (Saerbeck und Bartneck [50], Clarke et al. [13] und Hidaka [29]) haben zudem gezeigt, dass relativ einfache dynamische Merkmale wie Geschwindigkeit und Beschleunigung mit vom Menschen wahrgenommenen Emotionen korrelieren.


In dieser Arbeit werden zwei verschiedene Ansätze untersucht, um den Bewegungsumfang eines Videosegments zu berechnen. Der erste Ansatz verwendet die im Videocodec eingebetteten Bewegungsinformationen und der zweite Ansatz verwendet optischen Fluss zur Bewegungserkennung. Diese Ansätze werden als Nächstes vorgestellt.


3.1.1.3.1. Codec verwenden

Bei dieser Methode werden die Bewegungsinformationen aus dem Videocodec extrahiert. Das Ausmaß der Bewegung bei jedem Pixel pro Frame, der sogenannte Bewegungsvektor, wird aus dem Codec abgerufen. Dieser Bewegungsvektor ist ein zweidimensionaler Vektor und hat dieselbe Größe wie ein Frame aus der Videosequenz. Aus diesem Bewegungsvektor wird ein Bewegungsmerkmal generiert, das die Bewegungsmenge im Frame darstellt. Um dieses Bewegungsmerkmal zu generieren, wird der Bewegungsvektor zunächst in zwölf gleich große Unterbereiche unterteilt, indem er entlang der x- und y-Achse in drei bzw. vier Bereiche aufgeteilt wird. Die Bewegungsmenge entlang der x- und y-Achse bei jedem Pixel aus jedem dieser Unterbereiche wird aggregiert und diese Summen werden verwendet, um ein zweidimensionales Bewegungshistogramm für jeden Frame zu generieren. Dieses Histogramm stellt den Bewegungsvektor für einen Frame dar. Im Bild links in Abbildung 3.5 finden Sie die Visualisierung der aggregierten Bewegungsvektoren für einen Frame aus einem Beispielvideo. In dieser Visualisierung werden die Bewegungsvektoren für Unterbereiche der Größe 16 × 16 Pixel aggregiert. Das Ausmaß und die Richtung der Bewegung in diesen Bereichen werden durch die Länge und Ausrichtung der gestrichelten grünen Linien dargestellt, die über das Bild gelegt werden.

3.1.1.3.2. Optischen Fluss verwenden

Der nächste Ansatz zur Bewegungserkennung verwendet optischen Fluss (Wikipedia [57]). Dabei wird die Bewegung jedes Pixels in einem Frame mithilfe von dichtem optischen Fluss berechnet. Dazu wird die von OpenCV (Bradski [5]) bereitgestellte Implementierung des Algorithmus von Gunner Farneback (Farneback [24]) verwendet. Die Implementierung wird als Funktion in OpenCV bereitgestellt. Weitere Einzelheiten zur Funktion und den Parametern finden Sie in der von OpenCV bereitgestellten Dokumentation (OpticalFlow [43]). Die Werte 0,5, 3, 15, 3, 5, 1,2 und 0 werden jeweils an die Funktionsparameter pyr scale, levels, win-size, iterations, poly n, poly sigma und flags übergeben. Nachdem die Bewegungsvektoren jedes Pixels mithilfe von optischem Fluss berechnet wurden, wird das Bewegungsmerkmal aus einem Frame mithilfe des gleichen Prozesses extrahiert, der im obigen Abschnitt 3.1.1.3.1 beschrieben wird. Sehen Sie sich das Bild rechts in Abbildung 3.5 an, um einen Eindruck von den aggregierten Bewegungsvektoren zu bekommen, die aus einem Frame extrahiert wurden. Die Bewegungsvektoren werden wie im vorherigen Ansatz für Unterbereiche der Größe 16×16 Pixel aggregiert, um einen besseren Vergleich zwischen den mithilfe von Codec-Informationen und optischem Fluss extrahierten Merkmalen zu ermöglichen.


Nach der Bewertung dieser beiden Ansätze zum Extrahieren von Bewegungsinformationen aus Videos werden die folgenden Beobachtungen gemacht. Erstens ist das Extrahieren von Bewegung aus Codecs viel schneller als die Verwendung von optischem Fluss, da die Bewegungsvektoren vorab berechnet und in Video-Codecs gespeichert sind. Zweitens ist die Bewegungsextraktion mit optischem Fluss nicht sehr effizient, wenn ein Bild verschwommene Bereiche enthält. Diese Unschärfe wird normalerweise durch plötzliche Bewegungen in einer Szene verursacht, was bei Szenen mit Gewalt sehr häufig vorkommt. Daher ist die Verwendung von optischem Fluss zum Extrahieren von Bewegungsinformationen zur Erkennung von Gewalt kein vielversprechender Ansatz. Daher werden in dieser Arbeit in den Video-Codecs gespeicherte Informationen verwendet, um Bewegungsmerkmale zu extrahieren. Die Bewegungsmerkmale werden aus jedem Bild im Video extrahiert und zum Trainieren eines SVM-Klassifikators verwendet.


Abbildung 3.5: Bewegungsinformationen aus Frames, die mithilfe von Codec extrahiert wurden, im Vergleich zu optischem Fluss.

3.1.1.4. SentiBank-Funktionen

Zusätzlich zu den oben genannten Low-Level-Funktionen wird auch die von Borth et al. [4] eingeführte SentiBank-Funktion angewendet. SentiBank ist eine mittelstufige Darstellung visueller Inhalte, die auf der groß angelegten Visual Sentiment Ontology (VSO) [1] basiert. SentiBank besteht aus 1.200 semantischen Konzepten und entsprechenden automatischen Klassifikatoren, die jeweils als Adjective Noun Pair (ANP) definiert sind. Solche ANPs kombinieren starke emotionale Adjektive, die mit Substantiven verknüpft werden, die Objekten oder Szenen entsprechen (z. B. „schöner Himmel“, „ekelhafter Käfer“ oder „süßes Baby“). Darüber hinaus spiegelt jedes ANP (1) eine starke Stimmung wider, (2) hat einen Link zu einer Emotion, (3) wird häufig auf Plattformen wie Flickr oder YouTube verwendet und (4) hat eine angemessene Erkennungsgenauigkeit. Darüber hinaus soll das VSO umfassend und vielfältig genug sein, um ein breites Spektrum verschiedener Konzeptklassen wie Menschen, Tiere, Objekte, natürliche oder von Menschenhand geschaffene Orte abzudecken und daher zusätzliche Erkenntnisse über die Art des analysierten Inhalts zu liefern. Da SentiBank bei der Analyse von Stimmungen (Borth et al. [4]) eine überlegene Leistung im Vergleich zu visuellen Merkmalen auf niedrigerer Ebene gezeigt hat, wird es nun zum ersten Mal verwendet, um komplexe Emotionen wie Gewalt in Videobildern zu erkennen.


SentiBank besteht aus 1.200 SVMs, die jeweils darauf trainiert sind, eines der 1.200 semantischen Konzepte aus einem Bild zu erkennen. Jeder SVM ist ein binärer Klassifikator, der eine binäre Ausgabe 0/1 liefert, je nachdem, ob das Bild eine bestimmte Stimmung enthält oder nicht. Für ein bestimmtes Bild in einem Video wird ein Vektor, der die Ausgabe aller 1.200 SVMs enthält, als SentiBank-Funktion betrachtet. Um diese Funktion zu extrahieren, wird eine Python-basierte Implementierung verwendet. Zum Trainieren des SVM-Klassifikators werden die aus jedem Bild in den Trainingsvideos extrahierten SentiBank-Funktionen verwendet. Die Extraktion der SentiBank-Funktion dauert nur wenige Sekunden, da dabei die Ausgabe von 1.200 vorab trainierten SVMs gesammelt wird. Um die für die Funktionsextraktion benötigte Zeit zu verkürzen, wird die SentiBank-Funktion für jedes Bild parallel mithilfe von Multiprocessing extrahiert.

3.1.2. Merkmalsklassifizierung

Der nächste Schritt in der Pipeline nach der Merkmalsextraktion ist die Merkmalklassifizierung, und dieser Abschnitt enthält die Details dieses Schritts. Die Auswahl des Klassifikators und die verwendeten Trainingstechniken spielen eine sehr wichtige Rolle beim Erzielen guter Klassifizierungsergebnisse. In dieser Arbeit werden SVMs zur Klassifizierung verwendet. Der Hauptgrund für diese Wahl ist die Tatsache, dass in früheren Arbeiten zur Gewalterkennung SVMs zur Klassifizierung von Audio- und visuellen Merkmalen verwendet wurden und gute Ergebnisse erzielt wurden. In fast allen in Kapitel 2 erwähnten Arbeiten werden SVMs zur Klassifizierung verwendet, auch wenn sie sich in den verwendeten Kernelfunktionen unterscheiden können.


Aus allen im Trainingsset verfügbaren Videos werden Audio- und visuelle Merkmale mithilfe des in Abschnitt 3.1.1 beschriebenen Prozesses extrahiert. Diese Merkmale werden dann in zwei Sets aufgeteilt, eines zum Trainieren des Klassifikators und eines zum Testen der Klassifizierungsgenauigkeit des trainierten Klassifikators. Da es sich bei den hier verwendeten Klassifikatoren um SVMs handelt, muss entschieden werden, welcher Kernel verwendet und welche Kernelparameter festgelegt werden sollen. Um den besten Kerneltyp und die besten Kernelparameter zu finden, wird eine Rastersuchtechnik verwendet. Bei dieser Rastersuche werden lineare, RBF- (Radial Basis Function) und Chi-Quadrat-Kernel zusammen mit einem Wertebereich für ihre Parameter getestet, um die beste Kombination zu finden, die die besten Klassifizierungsergebnisse liefert. Mit diesem Ansatz werden vier verschiedene Klassifikatoren trainiert, einer für jeden Merkmalstyp. Diese trainierten Klassifikatoren werden dann im nächsten Schritt zum Ermitteln der Merkmalsgewichte verwendet. In dieser Arbeit werden die von scikit-learn (Pedregosa et al. [45]) und LibSVM (Chang und Lin [9]) bereitgestellte SVM-Implementierung verwendet.

3.1.3. Merkmalsfusion

Im Schritt der Merkmalsfusion werden die Ausgabewahrscheinlichkeiten von jedem der Merkmalsklassifizierer fusioniert, um die endgültige Bewertung der Gewalt in einem Videosegment zusammen mit der darin vorhandenen Gewaltklasse zu erhalten. Diese Fusion erfolgt durch Berechnung der gewichteten Summe der Wahrscheinlichkeiten von jedem der Merkmalsklassifizierer. Um die Gewaltklasse zu erkennen, zu der ein Video gehört, ist das Verfahren wie folgt. Zunächst werden die Audio- und visuellen Merkmale aus den Videos extrahiert, die zu jeder der Zielgewaltklassen gehören. Diese Merkmale werden dann an die trainierten binären SVM-Klassifizierer übergeben, um die Wahrscheinlichkeiten jedes Videos zu erhalten, das Gewalt enthält. Nun werden diese Ausgabewahrscheinlichkeiten von jedem der Merkmalsklassifizierer fusioniert, indem jedem Merkmalsklassifizierer ein Gewicht für jede Gewaltklasse zugewiesen und die gewichtete Summe berechnet wird. Die jedem der Merkmalsklassifizierer zugewiesenen Gewichte stellen die Bedeutung eines Merkmals bei der Erkennung einer bestimmten Gewaltklasse dar. Diese Merkmalsgewichte müssen für jede Gewaltklasse entsprechend angepasst werden, damit das System die richtige Gewaltklasse erkennen kann.


Es gibt zwei Ansätze, um die Gewichte zu finden. Der erste Ansatz besteht darin, die Gewichte eines Merkmalsklassifikators für jeden Gewalttyp manuell anzupassen. Dieser Ansatz erfordert viel Intuition hinsichtlich der Bedeutung eines Merkmals bei der Erkennung einer Gewaltklasse und ist sehr fehleranfällig. Der andere Ansatz besteht darin, die Gewichte mithilfe eines Rastersuchmechanismus zu finden, bei dem eine Reihe von Gewichten aus dem Bereich der möglichen Gewichte ausgewählt wird. In diesem Fall ist der Bereich der möglichen Gewichte für jeden Merkmalsklassifikator [0,1], unter der Einschränkung, dass die Summe der Gewichte aller Merkmalsklassifikatoren 1 ergibt. In dieser Arbeit wird der letztere Ansatz verwendet und alle Gewichtskombinationen, die 1 ergeben, werden aufgezählt. Jede dieser Gewichtskombinationen wird verwendet, um die gewichtete Summe der Klassifikatorwahrscheinlichkeiten für eine Gewaltklasse zu berechnen, und die Gewichte aus der Gewichtskombination, die die höchste Summe ergibt, werden jedem der Klassifikatoren für die entsprechende Gewaltklasse zugewiesen. Zur Berechnung dieser Gewichte wird ein Datensatz verwendet, der sich vom Trainingssatz unterscheidet, um eine Überanpassung der Gewichte an den Trainingssatz zu vermeiden. Der zur Gewichtsberechnung verwendete Datensatz enthält Videos aus allen Gewaltklassen, die in dieser Arbeit behandelt werden. Es ist wichtig zu beachten, dass, obwohl jeder der trainierten SVM-Klassifikatoren binärer Natur ist, die Ausgabewerte dieser Klassifikatoren mithilfe einer gewichteten Summe kombiniert werden können, um die spezifische Gewaltklasse zu finden, zu der ein Video gehört.

3.2. Testen

In dieser Phase wird für ein bestimmtes Eingabevideo jedes Segment, das Gewalt enthält, zusammen mit der darin enthaltenen Gewaltklasse erkannt. Für ein bestimmtes Video wird der folgende Ansatz verwendet, um die Segmente, die Gewalt enthalten, und die darin enthaltene Gewaltkategorie zu erkennen. Zunächst werden die visuellen und akustischen Merkmale ab dem ersten Bild des Videos alle 1 Sekunde aus einem Bild extrahiert, anstatt Merkmale aus jedem Bild zu extrahieren. Diese Bilder, aus denen die Merkmale extrahiert werden, stellen ein 1-Sekunden-Segment des Videos dar. Die Merkmale aus diesen 1-Sekunden-Videosegmenten werden dann an die trainierten binären SVM-Klassifizierer übergeben, um die Bewertungen für jedes Videosegment als gewalttätig oder gewaltfrei zu erhalten. Dann werden gewichtete Summen der Ausgabewerte der einzelnen Klassifizierer für jede Gewaltkategorie unter Verwendung der entsprechenden Gewichtungen berechnet, die während des Fusionsschritts ermittelt wurden. Daher gibt das System für ein bestimmtes Video mit einer Länge von „X“ Sekunden einen Vektor der Länge „X“ aus. Jedes Element in diesem Vektor ist ein Wörterbuch, das jeder Gewaltklasse einen Bewertungswert zuordnet. Dieser Ansatz hat zwei Gründe: Zum einen soll er Zeitintervalle erkennen, in denen das Video Gewalt enthält, und zum anderen soll er die Geschwindigkeit des Systems bei der Gewalterkennung erhöhen. Die Merkmalsextraktion, insbesondere die Extraktion des Sentibank-Merkmals, ist zeitaufwändig und wird das System langsam machen, wenn es für jedes Bild ausgeführt wird. Dieser Ansatz wirkt sich jedoch negativ auf die Genauigkeit des Systems aus, da es Gewalt nicht für jedes Bild, sondern für jede Sekunde erkennt.

3.3. Bewertungsmaßstäbe

Es gibt viele Kennzahlen, mit denen die Leistung eines Klassifizierungssystems gemessen werden kann. Einige der für die binäre Klassifizierung verwendeten Kennzahlen sind Genauigkeit, Präzision, Rückruf (Sensitivität), Spezifität, F-Score, gleiche Fehlerrate (EER) und Fläche unter der Kurve (AUC). Einige andere Kennzahlen wie durchschnittliche Präzision (AP) und mittlere durchschnittliche Präzision (MAP) werden für Systeme verwendet, die als Ergebnis einer Abfrage eine Rangliste zurückgeben. Die meisten dieser Kennzahlen, die in der Forschung zu maschinellem Lernen und Data Mining zunehmend verwendet werden, sind anderen Disziplinen entlehnt, wie etwa der Informationsbeschaffung (Rijsbergen [49]) und der Biometrie. Eine detaillierte Erörterung dieser Kennzahlen findet sich in den Arbeiten von Parker [44] und Sokolova und Lapalme [53]. Die ROC-Kurve (Receiver Operating Characteristic) ist eine weitere weit verbreitete Methode zur Bewertung oder zum Vergleich binärer Klassifizierungssysteme. Kennzahlen wie AUC und EER können aus der ROC-Kurve berechnet werden.


In dieser Arbeit werden ROC-Kurven verwendet, um: (i) die Leistung einzelner Klassifikatoren zu vergleichen. (ii) die Leistung des Systems beim Erkennen verschiedener Gewaltklassen in der Multi-Class-Klassifizierungsaufgabe zu vergleichen. (iii) die Leistung des Systems auf YouTube- und Hollywood-Testdatensätzen in der Binärklassifizierungsaufgabe zu vergleichen. Andere hier verwendete Metriken sind Präzision, Rückruf und EER. Diese Maße werden verwendet, da sie die am häufigsten verwendeten Maße in früheren Arbeiten zur Gewalterkennung sind. In diesem System werden die Parameter (Fusionsgewichte) angepasst, um das EER zu minimieren.

3.4. Zusammenfassung

In diesem Kapitel wird der in dieser Arbeit verfolgte Ansatz zur Erkennung von Gewalt detailliert beschrieben. Der erste Abschnitt befasst sich mit der Trainingsphase und der zweite Abschnitt mit der Testphase. Im ersten Abschnitt werden die verschiedenen Schritte der Trainingsphase ausführlich erläutert. Zunächst wird die Extraktion von Audio- und visuellen Merkmalen erörtert und im Detail erläutert, welche Merkmale verwendet werden und wie sie extrahiert werden. Anschließend werden die Klassifizierungstechniken erläutert, die zur Klassifizierung der extrahierten Merkmale verwendet werden. Abschließend wird der Prozess zur Berechnung der Merkmalsgewichte für die Merkmalsfusion erläutert. Im zweiten Abschnitt wird der während der Testphase verwendete Prozess zum Extrahieren von Videosegmenten mit Gewalt und zum Erkennen der Gewaltklasse in diesen Segmenten erläutert.


Zusammenfassend kann man sagen, dass die Schritte, die bei diesem Ansatz befolgt werden, Merkmalsextraktion, Merkmalklassifizierung, Merkmalsfusion und Testen sind. Die ersten drei Schritte bilden die Trainingsphase und der letzte Schritt ist die Testphase. In der Trainingsphase werden Audio- und visuelle Merkmale aus dem Video extrahiert und verwendet, um binäre SVM-Klassifikatoren zu trainieren, einen für jedes Merkmal. Dann wird ein separater Datensatz verwendet, um die Merkmalsgewichte zu finden, die den EER des Systems auf dem Validierungsdatensatz minimieren. In der letzten Testphase werden zuerst die visuellen und Audiomerkmale pro 1-Sekunden-Videosegment des Eingabetestvideos extrahiert. Dann werden diese Merkmale an die trainierten SVM-Klassifikatoren übergeben, um die Wahrscheinlichkeiten zu ermitteln, mit denen diese Merkmale Gewalt darstellen. Eine gewichtete Summe dieser Ausgabewahrscheinlichkeiten wird für jeden Gewalttyp unter Verwendung der im Merkmalsfusionsschritt erhaltenen Gewichte berechnet. Der Gewalttyp, für den die gewichtete Summe maximal ist, wird dem entsprechenden 1-Sekunden-Videosegment als Bezeichnung zugewiesen. Unter Verwendung dieser Bezeichnungen werden die Segmente, die Gewalt enthalten, und die darin enthaltene Gewaltklasse als Ausgabe vom System präsentiert. Der experimentelle Aufbau und die Bewertung dieses Systems werden im nächsten Kapitel vorgestellt.




[1] http://visual-sentiment-ontology.appspot.com