Московский государственный университет имени М.В.Ломоносова
Опубликован: 23.04.2007 | Доступ: свободный | Студентов: 3280 / 442 | Оценка: 4.18 / 3.71 | Длительность: 17:54:00
ISBN: 978-5-9556-0098-7
Специальности: Программист
Лекция 9:

Нахождение границ

< Лекция 8 || Лекция 9: 123 || Лекция 10 >
Аннотация: Введение. Поиск границ на основе градиента: анализ длины градиента, учет направления градиента. Поиск границ на основе лапласиана.

9.1. Введение

Как происходит распознавание образов в мозге человека? Этот вопрос давно волнует ученых, поскольку человеческий мозг обладает потрясающей способностью распознавать образы. Хотя этот вопрос и далек от разрешения, ясно, что мозг использует самые разнообразные признаки предмета, такие как цвет, размер, форма, характер текстуры, сочетая их между собой.

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

Как найти предметы той или иной формы на изображении? Для этого надо ответить на вопрос, как форма предмета отображается на изображении. Как правило, актуальная граница предмета на фотографии отображается сильным перепадом яркости ( границей на изображении, далее просто границей ) между двумя сравнительно однотонными областями. Здесь могут быть и исключения (фотография черной кошки в черной комнате или ежика в тумане). Обратное верно в еще меньшей степени: сильный перепад яркости может быть вызван также текстурой предмета, тенями, бликами, перепадами освещенности, соответствующими граням предмета.

Несмотря на то, что между актуальными границами предметов и границами на изображении нет строгого соответствия, знание о том, где на изображении находятся границы, несомненно весьма полезно для распознавания образов и прочих задач компьютерного зрения. В этой лекции мы рассматриваем нахождение границ на изображениях.

9.2. Поиск границ на основе градиента

Анализ длины градиента

Рассмотрим поиск границ на однотонном изображении A, с интенсивностями пикселей A(x, y). В каждом пикселе (x, y) рассмотрим вектор градиента \nabla(x, y) = \left(   {\frac{\partial A}{\partial x}}, {\frac{\partial A}{\partial y}} \right) (производные вычислим при помощи линейной фильтрации, как описано в "Фильтрация изображений" ). Как видно на рис. 9.1, в точках большого перепада яркости градиент имеет большую длину. Это неудивительно, поскольку (частные) производные по определению соответствуют скоростям изменения функции (яркости) по вертикали и горизонтали. Взяв пиксели с соответствующей длиной градиента, большей порога \alpha , мы получим некий алгоритм нахождения границ.

Недостаток алгоритма выявляется сразу при взгляде на рис. 9.1: какое бы значение \alpha мы ни взяли, мы неминуемо пропустим важные границы (спина бурундука) и/или включим в число границ несущественные (волоски на мордочке). Если же мы имеем дело с зашумленным изображением, то карту граничных точек будут загрязнять не только реально существующие, но несущественные детали, но и просто шум. Так произойдет, поскольку в нашем алгоритме мы не учли, что граничные точки соответствуют не просто перепадам яркости, а перепадам яркости между относительно монотонными областями.

Как отделить подобные перепады яркости от перепадов яркости, вызванных шумами и несущественными деталями? Для этого изображение подвергают сглаживающей гауссовской фильтрации ( "Фильтрация изображений" ). Такое решение проблемы, на первый взгляд, парадоксально - для нахождения границ мы их cначала размываем. Данный прием основывается на том, что при сглаживающей фильтрации мелкие несущественные детали будут размываться существенно быстрее перепадов между областями.




Нахождение границ, исходя из длины градиента. 2 верхних рисунка - исходное изображение и длина градиента в каждой точке. 2 нижних - пороговая фильтрация длины градиента для разных значений порога (значения порогов отличаются в два раза).

Рис. 9.1. Нахождение границ, исходя из длины градиента. 2 верхних рисунка - исходное изображение и длина градиента в каждой точке. 2 нижних - пороговая фильтрация длины градиента для разных значений порога (значения порогов отличаются в два раза).


Нахождение границ, исходя из длины градиента после сглаживающей фильтрации. 2 верхних рисунка - исходное изображение после гауссовской фильтрации и длина градиента в каждой точке. Нижний- пороговая фильтрация длины градиента

Рис. 9.2. Нахождение границ, исходя из длины градиента после сглаживающей фильтрации. 2 верхних рисунка - исходное изображение после гауссовской фильтрации и длина градиента в каждой точке. Нижний- пороговая фильтрация длины градиента

Как видно на рис. 9.2, такой подход действительно дает существенно лучшие результаты. В результате, к примеру, выделены граничные точки на спине и не выделены волоски на шкурке. Однако мы видим, что сильнее проявил себя другой недостаток алгоритма: четко выраженные границы проявились как жирные линии в несколько пикселей толщиной. К тому же неопределенность с выбором порога \alpha не преодолена: результат на рис. 9.2 получен при помощи подбора значения \alpha вручную, и, очевидно, такое значение оптимально не для всех частей изображения.

< Лекция 8 || Лекция 9: 123 || Лекция 10 >