Новосибирский Государственный Университет
Опубликован: 20.08.2013 | Доступ: свободный | Студентов: 858 / 36 | Длительность: 14:11:00
Лекция 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).

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