DeepDetect y LiveDetect para procesar secuencias de vídeo locales con deep learning

DeepDetect

DeepDetect es software libre desarrollado por JoliBrain, cuya misión es hacer que las más recientes innovaciones accesibles y utilizables de aprendizaje profundo (deep learning) sean accesibles asi mismo como permitir la integración de aplicaciones.

DeepDetect consiste en dos programas gratuitos: uno de ellos es un servidor escrito en C ++11 con una API REST, que permite el acceso a las bibliotecas subyacentes Caffe, Caffe2, Tensorflow, Dlib, NCNN, etc. La otra de ellas es una plataforma web para entrenar, organizar y usar sus modelos como pequeños fragmentos de código.

La detección automática de eventos a partir de señales de series de tiempo tiene aplicaciones amplias. Los métodos de detección tradicionales detectan eventos principalmente mediante el uso de similitud y correlación en los datos.

Esos métodos pueden ser ineficientes y producir una baja precisión. En los últimos años, las técnicas de aprendizaje automático han revolucionado muchas ciencias y dominios de ingeniería.

En particular, el rendimiento de la detección de objetos en datos de imagen 2-D ha mejorado significativamente debido a las redes neuronales profundas.

Sobre la plataforma DeepDetect

DeepDetect implementa el soporte para el aprendizaje profundo supervisado y no supervisado de imágenes, texto y otros datos, con un enfoque en la simplicidad y facilidad de uso, prueba y conexión a las aplicaciones existentes.

Admite clasificación, detección de objetos, segmentación, regresión, autoencodificadores y muchas mas.

Entre sus principales características se destacan

  • API de alto nivel para aprendizaje automático y aprendizaje profundo
  • soporte para Caffe, Tensorflow, XGBoost y T-SNE
  • Clasificación, regresión, autoencoders, detección de objetos, segmentación.
  • Formato de comunicación JSON
  • biblioteca de cliente de Python remota
  • Servidor dedicado con soporte para llamadas de entrenamiento asíncronas.
  • Altos rendimientos, se benefician de CPU multinúcleo y GPU
  • búsqueda de similitud incorporada a través de incrustaciones neuronales
  • Conector para manejar archivos CSV con capacidades de preprocesamiento
  • Conector para manejar archivos de texto, oraciones y modelos basados ​​en caracteres.
  • Conector para manejar el formato de archivo SVM para datos dispersos
  • sin dependencia y sincronización de la base de datos, toda la información y los parámetros del modelo organizados y disponibles desde el sistema de archivos
  • Formato de salida de plantilla flexible para simplificar la conexión a aplicaciones externas
  • Soporte para funciones y cálculos dispersos tanto en GPU como en CPU.

Sobre LiveDetect

LiveDetect es una herramienta diseñada para procesar fácilmente secuencias de vídeo locales con modelos de aprendizaje profundo. El código lee imágenes en vivo desde una cámara y procesa cada fotograma con DeepDetect .

Casos de uso en el mundo real de clientes de DeepDetect con LiveDetect:

  • Seguridad en obra y vigilancia de obra.
  • Matrícula de coches OCR en estacionamientos.
  • Detección de defectos en piezas de precisión fabricadas.

¿Como instalar DeepDetect en Raspberry pi?

DeepDetect, puede ser instalado en diferentes plataformas (tanto en servidores, como ordenadores, portátiles e incluso en una Raspberry Pi).

Desde la pagina oficial de DeepDetect podremos encontrar las instrucciones de instalación para cada plataforma soportada.

En este caso, instalaremos DeepDetect en nuestra Raspberry Pi, con un back-end NCNN y LiveDetect, una herramienta derivada del ecosistema DeepDetect para el procesamiento de secuencias de vídeo. Esto nos permite detectar objetos en tiempo real y visualizarlos.

Los modelos de Aprendizaje profundo pre-entrenados están disponibles para sistemas de escritorio e integrados como Raspberry Pi .

Para instalar el servidor DeepDetect en la Raspberry Pi, usaremos Docker por simplicidad y buen rendimiento.

Artículo relacionado:
¿Como instalar Docker en Raspberry pi con Raspbian?

Lo primero que vamos a hacer es crear una carpeta para DeepDetect Docker Container, esto lo hacemos abriendo una terminal y ejecutando en ella:

mkdir $HOME/models
docker pull jolibrain/deepdetect_ncnn_pi3
docker run -d -p 8080:8080 -v $HOME/models:/opt/models jolibrain/deepdetect_ncnn_pi3
sudo apt-get install libjpeg-dev

Ahora vamos a descargar LiveDetect e instalar:
wget https://github.com/jolibrain/livedetect/releases/download/1.0.1/livedetect-rpi3
./livedetect-rpi3 \
--port 8080 \
--host 127.0.0.1 \
--mllib ncnn \
--width 300 --height 300 \
--detection \
--create --repository /opt/models/voc/ \
--init "https://www.deepdetect.com/models/init/ncnn/squeezenet_ssd_voc_ncnn_300x300.tar.gz" \
--confidence 0.3 \
-v INFO \
-P "0.0.0.0:8888" \
--service voc \
--nclasses 21

El renderizado está disponible en http://localhost:8888 entre dos y tres cuadros de vídeo por segundo (FPS).

Si quieres implementar LiveDetect en tu ordenador de escritorio, puedes encontrar los comandos así como más información y los ejemplos con LiveDetect disponibles en GitHub.

El enlace es este.

Sé el primero en comentar

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.