Open-source и свой сервер 4 мин чтения

Распознавание лиц на своём сервере: что умеет открытый SDK и где он вас подведёт

Открытый SDK распознавания лиц считает всё на вашем железе и не отправляет снимки в чужое облако. Разбираю, что он реально делает, почему отсутствие файла лицензии и модуля живости меняет картину, и что я проверяю, прежде чем ставить такое на объект.

компьютерное зрениеopen sourceбиометриябезопасность

Коротко (TL;DR)

  • Открытый SDK распознавания лиц считает всё локально: находит лицо, размечает точки, превращает лицо в вектор признаков и сравнивает два вектора. Снимки не уходят в чужое облако.
  • Две ловушки, которых не видно из описания. У самого популярного такого репозитория нет файла лицензии, а без лицензии права на коммерческое использование вам никто не передавал. И проверки живости в нём нет: систему обманет фотография с экрана телефона.
  • Локальная обработка не отменяет закон. Биометрия — особая категория персональных данных, и требования к ней не зависят от того, где физически стоит сервер.

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

Что на самом деле делает такой SDK

Полезно разделить четыре операции, которые в описаниях склеивают в одно слово «распознавание». Детекция — найти в кадре лицо и вернуть прямоугольник. Ключевые точки — разметить углы глаз, кончик носа, контур губ; по ним кадр выравнивают, иначе повёрнутое лицо сравнивать бессмысленно. Извлечение признаков — прогнать выровненное лицо через нейросеть и получить вектор чисел, тот самый «шаблон». Сравнение — посчитать близость двух векторов и решить, один это человек или разные.

Последний шаг и есть место, где принимается решение. В открытом SDK от Faceplugin порог сходства по умолчанию стоит на значении 75: выше — считаем, что человек тот же. Эту цифру придётся подбирать под свою задачу, и подбор смещает баланс между двумя ошибками. Опустите порог — начнёте пускать чужих. Поднимете — свой сотрудник будет по три раза переступать перед камерой в минус тридцать.

Работает это на обычном процессоре, видеокарта нужна там, где поток лиц идёт непрерывно. Модели лежат прямо в репозитории. Проект на Python, поддерживает Windows и Linux, набрал больше двух тысяч звёзд, правки приходили в сентябре 2026 года. Если нужен не разбор, а работающий контур на объекте, эту часть я закрываю под ключ — компьютерное зрение для бизнеса.

Первая ловушка: «open-source» без лицензии

Репозиторий называется Open Source Face Recognition SDK, в описании стоит «completely free and open-source», в README — «no licensing fees». Файла LICENSE в репозитории при этом нет. Программный интерфейс GitHub на запрос о лицензии возвращает пустое значение.

Это не придирка. Код без лицензии не переходит в общественное достояние: права остаются у автора, а вам не передаётся ничего, кроме права смотреть. Пока вы играетесь на ноутбуке, разницы нет. Как только SDK оказывается в контуре компании и обслуживает проходную, у вас появляется зависимость, на которую нет ни одного документа.

Вторая деталь того же порядка: внутри «полностью открытого» проекта лежат два скомпилированных бинарника — библиотека для Linux и DLL для Windows, — исходников которых в репозитории нет. Часть логики передана вам в закрытом виде. Вывод простой: до внедрения получите от вендора письменный ответ об условиях использования. Отказ отвечать — тоже ответ.

Вторая ловушка: система пропустит фотографию

Распознавание лиц покупают чаще всего ради контроля доступа: проходная, склад, серверная. И ровно для этого сценария в открытом SDK не хватает главного — проверки живости, она же анти-спуфинг: механизма, отличающего живого человека от распечатанной фотографии, экрана телефона или маски. В проекте её нет, Faceplugin вынес Face Liveness Detection в список своих коммерческих продуктов.

Что нужно на реальном объектеЕсть в открытом SDKЧем закрывается
Найти лицо в кадреДаШтатной детекцией
Сравнить с базой сотрудниковДаВекторы признаков и порог
Отличить человека от фото на телефонеНетОтдельный модуль живости, обычно платный
Право на коммерческое использованиеНе оформленоПисьменное соглашение с правообладателем
Основание на обработку биометрииНе относится к SDKСогласия, политика, регламент хранения

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

Локально — не значит законно

Самый частый разговор на этой теме звучит так: «Мы же ничего не отправляем наружу, значит, персональных данных нет». Это не так. Биометрические персональные данные — особая категория, и требования к ним не зависят от того, стоит сервер в вашей серверной или в чужом дата-центре. Согласие субъекта здесь нужно, и оно письменное.

Локальность решает другую задачу — сокращает поверхность утечки. Но обязанности получить основание, описать цель, ограничить срок хранения и защитить базу шаблонов остаются на вас целиком. Как устроена биометрия в российском правовом поле, я разбирал отдельно: биометрия и ЕБС для бизнеса и чем отличаются виды биометрии. Обратная задача — убрать лица из кадра, а не узнавать их — тоже решается локально: автоматическое обезличивание лиц на фото.

Что я проверяю, прежде чем ставить распознавание лиц на объект

Цель. Формулирую, какое решение принимает система: пустить, отметить приход или узнать гостя. От этого зависит, нужна ли живость и чего стоит ошибка.

Право использовать код. Смотрю файл лицензии, а не заголовок репозитория. Нет файла — иду за письменным разрешением или беру другой проект.

Что внутри. Проверяю, есть ли закрытые бинарники и откуда взяты веса моделей: у моделей бывает своя лицензия, отдельная от кода.

Порог и метрики. Подбираю порог на реальных снимках с этого объекта, при том свете, который там есть, и считаю обе ошибки: сколько чужих прошло и сколько своих не пустило.

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

Запасной путь. Камера запотела, свет пропал, человек в маске. Должен остаться способ пройти, иначе первым морозным утром систему отключат вручную и больше не включат.

Пункты со второго по пятый — то место, где чаще всего рвётся самостоятельное внедрение. Собрать контур и закрыть их можно и на открытом стеке: open-source под ключ.

Частые вопросы

Можно ли на этом сделать проходную для сотрудников?

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

Насколько точно работает распознавание?

Точность определяет не только модель, но и условия съёмки: угол, освещение, разрешение камеры, головной убор. Чужие цифры на ваш объект не переносятся. Единственный честный способ — собрать сотню-другую снимков с той самой камеры и померить обе ошибки на них.

Чем это отличается от готовой системы контроля доступа?

Готовая система продаётся вместе с ответственностью поставщика, живостью, интеграцией с турникетом и поддержкой. Открытый SDK даёт только математику, остальное вы собираете и обслуживаете сами. Дешевле по лицензиям, дороже по вашему времени — считать надо оба столбца.

Что делать, если сотрудник отзовёт согласие на биометрию?

Заранее спроектировать этот сценарий: шаблон удаляется, человек переводится на другой способ прохода. Если удаление в системе не предусмотрено, делать это придётся руками, а руками такое обычно не делают вовсе.

Коротко о главном

Открытый SDK закрывает ровно одну задачу — считать лица локально, не отдавая их наружу. Но название «open source» здесь опережает документы: файла лицензии нет, часть кода поставляется скомпилированной, проверка живости вынесена в платный продукт вендора. И ни одна строчка кода не снимает с вас обязанностей по обработке биометрии.

Что предлагаю конкретно. Опишите, что должна решать система — пускать, отмечать приход или узнавать гостя, — и на какой технике это будет стоять. Я скажу, хватит ли открытого стека под вашу задачу, где придётся доплатить и что оформить до первого включения камеры. Напишите в Telegram, MAX или VK.

Ещё open-source для бизнеса

Эта статья — часть каталога бесплатных решений, которые я разворачиваю на вашем сервере под ключ: CRM, аналитика, документы, почта, безопасность, магазины, AI.

Услуги по теме

Что я делаю для бизнеса

  • Боты в Telegram, MAX, VK
  • Автоматизация процессов и CRM
  • Аналитика и дашборды
  • Сайты и лендинги под ключ

Бесплатно: чек-лист «Готов ли ваш бизнес к 152-ФЗ»

12 пунктов, которые проверяют готовность за час: данные, согласия, уведомление в РКН, локализация, защита. Отметьте, что уже сделано, и увидите дыры, за которые сейчас штрафуют.

Готовы обсудить вашу задачу?

Бесплатная консультация — разберём, как внедрить это в вашем бизнесе под ключ. Без форм, пишите напрямую.

Пишу о разработке, ИИ и законах для бизнеса

Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.

Готовые решения под ключTurnkey solutionsSoluciones llave en mano交钥匙解决方案Түлхүүр гардуулах шийдэл 449 готовых IT-решений для бизнеса449 ready-made IT solutions for business449 soluciones IT listas para empresas449 个面向企业的现成 IT 解决方案Бизнест зориулсан 449 бэлэн IT шийдэл Автоматизация, боты, AI, 152-ФЗ и платформы · бесплатная консультацияAutomation, bots, AI, data privacy and platforms · free consultationAutomatización, bots, IA, privacidad de datos y plataformas · consulta gratis自动化、机器人、AI、数据合规与平台 · 免费咨询Автоматжуулалт, бот, AI, өгөгдлийн хамгаалалт ба платформ · үнэгүй зөвлөгөө Смотреть каталогView catalogVer catálogo查看目录Каталог үзэх