Ejercicio: Integración de Azure Custom Vision
En este módulo, aprenderá a usar Azure Custom Vision. Tomará un conjunto de fotos de un objeto con seguimiento, los cargará en el servicio Custom Vision e iniciará el proceso de entrenamiento. Luego, usará el servicio para detectar el objeto al que realiza el seguimiento, para lo que capturará fotos desde la fuente de la cámara web.
Descripción de Custom Vision de Azure AI
Custom Vision de Azure AI forma parte de la familia cognitive Services y se usa para entrenar clasificadores de imágenes. El clasificador de imágenes es un servicio de IA que usa el modelo entrenado para aplicar etiquetas coincidentes. Nuestra aplicación usará esta característica de clasificación para detectar objetos con seguimiento.
Más información sobre Custom Vision.
Prepara Visión Personalizada
Para poder empezar, debe crear un proyecto de Custom Vision. La forma más rápida de crear el proyecto de Custom Vision es usar el portal de Custom Vision.
Siga este tutorial de inicio rápido para configurar su cuenta y proyecto. Siga los pasos de la sección Cargar e etiquetar imágenes . Debe crear una etiqueta con cinco imágenes.
Advertencia
Para entrenar un modelo, debe tener al menos dos etiquetas y cinco imágenes por etiqueta. Más adelante, agregaremos más imágenes a través de la aplicación. Sin embargo, para usar esta aplicación, debe crear al menos una etiqueta con cinco imágenes para que el proceso de entrenamiento no produzca un error más adelante.
Preparar la escena
En la ventana del Proyecto, navegue a la carpeta Assets>MRTK.Tutorials.AzureCloudServices>Prefabs>Manager.
A partir de ahí, arrastre el objeto prefabricado ObjectDetectionManager hasta la jerarquía de la escena.
En la ventana Hierarchy (Jerarquía), busque y seleccione el objeto ObjectDetectionManager . El objeto prefabricado ObjectDetectionManager contiene el componente ObjectDetectionManager (script) y, como puede ver en la ventana Inspector, depende de la configuración de Azure y de la configuración del proyecto.
Recuperación de credenciales de recursos de API de Azure
Puede recuperar las credenciales necesarias para la configuración de ObjectDetectionManager (script) desde Azure Portal y el portal de Custom Vision.
Recuperación de credenciales de configuración de Azure
Encuentre y localice el recurso de Custom Vision del tipo Cognitive Services que creó en la sección Preparando la escena de este tutorial. Allí, seleccione Información general o Claves y punto de conexión para recuperar las credenciales necesarias.
- Identificador de suscripción de recursos de Azure: use el identificador de suscripción de la sección Información general .
- Nombre del grupo de recursos de Azure: use el nombre del grupo de recursos de la sección Información general .
Para Nombre de grupo de Cognitive Service, use el nombre de recurso de Custom Vision, seguido de -Prediction.
- Punto de conexión de predicción base de recursos: use el punto de conexión de Claves y punto de conexión en el recurso -Prediction de Custom Vision.
- Clave de predicción de API: Use la clave 1 de Claves y punto de conexión en el recurso -Prediction de Custom Vision.
Recuperación de credenciales de configuración del proyecto
En el panel de Custom Vision , abra el proyecto que creó para este tutorial y, a continuación, seleccione el icono Configuración (engranaje) en la esquina superior derecha de la página para abrir la página Configuración. Encontrará las credenciales necesarias en la sección Recursos del lado derecho y la sección General del lado izquierdo.
- Punto de conexión base de recursos : use el punto de conexión de la sección Recursos . Esto debe coincidir con el punto de conexión en Claves y punto de conexión en el recurso de Custom Vision.
- Clave de API: use la clave de la sección Recursos . Esto debe coincidir con la clave que se encuentra debajo de Claves y Puntos de Conexión en el recurso de Custom Vision.
- Id. de proyecto: use el identificador de proyecto de la sección General .
Ahora, con objectDetectionManager (script) configurado correctamente, busque el objeto SceneController en la jerarquía de la escena y selecciónelo.
El campo Administrador de detección de objetos del componente SceneController está vacío. Arrastre objectDetectionManager desde la jerarquía al componente SceneController y guarde la escena.
Tomar y cargar imágenes
Ejecute la escena y seleccione Establecer objeto. Escriba el nombre de uno de los objetos de seguimiento que creó en la lección anterior. Seleccione el botón Computer Vision situado en la parte inferior de la tarjeta de objeto.
Se abrirá una ventana nueva. Tomará seis fotos para entrenar el modelo para el reconocimiento de imágenes. Seleccione el botón Cámara y realice un AirTap para ver el objeto al que le gustaría realizar el seguimiento. Haz esto seis veces.
Sugerencia
Para mejorar el entrenamiento del modelo, intente tomar cada imagen de diferentes ángulos y condiciones de iluminación.
Una vez que tenga suficientes imágenes, seleccione el botón Entrenar para iniciar el proceso de entrenamiento del modelo en la nube. Esto carga todas las imágenes e inicia el entrenamiento. El proceso puede tardar unos minutos. Un mensaje dentro del menú indica el progreso actual. Una vez que indica que el proceso se ha completado, puede detener la aplicación.
Sugerencia
ObjectDetectionManager (script) carga directamente imágenes tomadas en el servicio Custom Vision. Como alternativa, la API de Custom Vision acepta las direcciones URL de las imágenes. Como ejercicio, puede modificar ObjectDetectionManager (script) para cargar las imágenes en una instancia de Blob Storage en su lugar.
Advertencia
Si se produce un error en el entrenamiento, compruebe el panel de Custom Vision y asegúrese de que tiene al menos dos etiquetas y de que cada etiqueta tiene al menos cinco imágenes.
Detección de objetos
Ahora puede poner el modelo entrenado a prueba. Ejecute la aplicación. En el menú Principal, seleccione Buscar objeto y escriba el nombre del objeto con seguimiento en cuestión. Aparecerá la tarjeta de objeto. A continuación, seleccione el botón Custom Vision . El *ObjectDetectionManager comenzará a tomar capturas de imagen en segundo plano desde la cámara. El menú indicará el progreso de la aplicación. Apunte la cámara al objeto que usó para entrenar el modelo. Pronto, debe detectar el objeto .



