Konsolen-Linux-Tool, um mithilfe von Webcam und Mikrofon zu überprüfen, ob sich jemand im Raum befindet oder nicht

Ich möchte aus der Ferne wissen, ob ein Zimmer frei ist oder nicht. Ich meine: Jemand ist im Raum oder nicht. Der Raum hat einen alten Linux-Server mit Webcam und Mikrofon.

Ich könnte einfach ein Video und Ton aufnehmen und sie aus der Ferne analysieren, aber:

  • Es würde meine Zeit und Bandbreite verschwenden.
  • Es wäre gruselig. Ich möchte nicht wissen , wer im Zimmer ist oder was sie tun: Ich möchte nur wissen, ob das Zimmer frei ist oder nicht .

Es könnte ein oder zwei Minuten lang laufen, auf signifikante Geräusche lauschen und auf signifikante Bewegungen achten. Oder besser, es könnte die ganze Zeit laufen, eine Vorstellung davon bekommen, was Hintergrundgeräusche/Bewegungen sind, und jede Minute eine binäre Jemand/Niemand-Information ausgeben. Die Ausgabe eines Diagramms des Aktivitätsniveaus wäre auch in Ordnung. Übrigens, wenn das Licht aus ist, kann ich zu 100% sicher sein, dass der Raum frei ist.

Das Tool muss befehlszeilenfähig und kostenlos sein.

Antworten (1)

Sie können dies mit OpenCV in einer von mehreren Sprachen tun, aber OpenCV 3 hat eine Demo in Python namens peopledetect.py, die wahrscheinlich ein sehr guter Ausgangspunkt wäre, es gibt auch viele Demos zum Erfassen von der Webcam. Sie könnten eine modifizierte Version dieser Demo einmal alle 5 Minuten ausführen lassen und eine Webseite mit einer prozentualen Wahrscheinlichkeit erstellen, dass der Raum unbesetzt ist.

Beachten Sie, dass die Python-People-Detect-Demo nur 71 Zeilen lang ist und die Python-Gesichtserkennung , die ebenfalls ein guter Ausgangspunkt sein könnte, nur 73 Zeilen lang ist - Sie sollten sie also leicht zu ändern finden.

Ich würde vorschlagen, dass, wenn der Raum das Licht ausschaltet, eine Wahrscheinlichkeit von 99% besteht, dass er unbesetzt ist - jemand könnte dort schlafen - wenn Leute erkennen, dass eine oder mehrere Personen erkannt werden , gibt es je nach Anzahl der Fehlalarme eine Wahrscheinlichkeit nahe 0, dass es leer ist.

OpenCV ist:

  • Kostenlos, gratis und Open Source
  • Plattformübergreifend Windows, OS-X, Linux, iOS und Android
  • Hat Bindungen für C++, C, Python 2 und Java
  • Die Python-Demos werden über die Befehlszeile ausgeführt, und Sie können die Ergebnisse in eine Datei oder an die Befehlszeile ausgeben
  • Ist gut dokumentiert und kommt mit vielen Demo-Dateien

Wenn Sie auch den Ton im Raum überprüfen müssen, gibt es auch ein Python-Paket namens pyAudio , mit dem es ziemlich einfach wäre, ein paar Sekunden Ton aufzunehmen, und es gibt viele Online-Beispiele für die Verarbeitung einer Audiodatei zur Spitzenerkennung wenn der leere Raum normalerweise sehr ruhig ist, oder Sie könnten die Frequenzanalyse verwenden, um den Erkennungsbereich der menschlichen Stimme zu überprüfen. Es gibt sogar ein Python - Spracherkennungspaket , das ein guter Ausgangspunkt sein könnte.

Wichtiger Hinweis

Wenn Sie so etwas einrichten, müssen Sie in den meisten Ländern ein deutliches Schild an der Tür und/oder im Raum anbringen, das darauf hinweist, dass der Raum auf Aktivitäten mit Video- und/oder Audioaufnahme überwacht wird.

Danke schön. 1) Die Webcam sieht nur einen kleinen Teil des Raums, daher ist die Kombination mit der Geräuscherkennung wichtig, macht OpenCV das? 2) Niemand schläft im Zimmer, wenn das passieren würde, wäre es ein akzeptables falsches Positiv.
@ user23632 - Einige Hinweise zur Geräuscherkennung hinzugefügt.