Azure Custom Vision permite crear poderosos clasificadores de imágenes en cuestión de minutos sin requerir una expertiz compleja en inteligencia artificial. Simplemente alimenta el servicio con imágenes para que éste se adapte a tus propias necesidades, etiquétalas y entrena un modelo que puede ser publicado en línea, disponible para ser utilizado por tus aplicaciones. El servicio cuenta con un SDK que te permite automatizar el proceso.
Mejor aún, este modelo puede ser exportado como paquete (Tensorflow, CoreML, ONNX), ideal para escenarios offline con resultados en tiempo real (sin latencia), típico de aplicaciones móviles (o web).
En esta sesión el servicio Custom Vision será descrito. Posteriormente, un clasificador de imágenes será creado desde el portal. El modelo producido será exportado en formatos Tensorflow y CoreML para integrarlo en aplicaciones móviles de Android e iOS, respectivamente.
2. #GlobalAzure
Luis Beltrán
• Investigador en Tomas Bata University en Zlín, República
Checa.
• Docente en Tecnológico Nacional de México en Celaya,
Mexico.
• Alto interés en Xamarin, Azure e Inteligencia Artificial
@darkicebeam
luis@luisbeltran.mx
3. #GlobalAzure
Agenda
• ¿Qué es la clasificación de imágenes?
• Servicios Cognitivos de Azure
• Servicio de Custom Vision:
• Conociendo el servicio
• Construyendo un Clasificador de Imágenes
• Exportando el modelo
• Creando un modelo de clasificiación de imágenes desde el portal de Azure Custom Vision
• Clasificación de ímágenes con Custom Vision y Xamarin
• Cierre
Download the slides: https://bit.ly/LuisGlobalAzure02
4. #GlobalAzure
¿Qué es la clasificación de imágenes?
• Es la identificación del contenido
visual en una imagen.
• Tema de interés en el área de
Visión de Computadora.
• Una tarea trivial para los seres
humanos… todo un reto para las
aplicaciones informáticas
6. #GlobalAzure
Azure Cognitive Services
Perception Comprehension
Visión Voz Lenguaje Búsquedas web
Computer Vision
Face/Emotion Recognition
OCR/Handwriting
Custom Vision
Video Indexer
Text-to-Speech
Speech-to-Text
Translator
Custom Speech
Language Understanding
Text Translator
Text Analytics
QnA Maker
Bing Custom Search
Bing Autosuggest
Bing Image Search
Bing News Search
microsoft.com/cognitive
7. #GlobalAzure
Computer Vision
Analiza una imagen
Conoce el contenido dentro de una
imagen
OCR
Detecta y reconoce palabras dentro
de una imagen
Genera miniaturas (thumbnails)
Escala y recorta imágenes reteniendo
el contenido clave
8. #GlobalAzure
Servicio de Custom Vision
Reconocimiento de
imágenes adaptado
a las necesidades de
tu negocio.
Un servicio de IA y
una plataforma para
aplicar visión de
computadora a tu
escenario específico.
9. #GlobalAzure
Construyendo un Clasificador de Imágenes
• Crea un Proyecto
• Elige un dominio
• Carga imágenes
• Etiquétalas
• Entrena el clasificador
• Evalúa, publica y
exporta el modelo
10. #GlobalAzure
Creando un proyecto
Custom Vision está organizado
de forma jerárquica. En el nivel
más alto se encuentra el
proyecto, el cual representa los
datos y el modelo generado
para una tarea específica.
Un clasificador es un modelo
construido con Custom Vision
Service utilizando imágenes de
entrenamiento
Image Classifier = Project
13. #GlobalAzure
Eligiendo un dominio
Cuando creas un proyecto,
seleccionas un dominio, el cual
optimiza el clasificador de imágenes
para reconocer objetos pertenecientes
a ciertos subconjuntos:
• Food: Optimizado para platillos que
encontrarías en un menú de
restaurante, bebidas, alimentos, etc.
• Landmark: Optimizado para
propiedades naturales y artificiales.
• Retail: Optimizado para clasificar
imágenes en catálogos de compras
o de sitios web.
14. #GlobalAzure
Cargando y etiquetando imágenes
Para crear un clasificador de
alta precisión, el servicio de
Custom Vision necesita varias
imágenes de entrenamiento.
Una imagen de entrenamiento
es una fotografía que el
servicio Custom Vision clasifica
con una etiqueta (tag).
22. #GlobalAzure
Evaluando y publicando el modelo
Después de entrenar el modelo, éste
puede rápidamente utilizando
imágenes locales o de la web. La
prueba utiliza la última iteración (la
más reciente).
Si el modelo proporciona resultados
precisos, puede ser publicado, lo cual
permite al clasificador:
• Ser accessible a través de un
endpoint HTTP (o por medio del SDK)
para una clasificación (predicción)
de imágenes a través de Internet.
• Ser exportado a una plataforma
para una clasificación de imágenes
en modo offline, sin requerir Internet.
25. #GlobalAzure
¡Ejecuta el modelo donde desees!
Ejecuta tus modelos donde los necesites, de acuerdo a tus
escenarios y requerimientos únicos. Exporta tus modelos
entrenados a dispositivos o contenedores para escenarios
de baja latencia.
29. #GlobalAzure
Demo: Clasificación de imágenes con Custom
Vision y Xamarin
Proyecto open-source disponible en GitHub
https://github.com/icebeam7/MobileImageClassifierApp
32. #GlobalAzure
Cierre
Tips de optimización
• La mejor forma de tener un clasificador de
calidad es agregando imágenes diversas
(diferentes fondos, ángulos, tamaño de
objeto, grupos de fotos y variantes de tipos).
• Incluye imágenes representativas de lo que el
clasificador encontrará en el mundo real. Por
tanto, las fotos en contexto son mejores que
las de objetos frente a fondos neutros, por
ejemplo.
• Siempre entrena el clasificador después de
haber agregado más imágenes.
• Usa al menos 30 imágenes por etiqueta.
34. #GlobalAzure
Ejemplos de escenarios de Custom Vision
Escenarios adicionales
• Clasificar imágenes enviadas por el usuario al sitio web
• Identificar elementos: conteo de objetos, identificación de animales, etc.
• Detección de riesgos / seguridad industrial
Detección de categoría
en una línea de
producción
Detección de la salud de
plantas en agricultura y
ganadería
Detectar productos en
una tienda en línea
35. #GlobalAzure
Call to Action
Servicio de Custom Vision
https://azure.microsoft.com/es-mx/services/cognitive-
services/custom-vision-service/
Documentación de Custom Vision
https://docs.microsoft.com/es-mx/azure/cognitive-services/custom-
vision-service/home
Microsoft Learn: Classify images with the Custom Vision service
https://docs.microsoft.com/en-us/learn/modules/classify-images-
custom-vision/
Custom Vision y TensorFlow
https://docs.microsoft.com/es-mx/azure/cognitive-services/custom-
vision-service/export-model-python
37. #GlobalAzure
¡Gracias por tu
atención!
Luis Beltrán
Tomás Bata University in Zlín
Tecnológico Nacional de México en Celaya
luis@luisbeltran.mx luisbeltran.mx @darkicebeam
GitHub:
https://github.com/icebeam7
LinkedIn:
https://linkedin.com/in/luisantoniobeltran
SlideShare:
https://slideshare.net/icebeam
YouTube:
https://youtube.com/user/darkicebeam
About Me:
https://about.me/luis-beltran