Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Технологии искусственного интеллекта в банковской сфере. Учебное пособие
.pdf
Глава 4
руют сенсорные данные через своего рода машинное восприятие, маркируют и кластеризируют необработанные входные
данные. Паттернами, распознающими нейронные сети, являются числовые вектора, в которые должны быть переведены
реальные данные, такие как изображения, звук, текст или временные ряды.
Главный элемент нейронной сети для извлечения и классификации признаков — отображение набора
виртуальных
нейронов и определение «весов». Нейронные сети имеют итеративный процесс обучения, то есть векторы исходных данных загружаются в сеть по очереди, строго по одному. Веса,
которые связаны с входными значениями, корректируются
каждый раз. На этапе обучения сеть тренируется, корректируя
веса, чтобы иметь возможность предсказать правильные классы для
исходных данных.
Для распознавания изображения человеческий мозг не
идентифицирует изображение по каждому пикселю. Он декомпозирует задачу на подзадачи через несколько уровней интерпретации. Как известно, человеческий мозг обрабатывает
визуальную информацию через структуру с несколькими слоями, которая хорошо моделируется нейронными сетями [36].
Такой же метод используется для машинного обучения.
Выделение признаков
из исходных данных человеком.
Обработанные исходные данные загружаются в нейронную сеть для предсказывания результата.
Целью глубокого обучения (рис. 11) является замена признаков, полученных в ходе ручной работы человека на неконтролируемое обучение, в ходе которого нейронная сеть сама извлечет признаки из исходных данных.
Глубокое обучение направлено на создание
моделей, применимых для обучения нейронных сетей на больших объемах
данных, а также на их структурное улучшение. Структура нейронной сети может быть очень сложной, так как она способна
вычислить любую функцию.
51

Технологии искусственного интеллекта в банковской сфере
Рис. 11. Различие между глубоким и машинным обучением
Общие весовые коэффициенты и смещения значительно
уменьшают количество параметров в сети. Это является одной
из главных причин их использования. Помимо ядер сверточного слоя, позволяющих использовать операцию свертки, в
нейронных сетях используются слои объединения. Слой объединения представляет собой слой, принимающий на вход
каждую выходную карту свойств сверточного слоя и
подготавливающий из них уплотненную карту свойств, что способствует успешному иерархическому представлению сверточных нейронных сетей.
Рассмотрим подробнее различные архитектуры сверточной нейронной сети, используемые для классификации изображений.
Сверточная нейронная сеть (СНС) является моделью нейронной сети для глубокого обучения. Ее основные характеристики:
— локально связанные нейроны;
— общие
весовые коэффициенты;
— временные выборки.
52

Глава 4
Архитектура таких сетей ориентирована на использование
двумерной структуры входного изображения. Это достигается
благодаря локально связанным нейронам и общим весовым
коэффициентам, за которыми идет определенный вид объединения, приводящий к смещению инвариантных свойств. Одним из преимуществ сверточных нейронных сетей является
более легкая обучаемость по сравнению с полносвязной нейронной сетью, имеющей
такое же количество скрытых слоев,
как у сверточной сети. В большинстве случаев сверточные
нейронные сети состоят из сверточных и подвыборных слоев,
за которыми обычно следуют полносвязные слои.
Сверточный слой получает на вход изображение, пред-
ставленное в виде массива w
× h × r, где w — высота изображе-
ния; h — ширина изображения; r — количество каналов изображения. Для примера, изображение в оттенках серого имеет
один канал (r = 1), а RGB-изображение — три канала (r
Сверточный слой n фильтров размера
× × q, где
и
= 3).
меньше, чем исходный размер изображения, а q r. От размера фильтров зависит локально связанная структура, в которой
каждый элемент переплетен с изображением для создания n
×
карт свойства размера
× q + 1.
4.2. Обзор инструментов для работы
с изображениями на языке Python
В настоящий момент в нашем мире большая часть информации представлена в виде изображений. Для работы с изображениями необходимо их предварительно обработать. Обработка изображений представляет собой процесс анализа и работы с цифровым изображением, который направлен на улучшение качества
либо информации для дальнейшего использования.
Среди задач обработки изображений выделяют следующие:
— отображение изображения;
— кадрирование;
исходного изображения или извлечения какой-
53

Технологии искусственного интеллекта в банковской сфере
— отражение;
— вращение;
— сегментация;
— классификация;
— извлечение признаков;
— восстановление;
— распознавание.
Так как обработанные изображения будут передаваться на
вход сверточной нейронной сети (написанной на языке программирования Python), то для модуля первичной обработки
будет использоваться язык программирования Python.
Для работы с изображениями имеется большое количество
Python-библиотек. Примерами библиотек являются scikit-image,
NumPy, SciPy, PIL/Pillow, OpenCV-Python, SimpleCV, pgmagick.
Рассмотрим некоторые
из них подробнее.
Библиотека scikit-image.
Scikit-image представляет собой библиотеку обработки
изображений с открытым исходным кодом. Данная библиотека включает в себя алгоритмы сегментации, геометрических
преобразований, управления цветовым пространством, анализа, фильтрации, морфологии, обнаружения признаков и многое другое.
Примером работы данной библиотеки может быть сопоставление шаблонов через функцию match_template (рис. 12).
54
Рис. 12. Пример работы функции match_template

Глава 4
Библиотека NumPy.
NumPy — одна из основных библиотек языка программирования Python, которая поддерживает работу с массивами.
Любое изображение представляет собой стандартный массив
NumPy, содержащий пиксели точек данных. Из этого следует,
что при выполнении основных операций библиотеки NumPy
(срезы, маски, индексирование) изменяются пиксельные значения изображения.
Примером работы NumPy является маскирование изображения (рис. 13).
Рис. 13. Пример работы функции NumPy
Библиотека SciPy.
SciPy представляет собой Python-библиотеку, которая предназначена для выполнения научных и инженерных расчетов.
Данная библиотека включается в себя функции для линейной
и нелинейной фильтрации, бинарной морфологии и измерений
объектов.
Примером работы SciPy является размытие изображения с
помощью фильтра Гаусса (рис. 14).
55

Технологии искусственного интеллекта в банковской сфере
Рис. 14. Размытие изображения с использованием фильтра Гаусса
Библиотека OpenCV-Python.
OpenCV (Open Source Computer Vision Library) представляет
собой библиотеку алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения.
Примером работы данной библиотеки является наложение
изображения с помощью пирамид.
Библиотека SimpleCV.
SimpleCV представляет собой еще одну библиотеку для
создания приложений по компьютерному зрению. Библиотека
позволяет работать с изображениями или видеопотоками, которые поступают с веб-камер
, Kinects или мобильных телефонов. Данная библиотека позволяет пользоваться всеми преимуществами OpenCV, при этом не беспокоясь о битовой глубине, формате файлов, цветовых пространствах, управлении
буфером, собственных значениях и матричном или растровом
хранилище.
На рисунке 15 представлены примеры использования биб-
лиотеки SimpleCV.
Рис. 15. Примеры использования библиотеки SimpleCV
56

Глава 4
Библиотека pgmagick.
Pgmagick представляет собой обертку для библиотеки
GraphicMagic на базе Python. Данная библиотека поддержива-
ет чтение, запись и операции с изображениями в большом количестве форматов, таких как DPX, GIF, JPEG, PNG, PDF и
многих других.
Примерами работы данной библиотеки являются масшта-
бирование изображения и применение фильтров (рис. 16—17).
Рис. 16. Масштабирование изображения
Рис. 17. Применение фильтра BLUR
57

Технологии искусственного интеллекта в банковской сфере
4.3. Удаленная идентификация пользователя
Распознавание изображений может широко применяться в
банковской сфере. Рассмотрим одни из наиболее очевидных
примеров — распознавание пользователей банков.
Удаленная идентификация — механизм, позволяющий физическим лицам получать финансовые услуги дистанционно в
разных банках, подтвердив свою личность с помощью биометрических персональных данных (определение лица и голоса). Эта
услуга доступна прежде всего в банковской сфере, но
имеет возможность для применения и в других сегментах экономики.
Удаленная биометрическая идентификация официально
была запущена в России 30 июня 2018 г. Именно с этой даты
началось постепенное оснащение банков оборудованием для
снятия биометрических данных.
Сегодня механизм удаленной идентификации работает
следующим образом: сначала клиент приходит
в любое отделение уполномоченного банка, где есть возможность сдачи
биометрических данных, и сотрудник банка регистрирует физическое лицо в ЕСИА (Единой системе идентификации и авторизации), записывая образец голоса и делая видеосъемку
лица человека. Банк отправляет биометрические данные в ЕБС
(Единую биометрическую систему), где они хранятся под индивидуальным
идентификатором физического лица.
После того как данные сохранятся в системе, клиент сможет получать финансовые услуги без физического присутствия в банке. Для этого достаточно будет пройти верификацию
лица и голоса через мобильное приложение с использованием
камеры и микрофона на личных устройствах, и услуга будет
оформлена полностью дистанционно.
Распознавание лица —
функция верификации личности без
пароля и логина, посредством автоматизированных средств
определения лиц по фотографии или видеоизображению. Рас-
58

Глава 4
познавание образов — неотъемлемая часть деятельности мозга,
поэтому в спектре компьютерных дисциплин задачи распознавания относятся к проблематике искусственного интеллекта.
Для человеческого мозга задача определения лица является
тривиальной. За доли секунды человек точно идентифицирует
объект на изображении, выполняя последовательно следующие шаги:
— сначала на изображении человек находит все лица;
— далее происходит
фокусировка на лице, и в случае не-
больших поворотов, наклонов или плохого освещения человек
все равно точно идентифицирует лицо;
— человек может определить характерные черты лица;
— происходит сравнение всех уникальных черт с лицами
знакомых, и в итоге задача идентификации решена.
Компьютеры не способны к такому обобщению высокого
уровня, поэтому необходимо
выстроить процесс выполнения
каждого шага по отдельности. Иными словами, необходимо
построить алгоритм, в котором каждый шаг распознавания
лица выполняется отдельно и передается результат текущего
шага на следующий шаг. Алгоритм работы определения лиц
состоит из следующих пунктов:
— обнаружение лиц (выделение лица на изображении);
— нормализация лица;
— определение опорных антропометрических точек на
лице;
— вычисление дескриптора лица — уникального числово-
го кода каждого лица;
— верификация — сравнение с имеющимися лицами в ба-
зе данных.
На рисунке 18 показана последовательность каждого шага.
При решении задачи распознавания лиц появляется проблема. Лицо одного и того же человека может быть сфотографировано при разных условиях. Алгоритм должен быть устой
чив к возрастным изменениям, наклонам головы, эмоциям на
лице, разным уровням освещенности и другим внешним факторам. Также необходимо учитывать, что определение лиц в
-
59

Технологии искусственного интеллекта в банковской сфере
банковской сфере предполагает неограниченное количество
пользователей, что добавляет требований к масштабируемости
системы.
Рис. 18. Алгоритм определения лица
Для эффективного определения лица даже с учетом наклона головы, неровностей на изображении используются алгоритмы определения лицевых ориентиров. Лицевые ориентиры — 68 антропометрических элементов лица (например,
внутренний угол брови, внешний угол глаза, кончик носа).
В данной работе рассмотрим метод определения лицевых
опорных точек, разработанный Вахидом Каземи и Джозефиной Салливан
в 2014 г. Основная цель данного метода — обнаружить важные структуры лица, используя методы прогнозирования формы:
— рот;
— правая бровь;
— левая бровь;
— правый глаз;
— левый глаз;
60
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
