Cómo construir sobre modelos de red profunda de detección de objetos pre-entrenados (YOLO) para detectar nuevas clases

Dado que en realidad no ha compartido ningún caso de falla, adivinaría y sugeriría estar abierto a la posibilidad de que, sin importar cómo entrene, simplemente no podrá distinguir entre las clases: bicicletas y sillas de ruedas, porque a menudo son indistinguibles en las imágenes (incluso cuando las etiquetas de entrenamiento son correctas). Por ejemplo, puede haber muchas imágenes de bicicletas donde solo se ve una rueda y es imposible discernir que no es una silla de ruedas.

Una forma de abordar el problema es observar de cerca los casos de falla. ¿Hay un patrón que ves? ¿Podría intentar el reentrenamiento con solo ejemplos de bicicletas y sillas de ruedas no ocluidas (totalmente visibles)? ¿Y luego probar solo en bicicletas totalmente visibles y ejemplos de sillas de ruedas? Quizás para su caso de uso, ¿los ejemplos ocluidos no importan tanto? Solo volver a entrenar o cambiar a un modelo diferente no te llevará muy lejos, si no pasas un tiempo analizando el problema.

Finalmente, los detectores de objetos de hoy no son perfectos. Y los más rápidos como YOLO intercambian explícitamente algunos puntos porcentuales en la precisión promedio promedio (mAP) para lograr su velocidad. Incluso la versión más optimizada de YOLO tiene menos del 80% de mAP de acuerdo con lo siguiente. Por lo tanto, es posible que incluso tenga que investigar y encontrar soluciones radicalmente diferentes si las ideas obvias no funcionan.

YOLO: detección de objetos en tiempo real

Ya que Yolo está detectando tanto la silla de ruedas como las bicicletas como bicicletas. Para reducir las detecciones de fallas, puede intentar seguir

  1. Intente agregar un clasificador adicional a la salida máxima suave y reduzca las detecciones de fallas. Sin embargo, darknet no es una biblioteca fácil de usar, por lo tanto, la administración sería difícil.
  2. Ajuste el umbral para reducir las detecciones de fallas.
  3. Entrene para menos iteraciones más, porque parece que el modelo no ha convergido al óptimo global.
  4. Prueba el aumento de datos.
  5. Además, en algunos casos, las detecciones de fallas ocurren debido a una separación de datos incorrecta para los conjuntos de tren, desarrollo y validación. Verifique si su división es correcta.
  6. Además, también puedes jugar con los hiperparámetros de cnn.
  7. También el Yolo original usa una arquitectura CNN personalizada, intente reemplazar con otras arquitecturas base como vgg16 o vuelva a enviar.
  8. Además, si está utilizando el modelo original de Yolo, es obvio que detecta ambos como bicicletas, ya que el conjunto de datos de Pascal voc solo tiene eso.

Sin embargo, hay una mejor arquitectura como squeezeNet que es más rápida, bien escrita y más precisa. Intenta usarlo.

Espero que esto ayude.

Acabamos de construir una nueva herramienta de etiquetado de validación de extremo a extremo de código abierto que ayuda a entrenar modelos RCNN rápidos yolo personalizados y CNTK. Detección de objetos de extremo a extremo en un cuadro para ayudar con exactamente este escenario.

More Interesting

¿Qué funciona mejor: Autoencoder Variacional o Redes Adversarias Generativas?

¿Cuándo la pérdida cuadrada no es buena para la función de pérdida para la regresión?

¿Cuál es la diferencia entre regresión, clasificación y agrupamiento en el aprendizaje automático?

¿Cómo se infiere la distribución posterior marginal?

¿Cuál es el mejor paquete R para predecir la causalidad entre dos flujos de datos de series temporales?

¿Es mejor utilizar algoritmos basados ​​en reglas o de aprendizaje automático para la clasificación en un dominio de respuesta a preguntas cerrado?

¿Existe un puntaje general de 'utilidad' para el rendimiento de recuperación de información?

¿Cuáles son los avances actuales en la ciencia de datos genómicos?

¿Existe alguna directriz para diseñar redes neuronales en términos de número de capas ocultas, número de unidades ocultas, tamaño de filtro (CNN) y paso de tiempo (RNN)?

¿Qué industria utiliza una máquina de granallado?

¿Los científicos de datos y el ingeniero de aprendizaje automático necesitan saber implementar algoritmos ML / DL desde cero o simplemente usar las bibliotecas existentes en producción?

¿Cuáles son los temas más comunes omitidos de los cursos de aprendizaje automático?

¿Qué parámetros en los datos de entrenamiento / prueba deben considerarse para decidir la elección de un método de clasificación de aprendizaje automático (fuera de SVM, red neuronal, regresión logística, etc.)?

¿En qué se diferencia exactamente la generación del lenguaje natural de la comprensión del lenguaje natural?

¿Tiene sentido tener un conjunto de validación y realizar una validación cruzada al construir modelos?