Обзор методов распознавания изображений
Автор: Долгов Владимир Андреевич
Рубрика: 1. Информатика и кибернетика
Опубликовано в
VI международная научная конференция «Современные тенденции технических наук» (Казань, май 2018)
Дата публикации: 02.05.2018
Статья просмотрена: 2200 раз
Библиографическое описание:
Долгов, В. А. Обзор методов распознавания изображений / В. А. Долгов. — Текст : непосредственный // Современные тенденции технических наук : материалы VI Междунар. науч. конф. (г. Казань, май 2018 г.). — Казань : Молодой ученый, 2018. — С. 7-9. — URL: https://moluch.ru/conf/tech/archive/300/14199/ (дата обращения: 21.11.2024).
Гистограмма направленных градиентов
Гистограмма направленных градиентов (Histogram of Oriented Gradient или HOG) — метод предложенный в 2005, один из первых предложенных алгоритмов который справлялся с задачей распознавания с достаточной скоростью и надёжностью для решения прикладных задач.
Основная идея алгоритма заключается в том, что изображение может быть описано распределением градиентов интенсивности или направления краев. Как правило, построение этих дескрипторов происходит путем разбиения изображения на ячейки, и присвоения каждой ячейке гистограммы направлений градиентов для пикселей внутри ячейки, их комбинация и является дескриптором. С целью увеличения точности обрабатываемое изображение, как правило, делают чёрно-белым, а локальные гистограммы нормализуют по контрасту относительно меры интенсивности, вычисляемой на большем фрагменте изображения. Нормализация по контрасту позволяет добиться большей инвариантности дескрипторов к освещению.
Рис. 1. Результат обработки изображения HOG
Конечным этапом применения метода в оригинальной работе, представляющей этот метод, является классификация дескрипторов с помощью системы обучения с учителем, в частности, использовался метод опорных векторов.
Несмотря на то, что данный метод был представлен в 2005 году, он до сих пор применяется для решения различных задач и имеет множество актуальных модификаций.
Свёрточные нейронные сети
Свёрточная нейронная сеть (Convolutional neural network или CNN) — специальная архитектура нейронных сетей, предложенная в 1988 году и предназначенная для распознавания изображений. Архитектура вдохновлена некоторыми особенностями коры головного мозга, в которой были открыты простые клетки и сложные клетки. Простые клетки реагируют при восприятии прямых линий под различными углами, реакция сложных клеток связана с определенным набором простых клеток. В свёрточных нейронных сетях используется три вида слоёв: свёртки, пулинга (также называемый слоем подвыборки или субдискретизации) и полносвязный слой. Структура сети — однонаправленная, многослойная, для обучения, как правило, используется метод обратного распространения ошибки, функция активации нейронов определяется исследователем.
Название данная архитектура получила благодаря использованию операции свертки, которая заключается в поэлементном умножении каждого фрагмента изображения на ядро свёртки и последующей записи результата в соответствующую позицию выходного изображения.
Рис. 2. Архитектура свёрточной нейронной сети
Оператор свёртки составляет основу свёрточного слоя сети. Слой состоит из набора ядер и вычисляет свёртку выходного изображения из предыдущего слоя с помощью этого набора, на каждой итерации добавляя соответствующее ядру смещение. Результат данной операции — сложение и масштабирование входных пикселей, ядра можно получить из обучающего набора методом градиентного спуска, аналогично вычислению весов в полносвязных сетях, которые так же могут выполнять эти операции, но потребуют гораздо большего времени и данных для обучения. Однако, в сравнении с полносвязными сетями, свёрточные используют большее количество гиперпараметров — параметров, задаваемых до начала обучения, таких как: глубина (количество ядер и коэффициентов смещения в слое), высота и ширина каждого ядра, шаг (смещение ядра на каждом шаге при вычислении следующего пикселя).
Слой пулинга получает на выход отдельные фрагменты изображения (как правило, 2х2) и объединяет их в одно значение. Существуют различные способы агрегации, обычно, выбирается наибольшее значение из полученного фрагмента.
Несмотря на то, что архитектура свёрточных нейронных сетей была разработана в конце прошлого века, аппаратная составляющая, которая позволила эффективно применять их и им подобные архитектуры появилась сравнительно недавно, и с того момента свёрточные сети являются самым распространённым методом в задаче распознавания изображений.
Рекуррентные нейронные сети
Рекуррентные нейронные сети (Recurrent neural network или RNN) — вид нейронных сетей, в которых связи образуют направленную последовательность, что позволяет обрабатывать серии событий по времени и последовательные пространственные цепочки.
Их основное отличие от традиционных архитектур — логика работы сети, в рекуррентных сетях нейрон взаимодействует сам с собой. На вход, как правило, подается некоторая последовательность. Последовательность поэлементно передается одним и тем же нейронам, который свой сигнал вновь передает себе вместе со следующим элементом последовательности пока она не будет обработана полностью.
Моделирование памяти в нейронной сети подобным образов вводим новое измерение в описание процесса её работы — время. Пусть сеть обрабатывает последовательность данных, например, некоторый текст. Каждый элемент последовательности поступает на нейрон в новый условный момент времени, к этому моменту в нём уже есть накопленный с начала работы опыт.
Основное различие типов рекуррентных нейронов друг от друга кроется в обработке памяти внутри них. Классический подход — сложение векторов сигнала и памяти и вычисление активации от суммы, например, гиперболическим тангенсом. Получаем обычная сеть с одним скрытым слоем. Но память, реализованная подобным образом, получается весьма короткой. Поскольку информация в памяти каждый раз смешивается с информацией в новом сигнале, через 5–7 итераций информация полностью перезаписывается. При работе с короткими последовательностями это не критично, но при обработке больших объемов данных, то сохраненные в памяти закономерности будут применяться только на небольших объемах данных, а масштабные паттерны вообще не будут подлежать обнаружению. Это очень условное описание достаточно фундаментальной проблемы нейронных сетей, которая называется проблемой исчезающего градиента.
Что бы справиться с этой проблемой, была придумана модификация LSTM-RNN (Long Short-Term Memory Recurrent Neural Network). Такая сеть управляется с помощью рекуррентных вентилей «забывания». Распространение ошибки назад по времени происходит через условно бесконечное количество виртуальных слоёв, что позволяет во время обучения сохранять помять о гораздо большем количестве временных интервалов, благодаря чему, даже большие паузы между важными событиями учитываются, значит компоненты с разной частотой возникновения могут смешиваться. Топологии подобных сетей могут изменяться зависимости от особенностей процесса.
Непосредственно рекуррентные сети для задачи распознавания изображений использовались нечасто, но в 2015 году исследователи из Microsoft с серьезным отрывом выиграли соревнование в этой дисциплине используя новую нейросеть, архитектуру которой они назвали остаточной (Residual Neural Network). Но при дальнейшем рассмотрении выяснилось, что она является, практически, полным эквивалентом LSTM-RNN.
Литература:
1. Dalal, Navneet, and Bill Triggs. “Histograms of oriented gradients for human detection.” Computer Vision and Pattern Recognition (CVPR), 2005.
2. Vincent Dumoulin and Francesco Visin. “A guide to convolution arithmetic for deep learning.” arXiv preprint arXiv:1603.07285 (2016).
3. Sak, Hasim “Long Short-Term Memory recurrent neural network architectures for large scale acoustic modeling” (2014).
4. Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun “Deep Residual Learning for Image Recognition” (2015)