MainPage/Computer Vision/Lecture/8-3 RAW
语音识别:Youtube 转文本
断句与标点:chatGPT 4o
翻译:chatGPT 4o
Теперь, когда мы поверхностно рассмотрели принцип работы стереопары, углубимся в некоторые нюансы и детали работы данного механизма. Начнём с рассмотрения природы результата, то есть карты глубин. Ведь на выходе мы хотим получать именно глубины для всех обозримых точек нашей трёхмерной сцены. Итак, карта глубин — это изображение, на котором для каждого пикселя вместо цвета хранится его расстояние до камеры. Карта глубин может быть получена с помощью специальной камеры, например сенсора Kinect, а также может быть построена по стереопаре изображений. Идея, лежащая в основе построения карты глубины по стереопаре, очень проста: для каждой точки на одном изображении выполняется поиск парной точки на другом изображении. А по паре соответствующих точек можно выполнить триангуляцию и определить координаты их прообраза в трёхмерном пространстве согласно процессу, который мы рассматривали ранее. Зная трёхмерные координаты прообраза, глубина вычисляется как расстояние до плоскости камеры.
现在,当我们表面上了解了立体对的工作原理后,让我们深入探讨这一机制的一些细节和细微之处。我们先从结果的本质,即深度图的探讨开始。毕竟,我们希望最终得到的是我们三维场景中所有可见点的深度。因此,深度图是一种图像,在这种图像中,每个像素的颜色被其到摄像机的距离所取代。深度图可以通过特殊的摄像机(例如 Kinect 传感器)获取,也可以通过立体对图像生成。构建立体对深度图的基本思想非常简单:对于一个图像上的每个点,都会在另一个图像上寻找其对应点。而通过一对对应点,我们可以进行三角测量,并根据我们之前讨论的过程确定它们在三维空间中的坐标。知道了原始坐标后,深度就可以计算为到摄像机平面的距离。
Парную точку нужно искать на эпиполярной линии. Соответственно, для упрощения поиска изображения выравнивают так, чтобы все эпиполярные линии были параллельны сторонам изображения, обычно горизонтально. Более того, изображения выравнивают так, чтобы для точки с координатами x0, y0 соответствующая ей эпиполярная линия задавалась уравнением x = x0. Тогда для каждой точки соответствующую ей парную точку нужно искать в той же строчке на изображении со второй камеры. Такой процесс выравнивания изображений называют ректификацией. Мы рассмотрим его далее в нашей лекции. Обычно ректификацию совершают путём ремаппинга изображений и совмещают с избавлением от дисторсии. Пример ректификации изображений приведён на слайде.
对应点需要在极线(epipolar line)上进行查找。因此,为了简化查找过程,图像通常会被校正,使得所有极线平行于图像的边,通常是水平的。此外,图像还会被校正,使得对于坐标为 x0, y0 的点,其对应的极线由方程 x = x0 表示。那么,对于每个点,其对应点需要在第二个摄像机的图像的同一行进行查找。这个图像校正过程被称为图像矫正(rectification)。我们将在后面的课程中进一步探讨这一过程。通常,矫正是通过图像重映射并结合去除畸变来完成的。图像矫正的示例在幻灯片中给出。
После того как изображения ректифицированы, выполняют поиск соответствующих пар точек. Самый простой способ проиллюстрирован на слайде и состоит в следующем: для каждого пикселя левой картинки с координатами x0, y0 выполняется поиск пикселя на правой картинке. При этом предполагается, что пиксель на правой картинке должен иметь координаты x0 - d, y0, где d — величина, называемая несоответствием или смещением (от английского disparity). Поиск соответствующего пикселя выполняется путём вычисления максимума функции отклика, в качестве которой может выступать, например, корреляция окрестностей пикселов. В результате получается карта смещений (disparity map), пример которой приведён на слайде.
图像矫正完成后,便执行对应点对的查找。最简单的方法在幻灯片中有所展示,其过程如下:对于左图中的每个像素(坐标为 x0, y0),都会在右图中寻找对应的像素。假定右图中的像素应具有坐标 x0 - d, y0,其中 d 为差异(disparity)或位移。对应像素的查找通过计算响应函数的最大值来实现,该响应函数可以是像素邻域的相关性。最终得到的是位移图(disparity map),其示例在幻灯片中展示。
Собственно, значение глубины обратно пропорционально величине смещения пикселов. Если использовать обозначение с левой половины рисунка, представленного на слайде, эту зависимость между disparity и глубиной можно выразить с помощью выражения, представленного на слайде. Из-за обратной зависимости глубины и смещения, разрешающая способность системы стереозрения, работающей на основе данного метода, лучше на близких расстояниях и хуже на далёких.
实际上,深度值与像素位移量成反比。如果使用幻灯片左侧图中的符号,可以用幻灯片中给出的表达式来表示差异和深度之间的关系。由于深度和位移之间的反比关系,基于该方法的立体视觉系统在较近距离上的分辨率较高,而在较远距离上的分辨率较低。
Теперь поговорим о процессе ректификации изображений. Рассмотрим подход, который требует для начала знания матриц камер нашей стереопары, а также построенной матрицы преобразования координат точек из координатной системы одной камеры нашей стереопары в координатную систему другой камеры. Под ректификацией в данном случае будем подразумевать установление соответствий между эпиполярными линиями на стереопаре, вдоль которых будет выполняться поиск. Входит работа алгоритма стереосопоставления, о котором мы поговорим далее. Для нахождения этих соответствий можно использовать следующий метод. Исходя из общей особенности матрицы камер, все точки, лежащие на некоторой прямой, проходящей через центр линзы, будут иметь в проекции на изображении одни и те же координаты. Используя выражение, представленное на слайде, и считая координаты какого-либо пикселя изображения известными, мы можем восстановить уравнение такой прямой, удовлетворяющей условию, представленному на слайде. Далее выберем линию поиска на левом изображении. Обычно для удобства и ускорения работы алгоритма выбирают прямую, совпадающую с горизонтальной строчкой пикселов изображения. Далее для двух точек, принадлежащих этой прямой, рассчитывается уравнение соответствующих прямых согласно условию, представленному на слайде. Затем используется матрица преобразования между координатными системами камер для поворота этих прямых в координатную систему правой камеры. Описанная полученными прямыми плоскость сечёт плоскость правого изображения по прямой. Эта прямая и будет искомой линией поиска для правой камеры. Получив уравнение соответствующих прямых для стереопары, можно построить дискретную функцию, которая производит преобразование, представленное на слайде. Данное преобразование можно вычислить однократно и использовать для быстрой ректификации изображений. Отметим, что в формулах, представленных на слайде, λ выступает в роли нормирующей константы, p — в роли некоторой точки пространства, а её проекции на плоскость изображения. Отметим также, что L обозначает прямую, проходящую через центр линзы.
现在,我们来讨论图像矫正的过程。我们将探讨一种方法,该方法需要先了解我们的立体相机对的摄像机矩阵,以及坐标转换矩阵,这些矩阵用于将点的坐标从一台摄像机的坐标系转换到另一台摄像机的坐标系。在这种情况下,图像矫正意味着在立体对图像上建立极线之间的对应关系,沿着这些极线进行查找。接下来我们将讨论立体匹配算法的工作。为了找到这些对应关系,可以使用以下方法。根据摄像机矩阵的一般特性,所有位于通过镜头中心的某条直线上的点,在图像上的投影将具有相同的坐标。使用幻灯片中的表达式,并假定已知某个图像像素的坐标,我们可以恢复满足幻灯片中条件的直线方程。然后,在左图中选择搜索线。通常为了便于算法工作和加快速度,选择与图像像素行平行的直线。然后对于这条直线上两点,根据幻灯片中的条件计算相应的直线方程。接着,使用摄像机坐标系转换矩阵将这些直线旋转到右摄像机的坐标系中。由这些直线描述的平面与右图像平面相交形成的直线即为右摄像机的搜索线。得到立体对相应直线的方程后,可以构建离散函数,该函数执行幻灯片中展示的转换。该转换可以一次计算并用于快速图像矫正。需要注意的是,幻灯片中的公式中,λ 作为归一化常数,p 作为空间中的某个点,而它的投影位于图像平面上。还需要注意的是,L 表示通过镜头中心的直线。
Теперь поговорим про расхождения или disparity. Большинство алгоритмов, как результат своей работы, вычисляют именно данную величину. Понятие расхождения пришло из области исследования человеческого зрения. Расхождением в таком случае называют разность между углом фокусировки взгляда и углом, который образуют с объектом центры зрачков. Точки с нулевым расхождением образуют окружность, она носит название окружности диоптрической мюллера. Она изображена на рисунке, представленном на слайде. В случае компьютерного зрения, как правило, функция расхождения вычисляется по формуле, представленной на слайде. Для ректифицированной стереопары за x и y обозначены координаты точки на изображении, принятом за основу, то есть референтном изображении. За x0 и y0 — соответствующая ей точка на другом изображении. Таким образом, D(x, y) получает смысл величины обратной глубины точки. В силу представленного на слайде соотношения, где O и O’ — оптические центры камер, f — фокусное расстояние камер, Z — глубина, а тройка с компонентами x, y и d образуют пространство расхождений. Отметим также, что чаще всего используются камеры с одинаковыми параметрами внутренней калибровки, да и в целом одинаковые камеры при построении пассивных стереопар.
现在,我们来讨论差异(disparity)。大多数算法的结果正是计算出这个量。差异的概念源于人类视觉研究领域。在这种情况下,差异指的是视角聚焦角度与视角中心通过物体所形成的角度之间的差异。差异为零的点形成一个圆,称为视差圆。它在幻灯片中的图中有所展示。在计算机视觉的情况下,差异函数通常通过幻灯片中给出的公式计算。对于矫正后的立体对,x 和 y 表示基础图像中的点的坐标,即参考图像中的点的坐标。x0 和 y0 表示另一个图像中对应的点。这样,D(x, y) 表示点的逆深度。在幻灯片中的关系中,O 和 O’ 是摄像机的光学中心,f 是摄像机的焦距,Z 是深度,x, y 和 d 组成的三元组形成差异空间。还需要注意的是,构建被动立体对时,通常使用具有相同内部校准参数的相同摄像机。
Итак, теперь мы можем собрать всю картину воедино, используя нотацию однородных координат и соотношения, представленные на слайде, и вычислить карту глубин точек рассматриваемой трёхмерной сцены. Однако следует отметить, что мы упустили один момент, составляющий ядро алгоритмов стереозрения — это сопоставление точек на изображениях, полученных с камер нашей стереопары. Займёмся далее рассмотрением таких алгоритмов.
现在,我们可以将所有内容结合在一起,使用齐次坐标表示法和幻灯片中的关系,计算出我们三维场景中点的深度图。然而,需要注意的是,我们忽略了立体视觉算法的核心部分,即立体对图像上的点匹配。接下来我们将讨论这些算法。