Muthukrishnan R, Radha M. — Алгоритмы выделения контуров для сегментации изображений. Обработка и распознавание изображений в системах превентивной безопасности: Учебное пособие

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

Робертс для контрастирования и выделения перепадов предложил следующую простую нелинейную операцию двумерного дискретного дифференцирования:

.(17.4.10)

Другая операция пространственного дифференцирования, требующая меньшего объема вычислений, определяется формулой

Можно легко показать, что

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


Рис. 17.4.8. Примеры выделения перепадов с помощью детекторов Робертса.

Собел предложил использовать для контрастирования нелинейный оператор с окном из элементов. На рис. 17.4.9 показаны использованные им обозначения элементов окна. Для контрастирования перепадов вычисляется величина

, (17.4.13а)

Величины - яркости элементов окна, показанного на рис. 17.4.9. Результаты обнаружения перепадов с помощью оператора Собела приведены на рис. 17.4.10.

Другой нелинейный оператор с таким же окном из элементов для контрастирования перепадов предложен Киршем .

Рис. 17.4.9. Обозначение элементов для операторов выделения перепадов c окном размером .

Этот оператор определяется следующим выражением:

, (17.4.14а)

, (17.4.14б)

Индексы у слагаемых подсчитываются по модулю 8. По существу оператор Кирша дает максимальное значение курсового градиента в некоторой точке изображения без учета значения . Примеры обнаружения перепадов с помощью оператора Кирша приведены на рис. 17.4.11.

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

или, что эквивалентно,

. (17.4.15б)

Сравнение с верхним и нижним пороговыми значениями эквивалентно сравнению дроби в скобках выражения (17.4.156) с видоизмененным порогом. Поэтому не требуется точно вычислять значения логарифмов. Основное преимущество логарифмического детектора перепадов кроме простоты вычислений состоит в том, что он не чувствителен к мультипликативным изменениям уровня яркости. Рис. 17.4.12 иллюстрирует работу логарифмического детектора перепадов.

Рис. 17.4.10. Примеры выделения перепадов с помощью оператора Собела.

Рис. 17.4.11. Примеры выделения перепадов с помощью оператора Кирша.

Логарифмический метод контрастирования, определяемый выражением (17.4.15), можно рассматривать как линейное контрастирование с помощью оператора Лапласа (17.4.5а) изображения, уровни элементов которого равны логарифмам яркостей. Другие методы контрастирования также можно легко представить в виде последовательности нелинейных поэлементных операций с дальнейшим линейным контрастированием перепадов и пороговым ограничением.

Рис. 17.4.12. Примеры выделения перепадов с помощью логарифмического оператора Лапласа.

Нелинейный метод повышения контраста и выделения перепадов, основанный на вычислении произведения набора некоторых величин, разработал Розенфельд . В этом методе используется оператор построчного одномерного усреднения. Текущее среднее

где и - целое, вычисляется для каждого элемента изображения. Эта операция выполняется для вплоть до некоторого желаемого верхнего предела. Затем для каждого элемента изображения вычисляется произведение

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

Рис. 17.4.13. Примеры обычного порогового ограничения и ограничения с подавлением доминирующими соседями для случая оператора Собела: а - обычное пороговое ограничение; б - увеличенный участок изображения а, содержащий ствол пушки; г - этот же участок при коэффициенте подавления, равном 1,5; г - этот же участок при коэффициенте подавления, равном 1,2.

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

Кроме того, Розенфельд предложил нелинейную процедуру порогового ограничения для выделения больших отчетливых перепадов, находящихся в окружении более мелких. Эта процедура, которую в дальнейшем будем называть «подавлением доминирующими соседями», выполняется сканированием поля контрастированных перепадов окном малых размеров. Значение в центре окна подавляется (приравнивается нулю) всякий раз, когда оно не оказывается наибольшим из всех отсчетов в этом окне. Затем выполняется обычное пороговое ограничение. Другой вариант такой обработки состоит в том, что подавление разрешается лишь в случае, если в окне имеются элементы, значения которых намного превышают значения . Алгоритм подавления доминирующими соседями с последующим пороговым ограничением оказывается довольно эффективным при обнаружении перепадов, если его объединить с методом контрастирования, обеспечивающим некоторое сглаживание шума. На рис. 17.4.13 приведены примеры, иллюстрирующие работу алгоритма подавления доминирующими соседями с последующим пороговым ограничением.

Kirsch compass masks are yet another type of derivative mask which are used for edge detection. This operator is also known as direction mask. In this operator we take one mask and rotate it in all the eight compass directions to get edges of the eight directions.

We are going to use OpenCV function filter2D to apply Kirsch operator to images. It can be found under Imgproc package. Its syntax is given below −

Filter2D(src, dst, depth , kernel, anchor, delta, BORDER_DEFAULT);

The function arguments are described below −

Sr.No. Argument
1

It is source image.

2

It is destination image.

3

It is the depth of dst. A negative value (such as -1) indicates that the depth is the same as the source.

4

It is the kernel to be scanned through the image.

5

It is the position of the anchor relative to its kernel. The location Point (-1, -1) indicates the center by default.

6

It is a value to be added to each pixel during the convolution. By default it is 0.

7

BORDER_DEFAULT

We let this value by default.

Apart from the filter2D() method, there are other methods provided by the Imgproc class. They are described briefly −

Sr.No. Method & Description
1

cvtColor(Mat src, Mat dst, int code, int dstCn)

It converts an image from one color space to another.

2

dilate(Mat src, Mat dst, Mat kernel)

It dilates an image by using a specific structuring element.

3

equalizeHist(Mat src, Mat dst)

It equalizes the histogram of a grayscale image.

4

filter2D(Mat src, Mat dst, int depth, Mat kernel, Point anchor, double delta)

It convolves an image with the kernel.

5

GaussianBlur(Mat src, Mat dst, Size ksize, double sigmaX)

It blurs an image using a Gaussian filter.

6

integral(Mat src, Mat sum)

It calculates the integral of an image.

Example

The following example demonstrates the use of Imgproc class to apply Kirsch operator to an image of Grayscale.

Import org.opencv.core.Core; import org.opencv.core.CvType; import org.opencv.core.Mat; import org.opencv.highgui.Highgui; import org.opencv.imgproc.Imgproc; public class convolution { public static void main(String args) { try { int kernelSize = 9; System.loadLibrary(Core.NATIVE_LIBRARY_NAME); Mat source = Highgui.imread("grayscale.jpg", Highgui.CV_LOAD_IMAGE_GRAYSCALE); Mat destination = new Mat(source.rows(),source.cols(),source.type()); Mat kernel = new Mat(kernelSize,kernelSize, CvType.CV_32F) { { put(0,0,-3); put(0,1,-3); put(0,2,-3); put(1,0-3); put(1,1,0); put(1,2,-3); put(2,0,5); put(2,1,5); put(2,2,5); } }; Imgproc.filter2D(source, destination, -1, kernel); Highgui.imwrite("output.jpg", destination); } catch (Exception e) { System.out.println("Error: " + e.getMessage()); } } }

УДК: 004.932.72Ч ГРНТИ: 28.23.15 DOI: 10.15643/jscientia.2016.6.195

ОПТИМАЛЬНЫЕ АЛГОРИТМЫ ВЫДЕЛЕНИЯ КОНТУРОВ ИЗОБРАЖЕНИЯ В СИСТЕМЕТЕХНИЧЕСКОГО ЗРЕНИЯ

Е. Е. Пелевин*, С. В. Балясный

Тульский государственный университет Россия, 300012, г. Тула, пр-т Ленина, 92 * email: [email protected]

В статье рассматривается вопрос распознавания контуров изображения в робототехнике. В качестве объектов исследования выступают четыре алгоритма идентификации контуров: Кирша, Робинсона, Канни и Marr-Hildreth. С помощью данных алгоритмов, часто применяющихся в современной робототехнике, было проведено исследование по эффективности выделения контуров изображений в системах технического зрения с принимающими на вход различными типами объектов. Результаты проведенных исследований показали, что наиболее эффективным в выделении контуров на изображении является метод Канни. В процессе работы было выявлено, что данный метод позволяет достигнуть высокой резкости, а также детализации. Вторым по эффективности выделения линейных контуров стал метод Marr-Hildreth. Исходя из результатов исследования, можно сделать вывод о том, что существуют наиболее универсальные алгоритмы, но каждый из них по-своему подходит для определенных классов изображений.

Ключевые слова: Кирш, Робинсон, Канни, Marr-Hildreth, оператор, распознавание, контур, робототехника, система технического зрения (СТЗ).

OPTIMAL ALGORITHM OF EDGE DETECTION WITHIN THE SYSTEM OF COMPUTER VISION

E. E. Pelevin*, S. V. Balyasny

Tula State University

Prospect Lenina 92, 300012, Tula, Russia

* email: [email protected]

The article touches upon the edge detection of digital images in robotics. Four algorithms of edge identification singled out by Kirsh, Robinson, Canny and Marr-Hildreth serve as the subject matter of the research. With the help of these algorithms widely used in the modern robotics, the research of efficiency of edge detection of images within the systems of computer vision which accept various input types of objects has been done. The results of the research done have shown that the method of Canny is the most effective in edge detection of images. During the work process, it has been found out that this method allows achieving both high definition and refinement. The method of Marr-Hildreth has become the second efficient method in edging of line contours. Based on the research results, the following conclusion can be drawn: there are more universal algorithms, but each of them differently fits particular classes of images.

Keywords: Kirsh, Robinson, Canny, Marr-Hildreth, operator, edge detection, contour, robotics, computer vision system.

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

В настоящее время существует большое количество различных алгоритмов выделения контуров, но лишь некоторые из них получили широкое распространение, а именно за счет своей универсальности. В этой работе будут рассмотрены наиболее популярные алгоритмы: оператор Кирша, оператор Робинсона, детектор границ Канни и метод Marr-Hildreth . Для тестирования этих методов будет использоваться тестовое изображение (рис.1).

Первым из рассматриваемых методов является оператор Кирша. Этот метод был разработан Русселом А. Киршем в 1971 году . Данный алгоритм основывается на использовании обнаруживающей матрицы (маски), которую последовательно вращают по восьми основным сторонам

Рис. 1. Исходное изображение для обнаружения контуров.

света: север, северо-запад, запад, юго-запад, юг, юго-восток, восток и северо-восток. После исследования Руссел А. Кирш вывел следующие маски для каждой стороны света :

5 5 5 -3 0 -3 -3 -3 -3J

COMPUTER SCIENCE | Juvenis scientia 2016 № 6

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

В ходе обработки тестового изображения, можно получить следующий результат (рис. 2).

Рис. 2. Идентификация контуров оператором Кирша.

Позднее в 1977 году был разработан оператор Робинсона, который, по сути, являлся аналогом метода Кирша, но благодаря использованию коэффициентов о, 1 и 2 стал более простым в реализации. Матрицы, которые использует данный оператор, являются симметричными относительно своих центральных осей, каждая из которых заполнена нулями. Благодаря этому можно использовать лишь первые четыре матрицы, а остальные результаты получить, инвертируя первые. Оператор Робинсона будет выглядеть следующим образом:

Рис. 3. Результат работы оператора Робинсона.

Несмотря на простоту предыдущего оператора, наибольшую популярность в итоге получил детектор границ Канни. Метод впервые был описан в 1983 году ученым Джоном Канни в своей магистерской диссертации. Данный метод превосходит по эффективности своей работы многие современные, даже если и был разработан более тридцати лет назад. Его отличительной особенностью является устранение шума на контурах изображения, что, несомненно, оказывает влияние на конечный результат. Данный алгоритм заключается в выполнении следующих шагов:

Размытие исходного изображения с) с помощью метода Гаусса ^(г, с). ^(г, c)=f(r,c)*G(r,c,6);

Выполнить поиск градиента. Границы намечаются там, где градиент принимает максимальное значение;

Подавление не-максимумов. Только локальные максимумы отмечаются как границы;

Итоговые границы определяются путем подавления всех краев, не связанных с определенными границами.

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

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

Как и в предыдущем случае, можно провести обработку исходных изображений (рис. 3).

Рис. 4. Результат работы метода Канни.

Последний метод обнаружения границ цифровых изображений называется Магг-ЫИге^, который был разработан в 1980 году. Он подразумевает под собой обнаружение кривых на всех участках, где наблюдается резкое изменение яркостей групп пикселей. Данный метод является простым и работает при помощи свертки исходного изо-

бражения с LoG-функцией или как быстрая аппроксимация с DoG. При работе метода нули в обратном результате обозначают контуры изображения. Для работы метода необходимо придерживаться следующих шагов алгоритма :

Размытие изображение методом Гаусса;

Применение оператора Лапласа к размытому изображению (часто первые два шага объединены в один);

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

Для получения лучших результатов шаг с использованием оператора Лапласа можно выполнить через гистерезис, то есть так, как это реализовано в алгоритме Канни.

Результат работы данного алгоритма на тестовом изображении будет следующим (рис. 5).

Исходя из проведенных исследований, можно сделать вывод о том, что для распознавания механизмов и других объектов, состоящих из криволинейных контуров, в робототехнике эффективнее всего может применяться метод Канни, который позволяет добиться наибольшей резкости границ и высокой детализации. Для выделения линейных контуров объектов, например, в тех случаях, если используются системы технического зрения на конвейерных линиях, наилучшим образом подходит метод Marr-Hildreth, который выделяет даже мелкие линейные контуры на изображениях. Таким образом, в робототехнике могут использоваться все описанные алгоритмы выделений, но каждый из них наиболее эффективен на определенном классе задач, а также нацелен на получение результата определенного качества.

ЛИТЕРАТУРА

1. Аммерал Л. Принципы программирования в машинной графике / Л. Аммерал. М.: Сол Систем, 1992. 665 с.

2. Бутаков Е.А. Обработка изображений на ЭВМ: моногр. / Е.А. Бутаков, В.И. Островский, И.Л. Фадеев. М.: Радио и связь, 1987. 205 с.

3. Прэтт У. Цифровая обработка изображений / У. Прэтт. М.: Мир, 1982. Т. 2. 716 с.

4. Ту Дж. Принципы распознавания образов / Дж. Ту, Р. Гонсалес. М.: Мир, 1978. 764 с.

5. Файн В.С. Опознавание изображений / В.С. Файн. М.: Наука, 2003. 322 с

6. Яншин В. Обработка изображений на языке Си для IBM PC: Алгоритмы и программы / В. Яншин, Г. Калинин. М.: Мир, 1994. 358 с.

Для дискретных изображений вычисление частных производных сводится к вычислению перепада яркости соседних пикселей различ ными способами, т. е. фактически к пространственной фильтрации. Например, фильтр Робертса, использующий для определения гра диента яркости минимальное число пикселей, можно представить как f 11(x, y) 2| , где b – весовой коэффициент; L – преобразование оператором Лапла са, причем в данном случае необходимо учитывать знак яркости пик селя после преобразования. В результате яркость пикселей, лежа щих в начале перехода от менее яркой области к более яркой, умень шится, так как результат преобразования Лапласа для этих пиксе лей будет больше нуля. Яркость пикселей, лежащих в конце этого перехода, соответственно, увеличится, так как для них результат преобразования Лапласа будет меньше нуля. В итоге резкость данно го перехода возрастет, что и продемонстрировано на рис. 6.7 для b = 1. Изменяя значение b и выбирая разные маски для оператора Лапласа из (6.3), можно регулировать степень подчеркивания контура. Второй подход можно представить как f 11(x, y) 2 cf 1(x, y) 3 (c 3 1)G , (6.4) где с – весовой коэффициент; G – результат воздействия размываю щего линейного пространственного фильтра, например гауссиана (6.2). Напомним, что в результате применения размывающих филь тров области с постоянной яркостью остаются без изменений, а яр кость пикселей остальных областей на результирующем изображе нии всегда меньше яркости соответствующих пикселей на исходном изображении. Тогда в результате обработки изображения по (6.4) области постоянной яркости сохраняют значения исходного изобра жения, а яркость остальных пикселей увеличится на величину раз мывания с учетом весового коэффициента. 72 7. СЕГМЕНТАЦИЯ ИЗОБРАЖЕНИЙ 7.1. Сегментация бинарных изображений Под сегментацией изображения обычно понимается процесс его раз биения на составные части, имеющие содержательный смысл. Количе ство известных алгоритмов сегментации исчисляется десятками, одна ко большинство из них можно свести к выявлению сходства между от дельными точками изображения с целью нахождения в некотором смыс ле однородных областей. В результате сегментации каждой точке изоб ражения должен быть поставлен в соответствие номер сегмента, к кото рому эта точка отнесена, причем заранее число сегментов неизвестно. Основная сложность проблемы сегментации заключается именно в вы боре и формализации понятия однородности. Сегментация изображения на ряд однородных областей выполня ется согласно правилу связности отдельных элементов и мере одно родности, определяющей сходство связанных элементов друг с дру гом. В качестве элементов могут выступать как отдельные точки, так и их совокупности, объединенные по принципу близости каких либо свойств. В последнем случае сегментация сложного изображе ния превращается в иерархический процесс. Если в качестве харак теристики однородности выбрана яркость, то для дискретного изоб ражения в однородную область группируются связанные пиксели, имеющие одинаковую или близкую яркость. В последнем случае ре зультат сегментации будет определяться выбором уровня порога бли зости. Для бинарных изображений условие близости по яркости три виально и решение о принадлежности пикселя сегменту принимает ся на основе анализа связности. Понятие «связность» пикселей задает формальное правило, опре деляющее, какие пиксели считать соседними. Наиболее часто для каждого пикселя в качестве связанных рассматривается или область из четырех пикселей, примыкающих к нему по строке и столбцу, или область из восьми ближайших пикселей, включающая в себя и диа гональные пиксели из окрестности 3 ´ 3, хотя иногда используются 73 и более сложные определения связно сти . Формально множество пик селей P, образующих сегмент, назы вается восьмисвязным, если между любыми двумя его элементами a и b существует последовательность эле ментов {ek Î P}k = 0,…,K такая, что Рис. 7.1. Определение e0 = a; eK = b и при любом k, 0

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

Введение

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

Процесс обнаружения точных разрывов яркости на изображении называется процессом выделение границ. Разрывы — это резкие изменения в группе пикселей, которые являются границами объектов. Классический алгоритм обнаружения границ задействует свертку изображения с помощью оператора, который основывается на чувствительности к большим перепадам яркости на изображении, а при проходе однородных участков возвращает нуль. Сейчас доступно огромное количество алгоритмов выделения контуров, но ни один из них не является универсальным. Каждый из существующих алгоритмов решает свой класс задач (т.е. качественно выделяет границы определенного типа). Для определения подходящего алгоритма выделения контуров необходимо учитывать такие параметры, как ориентация и структура контура, а также наличие и тип шума на изображении. Геометрия оператора устанавливает характерное направление, в котором он наиболее чувствителен к границам. Существующие операторы предназначены для поиска вертикальных, горизонтальных или диагональных границ. Выделение границ объектов — сложная задача в случае сильно зашумленного изображения, так как оператор чувствителен к перепадам яркости, и, следовательно, шум также будет считать некоторым объектом на изображении. Есть алгоритмы, позволяющие в значительной мере избавиться от шума, но в свою очередь, они в значительной мере повреждают границы изображения, искажая их. А так как большинство обрабатываемых изображений содержат в себе шум, шумоподавляющие алгоритмы пользуются большой популярностью, но это сказывается на качестве выделенных контуров.

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

В данной статье предпринята попытка сделать обзор наиболее популярных алгоритмов выделения контуров для сегментации, а также реализация их в программной среде MATLAB. Второй раздел вводит фундаментальные определения, которые используются в литературе. Третий — предоставляет теоретический и математический и объясняет различные компьютерные подходы к выделению контуров. Раздел четыре предоставляет сравнительный анализ различных алгоритмов, сопровождая его изображениями. Пятый раздел содержит обзор полученных результатов и заключение.

Сегментация изображений

Сегментация изображения — это процесс разделения цифрового изображения на множество областей или наборов пикселей. Фактически, это разделение на различные объекты, которые имеют одинаковую текстуру или цвет. Результатом сегментации является набор областей, покрывающих вместе все изображение, и набор контуров, извлеченных из изображения. Все пиксели из одной области подобны по некоторым характеристикам, таким как цвет, текстура или интенсивность. Смежные области отличаются друг от друга этими же характеристиками. Различные подходы нахождения границ между областями базируются на неоднородностях уровней интенсивности яркости. Таки образом выбор метода сегментации изображения зависит от проблемы, которую необходимо решить.

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

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

Методы сегментации, основанные на обнаружении областей, находят непосредственно резкие изменения значений интенсивности. Такие методы называются граничными методами. Обнаружение границ — фундаментальная проблема при анализе изображений. Техники выделения границ обычно используются для нахождения неоднородностей на полутоновом изображении. Обнаружение разрывов на полутоном изображении — наиболее важный подход при выделении границ.

Алгоритмы выделение границ

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

Обнаружение границ — фундаментальный инструмент для сегментации изображения. Такие алгоритмы преобразуют входное изображение в изображение с контурами объектов, преимущественно в серых тонах. В обработке изображений, особенно в системах компьютерного зрения, с помощью выделения контура рассматривают важные изменения уровня яркости на изображении, физические и геометрические параметры объекта на сцене. Это фундаментальный процесс, который обрисовывает в общих чертах объекты, получая тем самым некоторые знания об изображении. Обнаружение границ является самым популярным подходом для обнаружения значительных неоднородностей.

Граница является местным изменением яркости на изображении. Они, как правило, проходят по краю между двумя областями. С помощью границ можно получить базовые знания об изображении. Функции их получения используются передовыми алгоритмами компьютерного зрения и таких областях, как медицинская обработка изображений, биометрия и тому подобные. Обнаружение границ — активная область исследований, так как он облегчает высокоуровневый анализ изображений. На полутоновых изображениях существует три вида разрывов: точка, линия и граница. Для обнаружения всех трех видов неоднородностей могут быть использованы пространственные маски.

В технической литературе приведено и описано большое количество алгоритмов выделения контуров и границ. В данной работе рассмотрены наиболее популярные методы. К ним относятся: оператор Робертса, Собеля, Превитта, Кирша, Робинсона, алгоритм Канни и LoG-алгоритм.

Оператор Робертса

Оператор выделения границ Робертса введен Лоуренсом Робертсом в 1964 году. Он выполняет простые и быстрые вычисления двумерного пространственного измерения на изображении. Этот метод подчеркивает области высокой пространственной частоты, которые зачастую соответствуют краям. На вход оператора подается полутоновое изображение. Значение пикселей выходного изображения в каждой точке предполагает некую величину пространственного градиента входного изображения в этой же точке.

Оператор Собеля

Оператор Собеля введен Собелем в 1970 году. Данный метод обнаружения границ использует приближение к производной. Это позволяет обнаруживать край в тех местах, где градиент самый высокий. Данный способ обнаруживает количество градиентов на изображении, тем самым выделяя области с высокой пространственной частотой, которые соответствуют границам. В целом это привело к нахождению предполагаемой абсолютной величине градиента в каждой точке входного изображения. Данный оператор состоит из двух матриц, размером 3×3. Вторая матрица отличается от первой только тем, что повернута на 90 градусов. Это очень похоже на оператор Робертса.

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

Оператор Превитта

Обнаружение границ данным оператором предложено Превиттом в 1970 году. Правильным направлением в данном алгоритме была оценка величины и ориентация границы. Даже при том, что выделение границ является весьма трудоемкой задачей, такой подход дает весьма неплохие результаты. Данный алгоритм базируется на использовании масок размером 3 на 3, которые учитывают 8 возможных направлений, но прямые направления дают наилучшие результаты. Все маски свертки рассчитаны.

Оператор Кирша

Обнаружение границ этим методом было введено Киршем в 1971 году. Алгоритм основан на использовании всего одной маски, которую вращают по восьми главным направлениям: север, северо-запад, запад, юго-запад, юг, юго-восток, восток и северо-восток. Маски имеют следующий вид:

Величина границы определена как максимальное значение, найденное с помощью маски. Определенное маской направление выдает максимальную величину. Например, маска k 0 соответствует вертикальной границе, а маска k 5 — диагональной. Можно также заметить, что последние четыре маски фактически такие же, как и первые, они являются зеркальным отражением относительно центральной оси матрицы.

Оператор Робинсона

Метод Робинсона, введенное в 1977, подобен методу Кирша, но является более простым в реализации в силу использования коэффициентов 0, 1 и 2. Маски данного оператора симметричны относительно центральной оси, заполненной нулями. Достаточно получить результат от обработки первых четырех масок, остальные же можно получить, инвертируя первые.

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

Выделение контура методом Marr-Hildreth

Marr-Hildreth (1980) метод — метод обнаружения границ в цифровых изображениях, который обнаруживает непрерывные кривые везде, где заметны быстрые и резкие изменения яркости группы пикселей. Это довольно простой метод, работает он с помощью свертки изображения с LoG-функцией или как быстрая аппроксимация с DoG. Нули в обработанном результате соответствуют контурам. Алгоритм граничного детектора состоит из следующих шагов:

  • размытие изображение методом Гаусса;
  • применение оператора Лапласса к размытому изображению (часто первые два шага объединены в один);
  • производим цикл вычислений и в полученном результате смотрим на смену знака. Если знак изменился с отрицательного на положительный и значение изменения значения более, чем некоторый заданный порог, то определить эту точку, как границу;
  • Для получения лучших результатов шаг с использованием оператора Лапласса можно выполнить через гистерезис так, как это реализовано в алгоритме Канни.

Выделение контура методом LoG

Алгоритм выделения контуров Лаплассиан Гауссиана был предложен в 1982 году. Данный алгоритм является второй производной, определенной как:

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

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

Детектор границ Канни

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

Алгоритм:

  • размытие исходного изображения f(r, c) с помощью функции Гаусса f^(r, c). f^(r, c)=f(r,c)*G(r,c,6);
  • выполнить поиск градиента. Границы намечаются там, где градиент принимает максимальное значение;
  • подавление не-максимумов. Только локальные максимумы отмечаются как границы;
  • итоговые границы определяются путем подавления всех краев, не связанных с определенными границами.

В отличии от операторов Робертса и Собеля, алгоритм Канни не очень восприимчив к шуму на изображении.

Экспериментальные результаты

В данном разделе представлены результаты работы описанных ранее алгоритмов обнаружения границ объектов на изображении.

Все описанные алгоритмы были реализованы в программной среде MATLAB R2009a и протестированы на фотографии университета. Цель эксперимента заключается в получении обработанного изображения с идеально выделенными контурами. Оригинальное изображение и результаты его обработки представлены на рисунке 1.

Рисунок 1 — Оригинальное изображение и результат работы различных алгоритмов выдеоения контуров


При анализе полученных результатов были выявлены следующие закономерности: операторы Робертса, Собеля и Превитта дают очень различные результаты. Marr-Hildreth, LoG и Канни практически одинаково обнаружили контуры объекта, Кирш и Робинсон дали такой же результат. Но наблюдая полученные результаты можно сделать вывод, что алгоритм Канни справляется на порядок лучше других.

Выводы

Обработка изображений — быстро развивающаяся область в дисциплине компьютерного зрения. Ее рост основывается на высоких достижениях в цифровой обработке изображений, развитию компьютерных процессоров и устройств хранения информации.

В данной статье была предпринята попытка изучить на практике методы выделения контуров объектов, основанных на разрывах яркости полутонового изображения. Исследование относительной производительности каждого из приведенных в данной статье методов осуществлялся с помощью программного средства MATLAB. Анализ результатов обработки изображения показал, что такие методы, как Marr-Hildreth, LoG и Канни дают практически одинаковые результаты. Но все же при обработке данного тестового изображения наилучшие результаты можно наблюдать после работы алгоритма Канни, хотя при других условиях лучшим может оказаться другой метод.

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

Список использованной литературы

1. Canny J.F. (1983) Finding edges and lines in images, Master"s thesis, MIT. AI Lab. TR-720.
2. Canny J.F. (1986) A computational approach to edge detection , IEEE Transaction on Pattern Analysis and Machine Intelligence, 8. — P. 679-714.
3. Courtney P, Thacker N.A. (2001) Performance Characterization in Computer Vision: The Role of Statistics in Testing and Design , Chapter in: Imaging and Vision Systems: Theory, Assessment and Applications , Jacques Blanc-Talon and Dan Popescu (Eds.), NOVA Science Books.
4. Hanzi Wang (2004) Robust Statistics for Computer Vision: Model Fitting, Image Segmentation and Visual Motion Analysis, Ph.D thesis, Monash University, Australia.
5. Huber P.J. (1981) Robust Statistics, Wiley New York.
6. Kirsch R. (1971) Computer determination of the constituent structure of biological images , Computers and Biomedical Research, 4. — P. 315–328.
7. Lakshmi S, Sankaranarayanan V. (2010) A Study of edge detection techniques for segmentation computing approaches , Computer Aided Soft Computing Techniques for Imaging and Biomedical Applications. — P. 35-41.
8. Lee K., Meer P. (1998) Robust Adaptive Segmentation of Range Images , IEEE Trans. Pattern Analysis and Machine Intelligence, 20(2). — P. 200-205.
9. Marr D, Hildreth E. (1980) Theory of edge detection , Proc. Royal Society of London, B, 207. — P. 187–217.
10. Marr D. (1982) Vision, Freeman Publishers.
11. Marr P., Doron Mintz. (1991) Robust Regression for Computer Vision: A Review , International Journal of Computer Vision, 6(1). — P. 59-70.
12. Orlando J. Tobias, Rui Seara (2002) Image Segmentation by Histogram Thresholding Using Fuzzy Sets , IEEE Transactions on Image Processing, Vol.11, No.12. — P. 1457-1465.
13. Punam Thakare (2011) A Study of Image Segmentation and Edge Detection Techniques , International Journal on Computer Science and Engineering, Vol 3, No.2. — P. 899-904.
14. Rafael C., Gonzalez, Richard E. Woods, Steven L. Eddins (2004) Digital Image Processing Using MATLAB, Pearson Education Ptd. Ltd, Singapore.
15. Ramadevi Y. (2010) Segmentation and object recognition using edge detection techniques , International Journal of Computer Science and Information Technology, Vol 2, No.6. — P. 153-161.
16. Roberts L. (1965) Machine Perception of 3-D Solids , Optical and Electro-optical Information Processing, MIT Press.
17. Robinson G. (1977) Edge detection by compass gradient masks , Computer graphics and image processing, 6. — P. 492-501.
18. Rousseeuw P. J., Leroy A. (1987) Robust Regression and outlier detection, John Wiley & Sons, New York.
19. Senthilkumaran N., Rajesh R. (2009) Edge Detection Techniques for Image Segmentation — A Survey of Soft Computing Approaches , International Journal of Recent Trends in Engineering, Vol. 1, No. 2. — P. 250-254.
20. Sowmya B., Sheelarani B. (2009) Colour Image Segmentation Using Soft Computing Techniques , International Journal of Soft Computing Applications, Issue 4. — P. 69-80.
21. Umesh Sehgal (2011) Edge detection techniques in digital image processing using Fuzzy Logic , International Journal of Research in IT and Management, Vol.1, Issue 3. — P. 61-66.
22. Yu, X, Bui, T.D. & et al. (1994) Robust Estimation for Range Image Segmentation and Reconstruction , IEEE trans. Pattern Analysis and Machine Intelligence, 16 (5). — P. 530-538.

Понравилось? Лайкни нас на Facebook