Terminator Vision System

Проект сложной автономной кибер-физической системы, совмещающей многоядерные вычисления и систему управления механическими частями. Система способна идентифицировать лица людей по базе данных и следить за ними посредством вращения камеры. Встроенное ПО для системы полностью создано в визуальной системе программирования собственной разработки – VIPE. Кибер-физическая система построена на основе платы Imagination Ci-20 Creator с неоднородной многоядерной системой на кристалле. Проект создан в рамках конкурса “Creator Ci20 Terminator Challenge”.

Ключевые слова: кибер-физическая система, распознавание лиц, визуальное программирование, VIPE IDE, многоядерная неоднородная система

Общий вид системы

 

Схема проекта

 

Демонстрация работы системы TVS

 

Встроенное ПО

Полностью спроектировано в визуальной системе программирования VIPE. Программы разрабатываются в VIPE при помощи расширяемых предметно-ориентированных языков (DSL). DSL позволяют разрабатывать портируемое ПО как для общего назначения, так и для встраиваемых систем. Программы создаются из визуальных операторов DSL с незначительным добавлением текстового (C/C++) языка программирования для определения конкретной функциональности.

Среда VIPE

Для проекта в качестве основного был выбран DSL компьютерного зрения, основанный на библиотеке OpenCV и включающий в себя более 80 функций, которые покрывают большинство необходимого функционала для детектирования и распознавания лиц.

DSL компьютерного зрения

VIPE позволяет легко добавлять функции, например, функцию идентификации по базе данных и вывод сообщений. Также были добавлены функции для взаимодействия с Arduino при помощи библиотеки WiringX. Ниже представлена программа проекта в VIPE:

Программа может выполняться на различных платформах. Мультиплатформенные back-end инструменты VIPE позволяют осуществить портирование и запуск на платформе Creator Ci-20 по одной кнопке.

Развертывание в среде VIPE по одной кнопке

 

Проектирование программы для проекта TVS в VIPE, тестирование и загрузка на платформу

 

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

Читайте полное описание проекта + схемы + видео демонстрация работы (english)

Официальный сайт VIPE