К содержимому
  1. Главная
  2. Блог
  3. Карта глубины на любой модели Raspberry Pi с платой стереокамеры Arducam HAT и OpenCV — без Compute Module

Карта глубины на любой модели Raspberry Pi с платой стереокамеры Arducam HAT и OpenCV — без Compute Module

27 ноября 2019 · По материалам Arducam

Стереозрение для Raspberry Pi

Большинство живых существ видят мир двумя глазами, а большинство моделей Raspberry Pi — нет: у стандартной Raspberry Pi только один порт камеры. Как ни старайся, работа с несколькими камерами и стереозрением на Raspberry Pi шла со скрипом, пока Arducam не выпустила плату HAT для синхронизированной стереокамеры. Она позволяет одновременно подключить две камеры Pi, а плата Raspberry Pi при этом «думает», что подключена одна.

Впрочем, стереокамера на платформе Raspberry Pi и раньше была возможна: с Raspberry Pi Compute Module и StereoPi двухкамерную систему вполне можно использовать. Но было бы здорово получить всё это и на обычной потребительской Raspberry Pi, например Raspberry Pi 3/4.

С этой задачей справляется плата стереокамеры Arducam HAT. Недавно в Arducam собрали на ней систему построения карты глубины: программную часть взяли из OpenCV, аппаратную — плату стереокамеры Arducam. Результат такой же, как у описанной выше связки.

OpenCV и построение карты глубины

OpenCV (Open Computer Vision) — огромный набор библиотек для компьютерного зрения в реальном времени. Он прост в использовании и распространяется с открытым исходным кодом, поэтому очень популярен у разработчиков. Если есть два снимка одной сцены, OpenCV извлекает из них информацию о глубине и с помощью несложной математики строит карту глубины.

Карта глубины похожа на карту рельефа (например, топографическую), только без горизонталей. Объекты на разном расстоянии окрашены в разные цвета, поэтому по карте сразу видно, что впереди, а что позади. Карта глубины добавляет камере «интеллекта»: она получает не только изображение, но и дополнительную информацию. Данные о глубине пригодятся во многих проектах, например в робототехнике.

Примеры карт глубины

Несколько карт глубины, построенных в Arducam с платой стереокамеры HAT:

Карта глубины в реальном времени по видео

Руководства по построению карты глубины с платой стереокамеры Arducam HAT

Подробное руководство по получению карты глубины на Raspberry Pi — в документации Arducam.

Вопросы и ответы

Можно ли вместо этого использовать две миниатюрные камеры (spy camera)?

Да, но придётся повозиться с тонкой ручной работой: вывод генератора одной камеры нужно подключить ко второй камере, а её собственный генератор снять. Проще взять стереокамеру — планку с двумя камерами — и подключить её напрямую к плате стереокамеры HAT на 5 Мп.

Работает ли эта стереоплата с Raspberry Pi Zero W?

Да, работает, если припаять к Pi Zero гребёнку GPIO или взять плату с уже распаянной гребёнкой. На фото ниже — как это выглядит с Pi Zero.

Плата стереокамеры HAT, подключённая к Raspberry Pi Zero

Можно ли подключить два официальных модуля V2 и использовать их как стереокамеру?

Да. Снимите с одной из плат камер резистор и микросхему шифрования, обведённые на фото кружком, припаяйте к контактным площадкам провода-перемычки, как показано на рисунке ниже, и скрутите их между собой для лучшего качества сигнала. Но Arducam рекомендует использовать её плату стереокамеры на 8 Мп.

Инструкция по доработке камеры Pi V2 на 8 Мп для стереорежима

Можно ли использовать эту двойную камеру с NVIDIA Jetson Nano?

У Jetson Nano такой же 40-контактный разъём GPIO и такой же разъём камеры MIPI CSI-2, поэтому стереокамеру можно использовать и на этой платформе. Подробнее о работе с этой платой HAT на Jetson Nano — в отдельной статье.

Ещё по теме

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

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