Recomendación del artículo [Detección de objetivos] - Detección de objetivos basada en una red neuronal profunda
Recientemente, las redes neuronales convolucionales profundas han logrado un rendimiento de vanguardia en muchos puntos de referencia de reconocimiento de imágenes, incluido el ImageNet Large Scale Visual Recognition Challenge (ILVRC). -2012). El modelo ganador en la subtarea de localización es una red que predice un único cuadro delimitador y una puntuación de confianza para cada clase de objeto en la imagen. Este modelo captura todo el contexto de la imagen alrededor del objeto, pero es imposible manejar múltiples instancias del mismo objeto en la imagen sin copiar ingenuamente el número de salida de cada instancia. Este artículo propone un modelo heurístico de detección de redes neuronales significativo que predice un conjunto de cuadros delimitadores independientes de clase, cada uno con una puntuación correspondiente a la probabilidad de que contenga algún objeto de interés. El modelo maneja naturalmente un número variable de instancias por clase y permite la generalización entre clases en los niveles más altos de la red.
La detección de objetos es una de las tareas básicas de la visión por ordenador. Un ejemplo común de solución de este problema es entrenar detectores de objetos que operen en subimágenes y aplicar estos detectores de manera detallada en todos los lugares y escalas. Este ejemplo se ha aplicado con éxito al Modelo de Parte Deformable (DPM) después de un entrenamiento diferencial para lograr resultados de última generación para tareas de inspección. La búsqueda exhaustiva de todas las posiciones y escalas posibles presenta desafíos computacionales. Este desafío se vuelve más difícil a medida que aumenta el número de categorías, ya que la mayoría de los métodos entrenan un detector separado para cada categoría. Para resolver este problema, se han propuesto muchos métodos, que van desde cascadas de detectores hasta el uso de segmentación para proponer una pequeña cantidad de hipótesis de objetos.
Existe mucha literatura sobre detección de objetos. En esta sección, nos centraremos en el uso del agnosticismo de clase y en las formas de abordar la escalabilidad.
Muchos métodos de detección propuestos se basan en modelos basados en componentes. Recientemente se ha logrado un rendimiento impresionante gracias al aprendizaje diferenciado y a las funciones bien diseñadas. Sin embargo, estos métodos se basan en la aplicación detallada de plantillas de piezas a múltiples escalas, lo cual es muy costoso. Además, son escalables en el número de clases, lo que supone un desafío para los conjuntos de datos modernos como ImageNet.
Para resolver el primer problema, Lampert et al. utilizan una estrategia de bifurcación y vinculación para evitar calcular todas las posiciones posibles de los objetos. Para resolver este último problema, Song et al. utilizaron una biblioteca de componentes de baja dimensión compartida por todas las clases de objetos. La detección de piezas basada en algoritmos hash también logró buenos resultados.
Un trabajo diferente, más cercano al nuestro, se basa en la idea de que los objetos se pueden localizar sin conocer su clase. Algunos de estos métodos se basan en la segmentación sin clases de abajo hacia arriba [9]. Los clips obtenidos de esta manera se pueden calificar con comentarios de arriba hacia abajo. Basándose en la misma motivación, Alexia et al. utilizaron un clasificador barato para clasificar si un objeto debería ser un objeto o no, y de esta manera redujeron el número de posiciones en los pasos de detección posteriores. Estos métodos pueden verse como un modelo de múltiples capas, con la segmentación como la primera capa y la segmentación y clasificación como capas posteriores. Si bien codifican principios de percepción probados, mostraremos que el aprendizaje integral puede conducir a mejores resultados utilizando modelos más profundos.
Por último, aprovechamos los avances recientes en el aprendizaje profundo, en particular el trabajo de Krizhevsky y otros. Ampliamos su método de detección de regresión de cuadro delimitador para manejar el caso de múltiples objetos de manera escalable. Sin embargo, Szegedy et al. han aplicado la regresión basada en DNN a máscaras de objetos, y el último método logró un rendimiento de detección de última generación, pero no se puede extender a múltiples clases debido al costo de la regresión de máscara única.
Nuestro objetivo es lograr una detección de objetos escalable independiente de la clase mediante la predicción de un conjunto de cuadros delimitadores que representan objetos potenciales. Más precisamente, utilizamos una red neuronal profunda (DNN), que genera un número fijo de cuadros delimitadores. Además, genera una puntuación para cada cuadro que indica la confianza de la red en que el cuadro contiene el objeto.
Para formalizar la idea anterior, codificamos el cuadro i-thobject y su confianza asociada como el valor de nodo de la última capa de red:
Cuadro delimitador: codificamos las coordenadas de cada cuadro. de la esquina superior izquierda y la esquina inferior derecha están codificados en cuatro valores de nodo, que se pueden escribir como vectorli∈R4. Estas coordenadas están normalizadas a las dimensiones de la imagen W.R.T. para lograr la invariancia del tamaño absoluto de la imagen. Cada coordenada normalizada se genera mediante una transformación lineal de la última capa.
Confianza: la puntuación de confianza del cuadro que contiene el objeto se codifica como un valor de nodo único ci∈[0, 1]. Este valor se genera mediante una transformación lineal de la última capa oculta, seguida de un sigmoide.
Podemos combinar las posiciones del cuadro delimitador sli, i∈{1,...k} en capas lineales. De manera similar, podemos tratar todos los intervalos de confianza ci, i∈{1,...K} como la salida de una capa sigmoidea. Ambas capas de salida están conectadas a la última capa oculta.
Durante la inferencia, nuestro algoritmo genera un cuadro delimitador de conocimiento. En nuestros experimentos utilizamos ek = 100, K = 200. Si es necesario, podemos utilizar puntuaciones de confianza y supresión no máxima en la inferencia para obtener un número menor de marcos de alta confianza. Se supone que estas cajas representan objetos. Por lo tanto, pueden ser clasificados por clasificadores posteriores para lograr la detección de objetos. Dado que el número de cajas es muy pequeño, podemos proporcionar un clasificador potente. En nuestros experimentos, utilizamos otro DNN para la clasificación.
Entrenamos un DNN para predecir los cuadros delimitadores de cada imagen de entrenamiento y sus puntuaciones de confianza, de modo que el cuadro con la puntuación más alta coincida bien con el cuadro del objeto de verdad fundamental de la imagen. Supongamos que para un ejemplo de entrenamiento específico, los objetos están etiquetados como borderingboxesgj,j∈{1,…,M}. De hecho, el número de diccionarios es mucho mayor que el de Groundtruthboxm. Por lo tanto, intentamos optimizar sólo el subconjunto de fotogramas predichos que sea más realista. Optimizamos su ubicación para mejorar su juego y maximizar su confianza. Al mismo tiempo, minimizamos la confianza de las predicciones residuales, que se consideran deficientes para localizar objetos reales. Para lograr los objetivos anteriores, formulamos un problema de asignación para cada ejemplo de entrenamiento. Wexij∈{0, 1} representa la asignación: xij= 1, si la I-ésima predicción se asigna al j-ésimo objeto verdadero. El objetivo de esta tarea se puede expresar de la siguiente manera
Donde utilizamos la distancia el2 entre las coordenadas del cuadro delimitador normalizado para cuantificar la diferencia entre los cuadros delimitadores. Además, queremos optimizar la confianza del cuadro en función de la asignación x. Maximizar la confianza de una predicción determinada se puede expresar como
? El objetivo de pérdida final combina la pérdida de coincidencia y la pérdida de confianza.
Sujeto a la ecuación 1. α equilibra las contribuciones de diferentes términos de pérdida.
Para cada ejemplo de entrenamiento, resolvemos la predicción de la mejor asignación x* al cuadro verdadero.
La ejecución de restricciones asigna soluciones. Esta es una variación del emparejamiento bipartito y es un emparejamiento de complejidad polinomial. En nuestra aplicación, la comparación es muy económica: la cantidad de objetos etiquetados en cada imagen es menos de una docena y, en la mayoría de los casos, solo se etiquetan unos pocos objetos. Luego, los parámetros de la red se optimizan mediante retropropagación. Por ejemplo, la primera derivada del algoritmo de retropropagación calcula W, R, T, L y c.
Si bien las pérdidas definidas anteriormente son en principio suficientes, tres revisiones permiten alcanzar una mayor precisión más rápidamente. La primera modificación es agrupar las ubicaciones verdaderas en el terreno y encontrar dichos grupos/centroides que podamos usar como prioridad para cada ubicación predicha. Por lo tanto, se anima al algoritmo de aprendizaje a aprender residuos a priori para cada ubicación predicha.
La segunda modificación implica el uso de estos antecedentes en el proceso de comparación: en lugar de hacer coincidir n ubicaciones de hechos de fondo con k predicciones, encontramos la mejor coincidencia entre k antecedentes y hechos de fondo. Una vez que se completa la coincidencia, la confianza del objetivo se calcula como antes.
Además, la pérdida para la predicción de ubicación es invariante: para cualquier par de ubicaciones coincidentes (objetivo, predicha), la pérdida se define como la diferencia entre la verdad del terreno y las coordenadas correspondientes a la coincidencia anterior. Lo llamamos emparejamiento previo y asumimos que promueve la diversificación de las predicciones.
? Cabe señalar que aunque definimos nuestro método de forma independiente de la clase, podemos aplicarlo para predecir cuadros de objetos para una clase específica. Para hacer esto, solo necesitamos entrenar nuestro modelo en los límites de las clases. Además, podemos predecir el kbox para cada clase. Desafortunadamente, la cantidad de parámetros en este modelo aumenta linealmente con la cantidad de clases. Además, en una configuración típica, la cantidad de objetos en una clase determinada es relativamente pequeña y la mayoría de estos parámetros verán ejemplos de entrenamiento con una pequeña contribución de gradiente correspondiente. Por lo tanto, creemos que nuestro proceso de dos pasos (primero localización, luego reconocimiento) es una mejor opción, ya que permite usar algunos parámetros para explotar datos de múltiples tipos de objetos en la misma imagen.
La arquitectura de red del modelo de clasificación de localización que utilizamos es la misma que [10]. Usamos Adagrad para controlar la caída de la tasa de aprendizaje, tamaño de mini lote 128 y usamos múltiples copias de la misma red para el entrenamiento distribuido paralelo para lograr una convergencia más rápida. Como se mencionó anteriormente, utilizamos valores anteriores en la pérdida de localización; estos se calculan utilizando el promedio del conjunto de entrenamiento. También utilizamos α = 0,3 para equilibrar la localización y las pérdidas de confianza. El localizador puede generar coordenadas fuera del área de plantación para realizar inferencias. Las coordenadas se asignan y truncan a la última área de la imagen. Además, las cajas se eliminan mediante una supresión no máxima, siendo el umbral de similitud de Jaccard de 0,5. Luego, nuestro segundo modelo clasifica cada cuadro delimitador como un objeto de interés o "fondo". Para entrenar nuestra red de localizadores, generamos aproximadamente 30 millones de imágenes del conjunto de entrenamiento y aplicamos los siguientes pasos a cada imagen del conjunto de entrenamiento. Finalmente, se perturba la muestra. Para entrenar nuestra red de localización, generamos aproximadamente 30 millones de imágenes del conjunto de entrenamiento aplicando los siguientes pasos a cada imagen del conjunto de entrenamiento. Para cada imagen, generamos la misma cantidad de muestras cuadradas, lo que hace que la cantidad total de muestras sea aproximadamente 654,38 millones. Para cada imagen, llene los cubos con muestras de modo que para cada escala en el rango 0-5, 5-15, 15-50 y 50-100 haya la misma cantidad de muestras y la misma proporción de cobertura del cuadro delimitador en el cuadro delimitador dado. rango interior. El conjunto de entrenamiento y la mayoría de nuestros hiperparámetros se eligieron en función de experiencias pasadas utilizando conjuntos de datos no públicos. En los siguientes experimentos, no exploramos ninguna opción de regularización o generación de datos no estándar. En todos los experimentos, todos los hiperparámetros se obtienen del conjunto de entrenamiento.
El desafío Pascal Visual Object Class (VOC) es el punto de referencia más utilizado para los algoritmos de detección de objetos. Consiste principalmente en imágenes de escenas complejas que contienen cuadros delimitadores para 20 categorías de objetos diferentes. En nuestra evaluación nos centramos en los COV del año 2007 y publicamos un conjunto de pruebas para este fin. Mostramos los resultados entrenando VOC 2012, que contiene aprox. 11.000 imágenes. Entrenamos un localizador y un clasificador basado en red profunda con 100 fotogramas.
Entrenamos el clasificador en un conjunto de datos que consta de 654,38 millones de cultivos, con objetos superpuestos que tienen al menos 0,5 similitudes de superposición jaccard. Los cultivos están etiquetados como una de las 20 categorías de objetos VOC. ? 20 millones de cultivos negativos tienen como máximo 0,2 de similitud Jaccard con cualquier caja de objetos. Estos cultivos están etiquetados con una categoría especial de "fondo". La arquitectura y los hiperparámetros se eligieron de la siguiente manera.
En la primera ronda, el modelo localizador se aplica al recorte del cuadrado central más grande y más pequeño de la imagen. Cambie el tamaño del recorte al tamaño de entrada de red de 220 × 220. Podemos obtener cientos de marcos de fechas candidatos a través de esta red a la vez. Después de una supresión no máxima con un umbral de superposición de 0,5, la red retiene y clasifica las 10 detecciones con mayor puntuación a través de un modelo de 21 clasificadores.
La puntuación de detección final es el producto de la puntuación de localización de un cuadro determinado multiplicada por la puntuación del clasificador evaluado en el área cuadrada más grande alrededor del cultivo. Estas puntuaciones se evaluaron y utilizaron para calcular curvas de recuperación precisas.
En primer lugar, analizamos el rendimiento del localizador de forma aislada. Presentamos la cantidad de objetos detectados, definidos por el criterio de detección de Pascal, en comparación con la cantidad de cuadros delimitadores generados. En la Figura 1, mostramos los resultados del entrenamiento con VOC2012. Además, utilizamos el área central más grande de la imagen (el recorte del cuadrado central más grande) como entrada y usamos dos segundas escalas para dar el resultado: la segunda escala del área central más grande (elija una ventana de 3×3 con un tamaño que es 60 veces el tamaño de la imagen).
Como podemos ver, al utilizar un presupuesto de 10 cuadros delimitadores, podemos ubicar objetos de 45,3 con el primer modelo y 48 con el segundo modelo. Esto muestra un mejor rendimiento que otros resultados reportados, por ejemplo, el algoritmo de grado de objeto alcanza 42 [1]. Además, este gráfico muestra la importancia de ver imágenes en diferentes resoluciones. Aunque nuestro algoritmo obtiene una gran cantidad de objetos utilizando el recorte central máximo, obtenemos mejoras adicionales al recortar imágenes de mayor resolución. Además, clasificamos los cuadros delimitadores generados utilizando un clasificador de 21 vías como se describe anteriormente. La Tabla 1 enumera la precisión promedio (AP) de VOC 2007. El AP promedio alcanzado es de 0,29, lo que equivale al nivel avanzado. Tenga en cuenta que nuestra complejidad en tiempo de ejecución es muy baja: solo utilizamos los 10 cuadros principales. Los ejemplos de curvas de detección y recuperación de precisión total se muestran en la Figura 2 y la Figura 3 respectivamente. Vale la pena señalar que la detección visual se obtiene utilizando sólo el recorte de imagen del cuadrado central más grande, es decir, utilizando la imagen completa. Sin embargo, logramos conseguir objetos relativamente pequeños, como barcos en la segunda fila y dos filas de ovejas en la tercera fila.
En este trabajo, proponemos un nuevo método para localizar objetos en imágenes que predice el tiempo de múltiples cuadros delimitadores. Este método utiliza redes neuronales convolucionales profundas como modelo básico de aprendizaje y extracción de características. Establece un costo de posicionamiento de cajas múltiples que puede utilizar un número variable de posiciones reales. En el caso del enfoque "una clase, una caja", se someten 1000 cajas a una supresión no máxima, utilizando los mismos criterios que el enfoque profundo de múltiples cajas de interés en una imagen determinada, y se aprende a predecirlas en imágenes invisibles. Ubicación.
Presentamos los resultados de dos desafiantes pruebas comparativas, VOC2007 e ILSVRC-2012. En ambos puntos de referencia, el método propuesto es competitivo. Además, el método proporciona una buena predicción de las ubicaciones que detectarán los clasificadores posteriores. Nuestros resultados muestran que el enfoque de deepmultibox es escalable e incluso puede generalizarse entre dos conjuntos de datos, lo que permite predecir una ubicación de interés incluso sin una clase entrenada en ella. Además, puede capturar muchas situaciones de objetos similares, lo cual es una característica importante para los algoritmos que buscan comprender mejor las imágenes.
En el futuro, esperamos colapsar las rutas de ubicación e identificación en una sola red, de modo que podamos extraer información de ubicación y etiqueta en un único paso de avance a través de la red. Incluso en su estado actual, el proceso de dos pasos (red de localización seguida de red de clasificación) da como resultado entre 5 y 10 evaluaciones de red, cada una a una velocidad de aproximadamente 1 CPU por segundo (máquinas modernas). Es importante destacar que este número no está relacionado linealmente con el número de clases a identificar, lo que hace que el método propuesto sea muy competitivo con los métodos similares a DPM.