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.

Docker
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.