Контекст формы

редактировать

Контекст формы - это дескриптор объекта, используемый в распознавании объекта. Серж Белонги и Джитендра Малик предложили термин в своей статье «Сопоставление с контекстами формы» в 2000 году.

Содержание
  • 1 Теория
  • 2 Использование в сопоставлении форм
  • 3 Подробная информация о реализации
    • 3.1 Этап 1: Поиск списка точек на краях формы
    • 3.2 Этап 2: Вычисление контекста формы
    • 3.3 Этап 3: Вычисление матрицы стоимости
    • 3.4 Этап 4: Нахождение соответствия, которое минимизирует общие затраты
    • 3.5 Шаг 5: Моделирование преобразования
      • 3.5.1 Affine
      • 3.5.2 Тонкая пластина-шлиц
      • 3.5.3 Регуляризованный TPS
    • 3.6 Шаг 6: Расчет формы расстояние
  • 4 Результаты
    • 4.1 Распознавание цифр
    • 4.2 Извлечение на основе сходства силуэтов
    • 4.3 Распознавание 3D-объектов
    • 4.4 Извлечение товарного знака
  • 5 Внешние ссылки
  • 6 Ссылки
Теория

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

hi (k) = # {q ≠ pi: (q - pi) ∈ bin (к)} {\ displaystyle h_ {i} (k) = \ # \ {q \ neq p_ {i} :( q-p_ {i}) \ in {\ t_dv {bin}} (k) \}}h_i (k) = \ # \ {q \ ne p_i: (q - p_i) \ in \ t_dv {bin} (k) \}

определяется как контекст формы pi {\ displaystyle p_ {i}}p_ {i} . Бины обычно считаются однородными в лог-полярном пространстве. Тот факт, что контекст формы является богатым и отличительным дескриптором, можно увидеть на рисунке ниже, на котором показаны контексты формы двух различных версий буквы «A».

Shapecontext.jpg

(a) и (b) - выбранные точки края двух форм. (c) - диаграмма лог-полярных интервалов, используемых для вычисления контекста формы. (d) - контекст формы для точки, отмеченной кружком на (a), (e) - для точки, отмеченной как ромб в (b), и (f) - для треугольника. Как можно видеть, поскольку (d) и (e) являются контекстами формы для двух тесно связанных точек, они очень похожи, в то время как контекст формы в (f) сильно отличается.

Чтобы дескриптор функции был полезным, он должен иметь определенные инварианты. В частности, он должен быть инвариантным к перемещению, масштабированию, небольшим возмущениям и, в зависимости от приложения, вращению. Трансляционная инвариантность естественным образом формирует контекст. Масштабная инвариантность достигается путем нормализации всех радиальных расстояний на среднее расстояние α {\ displaystyle \ alpha}\ alpha между всеми парами точек в форме, хотя также можно использовать среднее расстояние. С помощью экспериментов по сопоставлению наборов синтетических точек эмпирически продемонстрирована устойчивость контекстов формы к деформациям, шуму и выбросам.

Можно обеспечить полную инвариантность вращения в контекстах формы. Один из способов - измерить углы в каждой точке относительно направления касательной в этой точке (поскольку точки выбираются на краях). Это приводит к полностью инвариантному относительно вращения дескриптору. Но, конечно, это не всегда желательно, поскольку некоторые локальные особенности теряют свою различительную способность, если их не измерить относительно того же кадра. Многие приложения фактически запрещают вращательную инвариантность, например отличая «6» от «9».

Использование в сопоставлении формы

Полная система, использующая контексты формы для сопоставления формы, состоит из следующих шагов (которые будут более подробно описаны в Подробности реализации section):

  1. Случайным образом выберите набор точек, лежащих на краях известной формы, и другой набор точек неизвестной формы.
  2. Вычислить контекст формы каждой точки, найденной на шаге 1.
  3. Сопоставьте каждую точку известной формы с точкой неизвестной формы. Чтобы свести к минимуму затраты на сопоставление, сначала выберите преобразование (например, аффинный, шлиц тонкой пластины и т. Д.), Которое искажает края известной формы до неизвестной (по существу, выравнивая два формы). Затем выберите точку на неизвестной форме, которая наиболее близко соответствует каждой деформированной точке известной формы.
  4. Вычислите «расстояние формы» между каждой парой точек на двух формах. Используйте взвешенную сумму контекстного расстояния формы, расстояния до изображения и энергии изгиба (мера того, сколько трансформации требуется для совмещения двух форм).
  5. Чтобы идентифицировать неизвестную форму, используйте классификатор ближайшего соседа для сравнения его расстояния формы с расстояниями формы известных объектов.
Подробная информация о реализации

Шаг 1. Поиск списка точек на краях формы

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

Шаг 2: Вычисление контекста формы

Этот шаг подробно описан в разделе Теория.

Шаг 3: Вычисление матрицы стоимости

Рассмотрим две точки p и q, которые имеют нормализованные гистограммы K-бинов (то есть контексты формы) g (k) и h (k). Поскольку контексты формы представляют собой распределения, представленные в виде гистограмм, естественно использовать статистику критерия χ в качестве «стоимости контекста формы» для сопоставления двух точек:

CS = 1 2 ∑ k = 1 K [ г (К) - час (К)] 2 г (К) + час (К) {\ Displaystyle C_ {S} = {\ frac {1} {2}} \ sum _ {k = 1} ^ {K} {\ frac {[g (k) -h (k)] ^ {2}} {g (k) + h (k)}}}C_S = \ frac {1 } {2} \ sum_ {k = 1} ^ K \ frac {[g (k) - h (k)] ^ 2} {g (k) + h (k)}

Значения этого диапазона от 0 до 1. В дополнение к стоимость контекста формы, может быть добавлена ​​дополнительная стоимость в зависимости от внешнего вида. Например, это может быть мера различия тангенциального угла (особенно полезна при распознавании цифр):

CA = 1 2 ‖ (cos ⁡ (θ 1) sin ⁡ (θ 1)) - (cos ⁡ (θ 2) грех ⁡ (θ 2)) ‖ {\ Displaystyle C_ {A} = {\ frac {1} {2}} {\ begin {Vmatrix} {\ dbinom {\ cos (\ theta _ {1})} {\ sin (\ theta _ {1})}} - {\ dbinom {\ cos (\ theta _ {2})} {\ sin (\ theta _ {2})}} \ end {Vmatrix}}}C_A = \ frac {1} { 2} \ begin {Vmatrix} \ dbinom {\ cos (\ theta_1)} {\ sin (\ theta_1)} - \ dbinom {\ cos (\ theta_2)} {\ sin (\ theta_2)} \ end {Vmatrix}

Это равна половине длины хорды в единичной окружности между единичными векторами с углами θ 1 {\ displaystyle \ theta _ {1}}\ theta _ {1} и θ 2 {\ displaystyle \ theta _ { 2}}\ theta _ {2} . Его значения также находятся в диапазоне от 0 до 1. Теперь общие затраты на сопоставление двух точек могут быть взвешенной суммой двух затрат:

C = (1 - β) CS + β CA {\ displaystyle C = (1 - \ beta) C_ {S} + \ beta C_ {A} \! \,}C = (1 - \ beta) C_S + \ beta C_A \! \,

Теперь для каждой точки p i на первой фигуре и точки q j на второй фигуре вычислите стоимость, как описано, и назовите ее C i, j. Это матрица затрат.

Шаг 4: поиск соответствия, которое минимизирует общую стоимость

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

Теперь однозначное сопоставление p i, которое соответствует каждой точке p i на фигуре 1 и q j на фигуре 2, что минимизирует общую стоимость сопоставления,

H (π) = ∑ i C (pi, q π (i)) {\ displaystyle H (\ pi) = \ sum _ {i} C \ left (p_ {i}, q _ {\ pi (i)} \ right)}H (\ pi) = \ sum_i C \ left (p_i, q _ {\ pi (i)} \ right)

. Это можно сделать за O (N 3) {\ displaystyle O (N ^ {3})}O(N^{3})времени, используя венгерский метод, хотя есть более эффективные алгоритмы. Чтобы иметь надежную обработку выбросов, можно добавить «фиктивные» узлы, которые имеют постоянную, но достаточно высокую стоимость сопоставления с матрицей затрат. Это заставит алгоритм сопоставления сопоставить выбросы с «фиктивным», если нет реального сопоставления.

Шаг 5: Моделирование преобразования

Учитывая набор соответствий между конечным набором точек на двух фигурах, преобразование T: R 2 → R 2 {\ displaystyle T: \ mathbb {R} ^ {2} \ to \ mathbb {R} ^ {2}}{\ Displaystyle T: \ mathbb {R} ^ {2} \ to \ mathbb {R} ^ {2}} можно оценить, чтобы отобразить любую точку из одной формы в другую. Есть несколько вариантов этого преобразования, описанных ниже.

Аффинная

аффинная модель - стандартный выбор: T (p) = A p + o {\ displaystyle T (p) = Ap + o \!}T (p) = Ap + o \! . Решение методом наименьших квадратов для матрицы A {\ displaystyle A}Aи вектора смещения поступательного движения o получается следующим образом:

o = 1 n ∑ i = 1 n (пи - q π (я)), A = (Q + P) t {\ displaystyle o = {\ frac {1} {n}} \ sum _ {i = 1} ^ {n} \ left (p_ { i} -q _ {\ pi (i)} \ right), A = (Q ^ {+} P) ^ {t}}o = \ frac {1} {n } \ sum_ {i = 1} ^ n \ left (p_i - q _ {\ pi (i)} \ right), A = (Q ^ + P) ^ t

Где P = (1 p 11 p 12 ⋮ ⋮ ⋮ 1 pn 1 pn 2) {\ displaystyle P = {\ begin {pmatrix} 1 p_ {11} p_ {12} \\\ vdots \ vdots \ vdots \\ 1 p_ {n1} p_ {n2} \ end {pmatrix}}}P = \ begin {pmatrix} 1 p_ {11} p_ {12} \\ \ vdots \ vdots \ vdots \\ 1 p_ {n1} p_ {n2} \ end {pmatrix} с аналогичным выражением для Q {\ displaystyle Q \!}Q \! . Q + {\ displaystyle Q ^ {+} \!}Q^+\!является псевдообратной из Q {\ displaystyle Q \!}Q \! .

Тонкая шлицевая пластина

Модель тонкая шлицевая пластина (TPS) - наиболее широко используемая модель для преобразований, когда работа с контекстами фигур. Двумерное преобразование можно разделить на две функции TPS для моделирования преобразования координат:

T (x, y) = (fx (x, y), fy (x, y)) {\ displaystyle T (x, y) = \ left (f_ {x} (x, y), f_ {y} (x, y) \ right)}T (x, y) = \ left (f_x (x, y), f_y (x, y) \ right)

, где каждое из ƒ x и ƒ y имеют вид:

е (x, y) = a 1 + axx + ayy + ∑ i = 1 n ω i U (‖ (xi, yi) - (x, y) ‖), {\ displaystyle f (x, y) = a_ {1} + a_ {x} x + a_ {y} y + \ sum _ {i = 1} ^ {n} \ omega _ {i} U \ left ({\ begin {Vmatrix} (x_ {i}, y_ {i}) - (x, y) \ end {Vmatrix}} \ right),}f (x, y) = a_1 + a_xx + a_yy + \ sum_ {i = 1} ^ n \ omega_iU \ left (\ begin {Vmatrix} (x_i, y_i) - (x, y) \ end {Vmatrix} \ right),

и функция ядра U (r) {\ displaystyle U (r) \ !}U(r)\!определяется как U (r) = r 2 log ⁡ r 2 {\ displaystyle U (r) = r ^ {2} \ log r ^ {2} \!}U (r) = r ^ 2 \ log r ^ 2 \! . Точные сведения о том, как найти параметры, можно найти в другом месте, но, по сути, это включает решение линейной системы уравнений. Энергия изгиба (мера того, сколько преобразований необходимо для выравнивания точек) также будет легко получена.

Регуляризованный TPS

Приведенная выше формулировка TPS требует точного совпадения пар точек на двух формах. Для шумных данных лучше всего ослабить это точное требование. Если мы позволим vi {\ displaystyle v_ {i}}v_ {i} обозначать значения целевой функции в соответствующих местах pi = (xi, yi) {\ displaystyle p_ {i} = (x_ { i}, y_ {i})}p_i = (x_i, y_i) (Обратите внимание, что для fx {\ displaystyle f_ {x}}f_ {x} , vi {\ displaystyle v_ {i}}v_ {i} будет x ′ {\ displaystyle x '}x'координата x точки, соответствующей pi {\ displaystyle p_ {i}}p_ {i} и fy {\ displaystyle f_ {y}}f_y это будет координата y, y ′ {\ displaystyle y '}y'), ослабление требования сводится к минимизации

ЧАС [е] = ∑ я знак равно 1 N (vi - е (xi, yi)) 2 + λ I f {\ displaystyle H [f] = \ sum _ {i = 1} ^ {n} (v_ {i} -f (x_ {i}, y_ {i})) ^ {2} + \ lambda I_ {f}}H [f] = \ sum_ {i = 1} ^ n (v_i - f (x_i, y_i)) ^ 2 + \ lambda I_f

где I f {\ displaystyle I_ {f} \!}I_f \! - энергия изгиба, а λ {\ displaystyle \ lambda \!}\ lambda \! называется параметром регуляризации. Эту, которая минимизирует H [ƒ], можно найти довольно просто. Если использовать нормализованные координаты для (xi, yi) и (xi ′, yi ′) {\ displaystyle (x_ {i}, y_ {i}) {\ t_dv {and}} (x '_ {i}, y '_ {i})}(x_i,y_i)\t_dv{ and } (x'_i,y'_i), то масштабная инвариантность сохраняется. Однако, если используются исходные ненормализованные координаты, необходимо нормализовать параметр регуляризации.

Обратите внимание, что во многих случаях, независимо от используемого преобразования, первоначальная оценка соответствий содержит некоторые ошибки, которые могут снизить качество преобразования. Если мы повторяем шаги поиска соответствий и оценки преобразований (то есть повторяя шаги 2–5 с вновь преобразованной формой), мы можем решить эту проблему. Как правило, для получения разумных результатов достаточно трех итераций.

Шаг 6: Вычисление расстояния формы

Теперь расстояние формы между двумя формами P {\ displaystyle P \!}P \! и Q { \ Displaystyle Q \!}Q \! . Это расстояние будет взвешенной суммой трех потенциальных членов:

Расстояние контекста формы : это симметричная сумма затрат сопоставления контекста формы по точкам наилучшего сопоставления:

D sc (P, Q) = 1 N ∑ p ∈ P arg ⁡ min q ∈ QC (p, T (q)) + 1 m ∑ q ∈ Q arg ⁡ min p ∈ PC (p, T (q)) {\ displaystyle D_ {sc} (P, Q) = {\ frac {1} {n}} \ sum _ {p \ in P} \ arg {\ underset {q \ in Q} {\ min}} C (p, T (q)) + { \ frac {1} {m}} \ sum _ {q \ in Q} \ arg {\ underset {p \ in P} {\ min}} C (p, T (q))}D_ {sc} (P, Q) = \ frac {1} {n} \ sum_ { p \ in P} \ arg \ underset {q \ in Q} {\ min} C (p, T (q)) + \ frac {1} {m} \ sum_ {q \ in Q} \ arg \ underset { p \ in P} {\ min} C (p, T (q))

где T ( ·) - это расчетное преобразование TPS, которое сопоставляет точки в Q с точками в P.

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

D ac (P, Q) = 1 n ∑ i = 1 n ∑ Δ ∈ Z 2 G (Δ) [IP (pi + Δ) - IQ (T (q π (i)) + Δ)] 2 {\ displaystyle D_ {ac} (P, Q) = {\ frac {1} {n}} \ sum _ {i = 1} ^ {n} \ sum _ {\ Delta \ i n Z ^ {2}} G (\ Delta) \ left [I_ {P} (p_ {i} + \ Delta) -I_ {Q} (T (q _ {\ pi (i)}) + \ Delta) \ справа] ^ {2}}D_ {ac} (P, Q) = \ frac {1} {n} \ sum_ {i = 1} ^ n \ sum _ {\ Delta \ in Z ^ 2} G (\ Delta) \ left [I_P (p_i + \ Del ta) - I_Q (T (q _ {\ pi (i)}) + \ Delta) \ right] ^ 2

где IP {\ displaystyle I_ {P} \!}I_P \! и IQ {\ displaystyle I_ {Q} \!}I_Q \! - изображения уровня серого (IQ {\ displaystyle I_ {Q} \!}I_Q \! - изображение после деформации) и G {\ displaystyle G \!}G \! - это оконная функция Гаусса.

Стоимость преобразования : Конечная стоимость D be (P, Q) {\ displaystyle D_ {be} (P, Q) \! \,}D_ {be} (P, Q) \! \, измеряет, сколько преобразования необходимо для совмещения двух изображений. В случае TPS это энергия изгиба.

Теперь, когда у нас есть способ вычислить расстояние между двумя фигурами, мы можем использовать ближайший сосед классификатор (k-NN) с расстоянием, определенным как фигура расстояние рассчитывается здесь. Результаты применения этого к различным ситуациям приведены в следующем разделе.

Результаты

Распознавание цифр

Авторы Серж Белонги и Джитендра Малик протестировали свой подход в базе данных MNIST. На данный момент на базе данных протестировано более 50 алгоритмов. База данных содержит обучающий набор из 60 000 примеров и тестовый набор из 10 000 примеров. Частота ошибок для этого подхода составила 0,63% с использованием 20 000 обучающих примеров и 3-NN. На момент публикации этот коэффициент ошибок был самым низким. В настоящее время самый низкий уровень ошибок составляет 0,18%.

Поиск на основе сходства силуэтов

Авторы экспериментировали с базой данных силуэтов MPEG-7, выполняя основной эксперимент CE-Shape-1, часть B, который измеряет производительность поиска на основе сходства. База данных содержит 70 категорий фигур и 20 изображений на каждую категорию фигур. Производительность схемы поиска проверяется путем использования каждого изображения в качестве запроса и подсчета количества правильных изображений в первых 40 совпадениях. Для этого эксперимента авторы увеличили количество точек, взятых из каждой формы. Кроме того, поскольку фигуры в базе данных иногда поворачивались или зеркально отражались, авторы определили расстояние между эталонной формой и формой запроса как минимальное расстояние между фигурой запроса и либо неизмененной ссылкой, либо вертикально перевернутой, либо ссылкой по горизонтали. перевернулся. С этими изменениями они получили коэффициент извлечения 76,45%, что в 2002 году было лучшим.

Распознавание трехмерных объектов

В следующем эксперименте, проведенном с контекстами формы, участвовали 20 обычных предметов домашнего обихода из Колумбийской библиотеки изображений объектов (COIL-20). Каждый объект имеет 72 представления в базе данных. В эксперименте метод был обучен на нескольких равноотстоящих представлениях для каждого объекта, а оставшиеся представления использовались для тестирования. Использовался классификатор 1-НН. Авторы также разработали алгоритм редактирования, основанный на подобии контекста формы и кластеризации k-medoid, который улучшил их производительность.

Поиск товарного знака

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

Внешние ссылки
Ссылки
  1. ^ S. Белонги и Дж. Малик (2000). «Согласование с контекстами формы». Семинар IEEE по доступу к библиотекам изображений и видео на основе содержимого (CBAIVL-2000). doi : 10.1109 / IVL.2000.853834.
  2. ^ S. Belongie; Дж. Малик и Дж. Пузича (апрель 2002 г.). «Сопоставление форм и распознавание объектов с использованием контекстов форм» (PDF). IEEE Transactions по анализу шаблонов и машинному анализу. 24 (4): 509–521. doi : 10.1109 / 34.993558.
  3. ^ С. Belongie; Дж. Малик и Дж. Пузича (июль 2001 г.). «Соответствующие формы» (PDF). Восьмая международная конференция IEEE по компьютерному зрению (июль 2001 г.)
  4. ^ С. Belongie; Дж. Малик и Дж. Пузича (2000). «Контекст формы: новый дескриптор для сопоставления формы и распознавания объектов» (PDF). NIPS 2000.
  5. ^Х. Чуй и А. Рангараджан (июнь 2000 г.). «Новый алгоритм нежесткого сопоставления точек». CVPR. 2 . С. 44–51. doi : 10.1109 / CVPR.2000.854733.
  6. ^R. Йонкер и А. Волгенант (1987). «Кратчайший алгоритм увеличения пути для плотных и разреженных задач линейного назначения». Вычислительная техника. 38 (4): 325–340. doi : 10.1007 / BF02278710.
  7. ^M.J.D. Пауэлл (1995). «Метод тонкой пластины сплайна для преобразования кривых в кривые в двух измерениях». Вычислительные методы и приложения (CTAC '95). doi : 10.1142 / 9789814530651.
  8. ^Дж. Дюшон (1977). "Сплайны, минимизирующие инвариантные относительно вращения полунормы в пространствах Соболева". Конструктивная теория функций многих переменных. Конспект лекций по математике. 571 : 85–100. doi : 10.1007 / BFb0086566. ISBN 978-3-540-08069-5.
  9. ^G. Вахба (1990). Сплайновые модели для данных наблюдений. Soc. Промышленная и прикладная математика.
  10. ^Ковсари, Камран; Хейдарисафа, Моджтаба; Браун, Дональд Э.; Мейманди, Киана Джафари; Барнс, Лаура Э. (2018-05-03). «RMDL: случайное многомодельное глубокое обучение для классификации». Материалы Международной конференции по информационным системам и интеллектуальному анализу данных 2018 г. arXiv : 1805.01890. Bibcode : 2018arXiv180501890K. doi : 10.1145 / 3206098.3206111.
  11. ^С. Жаннин и М. Бобер (март 1999 г.). «Описание основных экспериментов для движения / формы MPEG-7. Технический отчет ISO / IEC JTC 1 / SC 29 / WG 11 MPEG99 / N2690, MPEG-7, Сеул». Для цитирования журнала требуется | journal =()
Последняя правка сделана 2021-06-08 03:39:33
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте