Resumen de los métodos de aplicación sin anclaje para la detección de objetivos, la segmentación de instancias y el seguimiento de múltiples objetivos

 
  
 
  

Haga clic en " Visión de aprendizaje de Xiaobai " arriba y elija agregar " Estrella " o " Superior "

重磅干货,第一时间送达

Prefacio  Este artículo presenta el estado de investigación de Anchor-free en la detección de objetivos, la segmentación de instancias y el seguimiento de múltiples objetivos, presenta documentos relacionados con Anchor-free, así como ideas de investigación e ideas innovadoras en diversas aplicaciones. Después de leer este artículo, tendrá una comprensión más completa y clara de sin anclaje.

Autor: Zhihu-Yang Yang

Dirección: https://www.zhihu.com/people/18158332186

Desde el pasado mes de mayo, he estado prestando atención al trabajo de Anchor-free. En esta ocasión, aproveché la oportunidad de compartir la lectura de papeles en el grupo para resolver algunos trabajos relacionados con Anchor free. Por un lado, es para compartir algunos trabajos recientes en el campo de la detección de objetos. Por otro lado, revisaré los populares modelos de red CenterNet y FCOS del año pasado. Cuando los migremos a otras tareas como segmentación y multi- seguimiento de objetivos, todos ¿Cómo lo diseñan?

3b54b69fce1f16ac9d834e05aedd5450.png

e07a867cd70893ead293d4df5e875993.png

5f51aa9da844e87e826ab2a14647f4a0.png

01

Primero, echemos un vistazo a la aplicación de Anchor Free en la detección de objetivos. En primer lugar, tenemos que responder ¿por qué hay un ancla? En años anteriores, los problemas de detección de objetos solían modelarse como problemas de clasificación y regresión para algunas regiones candidatas. En el detector de una sola etapa, estas áreas candidatas son las anclas generadas por el método de la ventana deslizante; en el detector de dos etapas, las áreas candidatas son las propuestas generadas por el RPN, pero el mismo RPN aún clasifica y devuelve las anclas generadas por El método de la ventana deslizante.

f6ead8bea990f76f4431eb2ba5e5ec8b.jpeg

Los varios métodos sin anclaje que enumeré aquí resuelven el problema de detección por otros medios. CornetNet caracteriza el cuadro objetivo al predecir puntos clave emparejados (esquina superior izquierda y esquina inferior derecha); CenterNet y FCOS caracterizan el cuadro objetivo al predecir el punto central del objeto y su distancia al cuadro; ExtremeNet detecta los cuatro puntos extremos del objeto, cuatro puntos extremos forman un marco de detección de objetos; AutoAssign también es un artículo reciente, que propone una nueva estrategia de asignación para etiquetas de muestras positivas y negativas en el detector libre de anclaje; Point-Set es un trabajo reciente de ECCV 2020, un Se propone la representación de anclaje basada en puntos, que unifica las tres tareas principales de detección de objetivos, segmentación de instancias y estimación de poses, que ampliaremos más adelante.

b8fdf88bb0e27d0ae17081d5820216a7.jpeg

Primero, revisemos brevemente la arquitectura de red de FCOS, donde C3, C4 y C5 representan los mapas de características de la red troncal, y P3 a P7 son los niveles de características utilizados para la predicción final. Los mapas de características de estas cinco capas estarán seguidos por un encabezado, que incluye tres ramas, que se utilizan para la clasificación, la confianza del punto central y la predicción de regresión. La arquitectura general es muy simple. Muchas personas modifican la rama de salida de FCOS para resolver otras tareas, como la segmentación de instancias, la detección de puntos clave y el seguimiento de objetivos.

A continuación, enumero los tres ajustes detallados realizados por el autor original al actualizar la versión del artículo. Uno es usar un nuevo método de muestreo de punto central. Al evaluar muestras positivas y negativas, se consideran los valores de tamaño de paso en diferentes etapas. Para ajustar el tamaño de la caja donde se ubica la muestra positiva. En lugar de juzgar directamente si cae en el gt bbox como en FCOS v1. Este nuevo método de muestreo central reduce la cantidad de muestras que son difíciles de distinguir, y también se reduce la diferencia en la precisión causada por el uso de la rama central. La segunda es reemplazar la pérdida de retorno con la pérdida de GIOU. La tercera es que las diferentes capas de funciones de FCOS v2 usan diferentes rangos de registro (divididos por zancada) cuando retroceden los parámetros. (En FCOS v1, se multiplica por un parámetro que se puede aprender. Este parámetro se conserva en FCOS v2, pero su importancia se reduce).

ed7ac255881499409c79297ff600f776.jpeg

Para mejorar el efecto de fcos, especialmente considerando algunos entornos inestables, debido al ruido del sensor o datos incompletos, el detector de objetivos debe considerar la confianza de la predicción de posicionamiento Algunas personas proponen agregar una rama de predicción de la incertidumbre de bbox.

La incertidumbre aquí se obtiene al predecir la distribución de las cuatro compensaciones del bbox. Aquí se supone que cada ejemplo es independiente, y la salida de la distribución gaussiana multivariada y la matriz diagonal de la matriz de covarianza se utilizan para caracterizar el desplazamiento de cada bbox. Sobre las tres pérdidas de clasificación, punto central y regresión de FCOS, se añade una nueva pérdida para medir la incertidumbre de bbox offset. Echemos un vistazo más de cerca a su implementación a continuación.

fff716242725dc2c229e16c968dd5cd4.jpeg

Las compensaciones de caja aquí están representadas por (l, r, t, b),  exterior_predeterminado.png que son los parámetros de aprendizaje de la red. La dimensión de B es 4,  exterior_predeterminado.png que es la compensación de bbox. La distribución gaussiana multivariada calculada  exterior_predeterminado.png es la mencionada anteriormente la matriz diagonal de la matriz de covarianza,

Trayendo la pérdida de la incertidumbre del desplazamiento de bbox al diseño de la red, podemos enfocarnos en el elemento a la izquierda de la línea roja.Cuando la distribución gaussiana pronosticada es muy   diferente exterior_predeterminado.png de la bbox real  , la red tenderá a obtener una distribución muy exterior_predeterminado.pngUna desviación estándar grande  exterior_predeterminado.png significa que la incertidumbre en este momento es muy grande. Por supuesto, hay una restricción similar a la regularización detrás de esto  exterior_predeterminado.png , por lo que el límite exterior_predeterminado.pngno debería ser demasiado grande.

7d6513a2ab4e6e68a884c8a4b3efb44c.png

En comparación con FCOS, también se utiliza el marco de ResNet-50 y su AP se puede mejorar en 0,8 puntos en el conjunto de datos de coco. Comparando las dos pérdidas, la regresión también es mejor.

594c5bffb9e99ee86835255372bbd9b9.jpeg

Echemos un vistazo a cómo la red basada en puntos "Anclajes de conjuntos de puntos para detección de objetos, segmentación de instancias y estimación de poses" utiliza la idea de regresión para unificar las tres tareas principales de detección de objetos, segmentación de instancias y estimación de poses. Los autores afirman ser los primeros en unificar estas tres tareas.

El autor cree que en el campo de la detección de objetos, ya sea que varios anclajes con IOU superiores a cierto umbral representen muestras positivas, o usen el punto central del objeto para representar muestras positivas. Independientemente del método basado en ancla o sin ancla, para el posicionamiento de la muestra positiva en la imagen original, se basa en la forma de regresión para devolver directamente las coordenadas rectangulares, o la longitud y el ancho del rectángulo + el desplazamiento del punto central del rectángulo. Hasta cierto punto, Anchor representa solo información a priori. Anchor puede ser un punto central o un rectángulo. Al mismo tiempo, también puede proporcionar más ideas de diseño de modelos, como la distribución de muestras positivas y negativas, la clasificación y la regresión. Selección de características. La idea de todos los autores es si pueden proponer un ancla más generalizada, que se pueda aplicar a más tareas, no solo a la detección de objetivos, y dar una mejor información previa.

Para la segmentación de instancias y la detección de objetos, use el ancla más a la izquierda, que tiene dos partes: un punto central y n puntos de anclaje ordenados. En cada posición de la imagen, cambiaremos la escala y la relación de aspecto del cuadro delimitador para formar un ancla, aquí está lo mismo que el método basado en anclas, que implica la configuración de algunos hiperparámetros. Para las anclas en la estimación de pose, se usa la pose más común en el conjunto de entrenamiento. La tarea de regresión de la detección de objetos es relativamente simple, solo use el punto central o el punto de la esquina superior izquierda/inferior derecha para regresar. Para la segmentación de instancias, el autor utiliza criterios de coincidencia específicos para hacer coincidir los puntos de anclaje en el ancla de conjunto de puntos verde en la imagen de la derecha y los puntos de la instancia gt amarilla, y convertirlo en una tarea de regresión.

Las tres figuras de la derecha son para conectar los puntos verde y amarillo con el punto más cercano; para conectar el punto verde con el borde más cercano; en el extremo derecho, el método optimizado del autor usa el método del punto más cercano en la esquina opuesta , según el ángulo Los cuatro puntos más próximos obtenidos por punto dividen el contorno de gt en 4 regiones. Haga una línea vertical desde los puntos verdes en el límite superior y el límite inferior para que corresponda a un punto gt válido (si no está en el área, no es válido, como el punto hueco verde en la figura).

99c1dfa53389eb6cadbc90c1c963ecfd.jpeg

En general, Point-set reemplaza el anclaje rectangular tradicional con su nuevo método de diseño de anclaje y adjunta una rama de regresión paralela en la cabeza para segmentación de instancias o estimación de pose. La figura muestra su arquitectura de red. Al igual que retinanet, el autor utiliza capas de características de diferentes escalas. La cabeza incluye subredes para clasificación, regresión de poses de segmentación y regresión de cajas de detección. Cada subred consta de cuatro capas convolucionales de 3x3 con un paso de 1, un módulo FAM que se usa solo en la tarea de estimación de pose y una capa de salida. En la siguiente tabla, se enumeran las dimensiones de la capa de salida, que corresponden a tres tareas.

ff1e28d17d4b945c70ab7ab54c0b987e.jpeg

Su función de pérdida es muy simple, utilizando pérdida focal para clasificación y pérdida L1 para tareas de regresión.

Además de la normalización de objetivos y la incorporación de conocimientos previos en la forma del ancla, el autor también mencionó cómo podemos usar aún más el ancla para agregar características para garantizar la invariancia de la transformación de características y expandir el aprendizaje en varias etapas.

(1) Reemplazamos el desplazamiento aprendible en la convolución variable con la posición del punto en el ancla basada en puntos.

(2) Debido a esta regresión de la forma del cuerpo humano, es relativamente más difícil de detectar. Por un lado, tiene un requisito muy grande para la extracción de características y, por otro lado, existen diferencias entre diferentes puntos clave. Por lo tanto, el autor propone que la predicción de pose de la primera etapa se puede usar directamente como ancla de la segunda etapa (clasificación, máscara o regresión de pose, regresión de cuadro delimitador), y se usa una etapa de refinamiento adicional para la estimación de pose.

b049076a2dedd8ad63979c241c724958.png

02

Los siguientes son tres modelos en el campo de la segmentación de instancias, todos hacen referencia a la práctica de FCOS y migran la idea de la detección de objetivos sin anclaje a la tarea de segmentación de instancias. No se discutirán los detalles específicos de la red, aquí solo hablaremos sobre los ajustes que hicieron a la arquitectura general de FCOS al resolver la tarea de segmentación de instancias.

ab46e1cb5b06fd734ab8e51a7db641fa.jpeg

Lo primero de lo que se habla es de CenterMask, este se pone en primer plano porque su idea es muy sencilla, esta estructura se puede entender como una rama de la máscara de FCOS + MaskRCNN.

4cf38e2bac87bc080db64affb2fdd7b3.jpeg

Podemos compararlo con FCOS. La imagen de entrada obtiene el marco de destino a través de FCOS, y esta parte es la misma. Después de eso, similar a MaskRCNN, use ROIAlign para recortar el área correspondiente, cambie el tamaño a 14 x14 y finalmente calcule la pérdida a través de la rama de la máscara. La idea es muy simple.

5c0370563b482365e5e51d873c43f2d1.jpeg

El segundo es EmbedMask. Sobre la base de garantizar una precisión aproximada, su velocidad más rápida puede alcanzar tres veces la de MaskRCNN. Adopta un método de una etapa, que es equivalente a usar directamente la segmentación semántica para obtener resultados de segmentación, y luego usar el agrupamiento o algún medio para integrar la misma instancia para obtener el resultado final de la segmentación de la instancia.

e606fa99525e2dde3149e203a8e6c0ed.jpeg

La estructura de toda la red se muestra en la figura anterior, y sigue siendo una estructura FPN. La incrustación de píxeles se usa en P3 para la función con la resolución más grande, y cada píxel está incrustado en un vector de longitud D, por lo que la el resultado final es el mapa de características HWD. A continuación, utilice el encabezado de la propuesta para cada mapa de características P3, P4, P5, P6 y P7, que es el encabezado de la detección de objetivos tradicional. La mejora es que cada propuesta también está integrada en un vector de longitud D. Utilice un margen para definir el grado de asociación entre dos incrustaciones. Si es más pequeño que la incrustación, el píxel y la propuesta se consideran la misma instancia. Sin embargo, el artículo propone utilizar un margen definido artificialmente, lo que causará algunos problemas. Por lo tanto, este artículo propone un margen de aprendizaje para permitir que la red aprenda automáticamente el margen de cada propuesta, al igual que el margen de propuesta que se muestra en la figura de resultado. . En comparación con FCOS, EmbedMask ha agregado el módulo azul en la figura.

Aunque EmbedMask y CenterMask se basan en algoritmos de detección de una etapa para la segmentación de instancias, sus puntos centrales no han cambiado.Todos se basan en un detector lo suficientemente bueno como para generar máscaras a partir de propuestas. Los hechos han demostrado que esto es muy eficaz. El método de segmentación de instancias basado en un detector suficientemente bueno no solo conduce a encontrar más máscaras, sino que la generación de estas máscaras a su vez mejorará el efecto del detector en sí. Entonces puede ver que los AP de caja de estas dos divisiones de instancia son más altos que FCOS, por supuesto, esto es inevitable.

a22c6bb388e96b178e6ebbad2991c033.jpeg

El tercero es PolarMask, que también está basado en FCOS y unifica la segmentación de instancias bajo el marco de FCN. PolarMask propone un nuevo método de modelado de segmentación de instancias, que divide 360 ​​grados de coordenadas polares en 36 puntos y predice la distancia desde el borde hasta el centro de las coordenadas polares en estas 36 direcciones para obtener el contorno del objeto.

49166ccf154900b6e21bc2f9e57d0c9a.jpeg

74572a30402e342b79b77c34d1926b79.png

03

La tercera parte son algunas de mis inquietudes en el campo del seguimiento multiobjetivo, aquí comparo principalmente los dos trabajos extendidos basados ​​en CenterNet. Primero, presentemos brevemente la tarea de MOT (seguimiento de objetos múltiples): necesita detectar objetos en cada cuadro del video y asignar una identificación a cada objeto para rastrear el objetivo.

9c50808fe9bcb9211fd38cfe9b8607c2.jpeg

CenterTrack es el trabajo del autor original de CenterNet. Al extender la tarea de detección de objetivos a la detección de múltiples objetivos, el autor resuelve el problema de seguimiento rastreando el punto central del objeto. Hay dos claves para la tarea de detección de objetivos múltiples: una es que necesitamos detectar los objetos en cada fotograma, incluidos los objetos ocluidos, y la otra es que necesitamos hacer coincidir las identificaciones de los objetos en la dimensión del tiempo.

97ec76ddfd6a1fc71ebb7bf6ce4967ce.png

 El área roja en la imagen a continuación es para resolver la tarea de seguimiento. Se ingresan  la imagen en el momento t  exterior_predeterminado.png , la imagen en el momento t-1  y todos los objetos detectados en el momento t-1  . El área roja aquí es diferente de la detección del objetivo tarea. , agregando cuatro nuevos canales (tres de los cuales son la entrada de la imagen, y el cálculo de un canal se ampliará más adelante).exterior_predeterminado.pngexterior_predeterminado.png

En la parte de salida, además de generar el mapa de calor del punto pico central detectado y el mapa de características de la longitud y el ancho previstos, la red también genera una compensación de 2 canales, donde la compensación representa la distancia de movimiento del objeto entre dos marcos

aabf2ef28787341828abfa3b367b9f97.jpeg

A la izquierda está la entrada de la red y a la derecha está la salida de la red. Matemáticamente, I es la entrada de la imagen, b en T representa el bbox, y el lado derecho es el punto máximo central detectado, el mapa de características de largo y ancho, y el desplazamiento del movimiento del objeto.

5075f7655efecc83eab96714d136e5e5.jpeg

Las anteriores son las expresiones específicas de las tres funciones de pérdida correspondientes al punto de pico central, el mapa de características de largo y ancho, y la compensación del movimiento del objeto durante el entrenamiento de la red. Al resolver la tarea de predicción del punto central, aquí se usa la pérdida focal, x e y representan la posición del punto en el mapa de calor, y c es la categoría. Y es un mapa de picos pertenecientes al 0 y al 1,  exterior_predeterminado.png que es un pico en relieve con forma gaussiana, para cada posición, si tiene un punto central en un determinado número de categoría, se formará un pico en el canal correspondiente. Altura máxima de pendiente para cada posición. donde p representa el punto central y q es la posición. Después de obtener estas alturas de pendiente máximas, colóquelas en el mapa de calor de 1 canal como parte de la entrada de la red. Y la imagen de tres canales del cuadro anterior constituye la entrada de los 4 nuevos canales mencionados anteriormente al resolver la tarea de seguimiento.

Para el cálculo de la pérdida de longitud, anchura y desplazamiento se utiliza una pérdida L1 simple. Con una predicción de compensación lo suficientemente buena, la red puede correlacionarse con el objetivo del momento anterior. Para cada posición p detectada, le asignamos la misma identificación que el objeto más cercano anterior, y si no hay ningún objeto anterior dentro de un radio κ, generamos una nueva pista.

65552ab3714f0bd70adffbe0b7aa0099.jpeg

FairMOT también se basa en el trabajo de CenterNet, que es contemporáneo de CenterTrack. A diferencia de la introducción de CenterTrack de la compensación de la distancia de movimiento del marco objetivo en los marcos delantero y trasero, se basa en la idea de reidentificación En la rama de detección, se agrega una rama Re-ID, que utiliza la incrustación de el reconocimiento de la identificación del objetivo como una tarea de clasificación. En el momento del entrenamiento, todas las instancias de objetos con la misma identificación en todos los conjuntos de entrenamiento se consideran como una clase. Adjuntando un vector de incrustación de 128 dimensiones a cada punto en el mapa de características y finalmente asignando este vector a la puntuación p(k) de cada clase. Donde k es el número de categorías (es decir, el id que ha aparecido),  exterior_predeterminado.png es la codificación one-hot de gt y finalmente usa softmax para calcular la pérdida.

(Actualización del 24 de julio de 2020: algunas personas pueden tener algunas dudas sobre el método de mapeo de incrustación a clasificación aquí. Cuando aparece una gran cantidad de personas nuevas en cuadros posteriores, FairMot puede darles a estas nuevas personas una nueva identificación correcta? Cuando el autor resuelve este problema, usa la pérdida de clasificación durante el entrenamiento y usa la distancia cos para el juicio durante la fase de prueba. Y, cuando reid no es confiable, se usa bbox IOU para que coincida. Específicamente, para la incrustación de reid no coincide con bbox, use el IOU para obtener los posibles cuadros de seguimiento en el cuadro anterior, calcular la matriz de similitud entre ellos y finalmente usar el algoritmo húngaro para obtener el resultado final).

1e266ac33bc6d0d002c614c5f67fd3b6.jpeg 4f0abd620189810c05284acbe30b9829.jpeg

Finalmente, adjunto algunos enlaces a artículos técnicos que me beneficiaron en el proceso de estudiar y ordenar este tiempo:

https://zhuanlan.zhihu.com/p/62103812

https://zhuanlan.zhihu.com/p/158054890

https://zhuanlan.zhihu.com/p/62372897

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。


下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。


下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。


交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

Supongo que te gusta

Origin blog.csdn.net/qq_42722197/article/details/131238461
Recomendado
Clasificación