<!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>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>pmk@imm.uran.ru</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Copyright c by the paper's authors. Copying permitted for private and academic purposes. In: A.A. Makhnev, S.F. Pravdin (eds.): Proceedings of the International Youth School-conference 3⁄4SoProMat-2017¿</institution>
          ,
          <addr-line>Yekaterinburg, Russia, 06-Feb-2017, published at</addr-line>
        </aff>
      </contrib-group>
      <fpage>215</fpage>
      <lpage>225</lpage>
      <abstract>
        <p>Сегментация изображений отпечатков пальцев является одним из важнейших этапов в системах автоматической идентификации личности. Сегментация используется для отделения области отпечатка пальца (передний план) от области фона и областей, не подлежащих восстановлению. В статье представлен алгоритм сегментации отпечатков пальцев, использующий сверточные нейронные сети, алгоритм разметки областей и морфологическую обработку изображений. Данный подход был протестирован на общедоступных базах отпечатков пальцев: Fingerprint Verification Competition (FVC: 2002, 2004). Результаты тестов показали высокое качество сегментации.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Рис. 2: Нахождение сингулярных точек с сегментацией (справа) и без неё (слева). Зелеными точками
показаны ядра, а красными – дельты. Использован алгоритм [9]. Из рисунка видно, что без сегментации
алгоритм находит много ложных признаков.
ритм обладал высокой степенью переобученности, так как при тестировании на другой базе DB2B того же
соревнования средняя ошибка составила 14:3%.</p>
      <p>
        В статье [
        <xref ref-type="bibr" rid="ref5">10</xref>
        ] предлагается также использовать линейный классификатор, который опирается на три
параметра блока: среднее значение интенсивности, дисперсию и степень кластеризации блока. Использование
сегментации на уровне блоков значительно повышает вычислительную эффективность и, по заявлению
авторов, дает хорошие результаты. Но, к сожалению, оценка точности алгоритма вычисляется на отобранных
отпечатках пальцев на уровне блоков. Также к недостатку данного подхода можно отнести необходимость
обучения и настройки всех параметров для каждой базы отпечатков пальцев в отдельности.
      </p>
      <p>В статье [11] предлагается комбинированный метод сегментации отпечатков пальцев, который
использует поле ориентации отпечатка пальца и статистическую информацию изображения. Но, к сожалению, в
этой и многих других работах (например [12]) совсем отсутствуют численные результаты.
2</p>
      <p>Алгоритм
На вход алгоритма поступает изображение отпечатка пальца в оттенках серого. Первоначальным
этапом является обработка входного изображения нейронной сетью. Изображение разделяется на небольшие
области, со смещением, соответствующим размеру блока. После этого производится классификация
каждой области, предварительно обученной нейронной сетью, а из полученных оценок собирается бинарная
маска сегментации. Описание данной стадии алгоритма приводится в разделе 3.</p>
      <p>Далее применяется алгоритм разметки областей. Идея данного подхода заключается в том, что на
абсолютном большинстве изображений отпечатков пальцев, область самого´ отпечатка является единственной
и самой большой. В связи с этим мы производим разметку бинарной маски сегментации, полученной от
нейронной сети. Определяется самая большая область, а остальные просто отбрасываются. Данный этап
описан в разделе 4.</p>
      <p>Заключительным этапом является применение морфологической обработки. Последовательное
применение операции дилатации и эрозии позволяет нам избавиться от разрывов определенного размера в бинарной
маске сегментации. Более подробно данный этап описан в разделе 5. Структурная схема предлагаемого
алгоритма приведена на рис. 3.</p>
      <p>При реализации данного алгоритма использовались библиотеки keras, theano и др.</p>
      <p>Рис. 3: Алгоритм предлагаемого подхода.
3</p>
      <p>Нейронная сеть
Основным классифицирующим компонентом предлагаемого алгоритма является сверточная нейронная
сеть [13]. Общепринято [14], что этот тип нейронной сети наиболее подходит для эффективного
распознавания изображений, кроме того он наиболее устойчив к проблеме переобучения. Название сети обусловлено
наличием операции свертки [15], суть которой в том, что каждый фрагмент изображения умножается на
матрицу (ядро) свертки поэлементно, а результат суммируется и записывается в определенную позицию
выходного изображения:</p>
      <p>I0(u; v) = X X I(u i; v j) H(i; j):</p>
      <p>i j
Самым важным свойством нейронных сетей является их способность обучаться на основе поступающих
в них данных и в результате обучения повышать свою эффективность [16]. Как правило, обучение
нейронной сети происходит посредством итеративного процесса корректировки синаптических весов и порогов.
Так, например, в рамках метода обратного распространения ошибки, используемого в работе,
корректировка, применяемая к синаптическому весу нейрона, пропорциональна произведению сигнала ошибки на
входной сигнал, его вызвавший. Сигналом ошибки называется разница между желаемым и
действительным откликом сети. В связи с этим для обучения нейронной сети нам необходимо знать желаемый отклик
на всех используемых данных.</p>
      <p>Для получения желаемого отклика нам необходимо вручную разметить используемые изображения
отпечатков пальцев. С этой целью на каждом изображении отпечатка пальца была выделена область
переднего плана. Результатом такого выделения стала бинарная маска сегментации выполненная вручную
(изображение той же размерности со значениями интенсивности 0 и 1). Полученная маска ручной
сегментации разделяется на неперекрывающиеся блоки определенного размера (рис. 4, справа). Классификация
каждого блока осуществляется голосованием большинства. При этом, в отличие от бинарной маски
ручной сегментации, изображение отпечатка пальца разделяется на перекрывающиеся области определенного
размера с шагом смещения, равным размеру блока (рис. 4, слева). В связи с этим между областями
изображения отпечатка пальца и блоками ручной сегментации имеется взаимно однозначное соответствие, а
размер области больше либо равен размеру блока. Маркировка каждой области изображения отпечатка
пальца осуществляется на основании голосования большинства в соответствующем блоке ручной маски
сегментации. Таким образом мы получаем множество маркированных областей изображения отпечатка
пальца. Особо стоит отметить, что изменение размера блока или области не требует повторной ручной
маркировки данных.</p>
      <p>Рис. 4: Разделение изображения отпечатка пальца (слева) и маски ручной сегментации (справа).
После классификации каждой области нейронной сетью, строится бинарная маска сегментации с шагом
в размер блока. Пиксели каждого блока заполняются бинарным выводом нейронной сети, полученным при
классификации соответствующей области изображения отпечатка пальца. Таким образом для выполнения
сегментации необходимо классифицировать все имеющиеся области на изображении.</p>
      <p>Для оценки качества сегментации мы используем процент ошибочной сегментации, проводя
попиксельное сопоставление результата работы алгоритма и эталона (вручную сегментированного изображения
отпечатка пальца):
p1 =
p2 =
#(ручная сегментация = 0; сегментация алгоритма = 1)</p>
      <p>N
#(ручная сегментация = 1; сегментация алгоритма = 0)</p>
      <p>N
;
;
error = p1 + p2;
где N – общее количество пикселей на изображении, а error – суммарная ошибка. Данная ошибка состоит
из ошибки первого рода p1 и ошибки второго рода p2.</p>
      <p>Для определения оптимальных значений используемых параметров будет производиться
покоординатная оптимизация с целью минимизации суммарной ошибки:</p>
      <p>error error(rl; bl; cnns; cnn_i_core_size; cnn_i_core_maps; net) ! min;
где rl – размер области, bl – размер блока, cnns – количество сверточных слоёв, cnn_i_core_size –
размер ядра на i-м сверточном слое, cnn_i_core_maps – количество ядер на i-м сверточном слое и net –
комбинация полносвязных слоёв.</p>
      <p>
        При оптимизации размера области и блока использовалась простейшая сверточная нейронная сеть,
состоящая из одного сверточного (Conv) и одного полносвязного слоя (Net). Обучение производилось в
течение 10 эпох. При обучении нейронной сети использовались изображения отпечатков пальцев,
предоставляемые международным конкурсом по идентификации отпечатков пальцев – Fingerprint Verification
Competition (FVC: 2002 [
        <xref ref-type="bibr" rid="ref4">8</xref>
        ], 2004 [17]). В каждом конкурсе имеется по 4 базы отпечатков пальцев,
полученных с различных сенсоров. Все базы поделены на закрытую часть (A) и открытую часть (B). Мы
      </p>
      <p>Размер области
Размер блока
Сеть №
p1
p2
error
Размер области
Размер блока
Сеть №
После получения оптимальных размеров блока и области мы приступили к оптимизации архитектуры
сети. Данная оптимизация была разделена на два этапа: архитектура сверточной части сети и архитектура
полносвязных слоёв. При оптимизации архитектуры сети, мы использовали 2:5 106 образцов.</p>
      <p>Вначале мы оптимизировали количество сверточных слоев. Оказалось, что сеть с двумя сверточными
слоями имеет наименьшую суммарную ошибку первого и второго рода (табл. 3). При этом количество ядер
и их размер были зафиксированы.</p>
      <p>Таблица 3: Определение оптимального количества сверточных слоев</p>
      <p>Таблица 4: Определение оптимального размера ядра первого сверточного слоя
После определения оптимального размера ядра первого сверточного слоя производилась оптимизация
по их количеству. В результате было установлено, что сеть с 112 ядрами имеет минимальную суммарную
ошибку. Более подробно в табл. 5.
Аналогичная оптимизация производилась по второму сверточному слою (табл. 6, 7). В результате
оптимизации удалось снизить суммарную ошибку до 4:175%.
Отсутствие слоев субдискретизации объясняется тем, что они вводят дополнительное размытие
псевдорегулярной структуры папиллярных линий отпечатка пальца, что сильно снижает точность сегментации.</p>
      <p>После получения оптимальной архитектуры сверточной части сети переходим к оптимизации её
полносвязной части. Для этого было обучено несколько нейронных сетей с различной архитектурой
полносвязных слоев. Более подробные сведения приведены в табл. 8.</p>
      <p>В результате проводимой оптимизации удалось снизить суммарную ошибку попиксельного
сопоставления результата алгоритма с вручную сегментированными изображениями до 4:13%.
Рис. 5: Сегментация предлагаемым подходом. Слева представлен образец сегментации без алгоритма
разметки областей и морфологической обработки, а справа – с ней. Как видно из изображения, данная
обработка позволяет устранить разрывы и ошибочно сегментированные островки.
Эрозия: для множеств A и B из пространства Z2 эрозия A по B, обозначаемая A
так:</p>
      <p>B, определяется
A</p>
      <p>B = fz j (B)z</p>
      <p>Ag :
Иначе говоря, эрозия множества A по структурному элементу B это множество всех таких точек z, при
сдвиге в которые множество B целиком содержится в A. Множество B также можно рассматривать как
ядро свертки.</p>
      <p>Комбинация последовательного применения операций дилатации и эрозии называется операцией
закрытия. Она позволяет избавиться от разрывов определенного размера. В результате применения дилатации
к бинарному изображению мы расширяем область переднего плана, избавляясь тем самым от разрывов
определенного размера. А последующим применением эрозии к бинарному изображению мы
восстанавливаем исходную форму области переднего плана уже без разрывов. На рис. 5 видно, что разрывы в области
переднего плана исчезли.
6</p>
      <p>Обсуждение и заключение
Предлагаемый алгоритм показал высокую эффективность в задаче сегментации изображений
отпечатков пальцев. Благодаря использованию сверточных нейронных сетей, алгоритма разметки областей и
морфологической обработки была достигнута высокая точность сегментации – 3:151%. Особо стоит отметить,
что данный алгоритм, однажды настроенный и обученный, производит эффективную и точную
сегментацию на всех используемых нами базах отпечатков пальцев. В этом его отличие от некоторых других
алгоритмов, подгоняемых под конкретные изображения.</p>
      <p>Из известных нам работ, только в [5] приводятся численные результаты сегментации на общедоступных
базах отпечатков пальцев с оценкой точности на пиксельном уровне. Авторы этой работы заявляют о
средней (суммарной) ошибке в 6:8% и 13:6%, соответственно. Данную ошибку они вычисляют, основываясь
на 30 отобранных и вручную сегментированных изображениях, причем для каждой базы отпечатков они
обучают свой собственный классификатор.</p>
      <p>Результаты нашего алгоритма приведены в Табл. 9. Особо стоит отметить, что данные результаты
получены при попиксельном сопоставлении сегментации алгоритма с эталоном.</p>
      <p>Таблица 9: Результаты работы предлагаемого подхода</p>
      <p>Подход
Сверточная нейронная сеть
Сверточная нейронная сеть
+ разметка областей + морфология
[2] Bir Bhanu, Xuejun Tan. Computational Algorithms for Fingerprint Recognition. Springer International</p>
      <p>Series on Biometrics, 2004.
[3] Michael Khachay and Maxim Pasynkov. Theoretical Approach to Developing of Efficient Algorithms of
Fingerprint Enhancement. Communications in Computer and Information Science, 542:83-95, November
2015.
[4] Michael Khachay, Alexander Dremin and Anton Leshko. Fingerprint Identification Algorithm Based on
Delaunay Triangulation and Cylinder Codes. Communications in Computer and Information Science, 436,
September 2013.
[5] Asker M. Bazen and Sabih H. Gerez. Segmentation of Fingerprint Images. ProRISC 2001 Workshop on
Circuits, Systems and Signal Processing, Veldhoven, The Netherlands, November 2001.
[9] Asker M. Bazen and Sabih H. Gerez. Systematic Methods for the Computation of the Directional Fields and
Singular Points of Fingerprints. IEEE Transactions on Pattern Analysis and Machine Intelligence, 24(7), Jul
2002.
[11] Juntao Xue and Hongwei Li. Fingerprint image segmentation based on a combined method. IEEE
International Conference on Virtual Environments Human-Computer Interfaces and Measurement Systems
(VECIMS), 2012.
[12] Weizhou Zhao. Fingerprint Segmentation Based on Fuzzy Theory. 9th International Conference on Fuzzy</p>
      <p>Systems and Knowledge Discovery (FSKD 2012).
[13] Y.LeCun, L.Bottou, Y.Bengio and P.Haffner. Gradient based learning applied to document recognition.</p>
      <p>Proceedings of the IEEE, 86(11), Nov 1998.
[14] I.Goodfellow, Y.Bengio and A.Courville. Deep Learning. MIT Press http://www.deeplearningbook.org,
2016.
[15] Rafael C. Gonzalez, Richard E. Woods. Digital Image Processing. Prentice Hall / 3rd ed, 2002.
[16] Haykin Simon. Neural networks and learning machines. Prentice Hall / 3rd ed, 2008.
[17] http://bias.csr.unibo.it/fvc2004/.
[18] Wilhelm Burger and Mark J. Burge. Digital Image Processing. An Algorithmic Introduction Using Java.</p>
      <p>Springer-Verlag, New York / 2rd ed, 2016.
Segmentation of fingerprints using convolution neural networks
Maxim K. Pasynkov1 and Michael Yu. Khachay1;2
1 – Krasovskii Institute of Mathematics and Mechanics (Yekaterinburg, Russia)
2 – Ural Federal University (Yekaterinburg, Russia)</p>
      <p>Segmentation of fingerprint images is one of the most important tasks in automatic fingerprint identification
system. Segmentation is used to separate the area of the fingerprint (foreground) from the background area and
areas that can not be recovered. The article presents an algorithm of fingerprint segmentation using convolutional
neural networks, binary region labeling algorithm, and morphological image processing. This approach was
tested on publicly available fingerprint databases: Fingerprint Verification Competition (FVC: 2002, 2004). The
experimental results showed a high quality of segmentation.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>D.</given-names>
            <surname>Maltoni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Maio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.K.</given-names>
            <surname>Jain</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Prabhakar</surname>
          </string-name>
          .
          <source>Handbook of Fingerprint Recognition</source>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Jean</given-names>
            <surname>Serra</surname>
          </string-name>
          .
          <source>Image Analysis and Mathematical Morphology</source>
          . Academic Press, Inc., Orlando, FL, USA
          <year>1983</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>[7] http://bias.csr.unibo.it/fvc2000/.</mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>[8] http://bias.csr.unibo.it/fvc2002/.</mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Xinjian</surname>
            <given-names>Chen</given-names>
          </string-name>
          , Jie Tian, Jiangang Cheng and
          <string-name>
            <given-names>Xin</given-names>
            <surname>Yang</surname>
          </string-name>
          .
          <article-title>Segmentation of Fingerprint Images Using Linear Classifier</article-title>
          .
          <source>EURASIP Journal on Applied Signal Processing</source>
          ,
          <year>2004</year>
          :
          <volume>4</volume>
          ,
          <fpage>480</fpage>
          -
          <lpage>494</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>