View on GitHub

ITMO-PE

My study notes about Program Engineering at University ITMO

MainPage/Computer Vision/Lecture/5-1 RAW

语音识别:Youtube 转文本
断句与标点:chatGPT 4o
翻译:chatGPT 4o

Сегодня мы поговорим о ещё одной важной задаче компьютерного зрения — сегментировании изображений. В одной из прошлых лекций мы рассматривали задачу детектирования объектов. Так вот, грубо говоря, задача сегментирования во многом совпадает с задачей детектирования, с той разницей, что на выходе нам необходимо получать не bounding box объектов каждого класса, а их бинарные маски.
今天我们将讨论计算机视觉中的另一个重要任务——图像分割。在之前的一次讲座中,我们讨论了目标检测任务。粗略地说,分割任务在很大程度上与检测任务相似,不同之处在于我们需要得到的不是每个类别对象的边界框,而是它们的二进制掩码。

Соответственно, задача сегментирования сцены заключается в отнесении каждого пикселя исходного изображения к тому или иному объекту того или иного класса. Если говорить более формально, то в компьютерном зрении сегментация — это процесс разделения цифрового изображения на несколько сегментов, то есть множества пикселей, так называемых superpixels. Цель сегментации заключается в упрощении и/или изменении представления изображения, чтобы его было проще анализировать.
因此,场景分割任务在于将原始图像的每个像素归类到某个特定类别的对象。如果更正式地说,在计算机视觉中,分割是将数字图像分成多个部分的过程,即所谓的超级像素。分割的目的是简化和/或改变图像的表示,使其更容易分析。

Сегментация изображений обычно используется для того, чтобы выделить объекты и их границы, линии, кривые и так далее на изображениях более точно. Сегментация изображений — это процесс присвоения меток каждому пикселю изображения, так что пиксели с одинаковыми метками имеют общие визуальные характеристики. Результатом сегментации изображения является множество сегментов, которые вместе покрывают всё изображение, или множество контуров, выделенных из изображения, которые разделяют изображение на сегменты. То есть мы находим либо маску, либо границы, которые разделяют сегменты. Все пиксели в сегменте похожи по некоторым характеристикам или вычислительным свойствам, например, по цвету, яркости или текстуре. Соседние сегменты значительно отличаются по этим характеристикам.
图像分割通常用于更精确地提取图像中的对象及其边界、线条、曲线等。图像分割是为图像的每个像素赋予标签的过程,这样相同标签的像素具有共同的视觉特征。图像分割的结果是多个部分,它们共同覆盖整个图像,或者是从图像中提取的多个轮廓,这些轮廓将图像划分为多个部分。也就是说,我们要么找到分割掩码,要么找到分割的边界。分割中的所有像素在某些特征或计算属性上是相似的,例如颜色、亮度或纹理。相邻的部分在这些特征上显著不同。

Иногда сегментирование происходит и без классификационной составляющей, то есть происходит попиксельная кластеризация рассматриваемого изображения. Рассмотрим далее основные подходы к решению различных задач сегментации. Начнём с алгоритмов, основанных на кластеризации пикселей, то есть объединении пикселей исходного изображения в суперпиксели с помощью специфичных алгоритмов кластеризации. Ярким представителем таких подходов является метод водораздела. Более того, данный метод производит не только попиксельное сопоставление, но и одновременно выделение границ объектов.
有时,分割不涉及分类,仅仅是图像的像素聚类。接下来我们将讨论解决各种分割任务的主要方法。首先是基于像素聚类的算法,即通过特定的聚类算法将原始图像的像素组合成超级像素。一个典型的代表是分水岭方法。此外,该方法不仅进行像素级匹配,还能同时提取对象边界。

Коротко объясним название этого метода и в чём его суть. Для начала изображение переводится в монохромную цветовую гамму. Далее предлагается рассматривать изображение как некоторую карту местности, где значения яркостей представляют собой значения высот относительно некоторого уровня. Если эту местность заполнять водой, тогда образуются бассейны. При дальнейшем заполнении водой эти бассейны объединяются, и места объединения этих бассейнов отмечаются как линии водораздела. Отметим, что помимо использования монохромного представления в качестве карты рельефа местности возможно работать и с любой другой картой как с функцией двух переменных, где аргументами являются координаты пикселя на исходном изображении. Значением функции может быть, например, модуль градиента. Для наибольшего контраста можно взять градиент от изображения, тогда по оси y и z, которая представляет собой результаты вычисления функции рельефа, возможно откладывать абсолютное значение градиента. Таким образом, в местах перепада интенсивностей образуются хребты, а в однородных регионах — равнины.
简要解释一下该方法的名称及其原理。首先将图像转换为单色调的颜色空间。然后,将图像视为地形图,其中亮度值表示相对于某一水平面的高度值。如果将这个地形图用水填充,就会形成盆地。随着水的进一步填充,这些盆地会相互连接,连接点标记为分水岭线。除了使用单色表示作为地形图外,还可以使用任何其他函数作为两变量函数,其中自变量是原始图像中的像素坐标。函数值可以是梯度的模量。例如,为了获得最大对比度,可以使用图像的梯度,那么在y轴和z轴上,即表示地形函数结果的轴上,可以标出梯度的绝对值。因此,在强度变化的地方形成山脊,而在均匀区域形成平原。

После нахождения функции рельефа идёт процесс заполнения водой, который начинается с глобального минимума. Как только уровень воды достигает значения очередного локального минимума, начинается его заполнение водой. Когда два региона начинают сливаться, строится перегородка, чтобы предотвратить объединение областей. Вода продолжит подниматься до тех пор, пока регионы не будут отделяться только искусственно построенными перегородками. Такой алгоритм может быть полезным, если на изображении небольшое число локальных минимумов. В случае, когда количество локальных минимумов велико, избыточное разбиение на сегменты является недостатком подхода в классической его трактовке.
在找到地形函数之后,进行水填充过程,从全局最低点开始。当水位达到下一个局部最低点时,开始填充水。当两个区域开始合并时,构建隔板以防止区域合并。水将继续上升,直到区域只被人工构建的隔板分开。该算法在图像中局部最小值较少时非常有用。当局部最小值数量多时,过度分割是该方法经典解释中的一个缺点。

Рассмотрим ещё один алгоритм сегментирования, основанный на кластеризации. Для начала поговорим о некоторых свойствах данного метода. Mean Shift как алгоритм сегментирования имеет математическое обоснование, то есть не является эвристическим. Более того, Mean Shift, относясь к классу алгоритмов кластеризации, не требует задания количества кластеров, в отличие от других алгоритмов кластеризации, которые основаны на подходе k-means, который мы рассмотрим далее. Это означает, что Mean Shift алгоритм определяет количество сегментов изображения в процессе своей работы.
我们再来看一个基于聚类的分割算法。首先讨论一下该方法的一些特性。Mean Shift作为分割算法具有数学依据,不是启发式的。更重要的是,Mean Shift作为聚类算法的一种,不需要设定聚类数量,这与我们将要讨论的基于k-means的方法不同。这意味着Mean Shift算法在处理过程中确定图像的分割数量。

Итеративная обработка пикселей изображением в Mean Shift допускает распараллеливание на графических процессорах, так как результат обработки одного пикселя на каждой итерации не зависит от результата обработки остальных пикселей. Большинство алгоритмов сегментирования изображений являются вычислительно трудоёмкими, но не каждый укладывается в модель массивно-параллельных вычислений. О хорошем качестве алгоритма сегментирования изображений, основанного на Mean Shift, свидетельствуют многочисленные публикации, в которых Mean Shift применяется при решении конкретных задач компьютерного зрения.
Mean Shift处理图像的像素时可以在图形处理器上并行化,因为每次迭代中一个像素的处理结果不依赖于其他像素的处理结果。大多数图像分割算法计算复杂,但并不是所有算法都适合大规模并行计算模型。基于Mean Shift的图像分割算法的优良性得到了大量文献的支持,这些文献中Mean Shift用于解决具体的计算机视觉任务。

Кроме того, стоит отметить, что задача разбиения изображения на однородные области является некорректно поставленной задачей, поскольку одно и то же изображение можно разбить на сегменты разными способами, и нет объективного критерия, позволяющего определить, какое из разбиений является правильным. Выбор лучшего алгоритма зависит от решаемой задачи — это всегда следует иметь в виду. Но для сравнения качества методов сегментирования существуют базы изображений, для которых известна некоторая эталонная сегментация.
此外,值得注意的是,将图像划分为均匀区域是一个不适定的问题,因为同一图像可以以不同方式分割成多个部分,没有客观标准可以确定哪种分割是正确的。选择最佳算法取决于具体任务,这一点必须牢记。但为了比较分割方法的质量,存在一些图像数据库,这些数据库有已知的某种标准分割。

Mean Shift группирует объекты с близкими признаками: пиксели со схожими признаками объединяются в один сегмент, и на выходе получаются изображения с однородными областями. В качестве координат в пространстве признаков можно выбрать координаты пикселя и компоненты RGB из цветового представления модели. Таким образом, в нашем пространстве совмещается и цветовая, и пространственная компонента, создаваемая природой изображения. Изобразив пиксели в пространстве признаков, можно заметить сгущение в определённых местах. Чтобы легко было описывать сгущение точек, вводится функция плотности, она представлена на слайде, где h — параметр сглаживания, n — количество образцов, то есть точек в исходном пространстве. В случае нашего пространства его размерность равна 5, здесь это обозначено символом d. Вклад каждого элемента описывается с помощью колоколообразной функции ядра, она обозначена символом K, зависящим от расстояния до этого элемента. На слайде представлены ядра Епанечникова и Гаусса.
Mean Shift将具有相似特征的对象聚类:具有相似特征的像素被分成一个部分,输出是具有均匀区域的图像。作为特征空间的坐标,可以选择像素坐标和颜色模型中的RGB分量。因此,在我们的空间中结合了图像的颜色和空间成分。将像素绘制在特征空间中,可以在特定位置看到点的聚集。为了容易描述点的聚集,引入了密度函数,它在幻灯片中展示,其中h是平滑参数,n是样本数量,即原始空间中的点数。在我们的空间中,其维数为5,这里用符号d表示。每个元素的贡献用钟形核函数表示,该函数符号K表示,取决于到该元素的距离。幻灯片中展示了埃潘尼切夫和高斯核。

Сам алгоритм представляет собой итеративную процедуру. Начиная с точки x0, последовательно перемещается в точку сдвига xk+1 по формуле, представленной на слайде, вплоть до сходимости к локальному максимуму плотности. Вектор перемещения называется вектором среднего сдвига, и его направление совпадает с направлением максимального роста плотности в точке x. Кластеры соответствуют локальным максимумам функции оценки плотности или модам, к которым сходится процедура.
算法本身是一个迭代过程。从点x0开始,按幻灯片中所示的公式,依次移动到位移点xk+1,直到收敛到局部密度最大值。位移向量称为均值漂移向量,其方向与点x处密度最大增长方向一致。聚类对应于密度估计函数的局部最大值或模式,算法最终收敛到这些模式。