Hace unos seis meses, se me ocurrió la idea de crear un marco abierto para interfaces neuronales.
En este video, la captura de una señal muscular
EMG ocurre usando un sensor EMG de ocho canales en el antebrazo. Por lo tanto, eliminamos a través de la piel un patrón de activación de las neuronas motoras no encriptado y mejorado por los músculos.
La señal sin procesar del sensor a través de Bluetooth va a la
aplicación Android / Android Things .
Para entrenar el sistema, asignaremos una clase de movimiento a un gesto específico de la mano. Por ejemplo, si necesitamos el estado de "parada", así como la rotación de dos motores en dos direcciones, registraremos cinco gestos en total. Recopilamos todo en archivos y lo enviamos a estudiar en la
red neuronal . A la entrada de la red, tenemos actividad nerviosa, a la salida, una clase reconocida de movimiento.
Ejemplo de arquitectura de red Keras:
model = Sequential()
https://www.kaggle.com/kyr7plus/naive-classifierSe utiliza un
servidor para comunicar la aplicación y la red neuronal. La solución cliente-servidor facilita el script de aprendizaje automático utilizando TensorFlow, sin cambiar el código de la aplicación y evitando reinstalaciones constantes durante el proceso de depuración.
Puede usar los clasificadores resultantes usando
TFLite o
TF ServingEl código del sistema está aquí.En los planes futuros:
- Creación de un sensor EMG multicanal de código abierto que funciona a través de USB
- Experimentos de aprendizaje automático para mejorar la confiabilidad de la administración
Mi amigo
garastard habla sobre nuestras aventuras de Android con interfaces neuronales en este
artículo .