Camarray — новое решение Arducam для нескольких камер на встраиваемых системах и периферийных устройствах

Предисловие
Arducam выпускает новое решение для нескольких камер — Camarray. По данным Arducam, компания одной из первых занялась решениями для нескольких камер на популярных встраиваемых системах. Camarray позволяет подключить и синхронизировать до 4 модулей камер MIPI на Raspberry Pi, Jetson Nano, Jetson Xavier NX и других платформах. Подробности — ниже.
Оглядываясь назад: Arducam и системы из нескольких камер
Зачем Arducam делает решения для нескольких камер?
CMOS-камеры позволяют получить цифровое изображение реального мира. Мы живём в трёхмерном мире, но система с одной камерой по сути передаёт двумерное пространство: фотоны собираются на плоской поверхности сенсора. Как восстановить трёхмерный мир? С помощью нескольких камер.
Чтобы смоделировать трёхмерное пространство, нужно несколько камер: по ним строят систему координат камер, а затем сопоставляют её с системой координат реального мира. Как правило, чем больше камер, тем лучше: они охватывают более широкую область, а значит, точность выше.
На этой идее построено множество впечатляющих решений, которые меняют мир. Несколько камер помогают беспилотным автомобилям определять своё положение на дороге и объезжать другие машины и препятствия. Технологии обработки данных с нескольких камер сделали возможными виртуальную реальность (VR), дополненную реальность (AR) и такие задачи, как SLAM (одновременная локализация и построение карты).
Что Arducam уже предлагала для нескольких камер во встраиваемых системах?

Подключить сложную матрицу камер к мощной вычислительной системе — интересно, но в Arducam считают, что ещё интереснее подключить несколько камер к простому одноплатному компьютеру или периферийному устройству, например к Raspberry Pi или Jetson Nano.
Arducam много лет развивает решения для нескольких камер на встраиваемых системах вроде Raspberry Pi. Сначала вышел адаптер для нескольких камер: он позволял подключить к Pi несколько модулей камер и переключаться между ними с временным мультиплексированием. Затем — плата HAT для синхронизированной стереокамеры, которая подключает и синхронизирует две камеры одновременно.
Позже, когда распространилась более новая платформа NVIDIA Jetson, Arducam добавила поддержку Jetson Nano и Xavier NX, сделав решение совместимее и универсальнее. Чем глубже Arducam погружалась в тему, тем меньше оставалось попутчиков, но в компании по-прежнему постоянно задаются вопросом: как сделать решение ещё лучше?
Продукты и решения Arducam Camarray
Видео о решениях Camarray опубликовано на YouTube.
Что такое Camarray?
Camarray — новое решение Arducam для нескольких камер на Raspberry Pi, Jetson Nano, Xavier NX и других платформах; оно включает аппаратную и программную части. Аппаратная часть снимает ограничение физических разъёмов камер и позволяет подключить до 4 одинаковых камер MIPI. Программная часть позволяет полностью выводить на экран и записывать видеопотоки со всех подключённых камер и даже поддерживать сенсоры, которых нет в официальных драйверах.
Вместе аппаратная и программная части дают выбор: работать с системой из нескольких камер штатно — через официальный драйвер (mmal или nvargus) и с вашим существующим кодом без изменений — или через открытые драйверы V4L2 от Arducam. Назовём эти режимы соответственно штатным режимом и режимом Arducam.
В штатном режиме несколько видеовходов «сжимаются» за счёт изменения соотношения сторон, чтобы на выходе получилось то разрешение, которого ожидает драйвер. Так процессор «думает», что подключена только одна камера.

Если возможностей официального драйвера недостаточно и нужно полное, несжатое изображение с каждой камеры, используйте открытый драйвер камеры V4L2 от Arducam.
Какие платформы, функции драйвера и модули камер поддерживает Camarray?
Решение Arducam Camarray разработано и протестировано в первую очередь для одноплатных компьютеров: Raspberry Pi, Jetson Nano и Jetson Xavier NX. Тем, кто хочет работать с ним на ПК или ноутбуке с Windows/Linux, Arducam предлагает подключить плату Camarray HAT к компьютеру через плату Arducam USB3.0 Camera Shield и плату-адаптер для камер MIPI.
Драйвер камеры соответствует стандарту V4L2, поэтому совместим почти со всеми программами для камер V4L2: VLC, GStreamer, OpenCV и т. д. Исходный код драйвера тоже открыт: если готового установочного пакета для нового ядра ещё нет, драйвер можно пересобрать самостоятельно.
С поддерживаемыми модулями камер всё просто: если модуль камеры MIPI уже работает в вашей системе, Arducam Camarray позволит подключить несколько таких модулей. Сейчас у Arducam есть продукты и оценочные комплекты на штатных сенсорах OV5647 5 Мп, IMX219 8 Мп, IMX477 12 Мп, а также на поддерживаемых Arducam сенсорах с глобальным затвором OV9281 и OV2311. Если же нужный модуль камеры MIPI пока не поддерживается, Arducam готова взяться за доработку под заказ.
Какие бывают продукты Camarray?
Arducam Camarray — универсальное решение, которое может принимать разные формы, поэтому его проще встроить в ваш продукт. Сейчас Arducam выпускает продукты в 3 вариантах исполнения, а если готовые продукты и комплекты не подходят, принимает заказы на доработку.
Модуль стереокамеры


- Arducam 2MP*2: стереокамера для Raspberry Pi и NVIDIA Jetson Nano/Xavier NX, два монохромных модуля камер OV2311 с глобальным затвором — снята с производства
- Arducam 1MP*2: стереокамера для Raspberry Pi, NVIDIA Jetson Nano, Xavier NX и серии Orin, два монохромных модуля камер OV9281 с глобальным затвором — снята с производства
Если вы знакомы с коммерческими USB-стереокамерами вроде Intel RealSense или Zed, но ищете аналог с интерфейсом MIPI, присмотритесь к модулю стереокамеры. Он подключается стандартным шлейфом FPC на 15 контактов так же просто, как обычная камера. База у модуля фиксированная; типичные задачи такой стереокамеры — измерение глубины и объезд препятствий.
Сейчас у Arducam 2 монохромных модуля стереокамер с глобальным затвором: 1MP×2 на OV9281 и 2MP×2 на OV2311. Для удобства Arducam также предлагает корпуса, напечатанные на 3D-принтере, и штативы.
Особенности:
- Монохромные камеры с глобальным затвором, полностью синхронизированные.
- Фиксированная база 80 мм.
- Выбор объективов с креплением M12.
- Объединённое изображение «бок о бок» через один интерфейс MIPI.
- Драйвер камеры уровня ядра, совместимый с V4L2.
- Поддержка Raspberry Pi и Jetson Nano/Xavier NX.
- Открытые файлы корпуса для 3D-печати.
Плата Camarray Stereo Camera HAT



- Arducam 1MP*2: стереоскопический монохромный комплект на OV9281 с глобальным затвором для Raspberry Pi и NVIDIA Jetson серии Orin
- Arducam 12MP*2: синхронизированный стереокомплект для NVIDIA Jetson серии Orin — два модуля камер 477P 12,3 Мп с объективами CS и плата Camarray HAT для стереокамеры
- Arducam 12MP*2: синхронизированный стереокомплект для Raspberry Pi и Pi Zero — два модуля камер 477P 12,3 Мп с объективами CS и плата Camarray HAT для стереокамеры
Плата Camarray Stereo Camera HAT пришла на смену Arducam Synchronized Stereo Camera HAT. По сравнению с предшественницей у неё 4 главных улучшения:
- В штатном режиме изображения теперь объединяются со сжатием, а не с обрезкой — угол обзора не теряется.
- Поддержка камеры Arducam 12 Мп High Quality на IMX477 — более высокое разрешение.
- Камеры с глобальным затвором, например OV9281 и OV2311, подключаются проще.
- Поддержка переменной базы со специально доработанными модулями камер, например доработанными IMX477 и OV9281.
Плата Camarray Quad Camera HAT

- Arducam 1MP*4: квадроскопический монохромный комплект на OV9281 с глобальным затвором для Raspberry Pi и NVIDIA Jetson серии Orin
Эта плата полностью раскрывает возможности решения Camarray: к Raspberry Pi или Jetson можно одновременно подключить до 4 модулей камер. Сейчас для прототипирования и оценки Arducam предлагает квадроскопический комплект OV9281 1MP*4.
В комплект входят 4 монохромные камеры OV9281 1 Мп с глобальным затвором и плата Camarray HAT. Плата объединяет изображения с 4 камер в один кадр «бок о бок» и выводит его через интерфейс MIPI на 2 линии. Общая производительность потока — (1280 × 4) × 800 при 30 к/с; при доработке под вывод MIPI на 4 линии пропускную способность можно удвоить — до (1280 × 4) × 800 при 60 к/с.
С одной такой платой к одному разъёму MIPI CSI обычного Raspberry Pi подключаются 4 камеры. С двумя такими платами можно подключить 8 камер к Raspberry Pi Compute Module, Jetson Nano B01 или Jetson Xavier NX. Такая схема позволяет выполнять мультиспектральную съёмку или пространственную 3D-реконструкцию на одном встраиваемом устройстве, но нужно учитывать и вычислительную мощность. Комплект удобен для быстрого прототипирования и проверки концепции. Возможна и дальнейшая доработка под конкретные сенсоры или объективы.
Доработка Camarray под заказ
Решение Camarray гибкое и легко интегрируется, поэтому Arducam охотно дорабатывает его под конкретные задачи. Если готовые прототипы не покрывают ваши задачи или, наоборот, после проверки концепции вы решили сделать на их основе серийный продукт, напишите нам на quote@arducam-russia.ru — поможем с доработкой: другой сенсор, другие объективы и не только.
Проект Pivariety: комплект на IMX219 со штатными алгоритмами настройки ISP Raspberry Pi

Подробнее — в статье «Стереоскопический модуль камеры V2 с аппаратной настройкой ISP для Raspberry Pi».
Важно о плате Arducam Camarray HAT
Плата Camarray HAT не продаётся отдельно по следующим причинам:
- Большинство камер на рынке не рассчитаны на синхронную стереосъёмку. Arducam дорабатывает свои модули камер специально для Camarray HAT. Ваши собственные модули камер V1, V2 или HQ с ней напрямую работать не будут.
- Для сенсоров, которые встраиваемая система не поддерживает штатно, Camarray HAT нужна отдельная прошивка под каждый сенсор. Ваши собственные модули камер OV9281 и OV7251 с ней напрямую работать не будут, и заменить их друг другом непросто.
Если у вас есть дополнительные требования, понадобится доработка под заказ — напишите нам на quote@arducam-russia.ru. Например, если:
- модуль камеры должен работать в других видеорежимах и с другой частотой кадров;
- камеру нужно запускать внешним аппаратным сигналом (trigger).
Как получить решение Camarray
Подробнее об Arducam Camarray — на странице решений Arducam Camarray.

