Face Recognition распознавание лиц на Python без головной боли

21 Aug, 2024

Репозиторий давно не обновлялся

Последнее обновление было 1 год назад.

56,515
🔱 13,698
👥 1,543

Представьте: вам нужно добавить в свой проект распознавание лиц. В голове сразу возникают сложные нейросети, месяцы обучения моделей и горы математики. А что если я скажу, что всё это можно сделать буквально в несколько строк кода?

Что это за проект?

face_recognition — это Python-библиотека, которая делает распознавание лиц настолько простым, что с ней справится даже новичок. Под капотом — мощь dlib и deep learning, но вам не нужно вникать в сложные детали.

Пример работы

Почему это круто?

  1. Точность 99.38% на стандартном наборе данных Labeled Faces in the Wild
  2. Простота использования — базовые операции в 2-3 строки кода
  3. Готовые инструменты для командной строки
  4. Реальное время — работает даже на Raspberry Pi

Основные возможности

1. Обнаружение лиц

Найти все лица на фото — проще некуда:

import face_recognition
image = face_recognition.load_image_file("photo.jpg")
face_locations = face_recognition.face_locations(image)

2. Анализ черт лица

Можно получить координаты глаз, носа, рта и других особенностей:

Реклама
face_landmarks = face_recognition.face_landmarks(image)
# face_landmarks[0]['left_eye'] — координаты левого глаза

На основе этого можно делать забавные вещи вроде цифрового макияжа:

Цифровой макияж

3. Распознавание личности

Сравниваем неизвестное лицо с базой известных людей:

known_image = face_recognition.load_image_file("obama.jpg")
unknown_image = face_recognition.load_image_file("unknown.jpg")

obama_encoding = face_recognition.face_encodings(known_image)[0]
unknown_encoding = face_recognition.face_encodings(unknown_image)[0]

results = face_recognition.compare_faces([obama_encoding], unknown_encoding)
# True если это Обама

Где это можно использовать?

  • Безопасность: система контроля доступа по лицу
  • Ретейл: идентификация VIP-клиентов
  • Медиа: автоматическая разметка фотоархивов
  • Развлечения: AR-фильтры и игры

Технические детали

Библиотека использует:

  • dlib для feature extraction
  • Глубокое обучение для распознавания
  • HOG-фильтры для обнаружения лиц

При этом работает даже на слабом железе — тестировали на Raspberry Pi!

Как начать?

Установка проста (для macOS/Linux):

pip3 install face_recognition

Для Windows есть инструкции от сообщества.

face_recognition — это:

✅ Идеально для быстрого прототипирования ✅ Подходит для production-решений ✅ Работает на разных платформах

Если вам нужно распознавание лиц без лишней сложности — этот инструмент точно стоит попробовать. 55 тысяч звезд на GitHub не врут!

P.S. Для тех, кому интересно как это работает внутри — автор написал отличную статью о принципах современного распознавания лиц.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.