Проект Jetvariety: как Arducam позволяет подключить любой модуль камеры к Jetson Nano с одним драйвером ядра для всех

Примечание: Arducam обновила и перезапустила проект Jetvariety. Актуальная статья — ниже.

Arducam обновила Jetvariety — проект по расширению выбора камер MIPI для Jetson Nano и Xavier NX — и добавила поддержку NVIDIA Argus API
Проект Jetvariety: больше камер для Jetson Nano
Arducam представляет проект Jetvariety (сокращение от Jetson variety). Его цель — быстро расширить выбор камер для Jetson Nano с помощью собственного универсального решения Arducam.
Jetson Nano и Xavier NX официально поддерживают только модуль камеры Raspberry Pi V2 на IMX219, а позже к нему добавился IMX477. Для базовых задач этих двух камер хватает, но что делать опытному пользователю, которому их недостаточно? Arducam предлагает способы подключить к платформам Jetson модули камер MIPI, отличные от IMX219 и IMX477.
Проект Jetvariety позволяет подключить любой модуль камеры MIPI от Arducam — как уже выпущенный, так и будущий — к скоростному разъёму CSI-2 на Jetson Nano. Благодаря дополнительной аппаратной и программной работе Arducam подключить новую камеру стало гораздо проще.





Проект раскрывает возможности Jetson Nano в машинном зрении: больше выбора камер для гораздо более широкого круга промышленных, учебных и личных задач.
Демонстрационное видео опубликовано на YouTube.
Ограничения модулей IMX219 (как Raspberry Pi Camera V2) и IMX477 (камера HQ)
Первая камера с родной поддержкой на Jetson Nano — Sony IMX219 из экосистемы Raspberry Pi, за ней последовала IMX477. IMX219 недорогая и хорошо подходит для ряда задач, IMX477 — камера более высокого класса. Если вы только начинаете работать с Jetson и хотите использовать камеру с готовым открытым кодом из интернета, который вызывает штатные команды камеры вроде nvgstcapture/nvarguscamera или API nvargus, берите одну из этих двух — проблем не будет.
С другой стороны, в машинном зрении, промышленных и медицинских задачах нужны более высокие разрешение и частота кадров или камера с внешним запуском без артефактов скользящего затвора. Если хочется попробовать камеры, отличные от IMX219, переключаться между ними неудобно, а разработка и отладка драйвера для камеры без родной поддержки может превратиться в кошмар.
У IMX477 похожая проблема. Конечно, это серьёзный шаг вперёд по сравнению с IMX219, и камеры высокого качества от Arducam устроят большинство заказчиков. Но всегда найдутся другие сенсоры, которые людям нравятся или к которым они привыкли.
Чтобы решить эту проблему, Arducam предлагает комплексное решение для камер и поддержку, включая единый драйвер ядра для всех камер. Решение упрощает подключение новых камер к Nano и открывает широкие возможности. Цель проекта Jetvariety — универсальная совместимость с любыми сенсорами камер и доступная цена для каждого пользователя.
Особенности серии Arducam Jetvariety
- Поддержка отладочных плат Arducam от 0,3 до 18 Мп
- Поддержка монохромных и цветных камер
- Поддержка форматов Gray, Y10, Y16, RAW8/10 Bayer (для YUV, RGB и JPEG нужен дополнительный ISP)
- Поддержка стандартного фреймворка V4L2, видеоузлов и элементов управления (экспозиция, усиление и другие — в зависимости от параметров камеры)
- Поддержка камер с глобальным затвором и внешним запуском
- Синхронизация двух камер
- Поддержка Arducam Stereo Camera HAT
- Установка драйвера одной командой
- Совместимость с OpenCV, примеры с исходным кодом
Поддерживаемые камеры (неполный список)
Камеры со скользящим затвором
- AR0230 на 2 Мп с HDR и встроенным ISP
- OV5647 на 5 Мп (камера Raspberry Pi V1.3)
- IMX219 на 8 Мп (камера Raspberry Pi V2.1)
- IMX135 на 13 Мп
- IMX298 на 16 Мп
- AR1820HS на 18 Мп
Камеры с глобальным затвором
- OV7251 на 0,3 Мп
- OV9281 на 1 Мп
- OV2311 на 2 Мп

