Módulo de inteligencia artificial de Azure Percept Vision

Importante

Retirada de Azure Percept DK:

Actualización 22 de febrero de 2023: Una actualización de firmware para los componentes de accesorios Percept DK Vision y Audio (también conocidos como Vision y Audio SOM) ya está disponible aquí y permitirá que los componentes de accesorio sigan funcionando más allá de la fecha de retirada.

La versión preliminar pública de Azure Percept evolucionará para admitir nuevas plataformas de dispositivos perimetrales y experiencias de desarrollador. Como parte de esta evolución, Azure Percept DK y el accesorio Audio y los servicios auxiliares de Azure asociados para Percept DK se retirarán el 30 de marzo de 2023.

A partir del 30 de marzo de 2023, los servicios de Azure Percept DK y el accesorio Audio ya no serán compatibles con ningún servicio de Azure, incluidas las Azure Percept Studio, las actualizaciones del sistema operativo, las actualizaciones de contenedores, la visualización de secuencias web y la integración de Custom Vision. Microsoft ya no proporcionará soporte técnico al cliente ni ningún servicio auxiliar asociado. Para obtener más información, consulte la entrada de blog Aviso de retirada.

Azureeyemodule es el nombre del módulo perimetral responsable de ejecutar la carga de trabajo de visión IA en el Azure Percept DK. Forma parte del conjunto de módulos perimetrales de Azure IoT y se implementa en el Azure Percept DK durante la experiencia de configuración. En este artículo se proporciona información general sobre el módulo y su arquitectura.

Architecture

Diagrama que muestra la arquitectura de azureeyemodule.

La carga de trabajo de Azure Percept en Azure Percept DK es una aplicación de C++ que se ejecuta dentro del contenedor de Docker azureeyemodule. Usa G-API de OpenCV para el procesamiento de imágenes y la ejecución del modelo. Azureeyemodule se ejecuta en el sistema operativo Mariner como parte del conjunto de módulos de Azure IoT que se ejecutan en el Azure Percept DK.

La carga de trabajo de Azure Percept está pensada para recibir imágenes y generar imágenes y mensajes. Las imágenes generadas pueden estar marcadas con dibujos como rectángulos de selección, máscaras de segmentación, uniones, etiquetas, etc. Los mensajes generados son un flujo JSON de resultados de inferencia que las tareas de nivel inferior pueden ingerir y usar. Los resultados se sirven como una secuencia RTSP que está disponible en el puerto 8554 del dispositivo. Los resultados también se envían a otro módulo que se ejecuta en el dispositivo, que sirve la secuencia RTSP encapsulada en un servidor HTTP, que se ejecuta en el puerto 3000. En cualquier caso, solo se podrán ver en la red local.

Precaución

No hay cifrado ni autenticación con respecto a las fuentes RTSP. Cualquier usuario de la red local puede ver exactamente lo que el Azure Percept Vision está viendo si escribe la dirección correcta en un explorador web o en el reproductor multimedia RTSP.

La carga de trabajo de Azure Percept habilita varias características que los usuarios finales pueden aprovechar:

  • Una solución sin código para casos de uso comunes de Computer Vision, como la clasificación de objetos y la detección de objetos comunes.
  • Una solución avanzada, donde un desarrollador puede traer su propio modelo entrenado (potencialmente en cascada) al dispositivo y ejecutarlo, pasando posiblemente los resultados a otro módulo de IoT de su propia creación que se ejecuta en el dispositivo.
  • Bucle de reentrenamiento para capturar imágenes del dispositivo de forma periódica, volver a entrenar el modelo en la nube y, a continuación, volver a insertar el modelo recién entrenado en el dispositivo. Uso de la capacidad del dispositivo para actualizar e intercambiar modelos sobre la marcha.

Detalles de la carga de trabajo de IA

La aplicación de carga de trabajo es de código abierto en el repositorio de GitHub de desarrollo avanzado de Azure Percept y se integra en muchos módulos pequeños de C++. Estos son algunos de los más importantes:

  • main.cpp: Lo configura todo y, a continuación, ejecuta el bucle principal.
  • iot: esta carpeta contiene módulos que controlan los mensajes entrantes y salientes desde Azure IoT Edge Hub y el método de actualización gemela.
  • model: esta carpeta contiene módulos para una jerarquía de clases de modelos de Computer Vision.
  • kernels: esta carpeta contiene módulos para kernels de G-API, operaciones y funciones contenedoras de C++.

Los desarrolladores pueden compilar módulos personalizados o personalizar el módulo azureeyemodule actual mediante esta aplicación de carga de trabajo.

Pasos siguientes

  • Ahora que tiene más información sobre azureeyemodule y la carga de trabajo de Azure Percept, pruebe a usar su propio modelo o canalización siguiendo uno de estos tutoriales
  • O bien, pruebe aprendizaje por transferencia mediante uno de nuestros cuadernos de aprendizaje automático listos para usar