stringtranslate.com

Clasificadores en cascada

El aprendizaje en cascada es un caso particular de aprendizaje en conjunto basado en la concatenación de varios clasificadores , utilizando toda la información recopilada de la salida de un clasificador dado como información adicional para el siguiente clasificador en la cascada. A diferencia de los conjuntos de votación o apilamiento, que son sistemas multiexpertos, el aprendizaje en cascada es un aprendizaje en varias etapas.

Los clasificadores en cascada se entrenan con varios cientos de vistas de muestra "positivas" de un objeto en particular e imágenes "negativas" arbitrarias del mismo tamaño. Una vez entrenado el clasificador, se puede aplicar a una región de una imagen y detectar el objeto en cuestión. Para buscar el objeto en todo el marco, la ventana de búsqueda se puede mover por la imagen y verificar cada ubicación con el clasificador. Este proceso se utiliza con mayor frecuencia en el procesamiento de imágenes para la detección y el seguimiento de objetos, principalmente la detección y el reconocimiento facial .

El primer clasificador en cascada fue el detector de rostros de Viola y Jones (2001) . El requisito para este clasificador era que fuera rápido para poder implementarse en CPU de bajo consumo , como cámaras y teléfonos.

Propiedades del algoritmo

Escalado y rotaciones

Se puede ver a partir de esta descripción que el clasificador no aceptará caras que estén al revés (las cejas no están en una posición correcta) o de lado de la cara (la nariz ya no está en el centro y las sombras en el lado de la nariz pueden faltar). Se deben entrenar clasificadores en cascada separados para cada rotación que no esté en el plano de la imagen (lado de la cara) y deberán volver a entrenarse o ejecutarse en características rotadas para cada rotación que esté en el plano de la imagen (cara al revés o inclinada hacia un lado). El escalado no es un problema, ya que las características se pueden escalar (centerpixel, leftpixels y rightpixels tienen una dimensión solo relativa al rectángulo examinado). En cascadas recientes, el valor de píxel de alguna parte de un rectángulo en comparación con otra se ha reemplazado con wavelets de Haar .

Propiedades del escenario

Para tener un buen desempeño general, se deben cumplir los siguientes criterios:

  1. Cada etapa debe validar todas las caras y puede producir muchos falsos positivos. Por ejemplo, si la etapa 1 marcara como "no contiene una cara" el 20% de los rectángulos que contienen una cara (tasa de falsos negativos=20%), entonces el rendimiento total de la cadena no puede ser mayor que el 80% de verdaderos positivos, cualesquiera sean las siguientes etapas, ya que el 20% de las caras ya han sido rechazadas.
  2. Esto sugiere que una buena etapa debe tener un 100% de verdaderos positivos y, por ejemplo, un 40% de falsos positivos, es decir, aceptar todos los rectángulos que contienen caras y marcar erróneamente muchos rectángulos como que potencialmente contienen una cara, para eliminarlos en etapas posteriores. Para una primera etapa, un 100% de verdaderos positivos y un 40% de falsos positivos aún genera muchos falsos negativos; si solo 1 de cada 1000 rectángulos de una imagen contiene una cara, todavía habrá 400 a 1 posibles caras falsas después de la primera etapa.
  3. Si la primera etapa es muy rápida (unas cuantas operaciones), hemos eliminado el 60% de los rectángulos que no contienen ninguna cara muy rápidamente.

Por lo tanto, el procedimiento de entrenamiento para una etapa es tener muchos estudiantes débiles (operadores de diferencia de píxeles simples), entrenarlos como un grupo (aumentar su peso si dan un resultado correcto), pero tener en cuenta que solo hay unos pocos estudiantes débiles activos para que el tiempo de cálculo siga siendo bajo.

El primer detector de Viola & Jones tenía 38 etapas, con 1 característica en la primera etapa, luego 10, 25, 25, 50 en las siguientes cinco etapas, para un total de 6000 características. Las primeras etapas eliminan los rectángulos no deseados rápidamente para evitar pagar los costos computacionales de las siguientes etapas, de modo que el tiempo computacional se dedica a analizar en profundidad la parte de la imagen que tiene una alta probabilidad de contener el objeto.

Entrenamiento en cascada

Las cascadas se realizan normalmente a través de ADAboost, que tiene en cuenta los costes. El umbral de sensibilidad (0,8 en nuestro ejemplo) se puede ajustar de forma que haya cerca del 100 % de verdaderos positivos y algunos falsos positivos. A continuación, se puede volver a iniciar el procedimiento para la etapa 2, hasta alcanzar la precisión o el tiempo de cálculo deseados.

Después del algoritmo inicial, se entendió que el entrenamiento de la cascada en su conjunto se puede optimizar para lograr una tasa de detección real deseada con una complejidad mínima. Ejemplos de tales algoritmos son RCBoost, ECBoost o RCECBoost. En sus versiones más básicas, se puede entender que se elige, en cada paso, entre agregar una etapa o agregar un aprendiz débil a una etapa anterior, lo que sea menos costoso, hasta que se haya alcanzado la precisión deseada. Cada etapa del clasificador no puede tener una tasa de detección (sensibilidad) inferior a la tasa deseada, por lo que se trata de un problema de optimización restringida . Para ser precisos, la sensibilidad total será el producto de las sensibilidades de las etapas.

Los clasificadores en cascada están disponibles en OpenCV , con cascadas preentrenadas para rostros frontales y parte superior del cuerpo. También es posible entrenar una nueva cascada en OpenCV con los métodos haar_training o train_cascades. Esto se puede utilizar para la detección rápida de objetos más específicos, incluidos objetos no humanos con características similares a Haar . El proceso requiere dos conjuntos de muestras: negativo y positivo, donde las muestras negativas corresponden a imágenes arbitrarias que no son objetos. La restricción de tiempo en el entrenamiento de un clasificador en cascada se puede sortear utilizando métodos de computación en la nube .

Clasificadores en cascada en estadística

El término también se utiliza en estadística para describir un modelo que está organizado en etapas. Por ejemplo, un clasificador (por ejemplo, k -medias) toma un vector de características (variables de decisión) y genera como salida para cada posible resultado de clasificación la probabilidad de que el vector pertenezca a la clase. Esto se utiliza normalmente para tomar una decisión (clasificar en la clase con mayor probabilidad), pero los clasificadores en cascada utilizan esta salida como entrada para otro modelo (otra etapa). Esto es particularmente útil para modelos que tienen reglas altamente combinatorias o de conteo (por ejemplo, clase1 si exactamente dos características son negativas, clase2 en caso contrario), que no se pueden ajustar sin observar todos los términos de interacción. Tener clasificadores en cascada permite que la etapa sucesiva se aproxime gradualmente a la naturaleza combinatoria de la clasificación, o para agregar términos de interacción en algoritmos de clasificación que no pueden expresarlos en una etapa.

Como ejemplo simple, si tratamos de hacer coincidir la regla (clase1 si exactamente 2 características de 3 son negativas, clase2 en caso contrario), un árbol de decisión sería:

El árbol tiene todas las combinaciones de hojas posibles para expresar el conjunto completo de reglas, mientras que (característica 1 positiva, característica 2 negativa) y (característica 1 negativa, característica 2 positiva) deberían unirse en realidad a la misma regla. Esto genera un árbol con muy pocas muestras en las hojas. Un algoritmo de dos etapas puede fusionar eficazmente estos dos casos al otorgar una probabilidad media-alta a la clase 1 si la característica 1 o la característica 2 (exclusiva) es negativa. El segundo clasificador puede captar esta probabilidad más alta y tomar una decisión sobre el signo de la característica 3.

En una descomposición de sesgo-varianza , los modelos en cascada suelen considerarse como si redujeran el sesgo mientras aumentaban la varianza.

Véase también

Referencias

Fuentes