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