Búsqueda selectiva para detección de objetos | R-CNN

El problema de la localización de objetos es la parte más difícil de la detección de objetos. Un enfoque es que usamos ventanas deslizantes de diferentes tamaños para ubicar objetos en la imagen. Este enfoque se llama búsqueda exhaustiva. Este enfoque es muy costoso desde el punto de vista computacional, ya que necesitamos buscar objetos en miles de ventanas, incluso para imágenes de tamaño pequeño. Se han realizado algunas optimizaciones, como tomar tamaños de ventana en diferentes proporciones (en lugar de aumentarlo en algunos píxeles). Pero incluso después de esto, debido a la cantidad de ventanas, no es muy eficiente. Este artículo analiza el algoritmo de búsqueda selectiva que utiliza tanto la búsqueda exhaustiva como la segmentación (un método para separar objetos de diferentes formas en la imagen asignándoles diferentes colores).

Algoritmo de búsqueda selectiva:

  1. Genere una subsegmentación inicial de la imagen de entrada utilizando el método descrito por Felzenszwalb et al en su artículo «Efficient Graph-Based Image Segmentation».
  2. Combina recursivamente las regiones similares más pequeñas en otras más grandes. Usamos el algoritmo Greedy para combinar regiones similares para hacer regiones más grandes. El algoritmo se escribe a continuación.
    Greedy Algorithm : 
    
    1. From set of regions, choose two that are most similar.
    2. Combine them into a single, larger region.
    3. Repeat the above steps for multiple iterations.

     

  3. Utilice las propuestas de regiones segmentadas para generar ubicaciones de objetos candidatas.

Similitud en la segmentación:

El documento de búsqueda selectiva considera cuatro tipos de similitud al combinar la pequeña segmentación inicial en otras más grandes. Estas similitudes son: 

  • Similitud de color: específicamente para cada región, generamos el histograma de cada canal de colores presente en la imagen. En este documento, se toman 25 contenedores en el histograma de cada canal de color. Esto nos da 75 contenedores (25 para cada R, G y B) y todos los canales se combinan en un vector (n = 75) para cada región. Luego encontramos la similitud usando la siguiente ecuación:
    \kern 6pc \mathbf{S_{color}(r_i, r_j) = \sum_{k=1}^{n} min(c_{i}^{k}, c_{j}^{k}) }\\
     C_{i}^{k}, c_{j}^{k} = k^{th} \, value \, of\, histogram \, bin \, of \, region\, r_{i}\, and\, r_{j}\, respectively
  • Similitud de textura: la similitud de textura se calcula utilizando 8 derivados gaussianos generados de la imagen y extrae el histograma con 10 contenedores para cada canal de color. Esto nos da 10 x 8 x 3 = 240 vectores dimensionales para cada región. Derivamos la similitud usando esta ecuación.
     \kern 6pc \mathbf{\kern 6pc S_{texture}(r_i, r_j) = \sum_{k=1}^{n} min(t_{i}^{k}, t_{j}^{k})}\\
     t_{i}^{k}, t_{j}^{k} = k^{th} \, value \, of\, texture\, histogram \, bin \, of \, region\, r_{i}\, and\, r_{j}\, respectively
  • Similitud de tamaño: la idea básica de la similitud de tamaño es hacer que las regiones más pequeñas se fusionen fácilmente. Si no se tiene en cuenta esta similitud, la región más grande seguirá fusionándose con la región más grande y las propuestas de región a múltiples escalas se generarán solo en esta ubicación.  
     \kern 6pc \mathbf{S_{size}(r_i, r_j) =  1 - \left ( size\left ( r_i \right ) + size\left ( r_j \right ) \right )\div  size\left ( img \right )}\\
    where \, size\left ( r_i \right ) \,, \, size\left ( r_j \right )\, and \, size\left ( img \right ) \, are \, the \, sizes \, of \, regions\, r_i \,, \, r_j \, and \, image \\ \kern 6pc respectively \, in \, pixels
  • Similitud de relleno: la similitud de relleno mide qué tan bien encajan dos regiones entre sí. Si dos regiones encajan bien entre sí (por ejemplo, una región está presente en otra), entonces deben fusionarse, si dos regiones ni siquiera se tocan, entonces no deben fusionarse.
     \kern 6pc\mathbf{S_{fill}(r_i, r_j) =  1 - \left ( size\left ( BB_{ij}\right )-size\left ( r_i \right ) - size\left ( r_j \right ) \right )\div  size\left ( img \right )}
     \kern 6pc size\left ( BB_{ij}\right ) \, is \, the \, size \, of \, bounding \, box \, around \, i \, and \, j
    Ahora, las cuatro similitudes anteriores se combinaron para formar una similitud final.

     \kern 6pc \mathbf{S_{(r_i, r_j)} = a_1 * s_{color}{(r_i, r_j)} +a_2 * s_{texture}{(r_i, r_j)} + a_3 * s_{size}{(r_i, r_j)}+ a_4 * s_{fill}{(r_i, r_j)}} \\
     where\, a_i\, is\, either\, 0\, or\, 1\, depending\, upon\, we\, consider\, this\, similarity\, or\, not\, .

Resultados :

Para medir el rendimiento de este método. El documento describe un parámetro de evaluación conocido como MABO (Mean Average Best Overlap).
Hay dos versiones de búsqueda selectiva: Rápida y Calidad . La diferencia entre ellos es que Quality generó muchos más cuadros delimitadores que Fast y, por lo tanto, lleva más tiempo calcular, pero tiene una recuperación más alta y ABO (superposición promedio mejor) y MABO (superposición promedio mejor). Calculamos ABO de la siguiente manera.

ABO equation

Como podemos observar, cuando todas las similitudes se usan en combinación, nos da el mejor MABO. Sin embargo, también se puede concluir que RGB no es el mejor esquema de color para usar en este método. HSV, Lab y rgI funcionan mejor que RGB, esto se debe a que no son sensibles a las sombras ni a los cambios de brillo. 

Pero cuando diversificamos y combinamos estas diferentes similitudes, combinación de colores y valores de umbral (k),

En el documento de búsqueda selectiva, aplica un método codicioso basado en MABO en diferentes estrategias para obtener los resultados anteriores. Podemos decir que este método de combinar diferentes estrategias aunque da mejor MABO, pero el tiempo de ejecución también aumenta considerablemente.

Búsqueda selectiva en reconocimiento de objetos:

En el documento de búsqueda selectiva, los autores usan este algoritmo en la detección de objetos y entrenan un modelo usando ejemplos de la verdad básica y muestra la hipótesis que se superpone en un 20-50 % con la verdad básica (como ejemplo negativo) en el clasificador SVM y lo entrenan para identificar falsos positivos. La arquitectura del modelo utilizado se indica a continuación.

Arquitectura de reconocimiento de objetos (Fuente: Documento de búsqueda selectiva)

El resultado generado en el conjunto de prueba VOC 2007 es,

Como podemos ver, produce una recuperación muy alta y el mejor MABO en el conjunto de pruebas VOC 2007 y requiere mucho menos número de ventanas para procesar en comparación con otros algoritmos que logran una recuperación y MABO similares.

La búsqueda selectiva se usa ampliamente en las primeras arquitecturas de última generación, como R-CNN, Fast R-CNN, etc. Sin embargo, debido a la cantidad de ventanas que procesa, demora entre 1,8 y 3,7 segundos (Búsqueda selectiva rápida) para generar una propuesta de región que no es lo suficientemente buena para un sistema de detección de objetos en tiempo real. 

Publicación traducida automáticamente

Artículo escrito por pawangfg y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *