TUI-интерфейс. Софт для ИК-рамки для распознавания маркеров

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

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

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

Что и как было сделано:
Что и как было сделано:
За основу был взят алгоритм, описанный Эдвардом Дж. Гротом [1] для распознавания звездных паттернов, и адаптирован для данной задачи. Учитывается, что в случае распознавания маркеров требуется чувствительность алгоритма к увеличению и зеркальному отражению паттернов (подобные треугольники не должны совпадать).
Все решение сводится к этапам:
1. Инициализация или регистрация маркеров;
2. Детектирование зарегистрированных маркеров:
— Кластеризация точек;
— Идентификация маркеров;
3. Обновление состояния маркеров:
— Определение положения маркеров;
— Определение градуса поворота маркеров;
— Обновление статуса маркеров.
Алгоритм стабильно работает с 9 маркерами с тремя ножками: верно определяются и отображаются позиции и поворот. Так же корректно обрабатываются случаи отрыва ножек, маркеры не пропадают при случайном отрыве одной и двух ножек.

[1] Groth E. J. A pattern-matching algorithm for two-dimensional coordinate lists //The astronomical journal. – 1986. – Т. 91. – С. 1244-1248.

Кластеризация TUI Распознавание Объектов GLTangible User Interface Object recognition Dot Patterns

Применение:
Алгоритм и программное обеспечение были реализованы в процессе работы над выставочным стендом Phygital Platform. В рамках проекта демонстрировались несколько сценариев кибератак на промышленное автомобильное производство, с применением реального программируемого логического контроллера. Управление запуском сценариев происходило на экране с ИК-рамкой, с помощью напечатанных на 3D принтере маркеров, распознаваемых алгоритмом. Подробнее о проекте можно прочитать по ссылке.

Команда проекта
DEV: Полищук Сергей, Камин Сергей, Якименко Александра
PM: Валерия Фимина

Сроки: 3 месяца