Комплект Google использует RPi Zero и Coral Accelerator для машинного обучения

Проект Alto от Google Creative Lab ставит перед Coral USB Accelerator и Raspberry Pi Zero SBC задачу реализовать простое для понимания машинное обучение с помощью мини-робота с открытым исходным кодом, который вы создаете самостоятельно.

Google Creative Lab представила проект под названием Alto. Alto от Google Creative Lab – это «объект, который можно обучить с помощью Coral USB Accelerator». «ALTO» означает «Маленький обучаемый объект». Он разработан, чтобы позволить пользователям получить базовые знания о машинном обучении. Alto использует Coral USB Accelerator и Raspberry Pi, чтобы помочь пользователям легко добавлять машинное обучение в свои проекты.

Репозиторий Google Alto GitHub содержит все инструкции и файлы, необходимые для создания Alto с нуля. Все коды и шаблоны для проекта Alto бесплатны для доступа. Google отмечает, что Alto не является официальным продуктом Google, а является результатом совместной работы Google Creative Lab и ее партнеров из RRD Labs.

Процесс сборки Alto
Alto в собранном виде

За прошедшие годы мы рассмотрели ряд учебных комплектов на основе искусственного интеллекта от Google. И все они были на основе Raspberry Pi SBC. Первым примером стала образовательная платформа Google Project Bloks для детей, построенная на базе Raspberry Pi Zero и выпущенная в 2016 году. В 2017 году Google выпустила свой Google Assistant SDK на основе Python, набор для голосового помощника Google Assistant с искусственным интеллектом. За этим последовал комплект AIY Projects для голосовых проектов/AI на Raspberry Pi. В 2018 году компания основывалась на стратегии AIY, выпустив новые версии своих голосовых комплектов AIY Voice Kit и AIY Vision Kit, которые поставляются с Raspberry Pi Zero WH.

Alto упрощает машинное обучение. На передней панели Alto есть камера, а с каждой стороны – рука и кнопка. Alto использует камеру, чтобы наблюдать за окружающим миром. Кнопки используются для начала обучения, и Alto укажет рукой, когда увидит то, что он научился распознавать. Alto может изучать два класса вещей. Когда Alto узнает один из объектов, он укажет соответствующей рукой. Чем больше вы будете учить Alto одному и тому же объекту, тем лучше он будет его распознавать.

Alto распознает разницу между двумя объектами и указывает на них разными руками
Alto распознает разницу между двумя объектами и указывает на них разными руками

Alto состоит из трех основных элементов: Raspberry Pi Zero SBC с камерой; Coral USB Accelerator для ускорения машинного обучения на устройстве; и некоторая простая электроника для его пользовательского интерфейса.

Raspberry Pi Zero работает под управлением Raspberry Pi OS. Он отвечает за взаимодействие с подключенным оборудованием пользователя (подключенным через GPIO), модулем камеры и TPU Coral Edge (подключенным через USB). Операционная система запускается автоматически и действует как хост для программного приложения, на котором работает Alto. Система ускоряет все логические выводы машинного обучения (и часть обучения), делегируя выполнение на Edge TPU. Edge TPU – это сопроцессор машинного обучения. Это позволяет компьютерам с низким энергопотреблением, таким как Raspberry Pi, выполнять расширенные рабочие нагрузки машинного обучения с гораздо более высоким уровнем производительности, чем если бы они были запущены на центральном процессоре. Все задачи машинного обучения, выполняемые Alto, выполняются на устройстве (в автономном режиме) с использованием Edge TPU.

Программное обеспечение Coral для Edge TPU официально не поддерживает Raspberry Pi Zero (он имеет чипсет ARMv6, но Coral официально требует ARMv8). Тем не менее, программное обеспечение Coral для Edge TPU Runtime имеет открытый исходный код и было успешно скомпилировано для Raspberry Pi Zero.

Программное обеспечение Alto написано на Python. Он получает входные данные от модуля камеры Raspberry Pi, подготавливает его для классификации модулем Edge TPU и взаимодействует с интерфейсом электроники. Google сообщает, что приложение использует «модель классификатора k-ближайших соседей (k-NN) для определения близости данного изображения к другим в его изученном наборе данных».

Когда Alto обучается, он определяет алгоритмы встраивание входящих данных от датчика изображения в свою модель и присваивает ему метку – в случае Alto эта метка является его левой или правой рукой. Когда Alto находится в режиме распознавания, определяются вложения кадров данных от датчика изображения и вычисляется их близость к другим известным вложениям. Если они находятся на определенном расстоянии от помеченной вложения, а Alto что-то распознал, он укажет на это соответствующей рукой.

Простые внешние элементы робота Alto
Полный комплект электроники для сборки Alto

Согласно Google Creative Lab, электроника для Alto разработана так, чтобы быть максимально гибкой и имелась возможность взлома. Он основан на одной сквозной плате прототипирования, которую можно легко собрать вручную. Плата подключается к контактам GPIO Raspberry Pi Zero и имеются разъемы для других компонентов Alto: двух сервоприводов, двух кнопок и одного светодиода. Конструкция и спецификация материалов (BOM) включают предварительно изготовленную коммутационную плату USB, которая включает дискретную схему регулирования мощности, которая обеспечит бесперебойную подачу необходимой мощности на Alto во время нормальной работы.

Дополнительная информация

Вся информация, включая инструкции, файлы и полезные изображения, доступна на странице Alto GitHub page. Хорошее краткое изложение того, что такое Alto и что он умеет делать, представлено в обзоре SlashGear.

Выражаем свою благодарность источнику из которого взята и переведена статья, сайту linuxgizmos.com

Оригинал статьи вы можете прочитать здесь.

5 1 vote
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Inline Feedbacks
View all comments