Transcript Document

Московский Государственный Университет им. Ломоносова
Факультет вычислительной математики и кибернетики
Лаборатория математических методов обработки изображений
Поиск параметрических
кривых на изображениях
Левашов Алексей Евгеньевич
Юрин Дмитрий Владимирович
[email protected],
[email protected]
Поиск параметрических кривых на
изображениях
Алгоритм:
 Детектор граничных линий
 Утоньшение линий
 Удаление точек ветвления
 Сбор линий в списки (векторизация)
 Анализ списков
Быстрая (рандомизированная) проверка
гипотезы
 Детальная проверка гипотезы и уточнение
параметров

Детектор граничных линий


В работе используется алгоритм Канни для
изображений в оттенках серого и Дизензо-Кумани
для цветных изображений.
Вычисление производных через свертки с Гауссом
и подавление немаксимальных точек с линейной
интерполяцией приводят к границам с малым
числом разрывов и почти везде единичной ширины
Утоньшение граничных линий
Для гарантии единичной ширины граничных
линий применяется алгоритм
(Zhang, Suen, 1984).
 Это алгоритм математической морфологии
подобный морфологическому сжатию, но не
съедающий концы линий.
 Так как линии почти везде шириной в 1
пиксель, требуется всего несколько
итераций

Удаление точек ветвления
(a )2

B ( P1 )
( b ) A ( P1 )
 1
 P4
 P6
( c ) P2
( d ) P4
 P6
 P8

6

0

0
 Упрощается
структура данных:
от планарного графа => к списку кривых
 Вблизи точек ветвления детектор границ
дает наибольшую и слабо предсказуемую
погрешность, что может дать ошибочно
отрицательный вывод о модели
(c
(d
'
) P2
'
) P2
 P4
 P6
 P8
 P8


0
0
Сбор граничных линий в списки
Граничные точки собираются в виде списка
кривых, а кривые – в виде списка точек.
 Контейнер представляет собой массив
указателей на массивы размером по 65536
(=216 ) элементов.
 В этой единой для задачи структуре данных
образуются списки.
 Потом данные переупорядочиваются inplace
чтобы обеспечить до них доступ как до
абстрактного массива, что удобно на стадии
случайных тестов, разбиений на фрагменты,
МНК и хи-квадрат .

Анализ списков

Анализ линий выполняется сначала для
целой линии, если подгонка ее ни к
одной модели невозможна, то она
разбивается на фрагменты, и каждый
анализируется отдельно и т.д.
рекурсивно, пока длина фрагмента
выше пороговой.
Анализ списков. Быстрая проверка
гипотезы
В каждой точки границы доступна
информация - координаты и
направление нормали (градиента
яркости). Т.о., кривая определяется
минимум N точками: прямая - 1 точкой,
окружность – 2, эллипс – 3 и т.д.
 Проверка соответствия фрагмента
модели осуществляется по нескольким
случайным сбросам из N+1 точек, где
дополнительная точка контрольная.

Анализ списков

Если контрольная точка лежит в
пределах параметрической кривой,
делается некоторое количество
дополнительных случайных сбросов,
если и они принадлежат кривой, то по
всем точкам кривой параметры модели
находятся методом наименьших
квадратов с регуляризацией на основе
SVD. Достоверность гипотезы
определяется на основе критерия χ2.
Анализ списков. Расширение
сегмента.

После выбора достоверной гипотезы
для текущего сегмента линии, сегмент
расширяется путем добавления к нему
точек лежащих вблизи найденной
параметрической кривой.
Примеры работы и вычислительные
эксперименты
Все эксперименты сделаны на
процессоре Intel Core 2 Duo 2.00 MHz.
 Оперативной памяти 2 Гб.

Результаты
1024 x 1024.
Edge Detector 710 мс
Утоншение 340 мс
Анализ 70 мс
Всего 1120 мс
Результаты
1024 x 1024.
Edge Detector 710 мс
Утоншение 340 мс
Анализ 70 мс
Всего 1120 мс
Результаты
381 x 381.
Edge Detector 80 мс
Утоншение 10 мс
Анализ 10 мс
Всего 100 мс
Результаты
381 x 381.
Edge Detector 80 мс
Утоншение 10 мс
Анализ 10 мс
Всего 100 мс
Результаты
1108x 1108.
Edge Detector 660 мс
Утоншение 330 мс
Анализ 70 мс
Всего 1060 мс
Результаты
1108x 1108.
Edge Detector 660 мс
Утоншение 330 мс
Анализ 70 мс
Всего 1060 мс
Результаты
559 x 559.
Edge Detector 180 мс
Утоншение 80 мс
Анализ 20 мс
Всего 280 мс
Результаты
1000x 667. Edge Detector 360 мс. Утоншение 160 мс. Анализ 30 мс
Всего 550 мс
Результаты
1000x 667. Edge Detector 360 мс. Утоншение 160 мс. Анализ 30 мс
Всего 550 мс
Результаты
375x486. Edge Detector 100 мс. Утоншение 40 мс. Анализ 20 мс
Всего 160 мс
Результаты
375x486. Edge Detector 100 мс. Утоншение 40 мс. Анализ 20 мс
Всего 160 мс
Заключение
Разработан алгоритм поиска
параметрических кривых на изображениях.
 Алгоритм легко настраивается на поиск
любых параметрических кривых.
 Особенностью алгоритма является
векторизация изображения, быстрый
рандомизированный анализ кривых,
детальный анализ с помощью
регуляризирующих МНК и верификация на
основе Хи-квадрат.
 Эти особенности обеспечивают высокую
скорость, точность и надежность алгоритма.

Спасибо за внимание!