Примерно год назад специалисты из Массачусетского технологического института и Кембриджа опубликовали научную работу с описанием нового фильтра для обработки видео. Этот фильтр усиливает незначительные различия между кадрами, используя эйлерово увеличение (Eulerian Video Magnification).
В результате, можно своими глазами наблюдать пульсацию крови по артериям под кожей (см. видео).
Авторы алгоритма опубликовали код Matlab, с помощью которого можно воспроизвести результат, описанный в научной работе. В онлайне открылся также демо-сайт http://videoscope.qrclab.com/, куда можно загрузить свой видеоролик — и пропустить его через фильтр эйлерова увеличения.
Работа специалистов из Массачусетского технологического института вдохновила одного из веб-разработчиков сделать такое же решение, но на Python, чтобы его можно было легко использовать в вебе. Например, для определения пульса человека по картинке с веб-камеры, которая передаётся через браузер. В общем, такое исключительно практичное решение. Так и появился проект Webcam Pulse Detector (код на Github). Свободное приложение использует открытую систему распознавания изображений OpenCV для определения лица в кадре, после чего обрабатывает данные во фреймворке OpenMDAO.
Информацию о частоте пульса пользователя можно использовать в разных приложениях, например, в онлайновых играх, сервисах знакомств или программах биометрической аутентификации.