Herramienta Linux de consola para comprobar si hay alguien en la habitación o no, mediante cámara web y micrófono

Quiero saber de forma remota si una habitación está libre o no. Quiero decir: alguien está en la habitación o no. La sala tiene un antiguo servidor Linux con cámara web y micrófono.

Podría simplemente tomar un video y grabar sonido y analizarlos de forma remota, pero:

  • Perdería mi tiempo y mi ancho de banda.
  • Sería espeluznante. No quiero saber quién está en la habitación o qué está haciendo: solo quiero saber si la habitación está libre o no .

Podría funcionar durante uno o dos minutos, escuchando sonidos significativos y observando movimientos significativos. O mejor, podría funcionar todo el tiempo, teniendo una idea de qué es el ruido/movimiento de fondo, y generar una información binaria de alguien/nadie cada minuto. La salida de un gráfico del nivel de actividad también estaría bien. Por cierto, si la luz está apagada, entonces puedo estar 100% seguro de que la habitación está libre.

La herramienta debe ser de línea de comandos y gratuita.

Respuestas (1)

Puede hacer esto con OpenCV en uno de varios idiomas, pero OpenCV 3 tiene una demostración en python llamada peopledetect.py que probablemente sería un muy buen punto de partida, también hay muchas demostraciones de captura desde la cámara web. Podría ejecutar una versión modificada de esa demostración una vez cada 5 minutos y crear una página web con un porcentaje de probabilidad de que la sala esté desocupada.

Tenga en cuenta que la demostración de python People Detect tiene solo 71 líneas de largo y python Face Detect , que también podría ser un buen punto de partida, tiene solo 73 líneas, por lo que debería encontrarlas fáciles de modificar.

Sugeriría que si la habitación coincide con las luces apagadas, hay un 99% de posibilidades de que esté desocupada; alguien podría estar durmiendo allí ; si las personas detectan a una o más personas, entonces, dependiendo de la cantidad de falsos positivos , hay un cerca de 0 posibilidades de que esté vacío.

OpenCV es:

  • Gratis, gratis y de código abierto
  • Multiplataforma Windows, OS-X, Linux, iOS y Android
  • Tiene enlaces para C++, C, Python 2 y Java
  • Las demostraciones de python se ejecutan desde la línea de comandos y puede enviar los resultados a un archivo o a la línea de comandos
  • Está bien documentado y viene con muchos archivos de demostración.

Si también necesita verificar el sonido en la habitación, también hay un paquete de python llamado pyAudio con el que sería razonablemente simple grabar unos segundos de sonido y hay muchos ejemplos en línea para procesar un archivo de audio para la detección de picos. si la habitación vacía normalmente es muy silenciosa o podría usar el análisis de frecuencia para verificar el rango de detección de voz humana. Incluso hay un paquete de reconocimiento de voz de Python que podría ser un buen punto de partida.

Nota IMPORTANTE

Si implementa algo como esto, la mayoría de los países requerirán que tenga un letrero claro en la puerta y/o en la habitación que indique que la habitación está monitoreada por actividad con captura de video y/o audio.

Gracias. 1) La cámara web solo ve una pequeña parte de la habitación, por lo que es importante combinarla con la detección de sonido, ¿OpenCV hace eso? 2) Nadie duerme en la habitación, si eso sucediera sería un falso positivo aceptable.
@ user23632 - Se agregaron algunas notas de detección de sonido.