Как стать автором
Обновить

Использование face_recognition и OpenCV для автоматического распознавания лиц и отправки уведомлений в Telegram

Время на прочтение8 мин
Количество просмотров4K
Всего голосов 3: ↑3 и ↓0+3
Комментарии6

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

Помню эту оригинальную статью face_recognition, жаль что ссылки на нее нет в посте. Взяли пример из оригинальной статьи и даже не доработали. Из недостатков подхода - лицо есть файл без привязки кто. Добавить новое лицо без перезагрузки - невозможно. Чем больше база лиц - тем сильнее будет тупить. Каждый раз при запуске программы - считывается каталог фоток, считаются их расстояния, но тут даже об этом речи нет - входное изображение одно). Удачи.

  1. Для написания функционала изучал много статей на хабре, но не плагиатил и не копировал не одну. Поэтому не надо писать "Взяли пример из оригинальной статьи и даже не доработали " - это 100% не так.

  2. " ... лицо есть файл без привязки кто..." - есть привязка к одному лицу, для реализации мне достаточно было распознавать 1 лицо. Для реализации более сложного функционала использовал бы БД с лицами - в этом не было необходимости.

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

Не получится запускать людей, сразу присваивая им id в системе и узнавать при следующей встрече.

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

  1. global не должен использоваться так, как это делаете вы (хотя его использование в целом не особо приветствуется)

  2. Использование асинхронности для CPU/GPU-bound задач, которые как раз и являются явным боттлнеком функции в вашем случае - бесполезная идея

  3. os, datetime и asyncio - стандартные встроенные модули Python, а представлены как сторонние библиотеки

  4. Весьма ужасный стиль форматирования а-ля тяп-ляп и так сойдёт. Можно было перечитать хотя бы раз статью и убедиться самому?

  5. Использование магических чисел - определенно бэд практис

По итогу мы имеем статью в стиле туториалов ХаудиХо или Гоши Дударя, где базовые вещи представляются как что-то сверхкрутое, а стиль кода и используемые практики оставляют желать лучшего. Стоит отметить, что у них своя ниша - популяризация разработки среди совсем начинающих. А Хабр - всё-таки больше для людей попродвинутее, им не стоит популяризировать плохие практики, а стоит приучать к тому, как правильно

Нужно добавить модель детектора лица, его преобразование в вектор (внезапно, биометрия) с последующим сохранением в векторную БД (chroma db, например). Модель вынести в отдельный процесс, запросы в бд делать асинхронно, сам сервис написать на fastapi и будет нормальный курсач.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории