Участник:Anton/Песочница

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
Строка 1: Строка 1:
{{stop|
{{stop|
'''Задание находится в разработке.'''<br/>
'''Задание находится в разработке.'''<br/>
-
Не приступайте к выполнению задания до его официальной выдачи.
+
Не приступайте к выполнению задания пока не убрано это сообщение.
}}
}}
Строка 29: Строка 29:
Для выполнения задания выдается:
Для выполнения задания выдается:
# исходные изображения: обучающая и тестовая выборки;
# исходные изображения: обучающая и тестовая выборки;
-
# правильная обучающей выборки изображений;
+
# правильная сегментация обучающей выборки изображений;
# сегментация изображения на суперпиксели; суперпиксели подсчитаны при помощи библиотеки [http://www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/resources.html BSR];
# сегментация изображения на суперпиксели; суперпиксели подсчитаны при помощи библиотеки [http://www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/resources.html BSR];
# признаки для каждого суперпикселя; вектором признаков является гистограмма по мешку из 128 слов, построенному по [http://en.wikipedia.org/wiki/Scale-invariant_feature_transform SIFT]; признаки посчитаны при помощи библиотеки [http://www.vlfeat.org/ VLFeat].
# признаки для каждого суперпикселя; вектором признаков является гистограмма по мешку из 128 слов, построенному по [http://en.wikipedia.org/wiki/Scale-invariant_feature_transform SIFT]; признаки посчитаны при помощи библиотеки [http://www.vlfeat.org/ VLFeat].
Строка 40: Строка 40:
*само изображение: imgTrain_XXX.png
*само изображение: imgTrain_XXX.png
*правильная разметка изображения: imgTrain_XXX_groundtruth.png
*правильная разметка изображения: imgTrain_XXX_groundtruth.png
-
*mat-файлы, содержащие признаки и суперпиксели для изображения: imgTrain_XXX_data.png. В каждом файле присутствуют следующие переменные:
+
*mat-файлы, содержащие признаки и суперпиксели для изображения: imgTrain_XXX_data.mat. В каждом файле присутствуют следующие переменные:
-
** superpixelMap — массив типа double размера, равного размеры изображения; каждому пикселю соответствует;
+
** superpixelMap — массив типа double размера, равного размеры изображения; каждому пикселю соответствует номер суперпикселя, в который он попадает;
-
** unaryFeatures — массив типа double размера количество суперпикселей на количество унарных признаков.
+
** unaryFeatures — массив типа double размером количество суперпикселей на количество унарных признаков.
Названия файлов, относящихся к каждому объекту обучающей выборке, начинаются с названия объекта: imgTrain_{номер файла}. Для каждого объекта выданы следующие файлы:
Названия файлов, относящихся к каждому объекту обучающей выборке, начинаются с названия объекта: imgTrain_{номер файла}. Для каждого объекта выданы следующие файлы:
*само изображение: imgTest_XXX.png
*само изображение: imgTest_XXX.png
-
*mat-файлы, содержащие признаки и суперпиксели для изображения: imgTest_XXX_data.png. В каждом файле присутствуют следующие переменные:
+
*mat-файлы, содержащие признаки и суперпиксели для изображения: imgTest_XXX_data.mat. В каждом файле присутствуют следующие переменные:
** superpixelMap — массив типа double размера, равного размеры изображения; каждому пикселю соответствует;
** superpixelMap — массив типа double размера, равного размеры изображения; каждому пикселю соответствует;
-
** unaryFeatures — массив типа double размера количество суперпикселей на количество унарных признаков.
+
** unaryFeatures — массив типа double размером количество суперпикселей на количество унарных признаков.
=== Задание ===
=== Задание ===
* Вывести все формулы, необходимые для решения задачи.
* Вывести все формулы, необходимые для решения задачи.
-
* Реализовать все процедуры обучения и тестирования для задачи сегментации изображений.
+
* Реализовать процедуру обучения при помощи структурного метода опорных векторов и процедуру тестирования для задачи сегментации изображений.
-
* При помощи кросс-валидации получить оценку точности алгоритма на обучающей выборке.
+
* При помощи кросс-валидации подобрать структурные параметры метода и получить оценку точности алгоритма на обучающей выборке.
* При помощи обученного сегментатора получить разметки тестовой выборки изображения.
* При помощи обученного сегментатора получить разметки тестовой выборки изображения.
* Написать отчет в формате PDF с описанием всех проведенных исследований.
* Написать отчет в формате PDF с описанием всех проведенных исследований.
Строка 87: Строка 87:
|}
|}
|}
|}
 +
{|class="standard"
{|class="standard"
Строка 114: Строка 115:
!''Обучение и предсказание для базы с машинами''
!''Обучение и предсказание для базы с машинами''
|-
|-
-
|[train_error, test_error] = cars()
+
|[train_error, test_Y] = cars()
|-
|-
|ВЫХОД
|ВЫХОД
Строка 122: Строка 123:
|train_error — ошибка на обучающей выборке;
|train_error — ошибка на обучающей выборке;
|-
|-
-
|test_error ошибка на тестовой выборке;
+
|test_Y ответы на тестовой выборке, массив типа cell размера N x 1; каждый элемент содержит массив типа logical размера, равному размеру изображения;
|}
|}
|}
|}
Строка 133: Строка 134:
=== Оформление задания ===
=== Оформление задания ===
-
Выполненный вариант задания необходимо прислать письмом по адресу ''bayesml@gmail.com'' с темой «Задание 4. ФИО». Убедительная просьба присылать выполненное задание '''только один раз''' с окончательным вариантом. Новые версии будут рассматриваться только в самом крайнем случае. Также убедительная просьба строго придерживаться заданной выше спецификации реализуемых функций. Очень трудно проверять большое количество заданий, если у каждого будет свой формат реализации.
+
Выполненный вариант задания необходимо прислать письмом по адресу ''bayesml@gmail.com'' с темой «Задание 5. ФИО». Убедительная просьба присылать выполненное задание '''только один раз''' с окончательным вариантом. Новые версии будут рассматриваться только в самом крайнем случае. Также убедительная просьба строго придерживаться заданной выше спецификации реализуемых функций. Очень трудно проверять большое количество заданий, если у каждого будет свой формат реализации.
Письмо должно содержать:
Письмо должно содержать:
*PDF-файл с описанием проведенных исследований (отчет должен включать в себя описание выполнения каждого пункта задания с приведением соответствующих графиков, изображений, чисел)
*PDF-файл с описанием проведенных исследований (отчет должен включать в себя описание выполнения каждого пункта задания с приведением соответствующих графиков, изображений, чисел)
*train_sSVM.m, predict_sSVM.m, cars.m
*train_sSVM.m, predict_sSVM.m, cars.m
 +
*разметку тестовой выборки в таком же формате, как выдана разметка обучающей выборки
*Набор вспомогательных файлов при необходимости
*Набор вспомогательных файлов при необходимости

Версия 14:33, 17 апреля 2012

Задание находится в разработке.

Не приступайте к выполнению задания пока не убрано это сообщение.


Содержание

Начало выполнения задания: 18 апреля 2012

Срок сдачи: 2 мая 2012, 23:59

Среда реализации для всех вариантов — MATLAB. Неэффективная реализация кода может негативно отразиться на оценке.

Сегментация изображений

В рамках данного задания рассматривается задача сегментации изображений на два класса: машина и фон.

Ответом (сегментацией изображения) является аргминимум бинарной субмодулярной функции совместимости (максимизация супермодулярной функции), состоящей из унарных и парных потенциалов.

Поскольку классы не сбалансированы (на изображениях пикселей фона намного больше, чем пикселей объекта), то ошибка сегментации определяется количеством правильно распознанных пикселей каждого класса, взвешенным на общее количество пикселей этого класса на изображении:

 error(Y, \hat{Y}) = \frac{\sum_p [y_p \neq 1][\hat{y}_p = 1]}{\sum_p [\hat{y}_p = 1]} + \frac{\sum_p [y_p \neq 0][\hat{y}_p = 0]}{\sum_p [\hat{y}_p = 0]}.

Здесь Y — текущая разметка изображения, Ŷ — правильная разметка; метка фона — 0, метка объекта — 1; все суммы берутся по всем пикселям изображения.

Для выполнения задания выдается:

  1. исходные изображения: обучающая и тестовая выборки;
  2. правильная сегментация обучающей выборки изображений;
  3. сегментация изображения на суперпиксели; суперпиксели подсчитаны при помощи библиотеки BSR;
  4. признаки для каждого суперпикселя; вектором признаков является гистограмма по мешку из 128 слов, построенному по SIFT; признаки посчитаны при помощи библиотеки VLFeat.

Для выполнения задания настоятельно рекомендуется использовать реализации структурного метода опорных векторов в библиотеке Торстена Йохимса SVM struct с интерфейсом под MATLAB от Андреа Ведальди: http://www.vlfeat.org/~vedaldi/code/svm-struct-matlab.html

Описание форматов данных

Названия файлов, относящихся к каждому объекту обучающей выборке, начинаются с названия объекта: imgTrain_{номер файла}. Для каждого объекта выданы следующие файлы:

  • само изображение: imgTrain_XXX.png
  • правильная разметка изображения: imgTrain_XXX_groundtruth.png
  • mat-файлы, содержащие признаки и суперпиксели для изображения: imgTrain_XXX_data.mat. В каждом файле присутствуют следующие переменные:
    • superpixelMap — массив типа double размера, равного размеры изображения; каждому пикселю соответствует номер суперпикселя, в который он попадает;
    • unaryFeatures — массив типа double размером количество суперпикселей на количество унарных признаков.

Названия файлов, относящихся к каждому объекту обучающей выборке, начинаются с названия объекта: imgTrain_{номер файла}. Для каждого объекта выданы следующие файлы:

  • само изображение: imgTest_XXX.png
  • mat-файлы, содержащие признаки и суперпиксели для изображения: imgTest_XXX_data.mat. В каждом файле присутствуют следующие переменные:
    • superpixelMap — массив типа double размера, равного размеры изображения; каждому пикселю соответствует;
    • unaryFeatures — массив типа double размером количество суперпикселей на количество унарных признаков.

Задание

  • Вывести все формулы, необходимые для решения задачи.
  • Реализовать процедуру обучения при помощи структурного метода опорных векторов и процедуру тестирования для задачи сегментации изображений.
  • При помощи кросс-валидации подобрать структурные параметры метода и получить оценку точности алгоритма на обучающей выборке.
  • При помощи обученного сегментатора получить разметки тестовой выборки изображения.
  • Написать отчет в формате PDF с описанием всех проведенных исследований.

Спецификация реализуемых функций

Обучение
[model, time] = train_sSVM(X, Y, options)
ВХОД
X — обучающая выборка, массив типа cell размера N x 1, где N - размер обучающей выборки; каждая элемент содержит путь к файлу XXX_data.png для соответствующего изображения;
Y — ответы на обучающей выборки, массив типа cell размера N x 1; каждый элемент содержит массив типа logical размера, равному размеру изображения;
options — набор параметров метода, структура с полями:
   'С' — параметр C структурного метода опорных векторов
   'eps' — порог для добавления ограничений в рамках метода отсекающих плоскостей
ВЫХОД
model — модель, обученная при помощи вашего метода;
time — время работы алгоритма;


Предсказание
Y = predict_sSVM(X, model)
ВХОД
X — выборка, массив типа cell размера N x 1, где N - размер обучающей выборки; каждая элемент содержит путь к файлу XXX_data.png для соответствующего изображения;
model — модель, полученная при помощи процедуры train_sSVM;
ВЫХОД
Y — ответы на выборке X, массив типа cell размера N x 1; каждый элемент содержит массив типа logical размера, равному размеру изображения;


Обучение и предсказание для базы с машинами
[train_error, test_Y] = cars()
ВЫХОД
train_error — ошибка на обучающей выборке;
test_Y — ответы на тестовой выборке, массив типа cell размера N x 1; каждый элемент содержит массив типа logical размера, равному размеру изображения;

В каталоге, из которого будет запускаться решение при проверке, будет лежать выданный каталог datasets.

Рекомендации по выполнению задания

Данные для выполнения задания

Оформление задания

Выполненный вариант задания необходимо прислать письмом по адресу bayesml@gmail.com с темой «Задание 5. ФИО». Убедительная просьба присылать выполненное задание только один раз с окончательным вариантом. Новые версии будут рассматриваться только в самом крайнем случае. Также убедительная просьба строго придерживаться заданной выше спецификации реализуемых функций. Очень трудно проверять большое количество заданий, если у каждого будет свой формат реализации.

Письмо должно содержать:

  • PDF-файл с описанием проведенных исследований (отчет должен включать в себя описание выполнения каждого пункта задания с приведением соответствующих графиков, изображений, чисел)
  • train_sSVM.m, predict_sSVM.m, cars.m
  • разметку тестовой выборки в таком же формате, как выдана разметка обучающей выборки
  • Набор вспомогательных файлов при необходимости
Личные инструменты