УДК 004.272.2
Кравченков В.В., Самойлова Т.А.
Смоленский государственный университет, г. Смоленск, Россия
РАЗРАБОТКА ВЕБ-СЕРВИСА ВИДЕОАНАЛИЗА С ИСПОЛЬЗОВАНИЕМ ПАРАЛЛЕЛЬНЫХ СИСТЕМ БАЗ ДАННЫХ
АННОТАЦИЯ
В статье обоснована целесообразность использования параллельных систем баз данных для веб-ориентированной аналитической обработки видеоконтента. Приведено описание средств, которые поддерживают подобные вычисления в режиме реального времени. Для повышения эффективности обработки предлагается подход, основанный на принципе симметричного горизонтального распределения. Приведено описание архитектуры и функциональные возможности проектируемого веб-сервиса для решения задач видеоанализа. Приведены примеры параллельного выполнения реляционных SQL-операцй в задачах распознавания и поиска. Приведены результаты работы программного модуля для обнаружения движущихся объектов.
КЛЮЧЕВЫЕ СЛОВА
Веб-сервис; конвергентное решение; машинное зрение; принцип симметричного горизонтального распределения; параллельная система баз данных; режим реального времени; MVC-шаблон; WebAPl; AForge.NET; Accord.NET.
Kravchenkov V.V., Samoylova T.A.
Smolensk State University, Smolensk, Russia
DEVELOPMENT OF WEB SERVICE VIDEO ANALYSIS USING PARALLEL DATABASE
SYSTEM
ABSTRACT
In the article proves the feasibility of using parallel database systems for Web-based analytical processing video. The description of resources that support these calculations in real time. To improve the processing efficiency of an approach based on the principle of symmetrical horizontal distribution. The description of the architecture and functionality of the designed web service solutions for video analysis tasks. Examples of parallel execution of the SQL relationaloperation in the identification and search problems. The results of the work program module for the detection of moving objects.
KEYWORDS
Web service; a converged solution; machine vision; the principle of horizontal distribution symmetrical; parallel database system; real-time mode; the MVC-pattern; WebAPl; AForge.NET; Accord.NET.
В настоящии момент заметная тенденция в сфере видеоаналитики - ее ориентация на веб-технологии, позволяющие организовать доступные сервисы для интеллектуального наблюдения [12] за объектами через Интернет. Веб-ориентированная видеоаналитика базируется на централизованнои обработке видеоконтента на сервере, которыи анализирует видеопотоки от всех камер. Преимущество такого подхода заключается в возможности комбинирования алгоритмов машинного зрения (видеоаналитики) на однои аппаратнои платформе, а также использование недорогих видеокамер, в случае потери которых основные вложения в сервер и алгоритмы видеоанализа сохраняются. Эти сервисы можно использовать в системах видеонаблюдения для потребителеи разных типов:
• в госсекторе - "безопасный город", "безопасный транспорт";
• в крупном бизнесе - строительство, логистика, нефтегазовая отрасль (автоматический контроль обстановки на объектах месторождения и своевременное информирование службы безопасности о нештатных ситуациях);
• в торговых сетях и финансовой сфере - управление продажами;
• в частном секторе - присмотр за домом.
Далее перечислены существенные, на наш взгляд, задачи видеоанализа, решаемые средствами веб-технологии (серверная аналитика):
1. Распознавание, когда требуется доступ к базе данных эталонных объектов, что сегодня реализуемо только на сервернои стороне.
2. Поиск в видеоархиве для выделения объектов и событии, соответствующих заданным критериям (тип объекта, тип движения).
3. Обработка данных, получаемых одновременно с нескольких камер для отслеживания перемещении отдельных объектов на большои площади или для более полнои оценки обстановки.
4. Прогнозирование ситуации или поведения за счет статистики, накопленнои в базе сервера, и применение статистических алгоритмов и алгоритмов машинного обучения, которые позволяют выявить закономерности в поведении наблюдаемых объектов и сделать количественные оценки.
5. Объединение с помощью единои коммуникационнои платформы веб-видеоаналитики с системами, уже установленными на предприятии в централизованную систему с удаленным доступом к информации. Такое конвергентное решение повышает безопасность и производительность системы, где видеонаблюдение используется для сбора и анализа данных, необходимых для управления, например, в нефтегазовои отрасли.
Одна их главных проблем веб-ориентированнои видеоаналитики - необходимость обработки больших массивов видеоданных, которая включает вычисления, позволяющие охарактеризовать объекты наблюдения в реальном времени. Такая обработка может быть необходима одновременно большому числу потребителеи информации, которые будут обращаться к сервису с запросами, затрагивающими огромные объемы видеоданных. Технологии, поддерживающие подобные аналитические вычисления в режиме реального времени (real-time analytics) [7]:
• обработка в памяти (processing in memory) - соответствует архитектуре чипа, в котором процессор интегрирован в микросхему памяти для уменьшения времени ожидания;
• аналитика в базе данных - технология, которая позволяет обрабатывать данные непосредственно на сервере баз данных путем встраивания специального компонента анализа (R-Service для MS SQL Server);
• аналитика в хранилищах данных - сочетание аппаратных и программных компонент хранилищ, разработанных специально для аналитической обработки, например, машины баз данных IBM Netezza и Oracle ExaData;
• запросы в памяти (in-memory analytics) - подход к организации запросов к данным, когда результаты запросов находятся в оперативной памяти (RAM), в отличие от запросов к данным, которые хранятся на физических дисках;
• массовая параллельная система (MPP) обработки данных - данные базы разбиваются на независимые фрагменты, которые хранятся на независимых массовых запоминюющих устройствах (mass storage) и обрабатываются независимыми процессорами.
Однако возможностеи этих технологии бывает недостаточно, когда решение задач интеллектуального анализа видеоконтента выполняется для баз данных размером несколько миллионов экземпляров объектов и более. К этим задачам следует отнести:
• классификацию объектов и событий заданных классов, распознавание образов и ситуаций путем сравнения их с эталонными изображениями базы данных;
• поиск объектов в базе данных видеоархива по заданному ситуационному критерию (движение в зоне; вход объекта в зону; выход объекта из зоны; переход объекта из одной зоны в другую; оставленный в зоне предмет);
• прогнозирование - вероятностный статистический анализ базы данных, содержащей статистическую информацию, например, частоту аварий, который строит дерево событий и позволяет моделировать развитие аварийных ситуаций (взрывы, пожары, прорыв плотины, взрыв газа и т.п.).
Прикладные программы решения данных задач, как правило, являются комбинациями обычных программ и операторов SQL, поддерживающих реляционную модель данных, известную своим параллелизмом. С учетом этого, в настоящеи работе предлагается использовать параллельные системы баз данных [3], основанные на принципе симметричного горизонтального распределения [9] участвующих в работе SQL-оператора таблиц, что повысит уровень производительности задач интеллектуального анализа видеоконтента. Поскольку данные видеоконтента легко разбиваются на части, соответствующие временным интервалам их поступления, то их можно разделять между несколькими процессорами и памятью. Это даст возможность разбить одну SQL-операцию на несколько независимых параллельных реляционных
операции, каждая из которых работает с частью видеоконтента на отдельном процессоре или диске. Результаты работы параллельных операции посылаются в общий узел, где происходит их слияние (Рис. 1).
Фрагмент данных
Фрагмент данных
Фрагмент данных
на j ^ видеоконтента J [ видеоконтента J [ видеоконтента
Рис. 1. Раздельный параллелизм обработки видеоконтента
Реляционные операции, определяемые соответствующими SQL-запросами, принимают отношения (однородные наборы записей) в качестве ввода и производят отношения на выходе. Это позволяет составлять из них графы потоков данных, что делает возможным раздельным параллелизм, при котором операции дублируются для каждого источника данных и дубли выполняются параллельно. При таком потоковом подходе к организации систем баз данных необходима операционная система типа клиент-сервер, основанная на передаче сообщении для взаимосвязи параллельных процессов, в которых и выполняются реляционные операции. Для этого, в свою очередь, требуется высокоскоростная сеть, обеспечивающая взаимосвязь параллельных процессоров. Такие средства имеют место в современнои компьютернои архитектуре. В парадигме "клиент-сервер" высокоскоростные локальные сети (LAN) рассматриваются как основа для большеи части персональных компьютеров, рабочих станции и программного обеспечения рабочих групп. В то же время механизмы "клиент-сервер" являются превосходным базисом для разработки распределенных баз данных. Таким образом, параллельные архитектуры системы баз данных для обработки видеоконтента будут строиться на обычных процессорах, памяти и дисках.
Далее приведен пример распараллеливания SQL-операции JOIN, необходимои для реализации модуля распознавания лиц и обладающеи значительнои вычислительнои сложностью. Модуль работает на основании алгоритма "собственных лиц". Идея алгоритма, созданного в Media Laboratory Массачусетского технологического института [6], заключается в следующем. Система формирует большую таблицу данных известных изображении лиц, называемых "собственными лицами" (Eigenfaces). Для каждого лица этои таблицы строится набор (вектор) его главных компонентов. Изображение, соответствующее каждому такому вектору, имеет лицеподобную форму. Вычисление главных компонентов сводится к вычислению собственных векторов и собственных значении ковариационнои матрицы, которая рассчитывается из параметров изображения. Для каждого изображения лица вычисляются его главные компоненты. Обычно берется от 5 до 200 главных компонентов. Процесс распознавания заключается в сравнении главных компонент неизвестного изображения с компонентами всех собственных лиц и представлении каждого неизвестного изображения лица в виде линеинои комбинации собственных лиц. Система аппроксимирует изображение как комбинацию собственных лиц. Степень различия результатов аппроксимации двух или нескольких исходных изображении соответствует степени их сходства. Таблица исходных изображении (Sourse_Tab) и таблица собственных лиц (Eigenfaces_Tab) имеют общую структуру, содержащую фаил изображения и вычисленные главные компоненты (parameters).
Сравнение компонент каждого исходного изображения с компонентами каждого изображения таблицы "собственных лиц" реализуется SQL-запросом SELECT, содержащим операцию JOIN:
SELECT Parameters_Sourse_Tab л Parameters_ Eigenfaces_Tab FROM Sourse_Tab INNER JOIN Eigenfaces_Tab ON (id_Sourse_Tab = id_Eigenfaces_Tab) В приведеннои конструкции:
• Sourse_Tab - таблица, содержащая исходные изображения лиц;
• Eigenfaces_Tab - таблица, содержащая "собственные лица";
• Parameters_Sourse_Tab Л Parameters_ Eigenfaces_Tab - побитовое исключающее ИЛИ для сравнения главных компонентов исходного изображения и изображения собственного лица;
• id_Sourse_Tab, id_Eigenfaces_Tab - поля для связывания записей изображений одного
класса.
Параллельная реализация операции JOIN выполнена на основе принципа симметричного горизонтального распределения участвующих в работе оператора таблиц. В рассматриваемом случае таблицы Sourse_Tab и Eigenfaces_Tab разбиваются на фрагменты - классы эквивалентности, которые содержат строки с результатами сравнения главных компонент. При этом пары фрагментов таблиц распределяются между вычислителями по эвристическому алгоритму бустрофедона [10], образуя программно-аппаратньш вычислительным комплекс, реализующии параллельную обработку данных.
Еще один пример распараллеливания JOIN соответствует поиску видеозаписеи нужных событии в большои базе видеоархива с использованием метода индексирования R-Tree, предложенного Гуттманом [4]. Методы индексирования пространственнои информации, хранящеися в СУБД, сводятся к делению пространства, содержащего видеообъекты, на некоторые условные квадраты или прямоугольники (Рис.2) - bounding box (ВВ).
Рис.2. R-tree для городов и деревень Греции. Данные взяты с rtreeportal.org
Такая схема позволяет при обработке запроса выполнять двухуровневый поиск: сначала из базы через индекс с помощью приблизительного алгоритма выбираются потенциальные объекты, а потом к предварительно отобранному множеству применяются более сложные алгоритмы, позволяющие точно определить нужные объекты. Такои индекс представляет собои вспомогательную структуру данных, предназначенную для ускорения получения данных удовлетворяющих определенным поисковым критериям. Каждыи узел R-Tree может содержать переменное количество записеи, но не больше заранее определенного максимума. Каждая запись во внутренних узлах содержит ссылку на дочернии узел и BB, которыи содержит все записи этого дочернего узла. Каждая запись концевого узла (leaf node) содержит ссылку на данные и BB этих данных. Таким образом, индекс R-Tree обеспечивает двухуровневое выполнение поискового запроса, но при этом он не делит пространство на условные равные квадраты, а вписывает каждыи объект (или группу объектов) в свои собственныи прямоугольник. Прямоугольник может включать в себя как объекты, так и другие прямоугольники. Обычно, индекс представляет собои фаил на диске, и, если этот фаил становится очень большим, то может потребоваться дополнительныи индекс для ускорения работы самого индекса.
Особенность древовидного хранения видеообъектов в реляционнои базе данных заключается в наличии дополнительнои таблицы связеи между сущностями основнои таблицы видеозаписеи. Таблица связеи должна содержать как минимум два поля: ссылку на предка (ancestor) и ссылку на потомка (descendant). Таким образом, для обработки дерева понадобятся две таблицы (Рис. 3):
• Videos будет содержать данные о BB - фрагменте,
• Videosjxeepath будет содержать данные об иерархии фрагментов.
Videos
Videojd Video_fi]e Mime_type
Size Duration Description
Video s_tre e p ath
Treepathjd
Ancestor Descendant
à
Рис.3. Схема таблиц для поиска видеозаписей в архиве
Выбор потомков для каждого исходного изображения выполняется SQL-запросом SELECT, содержащим операцию JOIN:
SELECT * FROM Videos JOIN Videosjxeepath ON (Videos.Videos_Id = Videos_treepath.Ancestor) Параллельная реализация операции заключается в распределении пар фрагментов обеих таблиц данного запроса между вычислителями.
Реализация предложенного подхода веб-ориентированнои информационнои системои обеспечит масштабируемость, отказоустоичивость и доступность результатов видеоанализа на различных клиентских платформах, когда пользовательскии интерфеис реализуется на базе браузера, десктоп или мобильных приложении. Ввод изображении в BLOB-хранилище или SQL-СУБД может выполняться средствами клиентских приложении, встроенных непосредственно в источник видеоданных. При этом часть алгоритмов видеоаналитики может быть встроена в источник данных, например, функции постоянного контроля ситуации и быстрого принятия решения, что позволит уменьшить нагрузку на каналы связи, передавая на сервер лишь часть изображении, отобранных этими алгоритмами, и метаданные. Все это позволит реализовать многопользовательскую совместную работу с видеоданными, в том числе с Big Data. Структура гибридного решения, содержащего веб-сервис для решения задач видеоанализа и реализации интеллектуальных методов обработки видеоконтента (Рис.4):
Видеоконтент
Базы Хранилища
данных данных
I
Подсистема ввода
Веб-сервис
Серверная в ид еоа на л аттика
I
Камера
Кл иентская видеоаналитика
Приложения пользователей {мобильные, десктоп, веб)
Рис. 4 Гибридное решение, содержащее веб-сервис видеоаналитики
Проектируемый веб-сервис (или несколько сервисов) будет состоять из следующих подсистем интеллектуального анализа:
• поиск в архиве для расследования происшествий;
• распознавание объектов;
• детектирование событий, включая перемещения;
• прогнозирование с целью предупреждения аварийных ситуаций.
Для хранения видеоконтента используются средства компании Microsoft, которая согласно отчету Gartner 2016 года [5] входит в четверку лидеров по организации хранилищ данных и средств управления данными для аналитики, наряду с IBM, Oracle и SAP. Следует отметить, что в новои версии SQL Server 2016 [11] поддерживается больше решении для управления данными в целях аналитики реального времени. Для программнои реализации веб-сервиса выбиран паттерн построения RESTful WebAPI шаблона MVC среды MS Visual Studio.NET. В нем работа с данными строится на основе их объектно-реляционнои модели, создаваемои средствами библиотеки Entity Framework. Библиотека самостоятельно создает SQL-код запросов, используя средства языка C# (LINQ) и специальные методы класса контекста DbContext, и передает его в систему управления
данными. Шаблон поддерживает технологию REST, включая способы обработки и передачи состоянии ресурсов с явным использованием HTTP-методов GET, POST, PUT, DELETE. Публикация веб-сервиса на сервер IIS обеспечивает минимальное время отправки результатов обработки видеоданных приложениям клиентов. Возможности системы легко расширяются путем добавления новых модулеи в процессе разработки подсистемы видеоаналитики для конкретнои предметнои области.
Для организации работы процедур обработки изображении (детектирование движения, поиск лиц и т.п.) используются готовые решения библиотеки AForge.NET [2]. Это библиотека на C# предназначена для разработчиков - исследователеи в области компьютерного зрения и искусственного интеллекта. Сферы ее применения - обработка изображении, распознавание образов, генетические алгоритмы, робототехника. Расширение библиотеки - Accord.NET [1] включает средства прогнознои аналитики (машинное обучение, регрессии, неиронные сети, деревья решении и др.). Программные модули веб-сервиса видеоанализа содержат обращения к следующим компонентам библиотеки:
• AForge.Imaging — находит отдельные объекты в изображении с целью последующего распознавания;
• AForge.Vision — обнаруживает и обрабатывает движения;
• AForge.Video — выполняет предобработку видеопоследовательности.
Далее приводятся результаты эксперимента, выполненного на примере работы модуля обнаружения подвижных объектов с использованием компонентов AForge.Vision и AForge.Video. Модуль входит в состав подсистемы поиска в базе данных видеоархива по запросу пользователя. Схема работы модуля обнаружения движения в реальном времени (Рис.5):
j Выбор видеопоследовательности из БД
J
| Вычисление разности двух кадров j
1
i Выделение границ зон движения
1
Преобразование в графический формат J
Рис 5. Схема работы модуля обнаружения движения в реальном времени
Пример видеокадра (Рис.6) с изображением движения руки одного из авторов данной статьи иллюстрирует работу модуля:
Рис.6. Результаты обнаружения движения руки
Все сказанное выше дает право заключить, что предложенным авторами подход к разработке веб-сервера с использованием параллельнои базы данных эффективен в решении задач веб-ориентированнои видеоаналитики. История показывает [8], что узкоспециализированные машины баз данных в настоящее время оказались несостоятельными, в то время как параллельные системы баз данных достигли огромных успехов. Такие успешные системы для видеоанализа строятся на обычных процессорах, памяти и дисках. Именно в этих системах в основном отразились идеи высоко параллельных архитектур, и они заняли наилучшую позицию для потребления огромного числа быстрых и дешевых дисковых устроиств, процессоров и памяти, обещаемых прогнозами современных технологии.
Авторы благодарны кандидату технических наук Мунерману В.И. за неоценимую помощь в подготовке этой работы.
Литература
1. Accord Framework.NET. URL:http://accord-framework.net/
2. AForge.NET. URL:http://www.aforgenet.com/
3. Dewitt David J , Gray Jim. Parallel database systems: the future of high performance database systems. Communications of the ACM, Volume 35, Number 6, June, 1992
4. Guttman Antonin. R - trees: a dynamic index structure for spatial searching. ACM SIGMOD International Conference on Management of Data, pp. 47-54, 1984.
5. Magic Quadrant for Data Warehouse and Data Management Solutions for Analytics. URL:https://www.gartner.com/ doc/reprints?id=1-2ZFVZ5B&ct=160225&st=sb/
6. Moghaddam B. and Pentland A. «Probabilistic Visual Reconition for Object Recognition», Trans. IEEE Pattern Analysis and Machine Intelligence, July 1997, pp. 696-710
7. Rouse Margaret. Real - time analytics. - 2016. URL: http://searchcrm.techtarget.com/definition/real-time-analytics/
8. Кузнецов С.Д. Универсальность и специализация: время разбивать камни?. - 2007. URL:http://www.citforum.ru/
9. Левин Н.А., Мунерман В.И. Модели обработки больших объемов данных в системах массового параллелизма. -Системы высокой доступности, т.9, № 1, 2013, с. 35-43.
10. Мунерман В.И., Самоилова Т.А. Параллельная реализация решения оптимизационных задач средствами баз данных. - Системы высокои доступности, т. 11, №1, 2015, с.18-22.
11. Пять преимуществ встроенных функции SQL Server 2016. URL:https://www.microsoft.com/ru-ru/server-cloud/products/sql-server/overview.aspx?wt.mc_id=AID529492_SEM_o8WWJUyf/
12. Форсаит А., Понс Дж. Компьютерное зрение. Современный подход. - М.: «Вильямс», 2004. 928с.
References
1. Accord Framework.NET. URL:http://accord-framework.net/
2. AForge.NET. URL: http: //www.aforgenet.com/
3. Dewitt David J, Gray Jim. Parallel database systems: the future of high performance database systems. Communications of the ACM, Volume 35, Number 6, June, 1992
4. Guttman Antonin. R - trees: a dynamic index structure for spatial searching. ACM SIGMOD International Conference on Management of Data, pp. 47-54, 1984.
5. Magic Quadrant for Data Warehouse and Data Management Solutions for Analytics. URL: https: //www.gartner.com/ doc/reprints id = 1-2ZFVZ5B & ct = 160225 & st = sb?/
6. Moghaddam B. and Pentland A, «Probabilistic Visualreconition for Object Recognition», Trans. IEEE Pattern Analysis and Machine Intelligence, July 1997, pp. 696-710
7. Rouse Margaret. Real - time analytics. - 2016, URL: http://searchcrm.techtarget.com/definition/real-time-analytics/
8. Kuznetsov S.D. Versatility and specialization: Time to break the stones ?. - 2007, URL: http: //www.citforum.ru/
9. Levin, N.A., Munerman V.I. Models of processing large amounts of data in a massively parallel systems. - High availability, v. 9, number 1, 2013, p. 35-43.
10. Munerman V.I., Samoilova T.A. Parallel implementation of solving optimization problems by means of databases. - High availability, t.11, №1, 2015, s.18-22.
11. Five advantages built-in functions SQL Server 2016. URL: https: //www.microsoft.com/ru-ru/server-cloud/products/sql-server/overview.aspx wt.mc_id = AID529492_SEM_o8WWJUyf?/
12. Forsyth A., Ponce J. Computer vision. The modern approach. - M. "Williams", 2004. 928 p.
Поступила 15.10.2016
Об авторах:
Самойлова Татьяна Николаевна, доцент кафедры информатики Смоленского государственного университета, кандидат технических наук, [email protected];
Кравченков Виталий Витальевич, студент физико-математического факультета Смоленского государственного университета.