Применение алгоритмов построения выпуклой оболочки при анализе изображений микроструктуры металла
Автор: Магдеев Радик Гильфанович, Бактимиров Линар Шамилевич
Журнал: Известия Самарского научного центра Российской академии наук @izvestiya-ssc
Статья в выпуске: 6-2 т.16, 2014 года.
Бесплатный доступ
Проведен сравнительный анализ алгоритмов выделения выпуклой оболочки изображений бинарных объектов, применительно к металлографическим изображениям ферритно-перлитной микроструктуры металлов.
Обработка изображений, алгоритм, выпуклая оболочка, перлит-ферритовая структура
Короткий адрес: https://sciup.org/148203571
IDR: 148203571
Текст научной статьи Применение алгоритмов построения выпуклой оболочки при анализе изображений микроструктуры металла
Бактимиров Линар Шамилевич, аспирант.
E-mail: l.biktimirov@ulstu. ru направлении внутритрубного воздействия [2].
Алгоритмы выделения выпуклой оболочки. Известны работы, в частности [1, 2], в которых предложены алгоритмы нахождения на металлографических изображениях некоторых микроструктурных параметров, например, таких как зернистость и общее отношение феррита к перлиту. Однако для получения большей информации о микроструктуре металла целесообразно исследование более «тонких» характеристик, таких, как параметры вытянутости пятен и вектор направленности зерен перлита. В простейшем случае среднюю вытянутость можно охарактеризовать параметром:
к выт
А , общ
N
Z A n k n n = 1
,
и среднюю направленность вектора перлитных
пятен:
—— kнапр
А , общ
N
Z( aa,)
n = 1
где An - площадь, kn - коэффициент вытянутости (один из примеров конкретизации этого понятия приведен ниже), an - вектор направленности n- го пятна, n = 1, N; Аобщ - общая площадь учитываемых пятен.
Из выражений (1) и (2) видно, что для оп-^— ределения квыт и кнапр необходимо найти коэффициент вытянутости и вектор направленности ддя всех N пятен, имеющихся на изображении. Исследования показали [3], что с точки зрения быстродействия и устойчивости оценок при решении задачи оценивания параметров вытянутости и угла
направленности изображения зерна перлита перспективным является подход, основанный на адаптивной псевдоградиентной адаптации [4]. Однако применение псевдоградиентного алгоритма оценивания указанных параметров эффективно только, если исследуемые перлитные пятна представлены их выпуклыми оболочками (ВО) (рис. 1, где ( x 0 , y o ) – центр тяжести пятна). Выпуклую оболочку пятна на плоском изображении можно определить как наименьший выпуклый многоугольник S, такой, что все точки пятна находятся либо на границе S, либо в его внутренней области [3]. Области, находящиеся между изображением пятна и его ВО, называют заливами.
Таким образом, параметры перлитных пятен можно найти в два этапа: построение выпуклой оболочки перлитных пятен и оценивание параметров k n и a n с помощью псевдоградиент-ных алгоритмов. Известно много алгоритмов выделения ВО, например алгоритм Чана, Киркпатрика, Мелькмана [5], но наибольшую распространенность получили алгоритмы Грэхема [6], Джарвиса [7] и так называемый алгоритм «быстрой выпуклой оболочки» (БВО) [8]. Рассмотрим их эффективность для рассматриваемой задачи.

Рис. 1 . Пример перлитного пятна и его выпуклой оболочки
Алгоритм Грэхема состоит из следующих основных этапов:
-
1) Нахождение минимальной точки объекта ( q мин ) (минимальная точка объекта определяется из условия минимального значения по оси ординат, а если таких точек несколько, то выбирается та, у которой значение по оси абсцисс наименьшее).
-
2) Сортировка точек границ объекта в порядке возрастания полярного угла, измеряемого против часовой стрелки относительно точки q мин
(если полярные углы нескольких точек совпадают, то из них выбирается одна, наиболее удалённая от q мин ).
-
3) Обход Грэхема (в основе которого лежит понятие «левого» и «правого» углов [6]), в результате которого выделяются точки, являющиеся вершинами ВО.
-
4) Соединение найденных вершин.
Пример, демонстрирующий принцип работы алгоритма Грэхема, приведен на рис. 2, где q i – потенциальная точка, q тек – текущая точка, проходящая проверку на «правый» угол, q тек -1 – точка, состоящая в стеке перед проверяемой точкой, р i – точки выпуклой оболочки исследуемого объекта. Как видно из рис. 2, вершины ( q 4 , q 6 , q 7 ), не прошедшие проверку на «правый» угол, не являются вершинами ВО. Вычислительная сложность алгоритма Грэхема не зависит от количества найденных вершин и пропорциональна q log( q ), где q – количество внешних точек пятна .

Алгоритм Джарвиса [6] (также известный как алгоритм «упаковки подарка») по сравнению с алгоритмом Грэхема является более простым и наглядным, и состоит из следующих основных этапов:
-
1) Нахождение минимальной точки объекта q мин (аналогично алгоритму Грэхема).
-
2) Обход Джарвиса [7], который выделяет точки выпуклой оболочки.
-
3) Соединение найденных точек.
Пример, иллюстрирующий принцип обхода Джарвиса, показан на рис.3, где qi – граничные точки исследуемого пятна; pтек – текущая точка обхода Джарвиса, рсл – новая точка обхода Джарвиса, найденная на основе предыдущий по минимуму угла между векторами l и направлением ртек – рсл. Вычислительная сложность алгоритма Джарвиса, в отличие от алгоритма Грэхема, зависит от количества вершин многоугольника (пятна) и пропорциональна qh, где h – количество общих точек пятна и его выпуклой оболочки, что в худшем случае составляет q2.
тельная сложность алгоритма слагается из сложности построения все подмножеств.

Рис. 3 . Пример работы алгоритма Джарвиса
Рис. 4 . Пример работы алгоритма БВО
Алгоритм БВО состоит из следующих основных этапов:
-
1) Выбор двух крайних точек пятна – левой L и правой R, являющихся вершинами ВО. Выбор точек пятна, имеющих наибольшее и наименьшее значение по оси абсцисс (если существуют несколько точек с одинаковыми значениями, то выбирается любая из них с наибольшим (наименьшим) значением).
-
2) Построение прямой, проходящей через точки L и R , и разбиение множества всех точек на два подмножества: расположенных выше и ниже прямой LR соответственно.
-
3) Рассмотрение подмножества точек, расположенных выше прямой LR . Выбор точки p 1 , являющейся наиболее удалённой от прямой LR (если для нескольких точек расстояние до прямой LR одинаково, то выбирается та, у которой угол p 1 LR наибольший). Точка p 1 признается вершиной ВО.
-
4) Построение прямых Lp 1 и p 1 R . Исключение из дальнейшего рассмотрения точек, расположенные справа от прямых, как внутренних точек треугольника p 1 R , не могущих принадлежать ВО.
-
5) Рассмотрение подмножество точек, расположенных слева от прямой Lp 1 , для которого находится точка p 11 , наиболее удаленная от прямой Lp 1 (аналогично п.3). Точка p 11 признается вершиной ВО.
-
6) Для всех последующих образующихся подмножеств проводятся операции, аналогичные п.4 и п.5, пока слева не останется ни одного подмножества, созданного ранее.
-
7) Аналогично пп.3-6 рассматривается подмножество точек, расположенное ниже прямой LR.
Пример, демонстрирующий работу алгоритма Джарвиса, приведен на рис. 4. Вычисли-
В лучшем случае задача разбивается на две равномощные подзадачи, тогда сложность алгоритма определяется рекурсивным уравнением и составляет от 2 q до q 2. Достоинством алгоритма Джарвиса является возможность параллельных вычислений для всех подмножеств точек.
Экспериментальные результаты. Рассмотренные алгоритмы нахождения ВО были исследованы на бинарных изображениях простых фигур (типа звезды) и перлитных пятен. На простых фигурах все алгоритмы показали правильный результат с небольшим различием в быстродействии. На бинарных изображениях реальных объектов – перлитных пятен, полученных из изображений микроструктур металлических трубопроводов, алгоритм Джарвиса и алгоритм БВО выделяют ВО пятна перлита правильно (рис. 5а), в отличие от алгоритма Грэхема (рис. 5б), дающего ошибки выделения ВО. При этом среднее время работы алгоритма Грэхема (≈12 мс) примерно в 1,1 раза меньше, чем у алгоритма БВО и в 1,9 раза меньше, чем у алгоритма Джарвиса (вычисления производились на ПК AMD Athlon II X2 3ГГц с ОЗУ 3Гбайт).

а

б
Рис. 5 . Пример выделения выпуклых оболочек перлитных пятен: а - алгоритмы БВО и Джарвиса, б - алгоритм Грэхема
После нахождения ВО перлитных пятен, необходимо найти их параметры. Исследования показали, что ВО перлитного пятна сильно коррелированна с простой геометрической фигурой - эллипсом, особенно после обработки сглаживающим фильтром, имеющем размер около 10% размера ВО. При этом параметром вытянутости может служить отношение большой и малой полуосей эллипса, а угол вектора направленности соответствует углу направления большей полуоси.
Выбрав изображение эллипса в качестве настраиваемого шаблона S ( a ) ВО S перлитного пятна нужно задать модель подстройки (совмещения) эталона. Например, это может быть модель деформации системы координат, в которой задан эллипс, в частности, содержащая параметры а : угол поворота ф , коэффициенты масштаба k x и k y , параллельный сдвиг h = ( h x , h y ) . Тогда координаты точки ( ху ) на изображении шаблона S ( a ) в соответствии с заданным вектором параметров а = ( hx, hy , ф , k x , ky T будут соответствовать координатам точки на изображении ВО:
~ = x 0 + kx ((x - x 0 )cos ф - k (y - y 0 )sin ф) + hx, ~ = y о + kx((x - x о)sin Ф + k (y - y о )cos ф) + hy, где коэффициент k=ky/kx является оценкой вытянутости, а ф - оценкой направленности перлитного пятна; (х0,уо) — координаты центра поворота, в качестве которого можно выбрать центр тяжести пятна. Указанные параметры могут быть найдены с помощью адаптивных псевдо-градиентных процедур [4]. Поскольку рабочий диапазон этих процедур ограничен [9], целесообразно задать несколько начальных приближений параметров k и ф (а также kx и h ). Исследования показали, что для параметров k и ф в рассматриваемой задаче, как правило, достаточно пяти начальных приближений шаблона (табл. 1).
Таблица 1 . Пример набора эталонов

Сравнение предложенного подхода с другими возможными способами оценки параметров перлитных пятен из работы [10], показало высокую надёжность предлагаемого подхода.
Выводы: в работе исследованы наиболее популярные алгоритмы выделения выпуклой оболочки: Грэхема, Джарвиса и БВО. Показано, что с небольшим различием в быстродействии все алгоритмы уверенно работают на простых изображениях. На реальных бинарных изображениях зерен перлита, полученных из полутоновых изображений поверхностей металлических структур, алгоритм Грэхема делает ошибки при выделении ВО. Алгоритмы Джарвиса и БВО дают правильный результат, но алгоритм Джарвиса существенно медленнее. Таким образом, для рассмотренной задачи с точки зрения быстродействия и точности наиболее приемлемым является алгоритм БВО.
Работа выполнена при финансовой поддержке гранта РФФИ № 13-01-00555 _а.
Список литературы Применение алгоритмов построения выпуклой оболочки при анализе изображений микроструктуры металла
- Гумеров, А.Г. Старение труб нефтепроводов/А.Г. Гумеров, Р.С. Зайнуллин, К.М. Ямалеев, А.В. Росляков. -М.: Недра, 1995. 222 с.
- Виноградова, Л.А. Алгоритм определения соотношения форм фаз в перлите трубных сталей со структурой феррит и перлит/Л.А. Виноградова, Р.Г. Магдеев, Ю.В. Курганова//Ремонт, восстановление, модернизация. 2012. №6. С. 41-45.
- Магдеев, Р.Г. Эффективность идентификации объектов на бинарных изображениях с использованием процедур псевдоградиентной адаптации/Р.Г. Магдеев, А.Г. Ташлинский//Радиотехника. 2014. № 7. C. 96-102.
- Tashlinskii, A.G. Computational expenditure reduction in pseudo-gradient image parameter estimation//Lecture Notes in Computer Science. 2003. Vol. 2658. P. 456-462.
- Садыков, С.С. Алгоритмы определения длины и ширины дискретных площадных объектов/С.С. Садыков, Д.Н. Стародубов//Автоматизация и современные технологии. 2007. № 10. C. 8-12.
- 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.
- 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.
- 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.
- 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.
- Кормен, Т. Алгоритмы. Построение и анализ/Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн. 2-e изд. -М.: Вильямс, 2005. C. 1063-1073.