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.
- Descargue el archivo SignImageCollection .xlsx.
- 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.
- En la cinta, haga clic en el botón de menú y haga clic en Iniciar sesión.
- Iniciar sesión con sus credenciales de ArcGIS
Si no tiene una cuenta de organización, consulte las opciones de acceso a software.
- Arrastre el archivo .xlsx que descargó en la galería de encuestas de Survey123 Connect.
- Cuando la importación se haya completado, haga clic en Aceptar.
- 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.
- Haga clic en Publicar.
- En la ventana Publicar SignImageCollection, haga clic en Publicar encuesta.
La encuesta se publica en su organización de ArcGIS, junto con todos los servicios de entidades y elementos de formulario relevantes.
- Cuando la publicación se haya completado, haga clic en Aceptar.
- En el menú lateral, haga clic en el botón Más acciones. Haga clic en 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.
- En la cinta, haga clic en Colaborar.
- 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.
Aparece la ventana Compartir encuesta.
- En la ventana Compartir encuesta, haga clic en Guardar.
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.
- 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.
- 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.
- Toque Iniciar sesión con ArcGIS Online. Inicie sesión en su cuenta de organización de ArcGIS.
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.
- Toque 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.
- En la barra de búsqueda, escriba SignImageCollection. En los resultados de búsqueda, localice la encuesta SignImageCollection y toque Descargar.
La encuesta se descarga en su dispositivo.
- 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.
- Toque la encuesta SignImageCollection. En la página de contenido de la encuesta, toque Capturar.
- 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.
- Haga una foto de una señal de stop o de velocidad.
- Para la pregunta Sign type, elija Stop sign o Speed sign, dependiendo de qué señal haya fotografiado.
- 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.
- 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.
- Descargue el notebook SignImageClassificationModel.
- 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.
- Si es necesario, inicie sesión en su organización de ArcGIS.
- En la cinta, haga clic en la pestaña Contenido.
- Haga clic en Nuevo elemento.
- Arrastre o busque su archivo .ipynb y agréguelo a la ventana Nuevo elemento.
- 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.
- Haga clic en Guardar.
El elemento se crea y aparece su página de detalles.
- En la página de detalles, haga clic en la pestaña Configuración.
- En Tiempo de ejecución del notebook, elija ArcGIS Notebook Python 3 Advanced with GPU support – 9.0.
- Haga clic en Guardar.
- Haga clic en la pestaña Descripción general.
- Haga clic en Abrir notebook.
Las instrucciones para ejecutar el notebook y crear los archivos de modelo se incluyen en el texto del notebook.
- 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.
- En ArcGIS Notebooks, elija Archivos.
- Vaya a /arcgis/home/tmp/fa40cf680eb4436daf4109b887b52b30/models/
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.
- 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.
- 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.
- Descargue el archivo SignImageClassificationModelTesting .xlsx.
- Inicie Survey123 Connect. Si es necesario, inicie sesión en su cuenta de organización de ArcGIS.
- Arrastre y suelte el archivo .xlsx que descargó en la galería de encuestas.
Se crea una nueva encuesta con el nombre SignImageClassificationModelTesting.
- Cuando la importación se haya completado, haga clic en Aceptar.
- En el menú lateral, haga clic en 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.
- Abra la carpeta que contiene los resultados del modelo. Busque y copie los archivos del modelo con las extensiones de archivo .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.
- 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.
- 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.
Ya está listo para publicar su encuesta.
- En el menú lateral, haga clic en Publicar.
- En la ventana Publicar SignImageClassificationModelTesting, haga clic en 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.
- Cuando la publicación se haya completado, haga clic en Aceptar.
- En el menú lateral, haga clic en el botón Más acciones y elija 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.
- En la cinta, haga clic en Colaborar.
- 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.
- 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.
- Abra la aplicación de campo Survey123 en su dispositivo móvil.
- 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.
- Toque el botón Menú y elija Descargar encuestas.
La página Descargar encuestas muestra todas las encuestas que se han compartido con su organización.
- En la barra de búsqueda, escriba SignImageClassificationModelTesting. En los resultados de búsqueda, busque la encuesta SignImageClassificationModelTesting y toque Descargar.
La encuesta se descarga en su dispositivo.
- Una vez finalizada la descarga de la encuesta, toque la flecha hacia atrás para volver a la galería de encuestas.
- Toque la encuesta SignImageClassificationModelTesting. En la página de contenido de la encuesta, toque Capturar.
- En la pregunta Sign image, toque el botón de cámara.
- 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.
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.
A continuación, deberá validar el resultado de los atributos inteligentes.
- Si el modelo ha predicho correctamente el tipo de señal, en la pregunta Is this correct, toque Yes. De lo contrario, toque No.
- 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.
- Toque Enviar ahora.
- Siga capturando fotos de señales de stop y velocidad hasta que haya enviado al menos 10 de cada una.
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.