Содержание статьи
ЧТО ЭТО ТАКОЕ
Примерно год назад специалисты из Массачусетского технологического института и Кембриджа опубликовали научную работу с описанием нового фильтра для обработки видео. Этот фильтр усиливает незначительные различия между кадрами, используя эйлерово увеличение (eulerian video magnification).
Как известно, кожа человека слегка меняет оттенок, когда кровеносные сосуды расширяются и сужаются, в соответствии с ударами сердца. Невооруженным взглядом эти отличия трудно заметить, но с помощью эйлерова увеличения разница проявляется отчетливо.
Авторы алгоритма опубликовали код Matlab, с помощью которого можно воспроизвести результат, описанный в научной работе. В онлайне открылся также демосайт videoscope.qrclab.com, куда можно загрузить свой видеоролик — и пропустить его через фильтр эйлерова увеличения.
Работа специалистов из Массачусетского технологического института вдохновила веб-разработчика Тристана Херна (Tristan Hearn) сделать такую же программу, но на Python, которая хорошо подходит для использования в вебе и может обрабатывать картинку с веб-камеры.
ЗАЧЕМ ЭТО НУЖНО
Информацию о частоте пульса пользователя можно использовать в разных приложениях, например в онлайновых играх, сервисах знакомств или программах биометрической аутентификации.
Представь, что, общаясь в чате, ты видишь частоту пульса девушки. Ясно, что с таким индикатором разговор становится гораздо искреннее. Это практически обязательная функция для сервисов знакомств.
В программах биометрической аутентификации пульс позволяет удостовериться, что перед камерой находится лицо живого человека, а не фотография. То есть злоумышленникам будет сложнее обмануть системы распознавания лиц, сканеры сетчатки глаза и отпечатков пальцев. Каждое из этих приложений может дополнительно проверять пульс.
Еще одним очевидным применением системы являются видеоняни, то есть система видеонаблюдения за младенцем. Родители постоянно отслеживают состояние ребенка на видео, а теперь могут видеть еще и его пульс. Система может включить сигнализацию в случае проблемы. Вероятно, автоматическое измерение пульса у всех людей на улице, в магазине или метро можно использовать в системах видеонаблюдения.
КАК ЭТО РАБОТАЕТ
Тристан Херн написал приложение webcam-pulse-detector. Оно использует открытую систему распознавания изображений OpenCV для определения лица в кадре. Затем программа определяет область лба. С этой области в течение некоторого времени собираются данные для вычисления пульса. Затем информация обрабатывается в фреймворке OpenMDAO. Автор программы определил, что лучше всего фильтр работает в зеленом канале.
Хакер #173. Уязвимости Ruby on Rails
При хорошем освещении и минимальном уровне шума, то есть если «пациент» находится в кадре неподвижно, стабильный пульс с помощью программы webcam-pulse-detector изолируется в течение 15 секунд.
Теоретически из собранного массива данных можно извлечь и другую физиологическую информацию, например волны Майера — быстрые колебания артериального давления и сердечного ритма.
После 15 секунд программа начинает работать в визуальном режиме, выводя на экран информацию о текущем сердечном ритме. При рендеринге эффектов программа синхронизирует видеоряд с расчетными значениями пульса.