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 |
299 |
|
Ordenador monoplaca |
UP Squared-Celeron-4GB-32GB-PACK |
239 |
Cable USB3 de 3 m |
10 |
|
Objetivo |
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.