Что такое DataNova OR или как начать следить за деятельностью удаленно работающих сотрудников?

от автора

Введение

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

Что такое DataNova OR

Первым продуктом, о котором мы хотели рассказать, является DataNova OR (Object Recognition).

DataNova OR – решение, функционал которого основан на технологиях компьютерного зрения. Решение позволяет с помощью перехвата видеопотока с веб-камеры осуществлять мониторинг за деятельностью удаленно работающих сотрудников и выявлять нелегитимную активность, согласно настроенным политикам безопасности и блокировать рабочую станцию.

Основным драйвером по возникновению идеи о создании такого решения явилась общемировая пандемия, когда всё большее количество компаний стало переходить на удаленный формат работы. У бизнеса появилась потребность в расширенной картине пользовательской активности сотрудника на рабочем месте. Здесь речь идет как о необходимости соблюдения бизнес-процессов, пресечения неправомерных действий и повышении качества работы удаленно работающих сотрудников, так и недостаточной степени объективности и осведомленности о деятельности сотрудников в целом.

Основная задача DataNova OR – автоматическое распознавание объектов на видеопотоке, перехватываемом с веб-камеры АРМ пользователя, мониторинг открытых приложений и передача соответствующих данных на централизованный сервер. Из ключевых особенностей продукта стоит отметить:

  • Возможность перехвата изображения с веб-камеры устройства, при этом сохраняя возможность доступа к веб-камере другим приложениям;

  • Возможность выявления различных объектов на видеопотоке с помощью технологий компьютерного зрения;

  • Возможность выявления нелегитимных лиц за устройством и автоматической блокировки рабочей станции;

  • Возможность выявления попыток фотографирования экрана, распития алкоголя и других нелегитимных действий, согласно настраиваемым политикам безопасности;

  • Возможность создания правил ИБ/ЭБ, позволяющих выявлять инциденты на основе анализируемых изображений и дополнительной информации, собираемой с АРМ;

  • Возможность настройки политик безопасности в части выявления нелегитимных действий и блокировки рабочей станции;

  • Возможность распознавания живого/неживого (фото, смартфон) человека, т.е. реализация так называемого Liveness Detection.

Варианты сбора и анализа данных

Так как перед нами стояла задача анализа видеопотока, в режиме приближенном к real-time, то ключевым аспектом было понимание того, как и где мы будем анализировать данные. От этого зависит как скорость и качество, так и стабильность работы решения, а также своевременное реагирование на фиксируемые инциденты. Были опробованы несколько подходов, из которых в явном виде можно выделить два. Рассмотрим какие преимущества и недостатки в каждом из них.

  1. Анализ видеопотока на сервере

Анализ видеопотока на сервере
Анализ видеопотока на сервере

Преимущества:

  • «Дешевые» камеры;

  • Централизованное хранение всего видеопотока на сервере;

  • Оперативный доступ к записи с любой видеокамеры;

  • Простота добавления и тестирования новых моделей и алгоритмов распознавания.

Недостатки:

  • Ограничения на количество камер, подключаемых к одному серверу, в следствие чего необходимость создания кластера;

  • Нужны достаточно мощные сервера;

  • Необходимость масштабирование сервера с ростом количества видеокамер;

  • Нагрузка на сеть из-за необходимости передачи всего видеопотока на сервер;

  • Задержка реагирования на распознанные объекты с видеокамеры.

  1. Анализ видеопотока на камере

Анализ видеопотока на камере
Анализ видеопотока на камере

Преимущества:

  • Нет необходимости в передачи всего видеопотока. Можно передавать метаданные, а также необходимые кадры;

  • Моментальная реакция на распознанные объекты (отправка уведомлений ответственным лицам, запуск процессов реагирования, и др.);

  • Нет необходимости в создании сверх мощного и дорогого кластера;

  • Работа в режиме real-time.

Недостатки:

  • «Дорогие» камеры, при распознавании объектов на самой камере;

  • Более высокая сложность развертывания и сопровождения новых моделей и алгоритмов распознавания;

  • Есть ограничения на размер моделей и баз данных;

  • В случае использования мощностей ноутбуков возникает дополнительная нагрузка на CPU.

Для более наглядного сравнения приведём основные моменты в таблице

Анализ видеопотока на сервере

Анализ видеопотока на камере

Стоимость и количество серверов

? ? ? ? ?

?

Сложность развертывания и сопровождения моделей

?

? ? ?

Нагрузка на сеть

? ? ? ? ?

? ?

Стоимость камеры

?

? ? ? ? ?

Скорость реагирования на инциденты

? ? ? ?

?

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

Техническая реализация

Архитектура решения DataNova OR
Архитектура решения DataNova OR
  1. Перехват изображения с веб-камеры

Основная трудность при перехвате изображения с веб-камеры заключается в том, что одна аппаратная камера не может быть использована сразу несколькими приложениями (в том числе нашим агентом). Стоит отметить что данная проблема возникала только на ОС семейства Windows. Что касается платформ Linux и MacOS – таких проблем не наблюдалось.

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

  1. Распознавание лиц

В нашем распоряжение есть только веб-камеры, встроенные в ноутбуке. В большинстве из них нет возможности 3D-сканирования, поэтому мы останавливаемся на 2D-распознавании лиц. Данная задача разбивается на 3 задачи: поиск лица, получение вектора лица (эмбединга) и сравнение его с векторами известных лиц. Про решение данной задачи написано достаточно много хороших статей. Не будем долго тут останавливаться.

  1. Liveness detection (живой/неживой)

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

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

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

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

  1. Распознавание объектов на видеопотоке

Для распознавания объектов мы используем архитектуру Yolov5. Почему мы выбрали именно её? Во-первых, данная архитектура показала очень хорошие результаты на наших данных. А, во-вторых, обученная и сконвертированная модель при инференсе требует относительно мало ресурсов. Поэтому выбор был остановлен именно на этой архитектуре. О данном семействе сетей слышали практически все, кто хоть как-то слышал о нейронных сетях, про них написано достаточно много хороших статей. Наша модель, на текущий момент, умеет определять порядка 40 объектов, которые нас интересуют.

Ниже пример кода, с помощью которого мы детектируем объекты.

def detect(self, img: np.ndarray):     im0_shape = img.shape     img = letterbox(img, self.img_size, stride=32)[0]      img = img.transpose((2, 0, 1))[::-1]     img = np.ascontiguousarray(img).astype(np.float32)      img /= 255.0     if img.ndim == 3:         img = np.expand_dims(img, 0)     pred = self.model.run(None, {self.input_name: img})[0]     pred = non_max_suppression_numpy(pred, 0.5, 0.45, None, False, max_det=1000)     det = pred[0]     if len(det):         det[:, :4] = scale_coords(img.shape[2:], det[:, :4], im0_shape).round()         return (             det[:, :4].astype(int).tolist(),             det[:, -2].tolist(),             [self.names[int(c)] for c in det[:, -1]],         )     return [], [], []
  1. Создание политик безопасности

Основная идея продукта DataNova OR – это отслеживание действий сотрудников, которые работают удаленно, и своевременное реагирование на правонарушения, такие как фотографирование конфиденциальной информации, распитие спиртных напитков на рабочем месте, наличие постороннего человека за рабочим местом и другие. Для этого был разработан механизм по созданию таких правил и способы реагирования на нарушения. По отдельности пункты с 1 по 4 не несут особой пользы для мониторинга за действиями удаленных сотрудников, для этого создаются политики безопасности. Политика представляет собой набор правил. Для создания таких правил мы используем собственный конструктор. Полученные таким образом правила смотрят на выходы моделей из пунктов 2-4, а также на запущенные приложения. Например, в качестве правила могут использоваться следующие:

  • Наличие на рабочем столе бокала вина;

  • Наличие постороннего человека в кадре;

  • Наличие сотового телефона, повернутого камерой на экран;

  • Открытие конфиденциального документа;

  • Открыто приложение Skype;

  • И множество других.

Объединение таких правил определяет политику, например:

  1. Открыто приложение Zoom и идёт конференция;

  2. Обнаружено более 1 человека перед экраном монитора;

  3. Обнаружена кружка пива.

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

Результаты

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

  • Нейронная сеть, позволяющая распознавать порядка 40 различных объектов;

  • Внедрение виртуальной камеры, позволяющей использование веб-камеры сразу для нескольких приложений;

  • Поддержка механизмов разработки пользовательских правил корреляции/аномалий;

  • Возможность ретроспективного анализа результатов распознаваний.

Если же говорить непосредственно о результатах для бизнеса, то это:

  • Автоматизация механизмов по выявлению нелегитимных действий сотрудников;

  • Повышение степени объективности и осведомленности о деятельности удаленно работающих сотрудников;

  • Повышение эффективности работы удаленно работающих сотрудников;

  • Реализация real-time мониторинга за деятельностью сотрудников.


ссылка на оригинал статьи https://habr.com/ru/company/crosstech/blog/647363/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *