Опубликован: 02.09.2013 | Доступ: свободный | Студентов: 429 / 54 | Длительность: 19:27:00

Лекция 3: Детекторы и дескрипторы ключевых точек. Алгоритмы классификации изображений. Задача детектирования объектов на изображениях и методы её решения

< Лекция 2 || Лекция 3: 1234 || Лекция 4 >

3. Задача классификации изображений и методы ее решения

3.1. Алгоритмы класса bag-of-words

К одному из наиболее распространенных классов алгоритмов классификации изображений можно отнести так называемые bag-of-words (также известные как bag-of-features или bag-of-keypoints) методы, впервые предложенные в работе [27]. Фактически bag-of-words использует в качестве описания гистограмму вхождений отдельных шаблонов в изображение. Корни идеи восходят к задаче классификации текстов, для решения которой используют описания в виде гистограмм вхождений в документ слов из заранее составленного словаря.

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

Основные шаги алгоритмов класса bag-of-words могут быть описаны следующим образом:

  1. Детектирование ключевых точек на изображении
  2. Построение описания (дескрипторов) локальных окрестностей ключевых точек
  3. Кластеризация дескрипторов ключевых точек, принадлежащих всем объектам обучающей выборки (это соответствует построению словаря, "словами" в котором являются центроиды построенных кластеров)
  4. Построение описания каждого изображения в виде нормированной гистограммы встречаемости "слов" (для каждого кластера вычисляется количество отнесенных к нему ключевых точек, принадлежащих определенному изображению)
  5. Построение классификатора, использующего вычисленное на шаге 4 признаковое описание изображения.

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

Одним из недостатков классического bag-of-words подхода является то, что он никак не учитывает пространственную информацию о распределении ключевых точек на изображении. Это приводит к тому, что описания объектов со схожими по дескрипторам наборами ключевых точек, находящимися в совершенно разных конфигурациях, совпадают. Для того чтобы учесть пространственную информацию, было предложено несколько подходов. Так, в работе [143] используются т.н. кореллограммы визуальных слов, позволяющие эффективно моделировать типовые пространственные корреляции между визуальными словами для определенных классов. В работе [144] рассматривается двухуровневая иерархическая модель, в которой объект представляется P частями, к каждой из которых относится N_p ключевых точек. Широкое развитие получил подход, в котором используется сопоставление пространственных пирамид признаков (де-факто, объект описывается не одной гистограммой, а объединением гистограмм, соответствующих отдельным частям изображения). Подробное изложение подхода приведено в разделе 3.2.

3.2. Сопоставление пространственных пирамид

Пусть X и Y – два множества векторов в d-мерном пространстве признаков (данные множества векторов соответствуют наборам дескрипторов ключевых точек). В работе [52] предложена схему сопоставления пирамид, которая находит приблизительное соответствие между двумя множествами такого типа. Данный алгоритм работает следующим образом: пространство признаков разбивается на последовательность вложенных друг в друга подобластей (ячеек) и вычисляется взвешенная сумма числа совпадений на всех уровнях разбиения. Для каждого фиксированного уровня две точки считаются соответствующими, если они принадлежат одной подобласти, совпадения на более детальных уровнях разбиения учитываются с большим весом, чем соответствия, найденные на более грубых уровнях разбиения.

Пусть имеется (L + 1) уровней разбиения 0,…L, где l-ому уровню соответствует 2^l ячеек по каждой размерности (таким образом, общее число ячеек на l-ом уровне равно D=2^{dl}). Пусть H_{X}^l и H_{Y}^l – гистограммы, описывающие множества X и Y, в которых >H_{X}^l(i) и H_{Y}^l(i) соответствует числу точек из X и Y, которые относятся к i-ой ячейке. Тогда число совпадений на l-ом уровне разбиения вычисляется с помощью функции пересечения гистограмм:

I(H^l_X,H^l_Y)=\sum^D_{i=1} {min(H^l_X(i)),H^l_Y(i))}

Необходимо отметить, что число совпадений, найденных на уровне l, также включает в себя число совпадений, найденных на уровне l+1, поэтому число новых совпадений, найденных на уровне l, вычисляется как I-I^{l+1} для всех l  =  0,…,L-1. Вес, соответствующий уровню l, устанавливается равным \frac 1 {2^{L-l}} , что обратно пропорционально ширине ячейки на этом уровне. С практической точки зрения кажется целесообразным установить меньший вклад в итоговую функцию числа совпадений совпадения, найденные на более грубых уровнях разбиений, т.к. они включают в себя явно непохожие друг на друга признаки.

Суммируя функции пересечения гистограмм на всех уровнях, получаем функцию ядра сопоставления пирамид:

\tau^L(X,Y)=I^L+\sum^{L-1}_{l=0} {\frac 1 {2^{L-l}} (I^l-I^{l+1})}=\frac 1 {2^L} I^0 + \sum^L_{l=1} {\frac 1 {2^{L-l+1}}I^L }

Очевидно, что приведенная выше схема работает с неупорядоченным представлением изображения (функции, описанной выше, не важно расположение ключевых точек внутри изображения). Это позволяет точно сопоставить 2 набора признаков в многомерном пространстве, игнорируя при этом всю пространственную информации об их расположении на изображении. Авторами схемы сопоставления пространственных пирамид в работе [67] предложен альтернативный подход: выполнять сопоставление пирамид в двухмерном пространстве и использовать алгоритмы кластеризации в пространстве признаков. Все вектора признаков квантизуются к M дискретным типам (что соответствует отнесению вектора признаков к одному из M кластеров), и делается предположение, что только признаки одного типа могут соответствовать друг другу. Каждому значению m = 1,…,M соответствует набор двухмерных векторов X_m и Y_m, представляющих координаты векторов признаков типа m, найденных на изображении. Итоговая функция ядра сопоставления пирамид является суммой отдельных ядер для каждого типа признаков:

K^L(X,Y)=\sum^M_{m=1} {\tau^L(X,Y)}

Так как функция ядра сопоставления пирамид является взвешенной суммой функций пересечения гистограмм, можно представить K^L(X,Y) как единую функцию пересечения гистограмм для векторов признаков, полученных конкатенаций соответствующим образом взвешенных гистограмм, относящихся ко всем M типам признаков и ко всем уровням пирамиды. Для L уровней и M типов признаков результирующий вектор будет иметь размерность \frac M 3 (4^{L+1}-1). Однако в силу разреженности гистограмм сложность вычисления ядра является линейной от числа признаков.

3.3. Модели объектов, основанные на частях

Одним из наиболее известных подходов к классификации объектов является использование моделей объектов, основанных на частях (part- based models). В отличие от bag-of-words методов с добавленной информацией о расположении ключевых точек алгоритмы данного класса явно учитывают взаимное расположение различных частей объекта. Впервые подход был представлен в работе [142] для задачи классификации лиц.

Модель лица [142]

Рис. 3.4. Модель лица [142]

Основными элементами моделей объектов, основанных на частях, являются:

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

Конфигурация, которой описывается взаимное расположение частей объекта, является одним из ключевых факторов, влияющих на качество и быстродействие для моделей данного класса. Если предположить, что объект содержит P частей, при этом для каждой части на изображении возможно N различных положений, то в данном случае имеется N^P различных конфигураций, что накладывает ограничение на практическую применимость методов в силу вычислительной сложности (при сопоставлении частей классифицируемого изображения с частями обученной модели (т.н. вывода (inference)) приходится выполнить O(N^P) операций. Ряд используемых моделей представлено на рис.3.5 [140]

Структурa связей между частями объекта

увеличить изображение
Рис. 3.5. Структурa связей между частями объекта

a) Constellation ("созвездие") [135] (вычислительная сложность вывода O(N^P))

b) Star ("звезда") [134] (вычислительная сложность вывода O(N^2))

c) k-fan [136] (вычислительная сложность O(N^k), где k – число частей в клике графа, являющейся основой модифицированной структуры типа "звезда")

d) Tree ("дерево") [137] (вычислительная сложность вывода O(N^2(P-1)+NP) с при использовании основанного на динамическом программировании алгоритма Витерби [141])

e) Bag-of-features [138]

f) Hierarchy (иерархическая структура, описывающая зависимость между частями объекта и их объединениями (укрупненными частями)) [139]

g) Sparse flexible models (направленный ациклический граф, описывающий отношение между частями объекта) [140]

Для представления отдельных частей объекта могут использоваться как дескрипторы ключевых точек (например, SIFT), так и другие признаки, например результаты PCA преобразования интенсивностей пикселей внутри патча, соответствующего части изображения, гистограммы ориентированных градиентов (HoG) [26] и т.д.

При обучении представления отдельных частей объекта используются как генеративные (например, Байесов классификатор), так и дискриминативные алгоритмы машинного обучения, которые отличаются лучшей точностью предсказания. В частности, в работе [39] был предложен подход, основанный на описании частей объекта в виде гистограмм ориентированных градиентов, для обучения представления отдельных частей используется скрытый метод опорных векторов (Latent SVM).

< Лекция 2 || Лекция 3: 1234 || Лекция 4 >
Андрей Терёхин
Андрей Терёхин

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

Демянчик Иван
Демянчик Иван

В главе 14 мы видим понятие фильтра, но не могу разобраться, чем он является в теории и практике.

" Искомый объект можно описать с помощью фильтра F= \lbrace f_{x',y'},x' \in \lbrace0, ...,w_f \rbrace , y' \in \lbrace 0,...,h_f \rbrace \rbrace "