<img alt="" src="https://secure.leadforensics.com/11743.png" style="display:none;">

Cómo Entrenar un Sistema de Deep Learning para Visión Artificial

 

Como se detalló en la anterior publicación de nuestro blog, se puede obtener un amplio abanico de beneficios al implementar un sistema de visión artificial basado en Deep Learning en entornos industriales. También cubrimos la definición de Deep Learning, Machine Learning e IA, y abordamos los datasets y la preparación necesaria para entrenar un sistema de Deep Learning para proyectos de visión artificial.

En esta nueva publicación, desarrollaremos este tema y describiremos las etapas para entrenar un sistema Deep Learning para visión artificial.

Entrenando un Sistema de Deep Learning con Datasets

Los datasets son la “educación” previa que necesita un modelo de Deep Learning para poder empezar a funcionar correctamente. Para obtener una definición e introducción a los datasets, consulte nuestro último post.

Un modelo de Deep Learning que no ha sido previamente entrenado con un dataset correcto no sabrá cómo realizar distinciones entre variables en imágenes y finalmente fallará en el uso previsto.

Subconjuntos de Datos para Visión Artificial

Es ideal usar el máximo número de imágenes posible para crear un dataset, ya que éstas deberán luego asignarse en al menos dos (preferiblemente tres) subconjuntos antes del entrenamiento. El primer subconjunto (el conjunto de "entrenamiento") se utiliza para realizar el entrenamiento real del modelo, que implica ajustar los pesos matemáticos de cada ítem de la red neuronal.

image-png-Jul-16-2021-09-17-43-69-AM

Organizado y etiquetado del dataset de entrenamiento usando CoPilot, utildad de la librería Matrox Imaging Library (MIL) 

El set de "desarrollo" (o "validación") es el segundo subconjunto que se necesitará. Este subconjunto se utiliza para supervisar el proceso de formación de la red neuronal mediante el seguimiento de la diferencia entre los resultados de clasificación reales y esperados.

El tercer subconjunto, el set de "prueba", es opcional y se utiliza al final del proceso de entrenamiento del dataset para evaluar de forma independiente el rendimiento del modelo entrenado; si no se utiliza el conjunto de prueba, el conjunto de desarrollo también asumiría esta función de evaluación del desempeño.

Construyendo un buen Dataset

Las imágenes del dataset deben coincidir lo máximo posible con las imágenes que se espera obtener en el proyecto real.

Cuantas más variables se puedan tener en cuenta y mayor sea el número de elementos únicos en el dataset para el entrenamiento, mejor. Es altamente recomendable mantener el mismo entorno tanto para la captura de datos como para la captura de imágenes en producción.

¿Qué tipo de datos necesito?

En el contexto de Deep Learning para visión artificial, el dataset consistirá en imágenes de objetos que difieren en función de las posibles variaciones de esos objetos. Como hemos descrito hasta ahora, los sistemas de visión basados en Deep Learning son mejores para tareas como clasificación, reconocimiento, lectura y detección de defectos.

El reconocimiento óptico de caracteres (OCR) es, por ejemplo, una tarea en la que el Deep Learning produce un gran resultado. Para entrenar un modelo de OCR, el Dataset consistiría en muchas variaciones de todos los caracteres posibles que pueden surgir en las imágenes en producción.

image-png-Jul-16-2021-09-18-12-12-AM

MNIST es un dataset muy popular que comprende 70.000 ejemplos de dígitos escritos a mano. Pero ¿qué pasa si tu aplicación requiere tipos de letra impresos? Es importante tener en cuenta los beneficios y las limitaciones al elegir entre datasets de código abierto o conjuntos datasets recopilados por ti mismo.

Es una buena idea comenzar por hacer preguntas específicas para cuantificar todas las posibilidades que se deben cubrir con el dataset. ¿Cuál es el objetivo específico que se está tratando de lograr mediante el uso de un sistema basado en Deep Learning? ¿Qué aportará el Deep Learning al proyecto que otros sistemas no podrán lograr? En función de las respuestas, se deben determinar los tipos de datos que se necesitarán para coincidir con los criterios que presentan estas respuestas y, por lo tanto, resolver los problemas para los que se está buscando solución.

Ya Tengo un Dataset. ¿Ahora qué?

Cuando se tenga el dataset listo, el siguiente paso debe ser prepararlo para el entrenamiento. Esta preparación consiste en optimizar y adaptar los datos al formato requerido para el entrenamiento.

Esta tarea puede ser tediosa y ocupar la mayor parte del tiempo del proyecto de Deep Learning, pero es de vital importancia, ya que los resultados finales dependerán de la calidad de los datos que podamos pasar al entrenamiento.

Preparación de Datos

Una vez que se haya preparado el dataset, es importante tener cierta perspectiva para investigarlo. ¿Cubre todas las posibles variaciones? Es posible que se tenga un dataset desequilibrado, que puede solucionarse sobremuestreando la clase que está menos representada o viceversa.

Todo esto se hace con una técnica llamada aumento de datos, que permite sobremuestrear utilizando métodos como la rotación y el escalado de las imágenes existentes.

image-png-Jul-16-2021-09-18-40-33-AM

Aumento de datos usando un software potente de Deep Learning
Matrox Imaging Library (MIL) CoPilot

El siguiente paso consiste en comprender si se está construyendo un modelo desde cero o aprovechando un modelo ya entrenado previamente. En el caso de construir un modelo completo, el número de imágenes necesarias será mucho mayor que en el caso de utilizar un modelo previamente entrenado. Este último caso consiste en una técnica llamada Transfer Learning y se usa con mucha frecuencia entre la mayoría de las aplicaciones de visión artificial.

Transfer Learning

La alternativa al entrenamiento de una red neuronal desde cero, el Transfer Learning, es el proceso de tomar una red previamente entrenada y volver a entrenar algunas capas de la misma para adaptarla a una nueva tarea. El rendimiento general de la red es muy similar al de una red nueva entrenada desde cero, pero se requieren muchos menos datos de entrenamiento para comenzar.

Soluciones vanguardistas de Deep Learning de ClearView Imaging

Entendemos que prepararse para un proyecto de visión artificial de Deep Learning puede parecer una tarea compleja. En ClearView Imaging, no solo suministramos todos los componentes que necesitarás para tu proyecto de visión artificial, sino que también contamos con un gran equipo de ingenieros y expertos en visión con el conocimiento y la experiencia para ayudarte con tu aplicación. Cualquiera que sea la pregunta o consulta, no dude en ponerse en contacto a través de nuestra página de contacto.

Permanece atento a esta serie de blogs a medida que continuamos explorando el Deep Learning en una variedad de contextos de visión artificial.

Ya seas un OEM, un integrador de sistemas, un ingeniero o incluso un usuario final, asegúrate de consultar nuestra página de productos para encontrar los mejores componentes de visión artificial del mercado.

Comentarios

LA VISIÓN ARTIFICIAL PROPORCIONA A LOS ORDENADORES LA CAPACIDAD DE VER

La visión artificial permite que los ordenadores puedan leer códigos de barra, códigos data matrix, marcado de piezas, reconocimiento óptico de caracteres (OCR) y verificación óptica de caracteres (OCV). – Aprende más sobre la tecnología de visión artificial aquí.

machine-vision-strip-cta-spanish.png