Применение нейронных сетей в модулях аналитики Domination
Классические алгоритмы видеоаналитики
Основными классическими алгоритмами видеоаналитики являются детекция движения и построение траектории движущихся объектов (трекинг). На основе данных алгоритмов разработаны несколько модулей аналитики Domination:
Пересечение линии | Вторжение в зону | Подсчет посетителей |
Контроль скорости и направления движения |
Классические алгоритмы видеоаналитики не потеряли своей актуальности и могут успешно применяться для решения множества важных задач. Однако, некоторые задачи, актуальные в настоящее время, не могут быть эффективно решены с помощью только классических алгоритмов. Например, задача классификации объектов - определения типа объекта – человек, машина, животное и т.д. Решение таких задач требует применения принципиально новых подходов, одним из которых является использование искусственных нейронных сетей.
Об искусственных нейронных сетях
Искусственная нейронная сеть по сути является компьютерной моделью мозга. Она состоит из некоторого количества элементов, называемых нейронами, которые связаны между собой.
Поскольку эта компьютерная модель имитирует работу мозга, то и ее возможности в некотором смысле аналогичны возможностям естественного интеллекта. Например, меняя силу связей между разными нейронами, модель обучается, подобно человеку, решению определенной задачи. После обучения нейронная сеть способна выдавать “суждения” не только о тех данных, на которых была обучена, но и для любых подобных данных.
То есть в процессе обучения нейронная сеть получает новые “знания”. Не стоит, однако, забывать, что это всего лишь модель мозга, причем весьма неточная и ограниченная, связи между нейронами в ней представлены лишь приближенно. Кроме того, количество нейронов в искусственных сетях очень маленькое по сравнению с мозгом человека, или даже мозгом насекомого. Поэтому для решения каждой конкретной задачи обычно разрабатывается и обучается новая искусственная нейронная сеть.
Использование нейронных сетей при анализе изображений
Простейшими нейронными сетями являются сети, построенные по схеме персептрона. Использование таких нейронных сетей заключается в том, что на вход сети подаются известные данные (числа), являющиеся признаками некоторого объекта или явления, а результатом работы является значение (число или несколько чисел) новой характеристики рассматриваемого объекта или явления.
Например, рассмотрим персептрон для постановки диагноза о простудном заболевании человека. На вход такой нейронной сети подаются известные данные: пол и возраст человека, его рост и вес, температура тела, наличие кашля, насморка и др. На выходе диагноз: 0 – здоров, 1 – ОРЗ, 2 – грипп, 3 – ангина и т.д.
Примененияе простейших нейронных сетей типа персептрона не является эффективным для видеоаналитики. Трудность их применения обусловлена тем, что необходимо выделить признаки, подаваемые на вход персептрона. Для видеоанализа задача выделения признаков является сама по себе невероятно сложной. Поэтому для решения задач интеллектуального анализа видео используются специальные нейронные сети, называемые сверточными (convolutional neural network, CNN), которые принадлежат классу нейронных сетей глубокого обучения (deep learning).
Сверточные нейронные сети являются идеальными для систем машинного зрения, поскольку принципы их работы построены по аналогии с работой системы восприятия зрительной информации человеком. Система нейронов, обрабатывающая поступающую зрительную информацию, состоит из нескольких “слоев”. Данные обрабатываются каждым таким “слоем” нейронов. Определенный “слой” нейронов отвечает за выделение и обработку некоторых конкретных признаков, причем каждый следующий слой обрабатывает все более и более высокоуровневые признаки. Аналогично, сверточная нейронная сеть состоит из нескольких слоев, на каждом из которых изображение подвергается обработке специальным фильтром (свертке), выделяющим некоторые признаки. Результат передается на вход следующему слою, который строит на его основе другие, более абстрактные признаки и т.д.
Таким образом, сверточные нейронные сети являются наиболее эффективными при обработке видеоданных, поскольку в процессе обучения автоматически выделяют признаки объектов, имитируя тем самым работу системы обработки зрительной информации человека.
Что дает использование искусственных нейронных сетей
|
- Использование искусственных нейронных сетей при анализе видео позволяет решать сложные задачи, которые не могут быть эффективно решены классическими алгоритмами анализа. Наиболее распространенные и востребованные задачи, решаемые с использованием нейронных сетей глубокого обучения, - распознавание и классификация. Например, распознавание лиц, определение типа объектов на изображении – человек, животное, автомобиль и т.д. |
|
- Использование нейронных сетей позволяет получить высокую точность работы модулей видеоаналитики. При наличии достаточно большого объема данных для обучения, правильном проектирования структуры слоев сети и правильном применении, использование нейронных сетей дает высокую точность работы. |
|
- Точность работы видеоаналитики может быть повышена за счет дообучения нейронной сети. При появлении новых данных нейронная сеть может быть обучена вновь с добавлением этих данных к уже имеющейся базе знаний. Тем самым, точность нейронной сети, а значит и модуля аналитики может постоянно повышаться для работы в различных условиях эксплуатации. При этом алгоритм работы модуля не требует доработки, повышение точности происходит автоматически после обучения на новых данных. |
|
- Использование нейронных сетей позволяет снизить стоимость модулей аналитики. Поскольку технологии нейронных сетей постоянно совершенствуются, постоянно разрабатываются новые алгоритмы и инструменты для быстрого и простого обучения и применения нейронных сетей, разработка модулей видеоаналитики на основе этой технологии является простой, а значит и достаточно дешевой для конечных пользователей. |
Нейронные сети в детекторах огня и дыма Domination
В модулях аналитики Domination искусственные нейронные сети применяются в детекторах огня и дыма. Разработано множество классических подходов (без использования нейронных сетей) к детекции огня и дыма по видеоданным. Все такие методы, так или иначе, связаны с анализом трех составляющих: цвета, формы и характера движения дыма и огня. Эти методики обеспечивают достаточно низкую точность, поскольку форма огня и дыма является достаточно сложной для алгоритмического описания.
В модулях детекции огня и дыма Domination для этой цели были использованы сверточные нейронные сети. Они были обучены на множестве данных, содержащих как изображения дыма и огня, так и изображения других объектов, которые могут присутствовать на сценах с возможным возгоранием. Наличие данных с “ложными” объектами (люди, машины) в обучающей выборке является необходимым условием для правильной работы нейронной сети, поскольку она должна отличать данные объекты от истинных (дыма и огня). Кроме того, выборка данных для обучения включала изображения в различных условиях: тип сцены, освещенность, разрешение, и т.д. Все это позволило обеспечить высокую точность определения наличия дыма и огня, тем самым повысить надежность работы модулей
Дальнейшее применение
Успешный опыт применения искусственных нейронных сетей в модулях детекции огня и дыма Domination открывает новые возможности для пользователей. Планируется выпуск новых модулей видеоаналитики на основе нейронных сетей для банковской отрасли, нефтегазовой промышленности, обеспечения безопасности торговых центров и промышленных предприятий.