При прохождении теста 1 в нем оказались вопросы, который во-первых в 1 лекции не рассматривались, во-вторых, оказалось, что вопрос был рассмаотрен в самостоятельно работе №2. Это значит, что их нужно выполнить перед прохождением теста? или это ошибка? |
Классификация изображений с использованием bag-of-words методов
Презентацию к лекции Вы можете скачать здесь.
Дополнительные материалы Вы можете скачать здесь.
Введение
В лабораторной работе рассматривается один из наиболее распространенных классов алгоритмов классификации изображений: так называемые bag-of-words (также известные как bag-of-features или bag-of-keypoints) методы [13 ]. Фактически bag-of-words подход использует в качестве описания гистограмму вхождений отдельных шаблонов в изображение. Корни идеи восходят к задаче классификации текстов, для решения которой используют описания в виде гистограмм вхождений в документ слов из заранее составленного словаря.
Основные шаги алгоритмов класса bag-of-words могут быть описаны следующим образом:
- Детектирование ключевых точек на изображении.
- Построение описания (дескрипторов) локальных окрестностей ключевых точек.
- Кластеризация дескрипторов ключевых точек, принадлежащих всем объектам обучающей выборки (это соответствует построению словаря, "словами" в котором являются центроиды построенных кластеров).
- Построение описания каждого изображения в виде нормированной гистограммы встречаемости "слов" (для каждого кластера вычисляется количество отнесенных к нему ключевых точек, принадлежащих определенному изображению).
- Построение классификатора, использующего вычисленное на шаге 4 признаковое описание изображения.
На дескрипторы, используемые алгоритмами данного класса, накладываются определенные ограничения: в частности, они должны быть инварианты к аффинным преобразованиям изображения, изменениям в условиях освещенности и перекрытиям. Словарь дескрипторов ключевых точек должен быть достаточно большим, чтобы отражать релевантные изменения частей изображения, но в то же время не чрезмерным, чтобы сделать алгоритм устойчивым к шуму.
В настоящей работе рассматривается ряд методов детектирования ключевых точек и построения их дескрипторов, обучения словаря с использованием алгоритма кластеризации k-средних(KMeans) [5 ], а также построения признаковых описаний объектов на основе данного словаря. Приводятся примеры использования алгоритмов обучения с учителем для классификации изображений с использованием вычисленных признаковых описаний. В работе демонстрируется использование соответствующих операций на базе средств открытой библиотеки компьютерного зрения OpenCV [19 ].
1. Методические указания
1.1. Цели и задачи работы
Цель данной работы – изучить bag-of -words подход для классификации изображений с использованием соответствующих функций библиотеки компьютерного зрения OpenCV.
Данная цель предполагает решение следующих задач:
- Изучить bag-of-words подход для классификации изображений и принцип работы базовых операций обработки изображений:
- детектирование ключевых точек на изображении;
- вычисление дескрипторов ключевых точек;
- построение словаря дескрипторов ключевых точек;
- вычисление признакового описания изображений с использованием словаря дескрипторов ключевых точек;
- обучение классификатора "случайный лес" и предсказание категорий новых изображений.
- Рассмотреть прототипы функций, реализующих перечисленные операции в библиотеке OpenCV.
- Разработать простые примеры использования указанного набора функций.
- Разработать консольное приложение, содержащее реализацию bag-of-words подхода для задачи классификации изображений двух категорий.
- Провести вычислительный эксперимент на основе подмножества изображений из набора данных Caltech-101 [14 ].
- Выполнить исследование зависимости ошибки классификации от используемых параметров (типа используемых детекторов и дескрипторов ключевых точек, числа слов в словаре, параметров алгоритма обучения с учителем "случайный лес").
- Реализовать подход для построения словаря на основе Gaussian Mixture Model [5 ] и сравнить полученные результаты с ранее реализованным подходом.
1.2. Структура работы
В работе предлагается описание основных шагов bag-of-words подхода для классификации изображений. Рассматриваются прототипы функций библиотеки OpenCV, необходимые для реализации данных шагов, с описанием назначения входных параметров. Предлагаются примеры подпрограмм, демонстрирующие использование каждой функции. Разрабатывается приложение, содержащее реализацию bag-of-words подхода для классификации двух категорий изображений. Проводится вычислительный эксперимент на наборе данных, применяемом на практике. Рассматривается зависимость результатов применения подхода от используемых параметров.
1.3. Тестовая инфраструктура
Вычислительные эксперименты проводились с использованием следующей инфраструктуры (табл. 9.1).
Операционная система | Microsoft Windows 7 |
Среда разработки | Microsoft Visual Studio 2010 |
Библиотеки OpenCV | Версия 2.4.3 |
1.4. Требования к участнику лабораторной работы
Необходимо предварительное изучение участником работы теоретического материала по следующим темам:
- классификация изображений;
- детекторы и дескрипторы ключевых точек;
- алгоритмы обучения с учителем.
Также требуется ознакомление с материалами лабораторной работы "Машинное обучение в библиотеке OpenCV".
1.5. Рекомендации по проведению занятий
При выполнении данной лабораторной работы рекомендуется следующая последовательность действий:
- Привести примеры задач и приложений компьютерного зрения, которые требуют решения задачи классификации изображений.
- Последовательно рассмотреть основные шаги bag-of-words подхода для классификации изображений. Параллельно ввести функции библиотеки OpenCV, необходимые для реализации данных шагов, и продемонстрировать примеры подпрограмм с их применением.
- Рассмотреть структуру приложения, реализующего bag-of-words подход для классификации изображений. Объяснить назначение всех функций, которые небходимо реализовать.
- Рассмотреть параметры запуска приложения, необходимые для получения результатов вычислительного эксперимента.
- Рассмотреть задание, связанное с исследованием результатов классификации объектов от параметров алгоритма.
- Рассмотреть подход для построения словаря на основе Gaussian Mixture Model. Сформулировать задание, связанное с реализацией данного подхода в рамках лабораторной работы.