К содержимому
  1. Главная
  2. Блог
  3. Руководство для начинающих: как выбрать модуль камеры для Raspberry Pi или Jetson Nano

Руководство для начинающих: как выбрать модуль камеры для Raspberry Pi или Jetson Nano

15 декабря 2019 · По материалам Arducam

При разработке проекта с камерой на встраиваемых системах вроде Raspberry Pi или NVIDIA Jetson Nano приходится учитывать много факторов. Чтобы вам было проще выбрать модуль камеры, Arducam подготовила это краткое руководство.

Определите интерфейс камеры и выберите подходящий

Если вы собираетесь добавить модуль камеры к встраиваемой системе вроде Raspberry Pi или Jetson Nano, сначала разберитесь, как он будет подключаться. На этих платах есть несколько интерфейсов для камер, и от выбора интерфейса зависит семейство камер: MIPI, USB или SPI.

MIPI CSI-2

Модули камер Arducam MIPI для Raspberry Pi

MIPI Alliance — организация, которая разрабатывает спецификации интерфейсов, в том числе последовательный интерфейс камеры MIPI CSI-2 (Camera Serial Interface 2). MIPI CSI-2 широко применяется в мобильной индустрии: например, Apple давно использует его в своих смартфонах. Интерфейс производительный, недорогой и простой в использовании, поэтому при поддержке производителей он быстро вышел за пределы мобильных устройств.

Поэтому неудивительно, что он есть и на встраиваемых системах вроде Raspberry Pi и Jetson Nano. На Raspberry Pi интерфейс MIPI CSI-2 представлен двумя физическими разъёмами: на 15 контактов на стандартных моделях и на 22 контакта на Pi Zero и Compute Module. У Jetson Nano разъём на 15 контактов. С разъёмами на 15 и 22 контакта работают одни и те же модули камер, отличаются только шлейфы.

MIPI CSI-2 — штатный интерфейс камеры Raspberry Pi и Jetson Nano, на нём построены модули камер Raspberry Pi V1 и V2. Этих камер и сторонних улучшенных версий на их основе хватает для большинства базовых задач. Если нужно несколько камер, их можно подключить через мультиплексоры камер Arducam и платы HAT для стереокамер.

При всей мощности и популярности у интерфейса MIPI CSI-2 есть ограничения. Камерам MIPI нужны отдельные драйверы, поэтому выбор сенсоров невелик, если производитель встраиваемой системы сам не занимается их поддержкой. Например, на Raspberry Pi долгое время были доступны только OV5647 и IMX219, пока не вышла третья камера — HQ.

Arducam постаралась изменить ситуацию и выпустила линейку модулей камер Arducam MIPI, чтобы закрыть этот пробел. С SDK и примерами Arducam на Raspberry Pi можно использовать разные модули камер MIPI, а не только две официальные камеры.

В новой серии камер Arducam Pivariety для сенсоров с более высокими характеристиками поддерживается и штатная настройка процессора обработки изображения (ISP).

Если же модули камер Arducam MIPI не закрывают ваши задачи, стоит рассмотреть другие интерфейсы.

USB-камеры

USB-камера

Помимо отдельного интерфейса камеры MIPI CSI-2, у Raspberry Pi и Jetson Nano есть несколько портов USB для подключения других устройств, в том числе USB-камер. USB-камеры следуют стандартам интерфейса USB, поэтому их легко подключать и адаптировать. Кроме того, если камера соответствует стандартам USB-устройств, драйверы для неё не нужны.

USB-камеры, которым не нужны драйверы, — это камеры UVC; остальные обычно представляют собой комплекты разработчика для оценки и разработки камер. UVC (USB Video Class) — один из классов USB-устройств. Драйверы для камер UVC уже предустановлены в операционной системе, поэтому камера работает сразу после подключения, без установки драйверов.

Чаще всего камеры UVC — это веб-камеры, но бывают и камеры UVC для встраиваемых систем. Arducam выпускает несколько плат камер UVC в дополнение к своим встраиваемым модулям камер MIPI. У таких камер есть функции под конкретные задачи, например широкий динамический диапазон (WDR), улучшенная съёмка при слабом освещении и другие.

Плата Arducam USB Camera Shield — универсальная плата управления камерой для ПК и встраиваемых систем вроде Raspberry Pi, Odroid, TI BeagleBone и аналогичных. Она поддерживает почти все сенсоры с параллельным интерфейсом и многие сенсоры MIPI от 0,3 до 18 Мп — как с глобальным, так и со скользящим затвором. К камере прилагаются библиотека SDK и примеры исходного кода для работы в Windows и Linux.

Камеры SPI

Плата-адаптер для нескольких камер SPI на Raspberry Pi

Камеры SPI можно использовать на Raspberry Pi и Jetson Nano, но для этих плат они не лучший выбор. Камера SPI — универсальное решение для любых устройств с интерфейсами SPI и I2C. Она создавалась в первую очередь для платформ без отдельного интерфейса камеры, например для плат Arduino. На Raspberry Pi её запустить можно, но ограниченная скорость SPI станет помехой для работы камеры.

Монохромный или цветной сенсор

Ещё один параметр — тип сенсора. Правило не универсальное, но большинство камер Arducam с глобальным затвором монохромные, а большинство камер со скользящим затвором — цветные.

Скользящий и глобальный затвор

Цветной сенсор со скользящим затвором

Цветной сенсор — это сенсор с цветными фильтрами; чаще всего применяется фильтр Байера. Цветной фильтр в каждом субпикселе пропускает свет определённой длины волны и задерживает остальной, а по данным субпикселей затем вычисляется цвет пикселя.

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

Плюс цветного сенсора со скользящим затвором в том, что он лучше передаёт то, что видит человеческий глаз. Такие сенсоры дешевле в производстве, и в них проще разместить больше пикселей. Но объекты, движущиеся быстрее, чем идёт экспонирование, они могут снять с искажениями.

Монохромный сенсор с глобальным затвором

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

Монохромный сенсор записывает только яркость освещения, без учёта цвета. Поэтому он получает больше света — точнее, больше фотонов, — ведь фильтр ничего не задерживает. Это хорошо сочетается с глобальным затвором: из-за короткой выдержки и высокой частоты кадров за каждую экспозицию на сенсор попадает меньше света, а дополнительный свет без цветного фильтра компенсирует короткое время экспонирования.

Вывод: если нужны высокая частота кадров и съёмка быстро движущихся объектов, выбирайте монохромные камеры с глобальным затвором. Если важнее детализация и фотосъёмка, попробуйте цветную камеру высокого разрешения со скользящим затвором.

Фиксированный или регулируемый фокус

Камера Raspberry Pi с автофокусом

В отличие от человеческого глаза, камера не может легко переключаться между близкими и далёкими объектами. Чаще всего фокус камеры по умолчанию установлен на бесконечность, и близкие объекты получаются нерезкими — как у официальных камер Raspberry Pi.

Если у камеры есть сменный объектив, например с креплением M12 или креплением CS, фокус можно настроить вручную: после фокусировки на бесконечность выкрутите объектив по резьбе дальше, чтобы навести резкость на более близкие объекты.

Но если в вашей задаче фокус нужно время от времени менять, вручную подстраивать его каждый раз неудобно. В модулях камер с автофокусом объектив перемещает встроенный мотор, поэтому фокусом можно управлять удалённо — командами или программным автофокусом.

Как подобрать модуль под ваш проект

Пример: клиент Arducam хотел использовать камеру на Raspberry Pi для круглосуточного видеонаблюдения и сохранять цвет ночью. Сначала он взял камеру OV5647 на 5 Мп, но выяснилось, что света ей не хватает и на снимке ничего не видно. Тогда он решил, что поможет объектив побольше, и купил камеру Arducam с объективом с креплением CS для Raspberry Pi. Однако зона съёмки оказалась уже, чем он ожидал, а тёмные участки всё так же не различались. Разобравшись в его требованиях, специалисты Arducam порекомендовали USB-камеру для слабого освещения с широкоугольным объективом, и результат клиента устроил.

Итак, чтобы подобрать модуль под проект, нужно хорошо понимать свою задачу и требования. Нужна ли высокая детализация? Насколько большая зона съёмки и с какого расстояния вы будете снимать? Движется ли объект быстро, например на конвейере? Какое освещение? Будете ли вы использовать камеру на разных платформах?

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

Ещё по теме

Запросить цену

Укажите количество — пришлём коммерческое предложение.