Нахожу в тесте вопросы, которые в принципе не освещаются в лекции. Нужно гуглить на других ресурсах, чтобы решить тест, или же он всё же должен испытывать знания, полученные в ходе лекции? |
Самостоятельная работа 4: Классификация изображений с использованием 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.
Данная цель предполагает решение следующих задач:
1. Изучить bag-of-words подход для классификации изображений и принцип работы базовых операций обработки изображений:
- детектирование ключевых точек на изображении;
- вычисление дескрипторов ключевых точек;
- построение словаря дескрипторов ключевых точек;
- вычисление признакового описания изображений с использованием словаря дескрипторов ключевых точек;
- обучение классификатора "случайный лес" и предсказание категорий новых изображений.
2. Рассмотреть прототипы функций, реализующих перечисленные операции в библиотеке OpenCV.
3. Разработать простые примеры использования указанного набора функций.
4. Разработать консольное приложение, содержащее реализацию bag-of- words подхода для задачи классификации изображений двух категорий.
5. Провести вычислительный эксперимент на основе подмножества изображений из набора данных Caltech-101 [14].
6. Выполнить исследование зависимости ошибки классификации от используемых параметров (типа используемых детекторов и дескрипторов ключевых точек, числа слов в словаре, параметров алгоритма обучения с учителем "случайный лес").
7. Реализовать подход для построения словаря на основе Gaussian Mixture Model [5] и сравнить полученные результаты с ранее реализованным подходом.
1.2. Структура работы
В работе предлагается описание основных шагов bag-of-words подхода для классификации изображений. Рассматриваются прототипы функций библиотеки OpenCV, необходимые для реализации данных шагов, с описанием назначения входных параметров. Предлагаются примеры подпрограмм, демонстрирующие использование каждой функции. Разрабатывается приложение, содержащее реализацию bag-of-words подхода для классификации двух категорий изображений. Проводится вычислительный эксперимент на наборе данных, применяемом на практике. Рассматривается зависимость результатов применения подхода от используемых параметров.
1.3. Тестовая инфраструктура
Вычислительные эксперименты проводились с использованием следующей инфраструктуры (табл. 11.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. Сформулировать задание, связанное с реализацией данного подхода в рамках лабораторной работы.