Глава 1: Обзор литературы
Первым делом, необходимо найти способ выделять в рассматриваемой рукописной системе линейных уравнений строки, для их дальнейшего анализа и распознавания. Так как в данной работе рассматривается OFFLINE распознавание, отсутствует информация о том, как именно была написана система. Невозможно отследить действия человека, написавшего уравнение, которые могли помочь в определении того, какой строке принадлежит тот или иной символ.
Кроме того, дополнительную сложность представляет сама по себе рукописная природа символов, которые необходимо распознавать. Символы одного выражения, в отличие от печатного случая, могут располагаться не на одной горизонтальной прямой, а быть сдвинуты по горизонтали, а также иметь разный межсимвольный и межстрочный интервалы.
В работе [1] описывается приём построения текстового скелета, который можно использовать для разделения текста на строки, а строки на слова. Автор показывает его эффективность на печатном тексте, в том числе, искаженном относительно осей абсцисс и ординат.
Наиболее подходящим для поставленной задачи, а именно, выделение выражений на изображении, содержащем СЛУ, является подход, подразумевающий построение скелета текста, в качестве которого выступает диаграмма Вороного. Она будет использоваться, как текстовый скелет, по аналогии с [1]. В статье [2] описываются алгоритмы на основе диаграммы Вороного, позволяющие разделять выражения между собой, используя различные метрики. В частности, важными метриками являются близость символа к границе его клетки и расстояние между двумя соседними ячейками Вороного.
Глава 2: Основные понятия
В этой главе приводятся необходимые для работы математические алгоритмы. Кроме того, будут перечислены некоторые термины, относящиеся к темам нейронных сетей и распознаванию изображений.
Перцептрон (perceptron) Розенблатта — нейронная сеть, имеющая 1 скрытый слой, позволяющий ей решить «проблему XOR».
Многослойный перцептрон (multilayer perceptron, MLP) — идейное продолжение перцептрона Розенблатта, суть которого в наличии более одного скрытого слоя. Для данной модели важной и непростой задачей является задача обучения сети, а именно настройка синапсов — весов, попарно соединяющих слои нейронов.
Метод обратного распространения ошибки (backpropagation method) — метод обучения многослойного перцептрона, основанный на алгоритме градиентного спуска. Ошибка, полученная методом градиентного спуска, распространяется дальше в сеть. Причем, сильнее корректируются веса, соединяющие нейроны, которые показывали наибольшую ошибку на тестирующем подмножестве из тестовой коллекции.
Свёрточная нейронная сеть (convolutional neural network) — особый тип нейронной сети, созданный для работы с изображениями; очень хорошо зарекомендовал себя в задачах распознавания изображений.
На вход свёрточной нейронной сети подаётся изображение. В случае, если изображение является трёх-канальным (RGB изображение), возможны два варианта обработки: приведение к чёрно-белому или рассмотрение каждого из каналов отдельно. Во втором случае, все сказанное далее будет верно, с той оговоркой, что проход по сети будет осуществляться для каждого канала отдельно.
Рисунок 1: Архитектура свёрточной нейронной сети
Далее каждое изображение проходит последовательно через свёрточный (convolutional) и подвыборочный (sub-sampling / pooling) слои. Чередуясь между собой несколько раз , они формируют входной вектор признаков для многослойного персептрона, который является завершающей частью свёрточной нейросети.
Свёрточный слой представляет собой массив так называемых карт признаков. Каждой карте соответствует своё сканирующее ядро (или, как иногда говорят, фильтр). Пришедшее с предыдущего слоя изображение подвергается свёртке - сканирующее ядро проходит по всему изображению, начиная с левого верхнего угла, и на каждой итерации записывает сумму поэлементного произведения своих элементов и элементов, которые подвергаются свёртке.
Весь текст будет доступен после покупки