Назад в библиотеку

Источник: ИУСМКМ—2021 : материалы XII Международной научно-технической конференции «Информатика, управляющие системы, математическое и компьютерное моделирование» / Донецкий нац. техн. ун-т ; сост.: А. И. Воронова, Т. А. Васяева ; под ред. Р. В. Мальчевой. — Донецк : ДОННТУ, 2021. — 149 с.


УДК 004.93.14

АНАЛИЗ ИЗОБРАЖЕНИЙ ЧЕКОВ ДЛЯ УЧЕТА ФИНАНСОВЫХ СРЕДСТВ ПОТРЕБИТЕЛЯ

Ломакин Е.С., Мартыненко Т.В.

Донецкий национальный технический университет кафедра автоматизированных систем управления

E-mail: jeklom@gmail.com, tatyana.v.martynenko@gmail.com

Аннотация

Ломакин Е.С., Мартыненко Т.В. Анализ изображений чеков для учета финансовых средств потребителя. Рассмотрены методы распознавания образов на изображениях. Исследование методов распознавания символов показало, что наиболее подходящими для анализа изображений чеков являются методы, основанные на глубоком обучении. Разработан комплексный критерий классификации и детекции объектов на изображениях для определения оптимального уровня обучения модели.

Annotation

Lomakin Y.S., Martynenko T.V. Analysis of store receipt images for accounting of consumer funds. Methods of pattern recognition in images are considered. Research into character recognition methods has shown that deep learning-based methods are the most suitable for analyzing store receipt images. A complex criterion for the classification and detection of objects in images has been developed to determine the optimal level of training for the model.

Введение

В современном мире существует множество вариантов хранения денег начиная от наличных сбережений и заканчивая электронными кошельками. Сбережения одного человека могут храниться сразу в нескольких местах и, со временем, их учет становится все более сложным занятием. В таких ситуациях идеально помогают расчетные таблицы для ведения собственной «бухгалтерии», но не у каждого есть возможность вести большие таблицы в Excel, либо изучать новые технологии для достижения цели. Для этого и необходимы системы, которые позволяют рядовому пользователю контролировать свои финансы без надобности особых знаний в этой области.

Общая постановка проблемы

В современном мире существует множество вариантов хранения денежных средств: начиная от наличных сбережений и заканчивая электронными кошельками. Сбережения одного человека могут храниться сразу в нескольких местах и, со временем, их учет становится все более сложным занятием. В таких ситуациях идеально помогают расчетные таблицы для ведения собственной «бухгалтерии», но не у каждого есть возможность вести большие таблицы в Excel, либо изучать новые технологии для достижения цели.

Для облегчения учета финансов потребителя возникает необходимость разработки автоматизированной системы, которая предоставит возможность хранения всей необходимой информации о его доходах и расходах. Взаимодействие с системой будет происходить через мобильное приложение, что позволит добавлять актуальную информацию о состоянии денежных средств. Это позволит потребителю избавиться от бумажных записей и надобности вручную формировать отчетную информацию.

Одним из видов расходов являются покупки в магазине. Существуют ситуации, когда у потребителя есть необходимость в учете приобретенных товаров, либо учете с разбиением их на категории. Анализ изображений чеков позволит сократить время, которое будет затрачено на внесение в систему всех записей с их стоимостью, к минимуму. После успешного анализа изображения чека все необходимые данные о покупке будут автоматически занесены в систему и доступны для редактирования.

Постановка задачи анализа изображений чеков

Анализ чека можно разбить на несколько шагов:

Каждый магазин имеет свою структуру чека, но у всех чеков есть общие параметры, такие как: наименование товара; количество купленных товаров; цена за единицу товара; итог по товару; итог по всему чеку

Анализ методов распознавания образов

Распознавание изображений основывается на распознавании образов. Распознавание образов — научная дисциплина, целью которой является выявление объектов по нескольким критериям или классам.

Разделяют 3 группы методов распознавания образов:

По сравнению с линейными методами статистики, нейронные сети позволяют эффективно строить нелинейные зависимости, более точно описывающие наборы данных. Что же касается байесовского классификатора, строящего квадратичную разделяющую поверхность, нейронная сеть может построить поверхность более высокого порядка. Высокая нелинейность разделяющей поверхности наивного байесовского классификатора требует значительного суммарного числа примеров для возможности оценки вероятностей при каждом сочетании интервалов значений переменных − тогда как нейронная сеть обучается на всей выборке данных, не фрагментируя её, что повышает адекватность настройки сети. Таким образом, для более качественного и быстрого распознавания лучше подойдут нейронные сети.

Сравнительный анализ методов распознавания символов на изображении

Для распознавания символов на изображении используется технология под названием «OCR». Оптическое распознавание символов (OCR) — механический или электронный перевод изображений рукописного, машинописного или печатного текста в текстовые данные, использующиеся для представления символов в компьютере (например, в текстовом редакторе). Распознавание широко применяется для преобразования книг и документов в электронный вид, для автоматизации систем учёта в бизнесе или для публикации текста на веб-странице.

Распознавание текста состоит, в основном, из 2 этапов. Во-первых, необходимо определить положение текста на изображении.

Во-вторых, после нахождения строки все методы можно объединить в 3 следующие группы:

Наилучшим решением будет использование «Стандартного подхода глубокого обучения». Это связано с тем, что с его помощью можно выполнять более сложные задачи, нежели с «Классическими техниками компьютерного зрения», а также благодаря модели нейронной сети, которая обучена на конкретных, подходящих под задачу, данных, точность классификации может достигать более высоких показателей.

Математическая постановка задачи анализа изображений

Пусть U — множество образов в данной задаче анализа. Отдельный образ из этого множества будем обозначать символом x. Каждый образ x∈U может характеризоваться бесконечным (и даже несчетным) числом признаков. На этапе формирования алфавита признаков мы должны выбрать некоторое подмножество признаков (как правило, конечное), которое называют пространством признаков. Это множество будем обозначать через X. Как правило, множество X снабжено линейной или метрической структурами. Чаще всего X — конечномерное метрическое (X = Rn) или линейное пространство. Пусть x — элемент пространства X, соответствующий образу x∈U, а P:U → X — оператор, отображающий x в x.

Заметим, что оператор P является оператором проектирования, т.е. P2 = P. Кроме того, X = P (U).

Предположим, что во множестве образов U в данной задаче анализа нас интересуют некоторые подмножества — классы. В классической задаче классификации считается, что множество классов Ω ={ω ω1,..., m} является конечным, и классы образуют полную группу подмножеств из U (разбиение пространства образов U ), т.е. U и ϖ ∩ ϖi = ∅ для всех i ≠ j . В общем случае классов может быть и бесконечно много, и они могут не составлять полную группу множеств.

Классифицировать образ x∈U по классам ω,...,ωm — это значит найти так называемую индикаторную функцию g:U →Y, Y ={y1,..., ym}, которая ставит в соответствие образу x∈U метку yi ∈Y того класса ϖi , которому он принадлежит, т.е. g x( ) = yi , если x∈ϖi .

Реально мы имеем дело не со всем множеством образов U, а только с проекцией X = P(U) — пространством признаков. Тогда требуется найти такую функцию g:X →Y, которая ставила бы в соответствие каждому вектору x=Px∈X метку yi ∈Y того класса ϖi , которому принадлежит соответствующий образ, т.е. g(x)= yi , если x= Px, x∈ϖi . Такая функция называется решающей.

Заметим, что множество P−1x, x∈ X может не быть одноэлементным, поэтому оно может иметь непустые пересечения с разными классами ϖi.. Следовательно, функция g(x) будет неоднозначной. В этом смысле задача классификации (распознавания) является некорректной задачей. В соответствии с общим подходом решения некорректных задач, из многозначной функции g(x) можно выделить однозначную ветвь, если потребовать, чтобы она удовлетворяла определенным условиям оптимальности. В качестве такого критерия оптимальности может выступать минимальность ошибки неправильной классификации.

В пространстве признаков X множеству классов Ω ={ω,..., ωm} соответствует некоторое, вообще говоря, покрытие X1,...,X m пространства X :

Xi ={x = Px:x∈ϖi}, i =1,...,m. Множества X1,...,X m могут, вообще говоря, пересекаться. Поэтому вместо покрытия X1,..., X m будем рассматривать разбиение X1,...,X m пространства X такое, что Xi ⊆ Xi . Такое разбиение будет определяться неоднозначно. Чем «правильнее» выделены наиболее информативные признаки, тем «степень неоднозначности» выбора разбиения X1,...,Xm будет меньше. Области Xi будем называть областями предпочтения классов ϖi. Как правило, на этапе обучения системе распознавания доступна информация о классах в виде некоторого множества пар (xj, yj), j=1,...,N , где xj = Pxj , y j = g(xj)∈Y . Множество Ξ ={x1,...,xN} называют обучающей выборкой, а пару (xj, y j ) — прецедентом. По множеству прецедентов (Ξ,Y) = {(xj , yj): j=1,...,N} требуется найти решающее правило — функцию g(x), которая осуществляла бы классификацию элементов обучающей выборки с наименьшим числом ошибок.

В некоторых задачах (например, при кластеризации данных) множество меток Y неизвестно. В этом случае система анализа сама должна разбить обучающую выборку на классы, исходя из некоторых критериев оптимальности.

Математическая постановка криетериев классификации и детекции

Критерий объединение через пересечение (IoU):

Заключается в отношении пересечения и объединения областей найденного объекта с ожидаемым.

$$ IoU = {Пересечение объектов \over Объединение объектов} \xrightarrow . 1 $$

Точность (Accuracy):

$$ Accuracy = {P \over N} \xrightarrow . 1 (max) $$

где P — количество объектов классифицированных верно

N — количество объектов классифицированных неверно

Точность (Precision) и Полнота (Recall):

Точность (precision) и полнота (recall) являются метриками, которые используются при оценке большей части алгоритмов извлечения информации. Иногда они используются сами по себе, иногда в качестве базиса для производных метрик, таких как F-мера или R-Precision.

Суть точности и полноты очень проста. Точность системы в пределах класса — это доля документов, действительно принадлежащих данному классу относительно всех объектов, которые система отнесла к этому классу. Полнота системы — это доля найденных классфикатором объектов, принадлежащих классу относительно всех объектов этого класса в тестовой выборке.


$$ Precision = {𝑇𝑃 \over TP + FP} \xrightarrow . 1 $$

где TP — истинно-положительное решение

FP — ложно-положительное решение

$$ Precision = {𝑇𝑃 \over TP + FN} \xrightarrow . 1 $$

где TP — истинно-положительное решение

FN — ложно-отрицательное решение


F-мера:

F-мера представляет собой гармоническое среднее между точностью и полнотой. Она стремится к нулю, если точность или полнота стремится к нулю.

$$ F = 2 {Precision * Recall \over Precision + Recall} \xrightarrow . 1 $$

Выводы

Исходя из анализа методов распознавания объектов и классификации символов было принято решение использовать нейронные сети в связке со стандартными методами глубокого обучения. Так как большинство чеков имеют собственную структуру, то будет необходимо обучить нейронную сеть таким образом, чтобы она смогла распознавать информацию на всех видах чеков.

Для определения точности распознавания будут использоваться критерии классификации и детекции. Таким образом, можно будет определить в какой момент обучение будет оптимальным.

Перечень источников

  1. Методы распознавания образов // oxozle.com: интернет-портал — URL: https://oxozle.com/2015/03/29/metody-raspoznavaniya-obrazov-chast-1/
  2. Методы OCR // towardsdatascience.com: интернет-портал — URL: https://towardsdatascience.com/a-gentle-introduction-to-ocr-ee1469a201aa
  3. Метрики в задачах машинного обучения // habr.com: интернет-портал — URL: https://habr.com/ru/company/ods/blog/328372/