Detección de objetos

Disponible con licencia de Image Analyst.

Los siguientes métodos y conceptos son clave para comprender y realizar la detección de objetos en ArcGIS AllSource.

Single Shot Detector (SSD)

Single Shot Detector (SSD) toma una única pasada sobre la imagen para detectar varios objetos. SSD se considera uno de los tipos de modelo de detección de objetos más rápido con una precisión relativamente alta.

SSD tiene dos componentes: un modelo de base y una cabecera SSD. El modelo de base es una red de clasificación de imágenes previamente entrenada como extractor de entidades. Por lo general, es una red como ResNet entrenada en Imagenet de la que se ha eliminado la capa de clasificación final totalmente conectada. La cabecera SSD es tan solo una o más capas convolucionales agregadas a esta base y las salidas se interpretan como cuadros de delimitación y clases de objetos en la ubicación espacial de las activaciones de las capas finales.

Celda de cuadrícula

En lugar de usar una ventana deslizante, SSD divide la imagen usando una cuadrícula, y cada celda de cuadrícula es responsable de detectar objetos en esa región de la imagen. Detectar objetos significa predecir la clase y la ubicación de un objeto dentro de esa región. Si no hay ningún objeto presente, se considera la clase de fondo y se ignora la ubicación. Por ejemplo, puede utilizar una cuadrícula de 4 por 4 en el siguiente ejemplo. Cada celda de cuadrícula puede generar la posición y la forma del objeto que contiene.

Cuadrícula de 4 por 4

Se muestra un ejemplo de una cuadrícula de 4 por 4.

Si hay varios objetos en una celda de cuadrícula o necesita detectar varios objetos de formas diferentes, se utilizará el cuadro de anclaje.

Cuadro de anclaje

A cada celda de cuadrícula de SSD se le puede asignar varios cuadros de anclaje (o anteriores). Estos cuadros de anclaje están predefinidos y cada uno es responsable de un tamaño y forma dentro de una celda de cuadrícula. Por ejemplo, la piscina de la siguiente imagen corresponde al cuadro de anclaje más alto, mientras que el edificio corresponde al cuadro más ancho.

Ejemplo de dos cuadros de anclaje

Se muestra un ejemplo de dos cuadros de anclaje.
Leyenda de los dos cuadros de anclaje
Se muestra la leyenda de los dos cuadros de anclaje.

SSD utiliza una fase de concordancia durante el entrenamiento para que el cuadro de anclaje adecuado coincida con las cuadros de delimitación de cada objeto de la realidad del terreno dentro de una imagen. Esencialmente, el cuadro de anclaje con el mayor grado de superposición con un objeto es responsable de predecir la clase de ese objeto y su ubicación. Esta propiedad se utiliza para entrenar la red y predecir los objetos detectados y sus ubicaciones una vez que se haya entrenado la red. En la práctica, cada cuadro de anclaje se especifica mediante una relación de aspecto y un nivel de zoom.

Relación de aspecto

No todos los objetos tienen forma cuadrada. Algunos son más largos y otros son más anchos al variar los grados. La arquitectura SSD permite que las relaciones de aspecto predefinidas de los cuadros de anclaje tengan esto en cuenta. Puede utilizar el parámetro de relaciones para especificar las distintas relaciones de aspecto de los cuadros de anclaje asociados con cada celda de cuadrícula en cada nivel de zoom o escala.

Cuadro de delimitación de edificios

El cuadro de delimitación del edificio 1 es mayor, mientras que el cuadro de delimitación del edificio 2 es más ancho.

Nivel de zoom

No es necesario que los cuadros de anclaje tengan el mismo tamaño que la celda de cuadrícula. Es posible que desee encontrar objetos más pequeños o más grandes dentro de una celda de cuadrícula. El parámetro de zoom se utiliza para especificar cuánto necesita escalar los cuadros de anclaje hacia arriba o hacia abajo con respecto a cada celda de cuadrícula. Como en el ejemplo del cuadro de anclaje, el tamaño del edificio es generalmente más grande que la piscina.

RetinaNet

RetinaNet es un modelo de detección de objetos de una única etapa que funciona bien con objetos densos y a pequeña escala. Por esta razón, se ha convertido en un modelo de detección de objetos popular para utilizar con imágenes aéreas y de satélite.

Architecture

Hay cuatro componentes principales de una arquitectura de modelo RetinaNet1:

  • Ruta ascendente: red de base de ResNet, que calcula los mapas de entidades a diferentes escalas, independientemente del tamaño de la imagen de entrada o de la base.
  • Ruta descendente y conexiones laterales: la ruta descendente sobremuestrea los mapas de entidades más gruesas espacialmente desde niveles de pirámide más altos, y las conexiones laterales fusionan las capas descendentes y las capas ascendentes con el mismo tamaño espacial.
  • Subred de clasificación: predice la probabilidad de que un objeto esté presente en cada ubicación espacial para cada cuadro de anclaje y clase de objeto.
  • Subred de regresión: retrograda el desplazamiento de los cuadros de delimitación desde los cuadros de anclaje de cada objeto de la realidad del terreno.

Pérdida focal

La pérdida focal (FL) es una mejora de la pérdida de entropía cruzada (CE) y se introduce para manejar el problema de desequilibrio de clase con modelos de detección de objetos de una única etapa. Los modelos de una única etapa sufren un problema de desequilibrio extremo de clase en primer plano-segundo plano debido a un muestreo densa de cuadros de anclaje (ubicaciones de objetosposibles1). En RetinaNet, cada capa de pirámide puede tener miles de cuadros de anclaje. Solo se asignan unos pocos a un objeto de la realidad del terreno, mientras que la gran mayoría será la clase en segundo plano. Estas muestras sencillas (detecciones con probabilidades altas) generan pequeños valores de pérdida, pero pueden inundar colectivamente el modelo. FL reduce la pérdida de contribución a causa de muestras sencillas y aumenta la importancia de corregir ejemplos mal clasificados.

Escalas

Escala de los cuadros de anclaje. El valor predeterminado está establecido en [2, 2.3, 2.6] que funciona bien con la mayoría de los objetos de cualquier dataset. Puede cambiar las escalas de acuerdo con el tamaño de los objetos del dataset.

Relación de aspecto

Relación de aspecto de los cuadros de anclaje. El valor predeterminado es [0.5, 1, 2], lo que significa que los cuadros de anclaje tendrán relaciones de aspecto 1:2, 1:1, 2:1. Puede modificar las relaciones según la forma de los objetos de interés.

YOLOv3

La versión 3 de YOLO (Solo Buscar una vez) utiliza Darknet-53 como base. Esto contrasta con el uso de la popular familia ResNet de bases por otros modelos, como SSD y RetinaNet. Darknet-53 es una versión más profunda de Darknet-19, utilizada en YOLOv2, una versión anterior. Como su nombre indica, esta arquitectura de base tiene 53 capas convolucionales. La adaptación de las capas residuales de estilo ResNet ha mejorado su precisión al mismo tiempo que mantiene la ventaja de la velocidad. Este extractor de entidades funciona mejor que ResNet101 pero similar a ResNet152, además de ser cerca de 1,5 y 2 veces más rápido, respectivamente2.

YOLOv3 presenta mejoras progresivas con respecto a sus versiones anteriores2. Utiliza el sobremuestreo y la concatenación de capas de entidades con capas de entidades anteriores que conservan entidades detalladas. Otra mejora consiste en utilizar tres escalas para la detección. Esto ha hecho que el modelo sea apto para detectar objetos de escalas variables en una imagen. Existen otras mejoras en las selecciones del cuadro de anclaje, la función de pérdida, etc. Para obtener un análisis detallado de la arquitectura de YOLOv3, consulte Novedades de YOLO v3 Vínculo externo.

Faster R-CNN

Antes de Faster R-CNN (red neuronal convolucional basada en la región), los modelos utilizaban varios algoritmos para la propuesta regional que se calculaba en la CPU y creaban un cuello de botella. Faster R-CNN ha mejorado la arquitectura de detección de objetos al reemplazar el algoritmo de búsqueda de selección en Fast R-CNN por una red convolucional denominada Red propuesta regional (RPN). El resto de la arquitectura de modelo sigue siendo la misma que Fast R-CNN; la imagen se alimenta en un CNN para producir un mapa de entidades a partir del cual las entidades correspondientes a regiones propuestas por la RPN se seleccionan y se redimensionan mediante una capa de agrupación y se alimentan en una capa FC con dos cabeceras: un clasificador softmax y un regresor de cuadro de delimitación. Este diseño incrementaba la velocidad de detección y la acercaba más al tiempo real3.

Faster R-CNN

Se muestra una la arquitectura de Faster R-CNN3.

Red de propuesta regional

La red de propuesta regional (RPC) introduce una imagen y devuelve regiones de interés que contienen objetos, al igual que otros algoritmos de propuesta regional. RPN también devuelve una puntuación de objeto, que mide la probabilidad de que la región tenga un objeto en lugar de un segundo plano3. En Faster R-CNN, la RPN y la red de detección comparten la misma base; la última capa compartida de la base proporciona un mapa de entidades de la imagen que utiliza la RPN para proponer regiones.

Utilizando un enfoque de ventana deslizante, se superpone una red pequeña sobre el mapa de entidades. En cada ventana espacial hay varios cuadros de anclaje que tienen escalas y relaciones de aspecto predeterminados. Esto permite que el modelo detecte objetos de un amplio rango de escalas y relaciones de aspecto en la misma imagen. Normalmente, los cuadros de anclaje se crean en tres escalas diferentes y con tres relaciones de aspecto diferentes, lo que resulta en nueve cuadros de anclaje en cada ubicación espacial que denota las propuestas regionales máximas en esa ubicación espacial. La red pequeña forma parte de capas totalmente conectadas con dos cabeceras: para la puntuación del objeto y la otra para las coordenadas del cuadro de delimitación de las propuestas regionales. Tenga en cuenta que estas capas, aunque son similares a las últimas capas del detector de objetos Fast R-CNN, no son las mismas ni comparten las consecuencias. La RPN clasifica las regiones de una clase de manera agnóstica, ya que se encarga de encontrar solo las regiones que contienen los objetos. Para obtener más información sobre RPN, consulte el vínculo externo deFaster R-CNN para la detección de objetos .

Mask R-CNN

Mask R-CNN es un modelo para la segmentación de instancias. Se desarrolló con el modelo Faster R-CNN. El modelo Faster R-CNN es una red neuronal convolucional basada en regiones4 que devuelve cuadros de delimitación para cada objeto y su etiqueta de clase con una puntuación de confianza.

Faster R-CNN predice la clase de objeto y los cuadros de delimitación, pero Mask R-CNN es una extensión de Faster R-CNN con ramas adicionales para predecir máscaras de segmentación en cada región de interés (RoI). En la segunda etapa de Faster R-CNN, el grupo RoI se reemplaza por RoIAlign, lo que ayuda a conservar la información espacial que se alinea de forma incorrecta en caso de grupo RoI. RoIAlign utiliza la interpolación binaria para crear un mapa de entidades de tamaño fijo, por ejemplo 7 por 7. A continuación, la salida de la capa RoIAlign se introduce en la cabecera Máscara, que consta de dos capas de convolución. Genera una máscara para cada RoI, segmentando así una imagen de píxel a píxel. Para evitar el suavizado excesivo de los límites que no son precisos, para objetos con límites irregulares, el modelo se ha mejorado para incluir un módulo de red neuronal de representación basada en puntos denominado PointRend.

Segmentación de instancias

La segmentación de instancia integra una tarea de detección de objetos, donde el objetivo es detectar un objeto y su predicción de cuadro de delimitación en una imagen, y una tarea de segmentación semántica, que clasifica cada píxel en categorías predefinidas. Por lo tanto, puede detectar objetos en una imagen mientras segmenta con precisión una máscara para cada instancia de objeto.

La segmentación de instancias permite resolver muchos problemas, como los siguientes:

  • Detección de daños, donde es importante conocer el alcance del daño.
  • Vehículos sin conductor, donde es importante conocer la posición de cada coche en la escena.
  • Generar huellas de edificios para cada edificio individual, que es un problema común en SIG.

Referencias

[1] Tsung-Yi Lin, Priya Goyal, Ross Girshick, Kaiming He, and Piotr Dollár. Focal Loss for Dense Object Detection, http://arxiv.org/abs/1708.02002 arXiv:1708.02002, (2017).

[2] Joseph Redmon, Ali Farhadi. YOLOv3: An Incremental Improvement, https://arxiv.org/abs/1804.02767 arXiv:1804.02767, (2018).

[3] Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks, http://arxiv.org/abs/1506.01497 arXiv:1506.01497, (2015).

[4] Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks, http://arxiv.org/abs/1506.01497 arXiv:1506.01497, (2015).