Об одном алгоритме восстановления в задаче распознавания изображения
Автор: Черномордик Илья Вениаминович
Журнал: Вестник Пермского университета. Математика. Механика. Информатика @vestnik-psu-mmi
Рубрика: Механика. Математическое моделирование
Статья в выпуске: 4 (4), 2010 года.
Бесплатный доступ
Рассмотрен вопрос предварительной обработки изображения для улучшения понимания или автоматического распознавания и предложен алгоритм для восстановления испорченного изображения, основанный на алгоритме полиномиального масштабирования изображения. В качестве примера рассмотрено изображение загрязненного черного текста на белом фоне.
Изображение, восстановление, распознавание, масштабирование
Короткий адрес: https://sciup.org/14729689
IDR: 14729689
Текст научной статьи Об одном алгоритме восстановления в задаче распознавания изображения
Работа1 посвящена вопросу о предварительной обработке двуцветных изображений, примером которых может служить текст на белом фоне. Такая обработка может применяться в программах распознавания в качестве предварительного этапа. Если исходный объект является испорченным (например, испорченный документ), то задача максимального восстановления информации остается актуальной.
В настоящее время значительная часть текстов доступна в нецифровых форматах или же в таких форматах, как PDF без возможности получить текст отдельно от изображения. Кроме того, часто требуется восстановление важной испорченной текстовой информации. В таком контексте задача распознавания должна использовать восстановление как предварительный этап обработки с последующей идентификацией символов в соответствии с некоторым алфавитом. Отсутствие такого предварительного этапа приводит к тому, что различные шумы в исходном изображении позволяют получить "лишние" символы, такие как точка или запятая.
Исходным изображением является вектор-функция
J ( x, y ) = {R ( x, y ) X G ( x, y ) X B (x, y )}, где a < x < b, c < y < d, а компоненты R , G и B соответственно означают красную, зеленую и синюю составляющие изображения в формате RGB. Объектом анализа является цифровой образ изображения J(x, y) , представленный в виде прямого произведения трех матриц (J = Ri,jXG,jXBi,j), где i e 1, N, j e 1, M . Задачу преобразования определим как восстанавливающий оператор V , применяемый к каждой компоненте. В некоторых случаях удобным оказывается преобразование одной матрицы, получаемой как результат усреднения по формуле j (R; j + G; j + B;. j). Оператор восстановления будем рассматривать как
J i ( x , y ) = V [ J ( x , y )] .
В общем случае V осуществляет нелинейное преобразование. В литературе традиционно изучаются случаи, когда оператор V является линейным и процесс восстановления связывается с исследованием сигналов в частотной области [1].
В работе предлагается новый алгоритм подготовки к автоматическому распознаванию или улучшению читаемости. Идея алго- ритма состоит в следующем: матрица J преобразуется так же, как и в алгоритме увеличения размера изображения без потери качества. Такой алгоритм с применением специальной схемы полиномиальной интерполяции был предложен автором ранее и реализован в виде программного модуля. Применение такого подхода к восстановлению, как показывают полученные результаты, оказалось эффективным. Перейдем к описанию этапов процедуры восстановления изображения.
Разработанная схема оказалась достаточно универсальной. Для определенности далее излагается основа алгоритма применительно к двуцветному изображению, для которого под фоном понимаются светлые участки с расположенными на них геометрически правильными темными участками, которые являются символьными изображениями. В частном случае (он, тем не менее, наиболее распространенный) цветом фона является белый, а цветом символьных изображений -черный.
Начальный этап - это предварительный анализ изображения, начинающийся с выбора размера квадратной ячейки n х n, n << N, M, которая в дальнейшем будет использоваться для определения принадлежности пикселя к фону следующим образом: для каждого пикселя (i, j) получается окружение таким образом, что пиксель (i, j) будет центром квадрата со стороной n (другими словами, это матрица размером n х n). Матрицу размера n х n, переменную по местоположению, обозначим через A(n). Через f (A( n)) обозначим функционал на множестве таких матриц. Этот функционал определяется пользователем и служит для оценки в критерии определения фона. В частности, функционал может быть определен эмпирическим путем, например -7У Ji ■ , где Ji j -n2 , j значение изображения в пикселе. Тогда критерий определения фона устанавливается по правилу: если значение функции f (A(n)) больше некоторого s, то пиксель является фоновым.
Значение параметра n можно получить эмпирическим путем. При этом n может зависеть от различных характеристик исходного изображения, таких как размер, насыщен- ность, процентное отношение фона к значащему тексту и так далее.
Для определения значения s (т.е. для задания фона) возможно применение одного из двух вариантов:
-
1) автоматическое определение фона по максимуму среднеквадратичного значения по всей матрице;
-
2) выбор контрольной ячейки или нескольких ячеек оператором с последующим получением s на основе значений матрицы Jt j в этих ячейках.
Если выбран вариант параллельной обработки цветного изображения, надо учитывать, что можно использовать среднее по трем матрицам только в том случае, если фоном является оттенок серого цвета, в противном случае нужно учитывать каждую компоненту по отдельности.
Введем в рассмотрение еще один параметр, который определяет основное значение цвета на фоне c . В случае обычного текста на белом фоне c означает насыщенность цвета и является числом. При этом пиксель (i, j) -это пиксель полезного символа в том случае, если —(R;,+Gi, + B: ) < c. , j i, j i,j
Следующий основной этап - использование собственно восстанавливающего алгоритма. Алгоритм производит построчную обработку после предварительно этапа. Таким образом, специфика этого алгоритма в его избирательности к направлению обработки, что будет приводить к разным результатам в зависимости от порядка обхода пикселей. В некоторых случаях можно применить постобработку результата, повернутого на 900, как будет показано далее.
На рис. 1 приведен пример обработки изображения с белым фоном и черным цветом текста. Обработка проводилась для значения s = 255 , c = 0 (для обычного отсканированного документа это является идеальным случаем, но, тем не менее, близким к реальности). Этот алгоритм оказывается эффективным, если шумовые загрязнения значительно отличаются от текста. Однако при этом могут изменяться и некоторые характеристики полезных элементов изображения.

Рис. 1. Результаты обработки загрязненного черно-белого изображения

Рис. 2. Восстановление изображения в случае, если параметры распознавания приближены к реальным
Следующий пример показывает, что при выборе значений z = 225 , c = 30 результат далеко не идеален. Алгоритм без изменений не может справиться с таким изображением в полной мере (см. рис. 2).
Как видно из примера, хоть и получено некоторое улучшение изображения, по сравнению с оригиналом, тем не менее, загрязнение достаточно "загрязненное". Для улучшения алгоритма восстановления можно применять различные методики. Например, повторное восстановление при повороте изображения на 900 (см. рис. 3) позволит алгоритму, который работает по рядам, отработать еще и по столбцам, что улучшает качество. Но, с другой стороны, это приводит к тому, что текст получается более жирным (за счет того, что при каждом восстановлении некоторые пиксели фона распознаются как значащие и присоединяются к символам).

Рис. 3. Улучшение изображения c использованием поворота на 900
Кроме вышеуказанного способа можно варьировать значение параметра n (размер окна, которое используется для установления того, является пиксель фоном или нет), что приводит к определенным результатам:

Рис. 4. Восстановление " загрязненной " буквы " В " . Изображение слева – оригинал, далее по порядку слева направо восстановление со значением n = 1,2,4
Как видно из рис. 4, чем больше значение n , тем более жирным становится результирующее изображение, но при этом неровности сглаживаются в большей степени (при n = 1 виден большой промежуток в букве). Таким образом, система может либо автоматически определять параметр n, анализируя изображение, или же этот параметр могут задавать пользователи.
При выполнении улучшения существует проблема, которая связана с алгоритмом интерполяции. Если весь правый край некоторого ряда изображения загрязнен, т.е. подлежит интерполяции, то не существует ни одного крайнего пикселя для проведения интерполяции. В таком случае можно брать значения из последнего значащего пикселя.
Алгоритм может использовать (так же, как и существующие методы распознавания текста) базы различных символьных образцов, например изображение букв кириллицы в Times New Roman. Реализация алгоритма улучшения производится в два этапа:
-
1. Этап очистки фона. На этом этапе от шумов очищается фон картинки.
-
2. Этап восстановления текста. На этом этапе от шумов очищаются значащие элементы, а также восстанавливаются фрагменты этих элементов.
Предполагаемый алгоритм восстановления реализуется по следующей схеме:
-
1. Для каждого пикселя в каждом ряду в исходном изображении определяется, является этот пиксель значащим цветом или же цветом фона. Для этого используется среднее значение по всем трем цветовым компонентам:
-
1 (R ,+ G; + Bit) .
i,j i,j i,j
-
а) для каждого пикселя рассчитывается функция f(i, j) ;
-
b) если значение f (i,j) > £ (это означает, что пиксель является фоновым) или же значение является значащим цветом, то в результирующем изображении этот пиксель остается в неизменном виде, в противном случае этот пиксель подлежит восстановлению
-
2. Для каждого пикселя, который подлежит восстановлению, вызывается функция, которая производит полиномиальную интерполяцию с тем, чтобы получить неизвестное значение в точке
Список литературы Об одном алгоритме восстановления в задаче распознавания изображения
- Даджион Д., Мерсеро Р. Цифровая обработка многомерных сигналов/С.-Петерб. гос. ун-т информ. технологий, механики и оптики. М.: Мир, 1988. 488 с.