WikiDer > Оптимизация вырезки графика
Оптимизация вырезки графика это комбинаторная оптимизация метод применимый к семейству функции из дискретные переменные, названный в честь концепции резать в теории проточные сети. Благодаря теорема о максимальном потоке и минимальном отсечении, определяя минимальный разрез через график представление потоковой сети эквивалентно вычислению максимальный поток по сети. Учитывая псевдобулева функция , если возможно построить потоковую сеть с положительными весами такую, что
- каждый разрез сети можно сопоставить с присвоением переменных к (и наоборот), и
- цена равно (с точностью до аддитивной постоянной)
тогда можно найти глобальный оптимум из в полиномиальное время вычисляя минимальный разрез графа. Сопоставление разрезов и присвоений переменных осуществляется путем представления каждой переменной одним узлом в графе, и, при разрезе, каждая переменная будет иметь значение 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]
использованная литература
- ^ а б c Peng et al. (2015).
- ^ Rother et al. (2012).
- ^ Ломберт и Шериет (2012).
- ^ Так и др. (2011).
- ^ Тан и Чанг (2007).
- ^ Kim et al. (2003).
- ^ Хонг и Чен (2004).
- ^ а б c d е ж Колмогоров, Забин (2004).
- ^ Гольдберг и Тарьян (1988).
- ^ Винит и Нараянан (2008).
- ^ Стич (2009).
- ^ а б c Бойков и др. (2001).
- ^ а б Колмогоров и Ротер (2007).
- ^ Исикава (2014).
- ^ а б Kohli et al. (2009).
- ^ а б Фридман и Дринес (2005).
- ^ Kohli et al. (2008).
- Бойков, Юрий; Векслер, Ольга; Забих, Рамин (2001). «Быстрая приблизительная минимизация энергии с помощью разрезов графика». IEEE Transactions по анализу шаблонов и машинному анализу. 23 (11): 1222–1239. CiteSeerX 10.1.1.439.2071. Дои:10.1109/34.969114.
- Фридман, Даниэль; Дриней, Петрос (2005). Минимизация энергии с помощью разрезов графиков: определение того, что возможно (PDF). Конференция компьютерного общества IEEE по компьютерному зрению и распознаванию образов. 2. С. 939–946.
- Гольдберг, Эндрю V; Тарджан, Роберт Э (1988). «Новый подход к задаче о максимальном расходе» (PDF). Журнал ACM. 35 (4): 921–940. Дои:10.1145/48014.61051. S2CID 52152408.
- Исикава, Хироши (2014). Редукция клики высшего порядка без вспомогательных переменных (PDF). Конференция IEEE по компьютерному зрению и распознаванию образов. IEEE. С. 1362–1369.
- Хун, Ли; Чен, Джордж (2004). Стерео сопоставление на основе сегментов с использованием разрезов графика (PDF). Материалы конференции компьютерного общества IEEE 2004 года по компьютерному зрению и распознаванию образов. 1. С. 74–81.
- Коли, Пушмит; Кумар, М. Паван; Торр, Филип Х.С. (2009). "П3 И за его пределами: алгоритмы продвижения для решения функций высшего порядка » (PDF). IEEE Transactions по анализу шаблонов и машинному анализу. 31 (9): 1645–1656. Дои:10.1109 / тпами.2008.217. PMID 19574624. S2CID 91470.
- Ким, Джунхван; Колмогоров Владимир; Забих, Рамин (2003). Визуальная переписка с использованием минимизации энергии и взаимной информации (PDF). Труды Девятой Международной конференции IEEE по компьютерному зрению. С. 1033–1040.
- Коли, Пушмит; Ladicky, Lubor; Торр, PHS (2008). Разрезы графа для минимизации надежных потенциалов более высокого порядка (PDF) (Технический отчет). Оксфордский университет Брукса. С. 1–9.
- Колмогоров Владимир; Ротер, Карстен (2007). «Минимизация несубмодульных функций: обзор». IEEE Transactions по анализу шаблонов и машинному анализу. 29 (7): 1274–1279. Дои:10.1109 / тпами.2007.1031. PMID 17496384. S2CID 15319364.
- Колмогоров Владимир; Забин, Рамин (2004). «Какие энергетические функции можно минимизировать с помощью разрезов графиков?» (PDF). IEEE Transactions по анализу шаблонов и машинному анализу. 26 (2): 1645–1656. Дои:10.1109 / TPAMI.2004.1262177. HDL:1813/5842. PMID 15376891.
- Ломберт, Эрве; Cheriet, Фарида (2012). Одновременное устранение шумов и регистрация изображений с помощью разрезов графиков: применение для поврежденных медицинских изображений (PDF). 11-я Международная конференция по информатике, обработке сигналов и их приложениям. С. 264–268.
- Пэн, Йи; Чен, Ли; Оу-Ян, Фан-Синь; Чен, Вэй; Юн, Джун-Хай (2015). «JF-Cut: подход параллельного вырезания графиков для крупномасштабных изображений и видео». IEEE Transactions по обработке изображений. 24 (2): 655–666. Bibcode:2015ITIP ... 24..655P. Дои:10.1109 / TIP.2014.2378060. PMID 25494510. S2CID 1665580.
- Ротер, Карстен; Колмогоров Владимир; Блейк, Эндрю (2004). Grabcut: интерактивное извлечение переднего плана с использованием итерационных разрезов графиков (PDF). Транзакции ACM на графике. 23. С. 309–314.
- Итак, Рональд В.К .; Тан, Томми WH; Чанг, Альберт CS (2011). «Нежесткая регистрация изображений магнитно-резонансных изображений головного мозга с использованием графических разрезов». Распознавание образов. 44 (10–11): 2450–2467. Дои:10.1016 / j.patcog.2011.04.008.
- Стич, Тимо (2009). Вырезание графа с помощью CUDA (PDF). Конференция по технологиям GPU.
- Тан, Томми WH; Чанг, Альберт CS (2007). Нежесткая регистрация изображения с использованием разрезов графа (PDF). Международная конференция по медицинской обработке изображений и компьютерному вмешательству. С. 916–924. Дои:10.1007/978-3-540-75757-3_111.
- Винит, Вибхав; Нараянан, П.Дж. (2008). CUDA cuts: быстрое вырезание графиков на GPU (PDF). Конференция IEEE Computer Society по компьютерному зрению и семинарам по распознаванию образов. С. 1–8.
Заметки
- ^ Добавление одного узла необходимо, графы без вспомогательных узлов могут представлять только бинарные взаимодействия между переменными.
- ^ Такие алгоритмы как имитация отжига обладают сильными теоретическими свойствами сходимости для некоторого планирования температуры до бесконечности. Такое планирование невозможно реализовать на практике.
внешние ссылки
- Реализация (C ++) нескольких алгоритмов вырезания графа Владимира Колмогорова.
- GCO, библиотека оптимизации вырезания графа от Ольги Векслер и Эндрю Делонга.