Алгоритм Шамболя-Пока специально разработан для эффективного решения задач выпуклой оптимизации, которые включают минимизацию негладкой функции стоимости, состоящей из члена точности данных и члена регуляризации. [1] Это типичная конфигурация, которая часто возникает в некорректных обратных задачах визуализации, таких как реконструкция изображений , [2] шумоподавление [3] и инрисовка . [4]
Алгоритм основан на прямо-двойственной формулировке, которая позволяет одновременно обновлять прямые и двойственные переменные. Используя проксимальный оператор , алгоритм Шамболя-Пока эффективно обрабатывает негладкие и невыпуклые термины регуляризации, такие как полная вариация , характерные для фреймворка визуализации. [1]
что является прямо-двойственной формулировкой нелинейных прямой и двойственной проблем, указанных ранее. [1]
Алгоритм
Алгоритм Шамболя-Пока в первую очередь включает в себя итеративное чередование между возрастанием в двойственной переменной и убыванием в основной переменной с использованием градиентного подхода с размерами шагов и соответственно, чтобы одновременно решить основную и двойственную задачу. [2] Кроме того, для основной переменной с параметром используется метод сверхрелаксации . [1]
Алгоритм Алгоритм Шамболя-Пока Входные данные: и набор , критерий останова .
делать пока критерий остановки не удовлетворен конец делать
"←" обозначает назначение . Например, " largest ← item " означает, что значение largest изменяется на значение item .
« return » завершает алгоритм и выводит следующее значение.
Шамболь и Пок доказали [1] , что алгоритм сходится, если и , последовательно и с как скоростью сходимости для прямо-двойственного зазора. Это было расширено С. Банертом и др. [8] для выполнения, когда и .
Полунеявный метод Эрроу-Гурвица [9] совпадает с частным выбором в алгоритме Шамболя-Пока. [1]
Ускорение
Существуют особые случаи, в которых скорость сходимости имеет теоретическую скорость. [1] Фактически, если , соответственно , равномерно выпукло, то , соответственно , имеет непрерывный по Липшицу градиент. Тогда скорость сходимости можно улучшить до , внеся небольшие изменения в алгоритм Шамболя-Пока. Это приводит к ускоренной версии метода и заключается в итеративном выборе , а также , вместо фиксации этих значений. [1]
В случае равномерной выпуклости с константой равномерной выпуклости модифицированный алгоритм принимает вид [1]
Алгоритм Ускоренный алгоритм Шамболя-Пока Входные данные: такой, что и задано , критерий останова .
делать пока критерий остановки не удовлетворен конец делать
"←" обозначает назначение . Например, " largest ← item " означает, что значение largest изменяется на значение item .
« return » завершает алгоритм и выводит следующее значение.
Более того, сходимость алгоритма замедляется, когда , норма оператора , не может быть легко оценена или может быть очень большой. Выбирая соответствующие предобуславливатели и , модифицируя проксимальный оператор с введением индуцированной нормы через операторы и , сходимость предлагаемого предобуславливающего алгоритма будет обеспечена. [10]
Приложение
Пример шумоподавления
Типичное применение этого алгоритма — в структуре шумоподавления изображений , основанной на общей вариации. [3] Он работает на концепции, что сигналы, содержащие избыточные и потенциально ошибочные детали, демонстрируют высокую общую вариацию, которая представляет собой интеграл градиента абсолютного значения изображения. [3] Придерживаясь этого принципа, процесс направлен на уменьшение общей вариации сигнала, сохраняя его сходство с исходным сигналом, эффективно устраняя нежелательные детали, сохраняя при этом такие важные особенности, как края. В классической двумерной дискретной настройке [11] рассмотрим , где элемент представляет собой изображение со значениями пикселей, размещенными в декартовой сетке . [1]
Определим скалярное произведение как [1]
что индуцирует норму на , обозначаемую как . [1]
Следовательно, градиент вычисляется с помощью стандартных конечных разностей ,
Тогда основная задача модели ROF , предложенной Рудином, Ошером и Фатеми [12] , задается формулой [1]
где — неизвестное решение и заданные зашумленные данные, вместо этого описывает компромисс между регуляризацией и подгонкой данных. [1]
Прямо-двойственная формулировка задачи ROF формулируется следующим образом [1]
где индикаторная функция определяется как [1]
на выпуклом множестве , которое можно рассматривать как унитарные шары относительно определенной нормы на . [1]
Обратите внимание, что функции, задействованные в указанной прямо-двойственной формулировке, просты, поскольку их проксимальный оператор может быть легко вычислен [1]. Проблема шумоподавления полной дисперсии изображения может быть также решена с помощью других алгоритмов [13], таких как метод переменного направления множителей (ADMM), [14] проецируемый (суб)градиент [15] или быстрое итеративное пороговое сжатие. [16]
Выполнение
Пакет Manopt.jl [17] реализует алгоритм на языке Julia
В библиотеке операторной дискретизации (ODL) [19] , представляющей собой библиотеку Python для обратных задач, chambolle_pock_solverреализован этот метод.
^ Эти коды были использованы для получения изображений в статье.
Ссылки
^ abcdefghijklmnopqrstu vwxyz aa Шамболь, Антонин; Пок, Томас (2011-05-01). "Первоочередной прямо-двойственный алгоритм для выпуклых задач с приложениями к визуализации". Журнал математической визуализации и визуализации . 40 (1): 120–145. doi :10.1007/s10851-010-0251-1. ISSN 1573-7683. S2CID 207175707.
^ abc Sidky, Emil Y; Jørgensen, Jakob H; Pan, Xiaochuan (2012-05-21). "Прототипирование задачи выпуклой оптимизации для реконструкции изображений в компьютерной томографии с помощью алгоритма Шамболя–Пока". Physics in Medicine and Biology . 57 (10): 3065–3091. arXiv : 1111.5632 . Bibcode :2012PMB....57.3065S. doi :10.1088/0031-9155/57/10/3065. ISSN 0031-9155. PMC 3370658 . PMID 22538474.
^ abcd Fang, Faming; Li, Fang; Zeng, Tieyong (2014-03-13). «Очистка и шумоподавление отдельных изображений: быстрый вариационный подход». SIAM Journal on Imaging Sciences . 7 (2): 969–996. doi :10.1137/130919696. ISSN 1936-4954.
^ ab Allag, A.; Benammar, A.; Drai, R.; Boutkedjirt, T. (2019-07-01). «Реконструкция томографического изображения в случае ограниченного числа рентгеновских проекций с использованием синограммной инкартировки». Российский журнал неразрушающего контроля . 55 (7): 542–548. doi :10.1134/S1061830919070027. ISSN 1608-3385. S2CID 203437503.
^ Pock, Thomas; Cremers, Daniel; Bischof, Horst; Chambolle, Antonin (2009). "Алгоритм минимизации функционала Мамфорда-Шаха". 2009 IEEE 12-я Международная конференция по компьютерному зрению . С. 1133–1140. doi :10.1109/ICCV.2009.5459348. ISBN978-1-4244-4420-5. S2CID 15991312.
^ "A Generic Proximal Algorithm for Convex Optimization—Application to Total Variation Minimization". IEEE Signal Processing Letters . 21 (8): 985–989. 2014. Bibcode :2014ISPL...21..985.. doi :10.1109/LSP.2014.2322123. ISSN 1070-9908. S2CID 8976837.
^ ab Ekeland, Ivar; Témam, Roger (1999). Выпуклый анализ и вариационные задачи. Общество промышленной и прикладной математики. стр. 61. doi :10.1137/1.9781611971088. ISBN978-0-89871-450-0.
^ Банерт, Себастьян; Упадхьяя, Ману; Гисельссон, Понтус (2023). «Метод Шамболя-Пока сходится слабо с и ». arXiv : 2309.03998 [math.OC].
^ Uzawa, H. (1958). "Итеративные методы вогнутого программирования". В Arrow, KJ; Hurwicz, L.; Uzawa, H. (ред.). Исследования по линейному и нелинейному программированию . Stanford University Press.
^ Pock, Thomas; Chambolle, Antonin (2011-11-06). "Диагональное предварительное обуславливание для прямо-двойственных алгоритмов первого порядка в выпуклой оптимизации". Международная конференция по компьютерному зрению 2011 г. . стр. 1762–1769. doi :10.1109/ICCV.2011.6126441. ISBN978-1-4577-1102-2. S2CID 17485166.
^ Шамболь, Антонин (2004-01-01). «Алгоритм для минимизации общей вариации и его применение». Журнал математической визуализации и зрения . 20 (1): 89–97. doi :10.1023/B:JMIV.0000011325.36760.1e. ISSN 1573-7683. S2CID 207622122.
^ Гетройер, Паскаль (2012). «Полное вариационное шумоподавление Рудина–Ошера–Фатеми с использованием расщепленного Брегмана» (PDF) .
^ Эссер, Эрни; Чжан, Сяоцюнь; Чан, Тони Ф. (2010). «Общая структура для класса первично-двойственных алгоритмов первого порядка для выпуклой оптимизации в науке о визуализации». Журнал SIAM по наукам о визуализации . 3 (4): 1015–1046. doi :10.1137/09076934X. ISSN 1936-4954.
^ Lions, PL; Mercier, B. (1979). «Алгоритмы разделения для суммы двух нелинейных операторов». Журнал SIAM по численному анализу . 16 (6): 964–979. Bibcode : 1979SJNA...16..964L. doi : 10.1137/0716071. ISSN 0036-1429. JSTOR 2156649.
^ Бек, Амир; Тебулл, Марк (2009). «Быстрый итеративный алгоритм порогового сжатия для линейных обратных задач». Журнал SIAM по наукам о визуализации . 2 (1): 183–202. doi :10.1137/080716542. ISSN 1936-4954. S2CID 3072879.
^ Несторов, Ю.Е. "Метод решения задачи выпуклого программирования со скоростью сходимости O ( 1 k 2 ) {\displaystyle O{\bigl (}{\frac {1}{k^{2}}}{\bigr )}} ". Докл. АН СССР . 269 (3): 543–547.