paint-brush
Detecção de violência em vídeos: abordagem propostapor@kinetograph
144 leituras

Detecção de violência em vídeos: abordagem proposta

Muito longo; Para ler

Neste artigo, os pesquisadores propõem um sistema para detecção automática de violência em vídeos, utilizando pistas sonoras e visuais para classificação.
featured image - Detecção de violência em vídeos: abordagem proposta
Kinetograph: The Video Editing Technology Publication HackerNoon profile picture
0-item


Autores:

(1) Praveen Tirupattur, Universidade da Flórida Central.

Tabela de links

3. Abordagem Proposta

Este capítulo fornece uma descrição detalhada da abordagem seguida neste trabalho. A abordagem proposta consiste em duas fases principais: Treinamento e Teste. Durante a fase de treinamento, o sistema aprende a detectar a categoria de violência presente em um vídeo treinando classificadores com recursos visuais e de áudio extraídos do conjunto de dados de treinamento. Na fase de testes, o sistema é avaliado calculando a precisão do sistema na detecção de violência para um determinado vídeo. Cada uma dessas fases é explicada em detalhes nas seções a seguir. Consulte a Figura 3.1 para uma visão geral da abordagem proposta. Por fim, é apresentada uma seção que descreve as métricas utilizadas para avaliação do sistema.

3.1. Treinamento

Nesta seção, são discutidos os detalhes das etapas envolvidas na fase de treinamento. A abordagem de treinamento proposta tem três etapas principais: extração de recursos, classificação de recursos e fusão de recursos. Cada uma dessas três etapas é explicada em detalhes nas seções a seguir. Nas duas primeiras etapas desta fase, recursos audiovisuais dos segmentos de vídeo contendo violência e sem violência são extraídos e usados para treinar classificadores SVM de duas classes. Em seguida, na etapa de fusão de recursos, os pesos dos recursos são calculados para cada tipo de violência visado pelo sistema. Esses pesos de recursos são obtidos realizando uma pesquisa em grade sobre a possível combinação de pesos e encontrando a melhor combinação que otimiza o desempenho do sistema no conjunto de validação. O critério de otimização aqui é a minimização do EER (Equal Error Rate) do sistema. Para encontrar esses pesos, é utilizado um conjunto de dados separado do conjunto de treinamento, que contém vídeos violentos de todas as categorias alvo. Consulte o Capítulo 1 para obter detalhes sobre as categorias alvo.


Figura 3.1: Figura mostrando a visão geral do sistema. Quatro classificadores SVM diferentes são treinados, um para recursos de Áudio, Sangue, Movimento e SentiBank. Imagens da web são usadas para desenvolver um modelo de sangue para detectar sangue em quadros de vídeo. Para treinar classificadores para todos os recursos, são usados dados do conjunto de dados VSD2104. Cada um desses classificadores fornece individualmente a probabilidade de um segmento de vídeo conter violência. Essas probabilidades individuais são então combinadas usando a técnica de fusão tardia e a probabilidade de saída final, que é a soma ponderada das probabilidades individuais, é apresentada como saída do sistema. O vídeo fornecido como entrada ao sistema é dividido em segmentos de um segundo e a probabilidade de cada um dos segmentos conter violência é obtida como saída.

3.1.1. Extração de recursos

Muitos pesquisadores tentaram resolver o problema de detecção de violência usando diferentes recursos sonoros e visuais. Uma informação detalhada sobre pesquisas relacionadas à detecção de violência é apresentada no Capítulo 2. Nos trabalhos anteriores, os recursos visuais mais comuns usados para detectar violência são movimento e sangue e o recurso de áudio mais comum usado é o MFCC. Junto com esses três recursos comuns de baixo nível, esta abordagem proposta também inclui o SentiBank (Borth et al. [4]), que é um recurso visual que representa sentimentos em imagens. Os detalhes de cada uma das funcionalidades e sua importância na detecção da violência e os métodos de extração utilizados são descritos nas seções a seguir.

3.1.1.1. Recursos MFCC

Os recursos de áudio desempenham um papel muito importante na detecção de eventos como tiros, explosões, etc., que são muito comuns em cenas violentas. Muitos pesquisadores usaram recursos de áudio para detecção de violência e produziram bons resultados. Embora alguns dos trabalhos anteriores tenham analisado a entropia de energia [Nam et al. [41]] no sinal de áudio, a maioria deles utilizou recursos MFCC para descrever o conteúdo de áudio nos vídeos. Esses recursos do MFCC são comumente usados em reconhecimento de voz e áudio.


Neste trabalho, os recursos MFCC fornecidos no conjunto de dados VSD2014 são usados para treinar o classificador SVM durante o desenvolvimento do sistema. Durante a avaliação, os recursos do MFCC são extraídos do fluxo de áudio do vídeo de entrada, com o tamanho da janela definido para o número de amostras de áudio por quadro no fluxo de áudio. Isso é calculado dividindo a taxa de amostragem de áudio pelo valor de fps (quadros por segundo) do vídeo. Por exemplo, se a taxa de amostragem de áudio for 44.100 Hz e o vídeo for codificado com 25 fps, cada janela terá 1.764 amostras de áudio. A região de sobreposição de janela é definida como zero e 22 MFCC são computados para cada janela. Com esta configuração, um vetor de recursos MFCC de 22 dimensões é obtido para cada quadro de vídeo.

3.1.1.2. Características de sangue

O sangue é o elemento visível mais comum em cenas de extrema violência. Por exemplo, cenas contendo espancamentos, facadas, tiros e explosões. Em muitos trabalhos anteriores sobre detecção de violência, a detecção de pixels que representam sangue é utilizada, pois é um importante indicador de violência. Para detectar sangue em um quadro, uma tabela de cores pré-definida é usada na maioria dos trabalhos anteriores, por exemplo, Nam et al. [41] e Lin e Wang [38]. Outras abordagens para detectar sangue, como o uso do Mapa Auto-Organizável de Kohonen (SOM) (Clarin et al. [12]), também são usadas em alguns dos trabalhos anteriores.


Neste trabalho, um modelo de cores é utilizado para detectar pixels que representam sangue. É representado por meio de um histograma tridimensional com uma dimensão para cada valor de vermelho, verde e azul dos pixels. Em cada dimensão, existem 32 caixas com cada caixa tendo largura de 8 (32 × 8 = 256). Este modelo de sangue é gerado em duas etapas. Na primeira etapa, o modelo de sangue é inicializado usando os valores RGB (vermelho, verde, azul) dos pixels que contêm sangue. O histograma tridimensional é preenchido com os valores RGB desses pixels contendo sangue. O valor no compartimento ao qual pertence um pixel de sangue é incrementado em 1 cada vez que um novo pixel de sangue é adicionado ao modelo. Depois que um número suficiente de pixels sangrentos for usado para preencher o histograma, os valores nas caixas serão normalizados pela soma de todos os valores. Os valores em cada uma das caixas agora representam a probabilidade de um pixel mostrar sangue, dados seus valores RGB. Para preencher o modelo de sangue, os pixels contendo sangue são cortados de várias imagens contendo sangue baixadas do Google. O recorte das regiões contendo apenas pixels de sangue é feito manualmente. Consulte a imagem da Figura 3.2 para amostras das regiões recortadas, cada uma com tamanho de 20 pixels × 20 pixels.


Figura 3.2: Figura mostrando amostras de regiões cortadas de tamanho 20 × 20 contendo sangue.


Depois que o modelo é inicializado, ele é usado para detectar sangue nas imagens baixadas do Google. Somente pixels com alta probabilidade de representar sangue são usados para estender ainda mais o modelo bootstrap. O download das imagens e a extensão do modelo de sangue são feitos automaticamente. Para baixar imagens do Google que contenham sangue, são usadas palavras de pesquisa como “imagens sangrentas”, “cenas sangrentas”, “sangramento”, “respingos de sangue real”, “pingos de sangue”. Algumas das amostras das imagens baixadas podem ser vistas na Figura 3.3. Valores de pixel com alta probabilidade sanguínea são adicionados ao modelo sanguíneo até que ele tenha, pelo menos, um milhão de valores de pixel.


Este modelo de sangue por si só não é suficiente para detectar sangue com precisão. Junto com este modelo de sangue, há também a necessidade de um modelo sem sangue. Para gerar isso, semelhante à abordagem anterior, são baixadas imagens do Google que não contêm sangue e os valores de pixel RGB dessas imagens são usados para construir o modelo sem sangue. Algumas imagens de amostra usadas para gerar este modelo não sanguíneo são mostradas na Figura 3.3. Agora, usando esses modelos sanguíneos e não sanguíneos, a probabilidade de um pixel representar sangue é calculada da seguinte forma



Figura 3.3: Figura mostrando amostras de imagens baixadas do Google para gerar modelos sanguíneos e não sanguíneos.


Usando esta fórmula, para uma determinada imagem, a probabilidade de cada pixel representar sangue é calculada e o Mapa de Probabilidade Sanguínea (BPM) é gerado. Este mapa tem o mesmo tamanho da imagem de entrada e contém os valores de probabilidade de sangue para cada pixel. Este BPM é binarizado usando um valor limite para gerar o BPM binarizado final. O limite utilizado para binarizar o BPM é estimado (Jones e Rehg [35]). A partir deste BPM binarizado, é gerado um vetor de características unidimensional de comprimento 14 que contém valores como razão de sangue, razão de probabilidade de sangue, tamanho do maior componente conectado, média, variância etc. no vídeo e é usado para treinar o classificador SVM. Uma imagem de amostra junto com seu BPM e BPM binário é apresentada na Figura 3.4. Pode-se observar nesta figura que esta abordagem teve um desempenho muito bom na detecção de pixels contendo sangue.


Figura 3.4: Figura que mostra o desempenho do modelo de sangue gerado na detecção de sangue. A primeira coluna contém as imagens de entrada, a segunda coluna contém os mapas de probabilidade de sangue e a última coluna contém os mapas de probabilidade de sangue binarizados.

3.1.1.3. Recursos de movimento

O movimento é outro recurso visual amplamente utilizado para detecção de violência. O trabalho de Deniz et al. [21], Nievas et al. [42] e Hassner et al. [28] são alguns dos exemplos em que o movimento é utilizado como principal recurso para detecção de violência. Aqui, movimento refere-se à quantidade de variação espaço-temporal entre dois quadros consecutivos em um vídeo. O movimento é considerado um bom indicador de violência, pois é esperada uma quantidade substancial de violência nas cenas que contêm violência. Por exemplo, nas cenas que contêm lutas cara a cara, há movimentos rápidos de partes do corpo humano, como pernas e mãos, e em cenas que contêm explosões, há muito movimento das partes que estão se separando por causa de a explosão.


A ideia de usar informações de movimento para detecção de atividades vem da psicologia. Pesquisas sobre a percepção humana mostraram que o padrão cinemático do movimento é suficiente para a percepção das ações (Blake e Shiffrar [2]). Estudos de pesquisa em visão computacional (Saerbeck e Bartneck [50], Clarke et al. [13] e Hidaka [29]) também mostraram que características dinâmicas relativamente simples, como velocidade e aceleração, se correlacionam com emoções percebidas por um ser humano.


Neste trabalho, para calcular a quantidade de movimento em um segmento de vídeo, são avaliadas duas abordagens diferentes. A primeira abordagem é usar as informações de movimento incorporadas no codec de vídeo e a próxima abordagem é usar o fluxo óptico para detectar movimento. Essas abordagens são apresentadas a seguir.


3.1.1.3.1. Usando Codec

Neste método, as informações de movimento são extraídas do codec de vídeo. A magnitude do movimento em cada pixel por quadro, chamada vetor de movimento, é recuperada do codec. Este vetor de movimento é um vetor bidimensional e tem o mesmo tamanho de um quadro da sequência de vídeo. A partir deste vetor de movimento, é gerada uma característica de movimento que representa a quantidade de movimento no quadro. Para gerar esta característica de movimento, primeiro o vetor de movimento é dividido em doze sub-regiões de tamanhos iguais, cortando-o ao longo dos eixos xey em três e quatro regiões, respectivamente. A quantidade de movimento ao longo dos eixos xey em cada pixel de cada uma dessas sub-regiões é agregada e essas somas são usadas para gerar um histograma de movimento bidimensional para cada quadro. Este histograma representa o vetor de movimento de um quadro. Consulte a imagem à esquerda na Figura 3.5 para ver a visualização dos vetores de movimento agregados para um quadro de um vídeo de amostra. Nesta visualização, os vetores de movimento são agregados para sub-regiões de tamanho 16 × 16 pixels. A magnitude e a direção do movimento nessas regiões são representadas usando o comprimento e a orientação das linhas verdes tracejadas que estão sobrepostas na imagem.

3.1.1.3.2. Usando fluxo óptico

A próxima abordagem para detectar movimento usa fluxo óptico (Wikipedia [57]). Aqui, o movimento em cada pixel em um quadro é calculado usando Dense Optical Flow. Para isso, é utilizada a implementação do algoritmo de Gunner Farneback (Farneb¨ack [24]) fornecido pelo OpenCV (Bradski [5]). A implementação é fornecida como uma função no OpenCV e para mais detalhes sobre a função e os parâmetros, consulte a documentação fornecida pelo OpenCV (OpticalFlow [43]). Os valores 0,5, 3, 15, 3, 5, 1,2 e 0 são passados para os parâmetros de função escala pyr, níveis, tamanho de vitória, iterações, poli n, poli sigma e sinalizadores respectivamente. Uma vez que os vetores de movimento em cada pixel são calculados usando fluxo óptico, a característica de movimento de um quadro é extraída usando o mesmo processo mencionado na Seção 3.1.1.3.1 acima. Consulte a imagem à direita na Figura 3.5 para ter uma impressão dos vetores de movimento agregados extraídos de um quadro. Os vetores de movimento são agregados para sub-regiões de tamanho 16×16 pixels como na abordagem anterior para fornecer uma melhor comparação entre os recursos extraídos usando informações de Codec e fluxo óptico.


Após a avaliação de ambas as abordagens para extrair informações de movimento de vídeos, são feitas as seguintes observações. Primeiro, extrair movimento de codecs é muito mais rápido do que usar fluxo óptico, pois os vetores de movimento são pré-calculados e armazenados em codecs de vídeo. Segundo, a extração de movimento usando fluxo óptico não é muito eficiente quando há regiões desfocadas em um quadro. Esse desfoque geralmente é causado por movimentos bruscos em uma cena, o que é muito comum em cenas que contêm violência. Conseqüentemente, o uso de fluxo óptico para extrair informações de movimento para detectar violência não é uma abordagem promissora. Portanto, neste trabalho as informações armazenadas nos codecs de vídeo são utilizadas para extrair características de movimento. Os recursos de movimento são extraídos de cada quadro do vídeo e usados para treinar um classificador SVM.


Figura 3.5: Informações de movimento de quadros extraídos usando codec versus fluxo óptico.

3.1.1.4. Recursos do SentiBank

Além dos recursos de baixo nível mencionados acima, o recurso SentiBank introduzido por Borth et al. [4] também é aplicado. SentiBank é uma representação de nível médio de conteúdo visual baseada na Visual Sentiment Ontology (VSO) em grande escala [1]. O SentiBank consiste em 1.200 conceitos semânticos e classificadores automáticos correspondentes, cada um sendo definido como um par de substantivos adjetivos (ANP). Tais ANPs combinam fortes adjetivos emocionais para serem ligados a substantivos, que correspondem a objetos ou cenas (por exemplo, “lindo céu”, “inseto nojento” ou “bebê fofo”). Além disso, cada ANP (1) reflete um sentimento forte, (2) tem uma ligação a uma emoção, (3) é frequentemente utilizado em plataformas como o Flickr ou o YouTube e (4) tem uma precisão de deteção razoável. Além disso, o VSO pretende ser abrangente e diversificado o suficiente para cobrir uma ampla gama de diferentes classes de conceitos, como pessoas, animais, objetos, locais naturais ou artificiais e, portanto, fornecer informações adicionais sobre o tipo de conteúdo que está sendo analisado. Como o SentiBank demonstrou seu desempenho superior em comparação aos recursos visuais de baixo nível na análise do sentimento, Borth et al. [4], é usado agora pela primeira vez para detectar emoções complexas, como violência, em quadros de vídeo.


O SentiBank consiste em 1.200 SVMs, cada um treinado para detectar um dos 1.200 conceitos semânticos de uma imagem. Cada SVM é um classificador binário que fornece uma saída binária 0/1 dependendo se a imagem contém ou não um sentimento específico. Para um determinado quadro em um vídeo, um vetor contendo a saída de todos os 1.200 SVMs é considerado o recurso SentiBank. Para extrair esse recurso, é utilizada uma implementação baseada em python. Para treinar o classificador SVM, são utilizadas as funcionalidades do SentiBank extraídas de cada quadro dos vídeos de treinamento. A extração de recursos do SentiBank leva alguns segundos, pois envolve a coleta de resultados de 1.200 SVMs pré-treinados. Para reduzir o tempo necessário para a extração de recursos, o recurso SentiBank para cada quadro é extraído em paralelo usando multiprocessamento.

3.1.2. Classificação de recursos

A próxima etapa no pipeline após a extração de recursos é a classificação de recursos e esta seção fornece os detalhes desta etapa. A seleção do classificador e as técnicas de treinamento utilizadas desempenham um papel muito importante na obtenção de bons resultados de classificação. Neste trabalho, SVMs são utilizados para classificação. A principal razão por trás desta escolha é o fato de que os trabalhos anteriores sobre detecção de violência usaram SVMs para classificar recursos audiovisuais e produziram bons resultados. Em quase todos os trabalhos mencionados no Capítulo 2 SVMs são utilizados para classificação, embora possam diferir nas funções do kernel utilizadas.


De todos os vídeos disponíveis no conjunto de treinamento, são extraídos recursos audiovisuais utilizando o processo descrito na Seção 3.1.1. Esses recursos são então divididos em dois conjuntos, um para treinar o classificador e outro para testar a precisão da classificação do classificador treinado. Como os classificadores usados aqui são SVMs, deve-se escolher qual kernel usar e quais parâmetros de kernel definir. Para encontrar o melhor tipo de kernel e parâmetros de kernel, uma técnica de pesquisa em grade é usada. Nesta pesquisa de grade, são testados os kernels Linear, RBF (Função de Base Radial) e Qui-Quadrado, juntamente com um intervalo de valores para seus parâmetros, para encontrar a melhor combinação que forneça os melhores resultados de classificação. Usando esta abordagem, quatro classificadores diferentes são treinados, um para cada tipo de recurso. Esses classificadores treinados são então usados para encontrar os pesos dos recursos na próxima etapa. Neste trabalho são utilizadas as implementações SVM fornecidas pelo scikit-learn (Pedregosa et al. [45]) e LibSVM (Chang e Lin [9]).

3.1.3. Fusão de recursos

Na etapa de fusão de características, as probabilidades de saída de cada um dos classificadores de características são fundidas para obter a pontuação final da violência em um segmento de vídeo junto com a classe de violência presente nele. Essa fusão é feita calculando a soma ponderada das probabilidades de cada um dos classificadores de características. Para detectar a classe de violência a que pertence um vídeo, o procedimento é o seguinte. Primeiramente, são extraídos os recursos audiovisuais dos vídeos pertencentes a cada uma das classes de violência visadas. Esses recursos são então passados para os classificadores SVM binários treinados para obter as probabilidades de cada vídeo conter violência. Agora, essas probabilidades de saída de cada um dos classificadores de características são fundidas atribuindo-se a cada classificador de características um peso para cada classe de violência e calculando a soma ponderada. Os pesos atribuídos a cada um dos classificadores de características representam a importância de uma característica na detecção de uma classe específica de violência. Esses pesos de recursos devem ser ajustados adequadamente para cada classe de violência para que o sistema detecte a classe correta de violência.


Existem duas abordagens para encontrar os pesos. A primeira abordagem é ajustar manualmente os pesos de um classificador de características para cada tipo de violência. Esta abordagem requer muita intuição sobre a importância de um recurso na detecção de uma classe de violência e é muito propensa a erros. A outra abordagem é encontrar os pesos usando um mecanismo de busca em grade onde um conjunto de pesos é amostrado a partir do intervalo de pesos possíveis. Neste caso, o intervalo de pesos possíveis para cada classificador de características é [0,1], sujeito à restrição de que a soma dos pesos de todos os classificadores de características seja 1. Neste trabalho, a última abordagem é utilizada e todas as combinações de peso que equivalem a 1 são enumeradas. Cada uma dessas combinações de pesos é usada para calcular a soma ponderada das probabilidades do classificador para uma classe de violência e os pesos da combinação de pesos que produz a soma mais alta são atribuídos a cada um dos classificadores para a classe de violência correspondente. Para calcular esses pesos, é utilizado um conjunto de dados diferente do conjunto de treinamento, a fim de evitar ajuste excessivo de pesos ao conjunto de treinamento. O conjunto de dados utilizado para cálculo de peso contém vídeos de todas as classes de violência visadas neste trabalho. É importante notar que, embora cada um dos classificadores SVM treinados seja de natureza binária, os valores de saída desses classificadores podem ser combinados usando soma ponderada para encontrar a classe específica de violência à qual um vídeo pertence.

3.2. Teste

Nesta etapa, para um determinado vídeo de entrada, cada segmento contendo violência é detectado juntamente com a classe de violência nele presente. Para um determinado vídeo, a seguinte abordagem é usada para detectar os segmentos que contêm violência e a categoria de violência nele contida. Primeiro, os recursos visuais e de áudio são extraídos de um quadro a cada 1 segundo, começando no primeiro quadro do vídeo, em vez de extrair recursos de cada quadro. Esses quadros dos quais os recursos são extraídos representam um segmento de 1 segundo do vídeo. Os recursos desses segmentos de vídeo de 1 segundo são então passados para os classificadores SVM binários treinados para obter as pontuações de cada segmento de vídeo como violento ou não violento. Em seguida, as somas ponderadas dos valores de saída dos classificadores individuais são calculadas para cada categoria de violência usando os pesos correspondentes encontrados durante a etapa de fusão. Portanto, para um determinado vídeo de duração 'X' segundos, o sistema gera um vetor de duração 'X'. Cada elemento deste vetor é um dicionário que mapeia cada classe de violência com um valor de pontuação. A razão para usar esta abordagem é dupla: primeiro, para detectar intervalos de tempo em que há violência no vídeo e para aumentar a velocidade do sistema na detecção de violência. A extração de recursos, especialmente a extração do recurso Sentibank, é demorada e fazê-la para cada quadro tornará o sistema lento. Mas esta abordagem tem um efeito negativo na precisão do sistema, pois detecta violência não para cada quadro, mas para cada segundo.

3.3. Métricas de avaliação

Existem muitas métricas que podem ser usadas para medir o desempenho de um sistema de classificação. Algumas das medidas usadas para classificação binária são exatidão, precisão, recall (sensibilidade), especificidade, pontuação F, taxa de erro igual (EER) e área sob a curva (AUC). Algumas outras medidas, como Precisão Média (AP) e Precisão Média Média (MAP), são usadas para sistemas que retornam uma lista classificada como resultado de uma consulta. A maioria dessas medidas que são cada vez mais utilizadas na pesquisa de Aprendizado de Máquina e Mineração de Dados são emprestadas de outras disciplinas, como Recuperação de Informação (Rijsbergen [49]) e Biometria. Para uma discussão detalhada sobre essas medidas, consulte os trabalhos de Parker [44] e Sokolova e Lapalme [53]. A curva ROC (Receiver Operating Characteristic) é outro método amplamente utilizado para avaliar ou comparar sistemas de classificação binária. Medidas como AUC e EER podem ser calculadas a partir da curva ROC.


Neste trabalho, curvas ROC são utilizadas para: (i) Comparar o desempenho de classificadores individuais. (ii) Comparar o desempenho do sistema na detecção de diferentes classes de violência na tarefa de classificação Multiclasse. (iii) Comparar o desempenho do sistema no conjunto de dados Youtube e Hollywood-Test na tarefa de classificação binária. Outras métricas usadas aqui são Precisão, Recall e EER. Estas medidas são utilizadas porque são as medidas mais utilizadas nos trabalhos anteriores sobre detecção de violência. Neste sistema, os parâmetros (pesos de fusão) são ajustados para minimizar o EER.

3.4. Resumo

Neste capítulo é apresentada uma descrição detalhada da abordagem seguida neste trabalho para detectar a violência. A primeira seção trata da fase de treinamento e a segunda seção trata da fase de teste. Na primeira seção, as diferentes etapas envolvidas na fase de treinamento são explicadas detalhadamente. Primeiro, a extração de recursos audiovisuais é discutida e os detalhes de quais recursos são usados e como são extraídos são apresentados. A seguir, são discutidas as técnicas de classificação utilizadas para classificar os recursos extraídos. Finalmente, o processo usado para calcular pesos de recursos para fusão de recursos é discutido. Na segunda seção, é discutido o processo utilizado durante a fase de teste para extrair segmentos de vídeo contendo violência e detectar a classe de violência nesses segmentos.


Para resumir, as etapas seguidas nesta abordagem são extração de recursos, classificação de recursos, fusão de recursos e teste. As três primeiras etapas constituem a fase de treinamento e a etapa final é a fase de teste. Na fase de treinamento, recursos de áudio e visuais são extraídos do vídeo e usados para treinar classificadores SVM binários, um para cada recurso. Em seguida, um conjunto de dados separado é usado para encontrar os pesos dos recursos que minimizam o EER do sistema no conjunto de dados de validação. Na fase final de teste, primeiro os recursos visuais e de áudio são extraídos, um por segmento de vídeo de 1 segundo do vídeo de teste de entrada. Em seguida, essas características são passadas para os classificadores SVM treinados para obter as probabilidades dessas características representarem violência. Uma soma ponderada dessas probabilidades de saída é calculada para cada tipo de violência usando os pesos obtidos na etapa de fusão de características. O tipo de violência para o qual a soma ponderada é máxima é atribuído como rótulo ao segmento de vídeo de 1 segundo correspondente. Utilizando estes rótulos, os segmentos que contêm violência e a classe de violência neles contida são apresentados como um resultado do sistema. A configuração experimental e avaliação deste sistema são apresentadas no próximo capítulo.



Este artigo está disponível no arxiv sob licença CC 4.0.


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