COGNITIVE SERVICES:COMPUTER VISION API

Cognitive Services

Ya hablamos en el post anterior qué son los Servicios Cognitivos de Microsoft e hicimos una pequeña aproximación de lo que nos permiten hacer.

En esta serie de post, profundizaremos en cada una de las cinco áreas de dichos servicios.

Hoy, vamos a comenzar con ¨Computer Vision API¨:

Computer Vision

El servicio cognitivo ¨Computer Vision¨, nos permite extraer información importante de las imágenes, en cuanto a los datos que la imagen representa, procesando el contenido visual de esa imagen.

Permite a su vez, categorizarlas y proteger a los usuarios de contenido no deseado.

Este servicio dispone de diferentes características que vamos a exponer a continuación:

Análisis de imágenes

Este método (endpoint), nos devuelve información sobre el contenido visual de una imagen, analizando lo que interpreta ¨ver¨.

Además, nos proporciona una descripción, unas etiquetas y unos modelos específicos de dominio para identificar y categorizar la imagen.

Entrando más en profundidad, algunas de las acciones posibles que nos permite este método son:

 

skate.jpg

  • Etiquetar fotos: Las etiquetas pueden ir acompañadas de sugerencias para evitar ambigüedades. Por ejemplo, ¨rosa¨, puede ir acompañado de ¨flor¨para evitar problemas de comprensión: [¨A man riding a skateboard¨] 
  • OCR (Reconocimiento Óptico de Caracteres) Generación de descripciones: En base a las etiquetas, el servicio genera una descripción mediante una frase comprensible. Puede devolver más de una descripción, y cada descripción llevará una puntuación asociada: [¨skating, sport, person, outdoor, etc.]
  • Modelo específico de dominio: Dispone de un modelo que reconoce a celebridades en las imágenes. ¨Computer Vision¨ es capaz de reconocer a más de 200.000 celebridades del mundo de los negocios, la política, los deportes o el entretenimiento en todo el mundo.
  • Identificación de contenido adulto: ¨Computer Vision¨puede identificar si una imagen es de contenido adulto, pudiendo establecer el margen del mismo: [False, 4 sobre 100]
  • Percepción de esquema de colores: Los colores son analizados en tres contextos (primer plano, fondo y toda la imagen). Con esto podemos analizar una imagen, por ejemplo, una web, y extraer un esquema de colores para productos de marketing: [Grey, Black 3B435C]
  • Clasificación básica de la imagen: Nos indica si la imagen es en blanco y negro, si es un dibujo lineal o si es un clip-art: [False, False, False]
  • Detección de caras: La funcionalidad de detección de caras es un subconjunto de la ¨Face API¨que veremos más adelante. Nos proporciona información básica como la posición de la cara en la imagen, la edad y el género: [None]

 

Los OCR son una tecnología capaz de reconocer y extraer el texto en una imagen.

Permite a los usuarios realizar una fotografía y extraer el texto de ella, ahorrando por tanto tiempo y esfuerzo.

Este servicio, no solo nos extrae el texto de una imagen, con lo que podemos realizar búsquedas de texto sobre documentos escaneados, sino que además nos reconoce el idioma del mismo, soportando 21 idiomas (Esto es importante, ya que puede desambigüar caracteres en función del idioma del texto).

Si fuese necesario, el OCR rotaría el texto para realizar un reconocimiento correcto del texto tal y como se indica en la imagen:

cs.png

 

Pero este servicio tiene algunas limitaciones:

  • La imagen tiene que medir entre 40×40 píxels y 3200×3200 pixels, y debe ser inferior a 100 Megapixels.
  • La precisión del reconocimiento puede verse afectada por imagenes borrosas, fuentes de letras artísticas, escritura manual, fondos de imagen complejos, etc. Básicamente cualquier cosa que pueda afectar a su lectura.

 

Ejemplo: 

cs2.pngLorem ipsum dolor si

Integer aliquam sem vitae ipsum vehicula e fringilla

Donec et nisi lorem, sed rhoncus odio

Pellentesque est nulla, commodo id

accumsan aC, volutpat quis ligula. Nulla

libem felis, venenatis id vuius in, vehicula

eu lectus. Suspendise B)rttitor odio in

masa luctus viverm interdum eros

hendrerit. porttitor volutpat quis .

Mauris molestie vulputate.

Donec dignissim tempus Sed

tempor malesuada molatie. Etizm

 

 

 

Generación de miniaturas

¨Computer Vision¨permite generar una miniatura de alta calidad basada en cualquier imagen.

Esta funcionalidad es muy útil para adaptar las imágenes que queramos a nuestras necesidades de tamaño, forma y estilo.

Un thumbnail (miniatura) debe representar en un espacio pequeño una imagen grande, por lo que hemos de determinar qué parte es la más importante o más destacable de dicha imagen.

Además, en función de donde se vaya a mostrar dicha miniatura, debemos contemplar unos tamaños u otros, unos ratios u otros.

Usando este servicio, podemos automatizar la generación automática de ¨thumbnails¨para nuestras aplicaciones/webs y asegurarnos de que mostramos la región de interés de la imagen de forma automatizada.

Imagen ejemplo 2: 

cs3.png

Miniaturas autogeneradas: 

cs4.png

¡Hasta aquí todo por hoy!

¡Permaneced atentos a nuestros siguientes post sobre Cognitive Services!

¡Nos vemos!

 

Escrito por Sergio Gasca García, especialista en IA en Bravent. 

Fuente de las imágenes: Microsoft Cognitive Services