En el sector agrícola, el problema de identificar y contar la cantidad de fruta en los árboles juega un papel importante en la estimación de cultivos. El concepto de alquilar y arrendar un árbol se está volviendo popular, donde el propietario del árbol alquila el árbol todos los años antes de la cosecha en función del rendimiento estimado de la fruta. La práctica común de contar manualmente la fruta es un proceso que requiere mucho tiempo y mano de obra. Es una de las tareas más duras pero más importantes para obtener mejores resultados en su sistema de gestión de cultivos. Esta estimación de la cantidad de frutas y flores ayuda a los agricultores a tomar mejores decisiones, no solo sobre los precios de arrendamiento, sino también sobre las prácticas de cultivo y la prevención de enfermedades de las plantas.
Aquí es donde una solución de aprendizaje automático (ML) para visión artificial (CV) puede ayudar a los agricultores. Etiquetas personalizadas de Amazon Rekognition es un servicio de visión por computadora completamente administrado que permite a los desarrolladores crear modelos personalizados para clasificar e identificar objetos en imágenes que son específicas y únicas para su negocio.
Las etiquetas personalizadas de Rekognition no requieren que tenga experiencia previa en visión por computadora. Puede comenzar simplemente cargando decenas de imágenes en lugar de miles. Si las imágenes ya están etiquetadas, puede comenzar a entrenar un modelo con solo unos pocos clics. De lo contrario, puede etiquetarlos directamente en la consola de etiquetas personalizadas de Rekognition o usar Verdad fundamental de Amazon SageMaker para etiquetarlos. Las etiquetas personalizadas de Rekognition utilizan el aprendizaje por transferencia para inspeccionar automáticamente los datos de entrenamiento, seleccionar el algoritmo y el marco del modelo correctos, optimizar los hiperparámetros y entrenar el modelo. Cuando esté satisfecho con la precisión del modelo, puede comenzar a alojar el modelo entrenado con solo un clic.
En esta publicación, mostramos cómo puede crear una solución integral utilizando las etiquetas personalizadas de Rekognition para detectar y contar frutas para medir el rendimiento agrícola.
Resumen de la solución
Creamos un modelo personalizado para detectar fruta usando los siguientes pasos:
- Etiquete un conjunto de datos con imágenes que contengan frutas usando Verdad fundamental de Amazon SageMaker.
- Cree un proyecto en Etiquetas personalizadas de Rekognition.
- Importe su conjunto de datos etiquetado.
- Entrenar a la modelo.
- Pruebe el nuevo modelo personalizado utilizando el punto final de API generado automáticamente.
Las etiquetas personalizadas de Rekognition le permiten administrar el proceso de entrenamiento del modelo de ML en la consola de Amazon Rekognition, lo que simplifica el desarrollo del modelo y el proceso de inferencia de un extremo a otro.
Requisitos previos
Para crear un modelo de medición del rendimiento agrícola, primero debe preparar un conjunto de datos para entrenar el modelo. Para esta publicación, nuestro conjunto de datos se compone de imágenes de frutas. Las siguientes imágenes muestran algunos ejemplos.
Obtuvimos nuestras imágenes de nuestro propio jardín. Puede descargar los archivos de imagen desde el Repositorio GitHub.
Para esta publicación, solo usamos un puñado de imágenes para mostrar el caso de uso del rendimiento de la fruta. Puede experimentar más con más imágenes.
Para preparar su conjunto de datos, complete los siguientes pasos:
- Crear una Servicio de almacenamiento simple de Amazon (Amazon S3) cubo.
- Cree dos carpetas dentro de este cubo, llamadas
raw_data
ytest_data
, para almacenar imágenes para etiquetado y pruebas de modelos. - Elige Subir para cargar las imágenes en sus respectivas carpetas desde el repositorio de GitHub.
Las imágenes cargadas no están etiquetadas. Usted etiqueta las imágenes en el siguiente paso.
Etiquete su conjunto de datos usando Ground Truth
Para entrenar el modelo ML, necesita imágenes etiquetadas. Ground Truth proporciona un proceso sencillo para etiquetar las imágenes. La tarea de etiquetado es realizada por una fuerza laboral humana; en esta publicación, crea una fuerza de trabajo privada. Puedes usar Amazon Mechanical Turk para el etiquetado a escala.
Cree una fuerza laboral de etiquetado
Primero creemos nuestra fuerza laboral de etiquetado. Complete los siguientes pasos:
- En la consola de SageMaker, en Verdad fundamental en el panel de navegación, elija Etiquetado de mano de obra.
- En Privado pestaña, elegir Crear equipo privado.
- Nombre del equipo, ingrese un nombre para su fuerza laboral (para esta publicación,
labeling-team
). - Elige Crear equipo privado.
- Elige Invitar a nuevos trabajadores.
- En Agregar trabajadores por dirección de correo electrónico sección, ingrese las direcciones de correo electrónico de sus trabajadores. Para esta publicación, ingrese su propia dirección de correo electrónico.
- Elige Invite a nuevos trabajadores.
Ha creado una fuerza de trabajo de etiquetado, que utilizará en el siguiente paso al crear un trabajo de etiquetado.
Crear un trabajo de etiquetado Ground Truth
Para mejorar su trabajo de etiquetado, complete los siguientes pasos:
- En la consola de SageMaker, en Verdad fundamental, escoger Etiquetado de trabajos.
- Elige Crear trabajo de etiquetado.
- Nombre del trabajo, introduzca
fruits-detection
. - Seleccione Quiero especificar un nombre de atributo de etiqueta diferente del nombre del trabajo de etiquetado.
- Nombre de atributo de etiqueta¸ entrar
Labels
. - Configuración de datos de entrada, seleccione Configuración de datos automatizada.
- Ubicación de S3 para conjuntos de datos de entrada, ingrese la ubicación S3 de las imágenes, usando el depósito que creó anteriormente (
s3://{your-bucket-name}/raw-data/images/
). - Ubicación de S3 para conjuntos de datos de salida, seleccione Especificar una nueva ubicación e ingrese la ubicación de salida para los datos anotados (
s3://{your-bucket-name}/annotated-data/
). - Tipo de datos, escoger Imagen.
- Elige Configuración completa de datos.
Esto crea el archivo de manifiesto de imagen y actualiza la ruta de ubicación de entrada de S3. Espere el mensaje "Conexión de datos de entrada exitosa". - Expandir Configuración adicional.
- Confirma eso Conjunto de datos completo se selecciona.
Esto se usa para especificar si desea proporcionar todas las imágenes para el trabajo de etiquetado o un subconjunto de imágenes basado en filtros o muestreo aleatorio. - Categoría de tarea, escoger Imagen porque esta es una tarea para la anotación de imágenes.
- Debido a que este es un caso de uso de detección de objetos, por Selección de tareas, seleccione Cuadro delimitador.
- Deje las otras opciones por defecto y elija Siguiente.
- Elige Siguiente.
Ahora especifica sus trabajadores y configura la herramienta de etiquetado. - Tipos de trabajadores, seleccione Privado.Para esta publicación, utiliza una fuerza de trabajo interna para anotar las imágenes. También tiene la opción de seleccionar una fuerza de trabajo pública contractual (Turco mecánico de Amazon) o una fuerza de trabajo asociada (Administrado por el proveedor) dependiendo de su caso de uso.
- Para equipos privados, elija el equipo que creó anteriormente.
- Deje las otras opciones como predeterminadas y desplácese hacia abajo hasta Herramienta de etiquetado de cuadro delimitador.Es esencial proporcionar instrucciones claras aquí en la herramienta de etiquetado para el equipo de etiquetado privado. Estas instrucciones actúan como una guía para los anotadores durante el etiquetado. Las buenas instrucciones son concisas, por lo que recomendamos limitar las instrucciones verbales o textuales a dos oraciones y centrarse en las instrucciones visuales. En el caso de la clasificación de imágenes, recomendamos proporcionar una imagen etiquetada en cada una de las clases como parte de las instrucciones.
- Añade dos etiquetas:
fruit
yno_fruit
. - Introduzca instrucciones detalladas en el Campo de descripción para proporcionar instrucciones a los trabajadores. Por ejemplo:
You need to label fruits in the provided image. Please ensure that you select label 'fruit' and draw the box around the fruit just to fit the fruit for better quality of label data. You also need to label other areas which look similar to fruit but are not fruit with label 'no_fruit'
.Opcionalmente, también puede proporcionar ejemplos de imágenes de etiquetado buenas y malas. Debe asegurarse de que estas imágenes sean de acceso público. - Elige Crear para crear el trabajo de etiquetado.
Después de que el trabajo se haya creado correctamente, el siguiente paso es etiquetar las imágenes de entrada.
Comience el trabajo de etiquetado
Una vez que haya creado correctamente el trabajo, el estado del trabajo es InProgress
. Esto significa que se crea el trabajo y se notifica a la mano de obra privada por correo electrónico sobre la tarea que se les ha asignado. Como se asignó la tarea a sí mismo, debería recibir un correo electrónico con instrucciones para iniciar sesión en el proyecto Ground Truth Labelling.
- Abra el correo electrónico y elija el enlace proporcionado.
- Introduzca el nombre de usuario y la contraseña proporcionados en el correo electrónico.
Es posible que deba cambiar la contraseña temporal proporcionada en el correo electrónico por una nueva contraseña después de iniciar sesión. - Después de iniciar sesión, seleccione su trabajo y elija Empezar a trabajar.
Puede utilizar las herramientas proporcionadas para acercar, alejar, mover y dibujar cuadros delimitadores en las imágenes. - Elige tu etiqueta (
fruit
orno_fruit
) y luego dibuje un cuadro delimitador en la imagen para anotarlo. - Cuando termines, elige Enviar.
Ahora ha etiquetado correctamente las imágenes que usará el modelo ML para el entrenamiento.
Cree su proyecto de Amazon Rekognition
Para crear su proyecto de medición de rendimiento agrícola, complete los siguientes pasos:
- En la consola de Amazon Rekognition, elija Etiquetas personalizadas.
- Elige Iniciar.
- Nombre del proyecto, introduzca
fruits_yield
. - Elige Crear proyecto.
También puede crear un proyecto en el Proyectos página. Puede acceder al Proyectos página a través del panel de navegación. El siguiente paso es proporcionar imágenes como entrada.
Importa tu conjunto de datos
Para crear su modelo de medición de rendimiento agrícola, primero debe importar un conjunto de datos para entrenar el modelo. Para esta publicación, nuestro conjunto de datos ya está etiquetado con Ground Truth.
- Importar imágenes, seleccione Importe imágenes etiquetadas por SageMaker Ground Truth.
- Ubicación del archivo de manifiesto, ingrese la ubicación del depósito S3 de su archivo de manifiesto (
s3://{your-bucket-name}/fruits_image/annotated_data/fruits-labels/manifests/output/output.manifest
). - Elige Crear conjunto de datos.
Puede ver su conjunto de datos etiquetado.
Ahora tiene su conjunto de datos de entrada para que el modelo ML comience a entrenarlos.
Entrena tu modelo
Después de etiquetar sus imágenes, estará listo para entrenar su modelo.
Espere a que se complete el entrenamiento. Ahora puede comenzar a probar el rendimiento de este modelo entrenado.
Prueba tu modelo
Su modelo de medición de rendimiento agrícola ahora está listo para usar y debería estar en el Running
estado. Para probar el modelo, complete los siguientes pasos:
Paso 1: Inicie el modelo
En la página de detalles de su modelo, en la Modelo de uso pestaña, elegir Inicio.
Las etiquetas personalizadas de Rekognition también proporcionan las llamadas a la API para iniciar, usar y detener su modelo.
Paso 2: probar el modelo
Cuando el modelo está en el Running
estado, puede usar el script de prueba de muestra analyzeImage.py
para contar la cantidad de fruta en una imagen.
- Descargue este script de la Repositorio GitHub.
- Edite este archivo para reemplazar el parámetro
bucket
con el nombre de tu depósito ymodel
con su modelo de ARN de Amazon Rekognition.
Usamos los parámetros photo
y min_confidence
como entrada para este script de Python.
Puede ejecutar este script localmente usando el Interfaz de línea de comandos de AWS (AWS CLI) o utilizando AWS CloudShell. En nuestro ejemplo, ejecutamos el script a través de la consola de CloudShell. Tenga en cuenta que CloudShell es de uso gratuito..
Asegúrese de instalar las dependencias requeridas usando el comando pip3 install boto3 PILLOW
si aún no está instalado.
La siguiente captura de pantalla muestra la salida, que detectó dos frutas en la imagen de entrada. Suministramos 15.jpeg como argumento de la foto y 85 como el min_confidence
.
El siguiente ejemplo muestra la imagen 15.jpeg con dos cuadros delimitadores.
Puede ejecutar el mismo script con otras imágenes y experimentar cambiando aún más la puntuación de confianza.
Paso 3: detener el modelo
Cuando haya terminado, recuerde detener el modelo para evitar incurrir en cargos innecesarios. En la página de detalles de su modelo, en la pestaña Usar modelo, elija Detener.
Limpiar
Para evitar incurrir en cargos innecesarios, elimine los recursos utilizados en este tutorial cuando no estén en uso. Necesitamos eliminar el proyecto Amazon Rekognition y el depósito S3.
Eliminar el proyecto de Amazon Rekognition
Para eliminar el proyecto de Amazon Rekognition, complete los siguientes pasos:
- En la consola de Amazon Rekognition, elija Usar etiquetas personalizadas.
- Elige ¡Empieza aquí!.
- En el panel de navegación, elija Proyectos.
- En Proyectos página, seleccione el proyecto que desea eliminar.
- Elige Borrar.
El Eliminar proyecto Aparece el cuadro de diálogo.
- Elige Borrar.
- Si el proyecto no tiene modelos asociados:
- Participar borrar para eliminar el proyecto.
- Elige Borrar para eliminar el proyecto.
- Si el proyecto tiene modelos o conjuntos de datos asociados:
- Participar borrar para confirmar que desea eliminar el modelo y los conjuntos de datos.
- Elija cualquiera Eliminar modelos asociados, Eliminar conjuntos de datos asociadoso Eliminar conjuntos de datos y modelos asociados, dependiendo de si el modelo tiene conjuntos de datos, modelos o ambos.
La eliminación del modelo puede tardar un poco en completarse. Tenga en cuenta que la consola de Amazon Rekognition no puede eliminar modelos que están en entrenamiento o en ejecución. Vuelva a intentarlo después de detener los modelos en ejecución que se enumeran y espere hasta que se completen los modelos enumerados como entrenamiento. Si cierra el cuadro de diálogo durante la eliminación del modelo, los modelos aún se eliminarán. Posteriormente, puede eliminar el proyecto repitiendo este procedimiento.
- Participar borrar para confirmar que desea eliminar el proyecto.
- Elige Borrar para eliminar el proyecto.
Eliminar su cubo S3
Primero debe vaciar el cubo y luego eliminarlo.
- En Amazon S3 consola, elige cubos.
- Seleccione el cubo que desea vaciar, luego elija Vacío.
- Confirme que desea vaciar el cubo ingresando el nombre del cubo en el campo de texto, luego elija Vacío.
- Elige Borrar.
- Confirme que desea eliminar el depósito ingresando el nombre del depósito en el campo de texto, luego elija Eliminar cubo.
Conclusión
En esta publicación, le mostramos cómo crear un modelo de detección de objetos con etiquetas personalizadas de Rekognition. Esta característica facilita el entrenamiento de un modelo personalizado que puede detectar una clase de objeto sin necesidad de especificar otros objetos ni perder precisión en sus resultados.
Para obtener más información sobre el uso de etiquetas personalizadas, consulte ¿Qué son las etiquetas personalizadas de Amazon Rekognition?
Sobre los autores
Dhiraj Thakur es un arquitecto de soluciones con Amazon Web Services. Trabaja con los clientes y socios de AWS para proporcionar orientación sobre la adopción, la migración y la estrategia de la nube empresarial. Es un apasionado de la tecnología y disfruta construyendo y experimentando en el espacio analítico y AI / ML.
Samier Goel es Arquitecto de Soluciones Sr. en los Países Bajos, que impulsa el éxito del cliente mediante la construcción de prototipos en iniciativas de vanguardia. Antes de unirse a AWS, Sameer se graduó con una maestría en Boston, con especialización en ciencia de datos. Le gusta construir y experimentar con proyectos AI/ML en Raspberry Pi. Puedes encontrarlo en Etiqueta LinkedIn.
- AI
- arte ai
- generador de arte ai
- robot ai
- Reconocimiento de amazonas
- inteligencia artificial
- certificación de inteligencia artificial
- inteligencia artificial en banca
- robots de inteligencia artificial
- robots de inteligencia artificial
- software de inteligencia artificial
- Aprendizaje automático de AWS
- blockchain
- conferencia blockchain ai
- Coingenius
- inteligencia artificial conversacional
- criptoconferencia ai
- de dall
- deep learning
- google ai
- máquina de aprendizaje
- Platón
- platón ai
- Inteligencia de datos de Platón
- Juego de Platón
- PlatónDatos
- juego de platos
- escala ia
- sintaxis
- zephyrnet