Матрица камеры
Эта статья нуждается в дополнительных цитатах для проверки . ( июль 2010 г. ) |
В компьютерном зрении матрица камеры или матрица проекции (камеры) представляет собой матрица , которая описывает отображение камеры-обскуры из 3D-точек мира в 2D-точки на изображении.
Позволять — представление трехмерной точки в однородных координатах (четырехмерный вектор), и пусть быть представлением изображения этой точки в камере-обскуре (трехмерный вектор). Тогда имеет место следующее соотношение
где это матрица камеры и Знак означает, что левая и правая части равны, за исключением умножения на ненулевой скаляр. :
Так как матрица камеры участвует в отображении между элементами двух проективных пространств , его тоже можно рассматривать как проективный элемент. Это означает, что у него всего 11 степеней свободы, поскольку любое умножение на ненулевой скаляр приводит к эквивалентной матрице камеры.
Вывод
[ редактировать ]Отображение координат трехмерной точки P в координаты двумерного изображения проекции точки на плоскость изображения в соответствии с моделью камеры-обскуры определяется выражением
где - это трехмерные координаты P относительно системы координат, центрированной камерой, — результирующие координаты изображения, а f — фокусное расстояние камеры, для которого мы предполагаем f > 0. Кроме того, мы также предполагаем, что x 3 > 0 .
Чтобы получить матрицу камеры, приведенное выше выражение переписывается в терминах однородных координат. Вместо 2D вектора мы рассматриваем проективный элемент (3D вектор) и вместо равенства мы рассматриваем равенство с точностью до масштабирования ненулевым числом, обозначаемым . Сначала мы запишем координаты однородного изображения как выражения в обычных трехмерных координатах.
Наконец, трехмерные координаты выражаются в однородном представлении. а так выглядит матрица камеры:
- или
где — матрица камеры, которая здесь определяется выражением
- ,
и соответствующая матрица камеры теперь становится
Последний шаг является следствием сам по себе является проективным элементом.
Полученная здесь матрица камеры может показаться тривиальной в том смысле, что она содержит очень мало ненулевых элементов. Это во многом зависит от конкретных систем координат, выбранных для 3D и 2D точек. Однако на практике распространены и другие формы матриц камер, как будет показано ниже.
Положение камеры
[ редактировать ]Матрица камеры полученное в предыдущем разделе, имеет нулевое пространство , охватываемое вектором
Это также однородное представление трехмерной точки с координатами (0,0,0), то есть «центр камеры» (он же входной зрачок ; положение обскуры камеры-обскуры находится в точке O. ) Это означает, что центр камеры (и только эта точка) не может быть сопоставлен камерой с точкой в плоскости изображения (или, что то же самое, он сопоставляется со всеми точками изображения, поскольку каждый луч изображения проходит через эту точку).
Для любой другой 3D-точки с , результат корректно определен и имеет вид . Это соответствует бесконечной точке в плоскости проективного изображения (хотя, если плоскость изображения считать евклидовой плоскостью , соответствующей точки пересечения не существует).
Нормализованная матрица камеры и нормализованные координаты изображения
[ редактировать ]Полученную выше матрицу камеры можно еще больше упростить, если предположить, что f = 1 :
где здесь обозначает идентификационная матрица. Обратите внимание, что матрица здесь разделен на конкатенацию матрица и трехмерный вектор. Матрица камеры иногда называют канонической формой .
До сих пор все точки в трехмерном мире были представлены в системе координат, центрированной камерой , то есть в системе координат, начало которой находится в центре камеры (местоположение обскуры камеры-обскуры ). Однако на практике трехмерные точки могут быть представлены в виде координат относительно произвольной системы координат (X1', X2', X3'). Предполагая, что оси координат камеры (X1, X2, X3) и оси (X1', X2', X3') имеют евклидов тип (ортогональные и изотропные), существует уникальное евклидово 3D-преобразование (вращение и перемещение) между две системы координат. Другими словами, камера не обязательно находится в начале координат и смотрит вдоль Z. оси
Две операции вращения и перемещения трехмерных координат можно представить как две матрицы
- и
где это матрица вращения и представляет собой трехмерный вектор перевода. Когда первая матрица умножается на однородное представление трехмерной точки, результатом является однородное представление повернутой точки, а вторая матрица вместо этого выполняет перевод. Выполнение двух операций последовательно, т.е. сначала вращение, а затем перемещение (с вектором перемещения, заданным в уже повернутой системе координат), дает комбинированную матрицу вращения и перемещения.
Предполагая, что и это именно вращение и перемещение, которые связывают две системы координат (X1,X2,X3) и (X1',X2',X3'), приведенные выше, это означает, что
где — однородное представление точки P в системе координат (X1',X2',X3').
Предполагая также, что матрица камеры имеет вид , отображение координат в системе (X1,X2,X3) в координаты однородного изображения становится
Следовательно, матрица камеры, связывающая точки в системе координат (X1',X2',X3') с координатами изображения, равна
конкатенация трехмерной матрицы вращения и трехмерного вектора перемещения.
Этот тип матрицы камеры называется нормализованной матрицей камеры . Он предполагает фокусное расстояние = 1 и координаты изображения измеряются в системе координат, где начало координат расположено на пересечении оси X3 и плоскости изображения и имеет те же единицы измерения. как трехмерная система координат. Полученные координаты изображения называются нормализованными координатами изображения .
Положение камеры
[ редактировать ]Опять же, нулевое пространство нормализованной матрицы камеры, описанный выше, натянут на 4-мерный вектор
Это также, опять же, координаты центра камеры, теперь относительно системы (X1',X2',X3'). В этом можно убедиться, применив сначала вращение, а затем перенос к трехмерному вектору. и результатом является однородное представление трехмерных координат (0,0,0).
Это означает, что центр камеры (в его однородном представлении) находится в нулевом пространстве матрицы камеры при условии, что он представлен в виде трехмерных координат относительно той же системы координат, к которой относится матрица камеры.
Нормализованная матрица камеры теперь можно записать как
где — трехмерные координаты камеры относительно системы (X1',X2',X3').
Общая матрица камеры
[ редактировать ]Учитывая отображение, созданное нормализованной матрицей камеры, результирующие нормализованные координаты изображения могут быть преобразованы с помощью произвольной двумерной гомографии . Сюда входят 2D-переносы и повороты, а также масштабирование (изотропное и анизотропное), а также общие преобразования 2D-перспективы . Такое преобразование можно представить как матрица который отображает однородные нормализованные координаты изображения к однородным преобразованным координатам изображения :
Вставка приведенного выше выражения для нормализованных координат изображения через трехмерные координаты дает
Это дает наиболее общую форму матрицы камеры.
См. также
[ редактировать ]Ссылки
[ редактировать ]- Ричард Хартли и Эндрю Зиссерман (2003). Множественная геометрия в компьютерном зрении . Издательство Кембриджского университета. ISBN 0-521-54051-8 .