В нашем предыдущем посте мы кратко описали аппаратные и программные возможности роботизированного искусственного зрения (RAiV). В этом посте мы рассмотрим подробности.

Аппаратное обеспечение

Robotic Ai Vision Hardware Diagram
Схема аппаратного обеспечения для искусственного интеллекта

Синхронизированные стереокамеры и IMU

Датчики изображения, используемые в RAiV, имеют разрешение 1600x1300 пикселей. По умолчанию стереокамера работает со скоростью 60 кадров в секунду. Формат выходных данных датчиков - Bayer pattern, который автоматически преобразуется в RGB с помощью программного обеспечения. Таким образом, пользователи могут получать изображения в формате RGB, используя наш пакет Python SDK, без каких-либо усилий. В дополнение к датчикам изображения, RAiV также имеет IMU (инерциальный измерительный блок). IMU имеет 6 степеней свободы (DoF) с использованием гироскопа с 3 степенями свободы и акселерометра с 3 степенями свободы. И гироскоп, и акселерометр работают на частоте 200 Гц.

Для 3D-зрения недостаточно иметь датчики. Основой 3D-зрения является синхронизация и калибровка. Датчики изображения откалиброваны, и все параметры калибровки доступны пользователю через наш пакет Python SDK. Кроме того, в RAiV мы синхронизировали датчики изображения и IMU с аппаратным сигналом. Благодаря этому разница во времени между полученными стереокадрами составляет менее 50 микро секунд при 60 кадрах в секунду. И ИДУ сообщает о времени, прошедшем с момента последнего сигнала синхронизации при каждой выборке.

Благодаря этим функциям пользователи могут использовать приложение 3D vision в движущихся и сложных условиях

Процессоры (CPU и NPU)

RAiV включает в себя восьмиядерный процессор Cortex-A55 для центрального процессора и Google EdgeTPU для NPU. Пользователи могут использовать оба процессора, загрузив свои коды на python и модель Tensorflow Lite.

Для использования центрального процессора RAiV использует изолированную среду python. Загруженные пользователем коды на python сначала проверяются на семантическую корректность, а затем на выполнимость. Если загруженные коды проходят проверку, RAiV запускает коды на python.

Использование NPU более прямолинейно. Единственный важный момент - модель Tensorflow Lite (.tflite) должна быть экспортирована для "edgetpu" или скомпилирована с помощью "edgetpu_compiler". В противном случае модель Tensorflow Lite полностью выполняется на процессоре.

Интерфейсы связи и сигнализации

RAiV был разработан для гибкой интеграции. Для достижения этой цели RAiV имеет несколько интерфейсов связи и сигнализации. Пользователь может использовать эти интерфейсы, используя наш Python SDK.

Во всех интерфейсах используются промышленные разъемы с двухтактной системой блокировки, за исключением разъема Ethernet и разъема антенны Wi-Fi, которые являются разъемами RJ-45 и SMA соответственно

Кодировщик H264

Для любой системы технического зрения важно получать прямую видеотрансляцию с камеры. Для достижения этой цели RAiV имеет аппаратный кодировщик H.264 и выделенный сервер WebSocket. Пользователь может включать и отключать аппаратный кодировщик H.264 и его WebSocket-сервер, используя наш пакет Python SDK.

Программное обеспечение

Веб-среда IDE

RAiV предназначен для быстрой адаптации. Для достижения этой цели RAiV настраивается и программируется через веб-интерфейс. Конфигурацию RAiV можно выполнить, войдя в учетную запись "Администратор". А программирование RAiV можно выполнить, войдя в учетную запись "Пользователь". Более подробную информацию об этих интерфейсах можно найти в Руководстве по RAiV и в нашей следующей публикации в блоге От нуля до стерео

Robotic Ai Vision Web IDE - User Account Screenshot
Веб-среда разработки Robotic Ai Vision - Скриншот учетной записи пользователя.
  1. Панель команд
  2. Панель параметров
  3. Панель списка изображений
  4. Панель экрана
  5. Панель потоковой передачи и работоспособности

Модульная архитектура

Пакет RAiV python SDK позволяет использовать аппаратные возможности RAiV по запросу. Пользователи могут использовать все функции или только выбранные из них. Например, пользователь может отключить или включить NPU, выполнение пользовательского кода на Python и/или кодировщик H264. С другой стороны, в настоящее время IMU включен по умолчанию и не может быть отключен

Конвейер передачи данных - Введение

В RAiV имеется несколько источников данных. В зависимости от типа источника, все сгенерированные данные направляются в одну или несколько программных частей. Например, выходные данные аппаратного кодера H.264 направляются только на сервер WebSocket. Однако выходные данные IMU перенаправляются в программное обеспечение для захвата изображений и пользовательское программное обеспечение.

Robotic Ai Vision Data Routing Pipeline Diagram
Схема конвейера маршрутизации данных роботизированного искусственного интеллекта

Ваш код на Python

Для создания пользовательских приложений и интеграции с пользовательскими роботизированными и автоматизированными системами RAiV позволяет пользователям загружать и запускать свои собственные скрипты и библиотеки на python. С помощью нашего Python SDK и сторонних библиотек, таких как OpenCV4 и NumPy, пользователи могут реализовывать свои желаемые приложения

Что дальше?

Для начала:

С нуля до стерео: Начало разработки на основе браузера