Задание 2 - Поиск объектов

Начало: 17 апреля 2008 года.
Конец: 3 мая 2008 года (23:59)

Авторы задания:
Ольга Баринова

Введение

Цель задания - получить практический опыт решения задачи детектирования объектов на изображении при помощи машинного обучения. Задание дает представление о полном цикле разработки обучаемой системы машинного зрения. Основные навыки, которые получит студент в ходе выполнения задания: перевод изображения в вектор признаков, сбор обучающей выборки для классификатора, опыт настройки классификаторов, выбора параметров классификаторов, понимание работы алгоритма Виола-Джонс.

Описание задания

Результатом работы должна быть система автоматического обнаружения объектов на изображении. Требуется написать на Matlab скрипт, который будет автоматически находить на входном изображении и обводить в рамочку объекты одной из следующих групп (в зависимости от номера варианта):

  1. Chubrik
  2. Pringles
  3. Sneakers
  4. Spunch
  5. Towel

Номер вашего варианта - последняя цифра студенческого билета по модулю 5.

На входных изображениях фотографии этих объектов расположены на черном фоне. Объекты могут быть сфотографированы с разного ракурса и при разном освещении и могут располагаться в любом месте на картинке, причем нужных объектов может быть несколько, или не быть совсем.

Оценка

Оценка будет проставляться от 2 до 5 баллов, в зависимости от качества выполнения задания. Качество измеряется точностью нахождения нужных объектов. Тестирование будет проводиться на аналогичных, но отличающихся изображениях, с помощью автоматической функции, сравнивающий выданные координаты BBox’ов с истинными положениями объектов.

Дополнительные материалы

1. Полное описание задания (zip)
2. Изображения объектов (zip, 40МЬ)
3. Boosting toolbox (link)
4. Тестовые данные (zip,10Mb)

Правила оформления работы

Алгоритм должен быть реализован в виде набора функций для Matlab. Главная функция, в которой осуществляется поиск объектов на изображении, получает на вход путь к тестовому изображению и флаг, ненулевое значение которого означает, что требуется отрисовка результатов в окне Matlab. На выходе функция выдает номер класса объектов, который требовалось найти (номер варианта) и массив BBoxes[4][n] координат верхнего левого и нижнего правого края скользящих окон, в которых был найден нужный объект. Это необходимо для автоматизации проверки задания - скрипту будет скармливаться набор картинок.

function [ class, BBoxes ] = detect( img_path, draw_flag )

Работа должна быть оформлена в виде zip-архива.

Содержимое архива:

  1. MatLab скрипты, решаюший задачу
  2. readme.txt, содержащий:
    ФИО: [Фамилия Имя Отчество]
    Группа: [номер группы]
    
    Задание: [ номер задания] / [название задания]
    
    Система: [система программирования]
    ОС: [операционная система]
    Аппаратура: [конфигурация машины]
    
    Комментарии: [комментарии по реализации / пожелания и т.д.]
    
© Лаборатория компьютерной графики при ВМиК МГУ