Entradas

TensorFlow Object Detection en 5 clicks desde Colaboratory

Imagen
Si uno de tus objetivos es realizar algunas pruebas de investigación sobre ciencia de datos, aprendizaje automático o un escenario similar, pero a la vez la idea que tienes es utilizar el menor tiempo posible para configurar el entorno, una muy buena propuesta desde el equipo de Google Research es Colaboratory . Para esta oportunidad les preparé la utilización de la API de TensorFlow Object Detection en solo 5 clicks. Qué opinan si  analizamos los objetos de una imagen con el objetivo de usar  una implementación de menos de 60 segundos? ejecución del ejemplo en colaboratory Seguramente se preguntan, cómo pueden usar esta implementación? La respuesta es muy simple,   accediendo  aquí  y utilizando la secuencia de pasos propuestos. Pueden ver los detalles de cada paso a continuación. Paso 1 Para este paso incluí la descarga del modelo al entorno virtual que propone Colaboratory . El resto de librerías como la de TensorFlow ya está disponibles...

Una opción de servicio para interactuar con cámaras Arlo

Imagen
Interactuar con el sistema Arlo es muy atractivo para quienes adquirieron el hardware y disfrutan de todas las bondades de estos equipos. Que por cierto son muy buenos, flexibles y llenos de buenas propiedades. Para interactuar con este sistema con una perspectiva de desarrollador, encontré dos proyectos interesantes con base python. Python-arlo:  https://github.com/tchellomello/python-arlo Arlo:  https://github.com/jeffreydwalter/arlo Ambos proponen diferentes características pero python-arlo tiene una buena documentación y estructura de su API. El objetivo para esta integración es dar soporte a solicitudes desde Google Assistant , por este motivo lo integre a un proyecto App Engine flex env . Incluí flask como framework de interacción y con esto tener la opción de utilizar una interfaz de servicios. Este sería nuestro mapa arquitectónico ideal:  Buscamos continuar con la solicitud iniciada por: Hey Google …. dónde está mi perro?  *Por s...

Google Assistant, simpleza de interacción para llamar a un webhook

Imagen
La creación de una aplicación utilizando Google Assistant es muy simple y de gran impacto para interactuar con usuarios en diversos entornos y particularmente en hogareños. Hey Google ...dónde está mi mascota? Si planeamos conectar un sistema de cámaras de seguridad, el desafío de encontrar de forma automatizada mi mascota es más factible, luego les voy a dar más detalles de cómo pienso realizarlo. Por ahora nos vamos a preocupar en trabajar en sobre las solicitudes del asistente. Para crear un agente e interactuar con Google Assistant vamos a utilizar DialogFlow . Veamos los principales elementos a tener en cuenta para crear un agente, y desde este agente llamar a un webhook con alguna funcionalidad. *Parte del objetivo será dejar preparada la lógica de interacción con un sistema de seguridad hogareño * Arlo System Desde la consola de DialogFlow , crearemos un nuevo agente: Podemos personalizar los diferentes idiomas de soporte, para este caso voy a utilizar ...

Siguiendo a Messi utilizando TensorFlow y Object Detection

Imagen
En publicaciones anteriores estuvimos utilizando TensorFlow en combinación con el modelo de Object Detection , pero siempre haciendo uso de los tradicionales conjuntos de datos preestablecidos [ejemplo COCO database ]. En esta oportunidad, nuestro desafío debería llevarnos a otro nivel. Les propongo analizar un segmento de un partido de fútbol e identificar sus jugadores. Al hablar de fútbol, lo primero que me vino a la mente es buscar el talento del astro argentino Lionel Messi. Empecemos nuestro análisis: Entrenemos un modelo personalizado que nos permita ubicar a astro argentino. Analicemos una transmisión real [en este caso seleccioné Uruguay-Argentina por eliminatorias 31 de agosto 2017] para ver qué resultados podemos obtener. Pensemos si es posible mejorar o aportar algo a la táctica de este pasional deporte, utilizando esta tecnología. *Vamos a utilizar TensorFlow y el modelo propuesto para Object Detection , todo bajo licencia Apache License 2.0. En esta oportunidad...

Tensor Flow Object Detection sobre Telegram Bot, mi desayuno, frutas y una conversación interactiva

Imagen
En este artículo vamos a explorar un caso, donde combinemos la detección de objetos en imágenes utilizando Tensor Flow (Object Detection API), y la interacción mediante una arquitectura de bots (Telegram platform). El desafío es crear un bot que pueda interactuar con imágenes en una conversación, para informar al usuario las frutas que contiene su desayuno. Utilizando esta información se pueden entregar muchas variaciones de análisis en el futuro, por el momento solo una prueba de concepto.   Vamos a proponer una integración de TensorPhotoXRay (nuestra solución para detección de etiquetas en imágenes, artículo previo ) para detectar frutas en las imágenes y vamos a crear una integración con un Telegram Bot (proyecto appengine-telegram-bot ). Esta es la solución terminada y funcionando: Vamos a describir los elementos básicos para utilizar esta arquitectura. Creación del bot en telegram: Usted puede conocer más sobre esta opción en este link oficial . *Element...

TensorFlow radiografía de imágenes utilizando Object Detection con App Engine

Imagen
En artículos anteriores analizamos objetos en imágenes utilizando Tensor Flow Object Detection API  aplicando diferentes tipos de modelos ( TensorFlow Object Detection en videos, basta de pizza, donuts y cakes... , TensorFlow Object Detection API, cena con amigos ). En estos ejemplos, la solución siempre estuvo diseñada para una aplicación de consola (es decir un Python script ejecutado localmente). Ahora nuestro desafío es llevarlo a un entorno web, detectar objetos dentro de la foto (como una radiografía) y finalmente deberíamos proponer una arquitectura simple de implementación. Vista General Podríamos pensar varias opciones de arquitectura en donde se utilice un esquema servidor (ejemplo desde la documentación oficial TensorFlow Serving ). Incluso podríamos pensar en alternativas tradicionales( Apache , Nginx , etc) pero debemos pensar en montar el servidor Web y ajustar todos los elementos para realizar el análisis utilizando TensorFlow . Me gustó mucho la idea de utili...

Tensorflow Object Detection, una mirada a las publicaciones en Facebook

Imagen
En historias anteriores detectamos algunos objetos dentro de una imagen , luego hicimos una extensión para analizar un video , de forma muy rudimentaria, pero funcional y hoy tenemos otro desafío. ¿Podemos conocer algo del enfoque social utilizando las imágenes compartidas en alguna de las redes sociales disponibles?. ¿Podríamos realizar esta operación explorando el stream social? Vamos a asumir que no analizamos contexto real de la situación, solo vamos a concentrarnos en las imágenes de publicaciones compartidas, igualmente este esquema sirve para iniciar el análisis sobre el marco social. Vamos a utilizar un enlace a Facebook para nuestra solución. Diagrama general de operaciones: Operaciones a realizar: Enlace a un usuario social  Lectura y exploración de cada publicación.  Extracción de la imagen  Análisis de la imagen  Agrupación de las etiquetas detectadas. Veamos la implementación propuesta, análisis sobre mi propio perfil. Exploración de 40 ...

Tensorflow Object Detection en videos, basta de pizza, donuts y cakes...

Imagen
En un artículo anterior les compartí un desafío en donde analizamos una imagen de una situación social, una cena con amigos. Ahora vamos a trabajar en un desafío mayor, vamos a analizar videos. En este desafío solo buscaremos detectar un objeto prohibido dentro del video (pizzas, donuts, cakes). Vamos a utilizar una simple metodología: Leemos el video y los separamos por frames (luego los tratamos como imágenes) Analizamos cada imagen con nuestra rutina de detección de objetos basada en Tensor Flow[version 1.2.1] Object Detection API . Podríamos volver a ensamblar el video para visualizar los resultados. [tenemos que saber que es un procedimiento que consume muchos recursos] Como no deseamos ver los resultados de manera visual,  les voy a proponer algo. Ya que solo necesitamos identificar un objeto con una probabilidad alta, vamos a colocar reglas para generar una alerta al detectar estas etiquetas dentro del video. El procedimiento de detección y alerta sería el siguiente...

TensorFlow Object Detection API, cena con amigos

Imagen
Día a día se registran avances en gran cantidad de sectores aplicando inteligencia artificial, y desde luego no es la excepción el sector de aprendizaje en visión automatizada. Hace unos días, el equipo de Google Research publicó un artículo con la propuesta de #Tensorflow API para detección de objetos. Por este motivo, me gustaría dejar un desafío. Podríamos detectar de forma automática los elementos en una cena con amigos? Para este objetivo lo ideal sería utilizar un modelo pre entrenado, tenemos algunas opciones listas para utilizar : ssd_mobilenet_v1_coco_11_06_2017 ssd_inception_v2_coco_11_06_2017 rfcn_resnet101_coco_11_06_2017 faster_rcnn_resnet101_coco_11_06_2017 faster_rcnn_inception_resnet_v2_atrous_coco_11_06_2017 Todos los modelos utilizan COCO, (common objects in context) puedes ver los detalles aquí . Veamos nuestra imagen original, que hipotéticamente se acaba de capturar por uno de los participantes de la cena: Image reference COCO database Y veamo...

Regresión lineal simple utilizando #tflearn

Imagen
Tiempo atrás les compartí una pequeña implementación en donde se mostraba un ejemplo de regresión lineal univariable, utilizando el mecanismo puro de #tensorflow. En esta oportunidad la implementación se comparaba con la predicción tradicional que realizan soluciones como Google Spreadsheet. Como muchas veces, utilizar aprendizaje automático, incluso para modelo relativamente simples es un desafío,  tratando mitigar esto, hoy les quiero compartir esta misma actividad implementada de manera similar, pero utilizando #tensorflow y una librería de alto nivel #tflearn  [creada por sobre #tensorflow]. Veamos si se percibe con menos complejidad. Versión de #tensorflow utilizada: 1.2.1 Recordemos que el objetivo es predecir la altura de los niños basada en su edad. Veamos la implementación completa, ustedes mismos pueden comparar la secuencia de pasos anteriormente implementada y esta nueva versión utilizando #tflearn. De esta simple implementación podrían prestar atenció...