Cómo desarrollar un sistema de clasificación de aprendizaje profundo por menos de 600$

Introducción

El aprendizaje profundo se programa para alterar el paisaje de visión artificial enormemente. Activa nuevas aplicaciones y altera mercados establecidos. Como director de producto con FLIR, tengo el privilegio de visitar empresas de una amplia gama de industrias; todas las empresas que he visitado este año están trabajando en el aprendizaje profundo. Nunca ha sido tan fácil comenzar pero, ¿por dónde empezamos? Este artículo aportará una guía fácil de seguir para construir un sistema de inferencia de aprendizaje profundo por menos de 600$.

¿Qué es la inferencia de aprendizaje profundo?

La inferencia es el uso de una red neural de formación en aprendizaje profundo para hacer predicciones de nuevos datos. La inferencia es bastante mejor respondiendo a preguntas complejas y subjetivas que los análisis de imagen tradicionales basados en normas. Al optimizar las redes para funcionar en hardware de bajo consumo, la inferencia puede ejecutarse en el borde, junto a la fuente de datos. Así se elimina la dependencia del sistema de un servidor central para el análisis de imágenes, lo que conlleva una latencia más baja, una mayor fiabilidad y un aumento de la seguridad. 

Selección del hardware

El objetivo de esta guía es crear un sistema fiable y de alta calidad para implementarlo en el sector. Aunque queda fuera del alcance de esta guía, la combinación de técnicas de visión de ordenador tradicionales con inferencia de aprendizaje profundo puede suponer una gran precisión y eficiencia computacional al hacer uso de las fortalezas de ambos enfoques. El ordenador monoplaca Aaeon UP Squared-Celeron-4GB-32GB tiene la memoria y potencia de CPU necesaria para este enfoque. Su CPU X64 Intel funciona con el mismo software que los ordenadores de escritorio tradicionales, simplificando el desarrollo comparado con los ordenadores monoplaca (SBCs, por sus siglas en inglés) basados en ARM.

El código que habilita la inferencia de aprendizaje profundo utiliza lógica de ramificación; el hardware dedicado puede acelerar enormemente la ejecución de este código. La unidad de procesamiento de visión (VPU, por sus siglas en inglés) Intel® Movidius™ Myriad™ 2 es un acelerador de inferencia eficiente y muy potente que se ha integrado en nuestra nueva cámara de inferencia, la Firefly DL.

Pieza

Número de pieza

Precio [dólares estado-unidenses]

Cámara de inferencia, la Firefly D

FFY-U3-16S2M-DL

299

Ordenador monoplaca

UP Squared-Celeron-4GB-32GB-PACK

239

Cable USB3 de 3 m

ACC-01-2300

10

Objetivo

ACC-01-4000

10

Software

Ubuntu 16.04/18.04, TensorFlow, Intel NCSDK, FLIR Spinnaker SDK

0

 

Total 558$

 

Requisitos de software

Hay muchas herramientas gratuitas disponibles para crear, capacitar y usar modelos de inferencia de aprendizaje profundo. Este proyecto utiliza una selección de software gratuitos y de código abierto. Las instrucciones de instalación para cada paquete software están disponibles en sus respectivas páginas web. Esta guía da por hecho que usted tiene conocimientos básicos de Linux console.

Recopilación de datos para formación

Red de formación (aumento opcional)

Evalúa el rendimiento

Convierta a formato gráfico Movidius

Implementación en cámara de inferencia, la Firefly DL

Aplique la inferencia en imágenes tomadas  

Fig. 1. Proceso de trabajo de inferencia de aprendizaje profundo y las herramientas asociadas para cada paso.

 

Guía detallada

Getting Started with Firefly Deep Learning on Linux provides an introduction on how to retrain a neural network and convert the resulting file into a firefly compatible format, and display the results using SpinView. Users are provided with step by step process on how to train and convert inference networks themselves, through terminal.

Artículos relacionados

Neural Networks Supported by the Firefly Deep Learning 

ofrece una introducción para el reentrenamiento de una red neural, la conversión del archivo de salida a un formato compatible con Firefly y la visualización de los resultados mediante SpinView. Los usuarios pueden acceder a un proceso paso a paso para entrenar y convertir redes de inferencia por su cuenta a través del terminal.

Tips on creating Training Data for Deep Learning Neural Networks repasa cómo crear una red neural de aprendizaje profundo eficiente mediante la generación de datos de formación de alta calidad para una determinada aplicación.

Troubleshooting neural network graph conversion issues ofrece consejos útiles para problemas que pueden ocurrir al convertir archivos de redes de inferencia a un formato compatible con Firefly y cómo resolverlos.