quebin31 / stack-tia

Stack TIA (Preguntas y respuestas)
2 stars 0 forks source link

¿Qué mejoras implementa Yolo2 con respecto a Yolo? #6

Open criloal23 opened 4 years ago

criloal23 commented 4 years ago

Nombres y apellidos

Cristian López Del Alamo

Contexto adicional sobre la pregunta

Cualquier contexto adicional para entender mejor el tema de la pregunta.

Mi posible respuesta

Si crees tener una respuesta pero no estás seguro, colócala aquí.

dccopah commented 4 years ago

Daniela Ccopa Hancco

Una de las mejoras más significativas de la red YOLOv2 respecto a su anterior versión se ven influenciadas por el desarrollo de la red SSD. Su objetivo de YOLOV2 es mejorar la precisión y mejorar la velocidad del algoritmo YOLO.

1. Batch Normalization: en las capas convolucionales, esto elimina la necesidad de aplicar dropout, desactivar algunas neuronas de manera aleatoria con el objetivo de evitar el sobreentrenamiento.El sobreentrenamiento es ajustarse demasiado a los datos de entrada siendo incapaz de generalizar lo aprendido a otros conjuntos de entrada. Esto mejora la MAP en un 2%.

2. Clasificador de alta resolución: El entrenamiento del Yolo está formado por 2 fases, primero entrenamos una red de clasificación como la VGG16. Después reemplazamos las capas fully connected por capas convolucionales y la reentrenamos para la detección de objetos. Yolo utiliza imágenes de 224x224 para el clasificador e imágenes 448x448 para la detección de objetos. Yolo v2 utiliza imágenes 224x224 para el clasificador, pero lo reentrena con imágenes 448*448 usando menos epochs, obteniendo una mejora en el MAP del 4%.

3. Anchor boxes: Una de las principales mejoras que presenta el Yolo v2 respecto al Yolo es el uso de anchor boxes. Yolo realiza predicciones arbitrarias para las BB. Las predicciones podían ser correctas para algunos objetos, pero no ajustarse del todo bien para otros. La idea que hay detrás de estos es que hay objetos que tienen formas similares, así que si tenemos una base aproximada de la forma general de algunos objetos las predicciones serán mucho más precisas.

Esto obliga a realizar pequeños cambios en la arquitectura de la red como la eliminación de las capas fully connected responsables de la predicción de la BB, añadir alguna capa convolucional y modificar la dimensión de alguna capa. Ahora las predicciones que hacemos se realizan en base a los anchors.

imagen

  1. Las capas convolucionales reducen gradualmente la dimensión espacial, como la resolución decrece es más difícil detectar objetos pequeños. Para ello Yolo v2 cambia la capa 2626512 por una capa de 13132048 y la concatena con la original de 13131024 dando lugar a una capa de 13133072 para realizar predicciones.

5. Después de eliminar las capas fully connected Yolov2 puede tomar fotos de distintos tamaños siempre y cuando estas sean múltiplos de 32. Durante el entrenamiento, cada 10 batches, Yolo v2 selecciona un valor aleatorio comprendido entre 320 a 608 múltiplo de 32 para entrenar el modelo y así forzar a la red a entrenar con tamaños y escalas de imagen diferentes.

Loudev19 commented 4 years ago

María Apaza

Una de las mejoras más importantes de YOLOv2 y el motivo del por qué es llamado YOLO9000 es su método que mezcla imágenes de los datasets de detección y clasificación durante el entrenamiento con el objetivo de expandir el número de clases que YOLO podía detectar.

Este método consiste en entrenar la red con las imágenes de detección de objetos mientras se propaga la pérdida de clasificación con las imágenes de clasificación. Sin embargo, este proceso tiene una dificultad, los datasets para detección (en este caso COCO) suelen tener etiquetas generales como "perro", por otro lado, los datasets para clasificación (en este caso Imagenet) tienen un rango de etiquetas más amplio, por ejemplo ellos consideran razas de perros en lugar de solo "perro". image

Para enfrentar este problema, los autores crearon un modelo jerárquico con el cual pudieran representar las etiquetas de ambos datasets. Esta estructura de árbol llamada WordTree permite unir las etiquetas que no son mutuamente excluyentes, en nuestros ejemplo, la etiqueta "perro" se convertirá en un nodo padre de las etiquetas de razas de perros como "Norfolk Terrier" image

En la imagen anterior podemos ver como las etiquetas generales son los padres de etiquetas más específicas, esta estructura permite generalizar adecuadamente ya que si por ejemplo en una imagen hay un perro pero no conocemos su raza siempre podemos devolver solo la etiqueta "perro".

st4rck19981 commented 4 years ago

Usa una nueva red basada en GoogleNet. Esta red es más rápida que VGG-16 pero ligeramente peor en la precisión (YOLOv2=88% y VGG-16=90%). A esta red la nombraron Darknet-19. Esta red posee 19 capas convolucionales. Usa filtros 3x3 igual que VGG pero duplica el número de canales después de cada paso de agrupación. Usa la agrupación promedio global para hacer predicciones, así como filtros 1x1 para comprimir la representación de características entre 3x3 convoluciones. Usa la normalización por lotes para estabilizar el entrenamiento, acelerar la convergencia y regularizar el modelo.

Darknet-19

Como vemos en la imagen, se muestran las 19 capas convolucionales y la función MAX-POOL para reducir la imagen y al final la función SOFT-MAX para clasificar los objetos.

heygonzalocaira commented 4 years ago

Gonzalo Alejandro Caira Aguilar

  1. Ellos entrenan la red de clasificadores en 224 × 224.
  2. Luego aumentaron la resolución a 448 para la detección.

    YOLOv2 inicialmente entrenaron el modelo en imágenes a 224 × 224, luego sintonizan la red de clasificación al 448 completo × 448 de resolución durante 10 épocas en ImageNet antes de entrenar para la detección. Esta red de clasificación de alta resolución ofrece un aumento de casi 4% mAP.