Перейти к содержанию
Скачать руководство PDF

Шаблон и внутренняя калибровка камеры

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

Подготовка печатной мишени

Генератор шаблона с физическими размерами и предпросмотром печати

  1. Откройте Калибровка → Генерация шаблона.
  2. Выберите тип мишени. Для мастера внутренней калибровки подходят Chessboard, ChArUco и CirclesGrid. Генератор также создаёт маркеры ArUco, AprilTag и QR, но наличие формата в генераторе не означает поддержку его монокалибровкой.
  3. Задайте структуру и физические размеры. Например, для Chessboard укажите 7 внутренних углов по X, 5 по Y и клетку 25 мм.
  4. В Настройки печати выберите формат и ориентацию листа, проверьте поля и предпросмотр. Если мишень не помещается, увеличьте лист или уменьшите размеры осознанно.
  5. Нажмите Скачать PDF для печати. Через Другие форматы → Экспорт JSON сохраните параметры рядом с PDF; JSON затем можно импортировать в мастер.
  6. Распечатайте с масштабом 100%, отключив подгонку под страницу. Измерьте клетку или шаг линейкой и закрепите лист на плоской жёсткой основе.

У Chessboard считаются внутренние углы, а не клетки: 7 × 5 внутренних углов соответствуют 8 × 6 клеткам. У ChArUco задаётся число клеток и отдельно размер маркера; маркер должен помещаться внутри клетки. Для CirclesGrid важны тип сетки, число центров, шаг и диаметр круга. В калибровочном мастере физические размеры вводятся в миллиметрах.

Масштаб экранного предпросмотра не задаёт масштаб печати. Если кнопка Уменьшить шаблон до допустимого размера изменила геометрию, скачайте новый JSON и используйте новые размеры. Не смешивайте старое описание с новой распечаткой.

Съёмка набора

Соберите не менее десяти качественных кадров. Минимум для расчёта — три, но это лишь техническое ограничение, а не критерий хорошей калибровки. Снимите мишень в центре, у краёв и углов изображения, с разными наклонами и на нескольких расстояниях. Она должна занимать заметную часть кадра, а точки — оставаться резкими.

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

Четыре шага мастера

Мастер внутренней калибровки камеры

  1. Перейдите в Калибровка → Калибровка камеры, заполните Название сессии, например front_1280x720_2026-10-06, и нажмите Новая сессия.
  2. На шаге 1. Изображения нажмите Выбрать изображения и добавьте файлы из браузера. Для серверной папки или готовой записи раскройте Из папки или сохранённых материалов.
  3. Нажмите Настроить шаблон, укажите геометрию и модель объектива, затем Сохранить и проверить снимки.
  4. На шаге 3. Проверка детекции проверьте наложенные точки, исключите плохие кадры и нажмите Рассчитать калибровку.
  5. На шаге 4. Результат оцените ошибки, скачайте отчёт и при необходимости примените параметры к камере.

1. Изображения

Для импорта с сервера введите Путь к серверной папке и нажмите Загрузить папку. Это путь на машине веб-сервера, а не на компьютере с браузером. Сервер разрешает импорт только из предусмотренных каталогов. Если нужная папка недоступна, используйте загрузку файлов через браузер.

Для сохранённой фотосессии выберите запись в Материалы…, затем нужную камеру в Камера…, после чего нажмите Импортировать из «Материалов». При многокамерной записи каждая камера калибруется отдельной сессией.

2. Шаблон и модель

В Тип шаблона выберите Chessboard, ChArUco или CircleGrid. Заполните параметры именно распечатанной мишени либо нажмите Импортировать JSON шаблона. Для ChArUco проверьте словарь, число клеток, размеры клетки и маркера, Border bits.

Автоматическое определение помогает подставить структуру шахматной доски или круговой сетки. Оно не определяет физический масштаб и модель объектива. На обрезанном изображении алгоритм может увидеть лишь часть сетки. После подстановки проверьте полное число точек и подтвердите физические размеры. ChArUco задаётся вручную или через JSON.

Модель камеры → Standard предназначена для стандартной модели дисторсии, Fisheye — для соответствующей широкоугольной модели. Само большое поле зрения не выбирает математическую модель автоматически. В Расширенные параметры модели доступны ограничения коэффициентов; для первого расчёта оставьте исходные параметры, если у вас нет оснований фиксировать отдельные величины.

3. Проверка детекции

Просмотрите кадры с найденными точками. Они должны попадать на реальные углы или центры, а не на фон. Флаг Включён определяет участие кадра в расчёте. Снятие флага сохраняет изображение; Удалить кадр удаляет его из сессии после подтверждения.

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

4. Результат и оценка качества

Общий RMS показывает ошибку репроекции в пикселях: насколько найденные точки расходятся с проекцией рассчитанной модели. Это не погрешность расстояния в миллиметрах. Малый RMS полезен, но не доказывает правильный масштаб печати или точность измерений на всей сцене.

Раскройте Технические детали и 3D-диагностика, сравните ошибки отдельных кадров и покрытие ракурсами. Если несколько кадров резко хуже остальных, вернитесь к ним: проверьте смаз, геометрию мишени и найденные точки. Не удаляйте все сложные наклонные кадры только ради уменьшения общей цифры — набор должен описывать разные положения. Добавьте недостающие ракурсы и нажмите Пересчитать калибровку. При изменении набора старый результат отмечается как устаревший.

Применение и сохранение

Скачайте ROS YAML для ROS-потребителей, JSON для полного результата и HTML-отчёт для просмотра вне приложения. Сессии сохраняются в <recordings_directory>/calibrations и доступны после перезапуска.

В Камера для применения выберите камеру того же разрешения и нажмите Применить к камере. Для RealSense меняется CameraInfo цветного потока; заводская калибровка глубины сохраняется. Применение внутренних параметров само по себе не означает исправление всех исходных изображений.

При первом применении исходная настройка сохраняется как calibration_baseline. Кнопка Вернуть исходную калибровку восстанавливает прежний YAML либо заводскую калибровку, если собственного YAML не было. Сохраняйте исходный файл на диске: baseline хранит его путь, а не заменяет резервное копирование. Для V4L2 без calibration-файла CameraInfo не публикуется; фиктивная матрица не создаётся.