УДК 004.932.2
ПРИМЕНЕНИЕ АЛГОРИТМОВ ПОСТРОЕНИЯ ВЫПУКЛОЙ ОБОЛОЧКИ ПРИ АНАЛИЗЕ ИЗОБРАЖЕНИЙ МИКРОСТРУКТУРЫ МЕТАЛЛА
© 2014 Р.Г. Магдеев, Л.Ш. Биктимиров Ульяновский государственный технический университет Поступила в редакцию 02.12.2014
Проведен сравнительный анализ алгоритмов выделения выпуклой оболочки изображений бинарных объектов, применительно к металлографическим изображениям ферритно-перлитной микроструктуры металлов.
Ключевые слова: обработка изображений, алгоритм, выпуклая оболочка, перлит-ферритовая структура
Большинство исследований микроструктуры трубных малоуглеродистых и низколегированных сталей с ферритно-перлитной структурой проводится на поликристаллических образцах. При этом практически не рассматриваются вопросы связи соотношения форм и размеров фаз перлитных зёрен с долговечностью материала. Распределение фаз зерен и их форма отражают структуру металла, в частности, наличие смешанных форм фаз говорит о том, что в металле существуют дефекты структуры. Известно [1], что в любом материале идут два разных физических процесса - неупругая деформация и разрушение. На макроскопическом уровне разделить эти два процесса невозможно, на нем фиксируются лишь закономерности доминирующего процесса. В зависимости от условий таким процессом может стать и разрушение и неупругая деформация. Под деформацией здесь понимается накопление в материале необратимых сдвигов, но таких, при которых межатомные связи в теле зерна фаз существенно не нарушаются. Деформационное измельчение (фрагментация) фаз сопровождается образованием областей, разделенных малоугловыми и среднеугловыми границами.
В процессе длительной эксплуатации трубопроводов под воздействием динамических, вибрационных колебаний, а также внутритруб-ного давления наблюдается изменение соотношения фазовых составляющих, образование границ зерен перлита деформационного происхождения, следствием чего является появление упорядоченности и вытянутости зерен перлита в
Магдеев Радик Гильфанович, аспирант. E-mail: [email protected] Бактимиров Линар Шамилевич, аспирант. E-mail: [email protected] направлении внутритрубного воздействия [2].
Алгоритмы выделения выпуклой оболочки. Известны работы, в частности [1, 2], в которых предложены алгоритмы нахождения на металлографических изображениях некоторых микроструктурных параметров, например, таких как зернистость и общее отношение феррита к перлиту. Однако для получения большей информации о микроструктуре металла целесообразно исследование более «тонких» характеристик, таких, как параметры вытянутости пятен и вектор направленности зерен перлита. В простейшем случае среднюю вытянутость можно охарактеризовать параметром:
1 N
k выт =~. 1 Ankn Аобщ n=1
(1)
и среднюю направленность вектора перлитных пятен:
k
напр
1 N
X (Апап)
Аобщ n=1
(2)
где An - площадь, ^ - коэффициент вытянутости (один из примеров конкретизации этого понятия
приведен ниже), ап - вектор направленности п-
го пятна, п = 1, N ; Aобщ - общая площадь учитываемых пятен.
Из выражений (1) и (2) видно, что для определения ^ыт и кнапр необходимо найти коэффициент вытянутости и вектор направленности для всех N пятен, имеющихся на изображении. Исследования показали [3], что с точки зрения быстродействия и устойчивости оценок при решении задачи оценивания параметров вытянутости и угла
направленности изображения зерна перлита перспективным является подход, основанный на адаптивной псевдоградиентной адаптации [4]. Однако применение псевдоградиентного алгоритма оценивания указанных параметров эффективно только, если исследуемые перлитные пятна представлены их выпуклыми оболочками (ВО) (рис. 1, где (хо, у0) - центр тяжести пятна). Выпуклую оболочку пятна на плоском изображении можно определить как наименьший выпуклый многоугольник 8, такой, что все точки пятна находятся либо на границе 8, либо в его внутренней области [3]. Области, находящиеся между изображением пятна и его ВО, называют заливами.
Таким образом, параметры перлитных пятен можно найти в два этапа: построение выпуклой оболочки перлитных пятен и оценивание
параметров кп и ап с помощью псевдоградиентных алгоритмов. Известно много алгоритмов выделения ВО, например алгоритм Чана, Кир-кпатрика, Мелькмана [5], но наибольшую распространенность получили алгоритмы Грэхема [6], Джарвиса [7] и так называемый алгоритм «быстрой выпуклой оболочки» (БВО) [8]. Рассмотрим их эффективность для рассматриваемой задачи.
(если полярные углы нескольких точек совпадают, то из них выбирается одна, наиболее удалённая от дм««).
3) Обход Грэхема (в основе которого лежит понятие «левого» и «правого» углов [6]), в результате которого выделяются точки, являющиеся вершинами ВО.
4) Соединение найденных вершин.
Пример, демонстрирующий принцип работы алгоритма Грэхема, приведен на рис. 2, где д - потенциальная точка, дтек - текущая точка, проходящая проверку на «правый» угол, дтек-1-точка, состоящая в стеке перед проверяемой точкой, р1 - точки выпуклой оболочки исследуемого объекта. Как видно из рис. 2, вершины (д4,д6,д7), не прошедшие проверку на «правый» угол, не являются вершинами ВО. Вычислительная сложность алгоритма Грэхема не зависит от количества найденных вершин и пропорциональна д log(g), где д - количество внешних точек пятна.
У
р6 Я-тек 5 — Ятек-1
Ямин Ро
X
Рис. 1. Пример перлитного пятна и его выпуклой оболочки
Алгоритм Грэхема состоит из следующих основных этапов:
1) Нахождение минимальной точки объекта (дмин) (минимальная точка объекта определяется из условия минимального значения по оси ординат, а если таких точек несколько, то выбирается та, у которой значение по оси абсцисс наименьшее).
2) Сортировка точек границ объекта в порядке возрастания полярного угла, измеряемого против часовой стрелки относительно точки дмин
Рис. 2. Пример алгоритма Грэхема
Алгоритм Джарвиса [6] (также известный как алгоритм «упаковки подарка») по сравнению с алгоритмом Грэхема является более простым и наглядным, и состоит из следующих основных этапов:
1) Нахождение минимальной точки объекта дмин (аналогично алгоритму Грэхема).
2) Обход Джарвиса [7], который выделяет точки выпуклой оболочки.
3) Соединение найденных точек.
Пример, иллюстрирующий принцип обхода Джарвиса, показан на рис.3, где д - граничные точки исследуемого пятна; ртек - текущая точка обхода Джарвиса, рсл - новая точка обхода Джарвиса, найденная на основе предыдущий по
минимуму угла между векторами I и направлением ртек - рсл. Вычислительная сложность алгоритма Джарвиса, в отличие от алгоритма Грэхема, зависит от количества вершин многоугольника (пятна) и пропорциональна дк, где к -
0
количество общих точек пятна и его выпуклой оболочки, что в худшем случае составляет д2
0
У
' Р5 — РсА
Pn-i
ЧмиН—р0
P4 — ртек1 —
-■ф4мин>г l
x
тельная сложность алгоритма слагается из сложности построения все подмножеств.
0
У
// \
Рт,/ / "/ /
" /
Д/ / .
/
/
\ \
R
Piiv'/'// /
Ws
Lti________________
РЫ
x
Рис. 3. Пример работы алгоритма Джарвиса
Алгоритм БВО состоит из следующих основных этапов:
1) Выбор двух крайних точек пятна - левой Ь и правой Я, являющихся вершинами ВО. Выбор точек пятна, имеющих наибольшее и наименьшее значение по оси абсцисс (если существуют несколько точек с одинаковыми значениями, то выбирается любая из них с наибольшим (наименьшим) значением).
2) Построение прямой, проходящей через точки Ь и Я, и разбиение множества всех точек на два подмножества: расположенных выше и ниже прямой ЬЯ соответственно.
3) Рассмотрение подмножества точек, расположенных выше прямой ЬЯ. Выбор точки р1, являющейся наиболее удалённой от прямой ЬЯ (если для нескольких точек расстояние до прямой ЬЯ одинаково, то выбирается та, у которой угол р\ЬЯ наибольший). Точка р1 признается вершиной ВО.
4) Построение прямых Ьр1 и рЯ. Исключение из дальнейшего рассмотрения точек, расположенные справа от прямых, как внутренних точек треугольника р1Я, не могущих принадлежать ВО.
5) Рассмотрение подмножество точек, расположенных слева от прямой Ьр1, для которого находится точка р11, наиболее удаленная от прямой Ьр1 (аналогично п.3). Точка р11 признается вершиной ВО.
6) Для всех последующих образующихся подмножеств проводятся операции, аналогичные п.4 и п.5, пока слева не останется ни одного подмножества, созданного ранее.
7) Аналогично пп.3-6 рассматривается подмножество точек, расположенное ниже прямой ЬЯ.
Пример, демонстрирующий работу алгоритма Джарвиса, приведен на рис. 4. Вычисли-
Рис. 4. Пример работы алгоритма БВО
В лучшем случае задача разбивается на две равномощные подзадачи, тогда сложность алгоритма определяется рекурсивным уравнением и составляет от 2q до q2. Достоинством алгоритма Джарвиса является возможность параллельных вычислений для всех подмножеств точек.
Экспериментальные результаты. Рассмотренные алгоритмы нахождения ВО были исследованы на бинарных изображениях простых фигур (типа звезды) и перлитных пятен. На простых фигурах все алгоритмы показали правильный результат с небольшим различием в быстродействии. На бинарных изображениях реальных объектов - перлитных пятен, полученных из изображений микроструктур металлических трубопроводов, алгоритм Джарвиса и алгоритм БВО выделяют ВО пятна перлита правильно (рис. 5а), в отличие от алгоритма Грэхема (рис. 5б), дающего ошибки выделения ВО. При этом среднее время работы алгоритма Грэхема («12 мс) примерно в 1,1 раза меньше, чем у алгоритма БВО и в 1,9 раза меньше, чем у алгоритма Джарвиса (вычисления производились на ПК AMD Athlon II X2 3ГГц с ОЗУ 3Гбайт).
l
а
параметров к и ф (а также кх и к ). Исследования показали, что для параметров к и ф в рассматриваемой задаче, как правило, достаточно пяти начальных приближений шаблона (табл. 1).
Таблица 1. Пример набора эталонов
б
Рис. 5. Пример выделения выпуклых оболочек перлитных пятен: а - алгоритмы БВО и Джарвиса, б - алгоритм Грэхема
После нахождения ВО перлитных пятен, необходимо найти их параметры. Исследования показали, что ВО перлитного пятна сильно коррелированна с простой геометрической фигурой - эллипсом, особенно после обработки сглаживающим фильтром, имеющем размер около 10% размера ВО. При этом параметром вытянутости может служить отношение большой и малой полуосей эллипса, а угол вектора направленности соответствует углу направления большей полуоси.
Выбрав изображение эллипса в качестве настраиваемого шаблона 8(а) ВО 8 перлитного пятна нужно задать модель подстройки (совмещения) эталона. Например, это может быть модель деформации системы координат, в которой задан эллипс, в частности, содержащая параметры а : угол поворота ф, коэффициенты масштаба кх и ку, параллельный сдвиг к =(кх, ку ). Тогда координаты точки (х,у) на изображении шаблона 8(а) в соответствии с заданным вектором
параметров а = (кх, ку, ф, кх, ку будут соответствовать координатам точки на изображении ВО:
~ = хо + кх ((х " хо )с°8 Ф " к (У " Уо >1П Ф) + кх, ~ = Уо + кх ((х " хо )§1П Ф + к (У " Уо )с°8 Ф) + ку,
где коэффициент к=к/кх является оценкой вытя-нутости, а ф - оценкой направленности перлитного пятна; (х0,у0) - координаты центра поворота, в качестве которого можно выбрать центр тяжести пятна. Указанные параметры могут быть найдены с помощью адаптивных псевдоградиентных процедур [4]. Поскольку рабочий диапазон этих процедур ограничен [9], целесообразно задать несколько начальных приближений
Начальное приближение Изображение шаблона
к о Фо
1 00 о
1 2 п + — 6
2 п + — 6
Сравнение предложенного подхода с другими возможными способами оценки параметров перлитных пятен из работы [10], показало высокую надёжность предлагаемого подхода.
Выводы: в работе исследованы наиболее популярные алгоритмы выделения выпуклой оболочки: Грэхема, Джарвиса и БВО. Показано, что с небольшим различием в быстродействии все алгоритмы уверенно работают на простых изображениях. На реальных бинарных изображениях зерен перлита, полученных из полутоновых изображений поверхностей металлических структур, алгоритм Грэхема делает ошибки при выделении ВО. Алгоритмы Джарвиса и БВО дают правильный результат, но алгоритм Джарвиса существенно медленнее. Таким образом, для рассмотренной задачи с точки зрения быстродействия и точности наиболее приемлемым является алгоритм БВО.
Работа выполнена при финансовой поддержке гранта РФФИ № 13-01-00555 а.
СПИСОК ЛИТЕРАТУРЫ:
1. Гумеров, А.Г. Старение труб нефтепроводов / А.Г. Гумеров, Р.С. Зайнуллин, К.М. Ямалеев, А.В. Росляков. - М.: Недра, 1995. 222 с.
2. Виноградова, Л.А. Алгоритм определения соотношения форм фаз в перлите трубных сталей со структурой феррит и перлит/ ЛА. Виноградова, Р.Г. Магдеев, Ю.В. Курганова // Ремонт, восстановление, модернизация. 2012. №6. С. 41-45.
3. Магдеев, Р.Г. Эффективность идентификации объектов на бинарных изображениях с использованием процедур псевдоградиентной адаптации / Р.Г. Магдеев, А.Г. Ташлинский // Радиотехника. 2014. № 7. C. 96-102.
4. Tashlinskii, A.G. Computational expenditure reduction in pseudo-gradient image parameter estimation // Lecture Notes in Computer Science. 2003. Vol. 2658. P. 456-462.
5. Садыков, С.С. Алгоритмы определения длины и ширины дискретных площадных объектов / С.С. Садыков, Д.Н. Стародубов // Автоматизация и современные технологии. 2007. № 10. C. 8-12.
6. Graham, R.L. An efficient algorithm for determining the convex hull of a finite planar set // Information Processing Letters. 1972. Vol. 1. P. 132-133.
7. Jarvis, A. On the identification of the convex hull of a finite set of points in the plane // Information Processing Letters. 1973. Vol. 2. P. 18-21.
8. Barber, C.B. The quickhull algorithm for convex hulls / C.B. Barber, D.P. Dobkin, H. Huhdanpaa // ACM Transactions on Mathematical Software. 1996. Vol. 22(4). P. 469-483.
9. Magdeev, R.G., Tashlinskii A.G. A comparative analysis of the efficiency of the stochastic gradient approach to the identification of objects in binary images // Pattern recognition and image analysis. 2014. Vol. 24. №. 4. P. 535-541.
10. Кормен, Т. Алгоритмы. Построение и анализ / Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн. 2-e изд. - М.: Вильямс, 2005. C. 1063-1073.
APPLICATION OF THE CONVEX HULL CONSTRUCTION ALGORITHMS FOR METAL MICROSTRUCTURE IMAGE
ANALYSIS
© 2014 R.G. Magdeev, L. Sh. Biktimirov Ulyanovsk State Technical University
The paper provides a comparative analysis of methods for the isolation of the convex hull of the binary objects' images with respect to metallographic images of ferrite-pearlite microstructure of metals.
Key words: image processing, algorithm, convex hull, ferrite-pearlite structure
Radik Magdeev, Post-graduate Student. E-mail: [email protected] Linar Baktimirov, Post-graduate Student. E-mail: [email protected]