С Facebox (используя простой HTTP API) вы можете выполнять обнаружение и распознавание лиц на ваших собственных данных. Например, вы можете транслировать веб-камеру в Facebox, чтобы распознавать людей вживую или обрабатывать видео или файлы неподвижных изображений в большом масштабе.

Facebox можно научить распознавать любое количество людей. Для этого вы должны вызвать /facebox/teach с _2 _, _ 3_ и изображением с одним лицом внутри. Вам нужно только одно фото на человека. После того, как вы научите Facebox людям, которых хотите, чтобы он узнал, вы можете начать распознавать лица, вызвав /facebox/check конечную точку.

Попробуйте за 5 минут, скачав Facebox и научив его распознавать Beatles

Сохранение и восстановление состояния для одного ящика

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

Даже если все данные находятся в памяти, обучение около 5000 лиц займет всего 10 МБ ОЗУ.

Чтобы сохранить все обучение, вы можете создать файл состояния:

Затем вы можете использовать тот же файл состояния для восстановления обучения экземпляру Facebox:

Совет: Tagbox работает точно так же.

Использование нескольких экземпляров Facebox

Учитывая, что мы не ограничиваем использование Facebox, вы можете иметь столько экземпляров Facebox, сколько захотите. Но как мне поделиться состоянием между несколькими экземплярами?

Чтобы иметь возможность поделиться состоянием, вы можете поместить файл состояния на веб-сервер и получить к нему доступ по URL-адресу. Например, предположим, что мы учим Facebox распознавать определенных знаменитостей на одной машине, а теперь мы хотели бы поделиться моделью распознавания знаменитостей с несколькими машинами, чтобы мы могли масштабироваться по горизонтали.

Единственное, что нам нужно сделать, это использовать переменную среды MB_FACEBOX_STATE_URL и указать этой переменной URL-адрес, по которому находится файл состояния.

Когда Facebox запустится, он загрузит файл с URL-адреса и загрузит его в окно.

Что, если мне нужно добавить больше лиц?

Если вам нужно добавить больше лиц, вы можете просто провести обучение как обычно и снова сохранить состояние. Получив новый файл состояния, вы можете загрузить его по тому же URL-адресу. Если вы установите переменную средыMB_FACEBOX_STATE_POLL_SECONDS, Facebox будет опрашивать URL-адрес в поисках изменений в http-заголовках ETag или Last-Modified, а если есть более свежий файл, Facebox загрузит файл и обновит состояние. Перезагрузка не требуется.

Есть ли другой способ синхронизировать и сохранить состояние обучения?

Для PRO-клиентов мы включили простой способ сохранить и синхронизировать состояние обучения с несколькими экземплярами Facebox с помощью сервера Redis. После настройки некоторых переменных среды вы сможете прозрачно использовать одно и то же состояние с несколькими экземплярами, просто настроив сервер Redis.

Оставайтесь на связи, для вопросов и отзывов

Мы всегда создаем новые блоки и функции и обычно берем наш список приоритетов на основе отзывов разработчиков, так что принимайте участие.