Detección de objetos: DEEPSTACK en Home Assistant
En el artículo de hoy vamos a ver DEEPSTACK. Otro sistema sobre detección de objetos alternativa a DOODS, que vimos en el artículo anterior.
Toda la documentación sobre DEEPSTACK la podéis encontrar en el repositorio del desarrollador pulsando aquí. Recomiendo leerla ya que se trata de un sistema de detección de objetos muy potente que os puede resultar de gran utilidad. Además de este sistema, también podeis consultar la detección de caras del mismo creador en este repositorio.
El vídeo sobre Deepstack lo podéis ver justo debajo o visitar mi canal y si os gusta aprovechad para suscribiros. Si os gusta el video, por favor dadle al Like.
Deesptack necesita unos requerimientos especiales por lo que este proyecto no se puede instalar en una Raspberry. Necesitaríamos una máquina con al menos 8 GB de Ram, un NVIDIA Jetson o a través de una máquina virtual (en nuestro Windows, por ejemplo).
Instalación y configuración
Para realizar la instalación lo vamos a hacer de la misma forma que hicimos al instalar Doods, es decir, a través de la terminal SSH con el add on SSH & WEB Terminal. Una vez en la terminal lanzaremos el siguiente comando:
docker run -e VISION-DETECTION=True -p 83:5000 deepquestai/deepstack
Podéis elegir el puerto que queráis. Para el ejemplo y he utilizado el 83 pero esto es a vuestra elección.
La instalación no llevará más de 3 minutos. Una vez instalado nos vamos a ir a HACS y vamos a buscar deepstack object custom integration en los repositorios. Pulsaremos sobre Instalar y reiniciamos el sistema.
Una vez reiniciado tendremos que añadir lo siguiente en el configuratión.yaml:
image_processing:
- platform: deepstack_object
ip_address: IP_DEL_CONTENEDOR_DEEPSTACK
port: 83
timeout: 10
# api_key: mysecretkey
# custom_model: mask
# confidence: 80
save_file_folder: /config/www/deepstack
save_timestamped_file: True
always_save_latest_file: True
show_boxes: True
targets:
- target: person
confidence: 70
- target: chair
confidence: 60
- target: cell phone
confidence: 40
source:
- entity_id: camera.NOMBRE_DE_VUESTRA_CAMARA
Además, del mismo modo que hemos realizado en en paso anterior en la terminal SSH, tendremos que lanzar el siguiente comando para que deepstack se ejecute siempre que iniciamos el sistema:
docker update --restart unless-stopped container_name_or_id
Para saber el ID del contenedor y un breve resumen del contenido de código del configuration.yaml, podéis ver el artículo sobre Doods, en el cual expliqué esta cosas.
Una vez realizados los pasos anteriores nos queda reiniciar Home Assistant nuevamente.
Para comprobar que la instalación e integración en Home Assistant ha sido satisfactoria, abrid una pestaña en nuestro navegador y escribís la IP de vuestro sistema seguido del puerto que habéis utilizado en deesptack. El formato sería el siguiente: http://192.168.1.xxx:83.
Captura de imágenes y comprobación del sistema
- Para realizar una prueba y comprobar que nuestro sistema Deepstack funciona correctamente, nos vamos a ir a Herramientas para Desarrolladores. Elegiremos la pestaña SERVICIOS. En el desplegable servicios, seleccionamos image_procesing.scam. Pulsamos sobre seleccionar entidad y elegimos deepstack_objec_NOMBRE_DE_VUESTRA_CAMARA.
- Abrimos otra pestaña en nuestro navegador y nuevamente nos vamos a Herramientas para Desarrolladores. Esta vez elegimos la pestaña ESTADOS y filtramos en las entidades para que solo nos aparezca image_procesing.deepstack_object_NOMBRE_DE_VUESTRA_CAMARA.
Si pulsamos sobre llamar servicio en el primer punto, nos tienen que aparecer todos los atributos y objetos que nuestra cámara está detectando. Además, Y ESTO ES MUY IMPORTANTE, en la foto capturada y guardada en el directorio que anteriormente hemos elegido, nos aparecerá un recuadro sobre el objeto que hemos definido en los Targets del ejemplo anterior, en nuestro caso person, chair o cell phone.
Automatizaciónes
Las automatizaciones pueden ser infinitas y a gusto de cada persona por eso no pongo ningún ejemplo en este artículo. Podrían ser similares a las que puse como ejemplo en Doods. Recordad que siempre tiene que haber un disparador para que se produzca la acción, por ejemplo, la detección de movimiento a través de un sensor.
Y esto ha sido todo en el artículo de hoy. Espero que os haya sido de utilidad.
Nos vemos en el siguiente artículo, no vemos en Tecnosanvaras.
Un saludo a todos …