Научная статья на тему 'Мобильная система учета расходов'

Мобильная система учета расходов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
99
22
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МОБИЛЬНАЯ СИСТЕМА / MOBILE SYSTEM / СМАРТФОН / РАСПОЗНАВАНИЕ ЧЕКОВ / CHARACTER RECOGNITION / ПРЕДВАРИТЕЛЬНАЯ ОБРАБОТКА ИЗОБРАЖЕНИЙ / СЕГМЕНТАЦИЯ ИЗОБРАЖЕНИЙ / IMAGE SEGMENTATION / ВЫДЕЛЕНИЕ ПРИЗНАКОВ / FEATURE EXTRACTION / РАСПОЗНАВАНИЕ СИМВОЛОВ / ПОСТОБРАБОТКА ИЗОБРАЖЕНИЙ / SMART PHONE / IDENTIFICATION CHECKS / ADVANCED IMAGE PROCESSING / IMAGE POST-PROCESSING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Кирпичников А.П., Ляшева С.А., Пекерман И.Л., Шлеймович М.П.

В работе рассмотрены мобильные системы учета расходов, их структура, применяемые алгоритмы и технологии.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Мобильная система учета расходов»

УДК 004.932

А. П. Кирпичников, С. А. Ляшева, И. Л. Пекерман, М. П. Шлеймович

МОБИЛЬНАЯ СИСТЕМА УЧЕТА РАСХОДОВ

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

В работе рассмотрены мобильные системы учета расходов, их структура, применяемые алгоритмы и технологии.

Keywords: mobile system, smart phone, identification checks, advanced image processing, image segmentation, feature extraction,

feature extraction, character recognition, image post-processing.

In this paper discusses the mobile cost accounting system, their structure, used algorithms and technologies

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

Одно из направлений применения смартфонов связано с решением задач планирования личного либо семейного бюджета, основанных на анализе текущих расходов [1]. Каждый человек совершает в среднем несколько сотен покупок в год. Многие люди при этом хотят контролировать свои расходы. Одним из очевидных способов ведения личной бухгалтерии - отслеживание трат при помощи чеков, полученных при покупке товаров или оказании услуг. Использование смартфонов для этой цели обуславливается простотой получения и анализа данных. Ниже приведен ряд достоинств мобильной системы учета расходов:

1. Оперативное отслеживание изменения цен в магазинах, гипермаркетах, супермаркетах;

2. Определение наиболее выгодного места покупки необходимого товара;

3. Планирование расходов на месяц.

Основной задачей в мобильной системе

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

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

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

отправки полученного изображения на сервер через приложение или через сайт разработчика, обработки данных на самом сервере и получении результатов на почту. Результатом являются полученные данные с изображения: сумма покупки, дата, место и тип покупки. Время обработки изображения на сервере системы занимает 3- 5 минут.

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

Некоторые проекты, например, BilliBox и «33 бакса», закрылись, не оправдав ожиданий пользователей. В проекте BilliBox время распознавания чека занимало порядка 3-х и более часов. При этом изображения пользователей загружались на сервер и там обрабатывались. Кроме большего времени распознавания недостатком данной системы было то, что в некоторых случаях выдавалось следующее сообщение об ошибке: «К сожалению, Ваше фото не содержит изображение розничного чека. Пожалуйста, используйте BilliBox по прямому назначению, для всего остального есть Инстаграм». Программа «33 бакса» являлась стартапом, и этот проект даже не удалось запустить, поскольку был сделан вывод о нецелесообразности ее использования.

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

Задача распознавания текстовой информации при переводе печатного и рукописного текста в электронную форму (задача оптического распознавания символов, optical character recognition, OCR) является одной из важнейших составляющих любого проекта, имеющего целью автоматизацию документооборота или внедрение безбумажных технологий. Эта задача является одной из наиболее сложных и наукоемких задач полностью автоматического анализа изображений. Между тем, в наиболее ответственных приложениях необходимо обеспечивать более высокую надежность распознавания да-

же при плохом качестве печати и оцифровки исходного текста.

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

На практике применяются как коммерческие, так и бесплатные системы распознавания символов. Одной из самых известных бесплатных систем распознавания символов является Tesseract, разработанный компанией Google [2, 3]. Система Tesseract первоначально разрабатывалась

компанией Hewlett-Packard как закрытый коммерческий проект. После закрытия проекта компания выпустила его как продукт с открытым кодом в 2005 году. Компания Google продолжила работу над проектом под свободной лицензией Apache. На данный момент Tesseract считается одной из самых точных и качественных бесплатных систем из всех существующих. Tesseract - это классическая система распознавания символов, консольная программа, на вход которой подается изображение в формате TIFF, а на выходе выдается распознанный текст.

Еще одна бесплатная система распознавания символов - SimpleOCR [3]. Данное приложение по своим возможностям не сильно отличается от Tesseract. Данный продукт бесплатен для любого некоммерческого использования. Однако для российских разработчиков он имеет существенный недостаток - программа поддерживает только английский и французский языки.

Системы распознавания символов состоят из следующих основных блоков, предполагающих аппаратную или программную реализацию:

1. Предварительная обработка изображений;

2. Сегментация изображений;

3. Выделение признаков;

4. Распознавание символов;

5. Постобработка результатов.

Данные блоки соответствуют последовательным шагам обработки и анализа изображений.

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

Для реализации предварительной обработки изображений могут быть использованы различные алгоритмы. Например, сглаживание можно выполнить с помощью простого (с одинаковыми весами)

или взвешенного (с различными весами) усреднения значений пикселей по окрестности. Для сглаживания изображений с текстом хорошо себя зарекомендовали медианные фильтры. Выбор алгоритмов яр-костной или цветовой коррекции связан с анализом искажений, вносимых камерой. Геометрическая коррекция выполняется, например, в случае приведения к требуемым размерам и ориентации [4].

Сегментация предназначена для разбиения изображения документа на отдельные области. Как правило, прежде всего, необходимо отделить печатный текст от графики и рукописных пометок. Далее большинство алгоритмов оптического распознавания разделяют текст на символы и распознают их по отдельности. Это простое решение действительно наиболее эффективно, если только символы текста не перекрывают друг друга. Слияние символов может быть вызвано типом шрифта, которым был набран текст, плохим разрешением печатающего устройства или высоким уровнем яркости, выбранным для восстановления разорванных символов [4, 5].

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

1. Разбиение изображения проведением контуров. Заключается в обнаружении контуров с помощью тех или иных операторов, а также в их прослеживании, связывании, и составлении из них границ областей. Известно много различных алгоритмов обнаружения контурных границ. Большинство из них основано на применении различных контурных операторов (операторов Робертса, Пре-витт, Собеля, Лапласа и др.), алгоритмов обнаружения так называемых точек перехода через ноль второй производной и алгоритмов прослеживания контуров. Для решения задачи сегментации такой подход имеет ряд преимуществ, среди которых: возможность получения карты с непрерывными контурными линиями; прослеживание линии в случае небольших нарушений контурных перепадов (разрывов); проведение контурных линий минимальной толщины. Из недостатков можно отметить: сильная зависимость от шумов на изображении, необходимость предварительного выбора начальных точек прослеживания контуров, определенные сложности в точках пересечения или ветвления контуров, необходимость дополнительного анализа и фильтрации полученной карты контуров.

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

3. Разбиение изображения на однородные области. Здесь в первую очередь необходимо упомянуть пороговые методы, использующие как глобальные, так и адаптивные пороги. Кроме того, к данному классу относятся методы разбиения и слияния областей и методы выращивания областей. Методы слияния и разделения областей основаны на первичном разбиении изображения на множество малых непересекающихся областей и осуществлении последующего их слияния и разделения. Методы выращивания областей состоят в группировке элементов изображения в более крупные области, начиная из определенных центров кристаллизации.

4. Кластеризация в пространстве признаков. Она заключается в выборе отображения набора входных данных в некоторое многомерное пространство признаков и последующее решение классической задачи кластеризации - разбиении выбранного пространства на классы, базируясь на плотности распределения в нем. Данные методы особенно удобны, когда заранее известно количество классов объектов, содержащихся в изображении. Также как правило, предполагается, что обнаруженные в пространстве признаков кластеры отображают связные области. Классическая процедура кластеризации может дать неверные результаты, если отображения различных областей исходного изображения в пространстве признаков заметно перекрываются. Для преодоления данной проблемы предлагается расширение пространства признаков, например, путем добавления значений координат изображения.

В блоке выделения признаков осуществляется выделение образующих элементов или численных характеристик, используемых впоследствии для их распознавания. Таким образом, после выполнения сегментации необходимо выполнить процедуру описания полученных областей. В этом случае формируются дескрипторы, отражающие свойства цвета, текстуры или формы соответствующей области [4, 7].

Распознавание символов заключается в их классификации, т. е. в соотнесении с соответствующими им метками классов, представителями которых являются искомые символы. Распознавание символов происходит в процессе сравнения выделенных характерных признаков с эталонными наборами и структурами признаков, формируемыми и запоминаемыми в процессе обучения системы на эталонных или реальных примерах текстовых символов [4, 5, 8].

В настоящее время одним из лучших методов классификации считается метод опорных векторов SVM (support vector machine, машины опорных векторов) [8, 9, 10], который обладает несколькими замечательными свойствами:

1) обучение сводится к задаче квадратичного программирования, имеющей единственное решение, которое вычисляется достаточно эффективно даже на выборках в сотни тысяч объектов;

2) решение обладает свойством разреженности, т. е. положение оптимальной разделяющей гиперплоскости зависит лишь от небольшой доли обучающих объектов, которые и называются опор-

ными векторами, а остальные объекты фактически не задействуются;

3) с помощью введения функции ядра метод обобщается на случай нелинейных разделяющих поверхностей.

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

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

2. Создается набор классификаторов бинарных классификаторов, а затем выбирается класс, предложенный большинством классификаторов.

Постобработка результатов распознавания предназначена для разрешения возникающих неопределенностей.

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

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

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

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

Литература

1. 10 мобильных приложений, которые контролируют личные финансы / Мария Иванова // http://www.spb-venchur.ru/news/24830.htm.

2. Shin Shi Emgu CV Essentials. Packt Publishing, 2013.

3. Вся правда об OCR // http://blogerator.ru.

4. Гонсалес Р., Вудс Р. Цифровая обработка изображений. Издание 3-е, исправленное и дополненное. - М.: Техносфера, 2012.

5. Цифровая обработка видеоизображений / А.А.Лукьяница, А.Г.Шишкин. - М.: «Ай-Эс-Эс Пресс», 2009.

6. Чочиа П.А. Пирамидальный алгоритм сегментации изображений // Информационные процессы, Том 10, № 1, с. 23 - 35.

7. Кирпичников А.П., Ляшева С.А., Шлеймович М.П. Контекстный поиск изображений //Вестник Казанского технологического университета. - Казань: КНИТУ, 2014. - Т. 17. №18. - С. 244-251.

8. Воронцов К.К. Машинное обучение (курс лекций) [Электронный ресурс] // Профессиональный информа-

ционно-аналитическии ресурс, посвященный машинному обучению, распознаванию образов и интеллектуальному анализу данных. URL: http://www. machinelearning.ru.

9. Хайкин С. Нейронные сети: полный курс, 2-е издание: Пер. с англ. - М. Издательский дом «Вильямс», 2006.

10. Манинг К.Д., Рагхаван П., Шютце Х. Введение в информационный поиск: Пер. с англ. - М.:ООО «И. Д. Вильямс», 2011.

© А. П. Кирпичников - д. ф.-м. н., зав. каф. интеллектуальных систем и управления информационными ресурсами КНИТУ, kirpichnikov@kstu.ru; С. А. Ляшева - к.т.н., доцент каф. прикладной математики и информатики КНИТУ-КАИ; И. Л. Пекер-ман - студент КНИТУ-КАИ, pekeril@list.ru; М. П. Шлеймович - к.т.н., доц. каф. автоматизированных систем обработки информации и управления КНИТУ-КАИ, shlch@mail.ru.

© A. P. Kirpichnikov - Dr. Sci, Head of the Department of Intelligent Systems & Information Systems Control, KNRTU, kirpichnikov@kstu.ru; S. A. Lyasheva - PhD., Associate Professor of the Department of Applied Mathematics & Informatics, KNRTU-KAI; I L. Pekerman - student KNRTU-KAI, pekeril@list.ru; M. P. Shleymovich - PhD., Associate Professor of the Department of Automated Information Processing Systems & Control, KNRTU-KAI, shlch@mail.ru.

i Надоели баннеры? Вы всегда можете отключить рекламу.