В Гонконге протестующие уничтожают уличные камеры, чтобы избежать распознавания лиц. Неужели эта технология уже настолько эффективна, что с ней нужно бороться? Я купил камеру с датчиком глубины, чтобы попробовать самостоятельно реализовать алгоритм сравнения лиц. Вот что у меня получилось.
Существует несколько вариантов аутентификации с помощью биометрии, и каждый из них имеет свои недостатки.
Я выбрал недорогую, но при этом функциональную камеру Intel RealSense SR305, которая может снимать и цветное изображение, и глубинное изображение в разрешении 640 на 480 пикселей с частотой до 60 кадров в секунду.
Чтобы получать трехмерное изображение, камера использует маленький инфракрасный излучатель, который проецирует равномерные линии на предметы перед ней. По искривлению этих линий камера понимает, насколько далеко или близко находятся эти объекты.
Рабочее расстояние камеры небольшое: излучатель расположен так, что объекты, которые находятся ближе двадцати сантиметров, не будут освещены и, соответственно, не будут просканированы. Слишком далеко расположенные предметы — дальше двух метров — тоже окажутся не видны, поскольку мощность лазера не позволит спроецировать на них инфракрасную сетку.
В комплекте с камерой идет провод USB и инструкция со ссылкой на официальный SDK в репозитории на GitHub.
В первую очередь нужно установить программное обеспечение, чтобы камера заработала. Пользователи Windows могут просто скачать и установить программу. Если же у тебя Linux, но не Ubuntu 16 или 18, то придется собирать проект самостоятельно.
Для начала скачаем исходный код и подготовим площадку для сборки.
$ git clone https://github.com/IntelRealSense/librealsense.git $ cd librealsense $ mkdir build && cd build
Теперь можно собрать проект, чтобы посмотреть, как работает камера.
$ cmake .. -DBUILD_EXAMPLES=true -DBUILD_WITH_OPENMP=false -DHWM_OVER_XU=false $ make -j4 $ make install
Если ты пользователь macOS, для запуска графических программ тебе придется использовать Xcode и соответствующий флаг при конфигурации. Так ты сможешь сгенерировать проект Xcode, чтобы запустить каждую утилиту по отдельности.
$ cmake .. -DBUILD_EXAMPLES=true -DBUILD_WITH_OPENMP=false -DHWM_OVER_XU=false -G Xcode $ open librealsense2.xcodeproj
Откроется окно Xcode. Выбери необходимую программу, собери проект комбинацией клавиш Command + B и нажми кнопку Build and run.
Для пробного запуска нам понадобится утилита RealSense Viewer, которая показывает на экране, что видит камера.
На GitHub ты можешь найти подробную инструкцию по сборке для Linux и для macOS.
Мы попробуем написать свою программу для идентификации по трехмерному изображению лица. И для начала нам нужно подключить библиотеку RealSense, например к Python 3. Пользователям Windows и некоторых дистрибутивов Linux не придется напрягаться — можно взять официальный пакет pyrealsense2
в PyPI.
$ pip install pyrealsense2
Остальных же ждет еще одно приключение: необходимо пересобрать весь проект, добавив во флаги враппер для Python.
$ cmake .. -DBUILD_EXAMPLES=true -DBUILD_WITH_OPENMP=false -DHWM_OVER_XU=false -DPYTHON_EXECUTABLE=/usr/bin/python3 -DBUILD_PYTHON_BINDINGS:bool=true $ make -j4
В папке wrappers/python/
появятся два файла и четыре символические ссылки. Чтобы использовать эти файлы как библиотеку для Python, их необходимо скопировать в папку, из которой ты будешь запускать скрипты.
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее
1 год7690 р. |
1 месяц720 р. |
Читайте также
Последние новости