Реализация высокотехнологичных проектов неизменно начинается с выстраивания многоуровневого плана, который должен включать в себя и совокупную стоимость владения (Total cost of ownership или просто TCO) ПО и соответствующей инфраструктуры. Проблема для многих интеграторов и конечных пользователей заключается в том, что когда дело касается аппаратно-программных комплексов с участием разных поставщиков, существует множество скрытых расходов, которые могут быть упущены из виду на ранних этапах планирования.


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


Стоимость лицензии — не TCO


Некоторые полагают, что достаточно выбрать ПО для распознавания того поставщика, который предложит наименьшую цену владения лицензией. Однако, такой подход ошибочен и может обойтись в разы дороже решения с более высокой стоимостью лицензии. Непредвиденные расходы могут начинаться с технической поддержки, не включенной в стоимость лицензии, и заканчиваться серьезными ограничениями системы на основе такого ПО при попытке что-то изменить, добавить или убрать.
Важно понимать, что от выбора решения зависит успешность проекта, и любая неучтенная деталь может привести к краху. Поэтому необходимо выбрать гибкое и стабильно работающее ПО, которое изначально спроектировано с учетом всего комплекса выполняемых задач и возможных изменений в будущем.


Всегда помните о «железе»


Помимо лицензии на использование ПО, любая система распознавания подразумевает и аппаратную часть, которая включает в себя камеры, километры кабелей, коммутаторы, серверы для обработки видео и хранилища данных. Зачастую именно «железо» является основной статьей как капитальных, так и операционных расходов. Так, в крупном проекте, на огромной территории, главной статьей расходов вообще может выступить качественный кабель, а не серверы или камеры. В то же время, при расчете стоимости проекта, не стоит сбрасывать со счетов и значимость ПО, так как выбор поставщика программного решения напрямую влияет на затраты для обеспечения требуемой вычислительной мощности.


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

Важно учитывать, как ПО использует выделенные ресурсы. Например, для обработки видеопотоков может использоваться как CPU , так и GPU . Внедрение решения с использованием только CPU может показаться проще (как более распространенное, опыт работы с ним есть у многих) и дешевле (так как минимальная стоимость подобного оборудования ниже). Однако, при достижении определенного количества обрабатываемых потоков, данное решение становится все более и более затратным.

Например, если речь идет о работе с одной или двумя камерами, то с такой задачей легко справится даже компактный NUC с intel core i5, однако для обработки 20 камер, вам уже понадобится сервер с 24 ядрами CPU, и дальше требования будут только расти.


Если же мы говорим о решении, основанном на GPU, то стоимость «входа» в такое решение значительно выше, но и производительность подобных решений выше. К примеру, для тех же 20 видеокамер, которыми можно закрыть распознавание лиц в небольшом торговом центре, уже будет достаточно всего одной «пользовательской» видеокарты уровня RTX 2080Ti и CPU на 4 ядра, и самое главное, далее стоимость будет только снижаться.


Когда мы говорим о больших решениях на сотни видеопотоков, то разница будет уже очень существенная. Для примера, сравним решения на 100 видеокамер в режиме ТЦ между GPU и CPU в формате контроля потока и работы с черными списками. Когда мы распознаем лицо, трек которого еще не завершился, это подразумевает работу в режиме «реального времени». Такой сценарий является наиболее тяжелым для системы, так как предъявляет высокие требования к скорости работы и держит постоянную нагрузку. В подобных сценариях система может производить 1 000 000 распознаваний в сутки, а количество одновременно распознаваемых лиц достигает 300.


Чтобы обеспечить достойную скорость реакции, нам бы понадобилось около 200 процессорных ядер, с частотой не менее 2,8 Ггц. Типовой сервер с двумя Intel Xeon — это лишь 40 ядер (потоки не учитываются). Так мы получаем достаточно сложную систему из 5 серверов, высотой около 5 юнитов, с соответствующим тепловыделением и энергопотреблением, и ценой около 5 млн рублей (с учетом всех комплектующих).


Для этого же сценария, при использовании GPU мы получаем 1 сервер в 4U, в котором будут установлены 8 GPU Tesla T4, и недорогой CPU на 8 ядер для обслуживания запросов. Такое решение будет стоить от 3 млн рублей, что значительно дешевле и по цене и по обслуживанию, и в энергопотреблении.
Очевидно, что решение, спроектированное под работу на CPU, обойдется дороже, так как плотность процессоров на сервер значительно ниже, чем у видеокарт. Конфигурация, основанная на графических процессорах, делает систему более компактной, гибкой и эффективной. Именно поэтому решение FindFace Multi разработано с возможностью работать на GPU, что позволяет обрабатывать большее количество видеопотоков при меньших затратах.


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


Команда разработки NtechLab создает программные продукты, которые могут работать на широком спектре оборудования. Нет привязки ни к производителю серверного оборудования, ни к специализированным камерам для распознавания лиц. Главное, чтобы аппаратные характеристики были достаточны для запуска ПО, а камеры были установлены с учетом требований к распознаванию лиц. Благодаря алгоритмам, способным эффективно детектировать лица людей, для захвата лица достаточно всего 30 пикселей.


Выбирайте предсказуемо масштабируемое ПО


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


С ростом нужд бизнеса неминуемо и масштабирование системы распознавания, что ставит некоторых заказчиков в ситуацию, когда требуется «апгрейд». И тут многое зависит от конкретного поставщика ПО, так как стоимость может быть нелинейной. Многие производители систем распознавания лиц имеют программные ограничения на масштабирование, например, когда один сервер не может обслуживать более определенного количества видеопотоков или общее количество серверов детекции для системы ограничено. Это приводит к сильному усложнению конечной архитектуры решения и стоимости ее установки, эксплуатации и поддержки. Наша практика показывает, что неоптимизированное ПО для распознавания при расширении может обойтись в 2−3 раза дороже, чем решение с продуманной архитектурой и высокой степенью оптимизации.

Для систем распознавания также существует дополнительный нюанс в виде скорости поиска изображений и сравнения их с изображениями из базы данных, размер которой может варьироваться от десятков тысяч до миллиарда лиц. При увеличении количества данных, у неоптимизированных решений скорость поиска снижается, в то время как у специализированного ПО она остается неизменно высокой. Так, например, решение FindFace Multi способно выполнять поиск изображений за 0,025 сек по 100 000 записей, а линейное горизонтальное масштабирование (шардирование) обеспечивает расширение до любых объемов без потери производительности.


Учитывайте архитектурные особенности будущей системы


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


Передача видеопотоков с камер на сервер обработки требует высокой скорости, поэтому на больших расстояниях стоит такое удовольствие недешево. Будет ли целесообразно обеспечивать систему из 30 камер, каждая из которых требует пропускную способность не менее 4 Мбит/с для камеры с разрешением HD и 8 Мбит/с для FullHD, а совокупно более 120 Мбит/с и 240 Мбит/с? Обычно эти расходы не учитываются, что в дальнейшем может значительно увеличить TCO. Эту проблему предусматривают не все разработчики ПО, из-за чего отсутствует возможность изменить конфигурацию системы под нужды заказчика.


Одним из способов сократить издержки на каналы связи является перенос серверов предварительной обработки видео непосредственно на место установки камер. Локальный сервер может получать видеопоток напрямую, анализировать его и отсылать на главный сервер только релевантные изображения. Отправка изображения будет требовать значительно меньшей пропускной способности, и при небольшой проходимости даже 2−4 камеры могут работать на соединении в 1−2 Мбит/с.


Но иногда даже эту скорость обеспечить сложно, или могут появиться требования к скорости ответа, которая при соединении в 1−2 Мбит/с будет не самой быстрой, или же соединение вовсе является нестабильным. Для таких систем существует возможность построить сеть независимых установок, полностью автономных, но с синхронизацией базы данных досье. Таким образом, система будет иметь актуальную и синхронизированную базу лиц, высокую скорость ответа, так как все компоненты размещены локально, и нет зависимости от стабильности подключения к сети Интернет.


Важно выбрать решение, которое обладает возможностью работать в любых гибридных комбинациях без потери эффективности.


Как рассчитать TCO?


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