Categories
54cuatro

Desarrollando soluciones CV con Inteligencia Artificial en Azure

La visión por computadora, o #CV (Computer Vision) es un método exploratorio de imágenes por medio de la inteligencia artificial (#IA) que entrena a las computadoras para interpretar y comprender el mundo visual. Permite analizar fotos y/o vídeos con equipos tales como cámaras y que a partir de algoritmos de análisis pueden identificar y clasificar objetos que sirven para tareas tales como:

  • Reconocimiento de patrones/comportamientos
  • Procesamiento e interpretación de imágenes de video vigilancia
  • Análisis de imágenes multiespectrales
  • Modelado y reconstrucción 3D
  • Visión por computador en ciudades inteligentes para controles

¿Como puedo usar Azure para realizar desarrollos de Inteligencia Artificial?

#Microsoft ofrece servicios cognitivos a través de su plataforma #Azure por medio de su suite “Azure Cognitive Services“, desde donde se pueden analizar imágenes por medio de tecnología de CV, como también trabajar con Lenguaje y Voz.

Los servicios que se ofrecen tienen SDK y API disponibles. Para el caso puntual de esta nota, la parte de visión, actualmente cuenta con tres servicios:

  • Azure Computer Vision : para usar algoritmos de análisis de imágenes avanzados preexistentes.
  • Azure Custom Vision para crear, mejorar e implementar sus propios clasificadores de imágenes.
  • Rostro : para utilizar algoritmos faciales avanzados preexistentes para detectar y reconocer rostros humanos.

Casos Prácticos

El uso típico de las herramientas de CV se basan en enviar una imagen y obtener información detallada sobre las diversas características visuales (y atributos) que se encuentran en ella. Pero estos son algunos usos interesantes que se le puede dar a la visión por computadora:

  • Etiquetar características visuales: obtenga atributos que puedan servir como metadatos para la imagen.
  • Detectar objetos: observar imágenes/vídeos y poder detectar objetos, un caso practico podría ser detectar un automóvil mal estacionado
  • Detectar marcas: observar imágenes/vídeos y poder detectar marcas comerciales, esto podría ser de utilidad para una empresa que desea comparar su posicionamiento en anaqueles de un supermercado respecto a su competencia
  • Detectar rostros: observar imágenes/vídeos y detectar a una persona, de gran utilidad para seguridad, controles de acceso o incluso para onboarding digital. En este punto es importante destacar que Azure posee un servicio mas complejo, llamado Face Service dentro Azure Cognitive Services que permite detectar emociones, poses de la cabeza o la presencia de máscaras faciales

En caso de que lo que esté desarrollando sea muy especifico, se provee una suite llamada Custom Vision. Este módulo se centra en la creación de modelos personalizados para la detección de objetos.

Por lo general, esto requeriría un conocimiento avanzado de las técnicas de aprendizaje profundo (#deeplearning) y un gran conjunto de datos de entrenamiento, pero el uso de Custom Vision Service nos permite lograr esto con menos imágenes y sin experiencia en ciencia de datos (#datascience)

Lectura de Documentos

Otra gran funcionalidad que permite la visión por computadora, es la de reconocer textos. Como parte de la suite de Azure existe un modulo basado en #OCR (Reconocimiento óptico de caracteres) que permite leer texto impreso y escrito a mano desde imágenes y como complemento existe un servicio orientado puntualmente a la lectura de formularios llamado Form Recognizer. Esta herramienta no solo permite interpretar los datos de un formularios, sino que posibilita el procesamiento inteligente de formularios y la creación de los flujos de trabajo de automatización para documentos como recibos y facturas.

Es una herramienta de gran utilidad para la digitalización de procesos de empresas que aun dependen de la recepción de recibos de pagos de sus clientes en papel, de manera que el modelo puede reconocer formatos de los recibos, extraer los atributos (fecha y hora del pago, monto, impuestos, etc) y cargarlos en sus sistemas informáticos corporativos.

La visión por computadora es de gran utilidad para la digitialización de las compañías y organizaciones gubernamentales, ya que permiten realizar tareas repetitivas y monótonas a un ritmo más rápido y con menos errores, lo que simplifica el trabajo de los humanos.


Categories
54cuatro

Porque fallan los proyectos de Inteligencia Artificial

Una tecnología disruptiva o una innovación disruptiva es una innovación que ayuda a crear un nuevo mercado y una nueva red de valor y, finalmente, continúa alterando una red de mercado y valor existente.

¿Porque fallan los proyectos?

En la actualidad 1 de cada 10 proyectos relacionados con #IA logra tener éxito. El éxito no esta medido por el cumplimiento de las implementaciones, sino por el valor que se logra de cara al negocio.

Las fallas en este tipo de proyectos (en nuestra experiencia) vienen dados por 2 puntos:

  1. Falta de colaboración entre las áreas para lograr una solución que aporta valor.
  2. No tener los datos adecuados.

¿Cómo mitigar los riesgos?

En #54cuatro tenemos una #metodología que permite a nuestros clientes ir logrando un nivel de madurez que asegure el éxito de los proyectos de #InteligenciaArtificial.

Esa metodología denominada #Metolodogia54, busca lograr convertir a los clientes hacia empresas #DataDriven, afectando sus capacidades en cuanto a factores Culturales, Procesos y Tecnología en pos de asegurar la creación de sinergias entre los grupos de trabajo y obtener (o crear) los datos adecuados.

Tendencias en boga como #MLOPS son buenas alternativas para optimizar proyectos de #MachineLearning y aproximarse con mayor seguridad al éxito buscado, pero además es importante que todas las personas de la organización estén comprometidas a buscar el éxito, dado que los proyectos IA son 100% colaborativos es fundamental considerar los datos que se tienen disponibles y los conocimientos que se pueden obtener de ellos pero es aun mas necesario considerar el nivel de apoyo de la gerencia u organización en general y finalmente establecer expectativas realistas en torno a lo que la #IA ayudará a resolver.

Medición de resultados

Con las expectativas marcadas como hito a cumplir, es necesario generar una adecuada medición de resultados. El personal técnico suele medir el resultado de un modelo de datos por como “performa” ese modelo (Precision, Recall, F1, etc). Ese es un grave error que genera desconfianza en lo que se esta realizando. En su lugar, es preferible establecer hitos de éxito medibles en los términos más importantes para la empresa, como eficiencia operativa, aumento de ventas o de ahorro de costos. 

Algunas otras veces, se espera un nivel mínimo de resultados de cada modelo, sin embargo es bueno participar a gente de áreas de negocio mientras se realizan los desarrollos para que puedan probar y comparar el rendimiento, realizar sugerencias y complementar el modelo con las fortalezas (y debilidades) de los expertos ‘humanos’.

En modelos predictivos, crear un ciclo de retroalimentación permite mejorar el reentrenamiento para que su modelo pueda incorporar rápidamente nuevos puntos de datos y dar como resultado un aumento y mejora de las predicciones futuras.

Conclusión

Los proyectos basados en tecnología disruptiva generan grandes expectativas pero para poder cumplir con lo que se espera, es necesario comprometer a la organización en pos de lograr buenas fuentes de datos y poder trabajar con los científicos de datos a medida que se generan soluciones de negocio, retroalimentando los desarrollos con experiencia de las personas.


    Por favor, demuestra que eres humano mediante la selección la bandera.