Распознавание и сравнение с образцом лиц в видеопотоке
Распознавание и сравнение с образцом лиц в видеопотоке
Привет!
Я разработал программу, которая с помощью нейронных сетей способна узнавать людей в видеопотоке, сравнивать с образцом и подсчитывать уникальных людей.
Примерно понять, как это работает можно из видео где сканируется программа новостей. https://www.youtube.com/watch?v=H5PUbPhdnVM" onclick="window.open(this.href);return false;
Эта программа работает с IP камерами по протоколу rtsp, может отсканировать видео-файл с диска, или взять сигнал с встроенной/USB камеры компьютера. Для этого в адресе видео достаточно написать цифру 0.
Фото образцов нужно положить в каталог faces. После работы программы все лица, которые были обнаружены в видео будут сложены в каталог log. Программа запоминает лица, так что, если лицо появилось в начале видео, а потом через несколько минут, их имена файлов будут похожи. Частоту появления повторов можно регулировать в секундах, по умолчанию, запомненное лицо регистрируется через 20 секунд. Для наглядности и тестов лучше указать 1 секунду.
Для работы программы требуется недорогой ноутбук с процессором Corei5 и видеокартой NVidia серии 700 и выше (используется Cuda), Windows 8.1 или Windows 10.
Скачать программу можно по адресу https://www.dropbox.com/s/jqynutcbztllc ... r.rar?dl=0" onclick="window.open(this.href);return false; или с помощью торрента http://www.aperso.com/arvider.rar.torrent" onclick="window.open(this.href);return false;. Файл большой так как внутри натренированная сеть и компоненты OpenCV.
Скоро появится функция уведомлений о появлении нежелательной персоны - будет высылаться сообщение на почту если этот человек появился в поле зрения камеры. Пока такие лица выделяются красным в списке обнаруженных лиц, а в каталоге log такие файлы имеют префикс attention_NN_имя_файла_образца_...jpg. где NN это «уверенность» в похожести, чем выше тем лучше. Обычно все что выше 55 это наверняка одно и тоже лицо.
Программисты на C# в архиве найдут пример того как с помощью компонента можно создать приложение, реагирующее на появление лица в кадре похожее на образец.
Буду рад любым отзывам и пожеланиям, присоединяйтесь к группе @arvider в Telegramm.
Я разработал программу, которая с помощью нейронных сетей способна узнавать людей в видеопотоке, сравнивать с образцом и подсчитывать уникальных людей.
Примерно понять, как это работает можно из видео где сканируется программа новостей. https://www.youtube.com/watch?v=H5PUbPhdnVM" onclick="window.open(this.href);return false;
Эта программа работает с IP камерами по протоколу rtsp, может отсканировать видео-файл с диска, или взять сигнал с встроенной/USB камеры компьютера. Для этого в адресе видео достаточно написать цифру 0.
Фото образцов нужно положить в каталог faces. После работы программы все лица, которые были обнаружены в видео будут сложены в каталог log. Программа запоминает лица, так что, если лицо появилось в начале видео, а потом через несколько минут, их имена файлов будут похожи. Частоту появления повторов можно регулировать в секундах, по умолчанию, запомненное лицо регистрируется через 20 секунд. Для наглядности и тестов лучше указать 1 секунду.
Для работы программы требуется недорогой ноутбук с процессором Corei5 и видеокартой NVidia серии 700 и выше (используется Cuda), Windows 8.1 или Windows 10.
Скачать программу можно по адресу https://www.dropbox.com/s/jqynutcbztllc ... r.rar?dl=0" onclick="window.open(this.href);return false; или с помощью торрента http://www.aperso.com/arvider.rar.torrent" onclick="window.open(this.href);return false;. Файл большой так как внутри натренированная сеть и компоненты OpenCV.
Скоро появится функция уведомлений о появлении нежелательной персоны - будет высылаться сообщение на почту если этот человек появился в поле зрения камеры. Пока такие лица выделяются красным в списке обнаруженных лиц, а в каталоге log такие файлы имеют префикс attention_NN_имя_файла_образца_...jpg. где NN это «уверенность» в похожести, чем выше тем лучше. Обычно все что выше 55 это наверняка одно и тоже лицо.
Программисты на C# в архиве найдут пример того как с помощью компонента можно создать приложение, реагирующее на появление лица в кадре похожее на образец.
Буду рад любым отзывам и пожеланиям, присоединяйтесь к группе @arvider в Telegramm.
- kROOT
- Специалист
- Сообщения: 13816
- Зарегистрирован: 02 сен 2013, 14:25
- Откуда: youcam.pro
- Контактная информация:
Re: Распознавание и сравнение с образцом лиц в видеопотоке
Так сколько это стоит? ))
Re: Распознавание и сравнение с образцом лиц в видеопотоке
Пока покупателей, нет, даже и не знаю что вам ответить. Недорого.kROOT писал(а):Так сколько это стоит? ))
- kROOT
- Специалист
- Сообщения: 13816
- Зарегистрирован: 02 сен 2013, 14:25
- Откуда: youcam.pro
- Контактная информация:
Re: Распознавание и сравнение с образцом лиц в видеопотоке
Пока нет возможности протестировать.
Вот например, поток с разрешением 2 мп, 6 мбит на сколько загрузит систему? Сколько потоков одновременно может обработать 1 комп? Увеличение числа видеокарт скажется на производительности?
Есть системы для майнинга биткойнов, там аналогично используются мощности GPU для увеличения производительности. Не думали интегрировать это дело?
Вот например, поток с разрешением 2 мп, 6 мбит на сколько загрузит систему? Сколько потоков одновременно может обработать 1 комп? Увеличение числа видеокарт скажется на производительности?
Есть системы для майнинга биткойнов, там аналогично используются мощности GPU для увеличения производительности. Не думали интегрировать это дело?
Re: Распознавание и сравнение с образцом лиц в видеопотоке
Проц будет грузиться на 60-80% на Corei5 - это связано с тем что детектор лиц работает на процессоре, пока его перевести на GPU нет возможности. Можно запустить и пару программ. Поток лучше снизить до 4mbs, 15 кадров в секунду. Full HD нет необходимости гонять, так как лицо должно как минимум 10% кадра занимать - 1280x720 вполне показывает хорошие результаты.
На видеокарту нагрузка не столь велика, вычисление дескрипторов на GTX980 дает производительность где то 210 лиц в секунду, этого достаточно чтобы 5 программ были запущены одновременно.
На видеокарту нагрузка не столь велика, вычисление дескрипторов на GTX980 дает производительность где то 210 лиц в секунду, этого достаточно чтобы 5 программ были запущены одновременно.
- kROOT
- Специалист
- Сообщения: 13816
- Зарегистрирован: 02 сен 2013, 14:25
- Откуда: youcam.pro
- Контактная информация:
Re: Распознавание и сравнение с образцом лиц в видеопотоке
чем вызвано ограничение в 10% от изображения? почему не в пикселях?
на демовидео 11:05, 11:35 лицо чуть под углом и уже не детектит, это не очень хорошо.
Вот такая программа для функции долгого хранения лиц проходящих, вещь интересная, но для функций идентификации СКУД ИИ не дотягивает пока.
на демовидео 11:05, 11:35 лицо чуть под углом и уже не детектит, это не очень хорошо.
Вот такая программа для функции долгого хранения лиц проходящих, вещь интересная, но для функций идентификации СКУД ИИ не дотягивает пока.
-
- Специалист
- Сообщения: 3407
- Зарегистрирован: 16 окт 2012, 09:24
- Откуда: Рязань
Re: Распознавание и сравнение с образцом лиц в видеопотоке
так 10% или определенное количество пикселей?arvider писал(а):Full HD нет необходимости гонять, так как лицо должно как минимум 10% кадра занимать - 1280x720 вполне показывает хорошие результаты.
Re: Распознавание и сравнение с образцом лиц в видеопотоке
Для Full HD кадра это будет кусок изображения размером 84 на 84 пикселя. Если 720p - то 56x56
Re: Распознавание и сравнение с образцом лиц в видеопотоке
Это регулируется чувствительностью фронтального детектора. Ассандж там да, наклонял голову как и Обама, может их учат это делать, не знаю. В той версии которую я выложил на дропбокс порог детектора снижен, и он ловится на ура.kROOT писал(а):чем вызвано ограничение в 10% от изображения? почему не в пикселях?
на демовидео 11:05, 11:35 лицо чуть под углом и уже не детектит, это не очень хорошо.
Вот такая программа для функции долгого хранения лиц проходящих, вещь интересная, но для функций идентификации СКУД ИИ не дотягивает пока.
Re: Распознавание и сравнение с образцом лиц в видеопотоке
Снижение порога детектора означает возрастание числа появлений "ложных тревог"...