Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org Параллельные технологии в задаче идентификации и анализа коррозионной трещины М.Р. Еникеев, И.М. Губайдуллин Институт нефтехимии и катализа РАН В данной работе рассматривается проблема идентификации и анализа дефектов в смежных задачах изучения зарождения коррозионного растрескивания под напряже- нием (КРН), а также использования параллельных вычислений для повышения ско- рости обработки и анализа входных данных для этого типа задач. Приведен анализ экспериментов по коррозионным трещинам. 1. Введение Современное развитие химической промышленности, разработка новых технологических процессов, протекающих в агрессивных средах, предъявляют высокие требования к конструк- ционным материалам. Наиболее важными конструкционными материалами являются металлы и их сплавы. В процессе эксплуатации изделий, вследствие химического или электрохимиче- ского взаимодействия их с окружающей средой происходит коррозия [1]. Процессы коррозии необратимы и часто приводят к отказам различных машин и аппаратов, металлоконструкций, в связи с этим, их необходимо обнаруживать на ранних стадиях, давать количественную оценку коррозионного повреждения, прогнозировать опасность развития в случае непринятия мер по усилению коррозионной защиты. Установление причин коррозион- ного разрушения позволяет правильно выбрать метод защиты. Сложность задачи исследования, сложность и разнообразие коррозионной среды и условий коррозии заставляют разрабатывать систему методов исследования и испытаний, которая по- зволяла бы ответить на поставленные теорией и практикой вопросы. По способу оценки методы исследования коррозии металлов подразделяются на количест- венные и качественные. Среди количественных методов исследования коррозии часто применяют весовой, объем- ный, электрохимический, магнитометрический и другие методы. Одним из главных недостат- ков этих подходов является относительная трудоемкость проведения анализа и невозможность применить эти методы вне лабораторных условий. Качественные методы испытания не дают полной характеристики стойкости металлов, но позволяют установить характер и интенсив- ность коррозионного процесса [2]. С точки зрения визуальных методов оценки, как и большинство природных явлений, кор- розия по существу является сложной и нерегулярной, поэтому морфология и изображения по- верхности, подвергшейся коррозионному разрушению, не могут быть совершенно идентичны- ми даже в случае использования одного и того же материала и коррозионной среды. Еще одна особенность, которая затрудняет анализ коррозии с помощью визуальных методов, – это широ- кое разнообразие объектов для анализа при оценке коррозии. Например, в зависимости от кор- розионной среды, механизма коррозионного процесса, характера дополнительных воздействий на корродирующий металл в процессе его взаимодействия с внешней средой возможны различ- ные процессы образования коррозии: кавитационая коррозия, питтинговая коррозия, коррози- онное растрескивание под напряжением. Критерии анализа на основе изображений для данных процессов будут кардинально отличаться. Таким образом, подведем итоги: изображения прокорродировавшего металла нерегулярны и невоспроизводимы. Разработка математической модели, позволяющей количественно описы- вать процессы на межфазных границах в широком ряду испытательных сред и металлов, и ос- нованной на обработке изображений прокорродировавшей поверхности, даст возможность бо- лее полного использования методов визуального контроля и более глубокого понимания меха- низмов реакций на межфазных границах. Системой, реализующей такую модель, может быть система компьютерного зрения. 595 Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org Для задачи визуального контроля за экспериментом можно выделить общую схему поиска повреждений поверхности: 1) Предварительная обработка изображения. 2) Сегментация изображения. 3) Анализ параметров дефектов Рассмотрим содержание этой подробно для коррозионного растрескивания под напряжени- ем. 2. Задача поиска объектов: питтинговая коррозия Оценка коррозионного растрескивания под напряжением состояло в анализе входных дан- ных в виде изображений трубной стали X70 в различных растворах (рис. 1). В качестве крите- рия оценки трещины на образце стали использовалась фрактальная размерность. Целью обра- ботки серии изображений был поиск взаимосвязи между структурными изменениями трещины и с химическим и механическим воздействием на неё. Рис. 1. Примеры входных данных для трубной стали X70 В качестве предварительной обработки изображения использовались фильтры шумоподав- ления и фильтры повышения контрастности и чёткости. В частности, для повышения четкости использовался метод линейной растяжки гистограммы, который имеет следующий вид: b  255 / (max  min)   a  b * min dst(x, y)  a  b *src(x, y), где a и b – коэффициенты растяжения, max и min – соответственно максимальное и мини- мальное значения яркости на изображении, src и dst – исходное и обработанное изображения соответственно. В качестве фильтра шумоподавления использовался медианный фильтр. Благодаря своим характеристикам медианный фильтр при оптимально выбранной апертуре (размер окна фильт- ра) может сохранять без искажений резкие границы объектов, подавляя некоррелированные и слабо коррелированные помехи и малоразмерные детали. В аналогичных условиях алгоритмы линейной фильтрации неизбежно "размывают" резкие границы и контуры объектов (рис. 2). После проведения операции шумоподавления, поиск трещины для анализа можно осуще- ствлять различными способами. Эта задача сводится к поиску границы на изображении, в дан- ном случае можно наблюдать резкое изменение яркости. Такую задачу можно решать напри- мер, детектором границ Кенни. Так как этот детектор восприимчив к шуму, можно привести входные изображения к бинарному виду, и разделить все входные пиксели изображения на "сигнал" и "шум". Существуют различные подходы к бинаризации, которые условно можно разделить на 2 группы: пороговые и адаптивные. Пороговые методы бинаризации оперируют всем изображе- 596 Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org нием, используя характеристику (порог), позволяющую разделить все изображение на две об- ласти. Адаптивные методы работают с участками изображений и используются при неодно- родном освещении объектов. В нашем случае освещение нельзя назвать неоднородным, поэто- му использовалась пороговая бинаризация. Рис. 2. Применение медианного фильтра. Левое изображение – до применение фильтра, правое – после Для определения оптимального порога бинаризации предложено большое количество раз- личных подходов. Наиболее удачным из них представляется подход Otsu [3], который предпо- лагает не только определение оптимального порога бинаризации, но и вычисление некоторого критерия бимодальности, то есть оценку того, действительно ли исследуемая гистограмма со- держит именно два выраженных пика. Рис. 3. Применение операции бинаризации по Отсу Применение операции бинаризации для входного изображения отображено на рис. 3. Та- ким образом получаем бинарное изображение, которое явным образом задаёт границы объекта. Вот эта совокупность пикселей, составляющих границу объекта и есть контур объекта. Чтобы оперировать полученным контуром, его необходимо как-то представить (закодировать). В дан- ном случае использовался метод, упоминаемый во второй главе данной работы, цепной код Фримена. Выделив контуры на изображении и отфильтровав контуры слишком малого размера, по- лучим искомый профиль трещины (рис. 4). 597 Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org Рис. 4. Профиль трещины после проведения операции распознования Характеристика коррозионного растрескивания велась при помощи фрактального анализа. Для образца стали при растрескивании была рассчитана фрактальная размерность. На рисунке 8 представлен образец стали с выделенной границей, осуществленной с помощью приведенных выше методов, и соответствующая ей рассчитанная фрактальная размерность на рисунке 5. Рис. 5. Фрактальная размерность образца коррозионного растрескивания под напряжением Для образца стали при растрескивании была рассчитана фрактальная размерность. На ри- сунке 6 можно увидеть образец стали с выделенной границей, осуществленной с помощью приведенных выше методов, и соответствующую ей рассчитанную фрактальную размерность на рисунке 6. Обработка серии эккспериментов анализа коррозионного растрескивания трубной стали X70 проводилась для различных раствовров [4]. Таблица 1. Растворы для анализа коррозионного растрескивнаия трубной стали X70 Состав раствора Наименование Скорость Фон + 1мМ Na2S Образец 5 0,18 Фон Образец 17 0,13 Фон + 10 мМ Образец 20 0,62 Mg(H2PO4)2 Фон + 30 мМ NaHCO3 Образец 21 0,14 NS4 + боратный буфер Образец 22 0,4 598 Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org NS4 + 50 мМ Образец 23. 0,62 Mg(H2PO4)2 Фон + 1 мМ Na2S Образец 26 0,17 Целью анализа являлось установление взаимосвязи скорости роста трещины и её фрак- тальной размерности. В первоначальных входных данных, для каждого образца раствора, су- ществовало несколько наборов изображений, различных участков трещины. На рисунке 6 ото- бражены входные данные соответствующие образцу №5. Рис. 6. Пример набора входных данных для образца 5 Был проведен расчет по входным данным для всех представленных образцов, используя алгоритмы распознавания описанные в данной работе. Результат расчета представлен на ри- сунке 7а. Проанализировав данный результат, было предположено, что данная хаотичная "кор- реляция" обусловлена тем, что трещина представляет собой объект, состоящий из трех подъ- обьектов: часть вырезанная лобзиком, усталостная трещина и коррозионная трещина. Для того чтобы получить коррлеяцию между скорость роста трещины и ее фрактальной размерностью, необходимо использовать только участки коррозионной трещины. Как можно заметить из ри- сунка 7б, данные по взаимосвязи можно разделить на два кластера (выделены синим и крас- ным), такое поведение обсуждается, возможно, что оно зависит от раствора, в котрой реаигиру- ет трубная сталь, с другой стороны, с учетом относительно малого количества входных данных, это поведение можно отнести к погрешности получения исходных данных по скорости. Рис. 7. Взаимосвязь скорости роста трещины и её фрактальной размерности а) без учета типа тре- щины, б) учет только коррозионной трещины 4. Параллельные вычисления в процессе работы детектора При решении задачи детектировании пузырьков возникает вопрос о сокращении времени расчетов. Распараллелить решение задачи можно на уровне параллелизма данных [5]. 599 Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org Уровень параллелизма данных Название модели "параллелизм данных" происходит оттого, что параллелизм заключается в применении одной и той же операции к множеству элементов данных. В нашем случае, этой моделью удобно пользоваться для набора кадров. Для параллельной обработки кадров удобно использовать такую технологию программирования, как OpenMP. Уровень распараллеливания алгоритмов Следующий уровень, это распараллеливание отдельных процедур и алгоритмов. Сюда можно отнести алгоритмы фильтрации изображения, обработки, выделения объектов изобра- жения по типам и т. д. На этом уровне абстракций удобно использовать такую технологию, как OpenCV в связке с GPU. Для параллельной обработки GPU модуль OpenCV содержит в себе несколько уровней функциональности. На нижнем уровне находятся реализации служебных операций, таких как инициализация и управление GPU, работа с памятью, механизм асинхронных вызовов. Уров- нем выше реализован широкий набор базовых функций обработки изображений: различные ме- тоды фильтрации, поиск максимума, аффинные преобразования, вычисление разности изобра- жений в различных нормах и т.д. Список этих алгоритмов постоянно обновляется, в целом они призваны облегчить разработку алгоритмов компьютерного зрения самого высокого уровня. В OpenCV контейнером для хранения данных (в том числе изображений) служит класс Mat. По аналогии в GPU модуле реализован класс GpuMat, практически с той же функциональ- ностью, но хранящий данные в видеопамяти. Библиотека OpenCV предоставляет удобные сред- ства обмена информацией между GPU и CPU. Основную часть GPU модуля составляют функ- ции, имеющие интерфейс, идентичный CPU части OpenCV, с тем лишь отличием, что они при- нимают на вход объект типа GpuMat. Программный интерфейс модуля (API) создан макси- мально близким к интерфейсу CPU части OpenCV, что облегчает перенос существующего кода на GPU. Однажды загрузив изображение на видеокарту, можно использовать различные функ- ции обработки, которые будут производиться целиком на видеокарте. Плюсом данного метода является простота реализации и удовлетворительный результат времени ускорения расчета для экспериментатора. В целом для задачи анализа КРН ускорение составило 4.5 раза. Литература 1. Еникеев М.Р., Малеева М.А., Губайдуллин И.М. Исследование механизма развития корро- зионных поражений с использованием компьютерного зрения // Журнал Средневолжского математического общества. 2013. Т. 15. № 3. С. 70-75 2. M. Weisner, J. Ihlemann H.H., Muller, E. Lankenau, G. Huttmann Optical coherence tomography for process control of laser micromachining // Review of Scientific Instuments. 2010, T. 81 №3, 033705. 3. N. Otsu. «A threshold selection method from gray-level histograms». IEEE Trans. Sys., Man., Cyber. 9, 1979, p.: 62-66. 4. Богданов Р. И. Закономерности коррозионного растрескивания под напряжением трубной стали Х70 в грунтовых электролитах с pH близким к нейтральному : дис. канд. хим. наук : 05.17.03 - М. 2012.- 196 с. 5. Еникеев М.Р., Сайфуллина Л.С., Губайдуллин И.М Использование технологии параллель- ных вычислений при разработке прибора автоматического контроля параметров детали сложной геометрической формы // В сборнике: Параллельные вычислительные технологии (ПаВТ'2012) Труды международной научной конференции. Ответственные за выпуск: Л.Б. Соколинский, К.С. Пан. 2012. С. 721. 600 Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org Parallel computing in identification of steel corrosion processes Marat Enikeev and Irek Gubaydullin Keywords: Parallel computing, metal corrosion, computer vision, image processing The purpose of this paper is investigation of corrosion process using method of computer vision. GPU using to process experiment.