Змея — это минимизирующий энергию деформируемый сплайн, на который влияют силы ограничения и изображения, которые тянут его к контурам объекта, и внутренние силы, которые сопротивляются деформации. Змеи можно понимать как особый случай общей техники сопоставления деформируемой модели с изображением посредством минимизации энергии. [1] В двух измерениях активная модель формы представляет собой дискретную версию этого подхода, использующую преимущество модели распределения точек для ограничения диапазона формы до явной области, изученной из обучающего набора.
Змеи не решают всю проблему поиска контуров на изображениях, поскольку метод требует знания желаемой формы контура заранее. Скорее, они зависят от других механизмов, таких как взаимодействие с пользователем, взаимодействие с каким-то процессом понимания изображения более высокого уровня или информация из данных изображения, смежных во времени или пространстве.
Мотивация
В компьютерном зрении контурные модели описывают границы фигур на изображении. Змеи, в частности, предназначены для решения задач, где известна приблизительная форма границы. Будучи деформируемой моделью, змеи могут адаптироваться к различиям и шуму в стереосопоставлении и отслеживании движения. Кроме того, метод может находить иллюзорные контуры на изображении, игнорируя отсутствующую информацию о границах.
По сравнению с классическими методами извлечения признаков, «змеи» имеют ряд преимуществ:
Они автономно и адаптивно ищут минимальное состояние.
Внешние силы изображения действуют на змею интуитивно.
Включение гауссовского сглаживания в функцию энергии изображения обеспечивает чувствительность к масштабу.
Их можно использовать для отслеживания динамических объектов.
Главные недостатки традиционных змей:
Они чувствительны к локальным минимальным состояниям, которые можно нейтрализовать с помощью методов имитации отжига.
При минимизации энергии по всему контуру часто игнорируются мельчайшие особенности.
Их точность зависит от политики конвергенции. [2]
Формула энергии
Простая эластичная змейка определяется набором n точек для , внутренней упругой энергии и внешней энергии на основе ребер . Цель внутренней энергии — контролировать деформации, которые придаются змее, а цель внешней энергии — контролировать подгонку контура к изображению. Внешняя энергия обычно представляет собой комбинацию сил, обусловленных самим изображением , и сил ограничения, введенных пользователем
Энергетическая функция змеи представляет собой сумму ее внешней энергии и внутренней энергии, или
Внутренняя энергия
Внутренняя энергия змеи складывается из непрерывности контура и плавности контура .
[3]
Это может быть расширено как
где и — определяемые пользователем веса; они управляют чувствительностью функции внутренней энергии к степени растяжения змеи и степени ее кривизны соответственно, и тем самым управляют числом ограничений на форму змеи.
На практике большой вес для члена непрерывности наказывает изменения расстояний между точками контура. Большой вес для члена гладкости наказывает колебания в контуре и заставит контур действовать как тонкая пластина.
Энергия изображения
Энергия в изображении — это некоторая функция особенностей изображения. Это одна из наиболее распространенных точек модификации в производных методах. Особенности в изображениях и сами изображения могут быть обработаны многими и различными способами.
Для изображения , линий, краев и окончаний, присутствующих в изображении, общая формула энергии, обусловленной изображением, имеет вид
где , , — веса этих выдающихся особенностей. Более высокие веса указывают на то, что выдающаяся особенность будет иметь больший вклад в силу изображения.
Линия функциональная
Линейный функционал — это интенсивность изображения, которую можно представить как
Знак определит, будет ли линия притягиваться либо к темным, либо к светлым линиям.
На изображении можно применить сглаживание или шумоподавление, после чего функционал линии будет выглядеть следующим образом:
Функциональный край
Функционал края основан на градиенте изображения. Одна из реализаций этого —
Змея, возникающая далеко от желаемого контура объекта, может ошибочно сходиться к некоторому локальному минимуму. Продолжение масштабного пространства может использоваться для того, чтобы избежать этих локальных минимумов. Это достигается путем использования фильтра размытия на изображении и уменьшения степени размытия по мере выполнения вычислений для уточнения подгонки змеи. Функционал энергии, использующий продолжение масштабного пространства, имеет вид
где — гауссова функция со стандартным отклонением . Минимумы этой функции приходятся на нулевые пересечения , которые определяют края согласно теории Марра–Хилдрета .
Окончание функциональное
Кривизна линий уровня на слегка сглаженном изображении может быть использована для обнаружения углов и окончаний на изображении. Используя этот метод, пусть будет изображение, сглаженное
с углом наклона
единичные векторы вдоль направления градиента
и единичные векторы, перпендикулярные направлению градиента
Функционал окончания энергии можно представить как
Энергия ограничения
Некоторые системы, включая первоначальную реализацию змей, допускали взаимодействие с пользователем для управления змеями не только в первоначальном размещении, но и в их энергетических терминах. Такая энергия ограничения может использоваться для интерактивного управления змеями к определенным объектам или от них.
Оптимизация посредством градиентного спуска
При наличии начального предположения для змеи функция энергии змеи итеративно минимизируется. Минимизация градиентного спуска является одной из простейших оптимизаций, которая может быть использована для минимизации энергии змеи. [4] Каждая итерация делает один шаг в отрицательном градиенте точки с контролируемым размером шага для поиска локальных минимумов. Эта минимизация градиентного спуска может быть реализована как
Где находится сила, действующая на змею, которая определяется отрицательным значением градиента энергетического поля.
Предполагая, что веса и постоянны относительно , этот итерационный метод можно упростить до
Дискретное приближение
На практике изображения имеют конечное разрешение и могут быть интегрированы только за конечные временные шаги . Таким образом, для практической реализации змей необходимо сделать дискретные приближения.
Функцию энергии змеи можно аппроксимировать, используя дискретные точки на змее.
Следовательно, силы змеи можно приблизительно определить как
Аппроксимацию градиента можно выполнить с помощью любого метода конечной аппроксимации относительно s , например, метода конечных разностей .
Числовая нестабильность из-за дискретности времени
Введение дискретного времени в алгоритм может привести к обновлениям, при которых змея перемещается мимо минимумов, к которым она притягивается; это может в дальнейшем вызвать колебания вокруг минимумов или привести к нахождению других минимумов.
Этого можно избежать, настроив шаг времени таким образом, чтобы размер шага никогда не превышал пиксель из-за сил изображения. Однако в областях с низкой энергией внутренние энергии будут доминировать в обновлении.
В качестве альтернативы, силы изображения могут быть нормализованы для каждого шага таким образом, что силы изображения обновляют змею только на один пиксель. Это можно сформулировать как
где близко к значению размера пикселя. Это позволяет избежать проблемы доминирования внутренних энергий, возникающих при настройке временного шага. [5]
Численная нестабильность из-за дискретного пространства
Энергии в непрерывном изображении могут иметь нулевое пересечение, которое не существует как пиксель в изображении. В этом случае точка в змее будет колебаться между двумя пикселями, которые соседствуют с этим нулевым пересечением. Этого колебания можно избежать, используя интерполяцию между пикселями вместо ближайшего соседа. [5]
Некоторые варианты змей
Метод змей по умолчанию имеет различные ограничения и угловые случаи, где сходимость работает плохо. Существует несколько альтернатив, которые решают проблемы метода по умолчанию, хотя и со своими собственными компромиссами. Некоторые из них перечислены здесь.
плохая сходимость, когда змея инициализируется далеко от минимума
В 2D векторное поле GVF минимизирует энергетический функционал
где — контролируемый сглаживающий член. Это можно решить, решив уравнения Эйлера
Эту проблему можно решить путем итерации в направлении к устойчивому значению.
Этот результат заменяет внешнюю силу по умолчанию.
Основная проблема с использованием GVF заключается в том, что сглаживающий член вызывает скругление краев контура. Уменьшение значения уменьшает скругление, но ослабляет степень сглаживания.
Модель воздушного шара
Модель воздушного шара [5] решает эти проблемы с помощью модели активного контура по умолчанию:
Змею не привлекают далекие края.
Змея будет сжиматься, если на нее не действуют существенные силы изображения.
змея, которая больше контура минимума, в конечном итоге сожмется в нем, но змея, которая меньше контура минимума, не найдет минимумы и вместо этого продолжит сжиматься.
Модель воздушного шара вводит член инфляции в силы, действующие на змею.
где — нормальный единичный вектор кривой при , а — величина силы. должен иметь ту же величину, что и коэффициент нормализации изображения , и быть меньше по значению, чтобы позволить силам на краях изображения преодолеть силу инфляции.
При использовании модели воздушного шара возникают три проблемы:
Вместо того чтобы сжиматься, змея расширяется в минимумы и не найдет контуров минимумов меньше себя.
Внешняя сила заставляет контур быть немного больше, чем фактические минимумы. Это можно решить, уменьшив силу шара после того, как будет найдено устойчивое решение.
Сила инфляции может превзойти силы, создаваемые слабыми краями, что усугубляет проблему, связанную с игнорированием змеями более слабых деталей на изображении.
Модель диффузионных змей
Модель диффузионной змеи [7] учитывает чувствительность змей к шуму, помехам и окклюзии. Она реализует модификацию функционала Мамфорда-Шаха и его предела мультипликации и включает статистические знания о форме. Функционал энергии изображения по умолчанию заменяется на
где основано на модифицированном функционале Мамфорда-Шаха
где - кусочно-гладкая модель изображения области . Границы определяются как
где — квадратичные базисные функции B-сплайна, а — контрольные точки сплайнов. Модифицированный мультипликационный предел получается как и является допустимой конфигурацией .
Функционал основан на обучении по бинарным изображениям различных контуров и контролируется по силе параметром . Для гауссовского распределения векторов контрольных точек со средним вектором контрольных точек и ковариационной матрицей квадратичная энергия, соответствующая гауссовой вероятности, равна
Сила этого метода зависит от силы обучающих данных, а также от настройки модифицированного функционала Мамфорда-Шаха. Разные змеи потребуют разных обучающих наборов данных и настроек.
Геометрические активные контуры
Геометрический активный контур, или геодезический активный контур (GAC) [8] или конформные активные контуры [9] используют идеи из эволюции сокращения евклидовой кривой . Контуры разделяются и сливаются в зависимости от обнаружения объектов на изображении. Эти модели в значительной степени вдохновлены наборами уровней и широко используются в медицинских вычислениях изображений .
Например, уравнение эволюции кривой градиентного спуска GAC имеет вид [8]
где — функция остановки, c — множитель Лагранжа, — кривизна, а — единичная внутренняя нормаль. Эта конкретная форма уравнения эволюции кривой зависит только от скорости в нормальном направлении. Поэтому ее можно эквивалентно переписать в эйлеровой форме, вставив в нее функцию набора уровня следующим образом
Эта простая, но мощная реформация набора уровней позволяет активным контурам обрабатывать изменения топологии во время эволюции кривой градиентного спуска. Она вдохновила огромный прогресс в смежных областях, и использование численных методов для решения реформации набора уровней теперь широко известно как метод набора уровней . Хотя метод набора уровней стал довольно популярным инструментом для реализации активных контуров, Ван и Чан утверждали, что не все уравнения эволюции кривых должны решаться им напрямую . [10]
Более поздние разработки в области активных контуров касаются моделирования региональных свойств, внедрения гибких априорных данных формы и полностью автоматической сегментации и т. д.
Статистические модели, объединяющие локальные и глобальные особенности, были сформулированы Лэнктоном и Алленом Танненбаумом . [11]
Отношения к графическим разрезам
Graph cuts или max-flow/min-cut — это общий метод минимизации определенной формы энергии, называемой энергией случайного поля Маркова (MRF). Метод Graph cuts также применялся к сегментации изображений, и иногда он превосходит метод набора уровней, когда модель представляет собой MRF или может быть аппроксимирована MRF.
^ ab Kass, M.; Witkin, A .; Terzopoulos, D. (1988). "Snakes: Active contour models" (PDF) . International Journal of Computer Vision . 1 (4): 321. CiteSeerX 10.1.1.124.5318 . doi :10.1007/BF00133570. S2CID 12849354. Архивировано из оригинала (PDF) 2016-01-12 . Получено 2015-08-29 .
^ Доктор Джордж Бебис, Университет Невады, http://www.cse.unr.edu/~bebis/CS791E/Notes/DeformableContours.pdf
^ Понимание изображений , Брайан С. Морзе, Университет имени Бригама Янга, 1998–2000 http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/MORSE/iu.pdf
^ abc Cohen, Laurent D. (1991). «Об активных контурных моделях и воздушных шарах». CVGIP: Image Understanding . 53 (2): 211– 218. doi :10.1016/1049-9660(91)90028-N.
^ Чэньян Сюй; Принс, Дж. Л. (1997). "Поток градиентных векторов: новая внешняя сила для змей". Труды конференции IEEE Computer Society по компьютерному зрению и распознаванию образов (PDF) . стр. 66–71 . doi :10.1109/CVPR.1997.609299. ISBN0-8186-7822-4. S2CID 980797.
^ Cremers, D.; Schnorr, C.; Weickert, J. (2001). "Diffusion-snakes: Combining statistics shape knowledge and image information in a variational framework". Труды семинара IEEE по вариационным и уровневым методам в компьютерном зрении . Том 50. С. 137–144 . CiteSeerX 10.1.1.28.3639 . doi :10.1109/VLSM.2001.938892. ISBN978-0-7695-1278-5. S2CID 14929019.
^ ab Geodesic Active Contours, В. Каселлес, Р. Киммел, Г. Сапиро http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.21.2196
^ Киченассами, Сатьянад; Кумар, Арун; Олвер, Питер; Танненбаум, Аллен; Йецци, Энтони (1996). «Конформные кривизны потоков: от фазовых переходов к активному зрению». Архив для Rational Mechanics and Analysis . 134 (3): 275– 301. Bibcode : 1996ArRMA.134..275K. doi : 10.1007/BF00379537. S2CID 116487549.
^ Ван, Джуньян; Чан, Кап Лук (2014-07-08). «Активный контур с тангенциальным компонентом». Журнал математической визуализации и зрения . 51 (2): 229– 247. arXiv : 1204.6458 . doi : 10.1007/s10851-014-0519-y. ISSN 0924-9907. S2CID 13100077.
^ Lankton, S.; Tannenbaum, A. (2008). «Локализация активных контуров на основе регионов». IEEE Transactions on Image Processing . 17 (11): 2029– 2039. Bibcode : 2008ITIP...17.2029L. doi : 10.1109/TIP.2008.2004611. PMC 2796112. PMID 18854247 .
Внешние ссылки
Дэвид Янг, март 1995 г.
Змеи: Активные контуры, CVOnline
Активные контуры, деформируемые модели и градиентный векторный поток от Чэньяна Сюй и Джерри Принса, включая загрузку кода
ICBE, Манчестерский университет
Реализация активных контуров и графический интерфейс платформы тестирования
Простая реализация змей от доцента Криса Луенго
Документация MATLAB для activecontour, который сегментирует изображение с помощью активных контуров
Пример кода
Практические примеры различных змей, разработанных Сюй и Принсом
Базовый инструмент для игры со змеями (модели активных контуров) от Тима Кутса, Манчестерский университет
Реализация Matlab для 2D и 3D змеи, включая GVF и силу воздушного шара
Демонстрация Matlab Snake от Криса Бреглера и Малкольма Слэни , Interval Research Corporation.
Демонстрация использования Java
Реализация активных контуров и графический интерфейс платформы тестирования Николая С. и Алекса Блехмана, реализующих «Активные контуры без краев»
Активная сегментация контуров Шона Лэнктона, реализующая «Активные контуры без краев»