система проверки

#java #.net #authentication #login #opencv

#java #.net #аутентификация #opencv

Вопрос:

Я разрабатываю приложение facelogin. Я мог бы определить, кто этот человек, с точностью 80%. Мне нужно различать

  1. Человек, стоящий перед камерой и
  2. Плакат с изображением того же человека, который находился перед камерой.

Возможно ли это?

Я выполнил вход в систему с помощью opencv

Приветствуется помощь с любого языка программирования.
Спасибо

Комментарии:

1. Я очень сомневаюсь, что это возможно, но мне были бы интересны любые ответы

2. Ну, я думаю, вы могли бы каким-то образом прошить пользователя (изменить количество света, излучаемого в глаза пользователя) и проверить реакцию зрачков пользователя. 🙂

3. Требуйте, чтобы пользователь оставался неподвижным, проанализируйте его лицо для авторизации, затем попросите его повернуть голову влево, а затем вправо и провести отдельный анализ каждой стороны головы. Поскольку они не могут сделать это с помощью плоского плаката, это должно остановить любую фальсификацию. В случае, если у них есть доступ к изображению всех 3 сторон человека (спереди, слева, справа), просто определите, сильно ли изменилось изображение между каждым представлением (т. Е. Они удалили плакат и повесили другой? Если это так, отклоните их вход в систему)

4. как сказал м.Эдмондсон, прямо сейчас это практически невозможно, поскольку камера не имеет глубины (например, это 2D-представление 3D-мира). Вы можете попробовать использовать 2 или более камер, как это делается при создании 3D-фильмов, но технология вам не поможет…

5. @Tom Glenn что помешало бы им показывать 3 разные картинки?

Ответ №1:

Сделайте несколько снимков в короткой последовательности. Выражение лица на фотографии не меняется, лицо на фотографии не моргает веками, а экстраполяция относительной глубины элементов лица посредством незначительных изменений угла между снимками дает отличный результат для фотографий.

Если вы можете использовать 2 камеры, вычислите преобразование между снимками, сделанными обеими камерами одновременно. Это преобразование должно отличаться для плоских поверхностей и граней (даже если вы, возможно, не сможете экстраполировать фактическую трехмерную структуру).

Комментарии:

1. Это наносит ущерб людям, находящимся в коме и «испытанным жизнью», ожидайте услышать от юристов первого и медиумов второго. 😉

Ответ №2:

Любой подобный метод можно обмануть несколькими видеозаписями, показывающими одного и того же человека в разных позах. Например, вы можете попросить человека повернуться, и это может быть записано и передано в вашу программу. Таким же образом вы можете решить, например, выделить лицо человека внешними источниками света, но это также может быть записано и воспроизведено.

Мой совет — выполните несколько серий аутентификационных движений (например, кивок, покачивание головой, закрытие глаз и т.д.) — чем больше, тем лучше, затем попросите пользователя выполнить одно или несколько из них в некотором случайном порядке довольно быстро. Вы также можете регистрировать и подсчитывать неудачные попытки аутентификации. Затем вы будете уведомлены, когда кто-то несколько раз нарушал порядок записей.

Комментарии:

1. Это все еще можно обмануть с помощью предварительно записанных видеозаписей пользователя и какого-нибудь умного программного обеспечения, которое определяет, что страница просит пользователя сделать (простая очистка экрана?), и автоматически воспроизводит правильные видеозаписи. Дело в том, что невозможно полностью обезопасить систему, которая полагается на простую веб-камеру и некоторую обработку 2D-изображений.