View on GitHub

ITMO-PE

My study notes about Program Engineering at University ITMO

MainPage/Computer Vision/Lecture/8-2 RAW

语音识别:Sonix.ai
断句与标点:chatGPT 4o
翻译:chatGPT 4o

Для описания работы стереопары нам понадобится специальный математический инструмент. Обычно активные преобразования и процесс формирования изображений описываются с помощью проективной геометрии в однородных координатах. Данный инструмент удобно использовать и для описания принципа работы стереопары. Мы рассматривали уже проективную геометрию в однородных координатах, когда говорили про процесс формирования изображения.
为了描述立体相机的工作原理,我们需要一个特殊的数学工具。通常,主动变换和图像形成过程是用同构坐标系中的射影几何来描述的。这个工具也方便用于描述立体相机的工作原理。我们在讨论图像形成过程时已经讨论过同构坐标系中的射影几何。

Рассмотрим точки на плоскости в однородных координатах. Они описываются не парой, а тройкой чисел. При этом тройки, полученные друг из друга путем умножения всех компонент вектора на один и тот же скаляр, обозначают одну и ту же точку, а нулевой вектор не соответствует ни одной точке плоскости. При этом точкам проективной плоскости можно сопоставить точки обычной плоскости следующим образом: нужно разделить первые две компоненты на третью, а третью отбросить. Отметим, что такое преобразование имеет смысл только при ненулевой третьей компоненте. Если же третья компонента равна нулю, то данная точка называется точкой на бесконечности, так как третья компонента отвечает за масштабируемость, то есть представляет собой некоторый масштабный коэффициент. Такое преобразование не имеет физического смысла, так как избавиться от масштаба для точки, которая находится бесконечно далеко, невозможно. Поэтому данное преобразование и не имеет смысла.
让我们来看一下同构坐标系中的平面上的点。它们不是由一对数字描述的,而是由三对数字描述的。在这种情况下,通过将向量的所有分量乘以同一个标量得到的一组三对数字表示的是同一个点,而零向量不对应于平面上的任何一个点。将同构平面上的点与普通平面上的点联系起来的方法如下:将前两个分量除以第三个分量,然后将第三个分量舍弃。值得注意的是,这种转换只有在第三个分量不为零时才有意义。如果第三个分量为零,则该点被称为无穷远点,因为第三个分量代表可伸缩性,即代表某个缩放系数。对于无穷远点来说,这种转换没有物理意义,因为不可能为无限远的点消除缩放。因此,这种转换是没有意义的。

Отметим, что прямые в однородных координатах также задаются трёхкомпонентным вектором, подобно описанию точек. Описание прямой определено с точностью до ненулевого множителя, а само уравнение прямой имеет вид скалярного произведения вектора, описывающего прямую, на переменную, определяющую каждую точку, принадлежащую данной прямой. Легко догадаться, что данное произведение в уравнении, задающем прямую, равно нулю.
值得注意的是,同构坐标系中的直线也由一个三分量向量描述,类似于点的描述。直线的描述精确到非零乘数,而直线的方程具有向量的数量积形式,用于描述直线的向量乘以描述每个属于该直线的点的变量。可以很容易地猜到,在表示直线的方程中,这个数量积等于零。

Теперь поговорим о точках пространства с точки зрения однородных координат. Они задаются четверками. При этом, если последняя компонента четверки равна нулю, то точка называется лежащей на бесконечности.
现在让我们从同构坐标系的角度谈谈空间中的点。它们由四分量描述。当最后一个分量为零时,该点被称为无穷远点。

Также существует преобразование между элементами Евклидова пространства и проективного. То есть, если мы возьмем тройку, описывающую точку в Евклидовом пространстве, и добавим к ней единицу, то получим точку в проективном пространстве, соответствующую ей. Под добавлением единицы подразумевается получение из тройки четверки с помощью добавления еще одной компоненты, равной единице. Отметим также, что точки, лежащие на бесконечности, то есть четверки, у которых последняя компонента равна нулю, не имеют аналогов в Евклидовом пространстве. Все остальные имеют физические аналоги в Евклидовом пространстве, которые, как нетрудно догадаться, получаются делением первых трех компонент четверки на четвертую компоненту и отбрасыванием четвертой компоненты.
在欧几里得空间和射影空间之间也存在一种转换。也就是说,如果我们取描述欧几里得空间中的点的三分量,并加上一个单位分量,就会得到对应的射影空间中的点。这里加上单位分量意味着从三分量得到四分量,即添加一个值为一的分量。还需要注意的是,无穷远点,即最后一个分量为零的四分量,在欧几里得空间中没有对应物。所有其他点都有欧几里得空间中的物理对应物,正如我们可以很容易猜到的,通过将四分量的前三个分量除以第四个分量并舍弃第四个分量得到。

Отметим, что и проективные плоскости, и проективные пространства состоят из объектов двух типов: из точек, которые имеют аналоги в Евклидовой нотации, и точек, лежащих на бесконечности. С помощью однородных координат можно задать и проективное преобразование или томографию. Она представляет собой обратимое преобразование проективной плоскости или пространства, которое переводит прямые в прямые. В однородных координатах проективное преобразование выражается в виде квадратной матрицы. При этом каждый вектор, задающий некоторый элемент плоскости или пространства, переходит в соответствующий ему преобразованный вектор путем умножения матрицы преобразования на исходный.
需要注意的是,射影平面和射影空间都由两种类型的对象组成:在欧几里得表示中有对应物的点,以及无穷远点。用同构坐标可以定义射影变换或投影变换。它是射影平面或空间的可逆变换,将直线变换为直线。在同构坐标系中,射影变换表示为一个方阵。在这种情况下,每个描述平面或空间中某个元素的向量通过将变换矩阵乘以原始向量变换为相应的变换向量。

Используя введенную нотацию, возможно описать преобразование трехмерной сцены в проекцию, получившуюся на матрице цифрового фотоаппарата. Данная модель называется моделью активной камеры. Связанная с ней система координат изображена на слайде, где С — центр камеры, главная ось Х. Большая трехмерного пространства проецируется в точку X на плоскости изображения. Активная камера определяется центром камеры, главной осью, то есть лучом, начинающимся в центре камеры и направленным туда, куда камера смотрит, а также плоскостью изображения, то есть плоскостью, на которую выполняется проецирование точек, и системой координат на этой плоскости.
使用引入的符号,可以描述三维场景在数码相机矩阵上得到的投影的变换。这种模型称为主动相机模型。与之相关的坐标系如幻灯片所示,其中C是相机中心,X是主轴。三维空间的大部分投影到图像平面上的点X。主动相机由相机中心、主轴(即从相机中心开始并指向相机所看的方向的射线)、图像平面(即点投影到的平面)和该平面上的坐标系确定。

В такой модели произвольная точка пространства проецируется на плоскость изображения в точку, лежащую на отрезке, который соединяет центр камеры с исходной точкой пространства. Теперь, используя проективную геометрию и нотацию однородных координат, рассмотрим устройство активной камеры. Формула проецирования имеет простую математическую запись в однородных координатах и представлена на слайде, где X — однородные координаты точки пространства, X — однородные координаты точки плоскости, N — матрица размера три на четыре, также называемая матрицей камеры. Матрица N выражается образом, представленным на слайде, где K — верхняя треугольная матрица внутренних параметров, имеющая размер три на три, R — матрица размера три на три, определяющая поворот камеры относительно глобальной системы координат, и единичная матрица размера три на три и C — вектор, содержащий координаты центра камеры. Стоит отметить, что матрица камеры определена с точностью до постоянного ненулевого множителя, который не изменит результаты проецирования точек. Однако этот постоянный множитель обычно выбирается так, чтобы матрица камеры имела вышеописанный вид.
在这种模型中,空间中的任意一点投影到图像平面上的点,这个点位于连接相机中心和空间中原始点的线段上。现在,使用射影几何和同构坐标符号,我们来看一下主动相机的结构。投影公式在同构坐标系中有一个简单的数学表示,公式如幻灯片所示,其中X是空间点的同构坐标,X是平面点的同构坐标,N是3×4的矩阵,也称为相机矩阵。矩阵N表示为幻灯片上的形式,其中K是一个3×3的上三角矩阵,表示内部参数,R是3×3的旋转矩阵,表示相机相对于全局坐标系的旋转,以及一个3×3的单位矩阵和包含相机中心坐标的向量C。需要注意的是,相机矩阵是精确到一个非零的常数乘数,这个常数不会改变点的投影结果。然而,这个常数乘数通常选择使得相机矩阵具有上述形式。

В самом простом случае, когда центр камеры лежит в начале координат, главная ось камеры направлена на ось координат, на плоскости камеры имеют одинаковый масштаб, что эквивалентно случаю квадратных пикселей, а центр изображения имеет нулевые координаты. Тогда матрица камеры будет иметь вид произведения матрицы K на матрицу, составленную из единичной матрицы и нулевого столбца. У реальных камер пиксели обычно незначительно отличаются от квадратных, а центр изображения имеет ненулевые координаты. В таком случае матрица внутренних параметров имеет вид, представленный на слайде. Коэффициенты X и Y называются фокусными расстояниями камеры, причем F называется фокусным расстоянием, а X и Y — фокусные расстояния вдоль соответствующих осей.
在最简单的情况下,当相机中心位于坐标原点,主轴指向坐标轴,相机平面具有相同的比例尺(相当于正方形像素),并且图像中心的坐标为零时,相机矩阵将表示为K矩阵乘以由单位矩阵和零列组成的矩阵。实际相机的像素通常与正方形略有不同,并且图像中心具有非零坐标。在这种情况下,内部参数矩阵的形式如幻灯片所示。系数X和Y称为相机的焦距,F称为焦距,而X和Y分别为相应轴上的焦距。

Помимо этого, в силу нереальности оптики на изображениях, полученных с камер, присутствуют искажения дисперсии. Данные искажения имеют нелинейную математическую нотацию в терминах однородных координат. Здесь K1, K2, P1, N1, P2 и K3 — это коэффициенты, являющиеся параметрами оптической системы. X’ и Y’ — координаты проекции точки относительно центра изображения при квадратных пикселях и отсутствии искажений. X2’ и Y2’ — искаженные координаты точки относительно центра изображения при квадратных пикселях. Искажения не зависят от расстояния до объекта, а зависят только от координат точек, в которых проецируются пиксели объекта. Соответственно, для компенсации дисперсии обычно выполняется преобразование исходного изображения, полученного с камеры. Это преобразование будет одним и тем же для всех изображений, полученных с камеры, при условии постоянства фокусного расстояния, то есть одной и той же матрицы внутренних параметров калибровки. В ситуации, когда известны внутренние параметры калибровки и коэффициенты дисперсии, говорят, что камера откалибрована.
此外,由于光学的非理想性,来自相机的图像上存在失真。这些失真在同构坐标系中具有非线性的数学表示。这里K1、K2、P1、N1、P2和K3是光学系统的参数。X’和Y’是相对于图像中心的点的投影坐标,在正方形像素和无失真的情况下。X2’和Y2’是在正方形像素下相对于图像中心的失真点的坐标。失真不依赖于到物体的距离,而只依赖于投影点的坐标。因此,通常对来自相机的原始图像进行变换以补偿失真。对于相机获得的所有图像,如果焦距保持不变,即内部校准参数矩阵不变,那么这种变换是相同的。如果已知内部校准参数和失真系数,则相机被认为是已校准的。

После того как мы поговорили про общую теорию проецирования в терминах однородных координат, перейдем к аппаратуре, специфической для стереозрения. Для описания работы стереопары нам понадобится и проективная геометрия. Перед тем как перейти к описанию метода вычисления трехмерных координат точек, опишем некоторые важные геометрические свойства, связывающие положение проекций точки трехмерного пространства на изображение обеих камер. Пусть имеются две камеры, как показано на слайде: С — центр первой камеры, С’ — центр второй камеры. Точка пространства X проецируется в точку X на плоскости изображения левой камеры и в точку X’ на плоскости изображения правой камеры.
在讨论了同构坐标系中投影的一般理论之后,我们转向特定于立体视觉的设备。为了描述立体相机的工作原理,我们需要射影几何。在介绍三维场景点坐标计算方法之前,我们描述一些重要的几何性质,这些性质联系了三维空间点在两台相机图像上的投影位置。假设有两台相机,如幻灯片所示:C是第一台相机的中心,C’是第二台相机的中心。空间中的点X投影到左相机图像平面上的点X,并投影到右相机图像平面上的点X’。

Прообразом точки X на изображении левой камеры является луч X - X. Этот луч проецируется на плоскость второй камеры в прямую и штрих, называемую эпиполярной линией. Образ точки X на плоскости изображения второй камеры обязательно лежит на эпиполярной линии и штрих. Таким образом, каждой точке X на изображении левой камеры соответствует эпиполярная линия и штрих на изображении правой камеры. При этом пара для X на изображении правой камеры может лежать только на соответствующей эпиполярной линии. Аналогично, каждой точке X’ на правом изображении соответствует эпиполярная линия и на левом изображении. Эпиполярную геометрию используют для поиска стереопар и для проверки того, что пара точек может быть стереопарой, то есть проекциями некоторой точки пространства.
点X在左相机图像中的前像是射线X-X。这条射线投影到第二台相机的平面上形成一条直线X’,称为对极线。X在第二台相机图像平面上的像必定位于X’的对极线上。因此,左相机图像上的每个点X对应于右相机图像上的对极线。右相机图像上的点X’同样对应于左相机图像上的对极线。对极几何用于寻找立体对以及检查点对是否可以作为立体对,即某个空间点的投影。

Эпиполярная геометрия имеет очень простую запись в однородных координатах. Пусть имеется пара данных камер, и пусть X — это однородные координаты точки на изображении одной камеры, а X’ — на изображении второй. Существует такая матрица F размером три на три, что пара точек X и X’ является стереопарой тогда и только тогда, когда выполнено соотношение, представленное на слайде. Матрица F называется фундаментальной матрицей. Её ранг равен двум. Она определена с точностью до ненулевого множителя и зависит только от матриц исходных камер P и P’. В случае, когда матрицы камер имеют вид, представленный на слайде, фундаментальная матрица может быть вычислена по формуле, также представленной на слайде. С помощью фундаментальной матрицы вычисляются уравнения эпиполярных линий для точки X. Вектор, задающий эпиполярную линию, будет иметь вид произведения фундаментальной матрицы на вектор, содержащий однородные координаты точки X, а уравнение самой эпиполярной линии представлено на слайде. Аналогично, для точки X’ вектор, задающий эпиполярную линию, будет иметь вид произведения транспонированной фундаментальной матрицы на вектор однородных координат точки X’.
对极几何在同构坐标中有一个非常简单的表示。假设有一对相机,X是其中一台相机图像上的点的同构坐标,X’是另一台相机图像上的点的同构坐标。存在一个3×3的矩阵F,使得点对X和X’是立体对,当且仅当满足幻灯片上给出的关系。矩阵F称为基本矩阵。它的秩为二。它精确到一个非零的常数乘数,只依赖于原始相机矩阵P和P’。当相机矩阵如幻灯片所示时,基本矩阵可以通过幻灯片上的公式计算。使用基本矩阵可以计算点X的对极线方程。表示对极线的向量的形式为基本矩阵乘以包含点X同构坐标的向量,而对极线的方程如幻灯片所示。同样,点X’的对极线的向量形式为基本矩阵的转置乘以点X’同构坐标的向量。

Помимо фундаментальной матрицы существует еще такое понятие, как существенная матрица. Она обозначена на слайде буквой E. В случае, когда матрицы внутренних параметров будут единичными, существенная матрица будет совпадать с фундаментальной матрицей. По существенной матрице можно восстановить положение и поворот второй камеры относительно первой, поэтому она используется в задачах, в которых нужно определить движение камеры.
除了基本矩阵,还有一个概念称为本质矩阵。它在幻灯片上用字母E表示。当内部参数矩阵是单位矩阵时,本质矩阵与基本矩阵相同。本质矩阵用于恢复第二台相机相对于第一台相机的位置和旋转,因此它在需要确定相机运动的任务中使用。

И, наконец, после того как мы поговорили об устройстве стереопары, поговорим о самом процессе получения координат точки трехмерной сцены. Данный процесс называется триангуляцией. Пусть имеются две данные камеры с матрицами P1 и P2. При этом x1 и x2 — однородные координаты проекции некоторой точки пространства X. Тогда можно составить следующую систему уравнений, представленную на слайде. На практике для решения этой системы применяется следующий подход: векторно умножается первое уравнение на x1, второе на x2. Далее происходит избавление от линейно зависимых уравнений и система приводится к виду A * X = 0, где A имеет размер четыре на четыре. Далее можно либо исходить из того, что вектор X является однородным с координатами точки, положить его последнюю компоненту равной единице и решать полученную систему из трёх уравнений с тремя неизвестными. Альтернативный способ заключается в следующем: возможно взять любое ненулевое решение системы A * X = 0, например, вычислить его как сингулярный вектор, отвечающий наибольшему сингулярному числу матрицы A.
最后,在讨论了立体相机的结构后,我们讨论获取三维场景点坐标的过程。这个过程称为三角测量。假设有两台相机,矩阵分别为P1和P2。x1和x2是某个空间点X的投影的同构坐标。然后可以构建如幻灯片所示的方程组。在实践中,解决这个方程组的方法如下:第一个方程用x1向量相乘,第二个方程用x2向量相乘。然后去除线性相关的方程,方程组变为A * X = 0,其中A是4×4的矩阵。然后可以假设X是一个同构向量,将其最后一个分量设为1,解出三个未知数的三个方程。另一种方法是取方程组A * X = 0的任何非零解,例如计算A矩阵最大奇异值对应的奇异向量。