<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Параллельные технологии в задаче идентификации и анализа коррозионной трещины</article-title>
      </title-group>
      <pub-date>
        <year>2015</year>
      </pub-date>
      <fpage>595</fpage>
      <lpage>601</lpage>
      <abstract>
        <p>Институт нефтехимии и катализа РАН В данной работе рассматривается проблема идентификации и анализа дефектов в смежных задачах изучения зарождения коррозионного растрескивания под напряжением (КРН), а также использования параллельных вычислений для повышения скорости обработки и анализа входных данных для этого типа задач. Приведен анализ экспериментов по коррозионным трещинам.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Для задачи визуального контроля за экспериментом можно выделить общую схему поиска
повреждений поверхности:
1) Предварительная обработка изображения.
2) Сегментация изображения.
3) Анализ параметров дефектов
Рассмотрим содержание этой подробно для коррозионного растрескивания под
напряжением.
2. Задача поиска объектов: питтинговая коррозия</p>
      <p>Оценка коррозионного растрескивания под напряжением состояло в анализе входных
данных в виде изображений трубной стали X70 в различных растворах (рис. 1). В качестве
критерия оценки трещины на образце стали использовалась фрактальная размерность. Целью
обработки серии изображений был поиск взаимосвязи между структурными изменениями трещины
и с химическим и механическим воздействием на неё.</p>
      <p>Рис. 1. Примеры входных данных для трубной стали X70
В качестве предварительной обработки изображения использовались фильтры
шумоподавления и фильтры повышения контрастности и чёткости. В частности, для повышения четкости
использовался метод линейной растяжки гистограммы, который имеет следующий вид:
b  255 / (max min)

 a  b * min
dst(x, y)  a  b *src(x, y),
где a и b – коэффициенты растяжения, max и min – соответственно максимальное и
минимальное значения яркости на изображении, src и dst – исходное и обработанное изображения
соответственно.</p>
      <p>В качестве фильтра шумоподавления использовался медианный фильтр. Благодаря своим
характеристикам медианный фильтр при оптимально выбранной апертуре (размер окна
фильтра) может сохранять без искажений резкие границы объектов, подавляя некоррелированные и
слабо коррелированные помехи и малоразмерные детали. В аналогичных условиях алгоритмы
линейной фильтрации неизбежно "размывают" резкие границы и контуры объектов (рис. 2).</p>
      <p>После проведения операции шумоподавления, поиск трещины для анализа можно
осуществлять различными способами. Эта задача сводится к поиску границы на изображении, в
данном случае можно наблюдать резкое изменение яркости. Такую задачу можно решать
например, детектором границ Кенни. Так как этот детектор восприимчив к шуму, можно привести
входные изображения к бинарному виду, и разделить все входные пиксели изображения на
"сигнал" и "шум".</p>
      <p>Существуют различные подходы к бинаризации, которые условно можно разделить на 2
группы: пороговые и адаптивные. Пороговые методы бинаризации оперируют всем
изображением, используя характеристику (порог), позволяющую разделить все изображение на две
области. Адаптивные методы работают с участками изображений и используются при
неоднородном освещении объектов. В нашем случае освещение нельзя назвать неоднородным,
поэтому использовалась пороговая бинаризация.</p>
      <p>
        Рис. 2. Применение медианного фильтра. Левое изображение – до применение фильтра, правое –
после
Для определения оптимального порога бинаризации предложено большое количество
различных подходов. Наиболее удачным из них представляется подход Otsu [
        <xref ref-type="bibr" rid="ref2">3</xref>
        ], который
предполагает не только определение оптимального порога бинаризации, но и вычисление некоторого
критерия бимодальности, то есть оценку того, действительно ли исследуемая гистограмма
содержит именно два выраженных пика.
      </p>
      <p>Рис. 3. Применение операции бинаризации по Отсу
Рис. 4. Профиль трещины после проведения операции распознования
Характеристика коррозионного растрескивания велась при помощи фрактального анализа.
Для образца стали при растрескивании была рассчитана фрактальная размерность. На рисунке
8 представлен образец стали с выделенной границей, осуществленной с помощью приведенных
выше методов, и соответствующая ей рассчитанная фрактальная размерность на рисунке 5.</p>
      <p>Рис. 5. Фрактальная размерность образца коррозионного растрескивания под напряжением
Для образца стали при растрескивании была рассчитана фрактальная размерность. На
рисунке 6 можно увидеть образец стали с выделенной границей, осуществленной с помощью
приведенных выше методов, и соответствующую ей рассчитанную фрактальную размерность
на рисунке 6.</p>
      <p>
        Обработка серии эккспериментов анализа коррозионного растрескивания трубной стали
X70 проводилась для различных раствовров [
        <xref ref-type="bibr" rid="ref3">4</xref>
        ].
      </p>
      <p>Таблица 1. Растворы для анализа коррозионного растрескивнаия трубной стали X70
Наименование
Скорость
Состав раствора
Фон + 1мМ Na2S</p>
      <p>Фон
Фон + 10 мМ</p>
      <p>Mg(H2PO4)2
Фон + 30 мМ NaHCO3
NS4 + боратный буфер
Образец 5
Образец 17
Образец 20
Образец 21
Образец 22
0,18
0,62
0,14
0,4</p>
      <p>NS4 + 50 мМ
Mg(H2PO4)2
Фон + 1 мМ Na2S
Образец 23.
Образец 26
0,62
Целью анализа являлось установление взаимосвязи скорости роста трещины и её
фрактальной размерности. В первоначальных входных данных, для каждого образца раствора,
существовало несколько наборов изображений, различных участков трещины. На рисунке 6
отображены входные данные соответствующие образцу №5.</p>
      <p>Рис. 6. Пример набора входных данных для образца 5
Был проведен расчет по входным данным для всех представленных образцов, используя
алгоритмы распознавания описанные в данной работе. Результат расчета представлен на
рисунке 7а. Проанализировав данный результат, было предположено, что данная хаотичная
"корреляция" обусловлена тем, что трещина представляет собой объект, состоящий из трех
подъобьектов: часть вырезанная лобзиком, усталостная трещина и коррозионная трещина. Для того
чтобы получить коррлеяцию между скорость роста трещины и ее фрактальной размерностью,
необходимо использовать только участки коррозионной трещины. Как можно заметить из
рисунка 7б, данные по взаимосвязи можно разделить на два кластера (выделены синим и
красным), такое поведение обсуждается, возможно, что оно зависит от раствора, в котрой
реаигирует трубная сталь, с другой стороны, с учетом относительно малого количества входных данных,
это поведение можно отнести к погрешности получения исходных данных по скорости.
Рис. 7. Взаимосвязь скорости роста трещины и её фрактальной размерности а) без учета типа
трещины, б) учет только коррозионной трещины
4. Параллельные вычисления в процессе работы детектора
При решении задачи детектировании пузырьков возникает вопрос о сокращении времени
расчетов. Распараллелить решение задачи можно на уровне параллелизма данных [5].
Уровень параллелизма данных
Название модели "параллелизм данных" происходит оттого, что параллелизм заключается
в применении одной и той же операции к множеству элементов данных. В нашем случае, этой
моделью удобно пользоваться для набора кадров. Для параллельной обработки кадров удобно
использовать такую технологию программирования, как OpenMP.</p>
      <p>Уровень распараллеливания алгоритмов
Следующий уровень, это распараллеливание отдельных процедур и алгоритмов. Сюда
можно отнести алгоритмы фильтрации изображения, обработки, выделения объектов
изображения по типам и т. д. На этом уровне абстракций удобно использовать такую технологию, как
OpenCV в связке с GPU.</p>
      <p>Для параллельной обработки GPU модуль OpenCV содержит в себе несколько уровней
функциональности. На нижнем уровне находятся реализации служебных операций, таких как
инициализация и управление GPU, работа с памятью, механизм асинхронных вызовов.
Уровнем выше реализован широкий набор базовых функций обработки изображений: различные
методы фильтрации, поиск максимума, аффинные преобразования, вычисление разности
изображений в различных нормах и т.д. Список этих алгоритмов постоянно обновляется, в целом они
призваны облегчить разработку алгоритмов компьютерного зрения самого высокого уровня.</p>
      <p>В OpenCV контейнером для хранения данных (в том числе изображений) служит класс
Mat. По аналогии в GPU модуле реализован класс GpuMat, практически с той же
функциональностью, но хранящий данные в видеопамяти. Библиотека OpenCV предоставляет удобные
средства обмена информацией между GPU и CPU. Основную часть GPU модуля составляют
функции, имеющие интерфейс, идентичный CPU части OpenCV, с тем лишь отличием, что они
принимают на вход объект типа GpuMat. Программный интерфейс модуля (API) создан
максимально близким к интерфейсу CPU части OpenCV, что облегчает перенос существующего кода
на GPU. Однажды загрузив изображение на видеокарту, можно использовать различные
функции обработки, которые будут производиться целиком на видеокарте.</p>
      <p>Плюсом данного метода является простота реализации и удовлетворительный результат
времени ускорения расчета для экспериментатора. В целом для задачи анализа КРН ускорение
составило 4.5 раза.
Литература
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.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          2.
          <string-name>
            <given-names>M.</given-names>
            <surname>Weisner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. Ihlemann H.H.</given-names>
            ,
            <surname>Muller</surname>
          </string-name>
          , E. Lankenau,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Huttmann Optical coherence tomography for process control of laser micromachining // Review of Scientific Instuments</article-title>
          .
          <year>2010</year>
          , T.
          <volume>81</volume>
          №
          <issue>3</issue>
          ,
          <fpage>033705</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          3.
          <string-name>
            <given-names>N.</given-names>
            <surname>Otsu</surname>
          </string-name>
          . «
          <article-title>A threshold selection method from gray-level histograms»</article-title>
          .
          <source>IEEE Trans. Sys</source>
          .,
          <string-name>
            <surname>Man</surname>
          </string-name>
          .,
          <source>Cyber. 9</source>
          ,
          <issue>1979</issue>
          , p.:
          <fpage>62</fpage>
          -
          <lpage>66</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          4.
          <string-name>
            <surname>Богданов</surname>
            <given-names>Р</given-names>
          </string-name>
          . И.
          <article-title>Закономерности коррозионного растрескивания под напряжением трубной стали Х70 в грунтовых электролитах с pH близким к нейтральному : дис</article-title>
          . канд. хим.
          <source>наук : 05.17</source>
          .
          <fpage>03</fpage>
          -
          <lpage>М</lpage>
          .
          <year>2012</year>
          .
          <article-title>- 196 с</article-title>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>