Задание 1 - Крестики-нолики

Начало: 6 марта 2008 года.
Конец: 20 марта 2008 года (23:59)

Авторы задания:
Аня Дегтярева (идея), Глеб Кривовязь, Антон Конушин

Введение

Цель задания - получить практический опыт решения простой задачи компьютерного зрения, важность обработки изображений и опробовать разработку алгоритмов на Matlab.

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

Необходимо разработать алгоритм определения позиции в крестиках-ноликах - к какой клетке стоит какой символ, выиграла ли одна сторона, и если да, то какая.

Примерный алгоритм решения задачи такой:

  1. Исправление контраста/освещенности
  2. Нахождение разметки поля интегральными проекциями
  3. Сегментация изображения (бинаризация + выделение связанных компонент)
  4. Вычисление параметров объектов
  5. Распознавание объектов и их позиционирование на поле игры
  6. Определение выигрышной ситуации
  7. Визуализация результата

Алгоритм должен быть реализован в виде функции, на вход которой передается картинка, на выход - матрица 3*3, в каждой ячейке которой указан тип элемента (0 - пустая клетка, 1 - крестик, 2 - нолик). Внутри функции изображение должно визуализироваться, и отрезком отмечается выигрышная комбинация (если есть). Это необходимо для автоматизации проверки задания - скрипту будет скармливаться набор картинок

Дополнительные комментарии к заданию будут даны в форуме.

Оценка

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

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

1. Пример исходной картинки и результата (zip, 35 kb)
2. HOWTO по работе с изображениями в MatLab (doc, 24 kb)
3. Простейший пример скриптов на матлабе (zip, 34 kb)
4. Тестовые данные (zip)

5. НОВЫЕ ТЕСТОВЫЕ ИЗОБРАЖЕНИЯ (zip)

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

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

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

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

Результаты работы

Результаты работы будут опубликованы на сайте в течение недели после окончания срока сдачи задания.

© Лаборатория компьютерной графики при ВМиК МГУ