Uploaded by zaruknabil

21 ru

advertisement
Подпишитесь на DeepL Pro и переводите документы большего объема.
Подробнее на www.DeepL.com/pro.
21st Зимний семинар по компьютерному зрению
Лука Чеховин, Рок Мандельич, Витомир Штрук
(ред.) Римске Топлице, Словения, 3-5 февраля 2016 г.
Система компьютерного зрения для отслеживания шахматной игры
Кан Корай
Факультет компьютерной
инженерии Башкентского
университета
Анкара, Турция
Эмре Суэмер
Факультет компьютерной инженерии
Башкентского университета
Анкара, Турция
esumer@baskent.edu.tr
cannkorayy@gmail.com
Аннотация. В этой статье мы представляем
систему реального времени, позволяющую
определять ходы в шахматной игре. В
предложенном подходе каждый захваченный
видеокадр с RGB веб-камеры, расположенной
над шахматной доской, проходит следующие
этапы обработки: определение угловых точек
шахматной
сетки,
геометрическая
ректификация,
настройка
положения
шахматной доски, автоматическая настройка
экспозиции камеры, настройка интенсивности,
определение хода и отрисовка шахматной
доски. Все этапы были реализованы в среде
программирования MATLAB без использования
какого-либо
шахматного
движка.
Предложенный подход правильно определил 162
из 164 ходов в 3 партиях, сыгранных при
различных условиях освещенности.
1. Введение
Существует
множество
систем
компьютерного зрения, которые требуют
алгоритмов для распознавания различных
объектов и сцен. Поскольку игра в шахматы
стала интересным вопросом с точки зрения
систем взаимодействия человека и компьютера,
для системы распознавания шахматной игры и
шахматных
досок
необходима
система
компьютерного зрения.
Существуют различные опубликованные
методики, связанные с системами для игры в
шахматы. Сокич и Ахич-Джокич [11]
предложили систему компьютерного зрения для
шахматного робота-манипулятора в качестве
системы обучения на основе проекта.
Предложенный
алгоритм
обнаруживает
шахматные ходы, сравнивая кадры, снятые до,
во время и после хода, и находит разницу между
ними. В аналогичном исследовании Атас¸ и др. [1]
разработали
шахматную
роботизированную
манипуляторную систему, состоящую из различных
модулей, таких как главный контроллер, обработка
изображений, машинное обучение, игровой
движок и движок движения роботизированной
руки. В их исследовании верхняя часть фигур
уникальным образом отличается друг от друга для
того, чтобы
отслеживается системой.
С другой стороны, в исследовании Беннета
и Ласенби [2] было проведено распознавание
шахматных досок без деформации. Их метод
определял структуру сетки для обнаружения
вершин проекции шахматной доски. Далее те
же авторы разработали детектор признаков
под названием "Chess-board Extrac- tion by
Subtraction and Summation (ChESS)" для
повторного обнаружения вершин шахматной
доски [3]. В другом исследовании была
предложена
система
распознавания
шахматных досок [8]. Предложенная система
была применена к шахматной доске, чтобы
определить название, расположение и цвет
фигур. Пискорец и другие [10] представили
систему
компьютерного
зрения
для
реконструкции шахматной игры. Система
реконструирует состояние шахматной доски
на
основе
видеопоследовательностей,
полученных с двух камер.
Отслеживание шахматных ходов можно
рассматривать как предварительную задачу
перед проектированием роботизированной
системы игры в шахматы. В литературе
существует несколько работ, посвященных
отслеживанию
шахматных
ходов.
Исследования, проведенные Матушеком и
другими [9], Уртингом и Бербером [12], Кур и
другими [4] и Гончевалесом и другими.
[7] используют уникальные алгоритмы для
идентификации сетки шахматной доски и
классификации квадратов. Эти методы
основаны не только на обнаружении углов, но
и на наличии чистого фона.
В этой статье мы предлагаем систему
отслеживания шахматной игры в реальном
времени с помощью RGB веб-камеры,
расположенной над шахматной доской. В
общем случае ход определяется путем
сравнения сеток заполненности, основанных
на средней цветовой информации фигур и
клеток. Перед этим выполняется несколько
этапов предварительной обработки, включая
геометрическую ректификацию, регулировку
интенсивности и настройку положения
шахматной доски. Система также успешно
работает
при
различных
условиях
освещенности благодаря автоматической
настройке экспозиции камеры. Помимо
системы слежения, система
Предложенная система также может выполнять
2D-реконструкцию состояний шахматной доски и
генерировать журналы движений.
2. Оборудование и установка
В данной работе подготовлена установка для
обнаружения перемещений фигур во время
игры. Для захвата видеозаписей используется
веб-камера
Logitech
c310.
Камера
с
разрешением
5
мегапикселей
способна
записывать видео в формате HD 720p. Камера
не имеет функции автофокуса. Только режим
экспозиции в настройках камеры меняется на
"ручной режим" для обнаружения движения.
Веб-камера
использовалась
на ноутбуке
среднего класса. Шахматная доска и фигуры
подобраны
таким
образом,
чтобы
соответствовать
требованиям
Всемирной
шахматной федерации (FIDE) по цвету и
размеру [6]. Доска и фигуры отличаются друг от
друга по цвету. Цвет фигур - черный и белый, а
доска состоит из темных и светло-коричневых
квадратов.
Камера
располагается
над
шахматной доской с помощью длинного и
гибкого держателя, как показано на рисунке 1.
Рисунок 1. Изображение установки
3. Общая структура
Общая блок-схема предлагаемой системы
приведена на рисунке 2. Подробно этапы
предлагаемой системы описаны в последующих
подразделах.
3.1. Обнаружение углов шахматной сетки
В этом процессе первым шагом является
нахождение всех угловых точек сетки
шахматной доски (рис. 3(a)) с помощью снимка
камеры. Чтобы найти углы сетки (рис. 3(b)), мы
использовали функцию detectCheckerboardPoints
из MATLAB. Эта функция, особенно часто
используемая при калибровке камеры, получает
на вход RGB-изображение и возвращает на выход
углы сетки и размер доски. Пока все углы сетки не
будут
доску от окружающей среды и исправить
перспективные искажения шахматной доски,
чтобы подготовить почву для других процессов.
Шахматная доска
Рисунок 2. Общая схема
Если углы сетки расположены, то на этапе
предварительной
обработки
постепенно
увеличивается насыщенность захваченного
изображения. После того как все углы сетки
определены, на втором этапе определяются
углы шахматной доски (точка C на рисунке
3(c)). Угловые точки сетки, которые
находятся ближе всего к углам изображения,
выбираются в качестве поворотных точек.
Точка-A на рисунке 3(c) является одной из
таких точек. Ближайшая к точке-A
внутренняя точка по диагонали - точка-B,
показанная на рисунке 3(c). Отражение точки-B
над точкой-A - это точка-C, которая является
одним из углов шахматной доски, как
показано на рисунке 3(c). Эта процедура
применяется для всех остальных угловых
точек.
3.2. Геометрическая ректификация
Геометрическое выпрямление - важный
этап, позволяющий изолировать шахматную
деформируется от угловых точек, которые
расположены в предыдущем разделе, чтобы
совпадать с нашими предварительно заданными
размерами углов квадрата (480x480px) (рис. 4).
(a)
Рисунок
4.
Шахматная
доска
геометрической ректификации
до
этапа
Этот процесс применяется только один раз
перед началом игры, поэтому ни камера, ни
доска не должны перемещаться во время игры.
Геометрически скорректированная шахматная
доска представлена на рисунке 5.
(b)
(c)
Рисунок 3. (a) Исходное изображение шахматной
доски, (b) де-тектированные углы шахматной сетки и
(c) связанные точки для обнаружения углов
шахматной сетки
Рисунок 5. Шахматная доска после этапа геометрической
ректификации
3.3. Регулировка положения шахматной доски
Чтобы
облегчить
расчеты
будущих
процессов,
белые
фигуры
необходимо
расположить в нижней части обзора. Благодаря
положению камеры мы знаем, что фигуры
должны быть расположены слева и справа от
камеры. Сравнение средних цветов квадрата
короля обеих сторон дает
позиция белых фигур. В соответствии с
положением белой стороны вычисляется новая
матрица
преобразования,
которая
будет
использоваться в дальнейших процессах
деформации. На рисунке 6 белые фигуры
расположены внизу, а черные - вверху.
Рисунок 6. Шахматная доска после корректировки
положения шахматной доски
3.4. Автоматическая настройка экспозиции
камеры
Встроенный в камеру режим автоматической
экспозиции может привести к нежелательному
получению изображения для обнаружения
движения. В этом режиме камера постоянно
регулирует уровень экспозиции в соответствии с
отснятым материалом. В частности, каждый раз,
когда игрок делает движение, камера изменяет
уровень экспозиции из-за руки игрока на
захваченном изображении. Кроме того, уровень
экспозиции, который регулируется встроенным
в камеру режимом автоматической экспозиции,
может быть занижен или завышен. Для того
чтобы найти оптимальный уровень экспозиции
камеры, его необходимо настроить вручную в
начале игры. Цель этого процесса - получить
как можно более правильные значения цветов,
предотвратив
ситуации
недои
переэкспонирования. Мы предложили алгоритм
автоматической настройки камеры, целью
которого является поиск оптимального уровня
экспозиции,
максимизирующего
среднее
значение разницы цветов между светлой и
темной фигурой и квадратом (рис. 7).
Рассчитанный
оптимальный
уровень
экспозиции задается камере как новый уровень
экспозиции для последующих процессов. В
данном
случае
вычисленный
уровень
экспозиции был равен -6, где полный диапазон
находится между - 9 (самый темный) и 0 (самый
светлый). Снимок шахматной доски после
применения рассчитанного уровня экспозиции
приведен на рисунке 8.
Рисунок 7. Псевдокод автоматической настройки
экспозиции камеры
Рисунок 8. Шахматная доска после
автоматической настройки экспозиции камеры
3.5. Регулировка интенсивности
Чтобы улучшить качество изображения, к
снимкам
камеры
применяется
набор
улучшающих средств. Первое - это
уменьшение
шума.
Мы
использовали
медианный
фильтр
5x5,
чтобы
минимизировать
уровень
шума
на
изображениях.
Второй
увеличение
насыщенности изображения для улучшения
цветов. После этого рассчитываются средние
цвета фигур и квадратов.
выделили для использования в дальнейших
процессах. Изображение шахматной доски
после этапа регулировки интенсивности
показано на рис. 9.
Рисунок 9. Шахматная доска после регулировки
интенсивности
3.6. Средние рекомендации по цвету
После всех улучшений, чтобы получить
цветовые оценки каждой клетки шахматной
доски, изображение шахматной доски (рис. 9)
разбивается на 64 одинаковые части, каждая из
которых соответствует клетке доски. Таким
образом, для шахматной доски создаются сетки
занятости. После этого определяется область
интереса (ROI) для каждого квадрата (сетки)
шахматной
доски.
Основной
целью
использования
ROI
является
получение
цветовой
информации
о
фигуре.
ROI
определяется как прямоугольник размером
25x25px из центра каждой клетки, как показано
на рисунке 10.
Рисунок 10. Область интереса, окрашенная
оранжевый цвет, накладывается на пешку
в
В начале игры, перед определением хода,
средние значения цветов светлых/темных фигур
и квадратов принимаются и записываются как
значения рефлексии.
Эталонные цвета каждого типа фигур и
квадратов рассчитываются следующим образом:
• Эталонный
цвет
световых
фигур
вычисляется путем взятия среднего
значения из 16 квадратов, которые
заняты световыми фигурами.
• Эталонный
цвет
темных
фигур
вычисляется путем взятия среднего
значения из 16 квадратов, которые
занимают темные фигуры.
• Эталонный цвет светлых квадратов
вычисляется по среднему значению 16
светлых квадратов, которые не заняты ни
одной фигурой.
• Эталонный цвет темных квадратов
вычисляется путем взятия среднего
значения из 16 темных квадратов, не
занятых ни одной фигурой.
3.7. Обнаружение перемещения
Реализация
обнаружения
движения
основана
на
сравнении
эталонного
изображения и снимка камеры. Для этого
процесса опорное изображение используется
в качестве первого снимка, который делается
после каждого действительного движения.
Первое
опорное
изображение
рассматривается
как
первый
снимок
отснятого материала. Во время игры
вычисляется средняя цветовая разница между
эталонным изображением и снимками. Если
результат вычисления превышает заданный
порог, мы делаем вывод, что игрок сделал
ход. Если результат опускается ниже порога,
мы считаем, что игрок завершил ход.
В этот момент последний снимок
интерпретируется для определения цвета и
положения фигур. Перед этим последний
снимок
деформируется,
и
к
деформированному изображению шахматной
доски применяются улучшения. ROI в
каждом квадрате изображения сравнивается с
четырьмя эталонными цветами, которые
определяются в разделе 3.6. В этом сравнении
цветовые
различия
рассчитываются
в
цветовом пространстве Lab путем вычисления
значения deltaE, которое представляет собой
евклидово расстояние между связанными
элементами.
В
результате
сравнения
эталонный цвет, дающий минимальное
значение deltaE, определяет, является ли
ячейка сетки квадратом или фигурой со
светлым или темным цветом. В результате
применения этого процесса ко всем клеткам
шахматной
доски
выясняется
состояние
шахматной доски на последний снимок.
Состояние последнего снимка и предыдущее
состояние шахматной доски сравниваются,
чтобы определить ход фигуры. Предыдущее
состояние шахматной доски представляет собой
состояние шахматной доски на момент
последнего правильного хода. В начале игры
первое
состояние
игры
хранится
как
предыдущее состояние шахматной доски.
При сравнении состояния моментального
снимка и предыдущего состояния шахматной
доски можно получить шесть различных
результатов:
1. Если между предыдущим и последним
состояниями нет разницы, значит, в игре
нет изменений. По этой причине различие
цветов на доске не является ходом.
2. Если есть только одна занятая и только
одна незанятая клетка с одинаковым цветом
фигуры, то это ход.
3. Если есть две занятые и две незанятые
клетки с одинаковым цветом фигуры, то
это особый ход, который называется
"рокировка".
4. Если есть одна занятая и одна незанятая
клетка с разницей в один цвет фигуры и
одна незанятая клетка с разницей в один
цвет фигуры, то это еще один специальный
ход, который называется "en passant".
5. Если существует только одна разница
между незанятыми клетками и если в
любой другой занятой клетке цвет фигуры
меняется на цвет предыдущей незанятой
клетки, то это ход с захватом.
6. Для всех остальных условий результат
сравнения не является перемещением.
Если результатом является ход, то состояние
шахматной доски обновляется как последнее
состояние шахматной доски. Ход добавляется в
список
ходов,
и
последнее
состояние
шахматной доски реконструируется в 2D.
Пример 2D-состояния, реконструированного из
тестовой игры, и список ходов представлены на
рисунке 11. Ходы записаны в стандартной
алгебраической нотации, которая является
нотацией, стандартизированной Всемирной
шахматной федерацией (FIDE) [5]. Отметим,
что все этапы предлагаемой методики, включая
графический интерфейс пользователя, были
реализованы в MATLAB.
4. Экспериментальная оценка и
обсуждение
Для тестирования системы были сыграны три
шахматные партии в разное время при разной
освещенности. В ходе этих испытаний система
успешно определила 162 хода из всех 164.
Угловые точки шахматной доски успешно ло-
цируются во всех партиях. Производительность
системы была признана удовлетворительной для
обнаружения ходов в режиме реального времени.
распознавание
шахматных
ходов.
Шаги
предварительной обработки оказались весьма
полезными.
Рисунок 11. Реконструированное
шахматной доски со списком ходов
состояние
Усиление насыщенности, примененное к
изображениям, полученным при съемке,
помогло повысить точность определения
средних цветовых различий. Сочетание
освещения, настроек камеры и шахматного
набора играет большую роль в успешном
распознавании ходов в шахматной партии.
Хотя предложенная система хорошо работает
в различных условиях освещенности, условия
освещения (с одним источником света),
которые отбрасывают сильные тени на
доска не подходит для отслеживания.
С другой стороны, тени над светлыми
фигурами - еще одна важная проблема. Это
затрудняет отделение светлых фигур от
светлых квадратов, в результате чего 2 из 164
ходов не были обнаружены во время
экспериментальной оценки. Кроме того, эта
проблема может привести к получению
неверных результатов при автоматической
настройке экспозиции камеры.
Тени и зеркальные отражения на
отдельных участках шахматной доски могут
нарушить однородность цветов. В таких
условиях шахматная партия не может быть
отслежена предложенной системой. Кроме
того, поскольку эталонные цвета фигур и
квадратов определяются в начале игры,
общая освещенность среды не должна резко
меняться в процессе игры. В противном
случае система не сможет распознавать ходы.
5. Заключение
В этой статье мы представили систему
реального времени, которая выполняет
В
частности,
автоматическая
настройка
экспозиции камеры значительно снижает
неоднозначность цветопередачи. Окружающая
среда, находящаяся под сильным воздействием
направленного света, не рекомендуется из-за
сильных теней. Результаты проведенных игр
свидетельствуют о том, что предложенная
система может стать доступным и эффективным
вариантом
среди
систем
слежения
за
шахматными партиями.
В качестве дополнения к текущей системе
разрабатывается система проверки шахматных
ходов для интерпретации ходов игрока. Таким
образом, система не только отслеживает
положение фигур, но и проверяет ходы в
зависимости от типа фигуры. Таким образом,
будущая система может быть использована для
принятия решений и контроля со стороны
арбитров
и
комитета
по
борьбе
с
мошенничеством.
Ссылки
[1] M. Atas¸, Y. Dog˘an, и ˙I. Атас¸.
Роботизированная рука для игры в шахматы.
Труды 22-й конференции IEEE по обработке
сигналов и коммуникационным приложениям,
стр. 1171-1174, 2014. 1
[2] S. Беннет и Дж. Ласенби. Надежное
распознавание
шахматных
досок
при
деформации. Материалы 20-й Международной
конференции IEEE по обработке изображений,
стр. 2650-2654, 2013. 1
[3] S. Беннет и Дж. Ласенби. Chess - быстрое и
надежное
обнаружение
особенностей
шахматной доски. Компьютерное зрение и
понимание изображений, 118:197-210, 2014. 1
[4] T. Cour, R. Lauranson, and M. Vachette. Auавтономный робот, играющий в шахматы, 2006.
1
[5] ФИДЕ. Справочник, 2015. Правила игры в
шахматы. 6
[6] ФИДЕ. Handbook, 2015. Стандарты шахматного
оборудования и мест проведения турниров. 2
[7] J. Гонсиалвес, Ж. Лима и П. Лейтао. Шахматная
роботизированная
система:
Междисциплинарный
опыт
в
области
автоматики. Труды 9-го испано-португальского
конгресса по электротехнике, 2005. 1
[8] I. M. Khater, A. S. Ghorab, and I. A. Aljar- rah.
Система распознавания шахматных досок с
использованием подписи, анализа главных
компонент и цветовой информации. Труды
Второй международной конференции по
цифровой
обработке
информации
и
коммуникациям, стр. 141-145, 2012. 1
[9] C. Матушек, Б. Мейтон, Р. Айми, М. П.
Дейзенрот,
L. Бо, Р. Чу, М. Кунг, Л. ЛеГранд, Дж. Р. Смит и
Д. Фокс. Гамбит: Надежная роботизированная
система
для
игры
в
шахматы.
Труды
Международной
конференции
IEEE
по
робототехнике и автоматизации, стр. 4291- 4297,
2011. 1
[10] M. Piskorec, N . Antulov-Fantulin, J . Curic,
O. Dragoljevic, V. Ivanac, and L. Karlovic. Система
компьютерного зрения для реконструирования
шахматной игры.
tion.
Труды
34-й
Международной
конференции, стр. 870-876, 2011. 1
[11] E. Sokic and M. Ahic-Dokic. Простая
компьютерная
система
управления
шахматным
роботом-манипулятором
в
качестве примера обучения на основе
проекта.
Труды
Международного
симпозиума IEEE по обработке сигналов и
информационным технологиям, с. 75-79,
2008. 1
[12] D. Уртинг и Й. Берберс. Marineblue:
Недорогой
шахматный
робот.
Труды
Международной
конференции
"Робототехника и ее применение", стр. 7681, 2003. 1
Download