Улучшение контраста и снижение шума на изображениях, полученных с камер - RU2721188C2

Код документа: RU2721188C2

Чертежи

Описание

ОБЛАСТЬ ТЕХНИКИ

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

УРОВЕНЬ ТЕХНИКИ

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

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

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

[0005] При локальной реализации функции обработки OCR, эта функция может быть реализована на портативном устройстве, и цифровое изображение может обрабатываться с целью создания распознанного текстового документа. Альтернативно, цифровое изображение, полученное электронным устройством пользователя (в сжатой форме или в фактическом размере), передается через сеть связи на сервер систем оптического распознавания символов для выполнения функции OCR на стороне сервера. Затем сервер (i) получает цифровое изображение, (ii) распаковывает цифровое изображение для получения распакованного цифрового изображения (в случаях, когда изображение передается в сжатой форме между портативным устройством и сервером) и (iii) выполняет функцию OCR на базе сервера для создания распознанного текстового документа на основе цифрового изображения, при этом распознанный текстовый документ содержит текст, сформированный на основе цифрового изображения. Затем сервер может передать распознанный текстовый документ обратно на электронное устройство пользователя через сеть связи (в исходном или сжатом виде).

ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0006] На ФИГ. 1 представлена схема примера системы для улучшения контраста и (или) уменьшения шума на изображении документа, полученного камерой, встроенной в устройство, например, мобильное устройство.

[0007] На ФИГ. 2 представлена блок-схема примера процесса улучшения контраста и (или) уменьшения шума на изображении документа, полученного камерой, встроенной в устройство, например, мобильное устройство.

[0008] На ФИГ. 3 представлена схема примера системы для слияния значений яркости пикселей в перекрывающихся частях текстовых блоков.

[0009] На ФИГ. 4 представлена схема примера вычислительной системы.

ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ РЕАЛИЗАЦИИ

[0010] Этот документ описывает системы и методики улучшения контраста и (или) уменьшения шума на изображении документа, полученного камерами, встроенными в устройство, например, мобильное устройство. Для уменьшения ошибок при оптическом распознавании символов (OCR) системы и методики, описанные в этом документе, получают высококачественное изображение документа с минимальным содержанием шума. Эти системы и методики подавляют шум и выполняют локальное деконтрастирование проблемных пикселей изображения.

[0011] Зашумленные изображения, полученные в условиях недостаточной освещенности, часто содержат локальные области расфокусировки или смаза. Иногда до обращения к системам OCR применяются стандартные методики повышения контурной резкости изображения, такие как «нерезкое маскирование». Однако эффект от использования этих традиционных методик в OCR ограничен сопутствующим усилением шума и возникновением проблем от подавления усиленного шума. Обычно функция OCR, выполняемая локально, например, на мобильном устройстве, обеспечивает более низкое качество результатов OCR по сравнению с функцией OCR на базе сервера (поскольку локально выполняемые системы OCR менее сложные, чем выполняемые на сервере системы OCR в связи с обычно ограниченными вычислительными ресурсами, доступными на портативном (мобильном) устройстве, по сравнению с сервером, выделенным для выполнения функции OCR). В любом случае, выполняется ли функция OCR локально или на сервере, эта функция включает некую предварительную обработку цифрового изображения для сокращения количества артефактов в цифровом изображении (т.е. уменьшение шума, оптического размытия и т.д.). В рамках функции OCR портативное устройство или сервер выполняет бинаризацию и вычислительноемкие процедуры OCR.

[0012] В ходе бинаризации и процессов OCR изображение документа разбивается на блоки с примерно постоянными характеристиками шума и сигнала внутри блоков. Использование этих характеристик помогает найти высоко контрастные пиксели внутри текстовых блоков, и локальный контраст внутри каждого блока снижается до заданного уровня. Кроме того, ограничения на степень деконтрастирования (т.е. снижения уровня контраста) локальных импульсов шума может предотвратить искажение структур текста. Некоторые текстовые структуры могут быть похожи на локальные импульсы шума, поэтому ограничение на степень деконтрастирования предотвращает подавление текстовых структур наравне с локальными импульсами шума. Кроме того, эти системы и методики могут в сначала ослаблять обнаруженные импульсы, после чего выполнять выборочное сглаживание с новой дисперсией шума, не переключаясь между фильтрацией импульсов и сглаживанием на каждом пикселе. Это обеспечивает более эффективную работу усредняющего фильтра. Кроме того, сглаживание может выполняться по-разному для фоновых пикселей и пикселей связных компонент (например, для разных видов пикселей могут использоваться разные параметры фильтрации). Эти системы и методики также могут повышать контраст слабоконтрастных пикселей связных компонент до заданного уровня.

[0013] Описанные в настоящем документе системы и методики могут обеспечить одно или более из следующих преимуществ. Например, когда шум на полученном от камеры изображении невозможно описать известными моделями шума (например, как гауссов шум или белый шум) и шум нельзя считать независимым от сигнала или истинного содержимого изображения, система может предусматривать устранение шума и (или) увеличение контраста изображения с учетом характеристик полезного сигнала изображения. В другом примере описываемые системы и методики могут улучшить контраст (например, уменьшить контраст между импульсами шума и пикселями фона и (или) увеличить контраст между пикселями связных компонент и пикселями фона), и (или) устранить шум, там, где использование стандартных локальных и нелокальных выборочных усредняющих фильтров с сохранением контуров может оставлять большое количество контрастных зашумленных пикселей. Традиционное подавление импульсов на изображении с интенсивной фильтрацией может привести к деградации полезного сигнала. Дисперсия шума на изображении, равная 25-30% или выше от контраста текста на изображении, может привести к неточности OCR. Таким образом, описанные системы и методики повышают точность технологии OCR за счет улучшения контраста и (или) устранения шума на изображении, где выполняется OCR, что, в противном случае может привести к неправильным результатам OCR.

[0014] Подробности одного или более вариантов реализации изложены в прилагаемых чертежах и в описании ниже. Другие особенности и преимущества будут ясны из описания и чертежей, а также из пунктов формулы изобретения.

[0015] На ФИГ. 1 представлена схема, которая иллюстрирует пример системы 100 для улучшения контраста или уменьшения шума на изображении документа, полученного с камеры, встроенной в устройство, например, мобильное устройство. Система 100 включает пользовательское электронное устройство 102. Пользовательское электронное устройство 102 может быть, например, персональным компьютером (например, настольным компьютером, портативным компьютером или нетбуком) или устройством беспроводной связи (например, смартфоном, сотовым телефоном или планшетом). Как показано на ФИГ. 1, пользовательское электронное устройство 102 реализовано как устройство беспроводной связи.

[0016] Пользовательское электронное устройство 102 включает или находится на связи как минимум с одним интерфейсом получения изображения 103а-b. Интерфейс получения изображения 103а-b включает оборудование (и соответствующее программное обеспечение при необходимости) для получения электронного изображения 120. Электронное изображение 120 может быть получено с физического документа 140, содержащего текст 142 (и, возможно, не текстовые элементы, такие как картинка 144). Физический документ 140 или другое отображение текста на электронном изображении 120 может содержать одну или более страниц, некоторые или все страницы могут содержать различный текст (который может включать перекрывающийся текст), различные рисунки, различную разметку, различные шрифты или размеры шрифтов и т.д.

[0017] Как показано на ФИГ. 1, интерфейс получения изображения 103а-b реализован в виде камеры. Однако интерфейс получения изображения 103а-b может быть реализован в виде нескольких камер, одна или более из которых находятся на лицевой поверхности, как показано на пользовательском электронном устройстве 102, и первый интерфейс получения изображения 103а и (или) один или более находятся на тыльной поверхности пользовательского электронного устройства 102 и второго интерфейса получения изображения 103b. В приведенном ниже описании «камерой» или интерфейсом получения изображения 103а-b может называться один (или оба) интерфейса получения изображения 103а-b. Вместо этого или в дополнение к этому интерфейс получения изображения 103а-b может быть реализован в виде сканера или другого устройства получения изображения для получения электронного изображения физического документа.

[0018] Пользовательское электронное устройство 102 может включать коммуникационный интерфейс для связи по сети 110 с серверной системой 112. Сеть 110 может содержать одно или более сетевых устройств, которые составляют сеть Интернет. Серверная система 112 может включать коммуникационный интерфейс для связи с пользовательским электронным устройством 102 по сети 110.

[0019] В некоторых вариантах реализации обработка OCR может выполняться пользовательским электронным устройством 102, или сервером 112, или обоими этими устройствами. Однако в случае, когда функция обработки OCR выполняется пользовательским электронным устройством 102, серверная система 112 может отсутствовать. Пользовательское электронное устройство 102 может локально исполнять модуль OCR 118, выполняя OCR электронного изображения 120 физического документа 140. Модуль OCR 118 может быть реализован, например, в виде мобильного комплекта для разработки ПО (SDK) OCR. Вместо этого или к дополнение к этому серверная система 112 может получать изображение, полученное интерфейсом получения изображения 103а-b с пользовательского электронного устройства 102 через сеть 110. Затем серверная система 112 может запускать модуль OCR 113 для выполнения OCR изображения документа. Модуль OCR 118 пользовательского электронного устройства 102 и модуль OCR 113 серверной системы 112 будут совместно именоваться модулем OCR 113, 118, указывая на то, что оба эти модуля выполняют идентичную операцию.

[0020] Пользовательское электронное устройство 102 и (или) серверная система 112 могут быть реализованы с возможностью выполнения команд модуля локального фильтра 114. Модуль локального фильтра 114 может исполняться программно, аппаратно, в виде микропрограммы или как комбинация этих вариантов. Модуль локального фильтра 114 выполнен с возможностью улучшения контраста и (или) уменьшения шума электронного изображения 120 физического изображения 140, полученного с интерфейса получения изображения 103а-b пользовательского электронного устройства 102 для повышения точности OCR, выполняемого модулем OCR 113, 118.

[0021] На ФИГ. 2 представлена блок-схема примера процесса 200 для улучшения контраста и (или) уменьшения шума на изображении документа, полученного камерами, встроенными в устройство, например, мобильное устройство. Процесс 200 может выполняться, например, системой, такой как система 100. Для удобства представления в приводимом описании система 100 используется как пример для описания процесса 200. Однако для осуществления процесса 200 может использоваться другая система или сочетание систем.

[0022] На шаге 201 изображение (например, физического документа), содержащее символы текста, обрабатывается для получения серого изображения. Например, модуль локального фильтра 114 может обрабатывать электронное изображение 120, создавая серое изображение электронного изображения 120. Модуль локального фильтра 114 может получать электронное изображение 120, предназначенное для обработки модулем OCR 113, 118. В некоторых вариантах реализации интерфейс получения изображения 103а-b может создавать электронное изображение 120. Вместо этого или к дополнение к этому пользовательское электронное устройство 102 и (или) серверная система 112 могут содержать ранее сохраненное электронное изображение 120 и могут затем извлекать электронное изображение 120 из устройства хранения данных 106. Вместо этого или к дополнение к этому пользовательское электронное устройство 102 и (или) серверная система 112 могут получать электронное изображение 120 по сети 110. В некоторых вариантах реализации модуль локального фильтра 114 может получать серое изображение от анализатора изображений или модуля OCR 113, 118 до выполнения OCR. Электронное изображение 120 может быть изображением физического документа 140 или другим цифровым изображением, содержащим текст. Один из примеров создания серого изображения описан в совместной заявке на патент США №15/165,512 «СПОСОБ И УСТРОЙСТВО ДЛЯ ОПРЕДЕЛЕНИЯ ПРИГОДНОСТИ ДОКУМЕНТА ДЛЯ ОПТИЧЕСКОГО РАСПОЗНАВАНИЯ СИМВОЛОВ (OCR)», поданной 26 мая 2016 г. В некоторых вариантах реализации создание серого изображения может быть необязательным шагом, и, таким образом, может быть пропущено. В некоторых вариантах реализации модуль локального фильтра 114 может использовать вместо серого изображения электронное изображение 120.

[0023] На шаге 202 серое изображение и (или) изображение разделяется на блоки. Блоки могут быть перекрывающимися и (или) неперекрывающимися. Например, модуль локального фильтра 114 может разделить серое изображение и (или) электронное изображение 120 на перекрывающиеся и (или) неперекрывающиеся блоки. Модуль локального фильтра 114 может выбрать размер блоков таким образом, чтобы характеристики шума и сигнала внутри блока были приблизительно постоянными (например, яркость фона, шум, контраст текста и (или) размытие незначительно менялись в пределах данного блока).

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

Например, модуль локального фильтра 114 может использовать размер блока N около 10% от наибольшего размера электронного изображения 120. В некоторых вариантах реализации модуль локального фильтра 114 может предварительно оценивать размер шрифта и подбирать N так, чтобы блок по высоте содержал приблизительно от трех до шести строк текста физического документа 140.

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

[0026] На шаге 203 определяется среднее значение контраста каждого блока. Например, модуль локального фильтра 114 может определить среднее значение контраста Ci (где i представляет идентификатор соответствующего блока), связанное с серым изображением и (или) электронным изображением 120.

[0027] В некоторых вариантах реализации модуль локального фильтра 114 проводит анализ на основе гистограммы для определения значения контраста Ci для заданного блока, определенного на шаге 202. В частности, в некоторых вариантах реализации модуль локального фильтра 114 создает гистограмму яркости. С помощью гистограммы яркости модуль локального фильтра 114 определяет минимальное и максимальное значение яркости, при котором 0,1% всех пикселей в заданном блоке имеют яркость меньше минимального значения, а 0,1% всех пикселей в заданном блоке имеют яркость выше максимума. В некоторых вариантах реализации значение яркости каждого пикселя в сером изображении может быть целым числом в диапазоне от 0 до 255. Модуль локального фильтра 114 может определить среднее значение контраста Ci как разницу между максимальным и минимальным значением.

[0028] На шаге 204 создается бинаризованная версия каждого блока. Например, модуль локального фильтра 114 может создавать бинаризованную версию каждого блока i серого изображения и (или) электронного изображения 120. Модуль локального фильтра 114 может выполнять бинаризацию с помощью алгоритма определения пороговых значений на основе яркости. Более конкретно, для процесса бинаризации может использоваться порог бинаризации th, представляющий полусумму максимальной яркости Imax и минимальной яркости Imin для заданного блока.

[0029]

[0030] Альтернативно модуль локального фильтра 114 может использовать для вычисления порога бинаризации метод Оцу th.

[0031] Затем модуль локального фильтра 114 определяет число К бинаризованных контурных пикселей на бинаризованном изображении в заданном блоке i. Например, черный пиксель может быть определен как контурный пиксель, если рядом с ним расположен соседний белый пиксель (в вертикальном или горизонтальном направлении), а количество наиболее вероятных контурных пикселей в окружающей области, например, 3×3, менее чем, например, 7 пикселей.

[0032] На шаге 205 выявляются блоки, содержащие текст. Оставшаяся часть процесса 200 может выполняться с подмножеством блоков, которые содержат компоненты текста. Например, модуль локального фильтра 114 может выявить блоки, содержащие текст. В некоторых вариантах реализации модуль локального фильтра 114 выявляет блоки, исходя как минимум из одного из следующих условий: (I) контурные бинарные пиксели превышают заданное соотношение всех пикселей в блоке (например, 3-5 процентов); и (ii) соотношение черных пикселей (или белых, если электронное изображение 120 представляет собой инвертированное изображение текста) в бинаризованном изображении, созданном на шаге 204, будет ниже заданного порога P (заданный порог P может, например, составлять от 20 до 30 процентов); и (iii) значение контраста Ci не ниже предварительно заданного значения. Однако модуль локального фильтра 114 может использовать другие способы определения текстовых блоков.

[0033] На шаге 206 определяется среднее значение контраста текста Ct в каждом блоке, который содержит текст. Например, модуль локального фильтра 114 может использовать гистограмму яркости серого изображения и (или) электронного изображения 120, а также пороговое значение th, вычисленное на шаге 204. Более конкретно, модуль локального фильтра 114 может вычислять среднее значение М1 для пикселей, имеющих яркость меньше th. Затем модуль локального фильтра 114 может вычислять среднее значение М2 для пикселей с яркостью, равной или выше th. Затем модуль локального фильтра 114 может вычислять средний контраст текста Ct в текстовых блоках следующим образом:

[0034] Ct21

[0035] На шаге 207 выявляются шумовые пиксели в каждом блоке, содержащем текст, исходя из анализа статистики малой окрестности n×n пикселей вокруг каждого пикселя в блоке. В некоторых вариантах реализации на этом этапе процесса 200 тип каждого пикселя в каждом из текстовых блоков (например, фоновый пиксель, пиксель связной компоненты или проблемный пиксель связной компоненты) еще не определен. Например, модуль локального фильтра 114 может выявлять шумовые пиксели, исходя из модуля разницы яркости I в центральном пикселе из окрестности n×n, такой как 3×3 или 5×5, и некоторой статистики S о яркости соседних пикселей (например, abs(I-S)).

Статистика S может представлять собой среднее значение или тип усреднения для яркости этих n×n пикселей. Модуль локального фильтра 114 может обнаруживать импульсы шума, если:

[0036]

[0037] Модуль локального фильтра 114 может использовать один или несколько из следующих статистик, например:

[0038]

, серединную точку для максимальной и минимальной яркости в окрестности

[0039]

, медиана яркости в окрестности

[0040]

, среднее значение яркости в окрестности

[0041] На шаге 208 контраст локальных шумовых пикселей снижается до заданного уровня контраста в каждом блоке, содержащем текст. Например, модуль локального фильтра 114 может понижать контраст выявленных шумовых пикселей, вычисляя новую яркость пикселя I1 как сумму статистики S и половины контраста текста Ct, умноженной на знак разницы между яркостью I и статистикой S:

[0042 ]

[0043] Новая яркость пикселя I1 представляет ограничение на степень деконтрастирования для локальных шумовых пикселей. В некоторых вариантах реализации новая яркость I1 использует оценку среднего значения контраста текста Ct в блоке для выполнения деконтрастирования локальных шумовых пикселей без повреждения структур текста в блоке. Другими словами, если контраст шумовых пикселей меньше половины контраста текста

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

[0044] На шаге 209 в каждом блоке, содержащем текст, выбираются фоновые пиксели, пиксели связных компонент и проблемные пиксели связных компонент с неуверенной бинаризацией. Выбор фоновых пикселей, пикселей связных компонент и проблемных пикселей может производиться в текстовых блоках, где шумовые пиксели были уменьшены или деконтрастированы на шаге 208. Например, модуль локального фильтра 114 может выполнять фильтрацию серого изображения, используя медианный фильтр 3×3. Затем в окрестности m×m (например, 7×7) каждого пикселя модуль локального фильтра 114 вычисляет разницу между максимальной яркостью и минимальной яркостью в окрестности m×m. Если эта разница меньше b×Ct (где параметр b может быть 0.5

[0045] Вместо этого или в дополнение к этому модуль локального фильтра 114 может определить фоновые пиксели, пиксели связных компонент и проблемные пиксели связных компонент, используя бинаризацию и морфологическую эрозию (или дилатацию в случае инверсного текста). Модуль локального фильтра 114 применяет к бинаризованному изображению фильтр эрозия (или дилатация) 3×3 несколько раз, например, от двух до четырех раз (где количество применений может настраиваться). После нескольких применений фильтра модуль локального фильтра 114 определяет, что оставшиеся черные пиксели, например, - пиксели связных компонент, а белые пиксели - пиксели фона. В случае инверсного текста белые пиксели будут пикселями связных компонент, а черные пиксели - пикселями фона.

[0046] Модуль локального фильтра 114 выявляет как проблемные пиксели связных компонент те пиксели связных компонент, для которых яркость находится в некотором интервале вблизи порога бинаризации th текстового блока: th-deltat/2 (т.е. это пикселей связных компонент с неуверенной бинаризацией). Модуль локального фильтра 114 может подбирать интервал delta, на основе обучающих изображений, как описано ниже.

[0047] На шаге 210 измеряется дисперсия шума sigma2 фоновых пикселей в каждом блоке, содержащем текст, где sigma - стандартное отклонение. Например, для фоновых пикселей, выявленных на шаге 209, модуль локального фильтра 114 может вычислить дисперсию яркости I изображения, используя стандартную формулу:

×
, где m - среднее значение яркости фоновых пикселей в блоке, N - общее число фоновых пикселей в блоке, и суммирование производится для всех фоновых пикселей (i,j) в блоке.

[0048] На шаге 211 выполняется локально-адаптивная фильтрация выборочным усреднением с сохранением контуров для каждого блока, содержащего текст. Локально-адаптивная фильтрация может выполняться для текстовых блоков, шумовые пиксели в которых уменьшены или деконтрастированы. Локально-адаптивная фильтрация может предполагать использование различных значений параметров фильтра для фоновых пикселей, пикселей связных компонент и проблемных пикселей связных компонент. Параметры фильтра для проблемных пикселей связных компонент определяются исходя из голосования пикселей связных компонент с похожей структурой локальной окрестности.

[0049] В первом примере модуль локального фильтра 114 может выполнять быстрый вариант локально-адаптивной фильтрации, использующий сигма-фильтрацию пикселей. В результате сигма-фильтрации модуль локального фильтра 114 выдает для центрального пикселя окрестности F×F с яркостью I среднюю яркость 〈I〉, усредненную по тем пикселям (i,j) окрестности F×F, которые удовлетворяют следующему условию, где I(i,j) - яркость каждого пикселя (i,j) окрестности F×F вокруг центрального пикселя:

[0050] I-k×sigma

[0051] Модуль локального фильтра 114 может подобрать параметры F и k при обработке учебных изображений, как описано ниже. Модуль локального фильтра 114 может использовать этот вариант фильтрации, если вычислительные ресурсы (например, скорость процессора, доступная память или срок работы аккумулятора) ограничены, например, при обработке изображений на мобильном устройстве.

[0052] О втором примере модуль локального фильтра 114 может выполнять более сложную версию локально-адаптивной фильтрации пикселей, используя различные параметры для трех типов пикселей (фоновых, связных компонент и проблемных для связных компонент). В некоторых вариантах реализации изображение обрабатывается модулем локального фильтра 114 или другим модулем в системе сервера 112. В более сложной версии модуль локального фильтра 114 может использовать управляемый сигма-фильтр для трех типов пикселей. Для определения соседних пикселей, участвующих в локальном усреднении, модуль локального фильтра 114 использует некоторую оценку неискаженного изображения, а не само значение яркости пикселей. В результате управляемой сигма-фильтрации в фоновых пикселях модуль локального фильтра 114 выдает для центрального пикселя окрестности F×F среднюю яркость 〈I〉, усредненную по тем пикселям (i,j) окрестности F×F, которые удовлетворяют условию, ранее описанному для быстрой версии локально-адаптивной фильтрации. Вместо этого или в дополнение к этому модуль локального фильтра 114 может использовать другой сглаживающий фильтр для определения результирующей яркости в центральных пикселях, которые относятся к типу фоновых пикселей.

[0053] В результате управляемой сигма-фильтрации в пикселях связных компонент модуль локального фильтра 114 выдает для центрального пикселя окрестности F×F среднюю яркость 〈I〉, усредненную по тем пикселям (i,j) окрестности F×F, которые удовлетворяют следующим условиям:

[0054] М1-k×sigma1+k×sigma, если яркость центрального пикселя ниже порогового значения th, и

[0055] М2-k×sigma2+k×sigma, если яркость центрального пикселя не ниже (то есть выше или равна) порогового значения th.

[0056] В результате управляемой сигма-фильтрации в проблемных пикселях связных компонент модуль локального фильтра 114 выдает для центрального пикселя окрестности F×F среднюю яркость 〈I〉, усредненную по тем пикселям (i,j) окрестности F×F, которые удовлетворяют следующим условиям:

[0057] М1-k×sigma1+k×sigma (формула А), если для большинства пикселей связных компонент в блоке с похожей локальной окрестностью яркость этих пикселей ниже порогового значения th, и

[0058] М2-k×sigma2+k×sigma (формула В), если для большинства пикселей связных компонент в блоке с похожей локальной окрестностью яркость этих пикселей не ниже (то есть выше или равна) порогового значения th.

[0059] Для каждого проблемного пикселя связных компонент модуль локального фильтра 114 может выявить пиксели с похожей локальной окрестностью (то есть, подобные пиксели) внутри текстового блока N×N среди пикселей связных компонент. Модуль локального фильтра 114 может использовать бинарные локальные дескрипторы, такие как BRISK, для поиска похожих локальных окрестностей. Модуль локального фильтра 114 может вычислять дескрипторы для каждого пикселя связных компонент. Например, модуль локального фильтра 114 может определить, что проблемный пиксель и некоторый пиксель связной компоненты подобны, и этот пиксель связной компоненты может использоваться для выбора между формулами А и В. Если расстояние Хэмминга между локальными дескрипторами проблемного пикселя и пикселя связной компоненты меньше порогового значения D, пиксель связной компоненты считается подобным с проблемным пикселем, а значит, подобные пиксели связных компонент могут использоваться для выбора между формулами А и В указанных выше.

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

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

[0062] Вместо этого или к дополнение к этому при фильтрации в проблемных пикселях модуль локального фильтра 114 может использовать результат нелокального усреднения (non-local means) по найденным подобным пикселям вместо применения формул А и В. Модуль локального фильтра 114 может определить, что проблемный пиксель связной компоненты имеет слишком мало участников найденных для голосования (например, меньше определенного порогового значения V) или при голосовании выяснилось, что большинство незначительно превосходит меньшинство (например, менее чем на V1 процентов от количества участников голосования), и в этом случае вместо формул А и В модуль локального фильтра 114 может применять сглаживающий фильтр с сохранением контуров 3×3 к проблемному пикселю связной компоненты, например симметричный фильтр ближайшего соседа (SNN) или фильтр Кувахара-Нагао (Kuwahara-Nagao).

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

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

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

[0065]

[0066] Модуль локального фильтра 114 может объединять результаты локально-адаптивной фильтрации в тех областях, где блоки перекрываются. Если модуль локального фильтра 114 разбивает изображение на перекрывающиеся блоки, модуль локального фильтра 114 может объединять результаты, обеспечивая незаметный переход между блоками в тех областях, где эти блоки перекрываются. Модуль локального фильтра 114 может объединять результаты локально-адаптивной фильтрации соседних перекрывающихся блоков 1 и 2 умножая значения яркости I1 и I2 соответствующих пикселей блоков 1 и 2 на соответствующие веса и складывая полученные значения так, что значение для отфильтрованного изображения в перекрывающейся области будет равно:

[0067]

[0068] На ФИГ. 3 представлена схема примера системы 300 для объединения значений яркости пикселей из перекрывающихся частей 304 нескольких текстовых блоков 302а-b.

Перекрывающаяся часть 304 представляет собой область, для которой вычисления яркости, описанные ранее, были выполнены отдельно для первого текстового блока 302а и второго текстового блока 302b. Это может привести к вычислению нескольких значений яркости в одном месте расположения или для одного пикселя на электронном изображении 120, например, для различных пикселей 308а-с.На первой границе 306а перекрывающейся части 304 модуль локального фильтра 114 может использовать значение р=1, в результате чего формула С сократится до яркости I1 пикселя из блока 1, а яркость I2 пикселя из блока 2 использоваться не будет. На второй границе 306b перекрывающейся части 304 модуль локального фильтра 114 может использовать значение р=0, в результате чего формула С сократится до яркости I2 пикселя из блока 2, а яркость I1 пикселя из блока 1 использоваться не будет. Модуль локального фильтра 114 может изменять значение p линейно от единицы до нуля на протяжении перекрывающейся части 304 от первого края 306а до второго края 306b. Таким образом, модуль локального фильтра 114 может использовать значение p=1/2 на центральной линии 310 перекрывающейся области 304, в результате для вычисления объединенного значения яркости пикселя 308 с электронного изображения 120 будет взята половина яркости I1 пикселя из блока 1 и половина яркости I2 пикселя из блока 2.

[0069] Пользовательское электронное устройство 102 и (или) серверная система 112 могут содержать обучающий модуль 122. Обучающий модуль 122 может настраивать параметры для процесса 200, подбирая параметры таким образом, чтобы, при использовании на обучающей выборке сильно зашумленных изображений физических документов, подобранные параметры обеспечивали высокую или максимально возможную точность OCR для имеющейся обучающей выборки с шумом на изображениях. В некоторых вариантах реализации обучающий модуль 122 может входить в состав или иметь доступ к модулю локального фильтра 114 для выполнения обучения параметров. Обучающий модуль 122 может использовать базу данных зашумленных текстовых изображений, таких, что отношение сигнал-шум в текстовых блоках на зашумленных изображений менее четырех. Формула

может использоваться для оценки отношения сигнал-шум. Альтернативно, формула R=Ct/sigma может использоваться для оценки отношения сигнал-шум. В некоторых вариантах реализации обучающий модуль 122 может использовать изображения с R<4 как обучающие изображения для подбора параметров.

[0070] Обучающий модуль 122 снабжен реальным текстом зашумленных изображений. Например, реальный текст зашумленных изображений может храниться в базе данных. Обучающий модуль 122 может сравнивать текст, полученный в результате OCR, выполняемого на улучшенных обучающих изображениях, с реальным текстом, определяя точность OCR, например, процент ошибок в распознанном тексте (т.е. общее количество ошибок в символах распознанного текста, деленное на общее количество распознаваемых символов). Модуль локального фильтра 114 может выполнять улучшение обучающих изображений, а модуль OCR 113, 118 может выполнять OCR улучшенных обучающих изображений, используя множество различных значений параметров. Обучающий модуль 122 может подбирать оптимальные значения параметров, включая N, n, m, b, с, тип статистики S, k, F, D, delta и другие параметры фильтра, что позволяет получить максимальную точность OCR между результатами, полученными при OCR улучшенных обучающих изображений и реальным текстом обучающих изображений.

[0071] Обучающий модуль 122 может использовать примерный начальный диапазон возможных значений для каждого из параметров. Начальный диапазон может быть задан вручную пользователем обучающего модуля 122. Диапазоны могут выбираться с учетом априорных знаний о статистиках различных характеристик текста и шума. Диапазоны могут быть, например, такими:

[0072] N: от 5% до 15% или от 2 до 6 строк

[0073] k: от 1 до 5

[0074] F: от 11 до 35 пикселей

[0075] D: от 50 до 150

[0076] с: от 0.5 до 0.95

[0077] 0.5

[0078] delta=q*Ct/2, где q: от 0.05 до 0.5

[0079] n: 3, 5, 7

[0080] m: 5, 7, 9, 11, 13, 15

[0081] S: одна из трех указанных выше формул

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

[0083] Например, обучающий модуль 122 может начать с определения оптимального значения Nopt для N. Обучающий модуль 122 определяет процент ошибок OCR, выполненном на улучшенных обучающих изображений, для значений N в указанном диапазоне (например, с некоторым приращением, таким как 1%, одна строка или половина строки). Обучающий модуль 122 может задать значения других параметров из середины диапазонов этих параметров. Обучающий модуль 122 сравнивает итоговый процент ошибок для каждого из значений N, чтобы определить, какое значение N обеспечивает наименьший процент ошибок. Затем обучающий модуль 122 фиксирует значение N на полученном значении Nopt и продолжает работу, изменяя следующий параметр, например, k, оставляя значения других необработанных параметров на средних значениях. Обучающий модуль 122 определяет процент ошибок OCR, выполненном на улучшенных обучающих изображений, для значений k в указанном диапазоне (например, с приращением 0,2) и сравнивает процент ошибок, чтобы определить, какое значение k дает меньше всего ошибок.

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

[0085] В некоторых вариантах осуществления для пикселей связных компонент с неуверенной бинаризацией модуль локального фильтра 114 может определять яркость пикселей с неуверенной бинаризацией голосованием среди пикселей связных компонент блока, который имеет похожую структуру локальной окрестности. Модуль локального фильтра 114 может выполнять это действие, для исправления результатов бинаризации пикселей связных компонент, имеющих неуверенную бинаризацию, и получить улучшенное бинаризованное изображение. Модуль локального фильтра 114 может определять яркость проблемных пикселей связных компонент на бинаризованном изображении голосованием среди пикселей связных компонент блока, который имеет похожую структуру локальной окрестности. Модуль локального фильтра 114 может выполнять обработку аналогично шагу 211, где на сером изображении выполнялось голосование для вычисления значения 〈I〉 для проблемных пикселей связных компонент, только теперь модуль локального фильтра 114 выполняет эту обработку на бинаризованном изображении, а не на сером изображении. Описанный выше способ позволяет получить улучшенное изображение (то есть с улучшенным контрастом и (или) уменьшенным шумом), которое может обеспечить большую точность при выполнении OCR на улучшенном изображении. Создание улучшенного изображения может использовать меньше ресурсов системы (например, меньше памяти, места для хранения данных и (или) циклов обрабатывающего устройства), чем стандартные техники улучшения изображения, а также может обеспечить более точные результаты, например, даже на мобильных устройствах.

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

[0087] На ФИГ. 4 приведена схема, иллюстрирующая пример машины в виде вычислительной системы 400. Вычислительная система 400 выполняет один или более наборов инструкций 426, которые заставляют машину выполнять одну или более рассматриваемых в этом документе методологий. Эта машина может работать в качестве сервера или клиентского устройства в сетевой среде «клиент-сервер» или как одноранговая машина в одноранговой (или распределенной) сети. Такой машиной может быть персональный компьютер (ПК), планшетный ПК, телевизионная приставка (STB), карманный персональный компьютер (PDA), сотовый телефон, веб-устройство, сервер, маршрутизатор, коммутатор или мост либо любая машина, которая может выполнять набор команд (последовательных или иных), определяющих действия, которые будут предприняты этой машиной. В дальнейшем, несмотря на то что на рисунке изображена одна машина, термин «машина» также будет включать в себя любые наборы машин, которые по отдельности или совместно выполняют набор (или несколько наборов) инструкций 426, осуществляя любую одну или более рассматриваемых в этом документе методологий.

[0088] Вычислительная система 400 содержит процессор 402, основное запоминающее устройство 404 (например, постоянное запоминающее устройство (ПЗУ), флеш-память, динамическое оперативное запоминающее устройство (ДОЗУ) (например, синхронное ДОЗУ (СДОЗУ) или Rambus ДОЗУ (РДОЗУ) и т.д.), статическое запоминающее устройство 406 (например, флеш-память, статическое оперативное запоминающее устройство (СОЗУ) и т.д.) и устройство хранения данных 416, которые могут обмениваться информацией друг с другом с помощью шины 408.

[0089] Процессор 402 представляет собой одно или более обрабатывающих устройств общего назначения, например, микропроцессоров, центральных процессоров или аналогичных устройств. В частности, процессор 402 может представлять собой микропроцессор с полным набором команд (CISC), микропроцессор с сокращенным набором команд (RISC), микропроцессор с командными словами сверхбольшой длины (VLIW), процессор, реализующий другой набор команд, или процессоры, реализующие комбинацию наборов команд. Процессор 402 также может представлять собой одно или более устройств обработки специального назначения, например интегральную микросхему (ASIC), программируемую пользователем логическую интегральную схему (FPGA), процессор цифровой обработки сигналов (DSP), сетевой процессор и т.д. Процессор 402 реализован с возможностью выполнения команд модуля локального фильтра 114, обучающего модуля 122, модуля OCR 113, 118, пользовательского электронного устройства 102 и (или) серверной системой 112 для выполнения операций и шагов, рассматриваемых в этом документе.

[0090] Вычислительная система 400 может также содержать устройство сетевого интерфейса 422, которое обеспечивает связь с другими машинами по сети 418, например, по локальной сети (LAN), корпоративной сети, сети экстранет или сети Интернет. Вычислительная система 400 также может включать блок видео дисплея 410 (например, жидкокристаллический дисплей (LCD) или электронно-лучевой монитор (CRT)), алфавитно-цифровое устройство ввода 412 (например, клавиатуру), устройство управления курсором 414 (например, мышь) и устройство генерации сигналов 420 (например, динамик).

[0091] Устройство хранения данных 416 может включать машиночитаемый носитель данных 424, на котором хранятся наборы инструкций 426 для модуля локального фильтра 114, обучающего модуля 122, модуля OCR 113, 118, пользовательского электронного устройства 102 и (или) серверной системы 112, отражающие одну или более методологий или функций, описанных в данном документе. Наборы инструкций 426 для модуля локального фильтра 114, обучающего модуля 122, модуля OCR 113, 118, пользовательского электронного устройства 102 и (или) серверной системы 112 могут также располагаться полностью или как минимум частично в основном запоминающем устройстве 404 и/или в процессоре 402 во время их выполнения вычислительной системой 400, основное запоминающее устройство 404 и процессор 402 также формируют машиночитаемый носитель данных. Наборы инструкций 426 могут также передаваться или приниматься по сети 418 с помощью устройства сетевого интерфейса 422.

[0092] В то время как пример машиночитаемого носителя данных 424 показан как единый носитель, термин «машиночитаемый носитель данных» следует понимать как единый носитель либо множество таких носителей (например, централизованную или распределенную базу данных и/или соответствующие кэши и серверы), в которых хранятся наборы команд 426. Термин «машиночитаемый носитель данных» может включать любой носитель, который может хранить, кодировать или переносить набор команд для выполнения машиной и который обеспечивает выполнение машиной любой одной или более методологий настоящего изобретения. Термин «машиночитаемый носитель данных» может включать, в частности, устройства твердотельной памяти, оптические и магнитные носители.

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

[0094] Некоторые части описания предпочтительных вариантов реализации изобретения представлены в виде алгоритмов и символического представления операций с битами данных в запоминающем устройстве компьютера. Такие описания и представления алгоритмов являются средством, используемым специалистами в области обработки данных, чтобы наиболее эффективно передавать сущность своей работы другим специалистам в данной области. Приведенный здесь (и в целом) алгоритм сконструирован как непротиворечивая последовательность шагов, ведущих к нужному результату. Эти шаги требуют физических манипуляций с физическими величинами. Обычно, хотя и не обязательно, эти величины принимают форму электрических или магнитных сигналов, которые можно хранить, передавать, комбинировать, сравнивать и выполнять другие манипуляции. Иногда удобно, прежде всего для обычного использования, описывать эти сигналы в виде битов, значений, элементов, символов, терминов, цифр и т.д.

[0095] Однако следует иметь в виду, что все эти и подобные термины должны быть связаны с соответствующими физическими величинами и что они являются лишь удобными обозначениями, применяемыми к этим величинам. Если не указано иное, как видно из последующего обсуждения, следует понимать, что во всем описании такие термины, как «определение», «предоставление», «активация», «нахождение», «выбор» и т.д., относятся к операциям и процессам вычислительной системы или подобного электронного вычислительного устройства, которые управляют данными, представленными в виде физических (электронных) величин в регистрах и запоминающих устройствах вычислительной системы, и преобразуют их в другие данные, аналогичным образом представленные в виде физических величин в запоминающих устройствах или регистрах вычислительной системы либо в других подобных устройствах хранения, передачи или отображения информации.

[0096] Настоящее изобретение также относится к устройству для выполнения операций, описанных в настоящем документе. Такое устройство может быть специально сконструировано для требуемых целей, или оно может содержать универсальный компьютер, который избирательно активируется или дополнительно настраивается с помощью компьютерной программы, хранящейся в компьютере. Подобная компьютерная программа может храниться на машиночитаемом носителе данных, включая, помимо прочего, любые типы дисков, например гибкие диски, оптические диски, компакт-диски, не предназначенные для перезаписи (CD-ROM), магнитно-оптические диски, постоянные запоминающие устройства (ROM), оперативные запоминающие устройства (RAM), стираемые программируемые постоянные запоминающие устройства (EPROM), стираемые электрическим сигналом программируемые постоянные запоминающие устройства (EEPROM), магнитные или оптические карты или другие типы носителей, используемые для хранения инструкций в электронном виде.

[0097] Слова «пример» или «примерный» используются здесь для обозначения использования в качестве примера, отдельного случая или иллюстрации. Любой вариант реализации или конструкция, описанная в настоящем документе как «пример», не должны обязательно рассматриваться как предпочтительные или преимущественные по сравнению с другими вариантами реализации или конструкциями. Слово «пример» лишь предполагает, что идея изобретения представляется конкретным образом. В этой заявке термин «или» предназначен для обозначения включающего «или», а не исключающего «или». Если не указано иное или не очевидно из контекста, то «X включает А или В» используется для обозначения любой из естественных включающих перестановок. То есть если X включает в себя А; X включает в себя В; или X включает и А, и В, то высказывание «X включает в себя А или В» является истинным в любом из указанных выше случаев. Использование терминов «вариант осуществления» или «один вариант осуществления» либо «реализация» или «одна реализация» не означает одинаковый вариант реализации, если такое описание не приложено. В описании термины «первый», «второй», «третий», «четвертый» и т.д. используются как метки для обозначения различных элементов, они не обязательно имеют смысл порядка в соответствии с их числовым обозначением.

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

Реферат

Изобретение относится к области вычислительной техники. Технический результат заключается в улучшении контраста и уменьшении шума на изображении. Содержание настоящего описания может быть реализовано за счет применения способа, который включает выявление одного или более блоков в электронном изображении, содержащем символы текста, выявление одного или более текстовых блоков среди блоков, которые содержат символы текста, определение среднего значения контраста текста для каждого из текстовых блоков, выявление типа каждого пикселя в каждом из текстовых блоков, исходя из среднего значения контраста текста, выполнение локально-адаптивной фильтрации в первой окрестности пикселей вокруг каждого пикселя из каждого текстового блока для определения яркости пикселя, исходя из выявленного типа, сохранение, как минимум в одном устройстве хранения данных, электронного изображения, содержащего найденную яркость для каждого пикселя в каждом из текстовых блоков. 3 н. и 17 з.п. ф-лы, 4 ил.

Формула

1. Способ улучшения электронных изображений, включающий:
выявление одного или более блоков на электронном изображении, которые содержат символы текста;
выявление одного или более текстовых блоков среди блоков, которые содержат символы текста;
определение среднего значения контраста текста для каждого из текстовых блоков;
выявление типа каждого пикселя в каждом из текстовых блоков, исходя из среднего значения контраста текста, где тип пикселя выбирается из фоновых пикселей, пикселей связных компонент или проблемных пикселей связных компонент, и где тип фонового пикселя указывает на то, что пиксель является частью фона электронного изображения, тип пикселя связной компоненты указывает, что пиксель является частью имеющейся на электронном изображении связной компоненты, а тип проблемного пикселя связной компоненты указывает, что пиксель является частью имеющейся на электронном изображении связной компоненты и имеет неуверенную бинаризацию;
выполнение по меньшей мере одним обрабатывающим устройством локально-адаптивной фильтрации в первой окрестности пикселей вокруг каждого пикселя из каждого текстового блока для определения яркости пикселя, исходя из выявленного типа; и
сохранение по меньшей мере в одном устройстве хранения данных электронного изображения, содержащего найденную яркость для каждого пикселя в каждом из текстовых блоков.
2. Способ по п. 1, дополнительно включающий получение электронного изображения через интерфейс получения изображения пользовательского электронного устройства, причем пользовательское электронное устройство содержит обрабатывающее устройство.
3. Способ по п. 1, дополнительно включающий выполнение оптического распознавания символов текста на электронном изображении, исходя из найденной яркости каждого пикселя в каждом текстовом блоке.
4. Способ по п. 1, дополнительно включающий:
выявление по меньшей мере одного первого зашумленного пикселя в по меньшей мере одном текстовом блоке из текстовых блоков на основе сравнения разности яркости этого первого пикселя и статистики яркости для пикселей из второй окрестности вокруг первого пикселя в текстовом блоке со средним значением контраста текста; и
уменьшение контраста шумовых пикселей, исходя из яркости, статистики яркости и среднего контраста текста, причем уменьшение ограничено средним контрастом текста, где выявление типа выполняется после уменьшения контраста шумовых пикселей.
5. Способ по п. 4, отличающийся тем, что статистика яркости включает по меньшей мере одно из значений серединной точки для яркости пикселей из второй окрестности, медианы яркости пикселей из второй окрестности или среднего значения яркости пикселей из второй окрестности.
6. Способ по п. 1, дополнительно включающий:
определение того, что яркость по меньшей мере одного первого пикселя, имеющего тип пикселя связной компоненты по меньшей мере в одном блоке среди текстовых блоков, имеет контраст ниже порогового значения, исходя из среднего значения контраста текста и статистики яркости для пикселей из второй окрестности вокруг первого пикселя; и
определение яркости первого пикселя, исходя из среднего значения контраста текста и статистики яркости с целью повышения контраста первого пикселя.
7. Способ по п. 1, отличающийся тем, что локально-адаптивная фильтрация использует различные вычисления для каждого типа пикселей, то есть фоновых пикселей, пикселей связных компонент и проблемных пикселей связных компонент.
8. Способ по п. 1, отличающийся тем, что текстовые блоки перекрываются и что описываемый способ дополнительно включает объединение найденной яркости для перекрывающихся частей соседних текстовых блоков, на основе соответствующих весов для совмещенных пикселей в перекрывающихся частях.
9. Постоянный машиночитаемый носитель данных, содержащий сохраненные на нем команды, которые при выполнении по меньшей мере одним обрабатывающим устройством вызывают выполнение обрабатывающим устройством следующих действий:
выявление одного или более блоков на электронном изображении, которые содержат символы текста;
выявление одного или более текстовых блоков среди блоков, которые содержат символы текста;
определение среднего значения контраста текста для каждого из текстовых блоков;
выявление типа каждого пикселя в каждом из текстовых блоков, исходя из среднего значения контраста текста, где тип пикселя выбирается из фоновых пикселей, пикселей связных компонент или проблемных пикселей связных компонент и где тип фонового пикселя указывает на то, что пиксель является частью фона электронного изображения, тип пикселя связной компоненты указывает, что пиксель является частью имеющейся на электронном изображении связной компоненты, а тип проблемного пикселя связной компоненты указывает, что пиксель является частью имеющейся на электронном изображении связной компоненты и имеет неуверенную бинаризацию;
выполнение обрабатывающим устройством локально-адаптивной фильтрации в первой окрестности пикселей вокруг каждого пикселя из каждого текстового блока для определения яркости пикселя, исходя из выявленного типа; и
сохранение по меньшей мере в одном устройстве хранения данных электронного изображения, содержащего найденную яркость для каждого пикселя в каждом из текстовых блоков.
10. Машиночитаемый носитель данных по п. 9, отличающийся тем, что команды дополнительно вызывают в обрабатывающем устройстве получение электронного изображения через интерфейс получения изображения пользовательского электронного устройства, причем пользовательское электронное устройство содержит обрабатывающее устройство.
11. Машиночитаемый носитель данных по п. 9, отличающийся тем, что команды дополнительно вызывают в обрабатывающем устройстве выполнение оптического распознавания символов текста на электронном изображении, исходя из найденной яркости каждого пикселя в каждом текстовом блоке.
12. Машиночитаемый носитель данных по п. 9, отличающийся тем, что команды дополнительно вызывают в обрабатывающем устройстве:
выявление по меньшей мере одного первого зашумленного пикселя по меньшей мере в одном текстовом блоке среди текстовых блоков на основе сравнения яркости этого первого пикселя и статистики яркости для пикселей из второй окрестности вокруг первого пикселя в текстовом блоке со средним значением контраста текста; и
уменьшение контраста шумовых пикселей, исходя из яркости, статистики яркости и среднего значения контраста текста, причем уменьшение ограничено средним значением контраста текста, где выявление типа выполняется после уменьшения контраста шумовых пикселей.
13. Машиночитаемый носитель данных по п. 12, отличающийся тем, что статистика яркости включает по меньшей мере одно из значений серединной точки яркости пикселей из второй окрестности, медианы яркости пикселей из второй окрестности или среднего значения яркости пикселей из второй окрестности.
14. Машиночитаемый носитель данных по п. 9, отличающийся тем, что локально-адаптивная фильтрация использует различные вычисления для каждого типа пикселей, то есть фоновых пикселей, пикселей связных компонент и проблемных пикселей связных компонент.
15. Машиночитаемый носитель данных по п. 9, отличающийся тем, что текстовые блоки перекрываются и что команды дополнительно вызывают в обрабатывающем устройстве объединение найденной яркости для перекрывающихся частей соседних текстовых блоков на основе соответствующих весов для совмещенных пикселей в перекрывающихся частях.
16. Система улучшения электронных изображений, содержащая следующие компоненты:
по меньшей мере одно запоминающее устройство, в котором хранятся команды; и
по меньшей мере одно обрабатывающее устройство для выполнения команд со следующими целями:
выявление одного или более блоков на электронном изображении, которые содержат символы текста;
выявление одного или более текстовых блоков среди блоков, которые содержат символы текста;
определение среднего значения контраста текста для каждого из текстовых блоков;
выявление типа каждого пикселя в каждом из текстовых блоков, исходя из среднего значения контраста текста, где тип пикселя выбирается из фоновых пикселей, пикселей связных компонент или проблемных пикселей связных компонент и где тип фонового пикселя указывает на то, что пиксель является частью фона электронного изображения, тип пикселя связной компоненты указывает, что пиксель является частью имеющейся на электронном изображении связной компоненты, а тип проблемного пикселя связной компоненты указывает, что пиксель является частью имеющейся на электронном изображении связной компоненты и имеет неуверенную бинаризацию;
выполнение обрабатывающим устройством локально-адаптивной фильтрации в первой окрестности пикселей вокруг каждого пикселя из каждого текстового блока для определения яркости пикселя, исходя из выявленного типа; и
сохранение по меньшей мере в одном устройстве хранения данных электронного изображения, содержащего найденную яркость для каждого пикселя в каждом из текстовых блоков.
17. Система по п. 16, отличающаяся тем, что обрабатывающее устройство дополнительно выполняет команды для выполнения оптического распознавания символов текста на электронном изображении, исходя из найденной яркости каждого пикселя в каждом текстовом блоке.
18. Система по п. 16, отличающаяся тем, что обрабатывающее устройство также выполняет инструкции, обеспечивающие:
выявление по меньшей мере одного первого зашумленного пикселя по меньшей мере в одном текстовом блоке среди текстовых блоков на основе сравнения разницы яркости этого первого пикселя и статистики яркости для пикселей из второй окрестности вокруг первого пикселя в текстовом блоке со средним значением контраста текста; и
уменьшение контраста шумовых пикселей, исходя из яркости, статистики яркости и среднего значения контраста текста, причем уменьшение ограничено средним значением контраста текста, где выявление типа выполняется после уменьшения контраста шумовых пикселей.
19. Система по п. 18, отличающаяся тем, что статистика яркости включает по меньшей мере одно из значений серединной точки яркости пикселей из второй окрестности, медианы яркости пикселей из второй окрестности или среднего значения яркости пикселей во второй окрестности.
20. Система по п. 16, отличающаяся тем, что локально-адаптивная фильтрация использует различные вычисления для каждого типа пикселей, т.е. фоновых пикселей, пикселей связных компонент и проблемных пикселей.

Патенты аналоги

Авторы

Патентообладатели

Заявители

СПК: G06T5/002

Публикация: 2020-05-18

Дата подачи заявки: 2017-12-14

0
0
0
0
Невозможно загрузить содержимое всплывающей подсказки.
Поиск по товарам