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 мс Заключение Разработан алгоритм поиска параметрических кривых на изображениях. Алгоритм легко настраивается на поиск любых параметрических кривых. Особенностью алгоритма является векторизация изображения, быстрый рандомизированный анализ кривых, детальный анализ с помощью регуляризирующих МНК и верификация на основе Хи-квадрат. Эти особенности обеспечивают высокую скорость, точность и надежность алгоритма. Спасибо за внимание!