УДК: 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]. Для тестирования этих методов будет использоваться тестовое изображение (рис.1).
Первым из рассматриваемых методов является оператор Кирша. Этот метод был разработан Русселом А. Киршем в 1971 году [2]. Данный алгоритм основывается на использовании обнаруживающей матрицы (маски), которую последовательно вращают по восьми основным сторонам
Рис. 1. Исходное изображение для обнаружения контуров.
света: север, северо-запад, запад, юго-запад, юг, юго-восток, восток и северо-восток. После исследования Руссел А. Кирш вывел следующие маски для каждой стороны света [3]:
к0 к] к.
-3 -3 5
-3 0 5 AIE =
-3 -3 5
3 5 -3 О -3 -3
N =
5 5 5 -3 0 -3 -3 -3 -3J
COMPUTER SCIENCE | Juvenis scientia 2016 № 6
7
В данном случае величина границы определяется как максимальное значение, которое может быть найдено при помощи маски. Определенная маска помогает направлению выдать максимальную величину. Из этого можно сделать вывод, что маска ко позволяет выделять вертикальные границы, а маска к5 - диагональные. Из масок так же заметно, что последние похожи на первые четыре, но являются их зеркальным отражением по центральной оси используемой матрицы [4].
В ходе обработки тестового изображения, можно получить следующий результат (рис. 2).
Рис. 2. Идентификация контуров оператором Кирша.
Позднее в 1977 году был разработан оператор Робинсона, который, по сути, являлся аналогом метода Кирша, но благодаря использованию коэффициентов о, 1 и 2 стал более простым в реализации. Матрицы, которые использует данный оператор, являются симметричными относительно своих центральных осей, каждая из которых заполнена нулями. Благодаря этому можно использовать лишь первые четыре матрицы, а остальные результаты получить, инвертируя первые. Оператор Робинсона будет выглядеть следующим образом[5]:
Рис. 3. Результат работы оператора Робинсона.
Несмотря на простоту предыдущего оператора, наибольшую популярность в итоге получил детектор границ Канни. Метод впервые был описан в 1983 году ученым Джоном Канни в своей магистерской диссертации. Данный метод превосходит по эффективности своей работы многие современные, даже если и был разработан более тридцати лет назад. Его отличительной особенностью является устранение шума на контурах изображения, что, несомненно, оказывает влияние на конечный результат. Данный алгоритм заключается в выполнении следующих шагов:
• размытие исходного изображения с) с помощью метода Гаусса ^(г, с). ^(г, c)=f(r,c)*G(r,c,6);
• выполнить поиск градиента. Границы намечаются там, где градиент принимает максимальное значение;
• подавление не-максимумов. Только локальные максимумы отмечаются как границы;
• итоговые границы определяются путем подавления всех краев, не связанных с определенными границами.
Результатом работы алгоритма являются контуры на изображении. За счет своих особенностей данный метод мало восприимчив к шуму (рис. 4).
Из матриц следует, что после того, как каждая из них будет последовательно применена к пикселю и его окружению, максимальное значение, которое он получит, будет считаться величиной градиента. Тогда угол градиента можно аппроксимировать как угол линии, заполненной нулями в маске, дающей максимальный отклик.
Как и в предыдущем случае, можно провести обработку исходных изображений (рис. 3).
Рис. 4. Результат работы метода Канни.
Последний метод обнаружения границ цифровых изображений называется Магг-ЫИге^, который был разработан в 1980 году. Он подразумевает под собой обнаружение кривых на всех участках, где наблюдается резкое изменение яркостей групп пикселей. Данный метод является простым и работает при помощи свертки исходного изо-
бражения с LoG-функцией или как быстрая аппроксимация с DoG. При работе метода нули в обратном результате обозначают контуры изображения. Для работы метода необходимо придерживаться следующих шагов алгоритма [6]:
• размытие изображение методом Гаусса;
• применение оператора Лапласа к размытому изображению (часто первые два шага объединены в один);
• производится цикл вычислений и в полученном результате смотрят на смену знака. Если знак изменится с отрицательного на положительный и значение изменится более чем на некоторый заданный порог, то необходимо определить эту точку, как границу;
• Для получения лучших результатов шаг с использованием оператора Лапласа можно выполнить через гистерезис, то есть так, как это реализовано в алгоритме Канни.
Результат работы данного алгоритма на тестовом изображении будет следующим (рис. 5).
Исходя из проведенных исследований, можно сделать вывод о том, что для распознавания механизмов и других объектов, состоящих из криволинейных контуров, в робототехнике эффективнее всего может применяться метод Канни, который позволяет добиться наибольшей резкости границ и высокой детализации. Для выделения линейных контуров объектов, например, в тех случаях, если используются системы технического зрения на конвейерных линиях, наилучшим образом подходит метод Marr-Hildreth, который выделяет даже мелкие линейные контуры на изображениях. Таким образом, в робототехнике могут использоваться все описанные алгоритмы выделений, но каждый из них наиболее эффективен на определенном классе задач, а также нацелен на получение результата определенного качества.
ЛИТЕРАТУРА
1. Аммерал Л. Принципы программирования в машинной графике / Л. Аммерал. М.: Сол Систем, 1992. 665 с.
2. Бутаков Е.А. Обработка изображений на ЭВМ: моногр. / Е.А. Бутаков, В.И. Островский, И.Л. Фадеев. М.: Радио и связь, 1987. 205 с.
3. Прэтт У. Цифровая обработка изображений / У. Прэтт. М.: Мир, 1982. Т. 2. 716 с.
4. Ту Дж. Принципы распознавания образов / Дж. Ту, Р. Гонсалес. М.: Мир, 1978. 764 с.
5. Файн В.С. Опознавание изображений / В.С. Файн. М.: Наука, 2003. 322 с
6. Яншин В. Обработка изображений на языке Си для IBM PC: Алгоритмы и программы / В. Яншин, Г. Калинин. М.: Мир, 1994. 358 с.
Поступила в редакцию 12.11.2016
Рис. 5. Результат работы метода Marr-Hildreth.