Система машинного зрения для киберфутбола

УДК 004.93.1

М.С. Белобрюхов, А.В. Романенко

Система машинного зрения для киберфутбола

Рассмотрены основные особенности системы распознавания объектов, применяемой в киберфутболе. Предложен метод вычитания маски из изображения для вычленения активных объектов (роботов). Рассмотрен перевод в цветовое пространство HSV и его преимущества перед RGB. Рассмотрены принципы поиска объекта, его распознавание по цветовым меткам, определение его центроида (x,y) и угла поворота относительно координатных осей.

Ключевые слова: техническое зрение, распознавание образов, киберфутбол, цветовое пространство HSV.

Киберфутбол - это состязания радиоуправляемых электромеханических роботов на специальном игровом поле. Футбол роботов, высокотехнологичный научный спорт, был разработан профессором Jong-Hwan Kim из KAIST (корейский технологический институт) в октябре 1995 г. Высокий успех при испытании был достигнут за счет изучения и применения высоких технологий из разных областей науки, таких как анализ изображений, искусственный интеллект, датчики, связь, электронное управление с ограничением по точности, моторы, а также хорошее программное обеспечение и оборудование. С тех пор и до сих пор постоянно растет количество молодых ученых и специалистов, которые в этом участвуют.

Роботы для киберфутбола представляют собой кубы размером 7,5х7,5х7,5 см, для идентификации сверху на робота наклеивают цветную метку. Эта метка разделена на четыре части, каждая из которых имеет свой цвет, совокупность этих цветов является уникальным для каждого робота. Используются следующие цвета: синий, желтый, красный, зеленый. Причем роботы одной команды должны иметь не менее двух областей синего цвета, а другой - желтого. В качестве мяча используется оранжевый шар для гольфа. Поле имеет размеры 220x180 мм, как правило, красится черной матовой краской, на него крепятся борта и наносится белая разметка (в соответствии с правилами FIRA [1]).

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

Основной проблемой при создании платформы для киберфутбола лиги mirosot является ограниченность готовых решений в области компьютерного зрения.

Одним из наиболее известных готовых решений является система слежения “Cognachrome” компании Newton Research Labs [2]. Её заявленные характеристики следующие:

- 60 кадров/с, разрешение 200x250;

- 4 цветовых канала слежения (каждый цветовой канал может отслеживать несколько объектов данного цвета);

- максимальное количество объектов слежения - примерно 25 (при отслеживании более 5 объектов частота кадров падает);

- доступная информация по объектам: центроид (х,у), угол ориентации относительно осей, соотношение сторон.

Также часто используют разработки компании Matrox. Они предлагают высокоуровневую программную библиотеку для получения, обработки, отображения и архивирования изображений - Ma-trox Imaging Library (MIL) [3]. К основным недостатком системы «Cognachrome» можно отнести низкое разрешение изображения, а библиотека MIL не дает готового решения поставленной задачи,

а лишь набор функций, упрощающий её решение. Также стоит отметить достаточно высокую цену на данные продукты.

Постановка задачи. С учетом указанных недостатков описанных систем, была поставлена задача создания собственной программы распознавания. Основными требованиями являлись:

- Высокая скорость работы при использовании камеры высокого разрешения.

- Работа в широком диапазоне уровня освещения и высокая адаптивность к динамическому изменению внешних условий.

Для решения поставленных задач была выбрана цифровая Fire-Wire видеокамера Basler A312FC, способная работать в разрешении 780x580 с частотой 54 кадра/с. При разработке использовались библиотеки для работы с видеокамерой Basler pylonSDK и OpenCV.

Цветовое пространство HSV. Первоначально все расчеты изображения велись в родной для камеры цветовой модели - RGB. Практика показала, что в этой цветовой модели сложно классифицировать цвета, слишком сильно данные меняются при изменении освещенности. Было принято решение сравнивать цвета в цветовом пространстве HSV.

Преобразование цветовых компонентов RGB ^ HSV:

H е [0,360); S V, R,G, B е[0,1]; MAX = MAX(R,G, B); MIN = MIN( R,G, B);

0, если MAX = MIN;

60x------G—B--------+ 0, если MAX = R и G>B;

MAX-MIN

60x------G—B-------+360, если MAX = R и G<B;

MAX-MIN

60x------B—R-------------+120, если MAX = G;

MAX--MIN

60 x-----------+240, если MAX = B;

MAX-MIN

10, если MAX = 0;

S = ]1_ MIN

H=

MAX V = MAX.

При использовании данной цветовой модели удалось точнее выделять базовые цвета, не учитывая при этом параметр яркости.

Метод вычитания маски. Большинство программ машинного зрения при решении подобной задачи «рассматривают» (классифицируют по цветам) все точки изображения, затем выделяя и анализируя области с условно одинаковым цветом для определения роботов. Это дает выигрыш с точки зрения устойчивости к изменению параметров внешней засветки, но существенно снижает скорость работы алгоритма распознавания, особенно с увеличением числа объектов на поле.

Для увеличения скорости работы системы был использован следующий алгоритм поиска объектов:

- Перед началом игры снимается изображение пустого поля (на котором нет игровых роботов), это изображение условно назовем маской.

- Снимается игровой кадр.

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

Сравнивать все точки изображения не имеет смысла. Было решено пропускать определенное одинаковое количество пикселей по вертикали и горизонтали. Диагональ получившегося «слепого» квадрата должна быть меньше диагонали самого маленького объекта на поле - мяча. В ходе тестирования было определено, что размер мяча при использовании нашей камеры на регламентированной правилами высоте не бывает меньше 16 пикселей. Таким образом, сторона «слепого» квадрата

должна быть не больше —= = 11,31 пикселя, для удобства был выбран интервал в 10 пикселей. В

V2

ходе длительного тестирования случая потери мяча выявлено не было. Такой интервал позволил сократить количество операций сравнения в 100 раз. Это также позволило не выполнять преобразо-

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

Таким образом, использованный нами метод вычитания маски из изображения позволяет значительно увеличить скорость распознавания по сравнению с существующими аналогами [2,3], быстро отсеивая «пустые» участки поля.

Принципы поиска и распознавания объекта. Алгоритм распознавания объекта разбивается на несколько этапов:

- Нахождение точки, цвет которой отличается от точки маски (описан выше).

- Нахождение всех точек, принадлежащих предполагаемому объекту.

После того как точка, не принадлежащая маске, найдена, нужно итерационным способом найти все соседние точки, также маске не принадлежащих. Решая эту задачу «в лоб», были выявлены некоторые проблемы. Не все пиксели, которые отличны от маски, являются метками роботов. Всегда есть некоторые отражения от поверхности (особенно от белых бортов), блики, также иногда видны боковые части робота, не являющиеся меткой, которые не нужно захватывать, и т.д. Далее будут описаны методы решения данных проблем.

Введем понятие активного пикселя. Активный пиксель - это пиксель, цвет которого в модели ИБУ соответствует одному из возможных цветов метки или мяча, с достаточным уровнем яркости и чистоты.

Пиксель считается активным, если выполняются следующие условия его ИБУ параметров:

- Яркость имеет значение, не ниже среднего значения яркости кадра, умноженного на 1,7. Среднее значение яркости кадра определяется как среднее арифметическое значение яркостей всех сравниваемых с маской пикселей на предыдущем кадре. Это условие сформировано исходя из соображений, что цветовые метки являются более яркими, чем поле, и позволяет отсеивать различные шумы в кадре, боковые элементы робота и т.д.

- Значение V (чистоты цвета) должно быть не ниже:

о 30% для красного цвета;

о 15% для желтого цвета;

о 40% для синего цвета;

о 30% для зеленого с яркостью более 80 и 40% для зеленого с яркостью менее 80%.

Все указанные значения получены эмпирическим путем.

Алгоритм получения массива точек, принадлежащих объекту:

- Вводится массив точек объекта и массив непроверенных точек, в которые помещается первая точка.

- Для каждой точки из массива непроверенных точек выполняются следующие действия:

о поочередно проверяются девять соседних точек, находящихся через один пиксель от текущей по горизонтали, по вертикали и по диагонали;

о такая соседняя точка заносится в оба массива, если для неё выполняется ряд условий:

точка, лежащая между ней и непроверенной (ту, через которую мы перешагнули) не принадлежит маске;

пиксель является активным;

являются активными не менее четырех из девяти вокруг лежащих точек.

о точка удаляется из массива непроверенных точек.

- Когда массив непроверенных точек пуст или найдено слишком много точек, алгоритм прекращается.

Построение прямоугольника по найденным точкам. Вокруг найденного массива точек описывается минимальный прямоугольник. Данная процедура выполняется средствами библиотеки ОрепСУ [4]. Данная область считается объектом, если её размеры и пропорции соответствуют размерам искомых объектов (роботов или мяча). Для данного объекта определяются координаты центра и его ориентация относительно координатных осей. По размерам также следует первоначальная классификация объекта - робот это или мяч.

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

является оранжевой, то он считается распознанным. Цвета найденного объекта сравниваются с заранее установленными значениями в четырех различных вариациях - в текущем и в повернутых относительно центра на 90, 180, 270 градусов соответственно. При совпадении роботу присваивается соответствующий номер из базы, если совпадений нет - область роботом не считается.

Характеристики системы. Максимальная скорость распознавания на тестируемом оборудовании (процессор - Intel Core2 Quad Q9450 2.66GHz):

- Игра 1x1 - 83 кадра/с.

- Игра 2x2 - 60 кадров/с.

- Игра 3x3 - 52 кадра/с.

- Игра 5x5 - 37 кадров/с.

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

Литература

1. Официальный сайт FIRA - Международной федерации киберфутбольных ассоциаций [Электронный ресурс]. - Режим доступа: http://fira.net, свободный (дата обращения: 8.09.2011).

2. Thomas P.J. Evolutionary Learning of Control and Strategies in Robot Soccer: a thesis submitted for the Degree of Philosophy. - Queensland, 2003. - 327 с. [Электронный ресурс] - Режим доступа: http://acquire.cqu.edu.au:8080/vital/access/manager/Repository/cqu:3226, свободный (дата обращения: 8.09.2011).

3. Huang Han-Pang. Construction and Soccer Dynamics Analysis for an Integrated Multi-agent Soccer Robot System / Han-Pang Huang, Chao-Chiun Liang, Chun-Wei Lin // Proc. Natl. Sci. Counc. ROC(A) (Taiwan).- 2001. - Т. 25, № 2. - С. 84-93.

4. Официальный сайт библиотеки OpenCV [Электронный ресурс]. - Режим доступа: http://sourceforge.net/projects/opencvlibrary/, свободный (дата обращения: 8.09.2011).

Белобрюхов Максим Сергеевич

Аспирант каф. управления инновациями ТУСУРа

Тел.: +7 (382-2) 42-87-41

Эл. почта: belobruhovmax@gmail.com

Романенко Александр Васильевич

Ассистент каф. АСУ Тел.: +7 (923) 415-92-29 Эл. почта:1е88@т8.1шиг.т

Belobryukhov M.S., Romanenko A.V.

Computer vision system for robot soccer

Basic features of the robot recognition system are considered, which are used for robot soccer. A method of a mask subtraction from the image for the separation of active objects (robots) is proposed. A conversion to HSV color space and its benefits over RGB are considered. The concepts of an object seeking are defined, its recognition by the color labels, a definition its centroid (x, y) and an angle of rotation respect to the axis of coordinates. Keywords: ^mputer vision, image recognition, robot soccer, HSV color space.