Опубликован: 20.08.2013 | Уровень: для всех | Доступ: платный | ВУЗ: Новосибирский Государственный Университет
Лекция 3:

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

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

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

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_{X}^{l},H_{Y}^{l}) = \sum_{i=1}^D{min(H_{X}^{l}(i),H_{Y}^{l}(i))}

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

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

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

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

K^{L}(X,Y) = \sum_{m=1}^{M}{\tau^{L} (X_{m},Y_{m})}

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

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

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

Модель лица

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

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

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

Конфигурация, которой описывается взаимное расположение частей объекта, является одним из ключевых факторов, влияющих на качество и быстродействие для моделей данного класса. Если предположить, что объект содержит 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^{P}(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 >
Александра Максимова
Александра Максимова

При прохождении теста 1 в нем оказались вопросы, который во-первых в 1 лекции не рассматривались, во-вторых, оказалось, что вопрос был рассмаотрен в самостоятельно работе №2. Это значит, что их нужно выполнить перед прохождением теста? или это ошибка?
 

Алена Борисова
Алена Борисова

В лекции по обработке полутоновых изображений (http://www.intuit.ru/studies/courses/10621/1105/lecture/17979?page=2) увидела следующий фильтр:


    \begin{array}{|c|c|c|}
    \hline \\
    0 & 0 & 0 \\
    \hline \\
    0 & 2 & 0 \\
    \hline \\
    0 & 0 & 0 \\
    \hline 
    \end{array} - \frac{1}{9} \begin{array}{|c|c|c|}
    \hline \\
    0 & 0 & 0 \\
    \hline \\
    0 & 1 & 0 \\
    \hline \\
    0 & 0 & 0 \\
    \hline 
    \end{array}

В описании говорится, что он "делает изображение более чётким, потому что, как видно из конструкции фильтра, в однородных частях изображение не изменяется, а в местах изменения яркости это изменение усиливается".

Что вижу я в конструкции фильтра (скорее всего ошибочно): F(x, y) = 2 * I(x, y) - 1/9 I(x, y) = 17/9 * I(x, y), где F(x, y) - яркость отфильтрованного пикселя, а I(x, y) - яркость исходного пикселя с координатами (x, y). Что означает обычное повышение яркости изображения, при этом без учета соседних пикселей (так как их множители равны 0).

Объясните, пожалуйста, как данный фильтр может повышать четкость изображения?

Сергей Кротов
Сергей Кротов
Россия
Дмитрий Донсков
Дмитрий Донсков
Россия, Москва, Московский Авиационный Институт