# Detección de eventos sociales

Por evento social se entiende un evento organizado y planificado por gente y para gente, el cual es ilustrado por contenidos multimedia, creados por las personas que atienden a dicho evento, compartidos en redes sociales.
Así, la detección de eventos sociales es el proceso mediante el cual se clasifican y agrupan en distintos eventos un conjunto de datos multimedia dados previamente.

## Motivación

La actual proliferación de aplicaciones de redes sociales está propiciando un incremento desmesurado de contenidos multimedia en la red. En consecuencia, encontrar contenido multimedia (digital) relacionado con un evento social concreto supone un reto. Así, surge como imprescindible la creación de algoritmos que puedan facilitar esta tarea a los usuarios. Recientemente, en el MediaEval 2013, la detección de eventos sociales ha sido una de las tareas propuestas a resolver por los concursantes. Algunas de las técnicas presentadas por los participantes están explicadas más adelante.

## Aplicaciones
### Aplicaciones actuales

Hoy en día su uso no está muy extendido todavía pero básicamente puede utilizarse para tener constancia de los eventos que se realizan, la magnitud de estos eventos, ciudades donde se han realizado los eventos, etc. Esta información, por ahora, también permite hacer recomendaciones.

### Posibles aplicaciones futuras

En un futuro servirá para tener bases de datos de los eventos realizados y así poder realizar estudios más exhaustivos sobre un mercado determinado. Pudiendo así hacer una estimación a priori sobre si saldría rentable organizar un tipo de evento de características similares a otro que ya se haya realizado. Todo esto es gracias a que en la clasificación de eventos podemos disponer de la información de la magnitud de dichos eventos.

## Funcionamiento

Las imágenes siempre van acompañadas con una cabecera de metadatos, los cuales nos aportan gran cantidad de información sobre la propia imagen. Para poder realizar el reconocimiento de un evento podemos extraer características a partir de la información temporal, espacial o textual (tanto títulos, tags como descripciones) que podemos encontrar adjunta a la propia imagen. En este caso, la información de los metadatos resulta más importante que la propia información visual de la imagen. Los metadatos pueden ser definidos como "datos sobre datos". Es decir, son datos complementarios a un objeto que ayudan a la descripción, contexto y descripción de este en cuestión. Los modelos de metadatos se pueden aplicar no solo a texto o audio, sino, también a imágenes, pinturas, videos, etc.
En Internet existen tres grandes modelos de metadatos:
* Dublin Core schema: Este esquema es típico para archivos de texto, pero también es utilizado para imágenes y contiene propiedades como: Autor, Título, Editor y Fecha.
* Technical schema: Con este esquema podemos extraer los datos técnicos acerca de la foto y la cámara tales como: tipo de cámara, lentes utilizadas o fecha de la imagen.
* Content schema: Este esquema se usa para dar una categoría a la imagen por medio de vocabulario conocido. Permite recuperar las fotos basándose en determinadas características como: paisaje, retrato, animales, deportes, etc.
Por otra parte, existen estándares muy comunes en cuanto a la indexación de metadatos para imágenes como es el caso del estándar CDWA (Categories for the Description of Works of Art), uno de los esquemas conceptuales más utilizados en museos y archivos ya que consta de más de 30 categorías y subcategorías como: orientación, dimensiones, etc.
Otros estándares muy utilizados en imágenes son:
* EXIF: Permite metadatos sobre tiempo de exposición, distancia focal, modelo de la cámara, datos del flash, etc.
* IPTC: Permite gestionar diferentes objetos multimedia, sobre todo imágenes y noticias. Está pensado para agilizar la transmisión de datos entre agencias de noticias y ofrece metadatos sobre autor, título, descripción, palabras clave, urgencia, derechos, etc.
Para poder utilizar la información de los metadatos hace falta hacerle un preprocesado para poder hacer las comparaciones entre palabras sin errores. Este preprocesado normalmente consiste en un cambio de todas las letras a minúsculas, eliminación de acentos, y traducción de diferentes idiomas. La imagen, en cambio, no precisa ningún preprocesado.
Una vez extraídos los metadatos de las imágenes, pasamos directamente a clasificar dichas imágenes. Una de las formas básicas de realizar este trabajo, es a partir de comparar una imagen con una imagen de datos pre clasificadas previamente.
Para esta nueva etapa de pre clasificado (Entrenamiento), se tiene que seleccionar las muestras del dominio con el que se trabaja y separarlo en clases, donde cada clase, engloba todas aquellas fotos con características similares.
Finalmente, la etapa de clasificación consiste en determinar la clase a la que pertenece una imagen nueva a partir de sus metadatos extraídos previamente y la comparación con el repositorio de imágenes de entrenamiento.

## Técnicas y algoritmos
### Técnicas tradicionales
#### Geolocalización

Las técnicas tradicionales de geolocalización en cuanto a eventos sociales utilizan tanto la geolocalización como la marca temporal, dado un margen de tiempo, para reconocer eventos como uno mismo. Como las fotos de estos eventos las hacen personas que participan o que asisten a él, se parte de la idea de que una persona no puede estar en 2 lugares diferentes a la vez, permitiendo así crear una clasificación espacio-temporal. De esta manera, comparando esta información con la de alguna imagen que forme parte la base de datos de nuestro clasificador, podemos clasificarlas rápidamente identificando las imágenes como un mismo evento.
Llegado este punto, lo normal es que todas aquellas imágenes que no disponían de esta información queden sueltas, el número de las cuales puede ser fácilmente la mayoría, así que se recurre a una de las dos técnicas de abajo. Una vez agrupadas las imágenes espacio-temporalmente, se pueden comparar visualmente o por texto aquellas fotos que no tienen geolocalización con las que sí tienen para comprobar si son eventos diferentes, o en caso contrario, demostrar que pertenecen al mismo evento o alguno parecido para clasificarlas dentro del mismo grupo.

#### Características
##### Características textuales

Muchas veces, una imagen viene acompañada de información que nos permite una clasificación rápida y efectiva, ya que en el título, en la descripción o en las etiquetas se expresa con claridad de qué tipo de evento se trata. Un ejemplo claro es el de una persona que sube una foto diciendo que se encuentra en un evento en concreto, facilitando así la clasificación. Sin embargo, estas palabras acostumbran a formar parte de oraciones o textos con más palabras que no nos sirven para clasificar. Dado esto, se emplean medidas de semejanza como el índice de Jaccard o bien los descriptores de texto, como el tf-idf, que dado el histograma de un texto nos permite encontrar aquellas palabras que aportan información, descartando otras como artículos o preposiciones. Una vez obtenidas estas palabras, hace falta hacer una comparación entre las palabras que tenemos y las categorías a las que pueden pertenecer las imágenes. En este caso, se utilizan ontologías, que nos indican cuán directa o indirecta es la relación entre dos palabras basándose en el concepto que expresan. A partir de un umbral, del parecido entre las palabras clave y el concepto de la categoría, se decide cómo clasificar la imagen. Según los resultados expresados en el concurso de MediaEval de 2013 de clasificación de eventos, esta técnica de clasificación resultó ser la que mejores resultados daba en cuanto a precisión y recuerdo, demostrando su efectividad. El uso de la ontología de WordNet y su biblioteca de funciones ayudaron a conseguir gran precisión y un buen tiempo.

##### Características visuales

Al ser la imagen el elemento que queremos clasificar, es normal utilizarlo también como elemento comparativo. Dada una base de datos con información sobre diferentes imágenes pertenecientes a nuestras categorías, la idea rápida es hacer una comparación entre las imágenes que tenemos y las nuevas que entran, clasificándolas con aquellas que tengan un mayor parecido. Para utilizar este método, se extraen los puntos de interés de una imagen mediante descriptores visuales como DoG, ya que una comparación pixel a pixel puede costar mucho tiempo sin dar un resultado que lo compense. Además, en este tipo de imagen acostumbra a haber muchos puntos de interés como pueden ser el público, una persona subida a un escenario o a una pasarela, instrumentos, etc. Una vez extraídos los puntos de mayor información, se pasa a compararlos con los de la base de datos y se clasifica dependiendo del mayor parecido.
Esta técnica presenta una fácil implementación y según los resultados expresados en el concurso de MediaEval de 2013 de clasificación de eventos, muestra una gran precisión a la hora de descartar aquellas imágenes que no son eventos. Sin embargo, los mismos resultados muestran que esta técnica ofrece resultados pésimos comparados con los de los descriptores textuales en cuanto a las 3 modalidades evaluadas.
Cabe añadir que aquellas técnicas que realmente ofrecieron mejores resultados, eran aquellas que se basan en una suma ponderada de ambas técnicas, dando mayor porcentaje del peso de decisión a la técnica de descriptores textuales basándose en los resultados de experimentos previos.

### Técnicas de análisis

Las técnicas y algoritmos solo hablan de las formas de categorización, sin embargo, para la decisión final de clasificación se acostumbran a utilizar los siguientes métodos:

#### Teorema de Bayes

El teorema de Bayes expresa la probabilidad condicional de un evento aleatorio A dado B en términos de la distribución de probabilidad condicional del evento B dado A y la distribución de probabilidad marginal de solo A.
    $P(A_{i}\vert B)={\frac {P(B\vert A_{i})P(A_{i})}{\sum _{k=1}^{n}P(B\vert A_{k})P(A_{k})}}$
Sea $\{A_{1},A_{2},\dots ,A_{i},\dots ,A_{n}\}$ un conjunto de sucesos mutuamente excluyentes y exhaustivos, y tales que la probabilidad de cada uno de ellos es distinta de cero (0). Sea B un suceso cualquiera del que se conocen las probabilidades condicionales $P(B\vert A_{i})$. Entonces, la probabilidad $P(A_{i}\vert B)$ viene dada por la expresión:
$P(A_{i}\vert B)={\frac {P(B\vert A_{i})P(A_{i})}{P(B)}}$
donde:
* son las probabilidades a priori.
* $P(B\vert A_{i})$ es la probabilidad de $B$ en la hipótesis $A_{i}$.
* $P(A_{i}\vert B)$ son las probabilidades a posteriori.

#### Support Vector Machines (SVM)

Conjunto de algoritmos de aprendizaje supervisado propiamente relacionados con problemas de clasificación y regresión. Dado un conjunto de ejemplos de entrenamiento (de muestras) podemos etiquetar las clases y entrenar una SVM para construir un modelo que prediga la clase de una nueva muestra.
Intuitivamente, una SVM es un modelo que representa a los puntos de muestra en el espacio, separando las clases por un espacio lo más amplio posible. Cuando las nuevas muestras se ponen en correspondencia con dicho modelo, en función de su proximidad pueden ser clasificadas a una u otra clase.
Una SVM construye un hiperplano o conjunto de hiperplanos en un espacio de dimensionalidad muy alta (o incluso infinita) que puede ser utilizado en problemas de clasificación o regresión. Una buena separación entre las clases permitirá un clasificación correcta.

#### Método de K-vecinos más cercanos (K-NN)

K-NN (K Nearest Neighbors) es un método de clasificación supervisada. La idea sobre la cual se basa este paradigma, es que una imagen pertenecerá a la clase más frecuente de sus K vecinos más cercanos. Para clasificar una nueva imagen a partir del K-NN, primero, se determina la posición en el plano X/Y. Seguidamente, determinamos el "radio de vecindad". A continuación, se traza una circunferencia con centro en el objeto que debemos determinar. Esta, encierra otros imágenes clasificadas previamente las cuales nos aportan las posibles clases a las que podemos pertenecer. Finalmente, determinamos la K. Esta la asignamos dependiendo de cuantos vecinos queremos comparar nuestra imagen, es decir, se establece si se compara con el vecino más cercano 1-NN, o con los K vecinos colindantes K-NN.

## Reconocimiento basado en video

Entendemos como video, una sucesión de imágenes (frames) en un espacio temporal, de esta manera podemos aplicar a cada frame las mismas extracciones de características de una imagen sola.
Teniendo en cuenta la línea temporal del vídeo podemos extraer, además, características en base al análisis del movimiento como:
* Egomotion: Determinar el movimiento 3D (rotación y traslación) de la cámara a partir de una secuencia de imágenes producida por la cámara.
* Tracking: Determinar los movimientos de un pequeño conjunto de puntos de interés u objetos ( por ejemplo , vehículos o personas) en la secuencia de imágenes.
* Optical Flow: Determinar, para cada punto de la imagen, la forma en que ese punto se está moviendo en relación con el plano de la imagen, es decir, su movimiento aparente. Este movimiento es el resultado de como el punto (en 3D) se está moviendo en la escena y cómo la cámara se mueve en relación con la escena.

## Aspectos técnicos
### Efectividad

Para obtener una mayor efectividad de este clasificador de eventos, tenemos que tener en cuenta que es más efectivo clasificar a partir de los metadatos de la imagen que hacerlo a partir de la extracción de características de la imagen.
El motivo por el cual es más efectivo clasificar a partir de los metadatos de la imagen, es que procesar texto es más rápido que analizar una imagen y extraer sus propias características.
Para poder tener una mayor efectividad en el clasificador, y poderlo realizar a partir de los metadatos de la imagen, es necesario tener un buen clasificador de texto el cual te diga si esa palabra en concreto es una palabra clave o no lo es. Por lo tanto, llegamos a la conclusión que clasificar la imagen a partir de metadatos es más útil y preciso que tener que analizar una imagen y tener que hacer un procesado de esta.

### Debilidades

El sistema de clasificación de eventos sociales no es del todo perfecto, ya que en ciertas ocasiones puede clasificar de forma errónea. Una de las debilidades más importantes que impiden un buen funcionamiento de este clasificador, son las situaciones de poca iluminación, ya que si la imagen no es lo suficientemente clara, el clasificador no podrá identificarla de la manera correcta y esperada.
Por otro lado, el algoritmo en algunas situaciones no es capaz de identificar imágenes de un evento en concreto del cuan las imágenes almacenadas asociadas a este tipo de evento en la base de datos sea muy diferente a la imagen que se está analizando en ese preciso momento.

### Privacidad

En las imágenes que aparezcan rostros de personas, se tiene que cuestionar la privacidad de estas personas. Dependiendo del uso que se le proporcione a dichas imágenes, se puede controlar a toda una sociedad sabiendo donde se encuentran, qué están haciendo, a que eventos han asistido y con qué compañía frecuentan ciertos lugares.

## Evaluación

El resultado que nos proporcione un clasificador de eventos, se evaluará por si recupera bien y detecta los eventos correctamente.
Para ello tendremos que buscar los metadatos de las imágenes y los recursos informáticos utilizados. La determinación de la correcta detección será comprobar si los sistemas proporcionan una respuesta para cada imagen.
Cada tipo de evento se tiene que procesar de manera independiente, con la finalidad de asegurar que cada evento se marcará de forma independiente al resto. Para cada evento, se produce un valor umbral entre 0 y 1, como más cercano esté a la unidad mejor, ya que querrá decir que la imagen se corresponde con más exactitud a dicho evento. Esta puntuación se utiliza para clasificar imágenes o videos en orden descendente porque se ordenaron las imágenes de las más cercanas al 1 hasta la más cercana al valor 0, de manera que las primeras imágenes serán las que se correspondan mejor con el evento.
Para poder llevar a cabo la evaluación de un clasificador, tenemos que tener presente los parámetros de Precisión y Recall. Estos dos parámetros se pueden calcular para cada posición en el vector fila. Por un lado, tenemos la Precisión, Prec ( tp ), que es el índice del vector fila dividido por el rango de este positivo. Por el otro lado, está el Recall, que es el índice del vector Tp rango, dividido por el número total de detecciones positivas Pe.
Ninguna imagen puede tener más de una etiqueta, es decir, ninguna imagen puede pertenecer a más de un evento. Los resultados de la detección de elemento multimedia relacionados con el evento serán evaluados usando Precision-Recall-F-Score y Información Mutua Normalizada (NMI). Ambos se utilizarán para evaluar el solapamiento entre grupos y clases. Por otra parte, también se agrupan todas las medidas de evaluación en una forma ajustada llamada "divergencia de una línea de base aleatoria", lo que indica el nivel aprendizaje útil que se ha producido y ayuda a detectar los envíos de agrupamiento problemáticos.
Condiciones de evaluación en MediaEval:
Son las opciones que tienen los participantes en la presentación de los resultados de la evaluación:
* Buscar videos
* Set de eventos
* Tipo de evento Kit
Por otra parte, MED también patrocina varias opciones para carreras contrastantes para que los artistas puedan evaluar solo los subsistemas en los componentes multimedia:
* Reconocimiento óptico de caracteres (OCR)
* Reconocimiento automático de voz (ASR)
* No OCR visual (Visual)
* El audio no ASR (Audio)
Para participar en el MED, los participantes deben crear un elemento codificado y el concepto base. También deben procesar el mínimo conjunto de búsqueda y proporcionar los resultados para los eventos predefinidos utilizando los kits de eventos extendidos (100EX).

## Mejoras recientes

La reciente mejora en la detección de eventos sociales no se debe a una mejora en las técnicas de análisis ni al uso de herramientas cada vez más potentes, sino a la gran aportación de información de las redes sociales. La mayoría de imágenes de eventos forman parte de redes famosas como Twitter o de aplicaciones para el teléfono, redes que cada vez cuentan con más usuarios y por lo tanto con más imágenes e información. Este incremento constante de información acerca de eventos ha permitido crear una gran base de datos que ha mejorada el resultado de los sistemas actuales de comparación para categorizar y clasificar eventos. Una de las mejoras más importantes ha sido la capacidad de los móviles para permitir a los usuarios subir imágenes con datos como títulos, geolocalización, o data y hora tan pronto como se inicia o abandona el evento, y el streaming, que permite una reproducción a tiempo real. Esta mejora ha permitido agilizar la subida de información a la red. Por otra parte, a pesar de este incremento, el número de eventos sigue creciendo cada día. Por este motivo, a pesar de que cada vez se disponga de más datos, los resultados no han cambiado mucho haciendo que actualmente la clasificación de eventos sociales siga siendo una difícil tarea aún en desarrollo.