Robot basado en Raspberry Pi que juega al ajedrez usando Machine Learning y OpenCV

Publicado por en Raspberry Pi el 19/05/2017

Programas que juegan al Ajedrez hay ya unos cuántos. Robots hay unos pocos también pero lo que ya no es tan común es cómo se lo ha montado el autor de éste proyecto que utiliza una combinación de la librería Open Source Sotckfish para resolver las jugadas, al mismo tiempo que utiliza un completo sistema basado en Machine Learning y visión artificial. Todo el conjunto lo gestiona una Raspberry Pi que corre una séries de scripts en Python para capturar y analizar las imágenes del tablero capturadas por la cámara. Me parece muy interesante el sistema ya que utiliza un modelo matemático para reconocer las diferentes piezas y colores basándose en un dataset (un conjunto de datos) para entrenar la máquina. Se generan unos datos estadísticos de cada imagen capturada y luego se prueba el porcentaje de acierto. En su web se pueden ver todos los detalles de forma muy detallada y todo el código e instrucciones está disponibles. ¡Altísimamente recomendado!

Leer más

Google Mocktails Mixer utiliza API.AI para reconocer una acción

Publicado por en Raspberry Pi el 28/04/2017

Una cosa está muy clara y es que el reconocimiento de voz en los objetos cotidianos ya es una realidad y además ahora existen herramientas que facilitan mucho la vida como api.ai. Como proyecto de ejemplo, Google ha desarrollado un pequeño mezclador de zumos que utiliza una Raspberry Pi junto con un Arduino y una série de relés con bombas de líquido. Mediante un comando de voz capturado por un micrófono, la Raspberry lo transfiere a api.ai, se procesa la voz y si se detecta una acción se envían de vuelta los datos para que a su vez Arduino active la mecánica para sacar el zumo. Es una prueba de concepto que pinta estupendamente bien y todo su código y detalles de configuración así como los esquemas están disponibles en Github. ¡Esto hay que probarlo! Ya sabes, por eso de "Lo siento, Dave. Me temo que no puedo hacer eso." ;)

Leer más

Chatbot para Slack con lenguaje natural usando api.ai

Publicado por en Programación el 09/12/2016

A no ser que estuvieses viviendo debajo de una piedra, ya sabes que la inteligencia artificial está ya en casi cualquier lado empezando por el móvil que tienes en el bolsillo. Y esto no ha hecho más que empezar, pero a los programadores hay que ponernos las cosas fáciles si queremos que esto evolucione y Google lo sabe muy bien. Mediante api.io, tenemos disponible un completo editor para reconocimiento de lenguaje natural utilizando machine learning

 

Leer más

Clasificador de pepinos con Raspberry Pi usando Machine Learning

Publicado por en Raspberry Pi el 06/09/2016

¿Cuántas veces te has encontrado en la situación de tener en la cocina varios pepinos de distintos tamaños y liarte para clasificarlos de menor a mayor? Igual a tí no te ha pasado, pero una granja de pepinos de Japón ha intentado solucionar ese problema utilizando una Raspberry Pi junto a una webcam para analizar visualmente cada pepino y poder clasificarlos de manera eficiente.

Lo interesante es que han utilizado una combinación de OpenCV junto con la librería TensorFlow de Google para utilizar redes de neuronas en Google Cloud para entrenar un modelo de clasificación en la nube. Mediante una pequeña máquina casera con unos servos y una cinta transportadora, consigue una eficiencia teórica de más de 95% de acierto, aunque indican que debido a que el dataset es muy pequeño, se queda en poco más de 70% que aún así no está nada mal.

Leer más

Retropropagación en redes neuronales y Machine Learning

Publicado por en Programación el 18/04/2016

En el mundo de la programación, para resolver un determinado problema se codifica un programa que resuelve de la forma más eficiente ese determinado problema (o eso intentamos hacer la mayoría de las veces) y que tenga el menor número de fallos posibles. Si queremos calcular todas las combinaciones posibles de un juego de azar, un programa podría ser creado para esa tarea pero ese mismo programa por muy complejo que sea, será totalmente inútil jugando al aljedrez por ejemplo. Simplemente por que fue diseñado para una sola tarea y el programador ha escrito un modelo para ese caso específico. En ese aspecto, las redes neuronales lo cambian todo ya que un programa de este tipo ya no se basa en la pericia del programador para resolver un problema, sino utiliza la fuerza bruta de computación y por supuesto un buen modelo para resolverlo. A continuación hago un repaso breve soobre las redes neuronales y técnicas de machine learning. A mi personalmente es un tema que la pone como la clavícula de un transformer ;)

Leer más