Время прочтения: 3 мин.

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

Большая часть указанных инструментов распространяется в открытом доступе, благодаря чему нет необходимости тратить время на изучение и построение сложных алгоритмов для решения поставленных задач. Об одном из таких инструментов и пойдет речь сегодня.

Допустим, в ходе аудиторской проверки нам необходимо проверить несколько тысяч заявлений на предмет соответствия фото паспорта и фото, сделанных на веб-камеру.  После просмотра 100 документов такое занятие начнет изрядно утомлять, из-за чего мы можем совершать ошибки, особенно когда разность возраста на фотографиях превышает 10 лет. Тут нам как раз и помогут неутомляемые алгоритмы машинного обучения.

Встречайте – DLIB!

DLIB – это современный инструментарий, с алгоритмами машинного обучения, для решения задач по распознаванию и поиску характерных очертаний лиц на фото. Основная цель алгоритма – поиск дескрипторов: овал лица, расположение и форма губ, бровей и носа, совокупность которых уникальна для каждого человека, за исключением близнецов.

Для определения соответствия фотографий нам необходимо сделать следующие действия в интерактивной среде Jupyter Notebook:

  • импорт необходимых библиотек;
  • инициализировать предобученные модели и функцию по обнаружению лиц;
  • указать название папки, где располагаются фото паспорта и фото с веб-камеры, в данном примере это – «photos»
  • найти дескрипторы для каждой фотографии;
  • определить расстояние между дескрипторами двух фотографий;

Разработчики библиотеки DLIB утверждают, что если расстояние меньше 0.6, то на фотографиях изображен один и тот же человек.

Также можно посмотреть, как данный инструмент определил дескрипторы на фотографиях, для этого запустим следующие ячейки:

и

На экране появится фотография с изображением контуров лица:

Таким образом, изменив название папки и запустив 5 ячеек кода в Jupyter Notebook, можно определить принадлежность фотографий к одному человеку. Несмотря на низкое качество фотографии паспорта, DLIB справилась с поставленной задачей, а мы убедились, что это действительно — Жерар наш, Депардье.