Научная статья на тему 'Разработка и реализация алгоритма распознавания трещин на изображениях, полученных при микроскопии'

Разработка и реализация алгоритма распознавания трещин на изображениях, полученных при микроскопии Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
287
69
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АВТОМАТИЗАЦИЯ / РАСПОЗНАВАНИЕ ОБРАЗОВ / ТРЕЩИНА / МИКРОСКОПИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Шагалова Полина Анатольевна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Шагалова Полина Анатольевна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Разработка и реализация алгоритма распознавания трещин на изображениях, полученных при микроскопии»

УДК 004.93

П.А. Шагалова

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

Нижегородский государственный технический университет им. Р.Е. Алексеева

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

Методология / подход: Разработанный алгоритм основан на анализе скелета изображения и применении детектора угловых точек.

Результаты: Разработана и протестирована система обнаружения трещин.

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

Оригинальность / значение: Исследования в области обработки изображений, полученных при микроскопии, позволят повысить эффективность исследований материалов.

Ключевые слова: автоматизация, распознавание образов, трещина, микроскопия.

Микроскопический анализ растрескивания материала - инструмент, используемый для исследования его состава и свойств. Такой подход используется для оценки поврежден-ности металла в задаче определения ресурсных характеристик оборудования [1], при изучении механизма взрывного разрушения горных пород [2], в задачах медицинской диагностики (например, при кристаллографии биологической жидкости [3]). Автоматизация распознавания изображений трещин, полученных при микроскопии исследуемого образца, является важной и перспективной областью, позволяющей повысить эффективность исследований материалов.

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

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

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

где ^ - [1,2,...,Щ ^- количество пикселей в кривой); х(/) - координаты по оси абсцисс пикселей трещины; у(^) - координаты по оси ординат пикселей трещины. Такой способ описания позволяет осуществить хранение и обработку трещин любого вида.

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

(1)

© Шагалова П.А., 2018.

На первом этапе предлагается построить скелет изображения. Скелет изображения, с одной стороны, отражает информацию о трещинах, являющихся искомыми объектами на изображении, а с другой - позволяет рассматривать каждую трещину как функцию, поскольку толщина скелета изображения составляет один пиксель. Построение скелета происходит в три этапа: выполняется бинаризация, применяются операции морфологического открытия и закрытия, исследуется алгоритм утончения. Выбор конкретного алгоритма бинаризации, алгоритма утончения, а также размера фильтра для морфологических операций (при необходимости их применения) определяются спецификой конкретной задачи.

На втором этапе выполняется поиск угловых точек. Угловыми точками называются ключевые точки, в которых сходятся две или более граней (рис. 1).

Рис. 1. Примеры угловых точек

Рис. 2. Структура разработанного программного обеспечения

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

Реализация разработанного алгоритма выполнена на языке C++ с использованием библиотеки OpenCV. Разработанное программное обеспечение включает три основных модуля: модуль бинаризации, модуль утончения, модуль анализа трещин. Структура разработанного программного обеспечения представлена на рис. 2.

Модуль бинаризации содержит реализацию алгоритма Брэдли - адаптивного алгоритма, при котором исходное изображение разбивается на сектора и для каждого из них рассчитывается величина порога бинаризации по формуле

threshold = Im + t, (2)

где Im - среднее значение яркости пикселей рассматриваемого сектора; t - 15% от среднего значения яркости пикселей.

Кроме того, в алгоритме Брэдли для скорости и удобства проведения вычислений используется интегральное изображение. Таким образом, в модуле бинаризации реализованы функции построения интегрального изображения, разбиения изображения на сектора, вычисления значения порога для каждого сектора и бинаризация.

Для утончения изображения в разработанном программном обеспечении был реализован алгоритм Зонг-Суня [4], предполагающий построение скелета удалением из бинаризованного изображения пикселей, удовлетворяющих условиям, определенным в алгоритме. При реализации данного алгоритма были написаны две функции: первая выполняет проверку условий алгоритма, вторая - скелетизацию изображения.

Рис. 3. Пример начального деления скелета на трещины

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

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

Для анализа трещин с целью выявления их угловых точек был выбран подход, описанный в детекторе, основанном на глобальных и локальных свойствах кривизны [5]. Предложенный в детекторе подход заключается в построении для каждой функции-трещины соответствующей функции кривизны и последующем анализе точек экстремума (рис. 4).

Рис. 4. Пример функции и соответствующая ей функция кривизны

Согласно алгоритму, основанному на глобальных и локальных свойствах кривизны: • для каждой функции-трещины рассчитывается функция кривизны по формуле (3):

К

j Дх(д2у(-Д2х(Ду(

[(Дх/) +(Ду/)2]2

(3)

где х/,у/

- координаты i-го пикселя j-й трещины, Дх-

] _ xi+i'

Ду[

j_yt+i yi-i

j

j

Д2х/ = ^xi+i- i-i Д2у] = Щ+1-Щ-1.

2

2

• выполняется поиск экстремумов каждой функции кривизны;

• точки экстремума являются кандидатами в угловые точки;

• для каждой трещины выполняется расчет значения адаптивного порога

Т(Ц) = К

h +L7 + 1

ti+t-u к

(4)

где R - коэффициент; u - точка экстремума функции кривизны; L1+L2 - ширина окрестности с центром в точке u;

• слабые углы, т.е. точки, значение кривизны в которых меньше порогового, отбрасываются.

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

Реализация постобработки изображения включает в себя удаление мелких трещин и объединение трещин, угол между которыми составляет 180 град. (рис. 5).

Рис. 5. Пример разбиения скелета по угловым точкам

-1

2

2

Апробация алгоритма производилась на изображениях микроструктуры поверхности металлов и сплавов, а также биомедицинских изображениях. Для проведения тестирования было отобрано множество из трехсот изображений. В качестве метрик оценки эффективности разрабатываемой системы распознавания трещин с помощью микроскопии были использованы точность (precision) и полнота (recall). Точность работы алгоритма распознавания трещин на изображениях с растрескиванием материала составила 99,2%, полнота 96,7%.

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

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

Библиографический список

1. Андреева, О.В. Модель накопления поврежденности на изображениях микроструктуры поверхности металлов и сплавов на базе клеточных автоматов // Системы управления и информационные технологии. - 2016. - Т. 66. - № 4-1. - С. 114-117.

2. Кочанов, А.Н. Динамика развития трещины в граните при взрывном воздействии // Физика. -2016. - Т. 21. - №3. - С. 795-797.

3. Шабалин, В.Н. Морфология биологических жидкостей человека / В.Н. Шабалин, С.Н. Шато-хина // Хризостом. - 2001. -304 с.

4. Zhang, T.Y. A fast parallel algorithm for thinning digital patterns / T.Y. Zhang, C.Y. Suen // Commun. - 1984. - V. 27. - №. 3. - P. 236-239.

5. Chen He, X. Corner detector based on global and local curvature / X. Chen He, N. Yung // Optical Engineering. - 2008. - V. 47. - №. 5. - P. 1-12.

Дата поступления в редакцию 10.06.2018

P.A. Shagalova

DEVELOPMENT AND IMPLEMENTATION OF AN ALGORITHM FOR CRACKS RECOGNITION IN MICROSCOPY IMAGES

Nizhni Novgorod state technical university n.a. R.E. Alekseev

Purpose: The study focuses on solving the problem of automation of cracks recognition in images obtained from microscope.

Design / methodology / approach: The proposed theoretical framework is based on the use of image skeletonization and corner detector.

Findings: The design and testing of the system for cracks recognition.

Research limitations / implications: Proposed approach is used for automation of microscopy image analyzing. Originality / value: It is possible to conclusion that research in the field of automation of handling of microscopy images will increase efficiency of materials research.

Key words: automation, image recognition, crack, microscopy.

i Надоели баннеры? Вы всегда можете отключить рекламу.