Diseñe un modelo de detección de objetos con las etiquetas personalizadas de Amazon Rekognition y Roboflow

Mark McQuade

person working on laptop in shared workspace

 

La tecnología de visión artificial marca la diferencia en todas las industrias. Ayuda a garantizar el compliance con respecto al uso de cascos en obras, a identificar plantas frente a malezas para el uso específico de herbicidas e, incluso, a identificar y contar poblaciones celulares en experimentos de laboratorio.

Al entrenar computadoras para que interpreten el mundo visual tal como los seres humanos —o mejor que ellos—, podemos identificar y clasificar objetos rápidamente y tomar medidas de forma automática en función de esa información. Esto hace posible mejorar la seguridad en el lugar de trabajo, proteger nuestro medioambiente y acelerar la innovación en todas las industrias.

 

Tipos de problemas con la visión artificial

Aunque el resultado de la visión artificial es relativamente simple (“Esta persona usa un casco de forma correcta o no en la obra”), entrenar el backend de la visión artificial puede ser un desafío. Debe poder identificar y organizar objetos con precisión de acuerdo con múltiples factores, tales como:
 

  • Clasificación: “Esta es una persona”.
  • Clasificación + localización: “Esta es una persona en una obra".
  • Detección de objetos: “Hay dos personas más un casco en la obra".
  • Segmentación semántica: "Hay dos personas más un casco, y esta es la forma de cada cosa".
  • Detección de puntos clave y estimación de posturas: “Hay dos personas. Una está usando un caso, pero no se lo colocó de forma correcta. La otra no está usando un casco".

Para obtener el resultado correcto, necesita la entrada correcta. Y eso, por lo general, requiere de siete pasos importantes. Analicémoslos.

 

Los siete pasos para entrenar un modelo de detección de objetos desde cero

1. Definir el problema

Comience por definir exactamente lo que quiere hacer. ¿Cuál es su caso de uso? Esto lo ayudará a guiar cada uno de los pasos que siguen.

 

2. Recopilación de datos

Luego, deberá recopilar las fotos y los videos que representan el problema que intenta resolver. Por ejemplo, si su objetivo es diseñar un detector de cascos, deberá recopilar imágenes de varios tipos de cascos, así como ámbitos en los que las personas pueden usar cascos. Recuerde proporcionar imágenes con diferentes condiciones: luminosas frente a tenues, en interiores frente a en exteriores, soleadas frente a lluviosas, personas solas frente a personas en grupos, etc. Cuanto más variedad, mejor podrá aprender su modelo.

 

3. Etiquetado

Hay muchos formatos diferentes de anotación de imágenes, y las etiquetas de imágenes presentan una gran variedad de tamaños y formas. Hay anotaciones populares, como Pascal VOC, COCO JSON y YOLO TXT. Pero la infraestructura de cada modelo espera un cierto tipo de anotación. Por ejemplo, TensorFlow espera registros TF, y el servicio de reconocimiento espera un archivo manifest.json que es específico para la anotación de AWS.

Así que, ante todo, asegúrese de que sus imágenes estén etiquetadas en un formato coherente que su infraestructura de modelo requiera. Y use una herramienta como Amazon SageMaker Ground Truth para agilizar el proceso.

Algunos consejos para el etiquetado que debe tener en cuenta:

  • Etiquete alrededor de todo el objeto. Es mejor incluir un poco de búfer sin longitud fija que excluir una parte del objeto dentro de una etiqueta rectangular. Su modelo entenderá mucho mejor los bordes de esta manera.
  • Etiquete por completo objetos ocultos/ocluidos. Si un objeto está fuera del campo de visión porque otro objeto está delante, etiquételo de todos modos, como si pudiera verlo en su totalidad. De esta manera, su modelo comenzará a comprender los límites reales de los objetos.
  • En el caso de objetos parcialmente fuera del marco, normalmente debe etiquetarlos. Esto depende del problema que intente resolver. Pero, en general, incluso un objeto parcial sigue siendo un objeto que se debe etiquetar.

 

4. Preprocesamiento de datos

Ahora es el momento de garantizar que sus datos tengan el formato correcto para su modelo. Es decir, es momento de cambiar el tamaño, reorientar, corregir el color según sea necesario. Por ejemplo, si su modelo requiere de una relación de aspecto cuadrada, debe formatear sus fotos/videos para completar un espacio cuadrado, tal vez usando píxeles blancos o negros para completar el espacio vacío.

También querrá eliminar los datos EXIF/metadatos de sus imágenes, ya que eso a veces puede confundir al modelo. O si desea que el modelo no tenga en cuenta el color (por ejemplo, no importa el color del casco), puede formatear sus imágenes o su video para que estén en escala de grises, a fin de eliminar ese factor. 

 

5. Aumento de los datos

A continuación, debe aplicar un formato diferente a su contenido existente, para exponer su modelo a una gama más amplia de ejemplos de entrenamiento. Al voltear, rotar, distorsionar, difuminar y ajustar el color de sus imágenes, en efecto, está creando datos nuevos.

Por lo tanto, en lugar de tener que tomar fotos de personas que usan cascos en diferentes condiciones de iluminación, puede usar la función de aumento para simular una iluminación del ambiente más brillante o tenue. También puede entrenar su modelo para que no dependa de la oclusión, de modo que pueda detectar un objeto incluso si otro objeto lo tapa. Puede hacer esto al agregar un algoritmo de "recorte" de caja negra a sus fotos/videos, para ayudar a entrenar su modelo.

 

6. Entrenar el modelo

Para entrenar su modelo, usará una herramienta como las etiquetas personalizadas de Amazon Rekognition, que procesará las entradas que ha creado durante los primeros cinco pasos. Sin embargo, deberá decidir qué es lo más importante para su caso de uso: ¿la precisión, la velocidad o el tamaño del modelo? Por lo general, estos factores se compensan unos con otros.

 

7. Interferencia

Ahora es momento de poner el modelo en producción. Esto variará según el tipo de implementación. Por ejemplo, ¿usará dispositivos integrados, como cámaras en una línea de fabricación? ¿O será una implementación en el servidor con API?

 

Vea el proceso en acción

El año pasado grabamos un seminario web, donde explicamos cómo usar las etiquetas personalizadas de Amazon Rekognition con Roboflow para implementar un sistema que puede detectar si las personas usan o no máscaras faciales. Puede aplicar los mismos pasos a sus propios modelos de detección de objetos para atender sus propios casos de uso.

Vea el video del seminario web bajo demanda para seguir el proceso integral de creación de un modelo de detección de objetos de trabajo.

 

Aproveche la AI y el machine learning en su empresa.