Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Оценка точности методов построения карт глубин по стереокадрам

Автор:   •  Июнь 2, 2023  •  Реферат  •  693 Слов (3 Страниц)  •  135 Просмотры

Страница 1 из 3

УДК 004.932

ОЦЕНКА ТОЧНОСТИ МЕТОДОВ ПОСТРОЕНИЯ КАРТ ГЛУБИН ПО СТЕРЕОКАДРАМ

Д.М. Батенко, студент каф. ТУ

Научный руководитель В.В. Капустин, доцент каф. ТУ, к.т.н.

Проект ГПО ТУ-2204. Методы и алгоритмы машинного зрения для навигации автономных мобильных роботов и интеллектуальных транспортных средств

г. Томск, ТУСУР, batenko2003@mail.ru

В работе приведены результаты сравнение двух методов построения карт глубин по заранее созданным стереокадрам

Ключевые слова: техническое зрение, стереокадры, карта глубин

Существуют различные методы построения карт глубин, из которых два широко распространены — Block Matching (BM) и Semi-Global Block Matching (SGBM) [1]. В данной работе было проведено сравнение точности этих двух методов построения карт глубин.

BM и SGBM являются версиями алгоритма block matching, использующего блочную сетку для вычисления смещений каждого блока изображения. Основное отличие между BM и SGBM заключается в том, что SGBM использует глобальный алгоритм для поиска наилучшего смещения блока, в то время как BM использует локальный алгоритм. Это означает, что SGBM имеет более высокую точность, но требует больше времени для вычисления. Работа проводилась с помощью рабочей установки, состоящей из камеры VAC-136-USB, параметры которой указаны в табл. 1, и платформы, по которой передвигается камера. Установка подключена к компьютеру. С помощью компьютера задается расстояние, на которое передвинется камера и записывается изображение, снятое на камеру.

Таблица 1 – Параметры камеры

Параметр

Значение

Частота кадров, Гц

30

Цветность

Чёрно-белая

Тип (размер) матрицы

КМОП 1/3

Выходное разрешение матрицы, мегапикселей

1,3

Разрешающая способность, ТВЛ

800

Разрешение максимальное, пикселей

1280 х 960

Тип объектива

C/CS-Mount

Размер пикселя, мкм

3,75 х 3,75

Для получения изображений использовалось приложение EVSCAP. В результате была выполнена съемка сцены с двух положений камеры.

Измерение дальности проводилось по формуле:

[pic 1]

Где f – фокусное расстояние объективов видеокамер, а Ip – линейный размер пикселя, B – база стереосистемы в метрах, Δn – значение смещения в пикселях.

Для оценки точности методов была создана композиция, на которой находились следующие объекты: огнетушитель, тубус и пластиковый стакан. Дальность до объектов была предварительно измерена лазерным дальномером BOSCH DLE 50 и сведена в табл. 2.

 Таблица 2 – Расстояние до тестовых объектов

Объект

Расстояние, м

Тубус

3,2

Стакан

2,8

Огнетушитель

4,2

Далее с помощью камеры было отснято 2 кадра при смещении камеры на 25 мм и фокусном расстоянии объектива в 16 мм, после чего был создан стереокадр из имеющихся кадров, представленный на рисунке 1.

Для каждой пары изображений на языке Python [2] были написаны алгоритмы с использованием библиотеки OpenCV реализующие методы BM и SGBM [3].

Параметры, использованные в BM и SGBM:

  1. minDisparity – минимально возможное значение диспаратности.
  2. numDisparities – максимальное несоответствие минус минимальное несоответствие.
  3. blockSize – соответствующий размер блока.
  4. uniquenessRatio – если несоответствие наилучшего соответствия не лучше всех других несоответствий в диапазоне поиска, пиксель отфильтровывается.

Результаты, показывающие карты глубин для одной из пар изображений, представлены на рис. 2, 3.

[pic 2]

Рисунок 1. Совмещённый левый и правый кадры

[pic 3]

Рисунок 2. Карта глубин, построенная с помощью метода BM

В данном методе на карте BM очертания объектов различимы, но во внутренних областях огнетушителя и стакана есть пропуски. Так же не отображается столешница и плохо различим задний фон, из чего следует, что данный метод в визуальном качестве уступает SGBM. Измерение времени проводилось с помощью стандартного модуля time в Python. После загрузки необходимых изображений, добавлялась функция time.time(), после которой начинался отсчёт времени. В конце алгоритма завершалось измерение функции time.time() и на экран выводилась разница между стартом отсчёта и завершением.

...

Скачать:   txt (9.6 Kb)   pdf (321.6 Kb)   docx (729.7 Kb)  
Продолжить читать еще 2 страниц(ы) »
Доступно только на Essays.club