stringtranslate.com

Función de canal integral

Integral Channel Features ( ICF ), también conocido como ChnFtrs , es un método para la detección de objetos en visión artificial . Utiliza imágenes integrales para extraer características como sumas locales, histogramas y características similares a Haar de múltiples canales de imágenes registrados. Este método fue ampliamente explotado por Dollár et al . en su trabajo para la detección de peatones , que se describió por primera vez en el BMVC en 2009. [1]

Descripción general del método

  1. Calcular múltiples canales de imagen registrados a partir de una imagen de entrada, utilizando transformaciones lineales y no lineales
  2. Extraer características como sumas sobre regiones de canales rectangulares de cada canal. Las características extraídas de varios canales se denominan características de canal integral.
  3. Entrene al clasificador AdaBoost . Dollár et al. utilizaron la técnica de refuerzo, que ofrece un aprendizaje más rápido, pero el entrenamiento se puede realizar con cualquiera de los otros métodos disponibles, como la máquina de vectores de soporte .
  4. Finalmente, el clasificador entrenado se utiliza para detectar objetos.

Imágenes y canales

Por lo general, un "canal" se refiere a un componente determinado que define los valores de los píxeles en una imagen digital . Una imagen en color, por ejemplo, es un agregado de tres canales (rojo, verde y azul). Los datos de color de una imagen se almacenan en tres matrices de valores, conocidos como canales. Si bien esta definición de "canal" es ampliamente aceptada en varios dominios, existe una definición más amplia en la visión por computadora , que permite explotar otras características de una imagen además de la información de color. Una de esas definiciones se refiere a un canal como un mapa registrado de la imagen original donde los píxeles de salida se asignan a los píxeles de entrada mediante alguna transformación lineal o no . [1] Según esta noción de canal, los canales de color de una imagen se pueden redefinir como imágenes de salida que se obtienen extrayendo un punto de información de color específico de la imagen de entrada a la vez. De manera similar, un canal para una imagen de entrada en escala de grises es simplemente igual a una imagen de entrada en escala de grises. La implementación simple de MATLAB a continuación muestra cómo se pueden extraer los canales de color y el canal de escala de grises de una imagen de entrada.

I = imread ( 'I_RGB.png' ); % imagen de color de entrada   % Output_image = color_channel(I), % donde el canal de color puede ser rojo, verde o azul. Las tres imágenes de salida % se extraen de la imagen de entrada de la siguiente manera red_channel = I (:, :, 1 ); green_channel = I (:, :, 2 ); blue_channel = I (:, :, 3 );            % Imagen de salida = grayscale_image(I). % Tenga en cuenta que si la imagen de entrada I ya fuera una imagen en escala de grises, el canal de escala de grises % simplemente habría sido igual a la imagen de entrada, es decir, canal gris = I gray_channel = rgb2gray ( I );  

De los ejemplos anteriores se desprende claramente que se puede generar un canal ya sea simplemente extrayendo información específica de la imagen original o manipulando la imagen de entrada de alguna forma para obtener el canal deseado. Dollár et al . definieron una función de generación de canal como Ω, que se puede utilizar para relacionar un canal (es decir, una imagen de salida) con la imagen original de la siguiente manera. [1]

𝐶 = Ω(𝐼) , donde C es el canal e I es una imagen de entrada

En la siguiente sección se analizan otros tipos de canales relativamente complejos, como se menciona en el artículo original de Dollár et al . Se proporciona una implementación de MATLAB para algunos de los canales.

Varios tipos de canales

% Imagen de salida = DoG(I) % Diferencia de Gaussiana aplicada en la imagen de entrada H1 = fspecial ( 'gaussian' , 25 , 0.5 ); % crea una Gaussiana con señal 0.5 H2 = fspecial ( 'gaussian' , 25 , 3 ); % crea una Gaussiana con señal 3 DoG_filter = H1 - H2 ; % crea una imagen DoG = double ( rgb2gray ( imread ( 'RGB_1.jpg' ))); DoG_channel = conv2 ( image , DoG_filter , 'same' ); % convoluciona DoG con imagen de entrada                    

Tenga en cuenta que estos canales se pueden utilizar solos o en combinación entre sí.

Extracción de características

Una vez que se obtienen los canales de una imagen de entrada, se pueden extraer varias características de estos canales. Estas características se denominan características del canal y se pueden clasificar en dos tipos principales: [1]

Implementación de funciones de canal integral

El método ChnFtrs permite agrupar características que capturan la riqueza de diversos canales. Dollár et al. basaron sus resultados experimentales en características de primer orden, ya que las características de segundo orden no tenían mucho valor agregado. [1] Los canales se vuelven a calcular en múltiples escalas para extraer un conjunto de características de canal que pueden representar todo el espacio de escala. Existe una caja de herramientas de MATLAB que se puede utilizar como guía para implementar el método ChnFtrs. Además, OpenCV tiene una implementación completa de ChnFtrs. [2] [3]

Actuación

Para estudiar el rendimiento de ChnFtrs, Dollár et al . primero evaluaron la efectividad de varios canales cuando se usan individualmente. Los canales estudiados fueron histograma de gradientes orientados (HOG), canal de histograma de gradiente (Hist), magnitud de gradiente (Grad), canales de color (RGB, HSV, LUV) y canal de escala de grises. El rendimiento se evaluó en términos de tasas de detección de peatones en el punto de referencia de 10 - 4 fppw (falso positivo por ventana). HOG resultó ser el canal más informativo en comparación con el resto de los canales. La tasa de detección de HOG fue del 89%. Además, entre los canales de color (RGB, HSV y LUV), LUV tuvo la mejor tasa de detección del 55,8%. El canal de escala de grises fue el menos informativo con una tasa de detección de solo el 30,7%. A continuación, evaluaron el rendimiento de varias combinaciones de canales, que es su método propuesto. La combinación de canales LUV, Hist y Grad tuvo la tasa de detección más alta del 91,9%. Esta combinación de canales se utilizó luego en sus experimentos con los conjuntos de datos de INRIA y Caltech.

Se utilizaron alrededor de 30.000 características de primer orden para entrenar el clasificador AdaBoost. El detector ChnFtrs + AdaBoost se probó en imágenes completas de los conjuntos de datos de INRIA y Caltech. El rendimiento se comparó con otros 12 detectores, incluido HOG, que es el método más popular. ChnFtrs superó a todos, excepto a LatSvm. La tasa de detección de ChnFtrs fue del 86 % en el conjunto de datos de INRIA y del 60 % en un conjunto de datos más complejo de Caltech.

Desarrollo adicional

El método ICF (ChnFtrs) ha sido ampliamente explotado por investigadores en Visión por Computadora después de que el trabajo fuera publicado inicialmente por Dollar et al . De hecho, ahora se utiliza como un detector de línea base debido a su eficiencia probada y rendimiento razonable. Varios autores han obtenido un rendimiento incluso mejor al extender el grupo de características de varias maneras o al elegir cuidadosamente el clasificador y entrenarlo con un conjunto de datos más grande. El trabajo de Zhang et al. también explotó las características del canal integral en el desarrollo del detector Informed Haar para la detección de peatones. [4] Utilizaron la misma combinación de canales que Dollár et al. pero pudieron lograr aproximadamente un 20% más de rendimiento que el método ChnFtrs de línea base. El rendimiento adicional se debió al hecho de que proporcionaron un mejor conocimiento previo a su detector. [4] También es importante señalar que utilizaron características similares a Haar informadas, que son características de segundo orden según la terminología descrita en [1] , mientras que Dollár et al . demostraron sus resultados utilizando solo características de canal de primer orden, ya que su análisis mostró que las características de segundo orden apenas agregaron un aumento del 0,6% a su tasa de detección. Además, Benenson et al . lograron aumentar la velocidad de detección del método ChnFtrs de referencia al evitar la necesidad de cambiar el tamaño de la imagen de entrada. [5]

ChnFtrs es un método versátil que permite extraer características de múltiples canales, lo que permite capturar información diversa a partir de una única imagen de entrada. Se ha demostrado que el rendimiento de un detector base desarrollado por Dollár et al . mejora al agregar un mejor conocimiento previo y entrenamiento con un conjunto de datos más grande.

Referencias

  1. ^ abcdef P. Dollár, Z. Tu, P. Perona y S. Belongie "Funciones integrales del canal", BMVC 2009
  2. ^ "La caja de herramientas Matlab de Piotr".
  3. ^ "Detector de características de canal integral — documentación de OpenCV 3.0.0-dev".
  4. ^ ab S. Zhang, C. Bauckhage y A. Cremers. Las características similares a las de Haar informadas mejoran la detección de peatones. En Computer Vision and Pattern Recognition (CVPR), Conferencia IEEE de 2014, páginas 947–954. IEEE, 2014
  5. ^ R. Benenson, M. Mathias, R. Timofte y LV Gool. Detección de peatones a 100 fotogramas por segundo. En CVPR, 2012