Приложение Stereo Camera Calibrator
Обзор Stereo Camera Calibrator
Можно использовать приложение Stereo Camera Calibrator, чтобы калибровать стереофотоаппарат, который можно затем использовать, чтобы восстановить глубину с изображений. Система стерео состоит из двух камер: камера 1 и камера 2. Приложение может или оценить или импортировать параметры отдельных камер. Приложение также вычисляет положение и ориентацию камеры 2 относительно камеры 1.
Приложение Stereo Camera Calibrator производит объект, содержащий параметры стереофотоаппарата. Можно использовать этот объект для
Исправьте стереоизображения с помощью функции rectifyStereoImages
.
Восстановите 3-D сцену с помощью функции reconstructScene
.
Вычислите 3-D соответствие местоположений соответствию с парами точек изображений с помощью функции triangulate
.
Комплект калибровочных функций, используемых приложением Stereo Camera Calibrator, обеспечивает рабочий процесс для системной калибровки стерео. Можно использовать эти функции непосредственно в рабочей области MATLAB®. Для списка калибровочных функций смотрите Один и Калибровка Стереофотоаппарата.
Примечание
Можно использовать приложение Camera Calibrator с камерами до поля зрения (FOV) 95 градусов.
Калибровка стереофотоаппарата
Следуйте за этим рабочим процессом, чтобы калибровать ваш стереофотоаппарат с помощью приложения:
Подготовьте изображения, камеру и калибровочный шаблон.
Добавьте пары изображений.
Калибруйте стереофотоаппарат.
Оцените калибровочную точность.
Настройте параметры, чтобы улучшить точность (при необходимости).
Экспортируйте объект параметров.
В некоторых случаях значения по умолчанию работают хорошо, и вы не должны делать улучшения прежде, чем экспортировать параметры. Можно также сделать улучшения с помощью функций калибровки фотоаппарата непосредственно в рабочем пространстве MATLAB. Для списка функций смотрите Один и Калибровка Стереофотоаппарата.
Откройте Stereo Camera Calibrator
Панель инструментов MATLAB: На вкладке Apps, в разделе Image Processing and Computer Vision, кликают по значку Stereo Camera Calibrator.
Подсказка команды MATLAB: Введите stereoCameraCalibrator
Подготовьте шаблон, камеру и изображения
Чтобы улучшить результаты, используйте между 10 и 20 изображениями калибровочного шаблона. Калибратор требует по крайней мере трех изображений. Используйте несжатые изображения или форматы сжатия без потерь, такие как PNG. Калибровочный шаблон и настройка камеры должны удовлетворить набор требований, чтобы работать с калибратором. Для большей калибровочной точности следуйте этим инструкциям для подготовки шаблона, подготовки камера и получения изображений.
Подготовьте шаблон шахматной доски
Приложение Camera Calibrator использует шаблон шахматной доски. Шаблон шахматной доски является удобной калибровочной целью. Если вы хотите использовать различный шаблон, чтобы извлечь ключевые пункты, можно использовать функции MATLAB калибровки фотоаппарата непосредственно. Смотрите Один и Калибровка Стереофотоаппарата для списка функций.
Можно распечатать (из MATLAB) и использовать обеспеченный шаблон шахматной доски. Шаблон шахматной доски, который вы используете, не должен быть квадратным. Одна сторона должна содержать четное число квадратов, и другая сторона должна содержать нечетное число квадратов. Поэтому шаблон содержит два черных угла вдоль одной стороны и два белых угла на противоположной стороне. Это критерии позволяет приложению определить ориентацию шаблона. Калибратор присваивает более длинную сторону, чтобы быть x - направление.
Подготовить шаблон шахматной доски:
Присоедините распечатку шахматной доски к плоской поверхности. Недостатки на поверхности могут влиять на точность калибровки.
Измерьте одну сторону квадрата шахматной доски. Вам нужно это измерение для калибровки. Размер квадратов может отличаться в зависимости от параметров принтера.
Чтобы улучшить скорость обнаружения, настройте шаблон с как можно меньшей фоновой помехой.
Настройка камеры
Чтобы калибровать вашу камеру, следуйте этим правилам:
Сохраните шаблон в особом внимании, но не используйте автофокус.
Если вы изменяете настройки изменения масштаба между изображениями, изменениями фокусного расстояния.
Получите изображения
Для лучших результатов используйте по крайней мере 10 - 20 изображений калибровочного шаблона. Калибратор требует по крайней мере трех изображений. Используйте несжатые изображения или изображения в форматах сжатия без потерь, таких как PNG. Для большей калибровочной точности:
Получите изображения шаблона на расстоянии, примерно равняются расстоянию от вашей камеры до предметов интереса. Например, если вы планируете измерить объекты от 2 метров, сохраните свой шаблон приблизительно в 2 метрах от камеры.
Поместите шахматную доску под углом меньше чем 45 градусов относительно плоскости камеры.
Не изменяйте изображения, (например, не обрезайте их).
Не используйте автофокус или изменяйте настройки изменения масштаба между изображениями.
Получите изображения шаблона шахматной доски при различных ориентациях относительно камеры.
Получите множество изображений шаблона так, чтобы вы объяснили как можно больше фрейма изображения. Искажение объектива увеличивается радиально с центра изображения и иногда не универсально через фрейм изображения. Чтобы получить это искажение объектива, шаблон должен появиться близко к ребрам полученных изображений.
Убедитесь, что шаблон шахматной доски полностью видим в обоих изображениях каждой стереопары.
Сохраните шаблон стационарным для каждой пары изображений. Любое движение шаблона между взятием изображения 1 и изображением 2 из пары негативно влияет на калибровку.
Создайте отображение стерео или анаглиф, путем расположения этих двух камер на расстоянии приблизительно в 55 мм. Это расстояние представляет среднее расстояние между человеческими глазами.
Для большей точности реконструкции на более долгих расстояниях расположите свои камеры дальше независимо.
Добавьте пары изображений
Чтобы начать калибровку, щелкните, в частности два набора стереоизображений шахматной доски, один набор от каждой камеры.
Загрузите изображения
Можно добавить изображения от нескольких папок путем нажатия на Add images в разделе File вкладки Calibration. Выберите местоположение для изображений, соответствующих камере 1 использование кнопки Browse, затем сделайте то же самое для камеры 2. Задайте Size of checkerboard square путем ввода длины одной стороны квадрата от шаблона шахматной доски.
Анализируйте изображения
Калибратор пытается обнаружить шахматную доску в каждом из добавленных изображений, отображая окно индикатора выполнения Анализа Изображений, указывая на прогресс обнаружения. Если какое-либо из изображений отклоняется, диалоговое окно Detection Results появляется, который содержит диагностическую информацию. Результаты показывают, сколько общих изображений было обработано, и обработанных, сколько было принято, отклонено или пропущено. Калибратор пропускает дублирующиеся изображения.
Чтобы просмотреть отклоненные изображения, нажмите View images. Калибратор отклоняет дублирующиеся изображения. Это также отклоняет изображения, где целая шахматная доска не могла быть обнаружена. Возможные причины ни для какого обнаружения являются размытым изображением или экстремальным углом шаблона. Обнаружение занимает больше времени с увеличенными изображениями и с шаблонами, которые содержат большое количество квадратов.
Просмотрите изображения и обнаруженные точки
Панель Data Browser отображает список пар изображений с идентификаторами. Эти пары изображений содержат обнаруженный шаблон. Чтобы просмотреть изображение, выберите его из панели Data Browser.
Панель Image отображает выбранную пару шахматной доски изображений с зелеными кругами, чтобы указать на обнаруженные точки. Можно проверить, что углы были обнаружены правильно с помощью средств управления изменением масштаба. Желтый квадрат указывает (0,0) источник. Стрелки X и Y указывают на ориентацию осей шахматной доски.
Intrinsics
Можно принять решение для приложения вычислить камеру intrinsics, или можно загрузить предварительно вычисленный, зафиксировал intrinsics. Чтобы загрузить intrinsics в приложение, выберите Use Fixed Intrinsics в разделе Intrinsics вкладки Calibration. Radial Distortion и опции Compute в разделе Options отключены, когда вы загружаете intrinsics.
Чтобы загрузить intrinsics как переменные из вашей рабочей области, нажмите Load Intrinsics. Например, если struct wideBaselineStereo
содержит intrinsics для обеих камер.
ld = load('wideBaselineStereo');
int1 = ld.intrinsics1
int2 = ld.intrinsics2
Затем нажмите
Load Intrinsics, чтобы задать эти переменные в диалоговом окне, как показано.
Калибровать
Если вы удовлетворены принятыми парами изображений, нажимаете кнопку Calibrate на вкладке Calibration. Калибровочные настройки по умолчанию принимают минимальный набор параметров камеры. Запустите путем выполнения калибровки с настройками по умолчанию. После оценки результатов можно попытаться улучшить калибровочную точность путем корректировки настроек и добавления или удаления изображений, и затем калибровать снова.
Оптимизация
Когда камера имеет серьезное искажение объектива, приложение может не вычислить начальные значения для камеры intrinsics. Если вы имеете спецификации производителя для своей камеры и знаете размер пикселя, фокусное расстояние или характеристики линзы, можно вручную установить исходные предположения для камеры intrinsics и радиального искажения. Чтобы установить исходные предположения, нажмите Options> Optimization Options.
Примечание
Эти опции не доступны для предварительно загруженного intrinsics.
Установите главный флажок и затем введите 3х3 матрицу, чтобы задать начальную букву intrinsics. Если вы не задаете исходное предположение, функция вычисляет начальную внутреннюю матрицу с помощью линейного метода наименьших квадратов.
Установите нижний флажок и затем введите 2-или вектор с 3 элементами, чтобы задать начальное радиальное искажение. Если вы не обеспечиваете значение, функция использует 0
в качестве начального значения для всех коэффициентов.
Оцените калибровочные результаты
Можно оценить калибровочную точность путем исследования ошибок перепроекции, исследования камеры extrinsics или просмотра неискаженного изображения. Для лучших калибровочных результатов используйте все три метода оценки.
Исследуйте ошибки перепроекции
reprojection errors является расстояниями, в пикселях, между обнаруженным и повторно спроектированными точками. Приложение Stereo Camera Calibrator вычисляет ошибки перепроекции путем проектирования точек шахматной доски от мировых координат, заданных шахматной доской, в координаты изображений. Приложение затем сравнивает повторно спроектированные точки с соответствующими обнаруженными точками. Как правило средние ошибки перепроекции меньше чем одного пикселя приемлемы.
Отображения Stereo Calibration App, в пикселях, ошибки перепроекции как гистограмма. График помогает вам идентифицировать, какие изображения, которые неблагоприятно способствуют калибровке. Выберите запись гистограммы и удалите изображение из списка изображений в панели Data Browser.
Ошибочная гистограмма перепроекции
Гистограмма отображает среднюю ошибку перепроекции на изображение, наряду с полной средней погрешностью. Метки панели соответствуют идентификаторам изображений. Подсвеченные панели соответствуют выбранной паре изображений.
Выберите пару изображений одним из этих способов:
Нажатие на соответствующую панель в графике.
Выберите пару изображений из списка в панели Data Browser.
Настройте полную среднюю погрешность. Кликните и двигайте красную линию или вниз выбрать изображения выброса.
Исследуйте внешнюю визуализацию параметра
3-D внешний график параметров обеспечивает центральное камерой представление шаблонов и центральное шаблоном представление камеры. Центральное камерой представление полезно, если камера была стационарной, когда изображения были получены. Центральное шаблоном представление полезно, если шаблон был стационарным. Можно кликнуть по курсору и удерживать кнопку мыши с вращать значком, чтобы вращать фигуру. Кликните по шахматной доске (или камера), чтобы выбрать его. Подсвеченные данные в визуализации соответствуют выбранному изображению в списке. Исследуйте относительные положения шаблона и камеры, чтобы определить, совпадают ли они с тем, что вы ожидаете. Например, шаблон, который появляется позади камеры, указывает на калибровочную ошибку.
Покажите исправленные изображения
Чтобы просмотреть эффекты исправления стерео, нажмите Show Rectified в разделе View вкладки Calibration. Если калибровка была точна, изображения становятся неискаженными и выровненными строкой.
Проверка исправленных изображений важна, даже если ошибки перепроекции являются низкими. Например, если шаблон покрывает только небольшой процент изображения, оценка искажения может быть неправильной, даже при том, что калибровка привела к немногим ошибкам перепроекции. Следующее изображение показывает пример этого типа неправильной оценки для одной калибровки фотоаппарата.
Улучшите калибровку
Чтобы улучшить калибровку, можно удалить пары высокой ошибки изображений, добавить больше пар изображений или изменить настройки калибратора.
Добавьте или удалите изображения
Рассмотрите добавление большего количества изображений если:
У вас есть меньше чем 10 изображений.
Шаблоны не покрывают достаточно фрейма изображения.
Шаблоны не имеют достаточного изменения в ориентации относительно камеры.
Рассмотрите изображения удаления если изображения:
Изображения имеют высокую среднюю ошибку перепроекции.
Изображения являются расплывчатыми.
Изображения содержат шахматную доску под углом, больше, чем 45 градусов относительно плоскости камеры.
Изображения содержат неправильно обнаруженные точки шахматной доски.
Измените количество радиальных коэффициентов искажения
Можно задать 2 или 3 радиальных коэффициента искажения путем установки соответствующего переключателя от раздела Options. Radial distortion происходит, когда световые лучи изгибаются более близкий ребра линзы, чем они делают в ее оптическом центре. Чем меньший линза, тем больше искажение.
Радиальные коэффициенты искажения моделируют этот тип искажения. Искаженные точки обозначаются как (искаженный x, искаженный y):
x, искаженный = x (1 + k 1*r2 + k 2*r4 + k 3*r6)
y, искаженный = y (1 + k 1*r2 + k 2*r4 + k 3*r6)
x, y Неискаженные пиксельные местоположения. x и y находятся в нормированных координатах изображений. Нормированные координаты изображений вычисляются от пиксельных координат путем перевода в оптический центр и деления на фокусное расстояние в пикселях. Таким образом x и y являются безразмерными.
k 1, k 2, и k 3 — Радиальные коэффициенты искажения линзы.
r2 : x 2 + y 2
Как правило, два коэффициента достаточны для калибровки. Для серьезного искажения, такой как в широкоугольных объективах, можно выбрать 3 коэффициента, чтобы включать k 3.
Вычислите скос
Когда вы устанавливаете флажок Compute Skew, калибратор оценивает скос осей изображений. Некоторые датчики камеры содержат недостатки, которые заставляют x - и y - оси изображения не быть перпендикулярным. Можно смоделировать этот дефект с помощью скошенного параметра. Если вы не устанавливаете флажок, оси изображений приняты, чтобы быть перпендикулярными, который имеет место для большинства современных камер.
Вычислите тангенциальное искажение
Тангенциальное искажение происходит, когда линза и плоскость изображения не параллельны. Тангенциальные коэффициенты искажения моделируют этот тип искажения.
Искаженные точки обозначаются как (искаженный x, искаженный y):
x, искаженный = x + [2 * p 1 * x * y + p 2 * (r 2 + 2 * x 2)]
y, искаженный = y + [p 1 * (r 2 + 2 *y 2) + 2 * p 2 * x * y]
x, y Неискаженные пиксельные местоположения. x и y находятся в нормированных координатах изображений. Нормированные координаты изображений вычисляются от пиксельных координат путем перевода в оптический центр и деления на фокусное расстояние в пикселях. Таким образом x и y являются безразмерными.
p 1 и p 2 — Тангенциальные коэффициенты искажения линзы.
r2 : x 2 + y 2
Когда вы устанавливаете флажок Compute Tangential Distortion, калибратор оценивает тангенциальные коэффициенты искажения. В противном случае калибратор обнуляет тангенциальные коэффициенты искажения.
Экспортируйте параметры камеры
Когда вы будете удовлетворены калибровочной точностью, нажмите Export Camera Parameters. Можно или сохранить и экспортировать параметры камеры в объект путем выбора Export Camera Parameters или сгенерировать параметры камеры как скрипт MATLAB.
Экспортируйте параметры камеры
Выберите > , чтобы создать объект stereoParameters
в вашей рабочей области. Объект содержит внутренние и внешние параметры камеры и коэффициентов искажения. Можно использовать этот объект для различных задач компьютерного зрения, таких как неискажение изображений, измеряя плоские объекты и 3-D реконструкцию. Смотрите Измеряющиеся Плоские объекты с Калиброванной Камерой. Можно опционально экспортировать объект stereoCalibrationErrors
, который содержит стандартные погрешности предполагаемых параметров стереофотоаппарата путем установки флажка Export estimation errors.
Сгенерируйте СКРИПТ MATLAB
Выберите > , чтобы сохранить ваши параметры камеры в скрипт MATLAB, позволив вам воспроизвести шаги от вашего калибровочного сеанса.
Ссылки
[1] Чжан, Z. “Гибкий Новый техник для Калибровки фотоаппарата”. Транзакции IEEE согласно Анализу Шаблона и Искусственному интеллекту. Издание 22, № 11, 2000, стр 1330–1334.
[2] Heikkila, J, и О. Сильвен. “Процедура калибровки фотоаппарата с четырьмя шагами с неявным исправлением изображений”. Международная конференция IEEE по вопросам компьютерного зрения и распознавания образов. 1997.
Смотрите также
Camera Calibrator | Stereo Camera Calibrator | cameraParameters
| detectCheckerboardPoints
| estimateCameraParameters
| generateCheckerboardPoints
| showExtrinsics
| showReprojectionErrors
| stereoParameters
| undistortImage
Связанные примеры
Больше о
Внешние веб-сайты