Чтобы понять, что такое калибровка камеры, давайте начнем с того, как формируются изображения.
Камера - это в основном устройство, которое выполняет преобразование (известное как проект) точек из трехмерного пространства в двухмерное пространство (пространство изображения). При анализе формирования изображения мы довольно часто используем модель, известную как камера-обскура , где изображения формируются следующим образом:
Немного более схематично, мы можем видеть формирование изображения следующим образом:
, где Y1 - плоскость изображения, x3 - расстояние от камеры до объекта (которое мы будем называть z, глубина), x1 - смещение по оси X1 3D-точки P от оптической оси камера х3. O - камера с фокусным расстоянием f, а y1 - расстояние между центром изображения и пикселем Q, соответствующим точке P.
Простейшая модель проекции известна как Ортография . Эта модель просто отбрасывает координату глубины трехмерной точки (и, возможно, масштабирует ее). Итак, если мы начнем с точки P в трехмерном мире
, мы можем записать проекцию как:
, где s - действительный коэффициент масштабирования, а матрица pi - матрица проекции.
Эта модель подходит для телеобъективов (с большим фокусным расстоянием) и мелких объектов с учетом их расстояния до камеры. Точно только для телецентрических линз. Более точной моделью для камер, которые мы используем, является перспективная проекция . Чтобы получить интуицию, объекты в плоскости изображения кажутся больше, если трехмерный объект находится ближе к камере. Немного математически, из-за сходства треугольника, y1 пропорционален x1. Коэффициент пропорциональности равен f / x3 или f / z. Если в данный момент f будет 1, это приведет к следующей функции проекции:
Как видите, проекция не может быть представлена в виде умножения матриц, поскольку она больше не является линейным преобразованием. Что не идеально - умножение матриц имеет очень хорошие свойства. Итак, введем трюк, известный как однородные координаты . Для каждой точки мы добавляем еще одну координату (таким образом, 2D-точки теперь представлены с использованием 3 координат, а 3D-точки представлены с использованием 4 координат), и мы сохраняем четвертую координату, нормализованную до 1 (подумайте о неявном делении на последнюю координату).
Теперь наша точка P становится:
и мы можем написать матрицу перспективной проекции как:
, где последнее деление происходит "неявно" из-за использования нами однородных координат, а тильда указывает вектор в однородных координатах.
И вот оно! Это матрица перспективной проекции. И обратите внимание, что это необратимое преобразование.
Однако камеры не только проецируют 3D-точки на плоскость 2D-изображения. После проецирования они выполняют преобразование в дискретное пространство изображения. Это представлено матрицей, известной как матрица камеры intrisinc K:
, где fx и fy - независимые фокусные расстояния по осям x и y (которые обычно разумно считать равными), s - это перекос, который учитывает, что ось изображения не перпендикулярна оптической оси (в современном камеры близки к 0), а cx, cy представляют источник изображения (обычно центр изображения).
Камеры обычно добавляют искажения к изображению, и для них существуют различные математические модели.
Процесс калибровки камеры относится к определению встроенной матрицы камеры и параметров для моделей искажения.
Это можно сделать с помощью следующего грубого процесса:
- Начните с нескольких изображений с разных точек зрения модели известного макета и размера
- Для каждого изображения определите несколько точек известного соответствия.Обычно это углы, поскольку их можно легко и надежно сопоставить друг с другом.
- С каждой из этих точек связана соответствующая матрица гомографии H = l * K * (R | T), где l - реальное масштабированиефактор, K - матрица внутренней камеры, (R | T) - матрица, которая представляет вращение и перемещение камеры в трехмерном пространстве (это называется матрицей внешней камеры).
- На основе точечных соответствийи используя гомографии, есть решения в замкнутой форме, которые определяют внутренние параметры камеры.Без искажений требуется минимум 3 изображения.Предполагая, что перекос равен 0, требуется как минимум 2 изображения.На практике большее количество изображений приводит к более точным результатам.
- Как только внутренние значения известны, внешние параметры (вращение и перемещение) для каждого вида могут быть вычислены
- Также можно оценить искажения.
- В некоторых процедурах используется оптимизация по всем изображениям для дальнейшего уточнения результатов решения в закрытой форме.
Чтобы увидеть реальные уравнения замкнутой формы, взгляните на очень хороший бумага У. Бургера (Burger, 2016).
«Библия» этого поля - «Геометрия множественного обзора в компьютерном зрении», автор А. Циссерман.