Инструменты пользователя

Инструменты сайта


ehlektronika:artintrek

Артинтрек

Артинтрек

Артинтрек — это модуль, осуществляющий обработку видеопотока с помощью нейронных сетей и компьютерного зрения, содержащий в себе:

  • 11+ предустановленных обученных моделей нейронных сетей;
  • CPU: 64-bit;
  • RAM: 4 Гб / 8 Гб;
  • Flash: 16 Гб / 32 Гб;
  • Встроенный акселератор для ускорения обработки видеопотока;
  • Крепежные разъемы, совместимые с наборами Роботрек;
  • Подключение через порт UART или Wi-Fi;
  • 2 разъема micro HDMI;
  • 2 разъема USB 2.0;
  • Систему охлаждения;
  • Встроенный аккумулятор 1700 mAh 7.4 В;
  • Разъем заряда встроенного аккумулятора;
  • Переключатель включения;
  • Светодиод индикации питания.

Модуль Артинтрек может использоваться для изучения основ искусственного интеллекта и компьютерного зрения. Готовые скрипты позволят передавать результаты работы нейронных сетей на контроллер для управления робототехническими моделями. Для обучения основам работы с нейронными сетями, а также для их разработки реализовано дополнительно специальное ПО - NNWizard. Обучение реализовано по 3 модулям: 1 и 2 модули позволяют детям разного возраста изучать основы построения и обучения нейронных сетей, перспективу их развития и использования в современном обществе с помощью курсов: «Искусственный интеллект в окружающем мире» (предназначенный для детей от 7 лет), «Изучение основ искусственного интеллекта» (предназначенный для детей от 12 лет).

  • Первый модуль содержит 10 занятий. В ходе работы младшие школьники узнают, что такое искусственный интеллект, познакомятся с такими понятиями: «мозг человека», «интеллект», «искусственный интеллект». Изучат историю развития искусственного интеллекта и нейронных сетей. Научатся понимать значимость нейросетей в наше время и их использования для подводной, воздушной, наземной робототехники. Узнают зачем используют искусственный интеллект в компьютерных играх и спорте. Продолжат изучение нейронных сетей на примере задач, связанных с определением эмоций человека. Научатся разрабатывать собственные проекты с использованием нейронных сетей.
  • Второй модуль содержит 15 занятий. В ходе работы на занятиях будут сформированы знания об истории возникновения ИИ (нейронные сети в том числе), принципах работы различных видов нейронных сетей, значимость и перспектива использования нейронных сетей в современном мире и т.д. Блок содержит практикум по использованию нейронных сетей (распознавание и детектирование текста, рукописных цифр, лица человека и т. д.).

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

  • Третий блок предназначен для детей от 12 лет и позволит научиться разрабатывать нейронные сети «с нуля» в специальной визуализированной среде NNWizard. Программа уникальна тем, что даже если ты не знаешь ни один язык программирования, то всё равно можешь научиться разрабатывать нейронные сети с помощью специальных визуализированных блоков, обучать и проверять жизнеспособность своих нейросетей с помощью робототехнических наборов. Видеокурс содержит 18 видеороликов, позволяющих с помощью технологии «step by step» научиться разрабатывать собственные нейронные сети.

Вся подробная информация по работе с модулем Артинтрек содержится на портале GitHub

  • В модуль Артинтрек была добавлена возможность распознавания речи в режиме реального времени. Распознавание происходит внутренними средствами модуля и не требует подключения к сети Интернет. Распознанный текст передается на микроконтроллер Тредуино и может быть использован для голосового управления роботом по загруженным программам (например, управлять направлением движения, включением и выключением светодиодов, менять цвета подсветки и многие другие команды, которые можно отдать голосом). Модуль поддерживает распознавание русской и английской речи.

Предустановленные модели нейронных сетей

Артинтрек поставляется с набором предустановленных моделей нейронных сетей для обработки видеопотока:

  1. MNIST — распознавание рукописных цифр.
    Работа модели MNIST
  2. ImageNet Classifier — классификатор ImageNet, распознающий объекты 1000 классов.
    Работа модели ImageNet
  3. Text recognition — распознавание текста.
    Работа модели распознавания текста
  4. Face detection — нахождение лиц.
    Работа модели распознавания лиц
  5. Head pose estimation — определение углов поворота головы.
    Работа модели по определению углов поворота головы
  6. Age/gender estimation — определение пола и возраста человека по лицу.
    Работа модели по определению пола и возраста по лицу
  7. Emotion recognition — распознавание эмоций.
    Работа модели по распознаванию эмоций
  8. Hand gesture recognition — распознавание жестов руки.
    Работа модели по распознаванию жестов руки
  9. Face landmarks detection (5) — определение координат 5-ти ключевых точек лица.
    Работа модели по определению координат 5-ти ключевых точек лица
  10. Face landmarks detection (35) — определение координат 35-ти ключевых точек лица.
    Работа модели по определению координат 35-ти ключевых точек лица
  11. Face recognition — распознавание лиц.
    Работа модели по распознаванию лиц

Питание

Модуль Артинтрек получает питание от встроенного аккумулятора.

Коммуникационный разъем UART

Рекомендуется подключать модуль Артинтрек к плате Трекдуино или Трекдуино ПРО следующим образом:

  • GND, RX и TX к соответствующим на плате разъему UART.

Модуль Артинтрек снабжен системой охлаждения как графического ускорителя, так и внутреннего процессора.

Система охлаждения

Подключение устройств

Для подключения внешних устройств и обмена информацией на корпус выведены 2 порта USB.

USB порты

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

Подключение камеры

Идентификаторы скриптов

Запуск скрипта

void trackcv_neural_start(Neural_script_id script_id);

Запуск производится при первом запросе информации.

Идентификаторы нейросетей

	Neural_script_id_dummy = 0,             // Пустышка
	Neural_script_id_mnist = 1,             // MNIST
	Neural_script_id_imagenet = 2,          // ImageNet
	Neural_script_id_text_detection = 3,    // Нахождение текста
	Neural_script_id_face_detection = 4,    // Нахождение лиц
	Neural_script_id_head_pose = 5,         // Углы поворота головы
	Neural_script_id_age_gender = 6,        // Оценка пола и возраста
	Neural_script_id_emotion = 7,           // Определение эмоции
	Neural_script_id_gesture = 8,           // Определение жестов руки
	Neural_script_id_landmarks_5 = 9,       // 5 ключевых точек лица
	Neural_script_id_landmarks_35 = 10,     // 35 ключевых точек лица
	Neural_script_id_face_recognition = 11  // Определение лиц

Работа в режиме компьютерного зрения TrackCV

В Артинтрек добавлена возможность использовать библиотеку компьютерного зрения TrackCV, применяемую в работе модуля Витрек. Для запуска данной библиотеки необходимо использовать следующие функции:

Инициализация модуля

Работа с модулем должна начинаться с вызова этой функции:

bool Trackcv_init(int32_t (*reader)(void), bool (*writer)(char), int32_t (*putfunc)(unsigned char));

Параметры:

  • reader : Callback-функция для чтения из порта;
  • writer : Callback-функция для записи в порт;
  • logger : Логгер.

Возвращает:

  • true — в случае ответа модуля;
  • false — иначе в случае ошибки (код ошибки в Errno).

Опрос модуля

Проверка доступности и работоспособности модуля.

bool trackcv_check(void);

Возвращает:

  • true — в случае ответа модуля;
  • false — в случае ошибки (код ошибки в Errno).

Установить левую границу кадра

void trackcv_set_frame_x(uint32_t frame_x);

Устанавливает левую границу кадра для анализа. Значение по умолчанию: 0.

Параметры frame_x : Координата X левой границы кадра (в процентах относительно ширины кадра).

Установить нижнюю границу кадра

void trackcv_set_frame_y(uint32_t frame_y);

Устанавливает нижнюю границу кадра для анализа. Значение по умолчанию: 0.

Параметры frame_y : Координата Y нижней границы кадра (в процентах относительно высоты кадра).

Установить высоту кадра

void trackcv_set_frame_height(uint32_t frame_height);

Устанавливает высоту кадра для анализа. Значение по умолчанию: 0.

Параметры frame_height : Высота кадра (в процентах относительно высоты кадра).

Установить ширину кадра

void trackcv_set_frame_width(uint32_t frame_width);

Устанавливает ширину кадра для анализа. Значение по умолчанию: 0.

Параметры frame_width : Ширина кадра (в процентах относительно ширины кадра).

Коды ошибок

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

typedef enum {
	ERR_OK = 0, // нормальная работа
	WRONG_INDEX = 1, // неправильный индекс массива
	NO_MODULE = 2, // нет ответа от модуля
	MODULE_ERR = 3, // ошибка модуля
	COMM_ERR = 4, // ошибка библиотеки связи
	MODULE_NOREADY = 5 // модуль не готов
} Errno;

Получение кода ошибки

Errno trackcv_get_errno()

Возвращает Значение типа Errno.

Примеры программ

Для удобного начала работы с модулем Артинтрек вы можете загрузить готовые примеры программ для прошивки контроллера Трекдуино. Вся информация о текущей работе нейронной сети будет приходить в монитор порта, а результат работы алгоритма будет идентифицироваться изменением цвета RGB светодиода, встроенного в контроллер Трекдуино. Все примеры можно загрузить по ссылке

MNIST — распознавание рукописных цифр

При распознавании цифры светодиод мигает столько же раз.

Классификатор ImageNet, распознающий объекты 1000 классов

При обнаружении объекта из базы данных включается зеленый светодиод, и выводится номер объекта в монитор порта. Список объектов содержится в папке с примером.

Распознавание текста

Выводим достоверность и содержимое текста в монитор порта.

Нахождение лиц

При обнаружении лица выводятся его координаты в монитор порта.

Определение углов поворота головы

Выводится значения вращения головы относительно 3 координат.

Определение пола и возраста человека по лицу

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

Распознавание эмоций

Выводится в монитор порта значение эмоции и значение определения её достоверности. Если улыбнуться, встроенный RGB светодиод загорится зеленым. Если показать эмоцию печали, то встроенный RGB светодиод загорится красным.

Распознавание жестов руки

При распознавании жестов будет выводится информация в монитор порта, а встроенный светодиод загораться соответствующим цветом RGB.

Определение координат 5-ти ключевых точек лица

Вывод координаты одной из 5 точек лица в монитор порта.

Определение координат 35-ти ключевых точек лица

Вывод координаты одной из 35 точек лица в монитор порта.

Распознавание лиц

В ходе работы программы делаем фотографию 2 эталонных лиц по нажатию кнопки вниз контроллера Трекдуино, при нахождении первого лица включаем зеленым встроенный RGB светодиод контроллера Трекдуино, а второго - синим. При нажатии вверх очищаем эталонные лица.

ehlektronika/artintrek.txt · Последние изменения: 2023/11/17 09:46 — superadmin