<!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>2017</year>
      </pub-date>
      <abstract>
        <p>В статье предложен метод анализа изображений с помощью графового представления. Вершинами графа служат пиксели изображения. Ребрами соединены только ближайшие соседи на изображении. Вес ребра определяется цветом, соединяемых вершин. Для полученного графа осуществляется поиск сообществ, позволяющий выявить фрагменты изображения, схожие по цвету. Предложенный подход применяется для подавления импульсного шума на изображении. Проведен компьютерный эксперимент. Показано, что предложенный метод более эффективен, чем традиционные фильтры.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Будем применять алгоритм фильтрации к зашумленному изображению размерами  ×  пикселей.
Положение каждого пикселя на изображении может быть задано парой целых чисел (, ), которые можно
считать геометрическими координатами. Число  лежит на отрезке [0,  − 1], а число y – на отрезке
[0,  − 1]. Будем использовать цветовую модель RGB. В этом случае для каждого пикселя с координатами
(, ) определены три цветовые функции: (, ) – интенсивность красного цвета, (, ) – интенсивность
зеленого цвета, (, ) – интенсивность синего цвета.</p>
      <p>Для каждого изображения однозначным образом может быть построен неориентированный взвешенный
граф , показывающий изменения цвета при переходе от одного пикселя к другому. Множество
вершины графа совпадает с множеством пикселей изображения. Ребрами будем соединять только ближайшие
соседние пиксели. Вес ребра будем вычислять на основе цветовых компонент пикселей, соединенных этим
ребром. Для двух соседних вершин  = (, ) и  = (, ) вес ребра будет равен:</p>
      <p>1 √︁
(, ) = exp(− ℎ</p>
      <p>( − )2 + ( − )2 + ( − )2).
Здесь  = (, ),  = (, ),  = (, ).</p>
      <p>
        Параметр ℎ определяет значение разности цвета между соседними пикселями, соответствующее
переходу через границу двух сегментов. Данный параметр определяется пользователем и является общим
для всего изображения. Как показано в работах [
        <xref ref-type="bibr" rid="ref6 ref9">7, 10</xref>
        ] такой вид весовой функции позволяет достаточно
точно различать изменение цвета, соответствующее границам областей на изображении. Будем разбивать
граф на подграфы, вершины которых связаны между собой сильнее, чем с остальными. Такие подграфы
принято называть сообществами (community). Качество разбиения графа количественно может оценено с
помощью функции модульности Ньюмана [
        <xref ref-type="bibr" rid="ref10 ref11">11, 12</xref>
        ]. Чем больше значение функции модульности, тем более
качественно осуществлено разбиение. Поврежденными будем считать пиксели, объединение которых с
любыми другими сообществами понижает значение функции модульности. Таким образом, будут выделены
пиксели, образующие сообщества из одной вершины, то есть сильно отличающиеся от своих ближайших
соседей. Опишем эту процедуру формально.
      </p>
      <p>
        Определим матрицу весов  для графа . Значения диагональных элементов  равно весу вершин. В
начале работы алгоритма вес всех вершин нулевой. Остальные элементы матрицы весов  ( ̸= ) равны
весу соответствующего ребра. Следует отметить, что в матрице  будет много нулевых элементов, так как
в графе  ребрами соединены только вершины, соответствующие ближайшим соседям на изображении.
Матрица  будет симметричной относительно главной диагонали, так как граф  неориентированный.
Перейдём к приведенному виду матрицы весов  = /, где
Элемент  равен доле веса заданного ребра в общем весе графа. В дальнейшем под матрицей весов будет
пониматься именно приведенный вид. Легко видеть, что
Величина модульности определяется выражением [
        <xref ref-type="bibr" rid="ref10 ref11">11, 12</xref>
        ]:
где  – количество вершин графа,  – приведенная исходящая степень вершины :

 = ∑︁ .
      </p>
      <p>,=1

∑︁  = 1.
,=1
Для поиска сообществ на графе используем процедуру образования стяжек. Под стяжкой понимается
преобразование, при котором некоторый подграф  графа  заменяется одной вершиной  . Если
какаято из вершин подграфа  была связана ребром с вершиной  из подграфа ∖, то вершина  также
будет связана ребром того же веса с вершиной . Вес новой вершины будет равен сумме весов ребер и
вершин, входящих в подграф . Новый граф обозначим  . Подграф  будем считать сообществом, если
( ) &gt; (). Следует отметить, что при образовании стяжки уменьшается число вершин графа .
Нашей задачей стоит поиск вершин графа, не входящих ни в одно более крупное сообщество. Выявление
таких вершин будем осуществлять с помощью следующего алгоритма.</p>
      <p>1. Осуществляем последовательный проход по всем пикселям изображения.</p>
      <p>2. Для каждого пикселя  поочередно рассматриваем ближайшие соседние пиксели () ( = 1, ..., 8).
Рассматриваем подграфы, состоящие из двух вершин  и () ( = 1, ..., 8) и пытаемся объединить их в
сообщество. При каждом объединении вычисляем изменение функции модульности  ( = 1, ..., 8).</p>
      <p>3. Если при объединении данной вершины в сообщества со всеми ближайшими соседями изменение
функции модульности отрицательно (  &lt; 0,  = 1, ..., 8), то соответствующий пиксель считаем
поврежденным.</p>
      <p>Изменение функции модульности достаточно быстро вычисляется из текущих характеристик графа,
соответствующего изображению. При объединении вершин  и  изменение модульности будет иметь
вид:</p>
      <p>= 2( − ).
Очевидно, что предложенный алгоритм имеет линейную трудоемкость от числа пикселей.</p>
      <p>После выявления поврежденных пикселей необходимо выбрать для них цвет из анализа окружающих
пикселей. Для этого проанализируем ближайших соседей. Пусть минимальное значение цветовой
компоненты пикселей соседних с поврежденным пикселем равно 1, а максимальное – 2. Проведем
последовательный перебор всех значений цвета поврежденного пикселя от 1 до 2. Для каждого значения будем
вычислять значение изменения функции модульности  при объединении данной вершины в сообщество
с одним из ближайших соседей. В качестве окончательного цвета оставим тот, который позволяет получить
максимальное значение изменения функции модульности.
2</p>
      <p>Компьютерный эксперимент
Компьютерный эксперимент проводился как на искусственных изображениях геометрических объектов,
так и на цветных фотографиях. Уровень импульсного шума характеризовался величиной , показывающей
процент поврежденных пикселей по отношению к общему количеству пикселей изображения. Импульсный
шум моделировался с помощью линейного конгруэнтного генератора псевдослучайных чисел, с помощью
которого определялись как координаты поврежденных пикселей, так и их цвет. При проведении
компьютерного эксперимента процент испорченных пикселей варьировался от 10% до 70%. Улучшение
изображения производилось с помощью предложенного фильтра, а также, для сравнения, с помощью широко
распространенного медианного фильтра.</p>
      <p>
        Для сравнения близости изображений использовалась метрика Минковского [
        <xref ref-type="bibr" rid="ref12 ref13">13, 14</xref>
        ], согласно которой
расстояние между изображениями A и С находится по формуле
      </p>
      <p>(, ) = max ∑=︁1 1 |() − ()|.
где  и  – значения цветов пикселей изображения A и С,  – количество пикселей.</p>
      <p>Относительное улучшение изображения вычислялось на основе расстояния (, ) от
восстановленного изображения  до исходного  и расстояния (, ) от испорченного изображения
 до исходного изображения :
 =
(, ) − (, )
(, )
· 100%.</p>
      <p>Эксперимент для прямоугольной области с равномерной заливкой показал, что предложенный фильтр
позволяет значительно улучшить изображение. Зависимость относительного улучшения от процента
испорченных пикселей для предложенного фильтра и медианного фильтра представлены на рисунке 1.
Рис. 1: Зависимость относительного улучшения изображения от процента зашумления для предложенного
фильтра (сплошная линия) и медианного фильтра (пунктирная линия)</p>
      <p>Результаты применения предложенного фильтра и медианного фильтра для улучшения искусственного
изображения с наличием сплошной и градиентной заливки представлены на рисунке 2.
Рис. 2: Результаты применения фильтра к искусственному изображению с уровнем шума p=20%: а)
исходное изображение, б) зашумленное изображение, в) изображение восстановленное предложенным фильтром,
г) изображение восстановленное медианным фильтром</p>
      <p>Как хорошо видно из рисунка 2 результаты предложенного фильтра более выигрышно выглядят для
темных участков изображения, тогда как медианный фильтр дает лучший визуальный результат для
светлой части изображения. Этот эффект связан с выбором нового цвета испорченного пикселя. При
использовании медианного фильтра цвета восстановленных пикселей смещены в область белого цвета.
При этом цвета окружающих его пикселей также изменяют свой цвет. Численное сравнение результатов
работы показывает значительное преимущество предложенного алгоритма перед медианным фильтром.</p>
      <p>Зависимость относительного улучшения от процента зашумления искусственного изображения
представлена на рисунке 3.</p>
      <p>Также данный фильтр позволяет получить значительно лучшие результаты и для фотографических
изображений. Результаты для хорошо известного изображения «Lena» при уровне зашумления  = 20%
представлены на рисунке 4.
Рис. 3: Зависимость относительного улучшения от процента зашумления искусственного изображения для
предложенного фильтра (сплошная линия) и медианного фильтра (пунктирная линия)
Рис. 4: Результаты применения фильтра к изображению «Lena» с уровнем шума  = 20%: а) исходное
изображение, б) зашумленное изображение, в) изображение, восстановленное предложенным фильтром, г)
изображение, восстановленное медианным фильтром</p>
      <p>Хорошо известно, что изображение «Lena» характеризуется большим количеством мелких деталей,
которые создают сложности для всех фильтров. Как видно из рисунка 4 предложенный фильтр дает
значительно лучшие результаты даже при визуальном сравнении. Зависимость относительного улучшения от
процента зашумления представлена на рисунке 5.
3</p>
      <p>Выводы
Таким образом, предложенный фильтр обладает хорошими характеристиками при линейной трудоемкости.
Как видно из графиков, представленных на рисунках 1, 3 и 5 эффективность данного фильтра примерно
на 20% выше, чем медианного при любом проценте испорченных пикселей. Такое заметное преимущество
объясняется тем, что обычные фильтры изменяют все пиксели изображения. Исправление испорченных
пикселей приближает изображение к оригиналу, но при этом изменение неиспорченных пикселей
увеличивает расстояние до оригинала. Данное свойство присуще не только медианному фильтру, но и всем
традиционным фильтрам.</p>
      <p>Предложенный в данной статье фильтр действует избирательно и изменяет только те пиксели, которые
значительно отличаются от окружающих. С высокой вероятностью такие пиксели окажутся
поврежденными импульсным шумом. Выбор нового цвета на основе присоединения к одному из соседних сообществ
пикселей позволяет формировать группы близких по характеристикам точек.
Список литературы
[1] I. Pitas, A. Venetsanopoulos. Nonlinear Digital Filters: Principles and Applications. Boston, MA: Kluwer,
1990, 392 p.
Рис. 5: Зависимость относительного улучшения от процента зашумления изображения «Lena» с помощью
предложенного фильтра (сплошная линия) и медианного фильтра (пунктирная линия)</p>
      <p>Sergey V. Belim, Stanislav B. Larionov</p>
      <p>In article the images analysis method by means of graph representation is suggested. Image pixels are compared
to graph vertex. By edges only the closest neighbors on the image are connected. Weight of an edge is defined by
color, the connected vertex. For the received graph search of communities is carried out, allowing to reveal the
image fragments similar in color. The suggested approach is applied to impulse noise suppression on the image.
The computer experiment is made. It is shown that the suggested method is more efective, than traditional
iflters.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>R.</given-names>
            <surname>Boyle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sonka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Hlavac</surname>
          </string-name>
          .
          <source>Image Processing, Analysis, and Machine Vision</source>
          , First Edition . University Press, Cambridge,
          <year>2008</year>
          ,
          <volume>920</volume>
          р.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>E.</given-names>
            <surname>Abreu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lightstone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.K.</given-names>
            <surname>Mitra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.K.</given-names>
            <surname>Arakawa</surname>
          </string-name>
          .
          <article-title>A new eficient approach for the removal of impulse noise from highly corrupted images</article-title>
          .
          <source>IEEE Transactions on Image Processing</source>
          ,
          <volume>5</volume>
          :
          <fpage>1012</fpage>
          -
          <lpage>1025</lpage>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>R.</given-names>
            <surname>Garnett</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Huegerich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Chui</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>He</surname>
          </string-name>
          .
          <article-title>A Universal Noise Removal Algorithm with an Impulse Detector</article-title>
          .
          <source>IEEE Trans Image Proccess</source>
          ,
          <volume>14</volume>
          (
          <issue>11</issue>
          ):
          <fpage>1747</fpage>
          -
          <lpage>1754</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>S.V.</given-names>
            <surname>Belim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.A.</given-names>
            <surname>Seliverstov</surname>
          </string-name>
          .
          <article-title>Hierarchy Analysis Method as a Way to Detect Impulse Noise on Images</article-title>
          .
          <source>Information technology</source>
          ,
          <volume>4</volume>
          (
          <issue>21</issue>
          ):
          <fpage>251</fpage>
          -
          <lpage>258</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>S.V.</given-names>
            <surname>Belim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.O.</given-names>
            <surname>Mayorov-Zilbernagel</surname>
          </string-name>
          .
          <article-title>Algorithm for Searching the Broken Pixels and Eliminating Impulse Noise in Images Using a Method of Association Rules</article-title>
          .
          <source>Science and Education of the Bauman MSTU</source>
          ,
          <volume>12</volume>
          :
          <fpage>716</fpage>
          -
          <lpage>737</lpage>
          ,
          <year>2014</year>
          . URL: http://technomag.bmstu.ru/doc/744983.html .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S.V.</given-names>
            <surname>Belim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.E.</given-names>
            <surname>Kutlunin</surname>
          </string-name>
          .
          <article-title>Impulse noise detection in image using a clustering algorithm</article-title>
          .
          <source>Herald of computer and information technologies</source>
          ,
          <volume>3</volume>
          :
          <fpage>3</fpage>
          -
          <lpage>10</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>S.V.</given-names>
            <surname>Belim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.O.</given-names>
            <surname>Mayorov-Zilbernagel</surname>
          </string-name>
          .
          <article-title>Image Restoration With Static Gaps On The Basis Of Association Rules</article-title>
          .
          <source>Herald of computer and information technologies</source>
          ,
          <volume>12</volume>
          :
          <fpage>18</fpage>
          -
          <lpage>23</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>S.V.</given-names>
            <surname>Belim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.A.</given-names>
            <surname>Seliverstov</surname>
          </string-name>
          .
          <article-title>The Analytic Hierarchy Method-Based Algorithm for Restoring Broken Pixels on the Noisy Images</article-title>
          .
          <source>Science and Education of the Bauman MSTU</source>
          ,
          <volume>11</volume>
          :
          <fpage>521</fpage>
          -
          <lpage>534</lpage>
          ,
          <year>2014</year>
          . URL: http://technomag. bmstu.ru/doc/742145.html .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>S.V.</given-names>
            <surname>Belim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.B.</given-names>
            <surname>Larionov</surname>
          </string-name>
          .
          <article-title>An algorithm of image segmentation based on community detection in graphs</article-title>
          .
          <source>Computer Optics</source>
          ,
          <volume>40</volume>
          (
          <issue>6</issue>
          ):
          <fpage>904</fpage>
          -
          <lpage>910</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>M.E.J.</given-names>
            <surname>Newman</surname>
          </string-name>
          .
          <article-title>Mixing patterns in networks</article-title>
          .
          <source>Phys. Rev. E.</source>
          ,
          <volume>67</volume>
          :
          <fpage>026126</fpage>
          -1-
          <fpage>026126</fpage>
          -13,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>A.</given-names>
            <surname>Clauset</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.E.J.</given-names>
            <surname>Newman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Moore</surname>
          </string-name>
          .
          <article-title>Finding community structure in very large networks</article-title>
          .
          <source>Physical Review E</source>
          ,
          <volume>70</volume>
          (
          <issue>6</issue>
          ):
          <fpage>066111</fpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>V.</given-names>
            <surname>DiGesu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.V.</given-names>
            <surname>Staravoitov</surname>
          </string-name>
          .
          <article-title>Distance-based Functions for Image Comparison</article-title>
          .
          <source>Pattern Recognition Letters</source>
          ,
          <volume>20</volume>
          :
          <fpage>207</fpage>
          -
          <lpage>213</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>J.</given-names>
            <surname>Ryu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Wan</surname>
          </string-name>
          .
          <article-title>Pareto front approximation with adaptive sum method in multiobjective simulation optimization</article-title>
          .
          <source>Proc. of the 2009 Winter Simulation Conference (WSC)</source>
          ,
          <fpage>623</fpage>
          -
          <lpage>633</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>