Оптимизация вырезки графика - Graph cut optimization

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

  • каждый разрез сети можно сопоставить с присвоением переменных к (и наоборот), и
  • цена равно (с точностью до аддитивной постоянной)

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

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

Оптимизация графической обрезки - важный инструмент для вывода графические модели такие как Марковские случайные поля или условные случайные поля, и у него есть приложения в задачах компьютерного зрения такие как сегментация изображения,[1][2] шумоподавление,[3] постановка на учет[4][5] и стерео согласование.[6][7]

Представимость

А псевдобулева функция как говорят представимый если существует граф с неотрицательными весами и с узлами источника и приемника и соответственно, и существует набор узлов так что для каждого набора значений присвоенные переменным, равняется (с точностью до константы) величине расхода, определяемой минимумом резать графика такой, что если и если .[8]

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

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

Кубические функции

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

Построение графа

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

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

Унарные термины

Унарный термин зависит только от одной переменной и может быть представлен графом с одним нетерминальным узлом и один край с весом если , или с весом если .[8]

Бинарные условия

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

Квадратичный (или двоичный) член может быть представлен графом, содержащим два нетерминальных узла и . Термин можно переписать как

с участием

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

Тернарные термины

Кубический (или тернарный) член можно представить в виде графа с четырьмя нетерминальными узлами, три из которых (, и ) связанный с тремя переменными плюс один четвертый вспомогательный узел .[примечание 1] Общий тернарный член можно переписать как сумму константы, трех унарных членов, трех двоичных членов и тернарного члена в упрощенной форме. Может быть два разных случая, в зависимости от признака . Если тогда

Пример графа, представляющего тернарный член когда (слева) и когда (правильно).

с участием

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

В этом разложении постоянные, унарные и двоичные члены могут быть представлены, как показано в предыдущих разделах. Если тернарный член может быть представлен графом с четырьмя ребрами , , , , все с весом , а если термин может быть представлен четырьмя гранями , , , с весом .[8]

Минимальный разрез

После построения графика, представляющего псевдобулеву функцию, можно вычислить минимальный разрез, используя один из различных алгоритмов, разработанных для потоковых сетей, таких как Форд – Фулкерсон, Эдмондс-Карп, и Алгоритм Бойкова – Колмогорова. Результатом является разбиение графа на две связные компоненты. и такой, что и , а функция достигает своего глобального минимума, когда для каждого такой, что соответствующий узел , и для каждого такой, что соответствующий узел .

Алгоритмы максимального потока, такие как алгоритм Бойкова – Колмогорова, на практике очень эффективны для последовательных вычислений, но их трудно распараллелить, что делает их непригодными для распределенных вычислений приложений и не позволяя им использовать потенциал современных Процессоры. Были разработаны параллельные алгоритмы максимального потока, такие как переименовать[9] и скачок,[1] которые также могут использовать преимущества аппаратного ускорения в ГПГПУ реализации.[10][1][11]

Функции дискретных переменных с более чем двумя значениями

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

где и . Функция представляет собой унарный вклад каждой переменной (часто называемой срок данных), а функция представляет бинарные взаимодействия между переменными (срок плавности). В общем случае оптимизация таких функций представляет собой NP-жесткий проблема, и стохастическая оптимизация такие методы как имитация отжига чувствительны к локальные минимумы и на практике они могут давать произвольно неоптимальные результаты.[заметка 2] С помощью разрезов графа можно построить алгоритмы перемещения, которые позволяют достичь за полиномиальное время локальных минимумов с сильными свойствами оптимальности для широкого семейства квадратичных функций, представляющих практический интерес (когда бинарное взаимодействие это метрика или полуметрический ), так что значение функции в решении лежит в пределах постоянного и известного множителя от глобального оптимума.[12]

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

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

в то время как :        для каждого :                если :                        

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

в то время как :        для каждого :                если :                        

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

Решение, генерируемое такими алгоритмами, не обязательно является глобальным оптимумом, но оно имеет надежные гарантии оптимальности. Если это метрика и является решением, порожденным -расширение алгоритма, или если это полуметрический и решение, порожденное -swap алгоритм, затем лежит в пределах известного и постоянного множителя от глобального минимума :[12]

Несубмодульные функции

Вообще говоря, проблема оптимизации несубмодулярной псевдобулевой функции состоит в следующем: NP-жесткий и не может быть решена за полиномиальное время простым разрезанием графа. Самый простой подход - аппроксимировать функцию похожей, но субмодульной функцией, например, усекая все несубмодульные термины или заменяя их подобными субмодульными выражениями. Такой подход обычно неоптимален и дает приемлемые результаты только в том случае, если количество непубмодульных членов относительно невелико.[13]

В случае квадратичных непубмодулярных функций можно вычислить за полиномиальное время частичное решение, используя такие алгоритмы, как QPBO.[13] Функции высшего порядка могут быть сведены за полиномиальное время к квадратичной форме, которая может быть оптимизирована с помощью QPBO.[14]

Функции высшего порядка

Квадратичные функции широко изучаются и были подробно охарактеризованы, но более общие результаты были получены и для функций более высокого порядка. Хотя квадратичные функции действительно могут моделировать многие проблемы, представляющие практический интерес, они ограничены тем фактом, что могут представлять только бинарные взаимодействия между переменными. Возможность фиксировать взаимодействия более высокого порядка позволяет лучше понять природу проблемы и может обеспечить более качественные результаты, которых трудно достичь с помощью квадратичных моделей. Например, в компьютерное зрение приложений, где каждая переменная представляет собой пиксель или воксель Взаимодействия более высокого порядка могут использоваться для моделирования текстурной информации, которую было бы трудно зафиксировать, используя только квадратичные функции.[15]

Достаточные условия, аналогичные субмодулярности, были разработаны для характеристики псевдобулевых функций высшего порядка, которые могут быть оптимизированы за полиномиальное время,[16] и существуют алгоритмы, аналогичные -расширение и -замена для некоторых семейств функций высшего порядка.[15] Задача в общем случае NP-сложна, и были разработаны приближенные методы быстрой оптимизации функций, не удовлетворяющих таким условиям.[16][17]

использованная литература

  1. ^ а б c Peng et al. (2015).
  2. ^ Rother et al. (2012).
  3. ^ Ломберт и Шериет (2012).
  4. ^ Так и др. (2011).
  5. ^ Тан и Чанг (2007).
  6. ^ Kim et al. (2003).
  7. ^ Хонг и Чен (2004).
  8. ^ а б c d е ж Колмогоров, Забин (2004).
  9. ^ Гольдберг и Тарьян (1988).
  10. ^ Винит и Нараянан (2008).
  11. ^ Стич (2009).
  12. ^ а б c Бойков и др. (2001).
  13. ^ а б Колмогоров и Ротер (2007).
  14. ^ Исикава (2014).
  15. ^ а б Kohli et al. (2009).
  16. ^ а б Фридман и Дринес (2005).
  17. ^ Kohli et al. (2008).

Заметки

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

внешние ссылки