Key words: steganography, method for replacing bits in samples, information protection, program.
Vorontsova Natalia Vadimovna, candidate of technical sciences, docent, vnwni(a>, list.ru, Russia, Tula, Tula branch of REU named after G. V. Plekhanova,
Milyaeva Irina Vilorevna, head of department, irymiKq),yandex, ru, Russia, Tula, Technical College named after C.M. Mosin
УДК 004.41
ПОВЫШЕНИЕ ЭФФЕКТИВНОСТИ АЛГОРИТМОВ ОБРАБОТКИ ИНФОРМАЦИИ В СИСТЕМАХ ВИДЕОНАБЛЮДЕНИЯ МЕТОДАМИ
МАШИННОГО ОБУЧЕНИЯ
P.A. Крымов, A.B. Хамухин
Произведен анализ алгоритмов компьютерного зрения, обладающие сложным набором параметров, существенно влияющих на качество получаемых результатов. Предложен подход к автоматизации путём сведения к задаче машинного обучения, имеющей ряд особенностей.
Ключевые слова: машинное обучение, алгоритмы обработки видеоинформации, конфигурирование алгоритмов.
Системы видеонаблюдения, основанные на автоматической обработке видеоинформации, призваны облегчить труд операторов, то есть должны сообщать о подозрительных случаях и не отвлекать в обычных ситуациях. В идеальном случае должны детектироваться все события, которые могут быть классифицированы как «тревога», и при этом не должно происходить ложных срабатываний. Условия, в которых функционируют такие системы, существенно различаются, например, освещение сцены в кадре может быть естественным или искусственным, могут наблюдаться объекты других классов, разрешение кадра видеопотока также может отличаться. Разрабатываемые алгоритмы компьютерного зрения характеризуются большим количеством параметров, среди которых присутствуют вещественные, целочисленные, логические (могут рассматриваться как целочисленные), а также сложно структурированные, например, маски, которые можно определить, как массив индикаторных функций над точками изображения. Такая сложная система параметров обеспечивает гибкость и возможность подстраиваться под конкретные условия использования. В то же время тонкая ручная настройка оказывается чрезмерно трудозатратной, поэтому становится актуальной задача автоматической настройки параметров алгоритмов анализа видеоинформации. Дополнительное уточнение параметров требует дополнительной информации, но полноценная покадровая разметка может потребовать слишком много человеческих ресурсов и не окупиться с точки зрения прироста качества работы алгоритмов. Поэтому, в отличие от полноценного тестирования алгоритмов компьютерного зрения [1], автонастройку их параметров предлагается проводить на основе неполной разметки, называемой в дальнейшем «слабой».
Постановка задачи. Задача может быть сформулирована в терминах машинного обучения следующим образом. Имеется набор из п видеофайлов V = {Vn}^=1, снабжённых «слабой» идеальной ручной разметкой Jw = {1п}п=ъ и семейство алгоритмов сД = {ар(У)|р G J3), зависящих от вектора параметров р. После обработки
видеоданных алгоритмом с заданными значениями параметров получается набор результатов Лр = [йр |йр = ар(1/п)] Соответствие автоматических результатов Л идеальной ручной разметке 0 оценивается с помощью заданных метрик качества Q(JR.,0>) = {с[т\с[т = Я_тО^>^У)т=ъ которые являются аддитивными относительно видеофайлов, то есть
N
n=1
При фиксированном наборе данных, ручной разметке и семействе алгоритмов метрики качества становятся функциями только параметров р
N N
/ш(Р) = Чт(Щ.Э) = X = X
п=1 п=1
Требуется определить оптимальный в плане метрик качества вектор параметров или список таких векторов, достаточно компактный для возможности ручного отбора.
Особенностью задачи является то, что, как уже упоминалось, используемая «слабая» ручная разметка видеоархива не является полной, точнее, она содержит лишь указания для некоторых кадров, что запечатленные на них события должны быть расценены как «тревога» или же должны быть проигнорированы. Используются две метрики (количество ложных срабатываний и количество пропусков), каждая из которых принимает только неотрицательные целочисленные значения. Как следствие, метрики качества оказываются не столь чувствительны к изменениям в работе алгоритмов.
Несмотря на то, что настраиваемый алгоритм видеоанализа фактически является классификатором (делает прогноз класса наблюдаемого объекта на каждом кадре), описанная задача существенно отличается от обучения классификатора на основе линейных моделей, нейронных сетей или решающих деревьев. В силу ранее описанных особенностей задачи, учитывая сложную структуру используемых алгоритмов и отсутствие аналитических формул, связывающие значения параметров с метриками качества, для автонастройки параметров оказываются неприменимыми методы поиска на основе градиентного спуска.
Важным требованием, предъявляемым к методу оптимизации параметров, является хорошая способность к распараллеливанию, с тем, чтобы расчёты можно было запускать на кластере вычислительных устройств. При этом информация о результатах предыдущих проверок качества работы алгоритмов с другими значениями параметров конфигурации может поступать с задержкой.
Обзор существующих решений. В самой общей постановке задача относится к классу многокритериальной оптимизации набора неизвестных функций нескольких переменных
(А(х) - /ш(х)} min.
хех
Для функций нет аналитических формул, известно только, что они принимают целочисленные значения, у них может быть, вообще говоря, несколько локальных оп-тимумов. Часть переменных могут принимать любые действительные значения из заданных диапазонов, часть - только целые значения, а множество поиска является декартовым произведением.
Для решения задачи со многими критериями потребуется переформулировать её в одном из следующих вариантов [2]:
1) выбор только одного (основного) критерия, остальные (второстепенные) не должны превышать заданные пороги ti, то есть рассматриваются как дополнительные ограничения типа неравенств
/i(x) min ;
71 v у хех /k(x)stk
2) построение нового критерия, например, как взвешенной (например, линейной) комбинации исходных, веса Wi определяются из некоторой экспертной оценки
m
/¿00 = / wkfk(x) min; ' - хех
k=1
3) построение множества точек, оптимальных по Парето (Парето-фронт). Первый вариант не подходит, поскольку нет даже примерного описания метрик как функций параметров алгоритмов, невозможно проводить отсев конфигураций, в которых второстепенные метрики будут превышать порог, без непосредственного запуска алгоритма обработки видео. Второй вариант потребует пересчёта оптимального значения при любом изменении относительной важности метрик, а также при замене линейного вхождения метрик на степенной, экспоненциальный, логарифмический или какой-нибудь другой закон.
Последний вариант постановки задачи представляется наиболее подходящим, поскольку на этапе расчётов не требует априорных экспертных оценок (порогов или весов) и позволяет получить более детальную картину качества работы алгоритмов. Тем не менее выбор итогового значения из полученных Парето-оптимальных остаётся на усмотрение эксперта, который может определить относительную важность метрик для конкретного случая.
Методы глобальной оптимизации можно разделить на две большие группы [3]: эвристические и рациональные - в зависимости от того, определяются ли точки, в которых будет вычислено значение функции, только на основе некоторых эвристик или с учётом информации о поведении оптимизируемой функции.
Методы из первой группы, также называемые пассивными, осуществляют перебор значений функции в точках, выбираемых так, чтобы покрытие множества поиска было равномерным в некотором смысле. Выбор точек может быть детерминированным (регулярная сетка, сетка из ЛПх-последовательности) или стохастическим (случайный поиск на заданной сетке, случайный поиск во множестве параметров). Эти методы содержат небольшое количество параметров: число различных значений по каждой из координат или общее число точек для поиска, которые могут быть просто оценены, исходя из временных ограничений на выполнение оптимизационной задачи. Также они эффективно распараллеливаются, поскольку значения функции в разных точках вычисляются не зависимо друг от друга.
Методы из второй группы, также называемые адаптивными, строят суррогатные модели, приближённо описывающие поведение функции, и делают оценки местоположения точки оптимума во множестве поиска. В качестве моделей могут использоваться аппроксимации степенными функциями (чаще всего линейные и квадратичные, как, например, в методе неравномерных покрытий [4]), а также популярные в приложениях машинного обучения нейронные сети или случайные леса решающих деревьев, используемые в методе SMAC (Sequential Model-based Algorithm Configuration) [5]. Эти методы содержат большое количество параметров, влияющих на скорость и качество решения оптимизационной задачи.
В последнее время получила широкое распространение задача автоматизации машинного обучения, основной частью которой является автоподбор гиперпараметров моделей. Для этого создаются отдельные функции и даже целые библиотеки, однако, их использование для описываемой задачи оказывается затруднительным и даже невозможным. Например, библиотеки автоматизации машинного обучения Auto-Sklearn [6], HPOlib [7], H20.ai [8] автоматически выбирают модель и её параметры среди уже реализованных в библиотеке и не предназначены для пользовательских моделей. Более простые функции GridSearchCV и RandomizedSearchCV модуля Model selection библиотеки SciKit-Learn [9] можно использовать с пользовательскими алгоритмами и метриками, но для этого требуется создание обёртки над обработчиками видеофрагментов и разметки с соответствующими интерфейсами. При этом реализованный в них функционал поиска методом перебора достаточно просто может быть воспроизведён.
Более подходящими для решения описанной задачи подбора гиперпараметров представляются программные комплексы для оптимизации функций произвольного вида или конфигурации алгоритмов. В качестве примеров можно привести модуль Optimize библиотеки SciPy [10], который содержит много различных алгоритмов оптимизации, а также пакет [11], реализующий упомянутый метод SMAC.
Как уже отмечалось ранее, методы оптимизации сами содержат большое количество параметров, и им самим может потребоваться настройка. Кроме того, методы оптимизации, реализованные в указанных библиотеках, предназначены для решения задач с одним критерием, поэтому для их использования потребуется переформулировать задачу в виде 1) или 2).
Реализованный алгоритм и полученные результаты. В ходе работы реализован алгоритм, осуществляющий поиск Парето-оптимальных конфигураций методом перебора. В качестве параметров поиска указываются метод (перебор по сетке или случайный поиск) и изменяемые параметры конфигурации, для каждого из которых задаются диапазон допустимых значений, количество различных значений или величина шага между соседними значениями.
С помощью созданного программного комплекса проведена автоматическая настройка конфигурации алгоритмов компьютерного зрения для детектирования возгорания на видео. Тестовая выборка состояла из двенадцати видеофрагментов, на первых шести огонь присутствовал, на вторых шести пламени не было, зато присутствовали яркие источники света, в частности, автомобильные фары. Результаты представлены в таблице, для сравнения приведены результаты для конфигурации, подобранной вручную.
Сравнение метрик качества для наборов значений параметров, полученных в ходе автоматической настройки и ручного подбора
Параметры Автоматическая настройка Ручной подбор
Номер видеофрагмента Пропуски Ложные срабатывания Пропуски Ложные срабатывания
1 1 1 1 0
2 0 0 1 0
3 0 1 1 0
4 0 0 1 0
5 0 0 1 0
6 0 0 1 0
7 0 0 0 0
8 0 1 0 0
9 0 0 0 0
10 0 0 0 0
11 0 0 0 0
12 0 3 0 2
Итого 1 из 7 6 6 из 7 2
Как можно заметить, автонастройка позволила повысить чувствительность алгоритма в сравнении с исходным набором параметров. При этом большое число пропусков у конфигурации, подобранной вручную, объясняется особенностями «слабой» ручной разметки и дискретностью метрик: алгоритм детектировал тревожные события на кадрах, более поздних, чем указанный в «слабой» разметке.
Заключение. Дальнейшее развитие работы будет направлено преимущественно на ускорение расчётов. Этого можно добиться двумя способами: уменьшением общего числа различных конфигураций, для которых будут рассчитаны метрики, и сокращением затрат на тестирование каждой конфигурации в отдельности. Первое направление требует пересмотра метода оптимизации, второе подразумевает возможность досрочного прекращения тестирования набора параметров, если прогнозируется, что он будет неоптимальным. Такое условие может быть реализовано разными спосо-
бами, начиная с простого контроля ухудшения метрики при обработке очередного видеофрагмента, заканчивая построением вероятностных моделей, предсказывающих для заданной конфигурации значения метрик на всём видеоархиве лишь по его подмножеству [12].
Список литературы
1. Хамухин А.В. Анализ методов тестирования алгоритмов автоматической обработки изображений. М.: Компания Спутник+, Естественные и технические науки, 2014. №1. С. 218-220.
2. Соболь И.М., Статников Р.Б. Выбор оптимальных параметров в задачах со многими критериями: учеб. пособие для вузов - 2-е изд., перераб. и доп. М.: Дрофа, 2006. 175 с.
3. Жиглявский А. А., Жилинскас А.Г. Методы поиска глобального экстремума. М.: Наука. Гл. ред. физ.-мат. лит., 1991. 248 с.
4. Евтушенко Ю.Г., Посыпкин М.А. Применение метода неравномерных покрытий для глобальной оптимизации частично целочисленных нелинейных задач, Ж. вычисл. матем. и матем. физ., 2011, Т. 51, №8. P. 1376-1389.
5. Hutter F., Hoos H.H., Leyton-Brown K. Sequential Model-Based Optimization for General Algorithm Configuration [Электронный ресурс] // Proceedings of the conference on Learning and Intelligent OptimizatioN (LION 5). 2011. P. 507-523.
6. Automated Machine Learning with scikit-learn. [Электронный ресурс] URL: https://github.com/automl/auto-sklearn (дата обращения: 11.11.2020).
7. HPOlib: A hyperparameter optimization library. [Электронный ресурс] URL: https://github.com/automl/HPOlib (дата обращения: 11.11.2020).
8. H2O AutoML. [Электронный ресурс] URL: https://www.h2o.ai/products/h2o-automl (дата обращения: 11.11.2020).
9. Tuning the hyper-parameters of an estimator. [Электронный ресурс] URL: https://scikit-learn.org/stable/modules/grid search.html (дата обращения: 11.11.2020).
10. Optimization and root finding (scipy.optimize). [Электронный ресурс] URL: https://docs.scipy.org/doc/scipy/reference/optimize.html (дата обращения: 11.11.2020).
11. Hutter F. et al SMAC v3: Algorithm Configuration in Python. [Электронный ресурс] URL: https://automl.github.io/SMAC3/master/ (дата обращения: 11.11.2020).
12. Karapetyan D., Parkes A., Stutzle T. Algorithm Configuration: Learning policies for the quick termination of poor performers. [Электронный ресурс] URL: https://arxiv.org/pdf/1803.09785.pdf (дата обращения: 11.11.2020).
Крымов Роман Алексеевич, программист-аналитик, rkrymov@elvees. com, Россия, Москва, НПЦ «ЭЛВИС»
Хамухин Анатолий Владимирович, д-р техн. наук, ведущий научный сотрудник, anatoly@elvees. com, Россия, Москва, НПЦ «ЭЛВИС»
MACHINE LEARNING APPROACH TO VIDEO PROCESSING ALGORITHMS
EFFICIENCY IMPROVEMENT
R.A. Krymov, A. V. Khamukhin
Computer vision algorithms have complex set of parameters that significantly influence their resulting quality. On the one hand, the bulk of variable parameters make video processing algorithms able to fit particular use cases. On the other hand, fine-tuning of even several parameters may require a lot of human resources unless this task is automated.
99
An approach to such automatization is provided considering a machine learning problem with several peculiarities. As result, automatically tuned parameters provides better quality than manually selected ones.
Key words: machine learning, parameters autotuting, algorithm configuration.
Krymov Roman Alekseevich, programmer-analyst, rkrymov@,elvees. com, Russia, Moscow, R&D Center «ELVEES»
Khamukhin Anatoly Vladimirovich, doctor of technical sciences, lead researcher, [email protected], Russia, Moscow, R&D Center «ELVEES»
УДК 004.94; 69
АНАЛИТИЧЕСКИЙ МЕТОД СРАВНЕНИЯ АЭРОДИНАМИКИ СООРУЖЕНИЙ
К.А. Калинин
Приводится описание метода проведения сравнительного анализа аэродинамики нескольких зданий с демонстрацией конкретных результатов давления ветра на стены зданий и скоростных показателей ветра при турбулентном его движении.
Ключевые слова: аэродинамика, анализ, аналитический метод, давление, ветер, информация, статистика.
При проектировании здания должны анализироваться сотни различных параметров, от которых зависит надежность конструкции, качество сооружения, скорость строительства, влияния здания на иные рукотворные объекты и природу, а также на акустическое, световое и иные виды загрязнения. Такой анализ без применения компьютерного моделирования провести довольно сложно, ведь придется прибегать к экспериментам, которых понадобиться значительное количество, а трудоемкость их проведения увеличит время, необходимое на проектирование. К тому же не все данные можно получить, опираясь исключительно на эксперимент, некоторые характеристики, например, загрязнение, влияние на другие сооружения можно получить, прибегнув только к аналитическому методу [1-3].
Снизить трудоемкость позволит применение программ, способных решить вышеописанные задачи, при этом в большинстве случаев результат получить необходимо в сжатые сроки и при этом полученные данные должны быть высокоточными, ведь от их качества зависит не только качество строительства, но и жизни людей. К подобным программам можно отнести программы, позволяющие решать комплексные задачи, с влияние множества факторов на результат. Ярким примером такой программы является Ansys, именно в ней и будет проводится сравнительный анализ аэродинамики нескольких зданий [4-6].
В работе проводится аналитическое сравнение нескольких зданий, на которые направлен ветер со скоростью 15 м/с, рассматривается при этом воздушный поток, направленный как перпендикулярно зданиям, так и под углом к ним.
На рис. 1 продемонстрированно влияние формы здания и его положения относительно ветра на скорость и распространение ветра.
Как показывает компьютерный виртуальный эксперимент, с подветренной стороны здания образуется зона, в которой практически не имеется ветра, наименьшая по площади зона наблюдается у С-образного здания, ветер на которое направлен под углом (рис. 1, г), при этом наибольшая площадь той самой зоны характерна также для С-образного здания (рис. 1, в).