Capturar imágenes de entrenamiento

Los atributos inteligentes de Survey123 pueden usar un modelo de clasificación de imágenes para extraer valores en función de los objetos que el modelo detecta en una imagen.

Para crear un modelo de clasificación de imágenes, necesita una gran colección de imágenes que identifiquen cada clase de entidad que necesita que el modelo reconozca. Identificará dos clases: señales de stop y señales de velocidad.

Para las señales de carretera, debería tener aproximadamente 500 imágenes de cada clase. Se aceptan varias fotos de la misma señal (con diferente iluminación, ángulo y distancia al objeto). La iluminación, el ángulo y la distancia variados en las fotografías de los objetos mejoran el modelo, lo que mejora la precisión, aporta mayor confianza y aceptación de la predicción.

Nota:

La creación de modelos que dan como resultado la mayor precisión y confianza requiere varias iteraciones, así como pruebas y experimentación. Este tutorial proporciona un flujo de trabajo y un marco de trabajo para mostrar los pasos necesarios para crear modelos para la clasificación de imágenes en el campo. Es posible que se requieran muchas más iteraciones e imágenes de prueba para producir un modelo adecuado para su uso en un entorno de producción.

Crear y publicar una encuesta

Primero, creará una encuesta utilizando Survey123 Connect, que captura una imagen, el tipo de señal y asigna a cada registro un Id. único.

  1. Descargue el archivo SignImageCollection .xlsx.
  2. Inicie ArcGIS Survey123 Connect.
    Nota:

    Si no tiene ArcGIS Survey123 Connect, puede descargarlo desde la página de producto de Microsoft Store o de Survey123. Ejecute el instalador y siga sus pasos para instalar el programa.

  3. En la cinta, haga clic en el botón de menú y haga clic en Iniciar sesión.

    Botón Iniciar sesión

  4. Iniciar sesión con sus credenciales de ArcGIS

    Si no tiene una cuenta de organización, consulte las opciones de acceso a software.

  5. Arrastre el archivo .xlsx que descargó en la galería de encuestas de Survey123 Connect.

    Formulario de encuesta arrastrado a una lista de encuestas

  6. Cuando la importación se haya completado, haga clic en Aceptar.

    Ventana de importación de XLSForm completada

  7. Revise las preguntas de la encuesta.

    La pregunta Sign Image incluye un botón de cámara, que permite a los usuarios adjuntar una imagen utilizando sus dispositivos móviles. Utilizará esta encuesta para recopilar imágenes para entrenar un modelo.

    Botón de cámara
  8. Haga clic en Publicar.

    Botón Publicar

  9. En la ventana Publicar SignImageCollection, haga clic en Publicar encuesta.

    Botón Publicar encuesta

    La encuesta se publica en su organización de ArcGIS, junto con todos los servicios de entidades y elementos de formulario relevantes.

  10. Cuando la publicación se haya completado, haga clic en Aceptar.

    Mensaje de publicación completada

  11. En el menú lateral, haga clic en el botón Más acciones. Haga clic en Administrar en sitio web de Survey123.

    Opción Administrar en sitio web de Survey123

    En una nueva ventana de navegador, la encuesta publicada se abre en la página Descripción general del sitio web de Survey123. Para que otras personas puedan utilizar esta encuesta, la compartirá con su organización.

  12. En la cinta, haga clic en Colaborar.

    Botón Colaborar

  13. En la pestaña Compartir encuesta, en Quién puede enviar datos a esta encuesta, elija Miembros de mi organización y haga clic en Guardar.

    Pestaña Compartir encuesta

    Aparece la ventana Compartir encuesta.

  14. En la ventana Compartir encuesta, haga clic en Guardar.

    Ventana Compartir encuesta

    Ya ha creado una encuesta para capturar imágenes que puede usar para entrenar un modelo de clasificación de imágenes.

    Puede compartir la encuesta con compañeros y empezar a recopilar varias señales de tráfico, incluyendo las fotografías tomadas en diferentes condiciones de luz y desde diferentes ángulos y distancias. Cuanto mayores sean la variedad y los ejemplos, mejor será la capacidad del modelo resultante de predecir lo que está observando. Incluya aproximadamente 500 imágenes para cada categoría de imagen que desee clasificar.

  15. Cierre Survey123 Connect.

Usar la encuesta

Ahora que la encuesta está publicada, puede descargarla a su dispositivo móvil y usarla.

Si no puede capturar fotos de señales de tráfico en su área local, puede usar una geodatabase de muestra de fotos creadas para este tutorial para pasar a la siguiente sección y omitir estos pasos.

  1. En su dispositivo móvil, abra la aplicación de campo Survey123.
    Nota:

    Si no tiene la aplicación de campo Survey123, vaya a Google Play, App Store, Microsoft Store o la página de producto de Survey123. Si realiza la descarga desde la página del producto, en la aplicación de campo ArcGIS Survey123, haga clic en el vínculo de descarga del sistema operativo de su equipo o dispositivo. Ejecute el instalador descargado y siga sus instrucciones para instalar la aplicación de campo.

  2. Toque Iniciar sesión con ArcGIS Online. Inicie sesión en su cuenta de organización de ArcGIS.

    Botón Iniciar sesión

    Nota:

    Si está utilizando ArcGIS Enterprise, toque Administrar conexiones de ArcGIS e inicie sesión en su entorno de ArcGIS Enterprise.

    La aplicación se abre por la página My Survey123. Para recopilar registros para la encuesta, necesitará descargarla.

  3. Toque Descargar encuestas.

    Botón Descargar encuestas

    Nota:

    Si ya tiene encuestas descargadas en su dispositivo, para descargar una nueva encuesta, toque el botón Menú y seleccione Descargar encuestas.

    La página Descargar encuestas muestra todas las encuestas que se han compartido con su organización.

  4. En la barra de búsqueda, escriba SignImageCollection. En los resultados de búsqueda, localice la encuesta SignImageCollection y toque Descargar.

    Encuesta SignImageCollection

    La encuesta se descarga en su dispositivo.

  5. Una vez descargada la encuesta, toque la flecha hacia atrás para volver a la galería de encuestas.

    La encuesta SignImageCollection aparece en la galería de encuestas.

    Encuesta en la página My Survey123

  6. Toque la encuesta SignImageCollection. En la página de contenido de la encuesta, toque Capturar.

    Botón Capturar

  7. En la pregunta Sign image, toque el botón de cámara.
    Nota:

    El botón Cámara incluye la opción de agregar fotos desde un archivo o usar la cámara del dispositivo para capturar fotos. Si no puede probar la encuesta en el campo, puede usar esta colección de imágenes de muestra. Abra las fotos en su equipo y utilice su dispositivo para hacer fotos de las imágenes de la pantalla del equipo.

    Botón de cámara

  8. Haga una foto de una señal de stop o de velocidad.

    Foto de una señal de stop

  9. Para la pregunta Sign type, elija Stop sign o Speed sign, dependiendo de qué señal haya fotografiado.
  10. Toque el botón enviar.

    Si su dispositivo está en línea, se le pide que elija entre Enviar ahora, Continuar esta encuesta o Guardar en la bandeja de salida.

  11. Elija Enviar ahora.

    Siga capturando fotos de señales de stop y velocidad hasta que haya enviado al menos 500 de cada una. Pruebe a agregar fotos tomadas desde diferentes direcciones, desde diferentes ángulos y en diversas condiciones de iluminación.

    Más fotos equivalen a un modelo más entrenado y a una tasa de éxito más alta a la hora de identificar con precisión los signos.

    Nota:

    Si no puede capturar fotos de señales de tráfico en su área local, puede usar una geodatabase de muestra creada para este tutorial. En los siguientes pasos se describe cómo utilizar sus propios datos o nuestra geodatabase de muestra para entrenar un modelo.

Ahora tiene los datos de entrada necesarios para crear un modelo de clasificación de imágenes.


Entrenar un modelo

A continuación, utilizará ArcGIS Notebooks para crear un modelo de clasificación de imágenes. Deberá crear un notebook con funcionalidad GPU avanzada extra. Esta funcionalidad consume 30 créditos por hora.

Como alternativa, puede descargar y utilizar el notebook al que se hace referencia localmente, pero debe asegurarse de que tiene el hardware adecuado.

Nota:

Si le interesa aprender a utilizar ArcGIS Notebooks para escribir el código de Python para ArcGIS, complete el tutorial ¡Hola, Notebook! para empezar. Si ve un botón Descargar, pero no ve un botón Abrir notebook, es posible que no haya iniciado sesión. Si el inicio de sesión no le da acceso al botón Abrir notebook, significa que su cuenta no está habilitada para el uso de notebooks. Contacte con el administrador de ArcGIS para que su organización tenga acceso a Notebooks.

Quizá le interese también el resto de tutoriales de Notebook disponibles en la serie de tutoriales Aprenda Python con ArcGIS Notebooks.

La guía Habilitar ArcGIS Notebooks para su organización en ArcGIS Online puede resultar útil para administradores que no hayan habilitado ArcGIS Notebooks antes.

Configurar ArcGIS Notebooks

Primero, creará un notebook en ArcGIS Notebooks. Si no puede acceder a ArcGIS Notebooks, puede descargar un modelo entrenado para usarlo en la siguiente sección de este tutorial.

  1. Descargue el notebook SignImageClassificationModel.
  2. Cambie el nombre del archivo descargado agregando sus iniciales al archivo .ipynb.

    Los nombres de elementos de una organización de ArcGIS deben ser únicos. Si otra persona de su organización ha completado este tutorial, puede que ya haya un archivo de notebook con el nombre predeterminado cargado.

  3. Si es necesario, inicie sesión en su organización de ArcGIS.
  4. En la cinta, haga clic en la pestaña Contenido.
  5. Haga clic en Nuevo elemento.

    Botón Nuevo elemento

  6. Arrastre o busque su archivo .ipynb y agréguelo a la ventana Nuevo elemento.

    Ventana Nuevo elemento

  7. En la ventana Nuevo elemento, defina los siguientes parámetros:
    • En Título, escriba Modelo de captura de imágenes de señales_(SuNombre).
    • En Carpeta, elija o cree una carpeta de proyecto adecuada.
    • En Etiquetas, escriba ModeloCapturaImágenesSeñales.
    • En Resumen, escriba Modelo de captura de imágenes de señales.

    Detalles del elemento

  8. Haga clic en Guardar.

    El elemento se crea y aparece su página de detalles.

  9. En la página de detalles, haga clic en la pestaña Configuración.

    Pestaña Configuración

  10. En Tiempo de ejecución del notebook, elija ArcGIS Notebook Python 3 Advanced with GPU support – 9.0.

    Opción Tiempo de ejecución del notebook elegir GPU avanzada

  11. Haga clic en Guardar.
  12. Haga clic en la pestaña Descripción general.

    Pestaña Descripción general

  13. Haga clic en Abrir notebook.

    Botón Abrir notebook

    Las instrucciones para ejecutar el notebook y crear los archivos de modelo se incluyen en el texto del notebook.

  14. Complete los pasos del notebook y vuelva a este tutorial.

    Los pasos del notebook son los siguientes:

    • Configurar el entorno
    • Descargar imágenes de entrenamiento de la capa de entidades
    • Entrenar el modelo
    • Probar el modelo (opcional)
    Nota:

    El notebook está diseñado de modo que se pueda ejecutar utilizando los datos suministrados. Es importante seguir los pasos que se describen dentro del notebook, especialmente reiniciar el kernel cuando se indica.

    Si ha capturado sus propias imágenes, puede cambiar los Id. de elemento a los que se hace referencia en el notebook para crear un modelo a partir de sus propias imágenes.

Descargar los resultados del modelo

Una vez que el notebook se haya completado correctamente, se genera un paquete de archivos. Descargará estos archivos para incluirlos en su encuesta de prueba.

  1. En ArcGIS Notebooks, elija Archivos.
  2. Vaya a /arcgis/home/tmp/fa40cf680eb4436daf4109b887b52b30/models/

    Archivos generados

    Nota:

    Los nombres predeterminados se basan en la fecha de ejecución del notebook. Los nombres de sus archivos serás distintos de los de la imagen de arriba.

  3. Descargue el archivo .zip.
    Nota:

    Si no ha entrenado ningún modelo, puede descargar un modelo para usarlo en la siguiente sección de este tutorial.

  4. Extraiga el contenido del archivo .zip en una ubicación adecuada de su equipo.

Ha descargado los archivos de salida del modelo de clasificación de imágenes que usará en la aplicación de campo Survey123 para identificar automáticamente las señales de velocidad y de stop.


Probar el modelo

A continuación, agregará los archivos del modelo de clasificación de imágenes a una encuesta para identificar señales de velocidad y de stop.

Idealmente tendría que ir al campo a probar esta encuesta, pero si no puede, o si no dispone de señales de velocidad y de stop cerca, también puede simular esta prueba con fotos en su equipo.

Crear y publicar una encuesta

Primero, creará una encuesta con Survey123 Connect que utilizará los archivos de modelo que ha creado para clasificar las imágenes como señales de stop o de velocidad.

  1. Descargue el archivo SignImageClassificationModelTesting .xlsx.
  2. Inicie Survey123 Connect. Si es necesario, inicie sesión en su cuenta de organización de ArcGIS.
  3. Arrastre y suelte el archivo .xlsx que descargó en la galería de encuestas.

    Agregue un archivo para crear una encuesta.

    Se crea una nueva encuesta con el nombre SignImageClassificationModelTesting.

  4. Cuando la importación se haya completado, haga clic en Aceptar.

    Ventana de importación de XLSForm completada

  5. En el menú lateral, haga clic en Archivos.

    Botón Archivos

    Todos los archivos que pertenecen a la encuesta SignImageClassificationModelTesting son visibles. Su encuesta tiene una carpeta de medios. Copiará y pegará dos archivos de modelo de la carpeta que descargó en la carpeta de medios.

    Archivos de la encuesta

  6. Abra la carpeta que contiene los resultados del modelo. Busque y copie los archivos del modelo con las extensiones de archivo .emd y .tflite.

    Archivos con las extensiones .emd y .tflite

    Nota:

    Los nombres de estos archivos se basan en la fecha de ejecución del notebook. Los nombres de sus archivos serás distintos de los de la imagen de arriba.

    Los archivos .emd y .tflite le darán a su encuesta la capacidad de detectar las señales de stop y de velocidad usando la cámara de su dispositivo móvil.

  7. Vuelva a la carpeta SignImageClassificationModelTesting de su encuesta. Abra la carpeta de medios y pegue los archivos .emd y .tflite en la carpeta de medios.

    Archivos de modelo pegados en la carpeta de medios.

  8. Cierre la ventana del explorador de archivos y vuelva a Survey123 Connect.

    La nueva encuesta presenta las siguientes características:

    • La pregunta Sign Image tiene el mismo aspecto que el botón normal de la cámara en Survey123, pero utilizará el modelo que ha incluido en la encuesta para interpretar el contenido de la foto capturada.
    • La pregunta Sign Type verificará automáticamente el tipo de señal que se detecta en la foto.
    • La pregunta Is this correct permite a los usuarios verificar el éxito de la cámara.

    Revise las preguntas de la encuesta.

    Ya está listo para publicar su encuesta.

  9. En el menú lateral, haga clic en Publicar.

    Botón Publicar

  10. En la ventana Publicar SignImageClassificationModelTesting, haga clic en Publicar encuesta.

    Botón Publicar encuesta

    Survey123 Connect publica el contenido en su organización de ArcGIS. La publicación puede tardar más de lo normal porque incluye los archivos de clasificación de imágenes de la encuesta.

  11. Cuando la publicación se haya completado, haga clic en Aceptar.

    Botón Aceptar

  12. En el menú lateral, haga clic en el botón Más acciones y elija Administrar en sitio web de Survey123.

    Opción Administrar en sitio web de Survey123

    La encuesta publicada se abre por la página Descripción general del sitio web de Survey123. Para que otras personas puedan utilizar esta encuesta, la compartirá con su organización.

  13. En la cinta, haga clic en Colaborar.

    Opción Colaborar

  14. En la pestaña Compartir encuesta, en Quién puede enviar datos a esta encuesta, elija Miembros de mi organización. Haga clic en Guardar.

    Pestaña Compartir encuesta

  15. En la ventana Compartir encuesta, haga clic en Guardar.

    Ya ha creado una encuesta para probar un modelo de clasificación de imágenes.

    El siguiente paso es usar la encuesta para probar el modelo. Querrá probar la precisión del modelo tomando fotos en diferentes condiciones de luz y desde diferentes ángulos y distancias. Cuanta mayor variedad utilice para probar correctamente, mayor confianza podrá tener al compartir estos modelos.

Usar la encuesta

Ahora que la encuesta está publicada, puede descargarla en su dispositivo móvil. Puede salir al aire libre y tomar fotos de señales de stop y de velocidad.

Nota:

Si no puede probar la encuesta en el campo, puede usar esta colección de imágenes de muestra. Abra las fotos en su equipo y utilice su dispositivo para hacer fotos de las imágenes de la pantalla del equipo.

  1. Abra la aplicación de campo Survey123 en su dispositivo móvil.
  2. Si es necesario, inicie sesión en su organización de ArcGIS.

    La aplicación se abre por la página My Survey123. Para recopilar registros para la encuesta, necesitará descargarla.

  3. Toque el botón Menú y elija Descargar encuestas.

    Botón Descargar encuestas

    La página Descargar encuestas muestra todas las encuestas que se han compartido con su organización.

  4. En la barra de búsqueda, escriba SignImageClassificationModelTesting. En los resultados de búsqueda, busque la encuesta SignImageClassificationModelTesting y toque Descargar.

    Botón Descargar de la encuesta

    La encuesta se descarga en su dispositivo.

  5. Una vez finalizada la descarga de la encuesta, toque la flecha hacia atrás para volver a la galería de encuestas.
  6. Toque la encuesta SignImageClassificationModelTesting. En la página de contenido de la encuesta, toque Capturar.

    Botón Capturar

  7. En la pregunta Sign image, toque el botón de cámara.

    Botón de cámara

  8. Haga una foto de una señal de stop o de velocidad.

    La vista previa de la cámara muestra una clasificación (de stop o velocidad) y un valor de confianza en la parte superior de la pantalla.

    Agregue la foto de una señal.

    Después de capturar la imagen, volverá a la página de la encuesta. La pregunta Sign Type se actualiza automáticamente con el mismo valor que se mostraba en la vista previa de la cámara. Esta clasificación de imágenes la han realizado los archivos de modelo incluidos en la encuesta.

    Verifique la identificación automática de señales.

    A continuación, deberá validar el resultado de los atributos inteligentes.

  9. Si el modelo ha predicho correctamente el tipo de señal, en la pregunta Is this correct, toque Yes. De lo contrario, toque No.

    Pregunta Is this correct?

  10. Toque el botón enviar.

    Si su dispositivo está en línea, se le pide que elija entre Enviar ahora, Continuar esta encuesta o Guardar en la bandeja de salida.

  11. Toque Enviar ahora.

    Opción Enviar ahora

  12. Siga capturando fotos de señales de stop y velocidad hasta que haya enviado al menos 10 de cada una.

    Fotos adicionales

Ahora ya ha usado la cámara para clasificar fotos que contienen señales de stop y señales de velocidad. Si está conforme con los resultados, puede utilizar estos archivos de modelo en cualquier encuesta para identificar señales de stop o de velocidad. Si no está conforme con los resultados, puede que tenga que volver a entrenar el modelo.

Considere las siguientes opciones para mejorar la calidad del modelo:

  • Revise las imágenes utilizadas para entrenar el modelo.
  • Asegúrese de que la señal esté en el centro de la imagen y recórtela si es necesario.
  • Asegúrese de tener una variedad de iluminación, ángulos y distancias en las fotos de los objetos.
  • Siga entrenando los datos incrementando los ciclos (iteraciones) hasta que la pérdida de validación (valid_loss) y la pérdida de entrenamiento (train_loss) sea inferior a 1. Se recomienda incrementar los ciclos a 5 para cada entrenamiento.

Encontrará más tutoriales en la galería de tutoriales.