Pull to refresh

Основы стереозрения

Image processing *
В данной статье содержатся базовые сведения о математическом аппарате, используемом в стерео зрении. Идея ее написания появилась после того как я начал работать с методами стерео зрения, в частности использовать алгоритмы реализованные в OpenCV. Эти алгоритмы зачастую ссылаются на различные понятия, такие как "фундаментальная матрица", "эпиполярная геометрия", "триангуляция". Существуют очень хорошие книжки по компьютерному зрению, в которых описывается, в том числе и стерео зрение и все необходимые понятия, но в них, нередко, бывает представлено слишком много информации для новичка. Здесь же, в краткой форме изложены базовые сведения о том, как работает стерео зрение и основные связанные с ним необходимые понятия:
  • проективная геометрия и однородные координаты
  • модель камеры
  • эпиполярная геометрия (epiporal geomerty), фундаментальная и существенная матрицы (fundamental matrix, essential matrix)
  • триангуляция стереопары точек
  • карта глубины(depth map), карта смещений(disparity map) и идея, лежащая в основе ее вычисления
Практически весь материал статьи основан на книге "Multiple View Geometry in Computer Vision" by Hartley, R. I. and Zisserman, A., а раздел про построение карты глубины описан на основе материала из "Learning OpenCV" by Gary Bradski, Adrian Kaehler.

Для понимания содержимого статьи достаточно иметь общее представление об аналитической геометрии и линейной алгебре: знать, что такое матрица, вектор, скалярное и векторное произведение.

Читать дальше →
Total votes 41: ↑41 and ↓0 +41
Views 102K
Comments 9

Vision-based SLAM: стерео- и depth-SLAM

Singularis Lab corporate blog Image processing *Robotics development *
Tutorial
После небольшого перерыва мы продолжаем серию статей-уроков по SLAM. В предыдущих выпусках мы подготовили программное окружение, а также поработали с монокулярным SLAM. Под катом – урок по использованию SLAM на основе стереокамеры и камеры глубины. Мы расскажем о настройке пакетов и оборудования и дадим советы по использованию двух ROS-пакетов: ставшего традиционным RTAB-Map и свежего вкусного ElasticFusion.


Читать дальше →
Total votes 16: ↑14 and ↓2 +12
Views 17K
Comments 9

Получаем настоящее 3D видео с Raspberry Pi

Working with video *AR and VR DIY
В популярной нынче области трехмерного видео со всеми ее Окулусами и 3D-кинотеатрами наблюдается серьезный дисбаланс. Средств просмотра 3D намного больше, чем средств для его создания.
Если говорить не о компьютерных игрушках, а именно о 3D видео с камеры, то его создание требует достаточно дорогих и сложных решений, которые трудно назвать доступными для технических энтузиастов.
Поэтому и появилась на свет идея простого устройства, которое позволяет с обыкновенной Raspberry Pi и одного модуля камеры получать настоящее 3D видео.
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Views 30K
Comments 29

Настройка ROS и работа со стереокамерой ZED на NVIDIA Jetson

Robotics
Добрый день уважаемые читатели! В последних статьях я рассказывал о популярных методах SLAM и визуальной одометрии, которые имеют поддержку в ROS. В этой статье я немного отклонюсь от темы и расскажу о настройке и работе с ROS на микрокомпьютере NVIDIA Jetson TK1. После установки всего необходимого мы подключим и попробуем в деле стереокамеру ZED от streolabs. Кому интересно прошу под кат.
Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Views 10K
Comments 22

StereoPi — наша железка для изучения компьютерного зрения, дронов и роботов

Development for Raspberry Pi *Robotics DIY
Всем привет!

Сегодня я бы хотел рассказать вам о нашей новой железке на базе Raspberry Pi Compute Module, предназначенной для изучения компьютерного зрения и установки на роботов и дронов. По сути это «умная» стереокамера — она поддерживает работу с двумя камерами одновременно, имеет в качестве «сердца» настоящую малину и, самое важное – работает со стоковой версией Raspbian.
Вот как выглядит собранное решение, с установленными двумя камерами и Pi Compute модулем.

image
Читать дальше →
Total votes 39: ↑39 and ↓0 +39
Views 19K
Comments 59

Ты в 3D от третьего лица: Oculus Go + Raspberry Pi

Development for Raspberry Pi *AR and VR DIY
image
КДПВ

Во многих компьютерных игрушках есть вид от 3-го лица. Камера находится сзади-сверху и вы видите либо героя целиком, либо его верхнюю часть. В играх мы быстро привыкаем к такому режиму и спокойно творим свои игровые делишки. Мозг отлично понимает что это просто картинка на экране, и зазря дергать вестибулярный аппарат не считает нужным.

И решили мы мозг наш слегка потроллить:

  • картинку отдать в 3D, пусть будет немножко погружения
  • убрать мышки, джойстики и все такое — просто рулим своим телом
  • камера закреплена сзади-сверху на спине и перемещается вместе с человеком

О результатах этого веселого эксперимента я и решил сегодня рассказать.
Читать дальше →
Total votes 45: ↑45 and ↓0 +45
Views 25K
Comments 41

ROS: карта глубин на Raspberry Pi «малой кровью»

Robotics development *Robotics DIY
image

Если вы используете ROS при создании роботов, то наверняка знаете, что в ней есть поддержка работы со стереокамерами. Можно построить, например, карту глубин видимой части пространства или облако точек. И мне стало интересно, насколько просто будет использовать в ROS стереокамеру StereoPi на базе малины. Раньше я уже убедился, что карта глубин отлично строится силами OpenCV, но вот с ROS никогда дела не имел. И решил попробовать. Я хочу рассказать о моих приключениях в поиске решения.
Читать дальше →
Total votes 24: ↑24 and ↓0 +24
Views 10K
Comments 12

Изучаем OpenCV на StereoPi: карта глубин по видео

DIY
Tutorial


Сегодня мы хотим поделиться серией примеров на Питоне для изучающих OpenCV на Raspberry Pi, а именно для двухкамерной платы StereoPi. Готовый код (плюс образ Raspbian) поможет пройти все шаги, начиная c захвата картинки и заканчивая получением карты глубин из захватываемого видео.
Total votes 28: ↑27 and ↓1 +26
Views 12K
Comments 26