Консольный инструмент Linux для проверки, находится ли кто-то в комнате или нет, с помощью веб-камеры и микрофона.

Я хочу удаленно узнать, свободна ли комната или нет. Я имею в виду: кто-то есть в комнате или нет. В комнате есть старый сервер Linux с веб-камерой и микрофоном.

Я мог бы просто снимать видео и записывать звук и анализировать их удаленно, но:

  • Это было бы пустой тратой моего времени и полосы пропускания.
  • Это было бы жутко. Я не хочу знать , кто находится в комнате или что они делают: я только хочу знать, свободна ли комната или нет .

Он мог работать минуту или две, прислушиваясь к значимым звукам и наблюдая за значительным движением. Или, что еще лучше, он мог бы работать все время, получая представление о том, что такое фоновый шум/движение, и каждую минуту выводить бинарную информацию «кто-то/никто». Вывод графика уровня активности тоже будет в порядке. Кстати, если свет выключен, то я могу быть уверен на 100%, что комната свободна.

Инструмент должен быть бесплатным и запускаться из командной строки.

Ответы (1)

Вы можете сделать это с помощью OpenCV на одном из нескольких языков, но в OpenCV 3 есть демонстрация на питоне под названием peopledetect.py, которая, вероятно, будет очень хорошей отправной точкой, также есть множество демонстраций захвата с веб-камеры. Вы можете запустить модифицированную версию этой демонстрации каждые 5 минут и создать веб-страницу с процентной вероятностью того, что комната свободна.

Обратите внимание, что демо-версия python People Detect состоит всего из 71 строки, а python Face Detect , который также может быть хорошей отправной точкой , состоит всего из 73 строк, поэтому вам должно быть легко изменить их.

Я бы предположил, что если свет в комнате совпадает с выключенным, то с вероятностью 99% в ней никого нет — кто-то может там спать — если люди обнаружат одного или нескольких человек, тогда, в зависимости от количества ложных срабатываний , будет около 0 шансов, что он пуст.

OpenCV это:

  • Бесплатно, бесплатно и с открытым исходным кодом
  • Кроссплатформенность Windows, OS-X, Linux, iOS и Android
  • Имеет привязки для C++, C, Python 2 и Java.
  • Демонстрации Python запускаются из командной строки, и вы можете вывести результаты в файл или в командную строку.
  • Хорошо документирован и поставляется с большим количеством демонстрационных файлов.

Если вам также нужно проверить звук в комнате, есть также пакет python под названием pyAudio, с помощью которого было бы достаточно просто записать несколько секунд звука, и есть множество онлайн-примеров обработки аудиофайла для обнаружения пиков. если в пустой комнате обычно очень тихо , или вы можете использовать частотный анализ, чтобы проверить диапазон обнаружения человеческого голоса. Существует даже пакет распознавания речи Python , который может стать хорошей отправной точкой.

Важная заметка

Если вы разместите что-то подобное, в большинстве стран потребуется, чтобы у вас на двери и/или в комнате была четкая табличка, указывающая, что в комнате ведется наблюдение за активностью с захватом видео и/или аудио.

Спасибо. 1) Веб-камера видит только небольшую часть комнаты, поэтому важно совмещение с обнаружением звука, делает ли это OpenCV? 2) Никто не спит в комнате, если бы это произошло, это было бы приемлемым ложным срабатыванием.
@user23632 user23632 - добавлены некоторые примечания по обнаружению звука.