«Мягкая» семантическая сегментация изображений. Методы обработки изображений. Сегментация

На iOS - iPhone, iPod touch 13.08.2019
На iOS - iPhone, iPod touch

Сегментация изображений

Сегментация устанавливает характерные подмножества пикселов или разбиение изображения на связные области, каждая из которых в некотором смысле “однородна”. Процессы сегментации и выделения признаков можно рассматривать как присваивание пикселам меток, определяющих специальные классы, к которым эти пикселы принадлежат. Таким образом, на выходе процесса сегментации находится символьное изображение, в котором значениями пиксела являются метки, а не уровни яркости.

Классификация моделей изображений

Для сегментации изображений используют ту или иную модель, обеспечивающую более или менее адекватное описание реальных изображений. Выделяют два основных класса моделей изображений: статистические и пространственные. Статистические модели описывают совокупность точечных элементов изображения или его области. Пространственные модели описывают декомпозицию изображения на составные части или области.

Статистические модели первого порядка описывают совокупность точечных элементов изображения без учета их расположения в пространстве. Простейшее описание такого типа - плотность вероятности распределения значений яркости, которая рассчитывается с помощью гистограммы значений яркости. Часто считают, что плотность вероятности распределения значений реального изображения аппроксимируется некоторой стандартной, например, гауссовой функцией плотности вероятности или смесью таких функций.

В моделях первого порядка не учитывается, что изображение состоит из каких-либо согласованных частей (элементов текстуры, объектов и т. д.). Взаимное расположение элементов в пространстве учитывают модели совокупностей точечных элементов изображения более высокого порядка. Одной из моделей является матрица смежности значений яркости, элементы которой представляют собой частоты пар значений яркости при выбранном смещении. Величина смещения на практике выбирается достаточно малой, т. к. при большом смещении значения яркости становятся независимыми друг от друга.

Другой метод описания пространственных отношений между точечными элементами изображения состоит в рассмотрении плотности вероятности распределения значений локального признака, что зачастую более эффективно, чем использование плотности вероятности распределения значений яркости высших порядков. При сегментации изображения особенно полезны локальные признаки, обусловленные наличием краев, например, значения различных дифференциальных операторов измерения градиента яркости.

К статистическим моделям изображения относятся также модели случайных полей и временных рядов , использующиеся, в основном, при моделировании текстур.

Пространственные модели описывают изображение в терминах областей. Изображение может быть представлено как совокупность объектов на фоне, как расчлененное на области некоторым регулярным или случайным способом, как модель формы областей. Пространственные модели позволяют в общем случае извлечь больше информации из изображения, чем модели статистик распределения яркости. Однако пока используются только достаточно простые модели, а их математический аппарат требует дальнейшей разработки.

Сегментация изображений методами пороговой обработки

Наиболее простым и широко распространенным методом сегментации изображений является пороговая обработка. В ряде стандартных методов выделения частей изображения по порогу величины порогов определяются непосредственно по гистограммам изображения (статистическая модель изображения первого порядка). Исторически первым методом этой группы методов является метод мод. Метод вытекает из предположения, что изображение содержит известное число однородных по яркости классов точек. Кроме того, считается, что граничные участки между замкнутыми областями занимают сравнительно небольшую площадь изображения. Поэтому на гистограмме им должны соответствовать межмодовые впадины, в пределах которых устанавливаются пороги сегментации.

Однако реальные изображения плохо удовлетворяют выдвинутым предположениям. Как правило, границы между областями размыты и модальная структура гистограммы выражена недостаточно. Кроме того, даже когда гистограмма имеет различимые моды, ее впадины могут быть настолько широкими и плоскими, что оказывается трудно локализовать дно впадины.

Если реальное изображение не удовлетворяет условиям метода мод, применяются следующие четыре подхода. Во-первых, улучшение гистограммы, в том числе, на основе локальных свойств изображения с использованием градиентной информации, статистик второго порядка, анализа кривизны интегральной функции распределения. Во-вторых, аппроксимация гистограммы смесью нормальных распределений и применение статистических методов для оптимального разделения этой смеси. Недостатком этого подхода является большая вычислительная сложность, кроме того, зачастую гауссоиды плохо аппроксимируют реальные моды. В-третьих, введение эмпирической меры качества сегментированного изображения и максимизация соответствующей критериальной функции - дискриминантный подход, энтропийный подход, моментный подход и др. В-четвертых, переход к использованию иных статистик для выбора порога, в частности, выбор порога непосредственно по локальным признакам. Использование локальных признаков позволяет сегментировать сложные реальные изображения более качественно.

Гистограммный анализ обеспечивает удовлетворительное качество сегментации тех изображений, которые состоят из однородных по яркости областей. Однако, при выделении малоразмерных объектов на сложном фоне, точки объектов не дают заметных пиков на гистограмме яркости. Поэтому применяется обработка с переменным порогом: для небольших фрагментов изображения осуществляется построение гистограмм, которые проверяются на бимодальность, а найденные локальные пороги интерполируются на оставшуюся часть изображения.

Ряд алгоритмов, основанных на дискриминантом анализе, предложен в работах Осту. Пусть G ={0,1,...,L }- возможные значения яркости изображения. Порог разделяет распределение значений яркости изображения на два класса C 0={0,1,...,t } и C 1={t +1,t +2,...,L }, t ÎG . Оптимальный порог t * определяется как

где - дисперсия распределения значений яркости изображения в целом, w0 - вероятность принадлежности наугад взятой точки к фону, https://pandia.ru/text/80/299/images/image004_46.gif" width="21" height="24">- средний уровень яркости фона (класса C 0).

Если площади объекта и фона резко отличаются друг от друга, гистограмма критериальной функции может быть мультимодальной. Поэтому необходимо определять все локальные пики, что серьезно снижает конкурентоспособность метода.

Энтропийный критерий для выбора оптимального порога. Пользуясь введенными ранее определениями, гистограмму значений яркости можно рассматривать как L -символьный источник информации с энтропией

,

где pi – вероятность яркости со значением i .

Энтропия источника складывается из энтропии объекта H 0 и энтропии фона H 1, а оптимальный порог должен давать максимальное значение этой суммы:

, (2)

при этом .

Поскольку каждое из слагаемых H 0 и H 1 характеризует равномерность распределения яркостей на соответствующих интервалах и резко уменьшается при попадании в данный интервал "чужого" фрагмента гистограммы максимум энтропийного критерия будет соответствовать наилучшему варианту сегментации. Недостатком этого метода является то, что критериальная функция может иметь несколько близких по значению максимумов.

В отличие от дискриминантного подхода в методе сохранения моментов вводятся все моменты изображения до (2k +1) порядка включительно:

.

Оптимальным считается порог, обеспечивающий равенство соответствующих моментов сегментированного и исходного изображений. Однако если k >3, то возникают трудности, связанные с отсутствием аналитического решения задачи.

Переход от выбора порога по гистограмме яркости к использованию иных статистик, несомненно, усложняет алгоритмы сегментации, но обеспечивает более качественную сегментацию сложных изображений. Для выделения малоразмерных объектов перспективным представляется выбор порога непосредственно по локальным свойствам точек изображения.

Метод максимума среднего контраста. В основу метода положено простое эвристическое определение оптимального порога: оптимальным для сегментации изображений считается порог, выделяющий больше высококонтрастных и меньше низкоконтрастных перепадов яркости, чем любой другой порог. Количественным выражением критерия является средний контраст всех перепадов яркости, выделяемых данным порогом. Порог, соответствующий максимальному среднему контрасту, является оптимальным. Если две смежные точки Х 1=(х 1,y 1) и X 2=(x 2,y 2) имеют значения яркости f (Х 1) и f (X 2) (без потери общности f (X 1)£f (X 2)), то количество перепадов, выделяемых порогом t , равно:

где

Полный контраст, соответствующий порогу t , равен:

где DIV_ADBLOCK169">

. (3)

На основе предложенных Хараликом матриц смежности значений яркости рассмотрен следующий метод сегментации. Для изображения строятся матрицы совместного появления уровней яркостей пар смежных точек в горизонтальном P 1,0 и вертикальном P 1,90 направлениях, а также суммарная матрица переходов, размером (L +1)´(L +1):

P vh = P 1,0 + P 1,90.

Произвольный порог t разбивает точки изображения на два класса С 0 и С 1, а матрицу переходов - на 4 блока.

Редактирование изображений и создание коллажей было бы весьма захватывающим процессом, если бы не приходилось тратить бо́льшую часть времени на кропотливую разметку объектов. Задача еще усложняется, когда границы объектов размыты или присутствует прозрачность. Инструменты “Photoshop”, такие как «магнитное лассо» и «волшебная палочка», не очень интеллектуальны, поскольку ориентируются лишь на низкоуровневые признаки изображения. Они возвращают жёсткие (Hard) границы, которые затем нужно исправлять вручную. Подход Semantic Soft Segmentation от исследователей Adobe помогают решить эту непростую задачу, разделяя изображение на слои, соответствующие семантически значимым областям, и добавляя плавные переходы на краях.

«Мягкая» сегментация

Группа исследователей из лаборатории CSAIL в MIT и швейцарского университета ETH Zürich, работающая под руководством Ягыза Аксоя, предложила подойти к этой проблеме, основываясь на спектральной сегментацией, добавив к ней современные достижения глубокого обучения. С помощью текстурной и цветовой информации, а также высокоуровневых семантических признаков, извлечённых , по изображению строится граф специального вида. Затем по этому графу строится матрица Кирхгофа (Laplacian matrix). Используя спектральное разложение этой матрицы, алгоритм генерирует мягкие контуры объектов. Полученное с помощью собственных векторов разбиение изображения на слои можно затем использовать для редактирования.

Обзор предложенного подхода

Описание модели

Рассмотрим метод создания семантически значимых слоёв пошагово:

1. Спектральная маска. Предложенный подход продолжает работу Левина и его коллег, которые впервые использовали матрицу Кирхгофа в задаче автоматического построения маски. Они строили матрицу L, которая задаёт попарное сходство между пикселями в некоторой локальной области. С помощью этой матрицы они минимизируют квадратичный функционал αᵀLα с заданными пользователем ограничениями, где α задаёт вектор значений прозрачности для всех пикселей данного слоя. Каждый мягкий контур является линейной комбинацией K собственных векторов, соответствующих наименьшим собственным значениям L, которая максимизирует так называемую разреженность маски.

2. Цветовая близость. Для вычисления признаков нелокальной цветовой близости исследователи генерируют 2500 суперпикселей и оценивают близость между каждым суперпикселем и всеми суперпикселями в окрестности радиусом 20% размера изображения. Использование нелокальной близости гарантирует, что области с очень похожими цветами останутся связными в сложных сценах, подобных изображённой ниже.

Нелокальная цветовая близость

3. Семантическая близость. Эта стадия позволяет выделять семантически связные области изображения. Семантическая близость поощряет объединение пикселей, которые принадлежат одному объекту сцены, и штрафует за объединение пикселей разных объектов. Здесь исследователи используют предыдущие достижения в области распознавания образов и вычисляют для каждого пикселя вектор признаков, коррелирующий с объектом, в который входит данный пиксель. Векторы признаков вычисляются с помощью нейросети, о чём мы поговорим далее более подробно. Семантическая близость, как и цветовая, определяется на суперпикселях. Однако, в отличие от цветовой близости, семантическая близость связывает только ближайшие суперпиксели, поощряя создание связных объектов. Сочетание нелокальной цветовой близости и локальной семантической близости позволяет создать слои, которые покрывают разъединённые в пространстве изображения фрагмента одного семантически связанного объекта (например, растительность, небо, другие типы фона).

Семантическая близость

4. Создание слоёв. На этом шаге с помощью вычисленных ранее близостей строится матрица L. Из этой матрицы извлекаются собственные векторы, соответствующие 100 наименьшим собственным значениям, а затем применяется алгоритм разреживания, который извлекает из них 40 векторов, по которым строятся слои. Затем количество слоёв ещё раз уменьшается с помощью алгоритма кластеризации k-means при k = 5. Это работает лучше, чем простое разреживание 100 собственных векторов до пяти, поскольку такое сильное сокращение размерности делает задачу переопределённой. Исследователи выбрали итоговое число контуров равным 5 и утверждают, что это разумное число для большинства изображений. Тем не менее, это число можно изменить вручную в зависимости от обрабатываемого изображения.


Мягкие контуры до и после группировки

5. Семантические векторы признаков. Для вычисления семантической близости использовались векторы признаков, посчитанные с помощью нейросети. Основой нейросети стала DeepLab-ResNet-101, обученная на задаче предсказания метрики. При обучении поощрялась максимизация L2-расстояния между признаками разных объектов. Таким образом, нейросеть минимизирует расстояние между признаками, соответствующими одному классу, и максимизирует расстояние в другом случае.

Качественное сравнение со схожими методами

Изображения, приведённые ниже, показывают результаты работы предложенного подхода (подписанные как «Our result») в сравнении с результатами наиболее близкого подхода мягкой сегментации - спектрального метода построения маски - и двумя state-of-the-art методами семантической сегментации: методом обработки сцен PSPNet и методом сегментации объектов Mask R-CNN.


Качественные сравнения мягкой семантической сегментации с другими подходами

Можно заменить, что PSPNet и Mask R-CNN склонны ошибаться на границах объектов, а мягкие контуры, построенные спектральным методом, часто заходят за границы объектов. При этом описанный метод полностью охватывает объект, не объединяя его с другими, и достигает высокой точности на краях, добавляя мягкие переходы, где это требуется. Однако стоит заметить, что семантические признаки, использованные в данном методе, не различают два разных объекта, принадлежащих к одному классу. В результате множественные объекты представлены на одном слое, что видно на примере изображений жирафов и коров.

Редактирование изображений с помощью мягких семантических контуров

Ниже приведено несколько примеров применения мягких контуров для редактирования изображений и создания коллажей. Мягкие контуры можно использовать для применения конкретных изменений к разным слоям: добавления размытия, изображающего движение поезда (2), раздельной цветовой коррекции для людей и для фона (5, 6), отдельной стилизации для воздушного шара, неба, ландшафта и человека (8). Конечно, то же самое можно сделать с помощью созданных вручную масок или классических алгоритмов выделения контура, но с автоматическим выделением семантически значимых объектов такое редактирование становится значительно проще.

Использование мягкой семантической сегментации для редактирования изображений

Заключение

Данный метод автоматически создаёт мягкие контуры, соответствующие семантически значимым областям изображения, используя смесь высокоуровневой информации от нейронной сети и низкоуровневых признаков. Однако у этого метода есть несколько ограничений. Во-первых, он относительно медленный: время обработки изображения с размерами 640 x 480–3–4 минуты. Во-вторых, этот метод не создаёт отдельные слои для разных объектов одного класса. И в-третьих, как показано ниже, этот метод может ошибиться на начальных этапах обработки в случаях, когда цвета объектов очень похожи (верхний пример), или во время объединения мягких контуров возле больших переходных областей (нижний пример).

Случаи ошибок алгоритма

Тем не менее, мягкие контуры, созданные с помощью описанного метода, дают удобное промежуточное представление изображения, позволяющее тратить меньше времени и сил при редактировании изображений.

Одной из основных задач обработки и анализа изображений является сегментация, т.е. разделение изображения на области, для которых выполняется определенный критерий однородности, например, выделение на изображении областей приблизительно одинаковой яркости. Понятие области изображения используется для определения связной группы элементов изображения, имеющих определенный общий признак (свойство).
Один из основных и простых способов - это построение сегментации с помощью порога. Порог - это признак (свойство), которое помогает разделить искомый сигнал на классы. Операция порогового разделения заключается в сопоставлении значения яркости каждого пикселя изображения с заданным значением порога.
Бинаризация

Операция порогового разделения, которая в результате дает бинарное изображение, называется бинаризацией. Целью операции бинаризации является радикальное уменьшение количества информации, содержащейся на изображении. В процессе бинаризации исходное полутоновое изображение, имеющее некое количество уровней яркости, преобразуется в черно-белое изображение, пиксели которого имеют только два значения – 0 и 1

Пороговая обработка изображения может проводиться разными способами.

Бинаризация с нижним порогом
Бинаризация с нижним порогом
Бинаризация с нижним порогом является наиболее простой операцией, в которой используется только одно значение порога:

Все значения вместо критерия становятся 1, в данном случае 255 (белый) и все значения(амплитуды) пикселей, которые больше порога t - 0 (черный).

Бинаризации с верхним порогом
Иногда можно использовать вариант первого метода, который дает негатив изображения, полученного в процессе бинаризации. Операция бинаризации с верхним порогом:

Бинаризация с двойным ограничением
Для выделения областей, в которых значения яркости пикселей может меняться в известном диапазоне, вводится бинаризация с двойным ограничением (t 1
Так же возможны другие вариации с порогами, где пропускается только часть данных (средне полосовой фильтр).

Неполная пороговая обработка
Данное преобразование дает изображение, которое может быть проще для дальнейшего анализа, поскольку оно становится лишенным фона со всеми деталями, присутствующими на исходном изображении.

Многоуровневое пороговое преобразование
Данная операция формирует изображение, не являющееся бинарным, но состоящее из сегментов с различной яркостью.

Что касается бинаризации, то по сути все. Хотя можно добавить, что есть глобальная, которая используется для всего изображения и так же существует локальная, которая захватывает часть картинки (изображения).

Локальная пороговая обработка
Метод Отса
Метод использует гистограмму распределения значений яркости пикселей растрового изображения. Строится гистограмма по значениям p i =n i /N, где N – это общее кол-во пикселей на изображении, n i – это кол-во пикселей с уровнем яркости i. Диапазон яркостей делится на два класса с помощью порогового значения уровня яркости k,k - целое значение от 0 до L. Каждому классу соответствуют относительные частоты ω 0 ω 1:

Средние уровни для каждого из двух классов изображения:
Далее вычисляется максимальное значение оценки качества разделения изображения на две части:
где (σ кл)2=ω 0 ω 1 (μ 1 -μ 0) 2 , – межклассовая дисперсия, а (σ общ) 2 – это общая дисперсия для всего изображения целиком.

Определение порога на основе градиента яркости изображения
Предположим, что анализируемое изображение можно разделить на два класса – объекты и фон. Алгоритм вычисления порогового значения состоит из следующих 2 шагов:
1. Определяется модуль градиента яркости для каждого пикселя
изображения

2. Вычисление порога:
Итого
Что нашел с радостью выложил вам, в дальнейшем, если получится и будет время, постараюсь реализовать часть алгоритмов. Это лишь малая часть всего, что сегодня существует, но я рад поделится и этим.
Спасибо за внимание. Одной из основных задач обработки и анализа изображений является сегментация, т.е. разделение изображения на области, для которых выполняется определенный критерий однородности, например, выделение на изображении областей приблизительно одинаковой яркости. Понятие области изображения используется для определения связной группы элементов изображения, имеющих определенный общий признак (свойство).
Один из основных и простых способов - это построение сегментации с помощью порога. Порог - это признак (свойство), которое помогает разделить искомый сигнал на классы. Операция порогового разделения заключается в сопоставлении значения яркости каждого пикселя изображения с заданным значением порога.
Бинаризация

Операция порогового разделения, которая в результате дает бинарное изображение, называется бинаризацией. Целью операции бинаризации является радикальное уменьшение количества информации, содержащейся на изображении. В процессе бинаризации исходное полутоновое изображение, имеющее некое количество уровней яркости, преобразуется в черно-белое изображение, пиксели которого имеют только два значения – 0 и 1

Пороговая обработка изображения может проводиться разными способами.

Бинаризация с нижним порогом
Бинаризация с нижним порогом
Бинаризация с нижним порогом является наиболее простой операцией, в которой используется только одно значение порога:

Все значения вместо критерия становятся 1, в данном случае 255 (белый) и все значения(амплитуды) пикселей, которые больше порога t - 0 (черный).

Бинаризации с верхним порогом
Иногда можно использовать вариант первого метода, который дает негатив изображения, полученного в процессе бинаризации. Операция бинаризации с верхним порогом:

Бинаризация с двойным ограничением
Для выделения областей, в которых значения яркости пикселей может меняться в известном диапазоне, вводится бинаризация с двойным ограничением (t 1
Так же возможны другие вариации с порогами, где пропускается только часть данных (средне полосовой фильтр).

Неполная пороговая обработка
Данное преобразование дает изображение, которое может быть проще для дальнейшего анализа, поскольку оно становится лишенным фона со всеми деталями, присутствующими на исходном изображении.

Многоуровневое пороговое преобразование
Данная операция формирует изображение, не являющееся бинарным, но состоящее из сегментов с различной яркостью.

Что касается бинаризации, то по сути все. Хотя можно добавить, что есть глобальная, которая используется для всего изображения и так же существует локальная, которая захватывает часть картинки (изображения).

Локальная пороговая обработка
Метод Отса
Метод использует гистограмму распределения значений яркости пикселей растрового изображения. Строится гистограмма по значениям p i =n i /N, где N – это общее кол-во пикселей на изображении, n i – это кол-во пикселей с уровнем яркости i. Диапазон яркостей делится на два класса с помощью порогового значения уровня яркости k,k - целое значение от 0 до L. Каждому классу соответствуют относительные частоты ω 0 ω 1:

Средние уровни для каждого из двух классов изображения:
Далее вычисляется максимальное значение оценки качества разделения изображения на две части:
где (σ кл)2=ω 0 ω 1 (μ 1 -μ 0) 2 , – межклассовая дисперсия, а (σ общ) 2 – это общая дисперсия для всего изображения целиком.

Определение порога на основе градиента яркости изображения
Предположим, что анализируемое изображение можно разделить на два класса – объекты и фон. Алгоритм вычисления порогового значения состоит из следующих 2 шагов:
1. Определяется модуль градиента яркости для каждого пикселя
изображения

2. Вычисление порога:
Итого
Что нашел с радостью выложил вам, в дальнейшем, если получится и будет время, постараюсь реализовать часть алгоритмов. Это лишь малая часть всего, что сегодня существует, но я рад поделится и этим.
Спасибо за внимание.

Пороговая обработка является одним из основных методов сегментации изображений, благодаря интуитивно понятным свойствам. Этот метод ориентирован на обработку изображений, отдельные однородные области которых отличаются средней яркостью. Самым распространенным методом сегментации путем пороговой обработки является бинарная сегментация, то есть когда в нашем распоряжении имеется два типа однородных участков.

В этом случае изображение обрабатывается по пикселям и преобразование каждого пикселя входного изображения в выходное определяется из соотношения:

где - параметр обработки, называемый порогом, и - уровни выходной яркости. Обработка по пикселям, положение которых на изображении не играет никакой роли, называется точечной . Уровни и играют роль меток. По ним определяют, к какому типу отнести данную точку: к H0 или к H1. Или говорят, что H0 состоит из фоновых точек, а H1 из точек интереса . Как правило, уровни и соответствуют уровням белого и черного. Будем называть классы H1 (он же класс интереса) классом объекта, а класс H0 классом фона.

Естественно сегментация может быть не только бинарной и в таком случае существующих классов больше, чем два. Такой вид сегментации называется многоуровневым. Результирующее изображение не является бинарным, но оно состоит из сегментов различной яркости. Формально данную операцию можно записать следующим образом:

где - количество уровней, а - классы изображения. В таком случае для каждого из классов должен быть задан соответствующий порог, который бы отделял эти классы между собой. Бинарные изображения легче хранить и обрабатывать, чем изображения, в которых имеется много уровней яркости .

Самым сложным в пороговой обработке является сам процесс определения порога. Порог часто записывают как функцию, имеющую вид:

где - изображение, а - некоторая характеристика точки изображения, например, средняя яркость в окрестности с центром в этой точке.

Если значение порога зависит только от, то есть одинаково для всех точек изображения, то такой порог называют глобальным. Если порог зависит от пространственных координат, то такой порог называется локальным. Если зависит от характеристики, то тогда такой порог называется адаптивным. Таким образом, обработка считается глобальной, если она относится ко всему изображению в целом, а локальной, если она относится к некоторой выделенной области.

Помимо перечисленных разграничений алгоритмов существует еще множество методов. Многие из них являются просто совокупностью других, но большинство из них, так или иначе, базируются на анализе гистограммы исходного изображения, однако есть и принципиально другие подходы, которые не затрагивают анализ гистограмм в прямом виде или переходят от них к анализу некоторых других функций.



Рекомендуем почитать

Наверх