УПРАВЛЕНИЕ, ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА
УДК 004.932
А. П. Кирпичников, С. А. Ляшева, М. П. Шлеймович
ОБНАРУЖЕНИЕ И СОПРОВОЖДЕНИЕ ЛЮДЕЙ В ИНТЕЛЛЕКТУАЛЬНЫХ ДЕТЕКТОРАХ
ВНЕШТАТНЫХ СИТУАЦИЙ
Ключевые слова: интеллектуальный детектор внештатных ситуаций, обнаружение людей на изображениях, сопровождение людей на изображениях, метод Виолы-Джонса, локальные бинарные шаблоны, гистограммы направленных градиентов, машины опорных векторов, алгоритм MeanShift, фильтр Кальмана, фильтры частиц.
В работе рассмотрены алгоритмы обнаружения и сопровождения людей на видеоизображениях в охранных системах.
Keywords: Intelligent detection of abnormal situations, detection ofpeople in the images, support people in the images, the method of Viola-Jones, the local binary patterns histogram gradient direction, support vector machines, the algorithm MeanShift, Kalman filter,
particle filters.
In this paper discusses algorithms for detection and tracking ofpeople on the videos in security systems.
В настоящее время для обеспечения безопасности людей широко применяются автоматизированные охранные системы.
Большинство охранных систем имеет в своем составе средства регистрации и анализа видеоинформации. Однако принятие решений в них, как правило, остается за человеком-оператором, что приводит к снижению точности и оперативности реагирования на внештатные ситуации, связанные с поведением людей на охраняемых территориях.
Значительно повысить эффективность охранных систем можно за счет увеличения степени их автоматизации при анализе изображений. Это обуславливает актуальность создания интеллектуальных детекторов для анализа внештатных ситуаций. Перечень ситуаций, которые необходимо выявить, связан с назначением и условиями функционирования конкретной охранной системы. Например, в случае обеспечения безопасности общественных мест может оказаться необходимым своевременное реагирование на скопление людей, их неадекватное поведение, обнаружение оставленных предметов, появление огня и дыма рядом с человеком, падение человека и др.
При разработке интеллектуальных детекторов внештатных ситуаций необходимо обеспечить заданные требования по времени и точности их работы. Обеспечить данные требования возможно, в первую очередь, за счет наиболее оптимальных методов и алгоритмов анализа видеоизображений.
Среди задач, решаемых в интеллектуальных детекторах внештатных ситуаций, можно выделить обнаружение и сопровождение людей на последовательных кадрах видеоизображения. Именно процедуры, решающие эти задачи, лежат в основе измерений параметров для анализа ситуаций, например, траектория и характер движения.
Под обнаружением объекта будем понимать определение некоторой области изображения, ограничивающей данный объект. На выходе процедуры обнаружения должно быть получено описание дан-
ной области, включающее ее положение на изображении, размеры и характерные особенности. Обнаружение может быть ручным или автоматическим. Ручное обнаружение объекта интереса заключается в просмотре кадров человеком-оператором и указании им области интереса. Автоматическое обнаружение подразумевает поиск области, содержащей объект, в соответствии с заданным критерием, например, допустимой степенью сходства с заданным шаблоном (изображение объекта или совокупность его характеристик).
Один из возможных подходов к решению задач обнаружения и сопровождения людей на изображениях состоит в использовании методов машинного обучения для построения моделей классов объектов [1]. Данные методы эффективно используются, например, для обнаружения лиц или фигур людей. В этом случае часто необходимо предварительно подготовить обучающую выборку - множество примеров объектов классов.
Например, для обнаружения лиц на изображениях в настоящее время активно применяется метод Виолы-Джонса, разработанный П.Виолой и М.Джонсом в 2001 г. [2]. В основе этого метода лежат интегральное представление изображения, применение признаков Хаара, каскадное комбинирование классификаторов и бустинг.
Интегральное представление изображения -это результат такого преобразования полутонового изображения, когда каждая точка (х, у) содержит сумму интенсивностей пикселей изображения, находящихся левее и выше этой точки, включая ее саму [3].
Признаки Хаара (рис. 1) состоят из смежных прямоугольных областей [4]. Эти области позиционируются на изображении, далее происходит суммирование интенсивности пикселей в областях, затем между суммами вычисляется разность. Преимущество использования признаков Хаара является наибольшая, по сравнению с остальными признаками, скорость. При использовании интегрального
представления изображения, признаки Хаара могут вычисляться за постоянное время. На этапе обнаружения в методе Виолы-Джонса используется окно, определенного размера, которое перемещается по изображению. Признак Хаара рассчитывается для каждой области изображения, соответствующей текущему положению окна. Наличие или отсутствие изображения искомого объекта в окне определяется разницей между значением признака и обучаемым порогом.
Рис. 1 - Признаки Хаара
Поскольку признаки Хаара мало подходят для обучения или классификации, для описания объекта с достаточной точностью необходимо большее число признаков. Поэтому в методе Виолы-Джонса используется каскадный классификатор, каждый элемент которого представляет собой простой (слабый) классификатор по одному из признаков Хаара вида:
П р]/](*) <
hj (z) =
0, иначе,
(1)
где pj - параметр, который показывает направление знака неравенства; в - пороговое значение; ¿{¿) - значение признака; г - окно изображения размером 24x24 пикселя; индекс ] определяет некоторый признак Хаара. Обучение каскадного классификатора осуществляется по схеме бустинга.
Идея бустинга была предложена Робертом Шапиро в конце 90-х гг. прошлого века, когда надо было найти решение вопроса о том, каким образом имея множество плохих (незначительно отличающихся от случайных) алгоритмов обучения, получить один хороший [5]. Она основана на следующих соображениях [6]. При решении сложных задач распознавания образов часто оказывается, что ни один из алгоритмов не обеспечивает желаемого качества результата. В таких случаях можно построить композиции алгоритмов, в которых ошибки отдельных алгоритмов взаимно компенсируются. Примерами таких алгоритмов являются простое и взвешенное голосование. Таким образом, схема бустинга имеет следующую структуру: сначала вычисляются оценки принадлежности объекта распознавания классам, а затем решающее правило переводит эти оценки в метку класса. Значением оценки может быть веро-
ятность принадлежности объекта классу, расстояние от объекта до разделяющей поверхности, степень уверенности классификации и т.п. В случае метода Виолы-Джонса оценивается обнаружение в окне изображения заданного объекта.
Также эффективным соотношением между точностью, временем и ресурсоемкостью обладают методы обнаружения лиц на основе локальных бинарных шаблонов [7].
Локальные бинарные шаблоны используются для описания текстурных характеристик изображений. Локальный бинарный шаблон LBP (Local Binary Pattern) представляет собой описание окрестности точки изображения в двоичной форме. Оператор LBP, который применяется к пикселу изображения, использует N пикселов окрестности, принимая центральный пиксел в качестве порога. Пикселы окрестности, интенсивности которых больше или равны интенсивности центрального пиксела принимают значения 1, а остальные - значения 0. Таким образом, получается N-разрядный бинарный код, который описывает окрестность пиксела:
N-1
LBP(xc, ,ус) = X s(gi - gc )2г
i=0
(2)
где xc, yc - координаты пиксела, gc - интенсивность пиксела, gi - интенсивности пикселов окрестности, i = 0, ..., N - 1, s - пороговая функция, определяемая следующим образом:
f1, x > 0,
s( x)=L 0' (3)
[0, x < 0.
Обычно используются восьмиразрядные LBP. Локальный бинарный шаблон называется равномерным, если он содержит не более трех серий 0 и 1 (например, 00000000, 001110000 и 11100001). Равномерные локальные бинарные шаблоны определяют только наиболее важные локальные особенности изображения и обеспечивают существенное сокращение множества различных кодов. Для описания области изображения на основе LBP используется гистограмма кодов. Для обнаружения лиц с помощью данного подхода необходимо также подготовить обучающую выборку с изображениями лиц. Каждое из них разбивают на прямоугольные области, для которых строят гистограммы LBP-кодов. Для описания изображения полученные гистограммы объединяют в одну.
Еще один из наиболее популярных подходов к обнаружению людей на изображениях основан на гистограммах направленных градиентов (HOG, Histogram of Oriented Gradients). Основная идея, лежащая в основе этого подхода, заключается в том, что изображение объекта может быть достаточно хорошо описано распределением градиентов интенсивности пикселей. Базовой единицей описания изображения с помощью HOG-признаков является блок - прямоугольная область изображения. Блок состоит из ячеек, содержащих пиксели. Каждой ячейке ставится в соответствие гистограмма направлений градиентов (углов наклона относительно горизонтали) из заданного количества каналов (карманов, полос), при этом знаки углов не учитываются, т.е. углы а и -а считаются эквивалентными. Для
этого каждый пиксель в ячейке участвует во взвешенном голосовании для каналов гистограммы направлений, основанном на значении градиентов. При распределении весов в голосовании вес пикселя может задаваться либо абсолютным значением градиента, либо некоторой функцией от него. После вычисления гистограмм в каждой ячейке блока, они соединяются, тем самым образуя вектор признаков блока, который затем нормализуется. Такие признаковые описания вычисляются для всех блоков изображения. При этом, как правило, блоки перекрываются, т.е. градиент пикселя учитывается при вычислении признаковых описаний нескольких блоков. HOG-описание изображения получается путем объединения векторов признаков всех блоков [1].
При обнаружении на кадре изображения человека часто необходимо выполнить его идентификацию. Например, необходимо убедиться, что найденное на текущем кадре лицо принадлежит тому человеку, для которого осуществляется анализ поведения. Кроме того, иногда требуется точно определить, присутствует ли заданный человек в кадре. Для этой цели служат методы распознавания образов.
Одним из подходов здесь является корреляционное сопоставление областей изображений. Оно осуществляется сравнением найденного на текущем кадре изображения объекта с соответствующими изображениями на предыдущих кадрах. При этом считается, что значение корреляционной функции, превышающее заданное пороговое значение, соответствует успешной идентификации.
В случае известного объекта могут применяться методы машинного обучения. Например, в настоящее время одним из лучших методов классификации считается метод опорных векторов SVM (support vector machine, машины опорных векторов) [6, 8, 9], который обладает несколькими замечательными свойствами:
1) обучение сводится к задаче квадратичного программирования, имеющей единственное решение, которое вычисляется достаточно эффективно даже на выборках в сотни тысяч объектов;
2) решение обладает свойством разреженности, т. е. положение оптимальной разделяющей гиперплоскости зависит лишь от небольшой доли обучающих объектов, которые и называются опорными векторами, а остальные объекты фактически не задействуются;
3) с помощью введения функции ядра метод обобщается на случай нелинейных разделяющих поверхностей.
Рассмотрим метод SVM более подробно. Пусть имеется множество обучающих примеров {(Xi, Y,), i = 1, ..., L}, где X,- n-мерный вектор признаков /-го объекта обучающей выборки, Y, - метка класса /-го объекта, Yt е {-1, +1}. В случае случая линейно разделимых классов уравнение разделяющей гиперплоскости записывается следующим образом:
WTX + b = 0, (4)
где W - вектор весов, b - пороговое значение, что определяет решающее правило классификации:
WTX, + b > 0 ^ Y, =+1, WTX, + b < 0 ^ Y =-1.
Для данного вектора весов и порогового значения расстояние между гиперплоскостью и ближайшей точкой из набора данных называется границей разделения. Основной задачей, решаемой методом опорных векторов, является поиск конкретной гиперплоскости, для которой граница разделения будет максимальной. При этом условии поверхность решения называется оптимальной гиперплоскостью.
Пусть и Ь0 - оптимальные значения вектора весов и порога соответственно. Исходя из этого, оптимальную гиперплоскость, представляющую многомерную линейную поверхность решений в пространстве признаков, можно описать уравнением:
WTX+bo = о.
(6)
При этом разделяющая функция имеет вид:
g (X) = WaTX + bo = 0.
(7)
Она определяет алгебраическую меру расстояния от точки X до оптимальной гиперплоскости.
Точку X в признаковом пространстве можно выразить следующим образом:
W
X = Xp + r-2-
p II Wo ||
(8)
где Хр - нормальная проекция точки X на оптимальную гиперплоскость, г - расстояние от точки до оптимальной гиперплоскости (величина г положительна либо отрицательна в зависимости от того с
какой стороны от нее находится точка X). учетом (7) и (8) получаем:
С
g (X) = WT
Xp + r
W0
IIW0II,
+ bo =
WTW0
= WT0XV + r o p II W0 II
+ bo =
(9)
WoTW0
l|2
= r-
= r Wit = r II W0II
II »0 II II »0 II
или
r =
g (X)
IIW0II
(10)
Точки, ближайшие к разделяющей гиперплоскости, являются опорными векторами. Геометрический зазор - это максимальная ширина полосы, которую можно провести между опорными векторами двух классов, т.е. это значение, превышающее в два раза минимальное значение г, вычисленное по формуле (10). Поскольку масштабирование параметров и Ь0 не меняет величину геометрического зазора, то можно ввести следующее условие:
WT х, + bo >+1 ^ y, =+1, WTX, + bo <-1 ^ Y, =-1.
(11)
Выполнение неравенств (15) эквивалентно неравенству вида:
Y, (WTX, + bo) > 1.
(12)
В итоге для всех точек должно выполняться неравенство (16) и должны существовать опорные векторы, для которых оно превращается в равенство. Поскольку расстояние г, от точки X, до гиперплоскости равно
г = У,
( ШТ0Х1 + ъ0 Л
\\WoW
(13)
(14)
то геометрический зазор равен
2
Р =-.
Таким образом, требуется найти значения параметров Ж и Ъ, удовлетворяющие следующим условиям:
1) достигается максимум величины геомет-
2
рического зазора р =-,
!! Ж ||
2) при всех (X, У,) из множества обучающих
примеров справедливо: У, (Ж X, + Ъ) > 1. Задача максимизации величины
2
экви-
валентна
|| Ж || величины
задаче минимизации
|| Ж || 1 ЖЖ
.и—- = — у/Ж Ж и, следовательно, задаче миними-22
1 т
зации величины — Ж Ж. Это приводит к следующей формулировке задачи оптимизации в методе опорных векторов:
найти значения параметров Ж и Ъ, удовлетворяющие следующим условиям: 1т
1) величина — Ж Ж достигает минимума,
2) при всех (X, У) из множества обучающих примеров справедливо: У, (ЖтX, + Ъ) > 1.
Данная формулировка соответствует задаче квадратичной оптимизации. Для того, чтобы найти ее решение, необходимо сформулировать двойственную задачу, в которой с каждым линейным ограничением У, (ЖтXi + Ъ) > 1 прямой задачи связан соответствующий множитель Лагранжа а. В такой формулировке требуется найти а1, а2, ..., аы, при которых:
Ь л Ь Ь
Ь 1 Ь Ь
1) величина £аг —££
,=1 2 ,=1 ] =1
а,аJУX;X, 1 ] 1 ] 1 ]
достигает максимума,
2) £ аУ = о,
3) а > 0 при всех , = 1, 2, ..., Ь.
Решение этой задачи имеет следующий вид:
Жо =£аг
,=1
Ъо = Ук - жJxk: ак * 0.
(15)
В этом решении большинство параметров а равно нулю. Каждое ненулевое значение а означает, что соответствующий вектор X, является опор-
ным. Таким образом, функция классификации имеет следующий вид:
( Ь \
g(X) =
YJа1У1XTX + Ъо
V ¿=1
(16)
В случае, когда классы не являются линейно разделимыми, выполняется отображение классифицируемых точек в пространство более высокой размерности:
Ф: X ^ фЩ. (17)
Это равносильно переходу от скалярного произведения X1: X в выражении (16) к ядру K(X■, X):
К(X,, X) = ф(X¡ )т ф(X). (18)
Ядро К должно быть непрерывным, симметричным, а также иметь положительно определенную матрицу Грама. Эти условия гарантируют, что существуют отображение в воспроизводящее ядро гильбертова пространства (гильбертово пространство - векторное пространство, полное относительно скалярного произведения), т. е. пространство, скалярное произведение в котором совпадает со значением функции К. Наиболее распространенными семействами ядер являются:
- полиномиальные ядра:
К(и,V) = (1 + ыту)й , (19)
- функции радиального базиса:
К(ы, V) = ехр(-^|| и - V ||2). (20)
Стандартный метод опорных векторов предназначен для бинарной классификации. Для случая нескольких классов наиболее часто применяются следующие два подхода:
1. Создается набор классификаторов, работающих по принципу «один против остальных» или «один против всех», а затем выбирается класс, на котором объект отстоит дальше всего от разделяющей поверхности;
2. Создается набор бинарных классификаторов, а затем выбирается класс, предложенный большинством классификаторов.
Следует отметить, что 8УМ часто используется с другими подходами, например, совместно с гистограммами направленных градиентов для обнаружения и сопровождения людей на изображениях. На этом базируется метод обнаружения объектов на изображении, называемый Ьа1еШ8УМ [10].
Поиск на кадрах видеопоследовательности лиц и их идентификация описанными выше методами требует значительного времени. Менее ресурсоемким и при этом достаточно эффективным является алгоритм сдвига среднего, который принято называть Меап8Ый [3].
В основе метода Меап8ЫШ: лежит ядерная оценка плотности распределения:
1 " 1
/ (х) =-£ К (х - х;) =-£ ск
П ,=1 П ,=1
( 2 Л
х - х; |
к
V /
(21)
где х; - вектора признаков точек распределения; , = 1, ..., п; К - ядро распределения; к - ядерная функция (или парзеновское окно); к - размер парзе-новского окна.
,=1
Градиент функции /x) имеет следующий
вид:
V/(x) = -ZVK(x-x;) =
n i=1
Z g
i =1
f 2 Л
x - x i
h
V
Z xi g
i=1
2 Л
x - x i
h
/
Z g
i=1
f 2 Л
x - x i
h
V /
(22)
где g(г) = -к'(г) - функция первой производной ядерной функции.
Выражение (22) в качестве сомножителя содержит вектор сдвига среднего с ядром
G(x) = cg
f 2Л
x - x i
h
V
m(x) =
Z xi g
i=1
2Л
x - x i
h
/
Zg
i=1
f 2Л
x - x i
h
V /
--x .
(23)
Из выражения (23) видно, что сдвиг среднего представляет собой нормализованный градиент плотности, задаваемой ядром О.
В общем виде алгоритм сдвига среднего можно сформулировать следующим образом:
1. Определить положение и характеристики центра масс области с заданным объектом на первом кадре видеопоследовательности;
2. Для каждого последующего кадра:
2.1. Вычислить вектор сдвига среднего относительно предыдущего центра масс;
2.2. Переместить центр масс в соответствии в новое положение;
2.3. Если центр масс не изменился, то перейти к анализу следующего кадра, иначе - перейти к шагу 2.1.
Повысить устойчивость алгоритма можно за счет уточнения положения предполагаемой области изображения с сопровождаемым объектом на основе описанных выше методов. Поскольку уточнение можно проводить достаточно редко (не на каждом шаге цикла обработки), это не сильно замедлит процедуру. Например, в литературе описаны алгоритмы, базирующиеся на применении расстояния Бха-тачария. В качестве модификации указанных алгоритмов можно предложить использование гистограмм кодов, полученных с помощью оператора локальных бинарных шаблонов. Еще одно развитие метода Меап8Ый связано с адаптивным обучением системы, например методом 8УМ, в процессе сопровождения. Это может помочь обнаружить объект, в случае его потери на некотором кадре.
Сопровождение объектов на изображении можно рассматривать как задачу теории управления, которая заключается в оценке состояния системы на основе последовательности зашумленных измерений. В этом случае строится модель наблюдения и модель состояния. При обработке кадров видео-
изображения последовательно выполняется предсказание и коррекция данных моделей [1].
Одними из часто применяемых алгоритмов данного класса являются алгоритмы, базирующиеся на фильтре Кальмана [1, 11]. Они строятся в предположении, что движение является линейным, а шумы описываются функцией гауссова распределения с нулевым математическим ожиданием. Однако на практике данные условия часто не выполняются. Поэтому алгоритмы сопровождения на основе фильтра Кальмана могут давать значительные ошибки.
Более общим подходом к решению задач сопровождения являются фильтры частиц, основанные на методах Монте-Карло [1, 12, 13]. Данный подход предполагает создание и анализ набора частиц (выборок). Каждая частица предсказывает положение отслеживаемого объекта. Действительным положением объекта на кадре считается математическое ожидание положений, задаваемых частицами. Достоинством фильтров частиц является возможность естественного распараллеливания, что позволяет значительно повысить скорость отслеживания объектов на изображениях.
Алгоритмы обнаружения и сопровождения людей на изображениях служат основой для анализа траектории их движения. В результате данного анализа можно, например, выявить частую смену направлений (праздношатание), внезапное изменение характера движения (резкий переход на бег или внезапный останов), появление человека в неположенном месте (несанкционированное проникновение). Методы анализа как раз и определяют степень интеллектуализации детектора внештатных ситуаций. Точность и оперативность решения задач с помощью этих методов в значительной степени зависят от описанных алгоритмов обработки видеоизображений.
Литература
1. Разработка мультимедийных приложений с использованием библиотек OpenCV и IPP [Электронный ресурс] //Национальный Открытый Университет «ИНТУ-ИТ» [Офиц. сайт]. URL: http://www.intuit.ru/studies/courses/10622/1106/info.
2. Введение в естественно-интуитивное взаимодействие с компьютером [Электронный ресурс] // Национальный Открытый Университет «ИНТУИТ» [Офиц. сайт]. URL: http://www.intuit.ru/studies/courses/10619/1103/info.
3. Цифровая обработка видеоизображений / А.А.Лукьяница, А.Г.Шишкин. - М.: «Ай-Эс-Эс Пресс», 2009.
4. Кирпичников А.П., Ляшева С.А., Шлеймович М.П. Контекстный поиск изображений //Вестник Казанского технологического университета. - Казань: КНИТУ, 2014. - Т. 17. №18. - С. 244-251.
5. Распознавание лиц на основе применения метода Виолы-Джонса, вейвлет-преобразования и метода главных компонент / Буй Тхи Тху Чанг, Фан Нгок Хоанг, В. Г. Спицын // Известия Томского политехнического университета. - 2012. - Т. 320, № 5: Управление, вычислительная техника и информатика. - С. 54-59
6. Воронцов К.К. Машинное обучение (курс лекций) [Электронный ресурс] // Профессиональный информационно-аналитический ресурс, посвященный машинному обучению, распознаванию образов и интеллектуаль-
x
ному анализу данных. URL:
http://www. machinelearning.ru.
7. Matti Pietikinen, Abdenour Hadid, Guoying Zhao, Timo Ahonen Computer Vision Using Local Binary Patterns. -Springer; 2011.
8. Хайкин С. Нейронные сети: полный курс, 2-e издание: Пер. с антл. - М. Издательский дом «Вильямс», 2006.
9. Манинг К.Д., Рагхаван П., Шютце Х. Введение в информационный поиск: Пер. с англ. - М.:ООО «И.Д. Вильямс», 2011.
10. Felzenszwalb P.F., Girshick R.B., McAllester D., Ramanan D. Object Detection with Discriminatively Trained
Part Based Models // Pattern Analysis and Machine Intelligence. 2010. V. 32, № .9. P. 1627-1645.
11. Форсайт Д.А., Понс Ж. Компьютерное зрение. Современный подход: Пер. с англ. - М.: Издательский дом «Вильямс», 2004.
12. Кирпичников А.П., Ляшева С.А., Шлеймович М.П. Обнаружение и сопровождение объектов в бортовых системах обработки изображений //Вестник Казанского технологического университета. - Казань: КНИТУ, 2014. - Т. 17. №13. - С. 331-334.
13. Emilio Maggio, Andrea Cavallaro Video tracking: theory and practice / Andrea Cavallaro, Emilio Maggio. - John Wiley & Sons, Ltd.
© А. П. Кирпичников - д. ф.-м. н., зав. каф. интеллектуальных систем и управления информационными ресурсами КНИТУ, kirpichnikov@kstu.ru; С. А. Ляшева - к.т.н., доцент кафедры прикладной математики и информатики КНИТУ-КАИ; М. П. Шлеймович - к.т.н., доцент кафедры автоматизированных систем обработки информации и управления КНИТУ-КАИ, shlch@mail.ru.
©A. P Kirpichnikov - Dr. Sci, Head of the Department of Intelligent Systems & Information Systems Control, KNRTU, kirpichnikov@kstu.ru; S. A. Lyasheva - PhD, Associate Professor of the Department of Applied Mathematics & Informatics, KNRTU-KAI; M. P.Shleymovich - PhD, Associate Professor of the Department of Automated Information Processing Systems & Control, KNRTU-KAI, shlch@mail.ru.