Update: Despliegue de Intelligent Kiosk 💡🔁
Cognitive Services | Microsoft Azure
Introducción
Si tu pasión es el desarrollo de aplicaciones haciendo uso de Inteligencia Artificial (AI), debes haber visto o escuchado sobre los Servicios Cognitivos de Microsoft (visión, voz, conocimiento, búsqueda y lenguaje). Pero que tal, si tenemos una aplicación con proyectos de muestra que utilicen servicios cognitivos en diferentes escenarios donde sea necesario el uso de AI.
En Microsoft se tiene una App y se viene usando internamente. Esta herramienta lleva por nombre Intelligence Kiosk, es una aplicación que puede ser descargada de Github, ahora disponible a unos clic de configuración.
Consideramos muy importante tener acceso a estos proyectos de muestra creados con Servicios Cognitivos de Microsoft y como comunidad estamos dispuestos a compartir lo fácil este despliegue.
En esta ocasión te voy a enseñar como implementar Intelligence Kiosk, en donde tendrás varias funcionalidades de IA en una sola aplicación y como herramienta de autoaprendizaje.
Requerimientos
- Windows 10 versión 1809 o posterior.
- Una cámara web de alta resolución.
- Visual Studio 2017 con la carga de trabajo de la plataforma universal de Windows habilitada (habilitar modo de programador).
- Tener instalado los siguientes componentes individuales.
- Claves API (Bing AutoSuggestion, Bing Search, Computer Vision, Face y Text Analytics).
Ejecución de la aplicación
- Abrir la solución Intelligent Kiosk usando Visual Studio 2017.
- Configurar como proyecto de inicio IntelligentKioskSample.
- Ejecutar la solución con F5. Con esto tendremos iniciada la aplicación Intelligence Kiosk.
- Ingrese sus claves de API en la página de configuración, a continuación detallo como obtener las claves de servicios cognitivos.
Obtención de las claves de servicios cognitivos
Para obtener las claves de API usaremos línea de comandos, haciendo uso de Azure Cli. Te recomiendo que revises la instalación de Microsoft Azure Cli de acuerdo a tu sistema operativo.
Ejecutamos Azure Cli desde Windows Power Shell, para iniciar sesión iniciar sesión en nuestra cuenta de Azure ejecutamos el comando:
az login
Automáticamente se abre el navegador para logearnos a la cuenta de Microsoft Azure.
Al validar nuestra cuenta nos redirecciona a la documentación del portal Azure Cli.
Regresamos a Power Shell y creamos un grupo de recursos con el comando:
az group create -n kiosk-cog-service-keys -l westus
Puedes personalizar el nombre del grupo de recursos: kiosk-cog-service-keys y la ubicación: westus
Verificamos la creación del grupo de recursos en el portal de Azure.
Regresamos a Power Shell y generamos las claves API de los servicios cognitivos con el comando:
az group deployment create -n cog-keys-deploy -g kiosk-cog-service-keys --template-uri https://raw.githubusercontent.com/Microsoft/Cognitive-Samples-IntelligentKiosk/master/Kiosk/cognitive-keys-azure-deploy.json
En las salidas de Power Shell verificamos las Keys (Bing AutoSuggestion, Bing Search, Computer Vision, Face y Text Analytics) y las copiamos:
Para evitar gastos innecesarios, debemos ir a nivel de precios de cada Servicio Cognitivo y pasarlo a F0 Gratis, aunque esto nos limite en rendimiento.
Verificamos la creación de los servicios cognitivos en el portal de Azure (Bing AutoSuggestion, Bing Search, Computer Vision, Face y Text Analytics).
Abrimos la Aplicación Intelligent Kiosk (la cual fue ejecutada en el paso anterior), ingresamos a la opción SETTINGS y pegamos las Key de los servicios cognitivos.
Pruebas de escenarios
Al fin, llegamos al punto interesante de esta publicación, probar los servicios cognitivos desde la aplicación Intelligent Kiosk, he realizado alguna pruebas con algunos de ellos (*). Te invito a que explores el resto (te dejo una resumen de cada uno).
Automatic Photo Capture
Captura fotos automáticamente cuando las personas se acercan a la cámara web. Características: Seguimiento de la cara; Predicción de edad y género; Identificación de la cara.
Bing News Analytics *
Conecta las API de noticias de Bing con las API de Text Analytics para crear una visualización de las noticias en función a la opinión y temas de interés, en nuestro caso probamos con la palabra Perú. Características: Bing News API, Bing AutoSuggestion API, Análisis de sentimiento en forma de texto y Extracción de palabras clave.
Bing Visual Search
Para realizar búsquedas visuales y encontrar imágenes, productos o celebridades visualmente similares. Características: Bing Search API; Bing AutoSuggestion API.
Custom Vision Explorer
Para crear un clasificador y comparar las imágenes. Características: Custom Vision API, API de búsqueda de imágenes de Bing; Bing AutoSuggestion API.
Emotion API Explorer *
Análisis de emociones (contento, triste, aburrido). Muchas de las personas felices suelen verse mas jóvenes, por lo tanto debemos sonreír, aunque cuando se trata de aparentar aveces no funciona, en nuestro caso probamos con una leve sonrisa. Características: Seguimiento de cara; Predicción de la emoción; Bing Search API; Bing AutoSuggestion API.
Face API Explorer *
Para la predicción de edad y género, así como la identificación de caras, en nuestro caso probamos con una leve sonrisa. Características: Seguimiento de cara; Predicción de edad y género; Identificación de la cara; Hitos faciales; Bing Image Search API; Bing AutoSuggestion API.
Face Identification Setup
Muestra cómo entrenar el modelo de aprendizaje automático, con el uso de las API de Face para reconocer personas específicas. Características: Identificación de la cara; Bing Search API; Bing AutoSuggestion API.
Greeting Kiosk
Para reconocer cuándo una persona conocida se acerca a la cámara, en modo manos libres y en tiempo real. Características: Seguimiento de cara; Muestreo en tiempo real; Identificación de la cara.
Image Collection Insights
Para agregar una capa de inteligencia artificial sobre una colección de fotos, haciendo un filtro de imágenes de acuerdo a lo encontrado. Características: Face API, Emotion API, Computer Vision API.
Mall Kiosk
Un centro comercial que hace recomendaciones de productos, analizando la reacción de las personas frente a la cámara. Características: Seguimiento de cara; Predicción de edad y género; Muestreo en tiempo real de la emoción; Identificación de la cara; Voz a texto; Análisis de sentimiento de texto.
Realtime Crowd Insights *
Para procesar fotogramas desde una cámara web, obteniendo información de varias personas en tiempo real; como datos demográficos, emociones y conteo de caras, en nuestro caso probamos con una leve sonrisa. Características: Seguimiento de cara; Muestreo en tiempo real; Predicción de edad, género y emoción; Identificación de la cara; Recuento de caras únicas.
Realtime Driver Monitoring
Un escenario del futuro, donde una cámara en un automóvil podría usarse para monitorear al conductor y determinar cuándo el conductor está distraído, durmiendo, bostezando o haciendo otras actividades (como usar el teléfono o comer). Características: Seguimiento de cara; Muestreo en tiempo real; Hitos faciales; Postura de la cabeza; Identificación de la cara; Seguimiento de rostro único; Subtítulos de imagen.
Realtime Video Insights
Para procesar fotogramas de un archivo de video, obteniendo información en tiempo real; como datos demográficos, emociones, conteo de rostro único e identificación de rostro. Características: Muestreo en tiempo real; Predicción de edad, género y emoción; Identificación de la cara; Cara única contando; Detección de celebridades.
Vision API Explorer *
Muestra cómo extraer etiquetas, caras, descripción de la foto, celebridades, resultados de OCR y análisis de color, en nuestro caso probamos con una frase de bienvenida para el 2019. Características: Seguimiento de cara; Computer Vision API; Bing Image Search API; Bing AutoSuggestion API.
Conclusiones
Como devbots podemos acceder a estos servicios cognitivos a través de un SDK o de un servicio web Restful.
Puedes usar tu experiencia como devbots para probar Intelligent Kiosk, considera que Microsoft va a ir actualizando la lista de proyectos de esta aplicacion.
Las tecnologías emergentes como lo son los servicios cognitivos de Microsoft, pueden acomodarse a nuestra vida diaria y está en nosotros el poder identificar donde seria útil su aplicación.
No solo se ejecuta como aplicación web en la nube o de forma nativa en la computadora, por el contrario tiene la posibilidad de integrarse con un dispositivo Rasberry Pi, para ello puedes revisar la documentación en Github.
Recuerden estar al tanto en nuestras redes sociales para mayor información, este año tendremos contenido renovado:
Página Facebook
fb.me/MyBotsLatam
Grupo Facebook
https://www.facebook.com/groups/MyBotsLATAM
Twitter
https://twitter.com/MyBotsLatam
Medium
https://medium.com/mybots-latam
Youtube (No olvides suscribirte)
https://www.youtube.com/c/MyBotsLATAM
Grupo Telegram
https://t.me/MyBotsLatam
Canal Telegram
https://t.me/MyBotsLatamCanal
Espero que esta publicación, haya sido de tu agrado, compártela… 😃
¡Hasta pronto 😉!
Referencias