Астраханская область, Россия
Россия
Астрахань, Россия
В контексте распознавания неоцифрованных изображений, имеющих низкое качество из-за наличия различных шумов, предложена модель процесса распознавания символов, позволяющая учитывать разное качество входных изображений. Решается проблема распознавания изображений, содержащих разные типы шумов. Алгоритмы, которые сглаживают изображение и убирают плотное скопление шума, зачастую не справляются с шумами, разбросанными по всему изображению равномерно («соль»), а использование сразу нескольких алгоритмов подавления шума может отразиться на качестве изображения. Если подо-брать неподходящий алгоритм размытия, впоследствии при поиске границ можно получить менее точные координаты контуров изображения для дальнейшей сегментации и распознавания. При сегментации изоб-ражения может случится так, что в связи с некорректной обработкой процесс поиска пикселей символов приведет к неправильному результату. Чтобы решить эту проблему, предлагается сформировать множество алгоритмов размытия и множество алгоритмов бинаризации. На этапе обработки изображения использование множества сочетаний вместо одного конкретного сочетания алгоритмов поможет добиться более гибкой и устойчивой к различным типам дефектов на изображениях работы модуля распознавания. Разработанная модель процесса распознавания символов поможет достигнуть значительного повышения точности распознавания неоцифрованных документов за счет наиболее эффективной обработки изображений, имеющих различный шум. Помимо удаления шумов, усовершенствованная модель позволит более точно находить границы изображений, которые имеют проблемы с качеством. Теоретической значимостью исследования является результат моделирования процесса распознавания символов, использующего множество сочетаний алгоритмов обработки изображения, для проведения более обширного анализа и выявления наиболее эффективных сочетаний алгоритмов.
обработка изображений, распознавание символов, оцифровка изображений, шум на изображении, бинаризация, размытие, сглаживание, нейронная сеть, множества
Введение
Статистика национального проекта «Малое и среднее предпринимательство» на 2022 г. демонстрирует, что количество субъектов малого и среднего предпринимательства выросло на 2,1 % по сравнению с 2021 г., однако количество работников уменьшилось на 0,5 %, т. е. количество субъектов медленно растет, а количество работников в таких организациях только уменьшается [1].
На различных предприятиях малого и среднего бизнеса документоведы получают больше 100 писем в месяц в неоцифрованном формате PDF без текстового слоя, на которые нужно отвечать. При необходимости заимствования информации из таких документов возникает проблема невозможности копирования текста. Без наличия качественной системы OCR не получится за короткий срок сформировать новый документ или изъять какую-либо информацию из полученного документа. На процесс формирования нового оцифрованного документа затрачивается очень много времени, что может отразиться на производительности таких организаций. Не все организации малого и среднего предпринимательства могут позволить себе высокоточные системы распознавания: затраты на внедрение таких систем могут быть неподъемным грузом для таких организаций. В некоторых случаях необходимо затрачивать средства на технику, которая будет поддерживать систему распознавания, на обучение персонала и на саму систему. Одни качественные системы ушли с рынка в России, другие из-за ряда проблем предлагают функционал с низким процентом распознавания проблемных документов.
Программы, реализующие рассматриваемый процесс, уже существуют, однако у каждой из них есть серьезные недостатки. Например, OCRFeeder – программа с открытым исходным кодом для операционной системы Linux – давно не сопровождается. Другие, более популярные программы, такие как FineReader, ушли с рынка в РФ и Белоруссии. Системы от 1С или Smart Engines распознают только структурированные документы, что не является гибким решением. Если рассматривать облачные аналоги, то появляется угроза информационной безопасности. В организациях, как правило, очень много важных документов/договоров, которые не должны распространяться [2].
Таким образом, актуальной становится задача разработки модели процесса распознавания символов, которая учитывает входные изображения различного качества.
Проблемы текущих решений
Многие системы OCR, доступные для малого бизнеса, имеют низкую точность распознавания. Это связано с многими факторами. Например, алгоритмы обработки изображения не охватывают всевозможные входные изображения разного качества. Для рассмотрения проблемы детальнее можно представить простую OCR-систему, этап сглаживания изображения которой включает в себя только алгоритм медианного размытия. В таком случае при обработке изображения, на котором расположен так называемый гауссовский шум, качество не улучшится, т. к. нужный шум не будет удален. Аналогичные проблемы могут присутствовать и в других алгоритмах, а также в других системах с другим сочетанием алгоритмов. Так, например, одна система может распознать входной документ с точностью в 40 %, а вторая система с другим сочетанием алгоритмов – в 80 %. Однако если загрузить уже другое изображение с другим качеством, результат может быть противоположным, в зависимости от подходящего сочетания алгоритмов. Некоторые системы включают в себя большое количество алгоритмов в одном сочетании, чтобы охватить все возможные исходы. В таком случае скорость этапа обработки изображения может быть низкой, а также использование несовместимых алгоритмов обработки изображения может привести к потере качества.
В научной работе [3] авторы указывают, что обработка изображений с целью их распознавания является одной из центральных и практически важных задач при создании систем искусственного интеллекта. Если после этапа обработки качество изображения осталось или стало низким, то дальнейшие этапы не смогут справиться с задачей в полном объеме. Этап сегментации не сможет разделить изображение на строки, слова и символы, если используется конкретный алгоритм сегментации, а этап с распознаванием – не распознает текст. Самым главным показателем при распознавании текста является точность распознавания. Проанализировав работу И. А. Маслова [4], удалось выяснить, что точность распознавания в значительной степени зависит от качества захваченного изображения и что при распознавании картинок низкого качества допускается множество ошибок [3]. Исходя из вышесказанного, проблема низкой точности распознавания символов может зависеть от качества входного изображения и от этапа обработки изображения, который должен увеличить качество входного изображения за счет алгоритмов обработки.
Согласно исследованиям [5], качество входных изображений зависит от наличия на них шумов, размытости, низкой контрастности или повышенной яркости. На этапе сегментации при остатке шума на изображении после его обработки может возникнуть проблема плохого разделения изображения на строки, слова или символы из-за того, что алгоритм не смог различить шум (пиксели, не относящиеся к тексту) и текст. Чтобы не допустить ошибки в работе алгоритмов на последующих этапах (сегментация, распознавание), на первом этапе необходимо обработать изображения алгоритмами, исключив всевозможные шумы, перепады яркости и т. д.
В работе [6] рассматривается идея использовать не один, а множество фильтров для обработки изображений. По результатам работы был выявлен фильтр, наиболее эффективно обрабатывающий изображение, а также несколько пар фильтров, обработка которыми также позволяла повысить качество распознавания. Однако при использовании в связке алгоритмы обработки, которые сглаживают изображения, например медианное размытие и размытие по Гауссу, можно столкнуться со снижением качества картинок за счет потери важных пикселей, путем многократного размытия.
Многие существующие доступные решения основываются на распознавании негибкими алгоритмами. Такие алгоритмы эффективно работают с определенными документами, шаблонами, шрифтами или языками. Больший процент распознавания может быть достигнут с использованием нейронных сетей, однако в большей степени результат зависит от обучающей выборки.
Моделирование процесса распознавания символов
В формализованном виде процесс распознавания можно представить в виде обобщенной модели (рис. 1):
M: = <X, Y, F>, (1)
где M – модель процесса распознавания; X: = <Ii, Lsample, Tc, Tw, Ttxt> – множество входных параметров, Ii – множество входных неоцифрованных документов, Lsample: = <Ilearn, Alearn> – кортеж данных для обучения нейронной сети, где Ilearn – множество изображений символов для обучения, Alearn – множество символов на изображении (ответы для обучения), Tc: = <Ic, Ac> – кортеж данных для тестирования модуля (символы), где Ic – множество изображений символов, Ac – множество символов на изображениях (ответы для тестирования), Tw: = <Iw, Aw> – кортеж данных для тестирования модуля (слова), где Iw – множество изображений слов, Aw – множество слов на изображениях (ответы), Ttxt: = <Itxt, Atxt> – кортеж данных для тестирования модуля (текст), где Itxt – множество изображений текста, Atxt – множество текстов на изображениях (ответы); Y: = <txt, Reslearn> – множество выходных параметров, где txt – выходной текстовый набор; Reslearn – результат обучения нейронной сети; F: = <Fproc, Fsegm, Frec> – множество механизмов преобразования входного документа, где Fproc – сочетание алгоритмов обработки; Fsegm – алгоритм сегментации, Frec – алгоритм распознавания.
Рис. 1. Обобщенная формализация процесса распознавания
Fig. 1. Generalized formalization of the recognition process
В процесс распознавания входят алгоритмы обработки изображения, сегментации и распознавания [7].
Первый этап в распознавании символов – обработка изображения.
Процесс обработки изображения может проходить различным набором методов, позволяющих повысить эффективность распознавания текста. Основными методами предварительной обработки изображения являются [8]:
– выравнивание изображения;
– размытие изображения [9];
– бинаризация;
– удаление лишних линий.
Благодаря такому набору методов изображение можно подготовить для дальнейшего этапа сегментации [10].
Второй этап – сегментация [11]. В данном случае сегментация необходима для поиска нужных областей текста. Разделив изображение на сегменты, можно обрабатывать только важные сегменты изображения вместо обработки всего изображения.
Процесс сегментации изображения проходит в 3 этапа:
– сегментирование строк;
– сегментирование слов;
– сегментирование символов.
Под сегментацией строк подразумевается разделение изображения на текстовые строки, т. е. изображение делится на столько изображений поменьше, сколько на нем текстовых строк.
Сегментация слов, как и сегментация символов, происходит таким же образом, только для слов и символов соответственно.
Существуют несколько алгоритмов сегментации: сегментация за счет выявления средней яркости изображения, кластеризация K-средних и т. д.
Третий этап – распознавание символов. Когда человек читает текст, он распознает символы с помощью глаз и мозга. У компьютера в роли глаз выступает камера сканера, которая создает графическое изображение текстовой страницы. Для компьютера нет разницы между фотографией текста и фотографией комнаты: и то, и другое – набор пикселей.
Можно представить, что в русском алфавите есть только одна буква. Но даже это не упростит компьютеру процесс распознавания, т. к. у каждой буквы и любой другой графемы есть аллографы – различные варианты начертаний.
Человеку будет просто понять, что все эти аллографы подразумевают одну и ту же букву. Компьютер же имеет два варианта решения проблемы: распознавать символы целостно (распознавание паттерна) или использовать различные правила, которые описывают характер той или иной буквы (выявление признаков, или же функция извлечения).
Основными методами распознавания символов являются выявление признаков, распознавание паттернов и самое распространенное решение – использование нейронной сети.
Шаг 1. Обработка изображения. Пусть Imagei и Imagei+1 два входных изображения, текст в которых необходимо распознать. Из-за разности в качестве (свойства, характеристики) входных изображений может случиться так, что для обработки изображения одно сочетание алгоритмов будет менее эффективным, чем другое. Представим, что A – множество возможных сочетаний алгоритмов обработки изображения. Необходимо составить такие сочетания, являющиеся множествами Bi, которые включали бы в себя алгоритмы каждого из этапов обработки изображения
Вернемся ко входным изображениям Imageiи Imagei+1. Представим, что на первом изображении присутствует гауссовский шум, а на втором равномерно расположенный шум. При наличии
в подмножестве Bi алгоритма размытия по Гауссу, а в подмножестве Bi+1 алгоритма медианной фильтрации по анализу алгоритмов из первой части можно понять, что наиболее эффективно первое изображение обработает алгоритм из подмножества Bi, а второе изображение – Bi+1. Следовательно, при наличии одного из алгоритмов размытия (сглаживания), входное изображение с другим типом шума обработается хуже, что может привести к ошибкам работы алгоритмов в следующих этапах.
Чтобы избежать таких проблем, было предложено использовать множество сочетаний алгоритмов обработки изображения.
Шаг 1. Этап 1. Перевод изображения в оттенки серого. Для перевода изображения в оттенки серого необходимо написать алгоритм, который производит преобразования значений пикселей трех цветовых каналов (RGB) матрицы изображения:
где imgorig – входная матрица пикселей изображения с размерами mxn (m – количество рядов, n – количество пикселей в ряду); img[i, j] – кортеж из 3 элементов, значений цветовых каналов, каждый из которых принимает значения из диапазона [0, 255]; imggray – выходная матрица пикселей изображения в оттенках серого с размерами mxn; fgray(img[i, j]) – алгоритм перевода изображения
в серый.
Шаг 1. Этап 2. Формирование множества алгоритмов размытия изображения. На этом этапе формируется множество алгоритмов размытия (сглаживания) изображения. Входное изображение в оттенках серого подается на вход множеству алгоритмов размытия, и на выходе получается множество размытых разными алгоритмами изображений:
где fblur(k, x, y, σ) – алгоритм размытия изображения, k – ядро свертки, x – горизонтальное смещение от центра ядра свертки, y – вертикальное смещение от центра ядра свертки, σ – среднеквадратичное отклонение нормального распределения (только для Гаусса); imgblur – матрица пикселей размытого изображения; Blur – множество алгорит-
мов размытия.
Шаг 1. Этап 3. Формирование сочетаний алгоритмов размытия с алгоритмами бинаризации. На этом этапе формируется множество алгоритмов бинаризации изображения и их связки
с множеством алгоритмов размытия:
где fbin(img[i, j], t) – алгоритм бинаризации изображения (пороговая фильтрация), t – глобальный/локальный порог, по которому будут преобразовываться значения пикселей изображения;
imgbin – матрица пикселей бинарного изображения; Bin – множество алгоритмов бинаризации.
Для формирования множества сочетаний алгоритмов обработки рассмотрим множество алгоритмов размытия и множество алгоритмов бинаризации [7]:
Для формирования множества сочетаний (BB) необходимо применить декартово произведение множеств:
Используя формулу (2), получаем множество BB:
где x1–x3 – алгоритмы размытия; y1–y4 – алгоритмы бинаризации.
Шаг 1. Этап 4. Выравнивание изображения. Этап выравнивания изображения может быть опциональным. В организации в основном поступают неоцифрованные документы, которые не имеют проблем в выравнивании. Однако во избежание возможных проблем необходимо иметь представление о процессе выравнивания изображения:
где p – координаты (x, y) четырех точек самого большого контура (прямоугольника, трапеции, ромба и т. п.) на изображении; frotate(p) – алгоритм перспективного преобразования (выравнивание); imgrotate – выравненное изображение.
Шаг 1. Этап 5. Удаление лишних линий:
где imginp – матрица пикселей бинарного или выравненного изображения (в зависимости от выполненного ранее алгоритма); fclear(a, b) – алгоритм удаления лишних линий с использованием морфологической обработки, a – порог фильтрации, b – полутоновая маска; imgclear – матрица пикселей очищенного изображения от нежелательного контента.
Шаг 2. Сегментация изображения. Следую-
щим шагом после обработки изображения является сегментация изображения на символы:
где imgclear – матрица пикселей обработанного изображения; fs(n, h) – алгоритм выявления среднего значения яркости изображения (сегментация), n – ширина изображения, h – высота изображения; idx – множество индексов границ изображения.
На основе множества границ изображения можно поделить основное изображение на более мелкие изображения символов. Пусть изображения символов обозначаются как imgsymb.
Шаг 3. Распознавание. Существует не одно решение для реализации шага распознавания, однако наиболее гибкое решение – использование нейронной сети. В формализованном виде преобразование изображений символов в текстовый набор выглядит следующим образом:
,
где imgsymb – матрица пикселей входного изображения символа; text – распознанный текстовый набор; fnn(n, m) – алгоритм распознавания с использованием нейронной сети.
На вход подаются изображения символов, которые проходят каждый слой нейронной сети с распределением весов. Затем, исходя из обученности нейронной сети, формируется выходное значение, являющееся распознанным символом. На основе распознанных символов формируется слово и в дальнейшем сам текстовый набор.
В результате добавления правила формирования множества сочетаний алгоритмов обработки изображения модель процесса распознавания символов (1), где F: = <Fproc, Fsegm, Frec> – мно-
жество механизмов преобразования входного документа, Fproc – множество сочетаний алгоритмов обработки, преобразовывается (рис. 2).
В разработанной модели в множестве механизмов преобразования входного документа применяется множество сочетаний алгоритмов обработки изображения вместо одного сочетания.
.
Рис. 2. Формализация разработанной модели распознавания символов
на основе множества сочетаний алгоритмов обработки изображений
Fig. 2. Formalization of the developed character recognition model based
on a variety of combinations of image processing algorithms
Заключение
В ходе работы был предложен системный подход к распознаванию символов в зашумленных изображениях, разработан алгоритм формирования множества пар алгоритмов размытия и бинаризации.
Сформирована модель, позволяющая получить теоретико-множественные представления о последовательности алгоритмов обработки изображения и о возможном множестве сочетаний алгоритмов обработки изображений.
1. Национальный проект «Малое и среднее предпринимательство и поддержка индивидуальной предпринимательской инициативы». URL: https://www.economy.gov.ru/material/directions/nacionalnyy_proekt_maloe_i_srednee_predprinimatelstvo_i_podderzhka_individualnoy_predprinimatelskoy_iniciativy/ (дата обращения: 10.06.2024).
2. Хоменко Т. В., Тараканов В. Д., Иргалиев А. А. Автоматизация процесса контроля ознакомления с документами в организациях с иерархической структурой // Вестн. Астрахан. гос. техн. ун-та. Сер.: Управление, вычислительная техника и информатика. 2023. № 2. С. 91–97.
3. Щепилов Е. В., Валенбахова Е. В., Гончарова Н. П. Особенности обработки изображения в информационных системах // Наука и современность. 2011. URL: https://cyberleninka.ru/article/n/osobennosti-obrabotki-izobrazheniy-v-informatsionnyh-sistemah (дата обращения: 10.06.2024).
4. Маслов И. А. Оптическое распознавание символовв информационных системах и проблемы внедрения // E-Scio. 2023. URL: https://cyberleninka.ru/article/n/opticheskoe-raspoznavanie-simvolov-v-informatsionnyh-sistemah-i-problemy-vnedreniya) (дата обращения: 10.06.2024).
5. Ефимов А. А., Кудрина М. А., Гордеева О. А. Исследование влияния различных методов предварительной обработки изображений на качество распознавания текста // Надежность и качество: тр. Междунар. симп. Пенза: Пенз. гос. ун-т, 2020. № 1. С. 285–288.
6. Щеглов Д. С., Горячкин Б. С., Пьянзин С. А. Оптимизированный подбор фильтров при оптическом распознавании символьной информации // StudNet. 2020. № 4. С. 258–264.
7. Хоменко Т. В., Иргалиев А. А., Тараканов В. Д. Моделирование процесса оптического распознавания в нормативных документах организации // Вестн. Астрахан. гос. техн. ун-та. Сер.: Управление, вычислительная техникаи информатика. 2023. № 3. С. 85–92.
8. Доронин Ю. Д. Методы обработки изображений и использование компьютерного зрения в OCR // Вестн. Москов. гос. техн. ун-та. 2021. № 5. С. 4–5.
9. Стецюк В. Б. Методы устранения шумов на изображениях // Актуальные проблемы авиации и космонавтики. 2019. Т. 2. С. 176–178.
10. Гонсалес Р., Вудс Р. Цифровая обработка изображений. М.: Техносфера, 2019. 1104 с.
11. Никитенков В. Л., Поберий А. А. Бинаризация и сегментация отсканированного текста // Вестн. Сыктывк. ун-та. Сер. 1. 2013. № 17. С. 1–2.