RU2634195C1 - Способ и устройство для определения пригодности документа для оптического распознавания символов (ocr) - Google Patents
Способ и устройство для определения пригодности документа для оптического распознавания символов (ocr) Download PDFInfo
- Publication number
- RU2634195C1 RU2634195C1 RU2016147699A RU2016147699A RU2634195C1 RU 2634195 C1 RU2634195 C1 RU 2634195C1 RU 2016147699 A RU2016147699 A RU 2016147699A RU 2016147699 A RU2016147699 A RU 2016147699A RU 2634195 C1 RU2634195 C1 RU 2634195C1
- Authority
- RU
- Russia
- Prior art keywords
- ocr
- digital image
- image
- contrast
- pixels
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/40—Analysis of texture
- G06T7/41—Analysis of texture based on statistical description of texture
- G06T7/44—Analysis of texture based on statistical description of texture using image operators, e.g. filters, edge density metrics or local histograms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/16—Image preprocessing
- G06V30/164—Noise filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/192—Recognition using electronic means using simultaneous comparisons or correlations of the image signals with a plurality of references
- G06V30/194—References adjustable by an adaptive method, e.g. learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Probability & Statistics with Applications (AREA)
- Character Input (AREA)
Abstract
Группа изобретений относится к технологиям обработки документов посредством систем оптического распознавания символов (OCR). Техническим результатом является расширение арсенала технических средств для анализа пригодности цифрового изображения для OCR. Предложен способ анализа пригодности цифрового изображения для OCR, выполняемый пользовательским электронным устройством. Способ содержит этап, на котором осуществляют получение пользовательским электронным устройством цифрового изображения документа. Далее согласно способу осуществляют определение с помощью классификатора на электронном устройстве пользователя параметра пригодности цифрового изображения для OCR, представляющего собой признак того, является ли цифровое изображение пригодным для создания результата OCR приемлемого качества. При этом указанный классификатор обучается на основании, по меньшей мере, прогнозируемого параметра зашумленности изображения для определения параметра пригодности документа для OCR и/или индикатора вероятности OCR и проходит валидацию после обучения указанного классификатора. 3 н. и 25 з.п. ф-лы, 5 ил.
Description
ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящая технология относится к осуществляемым на компьютере способам и системам обработки документов в целом и, в частности, к способу и устройству для определения пригодности документа для оптического распознавания символов (OCR).
УРОВЕНЬ ТЕХНИКИ
[0002] Печатные документы на естественном языке до сих пор являются широко распространенным средством, используемым для коммуникации между людьми в рамках организаций, а также для распространения информации среди ее потребителей. С появлением повсеместно используемых мощных вычислительных ресурсов, включая персональные вычислительные ресурсы, реализованные в смартфонах, планшетах, ноутбуках и персональных компьютерах, а также с распространением более мощных вычислительных ресурсов облачных вычислительных сервисов, центров обработки данных и корпоративных серверов организаций и предприятий, шифрование и обмен информацией на естественном языке все чаще выполняется в виде электронных документов.
[0003] В отличие от печатных документов, которые по своей сути представляют собой изображения, электронные документы содержат последовательности цифровых кодов символов и знаков естественного языка. Поскольку электронные документы имеют перед печатными документами преимущества по стоимости, возможностям передачи и рассылки, простоте редактирования и изменения, а также по надежности хранения, за последние 50 лет развилась целая отрасль, поддерживающая способы и системы преобразования печатных документов в электронные.
[0004] Вычислительные способы и системы оптического распознавания символов, совместно с электронными сканерами, являются надежными и экономичными средствами получения изображений печатных документов и компьютерной обработки получаемых цифровых изображений, содержащих текст документов с целью создания электронных документов, соответствующих печатным.
[0005] С появлением смартфонов, оснащенных камерами, а также других мобильных устройств формирования изображения с процессорным управлением, появилась возможность получения цифровых изображений, содержащих текст документов, с помощью широкого диапазона различных типов широко распространенных портативных устройств, включая смартфоны, недорогие цифровые камеры, недорогие камеры видеонаблюдения, а также устройства получения изображений, встроенные в мобильные вычислительные приборы, включая планшетные компьютеры и ноутбуки.
[0006] Получаемые при помощи таких портативных устройств и приборов цифровые изображения содержащих текст документов могут обрабатываться вычислительными системами оптического распознавания символов, в том числе приложениями оптического распознавания символов (также именуемыми обработкой OCR), установленными в смартфонах или реализованными на серверах, для создания соответствующих электронных документов.
[0007] При реализации функции обработки OCR в локальном режиме эта функция может быть реализована на портативном устройстве, и цифровое изображение может обрабатываться с целью создания распознанного текстового документа. Как вариант, цифровое изображение, полученное электронным устройством пользователя (в сжатой форме или в фактическом размере), передается через сеть связи на сервер систем оптического распознавания символов для выполнения функции OCR на стороне сервера. Затем сервер (i) получает цифровое изображение (ii) распаковывает цифровое изображение для получения распакованного цифрового изображения (в случаях когда изображение передается в сжатой форме между портативным устройством и сервером) и (iii) выполняет функцию OCR на базе сервера для создания распознанного текстового документа на основе цифрового изображения, при этом распознанный текстовый документ содержит текст, сформированный на основе цифрового изображения. Затем сервер может передать распознанный текстовый документ обратно на электронное устройство пользователя через сеть связи (в исходном или сжатом виде).
[0008] Обычно локально выполняемая функция OCR обеспечивает более низкое качество вывода OCR по сравнению с функцией OCR на базе сервера (поскольку локально выполняемые системы OCR менее сложные, чем выполняемые на сервере системы OCR в связи с обычно ограниченными вычислительными ресурсами, доступными на портативном устройстве, по сравнению с сервером, выделенным для выполнения функции OCR).
[0009] В любом случае выполняется ли функция OCR локально или на сервере, эта функция содержит в некоторой степени предварительную обработку цифрового изображения для сокращения количества артефактов в цифровом изображении (т.е. сокращает зашумленность, оптическое размытие и т.д.). В рамках функции OCR портативное устройство или сервер выполняет бинаризацию и вычислительно емкие процедуры OCR.
КРАТКОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0010] Задача настоящей технологии заключается в устранении, по меньшей мере, некоторых имеющихся недостатков, присутствовавших в известном уровне техники.
[0011] Варианты реализации настоящей технологии были разработаны на основе мнения изобретателей о том, что в известном уровне техники при имеющемся подходе к выполнению функции OCR локально или на сервере существует, по меньшей мере, одна техническая проблема. Не желая быть привязанными к какой-либо конкретной теории изобретатели считают, что до выполнения собственно обработки OCR (локально или на сервере) желательно выполнять обработку цифрового изображения (для OCR обработки локально или на базе сервера) с целью определения пригодности цифрового документа для OCR обработки (локально или на базе сервера).
[0012] Определение пригодности цифрового документа для обработки OCR в широком смысле заключается в определении того, может ли цифровой документ после обработки функцией OCR (локально или на базе сервера) обеспечить результат (т.е. распознанный текстовый цифровой документ) приемлемого качества (и, в случае неприемлемого качества результата, запросить пользователя повторно сформировать цифровое изображение документа). Приемлемое качество может, например (помимо прочего), измеряться количеством ошибок, содержащихся в распознанном текстовом документе (по максимальному количеству ошибок на странице или общему количеству ошибок в документе).
[0013] Причина и преимущество такого предварительного определения пригодности зависит, по меньшей мере, от того, выполняется ли функция OCR локально на портативном устройстве или на сервере.
[0014] Для тех случаев, когда функция OCR выполняется локально, возможность предварительной обработки заданного цифрового изображения для определения его пригодности для обработки OCR дает возможность пользователю выполнить повторное получение цифрового изображения с помощью портативного устройства в случае непригодности исходного цифрового изображения для обработки OCR. Иными словами, если установлено, что исходное изображение, полученное с помощью выполняемой локально OCR, скорее всего даст результат неудовлетворительного качества, пользователю может быть выдан запрос на повторное получение цифрового изображения до начала его обработки OCR. Это, в свою очередь, может дать более удовлетворительный результат выполнения функции OCR и его достижение в относительно более короткий период времени (в особенности если исходное полученное цифровое изображение не дало бы результата выполнения функции OCR приемлемого качества). В широком смысле, различные варианты реализации настоящей технологии могут улучшить качество окончательного распознавания с помощью выполняемой локально функции OCR по сравнению с существующими решениями на имеющемся уровне техники, которые не выполняют предварительную обработку для определения пригодности документа для OCR, что может привести к результатам выполнения функции OCR локально с неприемлемым качеством, в результате чего пользователь должен будет самостоятельно оценить неприемлемость качества выходных значений функции OCR и начать процесс получения и распознавания изображения заново.
[0015] Применение различных вариантов реализации настоящей технологии также может обеспечить сокращение потребности в вычислительных ресурсах, требуемых перед выполнением обработки OCR (и/или в ходе обработки OCR), что может обеспечить сохранение ресурса аккумулятора электронного устройства (например, аккумулятора портативного устройства).
[0016] В тех сценариях, когда функция OCR реализуется на сервере, определение пригодности цифрового документа для распознавания OCR на сервере с обеспечением приемлемого качества обеспечивает потенциальную экономию времени, необходимого для достижения необходимого качества распознавания, экономию пропускной способности сети связи, используемой для пересылки цифрового изображения между портативным устройством и сервером и т.д. Например, по сравнению с решениями, известными из уровня техники, которые не реализуют предварительную обработку для определения пригодности изображения для OCR, при которых цифровой файл отправляется на сервер для OCR обработки с получением результата распознавания OCR на базе сервера с неприемлемым качеством (в связи с чем потребуется оценка уровня пригодности результата OCR и выполнение процесса получения и распознавания изображения заново в виду неприемлемых окончательных результатов распознавания), реализация настоящей технологии дает возможность сокращения общего времени, необходимого для получения приемлемого качества выходного результата при выполнении OCR на сервере (в особенности в сценариях, когда исходное цифровое изображение было непригодным для оптического распознавания символов на базе сервера с приемлемым качеством).
[0017] Не желая быть привязанным к какой-либо конкретной теории, изобретатели также понимают, что пригодность цифрового изображения для обработки OCR (локально или на базе сервера) соотносится с уровнем зашумленности цифрового изображения. Изобретатели также понимают, что уровень низкого локального контраста может дополнительно (или как вариант) хорошо коррелировать с качеством выходных значений OCR. Исходя из этого понимания изобретатели устранили данный недостаток подходов, существующих в имеющемся уровне техники, за счет разработки способа определения на пользовательском электронном устройстве до передачи цифрового изображения на сервер (в случае OCR на базе сервера) или до обработки цифрового изображения функцией OCR локально, параметра пригодности получаемого цифрового изображения для OCR.
[0018] В широком смысле параметр пригодности документа для OCR является индикатором того, пригодно ли изображение для выдачи приемлемого результата при выполнении OCR на сервере. В соответствии с различными вариантами реализации настоящей технологии параметр пригодности документа для OCR определяется, как минимум, на основе уровня зашумленности цифрового изображения.
[0019] Некоторые варианты реализации настоящей технологии могут быть выполнены в облачной вычислительной среде. Облачная вычислительная среда основана на базе Интернет и обеспечивает общие ресурсы для компьютерной обработки и по требованию предоставляет данные для компьютеров и иных устройств. Эта модель обеспечивает повсеместный доступ по требованию к общему пулу настраиваемых вычислительных ресурсов (например, к компьютерным сетям, серверам, приложениям и службам), который может быть предоставлен и отменен при минимальных управляющих воздействиях. Облачные решения по вычислительным операциям и хранению данных дают пользователям и предприятиям различные возможности по хранению и обработке их данных в сторонних центрах обработки данных, которые могут быть расположены на далеком расстоянии от пользователя - от расстояния в пределах города до любого места в мире.
[0020] В соответствии с первым широким аспектом настоящей технологии обеспечивается способ анализа цифрового изображения. Способ выполняется электронным устройством пользователя. Этот способ включает: получение электронным устройством пользователя цифрового изображения документа; определение с помощью классификатора на электронном устройстве пользователя параметра пригодности цифрового изображения для OCR, представляющего собой признак того, является ли это цифровое изображение пригодным для создания результата OCR приемлемого качества, при этом такой классификатор обучается для определения параметра пригодности документа для OCR, по меньшей мере, на основе уровня зашумленности цифрового изображения; если параметр пригодности документа для OCR ниже заданного порогового значения, на электронном устройстве пользователя вызывается выполнение повторного получения цифрового изображения.
[0021] В некоторых вариантах реализации этот способ дополнительно включает выполнение OCR цифрового изображения при определении того, что параметр пригодности документа для OCR выше заданного порогового значения.
[0022] В некоторых вариантах реализации способа обеспечение выполнения OCR включает выполнение пользовательским электронным устройством функции OCR локально для создания распознанного текстового цифрового документа, представляющего текст, содержащийся в этом цифровом изображении.
[0023] В некоторых вариантах реализации способа обеспечение выполнения OCR включает передачу данных пользовательским электронными устройством на сервер, выполненный с возможностью осуществить OCR на базе сервера для (i) создания распознанного текстового цифрового документа, представляющего текст исходного цифрового изображения, и (ii) передачи распознанного текстового документа на пользовательское электронное устройство.
[0024] В некоторых вариантах реализации способа классификатор реализуется в виде алгоритма машинного обучения.
[0025] В некоторых вариантах реализации способа он дополнительно включает обучение алгоритма машинного обучения.
[0026] В некоторых вариантах реализации способа определение параметра пригодности документа для OCR включает: создание из изображения в оттенках серого контурного изображения; разделение серого цифрового изображения на неперекрывающиеся блоки; определение среднего контраста Ci в каждом блоке серого цифрового изображения; создание бинаризованной версии неперекрывающихся блоков серого цифрового изображения для определения контурных пикселей; определение текстовых блоков; определение контраста резких пикселей слабоконтрастных блоков; определение контраста фоновых пикселей слабоконтрастных блоков; определение средних значений для слабоконтрастных блоков; определение уровня ошибок R.
[0027] В некоторых вариантах реализации способа уровень ошибок R используется в качестве параметра пригодности документа для OCR.
[0028] В некоторых вариантах реализации способа создание контурного изображения включает применение к серому цифровому изображению фильтра.
[0029] В некоторых вариантах реализации способа фильтр представлен алгоритмом обнаружения контуров.
[0030] В некоторых вариантах реализации способа алгоритм обнаружения контуров представлен фильтром Собеля.
[0031] В некоторых вариантах реализации способа разделение серого изображения на неперекрывающиеся блоки включает выбор размера неперекрывающихся блоков, при котором значения яркости, зашумленности и размытия не имеют существенных различий в пределах заданного блока.
[0032] В некоторых вариантах реализации способа определение среднего контраста Ci в каждом блоке серого цифрового изображения включает выполнение анализа на основе гистограммы для определения значения контраста Ci для заданного блока.
[0033] В некоторых вариантах реализации способа выполнение анализа на основе гистограммы включает создание гистограммы яркости, при этом способ дополнительно включает определение минимального и максимального значения яркости, при котором 0,1% всех пикселей заданного блока имеют яркость меньше минимального значения, а 0,1% всех пикселей заданного блока имеют яркость выше максимума.
[0034] В некоторых вариантах реализации способа определение среднего значения контраста Ci в каждом блоке дополнительно включает определение разности между максимальным и минимальным значением.
[0035] В некоторых вариантах реализации способа создание бинарной версии блоков серого цифрового изображения для определения контурных пикселей включает применение порога бинаризации полусуммы максимального значения и минимального значения яркости заданного блока по формуле: th=½(Cmin+Cmax), где: th - порог бинаризации; Cmax - максимальное значение яркости; a Cmin - минимальное значение яркости.
[0036] В некоторых вариантах реализации способ дополнительно включает определение числа K бинаризованных контурных пикселей бинаризованного изображения в заданном блоке.
[0037] В некоторых вариантах реализации способа определение текстовых блоков включает определение заданного текстового блока исходя, как минимум, из одного из следующих условий: (i) количество бинарных контурных пикселей превышает заданное соотношение среди всех пикселей в заданном блоке (ii) показатель черных пикселей в бинаризованном изображение ниже заданного порога и (iii) значение контраста Ci ниже заданного уровня.
[0038] В некоторых вариантах реализации способ дополнительно включает выбор подмножества слабоконтрастных текстовых блоков.
[0039] В некоторых вариантах реализации способа определение контраста резких пикселей слабоконтрастных блоков включает определение контраста за счет уменьшения его значения с 255 до тех пор, пока сумма количества резких пикселей в контурном изображении, соответствующих заданному блоку, не станет больше или равна количеству контурных пикселей K, вычисленному по бинарной версии заданного блока.
[0040] В некоторых вариантах реализации способа определение контраста фоновых пикселей слабоконтрастных блоков включает определение значения как количества шумовых контурных пикселей, яркость которых ошибочно превышает в фоновых областях.
[0041] В некоторых вариантах реализации способа определение контраста фоновых пикселей слабоконтрастных блоков включает: определение количества фоновых бинарных пикселей бинаризованного цифрового изображения путем вычитания количества контурных пикселей K из общего количества пикселей в заданном блоке.
[0042] В некоторых вариантах реализации способа он дополнительно включает определение значения путем увеличения значения с нуля до тех пор, пока количество фоновых пикселей контурного изображения не станет равно или в первый раз не превысит заданное отношение Р количества фоновых бинарных пикселей в заданном блоке.
[0043] В некоторых вариантах реализации способа определение уровня ошибок R включает определение уровня ошибок R как: .
[0044] В некоторых вариантах реализации способа определение уровня ошибок R дополнительно включает использование статистической информации: (<Ci>, , , <Ri>, min(Ri)).
[0045] В некоторых вариантах реализации способа получение пользовательским электронным устройством цифрового изображения документа выполняется через интерфейс получения изображений пользовательского электронного устройства.
[0046] В соответствии с другим более широким аспектом настоящей технологии имеется электронное устройство, включающее процессор. Процессор выполнен с возможностью получения цифрового изображения документа; процессор также выполнен с возможностью определения с помощью классификатора параметра пригодности цифрового изображения для OCR, что является признаком того, является ли это цифровое изображение пригодным для создания результата OCR приемлемого качества, при этом классификатор обучается для определения параметра пригодности документа для OCR, по меньшей мере, на основе уровня зашумленности цифрового изображения; если параметр пригодности документа для OCR ниже заданного порога, обеспечивается повторное получение цифрового изображения.
[0047] В соответствии с другим более широким аспектом настоящей технологии предоставляется энергонезависимый машиночитаемый носитель информации, содержащий исполняемые команды, при выполнении которых электронное устройство, связанное с энергонезависимым машиночитаемым носителем информации, выполняет следующее: получение электронным устройством пользователя цифрового изображения документа; определение с помощью классификатора на электронном устройстве пользователя параметра пригодности цифрового изображения для OCR, представляющим собой признак того, является ли цифровое изображение пригодным для создания результата OCR приемлемого качества, при этом классификатор обучается для определения параметра пригодности документа для OCR, по меньшей мере, на основе уровня зашумленности цифрового изображения; если параметр пригодности документа для OCR ниже заданного порога, на электронном устройстве пользователя вызывается выполнение повторного получения цифрового изображения.
[0048] В контексте настоящего описания под "сервером" понимается компьютерная программа, работающая на соответствующем аппаратном обеспечении и способная получать запросы (например, от электронных устройств) по сети и выполнять эти запросы или обеспечивать выполнение этих запросов. Аппаратное обеспечение может быть представлено одним физическим компьютером или одной физической вычислительной системой, но ни одно из этих устройств не является обязательным требованием для настоящей технологии. В текущем контексте использование выражения "сервер" не означает, что каждая задача (например, полученные инструкции или запросы) или любая конкретная задача будет получена, выполнена или будет обеспечено ее выполнение тем же сервером (т.е. одним программным и/или аппаратным обеспечением); это должно означать, что в получении/отправке, выполнении или обеспечении выполнения любой задачи или запроса или при обработке результатов любой задачи или запроса может быть задействовано любое количество программных элементов или аппаратных устройств; при этом все это программное и аппаратное обеспечение может быть представлено одним или более серверами, при этом выражение "по меньшей мере один сервер" охватывает оба эти понятия. В некоторых вариантах реализации настоящей технологии сервер может быть реализован как часть облачной вычислительной системы.
[0049] В контексте настоящего описания под "электронным устройством" (или "пользовательским электронным устройством") понимается любое вычислительное аппаратное обеспечение, способное выполнять программное обеспечение, необходимое для выполнения поставленной задачи. Таким образом, к некоторым примерам электронных устройств (без ограничения) относятся персональные компьютеры (настольные, ноутбуки, нетбуки и т.д.), смартфоны, планшетные компьютеры и т.д. Необходимо отметить, что не исключается выполнение устройством, действующим в текущем контексте как электронное устройство, функций сервера для других электронных устройств. Использование выражения "электронное устройство" не исключает использования нескольких электронных устройств при получении/отправке, выполнении или обеспечении выполнения любой задачи или запроса или обработке результатов любой задачи или запроса или выполнении любых этапов способа, описанного в настоящем изобретении.
[0050] В контексте настоящего описания под "базой данных" понимается любая структурированная совокупность данных, независимо от конкретной структуры, программного обеспечения для управления базами данных или вычислительного аппаратного обеспечения, на котором данные хранятся, реализуются или иным способом передаются для использования. База данных может храниться на том же аппаратном обеспечении, на котором выполняется процесс или которое использует информацию, хранящуюся в базе данных, или на отдельном аппаратном обеспечении, например на выделенном сервере или множестве серверов.
[0051] В контексте настоящего описания выражение "носитель машиночитаемых данных" (или "устройство хранения данных") может включать носители любого характера и типа, включая ОЗУ, ПЗУ, диски (CD-ROM, DVD, дискеты, жесткие диски, и т.д.), ключи USB, твердотельные накопители, ЗУ на магнитной ленте и т.д.
[0052] Для различных вариантов реализации настоящей технологии предусмотрен, по меньшей мере, один из указанных выше объектов и/или аспектов, но не обязательно все эти объекты/аспекты в комплексе. Необходимо понимать, что некоторые аспекты настоящей технологии, полученные в результате попыток получить указанный выше объект, могут не удовлетворять требованиям этого объекта и/или могут удовлетворять требованиям других объектов, не указанных в частности в настоящем документе.
[0053] Дополнительные и/или альтернативные признаки, аспекты и преимущества реализации настоящей технологии станут очевидными из последующего описания, сопроводительных чертежей и прилагаемых пунктов формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0054] Для обеспечения лучшего понимания настоящей технологии, а также иных аспектов и дополнительных признаков, дается ссылка на последующее описание, которое должно использоваться совместно с сопроводительными чертежами, на которых:
[0055] На Фиг. 1 изображена система для реализации неограничивающих вариантов реализации настоящей технологии.
[0056] На Фиг. 2 приведено схематическое представление процесса обучения классификатора пригодности документа для OCR в системе на Фиг. 1.
[0057] На Фиг. 3 приведена блок-схема неограничивающего варианта реализации процесса определения параметра пригодности для OCR с использованием классификатора пригодности для OCR на Фиг. 2, и также схематически представлены вводы и выводы определенных шагов процесса определения параметра пригодности для OCR с помощью обученного классификатора на Фиг. 2.
[0058] На Фиг. 4 показана блок-схема неограничивающего варианта реализации способа определения пригодности документа для OCR, выполняемого классификатором пригодности для OCR, после обучения в ходе процесса, изображенного на Фиг. 2.
[0059] На Фиг. 5 показана лицевая сторона электронного устройства системы, изображенной на Фиг. 1, и обратная сторона электронного устройства системы, изображенной на Фиг. 1.
ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ РЕАЛИЗАЦИИ
[0060] На Фиг. 1 представлена структурная схема системы 100, пригодной для неограничивающих вариантов реализации настоящей технологии. Следует отчетливо понимать, что система 100, изображенная на схеме, является исключительно иллюстративным примером настоящей технологии. Таким образом, описание этой системы приводится исключительно как описание иллюстративных примеров настоящей технологии. Настоящее описание не направлено на описание объема или установление границ настоящей технологии. В некоторых случаях полезные примеры изменения системы 100 могут быть описаны ниже. Это сделано исключительно с целью улучшения понимания и, опять же, не для определения объема или установления границ настоящей технологии. Перечень этих изменений не является исчерпывающим и, насколько это будет понятно специалисту в данной области техники, весьма вероятны и иные изменения. При этом, если изменения не были выполнены (т.е. если не были описаны примеры изменений), не следует это интерпретировать как невозможность изменений, и как то, что описанное решение является единственно возможным для реализации этого элемента настоящей технологии. Специалисту в данной области техники будет понятно, что это, скорее всего, не так. Также следует понимать, что в некоторых случаях система 100 может обеспечивать простые варианты реализации настоящей технологии, и в этом случае они представлены таким образом, чтобы облегчить понимание. Специалисту в данной области техники будет понятно, что различные варианты реализации настоящей технологии могут представлять повышенную сложность.
[0061] Система 100 включает пользовательское электронное устройство 102. Реализация пользовательского электронного устройства 102 не имеет конкретных ограничений, но в качестве примера пользовательское электронное устройство 102 может быть реализовано как персональный компьютер (настольные компьютеры, ноутбуки, нетбуки и т.д.), устройство беспроводной связи (например, смартфон, сотовый телефон, планшетный компьютер и т.п.). В представленном на Фиг. 1 варианте реализации пользовательское электронное устройство 102 реализовано как устройство беспроводной связи.
[0062] Пользовательское электронное устройство 102 связано с интерфейсом получения изображения 103. В широком смысле интерфейс получения изображения 103 включает аппаратное обеспечение (и, при необходимости, связанное программное обеспечение) для получения цифрового изображения. Цифровое изображение может быть представлено, например, цифровым изображением печатного документа 140, содержащим текст 142 (и потенциально нетекстовые объекты, например изображение 144). Естественно, печатный документ 140 может содержать одну или более страниц, несколько или все из одной или более страниц с различным текстом 142 (включая перекрывающийся текст), различные изображения 144, различные разметки, различные шрифты, размеры шрифтов и т.д.
[0063] В изображенном на Фиг. 1 варианте реализации интерфейс получения изображений 103 реализован в виде камеры (следует отметить, что в некоторых вариантах реализации интерфейс получения изображения 103 может быть реализован как несколько камер, одна или более из которых располагается на лицевой стороне, изображенной на Фиг. 1, и/или одна или более из которых расположена на обратной, не показанной стороне на пользовательском электронном устройстве 102). Кратко рассмотрим Фиг. 5, на которой изображена лицевая сторона электронного устройства 102А и задняя сторона электронного устройства 102В. На лицевой стороне электронного устройства 102А находится передняя камера 103А, а на обратной стороне электронного устройства 102В находится задняя камера 103В. Для получения цифрового изображения печатного документа 140, возможно, будет более удобно использовать заднюю камеру 103В. При этом, если в приведенном ниже описании говорится о "камере", это относится к передней камере 103А или задней камере 103В (или к обеим камерам).
[0064] В альтернативном неограничивающем варианте реализации интерфейс получения изображения 103 может быть реализован в виде сканера (не изображен) для получения цифровой версии бумажного документа.
[0065] В соответствии со схематическим представлением на Фиг. 1 пользовательское электронное устройство 102 включает процессор 104. Процессор 104 может содержать один или более процессоров и/или один или более микроконтроллеров, выполненных с возможностью запуска инструкций и операций, связанных с работой пользовательского электронного устройства 102. В различных вариантах реализации процессор 104 может быть реализован с одним процессором, несколькими процессорами и/или иными электрическими компонентами, включая одну или более интегрированных схем и печатных плат. Процессор 104 может дополнительно содержать устройство кэш-памяти (не изображено) для временного локального хранения инструкций, данных или адресов компьютеров. В качестве примера процессор 104 может быть реализован как один или более процессоров или один или более контроллеров, выделенных для определенных задач обработки электронным устройством 102, или один многофункциональный процессор или контроллер.
[0066] Процессор имеет доступ к устройству хранения данных 106. Устройство хранения данных 106 может включать один или более носителей данных и, в общем, обеспечивать хранение данных, машиночитаемых кодов и т.п. В качестве примера устройство хранения данных 106 может содержать различные материальные машиночитаемые носители данных, в том числе постоянное запоминающее устройство (ПЗУ) и оперативное запоминающее устройство (ОЗУ). Устройство хранения данных 106 может включать одно или более фиксированных устройств хранения в виде, например, жестких дисков (HDD), твердотельных накопителей (SSD), карт флеш-памяти (например, карты Secured Digital или SD, встроенные карты MultiMediaCard или eMMD), а также иных пригодных форм памяти, связанных по двусторонней связи с процессором 104.
[0067] Устройство хранения данных 106 может хранить, помимо прочего, ряд машиночитаемых команд, которые вызывают выполнение процессором 104 (а также другими компонентами пользовательского электронного устройства 102) различных описанных в настоящем документе операций.
[0068] В различных вариантах реализации настоящей технологии различные компоненты пользовательского электронного устройства 102 могут быть оперативно связаны друг с другом по одной или более шинам (включая аппаратное и/или программное обеспечение), при этом шины не имеют отдельной нумерации. В качестве примера, но не в качестве ограничения, одна или более шин могут включать шину ускоренного графического порта - Accelerated Graphics Port (AGP) или иную графическую шину, шину улучшенной архитектуры промышленного стандарта - Enhanced Industry Standard Architecture (EISA), системную шину (FSB), соединение HYPERTRANSPORT (HT), шину архитектуры промышленного стандарта - Industry Standard Architecture (ISA), соединение INFINIBAND, шину с малым числом выводов (LPC), шину памяти, шину микроканальной архитектуры - Micro Channel Architecture (MCA), шину взаимодействия периферийных компонентов - Peripheral Component Interconnect (PCI), шину PCI-Express (PCI-X), шину SATA, местную шину Video Electronics Standards Association (VLB), интерфейс универсального асинхронного приема/передачи - Universal Asynchronous Receiver/Transmitter (UART), шину межсоединений интегральных схем - Inter-Integrated Circuit (I2C), шину последовательного периферийного интерфейса (SPI), интерфейс памяти Secure Digital (SD), интерфейс памяти MultiMediaCard (ММС), интерфейс памяти Memory Stick (MS), интерфейс ввода-вывода Secure Digital Input Output (SDIO), шину многоканального последовательного порта с буфером Multi-channel Buffered Serial Port (McBSP), шину универсального последовательного интерфейса - Universal Serial Bus (USB), шину контроллера универсальной памяти - General Purpose Memory Controller (GPMC), шину контроллера SDRAM (SDRC), шину универсального ввода-вывода - General Purpose Input/Output (GPIO), шину Separate Video (S-Video), шину последовательного интерфейса дисплея - Display Serial Interface (DSI), шину расширенной архитектуры для микроконтроллеров - Advanced Microcontroller Bus Architecture (АМВА)или иную подходящую шину или сочетание двух или более из этих шин.
[0069] Процессор 104 имеет доступ к сетевому интерфейсу 108. Сетевой интерфейс 108 (который может быть реализован в виде сетевой карты и т.п.) соединен с сетью связи 110 для оценки одного или более подключенных к ней сетевых узлов (как, например, сервер 112). В некоторых неограничивающих вариантах реализации настоящей технологии сеть связи 110 может быть реализована как сеть Интернет. В других вариантах реализации настоящей технологии сеть связи 110 может быть реализована иначе, например, в виде глобальной сети связи, локальной сети связи, частной сети связи и т.п.
[0070] Реализация линии связи (отдельно не пронумерована) между сетевым интерфейсом 108 и сетью связи 110 будет зависеть, помимо прочего, от реализации электронного устройства 102. Исключительно в качестве примера, но не для ограничения, в тех вариантах реализации настоящей технологии, где пользовательское электронное устройство 102 реализовано в виде беспроводного устройства связи (например, смартфона), линия связи может быть реализована как беспроводная линия связи (например, помимо прочего, линия связи по сети 3G, линия связи по сети 4G, Wireless Fidelity, или сокращенно Wi-Fi®, Bluetooth® и т.п.). В тех примерах, где пользовательское электронное устройство 102 реализовано в виде ноутбука, линия связи может быть беспроводной (например, Wireless Fidelity, или сокращенно Wi-Fi®, Bluetooth® и т.п.) или проводной (например, соединение на основе Ethernet).
[0071] Сервер 112 может быть реализован как традиционный компьютерный сервер. В одном из примеров реализации настоящей технологии сервер 112 может быть реализован как Сервер Dell™ PowerEdge™, работающий под операционной системой Microsoft™ Windows Server™. Безусловно, сервер 112 может быть реализован на базе любого иного подходящего аппаратного и/или программного обеспечения и/или микропрограммного обеспечения или на базе их сочетания. В приведенном неограничивающем варианте реализации настоящей технологии сервер 112 является отдельным сервером. В альтернативных неограничивающих вариантах реализации настоящей технологии функции сервера 112 могут быть распределены и реализованы через несколько серверов.
[0072] Реализация сервера 112 хорошо известна специалистам в области настоящей технологии. При этом, если говорить кратко, сервер 112 включает интерфейс связи (не изображен), структурированных и настроенный для связи с различными сущностями (например, с пользовательским электронным устройством 102 и другими устройствами, которые могут быть подключены к сети связи 110). Сервер 112 дополнительно включает не менее одного компьютерного процессора (не изображен), оперативно связанного с интерфейсом связи и структурированного и выполненного с возможностью осуществления различных процессов, описанных в настоящем документе.
[0073] В соответствии с различными вариантами реализации настоящей технологии обработка OCR может выполняться пользовательским электронным устройством 102 или сервером 112, или обоими этими устройствами. Однако следует отметить, что в вариантах реализации настоящей технологии, согласно которым функция OCR выполняется на пользовательском электронном устройстве 102, сервер 112 может быть опущен.
[0074] Пользовательское электронное устройство 102 может выполнять функцию OCR 118 локально. Выполняемая локально функция OCR 118 может быть реализована как мобильная функция Mobile OCR SDK OCR.
[0075] Сервер 112 может выполнять функцию OCR 113 на базе сервера, что может быть реализовано как функция ABBYY Recognition Server™ OCR.
[0076] В целях более простого описания в настоящем документе выполняемая локально функция OCR 118 и функция OCR 113 на базе сервера могут иметь общее название функция OCR 113, 118. Иными словами, если приведенное ниже описание относится к функции OCR 113, 118, следует понимать, что описываемая функция OCR может быть либо выполняемой локально 118 или выполняемой на базе сервера 113.
[0077] В соответствии с различными вариантами реализации настоящей технологии процессор 104 дополнительно настроен на выполнение определителя зашумленности изображения 114 и классификатора пригодности для OCR 116. Определитель зашумленности изображения 114 или классификатор пригодности для OCR 116 может выполняться в программном обеспечении, аппаратном обеспечении, микропрограммном обеспечении или в их сочетании. Далее будут более подробно описаны функции определителя зашумленности изображения 114 и классификатора пригодности для OCR 116 со ссылкой на неограничивающие варианты реализации этих функций.
[0078] Определитель зашумленности изображения 114
[0079] В соответствии с различными неограничивающими вариантами реализации настоящей технологии определитель зашумленности изображения 114 выполнен с возможностью формирования параметра зашумленности изображения, который (в широком смысле) является индикатором уровня зашумленности в полученном цифровом изображении.
[0080] Способ определения зашумленности изображения с помощью определителя 114 описан более подробно далее со ссылкой на Фиг. 3.
[0081] Классификатор пригодности для OCR 116
[0082] В широком смысле классификатор пригодности для OCR 116 выполнен с возможностью определения параметра пригодности для OCR цифрового документа, который, возможно, будет передан на обработку OCR 113, 118. Параметр пригодности для OCR является индикатором того, пригоден ли цифровой документ для создания пригодного результата работы функции OCR 113, 118. Иными словами, параметр пригодности для OCR является индикатором того, пригоден ли цифровой документ для создания цифрового документа с распознанным текстом, содержащего цифровой текст, являющийся репрезентативным для текста 142 с приемлемым качеством (как, например, заданный предел погрешности, который может указывать на приемлемое количество или отношение ошибок на странице или во всем документе).
[0083] В некоторых вариантах реализации настоящей технологии заданный предел погрешности может составлять от одного до трех процентов ошибок. В других вариантах реализации заданный предел погрешности может составлять от заданного процента уровня ошибок, например нуля, и до, например, двух процентов. В других вариантах реализации заданный предел погрешности может быть представлен числовым значением для максимального числа ошибок на странице цифрового документа с распознанным текстом или на весь цифровой документ с распознанным текстом.
[0084] В некоторых неограничивающих вариантах реализации настоящей технологии классификатор пригодности OCR 116 может быть реализован как алгоритм машинного обучения (MLA). В альтернативных вариантах реализации настоящей технологии классификатор пригодности OCR 116 может быть реализован в виде регрессивного анализа, классификатора на основе эвристического анализа и т.п.
[0085] В тех вариантах реализации, где классификатор пригодности OCR 116 реализован как MLA, MLA может быть реализован как MLA на основе контролируемого или полуконтролируемого обучения. Ниже приведен неограниченный перечень примеров реализации MLA:
- Случайные леса (или случайные леса решений);
- Искусственная нейросеть;
- Байесова статистика;
- Обратное распространение;
- Регрессия по гауссову процессу;
- Деревья принятия решений;
- Алгоритм ближайшего соседа;
- Метод опорных векторов;
- и т.п.
[0086] В тех вариантах реализации, где классификатор пригодности для OCR 116 реализован в виде алгоритма машинного обучения, классификатор пригодности для OCR 116 до его использования должен быть обучен и валидирован.
[0087] Этап обучения классификатора пригодности для OCR 116
[0088] На Фиг. 2 показано схематическое представление процесса обучения классификатора пригодности для OCR 116.
[0089] Обучение классификатора пригодности для OCR 116 выполняется с помощью набора обучающих объектов 200, включающего первый обучающий объект 202, второй обучающий объект 208 и множество дополнительных обучающих объектов 214. Количество обучающих объектов во множестве дополнительных обучающих объектов 214 не имеет конкретных пределов, но, в целом, включает ряд обучающих объектов, каждый из которых имеет обучающее цифровое изображение со связанной обучающей меткой.
[0090] Более конкретно, первый обучающий объект 202 включает первое обучающее цифровое изображение 204 и первую назначенную метку 206. Первое обучающее цифровое изображение 204 связано с первым прогнозируемым параметром зашумленности изображения, определенным с помощью определителя зашумленности изображения 114. Согласно MLA первый прогнозируемый параметр зашумленности изображения является «признаком» первого обучающего цифрового изображения 204. Первая назначенная метка 206 является показателем уровня ошибок, связанных с выходными значениями функции OCR 113, 118, выполненной на первом обучающем цифровом изображении 204.
[0091] Второй обучающий объект 208 включает второе обучающее цифровое изображение 210 и вторую назначенную метку 212. Второе обучающее цифровое изображение 210 связано со вторым прогнозируемым параметром зашумленности изображения, определенным с помощью определителя зашумленности изображения 114. Согласно MLA второй прогнозируемый параметр зашумленности изображения является «признаком» второго обучающего цифрового изображения 210. Вторая назначенная метка 212 является показателем уровня ошибок, связанных с выходными значениями функции OCR 113, 118, выполненной на втором обучающем цифровом изображении 210.
[0092] В рамках этапа обучения классификатор пригодности для OCR 116 создает формулу MLA 216 - алгоритм, который используется для прогнозирования цели (т.е. параметра пригодности для OCR), как минимум, на основе параметра зашумленности цифрового изображения, представленного на обработку классификатором пригодности для OCR 116.
[0093] В некоторых вариантах реализации настоящей технологии результат обработки (т.е. получаемый параметр пригодности для OCR) связан с индикатором вероятности.
[0094] Параметр пригодности для OCR и/или индикатор вероятности могут быть сравнены с заданным пороговым значением. Если значение параметра пригодности для OCR и/или индикатора вероятности выше заданного порога, то для обрабатываемого цифрового изображения определяется, что оно пригодно для OCR 113, 118. Если, с другой стороны, значение параметра пригодности для OCR ниже заданного порога, то для обрабатываемого цифрового изображения определяется, что оно не пригодно для функции OCR 113, 118. Заданный порог может быть, например, 1-2% от любого другого пригодного значения.
[0095] Валидация классификатора пригодности для OCR 116
[0096] После завершения обучения классификатора пригодности для OCR 116 начинается этап валидации классификатора пригодности для OCR 116.
[0097] Для выполнения этапа валидации классификатор пригодности для OCR 116 представляется множеством объектов для валидации. Заданный объект для валидации может быть аналогичен первому обучающему объекту 202 и/или второму обучающему объекту 208 (при том, что содержимое цифрового документа еще не было просмотрено классификатором пригодности для OCR 116).
[0098] Более конкретно, заданный документ для валидации предоставляется классификатору пригодности для OCR 116. Классификатор пригодности для OCR 116, использующий обученную формулу MLA 216, выполняет анализ признаков изображения заданного документа валидации (в том числе параметр зашумленности изображения) и выводит прогноз параметра пригодности для OCR. Выданный прогноз затем сравнивается с назначенной меткой (т.е. меткой на основе реальных данных) для заданного документа валидации, при этом информация о любых ошибках в прогнозе передается обратно классификатору пригодности для OCR 116. Процессы валидации и переобучения повторяются до тех пор, пока ошибки (количество ошибок или погрешность) не станут меньше заданного предустановленного порога для ошибок (на основе метрики валидации).
[0099] Для типа используемой метрики валидации не существует ограничений, и он зависит от того, какой тип классификатора пригодности для OCR 116 используется. Некоторые примеры метрик для валидации включают в себя: метрику точности, метрику полноты, метрику F-меры и т.п. Полагаем, что типы метрик для валидации хорошо известны специалистам в данной области техники и не требуют длительного описания в настоящем документе.
[00100] Процесс определения параметра пригодности для OCR
[00101] Один из примеров процессов определения параметра пригодности для OCR описан в совместной заявке на патент США номер 15/165512 "СПОСОБ И СИСТЕМА ОПРЕДЕЛЕНИЯ ПРИГОДНОСТИ ИЗОБРАЖЕНИЯ ДОКУМЕНТА ДЛЯ ВЫПОЛНЕНИЯ ОПТИЧЕСКОГО РАСПОЗНАВАНИЯ СИМВОЛОВ И ДРУГИХ СПОСОБОВ ОБРАБОТКИ ИЗОБРАЖЕНИЙ", поданной в Бюро по патентам и товарным знакам США (USPTO) 26 мая 2016; содержание этой заявки полностью включено в настоящий документ посредством ссылки для всех тех юрисдикции, в которых такое включение разрешено законом.
[00102] В соответствии с вариантами реализации настоящей технологии процесс, описанный в указанной выше заявке на патент США, может быть изменен. Ниже будет кратко описан один из примеров измененного процесса. На Фиг. 3 приведена блок-схема неограничивающего варианта реализации процесса 300 для определения параметра пригодности для OCR. На Фиг. 3 также схематически изображены входы и выходы для определенных этапов процесса 300. Следует отметить, что процесс 300 может быть выполнен определителем зашумленности 114 в изображении.
[00103] Шаг 301 - создание серого изображения
[00104] На шаге 301 определитель зашумленности в изображении 114 получает цифровое изображение 340 для обработки функцией OCR 113, 118. В некоторых вариантах реализации настоящей технологии цифровое изображение 340 может быть создано с помощью интерфейса получения изображения 103. В альтернативных неограничивающих вариантах реализации настоящей технологии цифровое изображение 340 могло быть предварительно сохранено и затем извлечено из носителя данных 106. В другом альтернативном неограничивающем варианте реализации цифровое изображение 340 могло быть получено через сеть связи 110.
[00105] Достаточно сказать, что цифровое изображение 340 может содержать цифровое изображение печатного документа 140 или иное содержащее текст цифровое изображение.
[00106] Затем определитель зашумленности в изображении 114 выполняет обработку цифрового изображения 340 для создания серого цифрового изображения 360. Преобразование цифрового изображения 340 в серое цифровое изображение 360 может выполняться с помощью любой известной методики. Одна из таких методик создания серого цифрового изображения 360 описана в указанной выше совместной заявке на патент США номер 15/165512 "СПОСОБ И СИСТЕМА ОПРЕДЕЛЕНИЯ ПРИГОДНОСТИ ИЗОБРАЖЕНИЯ ДОКУМЕНТА ДЛЯ ВЫПОЛНЕНИЯ ОПТИЧЕСКОГО РАСПОЗНАВАНИЯ СИМВОЛОВ И ДРУГИХ СПОСОБОВ ОБРАБОТКИ ИЗОБРАЖЕНИЙ", поданной в Бюро по патентам и товарным знакам США (USPTO) 26 мая 2016; содержание этой заявки полностью включено в настоящий документ посредством ссылки для всех тех юрисдикций, в которых такое включение разрешено законом.
[00107] Однако следует отметить, что создание серого цифрового изображения 360 является необязательным шагом и в альтернативных вариантах реализации настоящей технологии может быть опущено. Вместо этого в этих альтернативных вариантах реализации может использоваться цифровое изображение 340.
[00108] Шаг 302 - создание контурного изображения
[00109] На шаге 302 определитель зашумленности в изображении 114 формирует контурное изображение. В соответствии с вариантами реализации настоящей технологии определитель зашумленности в изображении 114 формирует один экземпляр контурного изображения.
[00110] В некоторых вариантах реализации настоящей технологии в рамках шага 302 серое цифровое изображение 360 фильтруется, например, с помощью алгоритма выявления контуров (например, с помощью оператора Собеля-Фельдмана, также именуемого фильтром Собеля (-1, 0, 1)).
[00111] Шаг 303 - разделение серого цифрового изображения на неперекрывающиеся блоки
[00112] На шаге 303 определитель зашумленности в изображении 114 разделяет серое цифровое изображение 360 на неперекрывающиеся блоки. Размер неперекрывающихся блоков выбирается таким образом, чтобы яркость, зашумленность и размытие не имели значительных различий в пределах заданного блока.
[00113] Шаг 304 - определение среднего контраста Ci в каждом блоке серого цифрового изображения
[00114] На шаге 304 определитель зашумленности 114 в изображении определяет среднее значение контраста Ci (где i представляет идентификатор связанного блока), связанного с серым цифровым изображением 360.
[00115] В некоторых вариантах реализации настоящей технологии определитель зашумленности в изображении 114 проводит анализ на основе гистограммы для определения значения контраста Ci для заданного блока, определенного на этапе 303. Более конкретно, в некоторых вариантах реализации настоящей технологии определитель зашумленности в изображении 114 создает гистограмму яркости. С помощью гистограммы яркости определитель уровня зашумленности 114 в изображении определяет минимальное и максимальное значение яркости, при котором 0,1% всех пикселей в заданном блоке имеют яркость меньше минимального значения, а 0,1% всех пикселей в заданном блоке имеют яркость выше максимума.
[00116] Среднее значение контраста Ci определяется как разность между максимальным значением и минимальным значением.
[00117] Шаг 305 - создание бинарной версии блоков серого цифрового изображения (для определения контурных пикселей)
[00118] На шаге 305 определитель зашумленности в изображении 114 для каждого блока i формирует бинаризованную версию серого цифрового изображения 360.
[00119] В некоторых вариантах реализации бинаризация выполняется с помощью алгоритма определения пороговых значений на основе яркости. Более конкретно, для процесса бинаризации может использоваться порог бинаризации th, представляющий полусумму максимальной яркости Cmax и минимальной яркости Cmin для заданного блока:
[00120] Затем определитель зашумленности в изображении 114 определяет число K бинаризованных контурных пикселей бинаризованного изображения в заданном блоке i. Например, черный пиксель может быть определен как контурный пиксель, если рядом с ним расположен соседний белый пиксель (в вертикальном или горизонтальном направлении), а количество наиболее вероятных контурных пикселей в окружающей области, например, размером 3×3 составляет менее, например, 7 пикселей.
[00121] Шаг 306 - определение текстовых блоков
[00122] На шаге 306 определитель зашумленности в изображении 114 определяет текстовые блоки. В некоторых вариантах реализации настоящей технологии определитель уровня зашумленности 114 выявляет текстовые блоки на основе, по меньшей мере, некоторых из следующих условий: (I) если контурные бинарные пиксели превышают заданное соотношение среди всех пикселей в заданном блоке (например, 3-5%) и (ii) если показатель черных пикселей (или белых при инвертированном изображении текста) в бинаризованном изображении, созданном на шаге 305 ниже заданного порога Р (заданный порог Р может, например, составлять 20-30%) и (iii) значение контраста Ci ниже заданного уровня.
[00123] Затем определитель зашумленности в изображении 114 выполняет определение подмножества текстовых блоков, имеющих слабоконтрастные текстовые блоки. В некоторых вариантах реализации определитель зашумленности в изображении 114 выполняет сравнение среднего контраста Ci с заданным пороговым контрастом. В некоторых вариантах реализации настоящей технологии значение заданного порога контраста определяется эмпирически. В других вариантах реализации настоящей технологии значение заданного порога контраста задается оператором (не показан) системы 100. В других вариантах реализации настоящей технологии значение заданного порога контраста определяется выделенным алгоритмом машинного обучения (не показан).
[00124] В соответствии с вариантами реализации настоящей технологии оставшаяся часть процесса 300 выполняется только с подмножеством текстовых блоков, которые были определены как слабоконтрастные текстовые блоки, а остальные текстовые блоки в оставшейся части процесса 300 не рассматриваются.
[00126] На шаге 307 определитель зашумленности в изображении 114 определяет контраст путем уменьшения со значения 255 до тех пор, пока сумма количества резких пикселей в контурном изображении, соответствующих рассматриваемому блоку, не станет больше или равной количеству контурных пикселей K, рассчитанному по бинарной версии заданного блока.
[00128] На шаге 308 определитель зашумленности в изображении 114 определяет контраст фоновых пикселей , при котором значение резкости контурного изображения не превышает:
[00129] Значение может быть определено для каждого блока, определенного на шаге 303. Способы определения значения не ограничены. Например, значение может быть определено как количество шумовых (т.е. ошибочных) контурных пикселей, яркость которых ошибочно превышает в фоновых областях
[00131] Во-первых, определитель зашумленности в изображении 114 определяет число фоновых бинарных пикселей бинаризованного цифрового изображения, созданного на шаге 305. Число фоновых бинарных пикселей может быть определено путем вычитания числа контурных пикселей K из общего числа пикселей в заданном блоке.
[00132] Во-вторых, значение определяется путем увеличения значения с нуля до тех пор, пока число фоновых пикселей в контурном изображении не станет равным или в первый раз не превысит заданное отношение Р числа фоновых бинарных пикселей в заданном блоке. Заданное отношение Р определяется итеративно путем максимального увеличения точности бинарного предложенного алгоритма определения параметра пригодности для OCR.
[00134] Затем определитель зашумленности в изображении 114 определяет средние значения <Ci>, , из всех слабоконтрастных блоков. Использование средних значений <Ci>, , будет объяснено более подробно ниже.
[00135] Шаг 310 - определение уровня ошибок R
[00136] На шаге 310 определитель уровня зашумленности 114 определяет уровень ошибок R контурного изображения. В конкретных вариантах реализации нестоящей технологии классификатор пригодности для OCR 116 определяет уровень ошибок R по формуле:
[00137] В широком смысле уровень ошибок R рассчитывается как отношение сигнала к зашумленности, при этом сигнал представлен как контраст контурных пикселей, а зашумленность представлена как контраст фоновых пикселей.
[00138] В соответствии с вариантами реализации настоящей технологии уровень ошибок R может использоваться для создания параметра пригодности для OCR (т.е. прогнозировать количество ошибок в результате OCR с использованием цифрового изображения, связанного с уровнем ошибок R, который представляет оценку дефектов бинаризованного изображения). Таким образом, можно сказать, что уровень ошибок R представляет уровень зашумленности в слабоконтрастных областях цифрового изображения.
[00139] Помимо уровня ошибок R для определения параметра пригодности для OCR могут использоваться следующие признаки:
- <Ci>
- количество текстовых блоков
- количество слабоконтрастных текстовых блоков
- отношение слабоконтрастных текстовых блоков к общему количеству текстовых блоков
- и т.д.
[00140] При формировании параметра пригодности для OCR также могут использоваться признаки бинаризованных цифровых изображений, созданных на шаге 305.
[00141] Без подобных ограничений определитель зашумленности в изображении 114 может использовать следующие признаки бинаризованного цифрового изображения:
- гистограмма линейных размеров RLE
- признаки связанных компонентов
- отношение относительно небольших черных или белых линий / компонентов
- размер линий RLE
- размер шрифта
- распределение линий RLE или размеров шрифтов
- и т.д.
[00142] Следует отметить, что уровень ошибок R может использоваться классификатором пригодности для OCR 116 с целью прогнозирования пригодности заданного цифрового изображения для обработки OCR 113, 118. Классификатор пригодности для OCR 116 может реализовывать классификатор (обученный в соответствии с приведенным в настоящем документе описанием) для определения уровня ошибок OCR для зашумленного слабоконтрастного цифрового изображения. Как вариант, классификатор пригодности OCR 116 может выполнять регрессивный анализ (обученный в соответствии с приведенным в настоящем документе описанием) для определения уровня ошибок OCR для зашумленного слабоконтрастного цифрового изображения.
[00143] Также следует отметить, что, несмотря на то что функции определителя зашумленности в изображении 114 и классификатора пригодности для OCR 116 были описаны как отдельные сущности, в альтернативных вариантах реализации настоящей технологии их функции могут быть реализованы как одна сущность.
[00144] Модификации процесса 300
[00145] Представленное выше описание процесса 300 является лишь одним возможным примером его реализации. Рассматриваются несколько модификаций. Ниже описано несколько возможных модификаций.
[00147] В альтернативном варианте реализации неограничивающих вариантов реализации настоящей технологии определитель зашумленности 114 для изображения может использовать гистограмму серого цифрового изображения 360 и порог "th", рассчитанный на этапе 305. Более конкретно, классификатор пригодности для OCR 116 вычисляет среднее значение M1 и дисперсию sigma1 (σ1) или количество пикселей, яркость которых ниже порога th.
[00148] Затем определитель зашумленности в изображении 114 вычисляет среднее значение М2 и дисперсию sigma2 (σ2) для пикселей, имеющих яркость, равную или превосходящую порог th. Затем определитель зашумленности в изображении 114 выполняет следующие вычисления:
[00149] В других дополнительных неограничивающих вариантах реализации настоящей технологии порог th может быть итеративно уточнен для создания наиболее оптимальных значений для M1 и М2. Более конкретно (но без ограничений), определитель уровня зашумленности 114 может выполнять следующие итерации.
[00150] Первая итерация
[00151] При первой итерации M1 и М2 вычисляются в соответствии с только что приведенным описанием.
[00152] Вторая итерация
[00153] При второй итерации порог th выбирается как:
[00154] Затем определитель зашумленности в изображении 114 использует порог th1, вычисленный по Формуле 6 для перерасчета новых значений M1 и М2 для порога th1.
[00155] N-я итерация
[00156] Определитель зашумленности в изображении 114 повторяет итерации аналогично вторым итерациям до тех пор, пока изменения M1i и M2i после i-й итерации не станут ниже заданного порога, рассчитанного следующим образом:
[00157] Для заданного порога thi-1, определитель зашумленности в изображении 114 вычисляет sigma1, sigma2, как было описано выше.
[00159] В альтернативных вариантах реализации процесса 300 определитель зашумленности в изображении 114 определяет меру качества:
[00160] Определитель зашумленности в изображении 114 может дополнительно определить статистическую информацию <Ci>, , , <Ri>, min(Ri) для всех слабоконтрастных блоков.
[00161] Альтернативный способ вычисления уровня ошибок R (шаг 310)
[00162] В рамках шага 310, в альтернативных вариантах реализации настоящей технологии определитель зашумленности в изображении 114 может сравнить уровень ошибок R со статической информацией, определенной на шаге 309 (<Ci>, , , <Ri>, min(Ri)).
[00163] Статистическая информация, определенная на шаге 309 (<Ci>, , , <Ri>, min(Ri)), также может быть использована для определения параметра пригодности для OCR по классификатору пригодности для OCR 116.
[00164] Учитывая описанную выше архитектуру можно выполнить способ определения, пригодности документа, например, для обработки OCR на базе сервера. На Фиг. 4 представлен неограничивающий вариант реализации в виде блок-схемы для способа 400 анализа цифрового изображения. Способ 400 может быть выполнен, например, для определения пригодности документа для обработки OCR 113, 118.
[00165] Способ 400 может быть выполнен процессором 104. Более конкретно, шаги способа 400 могут выполняться определителем зашумленности в изображении 114 и классификатором пригодности для OCR 116, как было описано ранее.
[00166] Шаг 402 - получение пользовательским электронным устройством цифрового изображения документа
[00167] Способ 400 начинается на шаге 402, где определитель зашумленности в изображении 114 получает цифровое изображение 340 печатного документа 140.
[00168] Более конкретно, определитель зашумленности в изображении 114 получает цифровое изображение 340 для обработки функцией OCR 113, 118. В некоторых вариантах реализации настоящей технологии цифровое изображение 340 может быть создано с помощью интерфейса получения изображения 103. В альтернативных неограничивающих вариантах реализации настоящей технологии цифровое изображение 340 могло быть предварительно сохранено и затем извлечено из носителя данных 106. В другом альтернативном неограничивающем варианте реализации цифровое изображение 340 могло быть получено через сеть связи 110.
[00169] В некоторый вариантах реализации определитель зашумленности в изображении 114 получает цифровое изображение 340 для обработки функцией 113, 118 через прикладной интерфейс OCR (не показан).
[00170] Шаг 404 - определение классификатором, выполняемым на пользовательском электронном устройстве, параметра пригодности цифрового изображения для OCR, который является индикатором того, пригодно ли цифровое изображение для создания результата OCR обработки с приемлемым качеством, при этом такой классификатор был обучен определению параметра пригодности для OCR, по меньшей мере, частично на основе уровня зашумленности цифрового изображения.
[00171] На этапе 404 классификатор пригодности для OCR 116 определяет параметр пригодности цифрового изображения 340 для OCR, являющийся показателем того, пригодно ли цифровое изображение 340 для создания результата обработки OCR с приемлемым качеством, при этом такой классификатор пригодности для OCR 116 был обучен определению параметра пригодности для OCR, по меньшей мере, частично на основе уровня зашумленности цифрового изображения 340 (определен с помощью определителя зашумленности в изображении 114). В некоторых вариантах реализации настоящей технологии классификатор пригодности для OCR 116 был обучен с помощью процесса обучения, описанного выше со ссылкой на Фиг. 2.
[00172] Со ссылкой на вышесказанное, в вариантах реализации настоящей технологии рассматриваются различные подходы к определению параметра пригодности для OCR.
[00173] В некоторых вариантах реализации способа 400 шаг определения параметра пригодности для OCR включает:
- создание контурного изображения из серой версии цифрового изображения;
- разделение серого цифрового изображения на неперекрывающиеся блоки;
- определение среднего контраста Ci в каждом блоке серого цифрового изображения;
- создание бинарной версии неперекрывающихся блоков серого цифрового изображения для определения контурных пикселей;
- определение текстовых блоков;
- определение уровня ошибок R.
[00174] В некоторых вариантах реализации способа 400 уровень ошибок R используется в качестве параметра пригодности документа для OCR.
[00175] В некоторых вариантах реализации способа 400 создание контурного изображения включает применение к серому цифровому изображению фильтра.
[00176] В некоторых вариантах реализации способа 400 фильтр представлен алгоритмом выявления контуров (например, фильтр Собеля (-1, 0, 1) и т.п.).
[00177] В некоторых вариантах реализации способа 400 разделение серого изображения на неперекрывающиеся блоки включает выбор размера неперекрывающихся блоков, при котором яркость, зашумленность и размытие не имеют существенных различий в пределах заданного блока.
[00178] В некоторых вариантах реализации способа 400 определение среднего контраста Ci в каждом блоке серого цифрового изображения включает выполнение анализа на основе гистограммы для определения значения контраста Ci для заданного блока.
[00179] В некоторых вариантах реализации способа 400 выполнение анализа на основе гистограммы включает создание гистограммы яркости, при этом способ дополнительно включает определение минимального и максимального значения яркости, при котором 0,1% всех пикселей заданного блока имеют яркость меньше минимального значения, а 0,1% всех пикселей заданного блока имеют яркость выше максимума.
[00180] В некоторых вариантах реализации способа 400 определение среднего значения контраста Ci в каждом блоке дополнительно включает определение разности между максимальным и минимальным значениями.
[00181] В некоторых вариантах реализации способа 400 создание бинарной версии блоков серого цифрового изображения для определения контурных пикселей включает применение порога бинаризации в виде полусуммы максимального значения яркости и минимального значения яркости для заданного блока по формуле:
th=½(Cmin+Cmax)
[00182] В некоторых вариантах реализации способа 400 он дополнительно включает определение числа K бинаризованных контурных пикселей бинаризованного изображения в заданном блоке.
[00183] В некоторых вариантах реализации способа 400 определение текстовых блоков включает определение заданного текстового блока исходя, как минимум, из одного из следующих условий: (i) количество бинарных контурных пикселей превышает заданное соотношение среди всех пикселей в заданном блоке (ii) показатель черных пикселей в бинаризованном изображение ниже заданного порога и (iii) значение контраста Ci ниже заданного уровня.
[00184] В некоторых вариантах реализации способа 400 он дополнительно включает выбор подмножества слабоконтрастных текстовых блоков.
[00185] В некоторых вариантах реализации способа 400 определение контраста резких пикселей слабоконтрастных блоков включает определение контраста за счет снижения его значения с 255 до тех пор, пока сумма количества резких пикселей в контурном изображении, соответствующих заданному блоку не станет больше или равна количеству контурных пикселей K, вычисленному по бинарной версии заданного блока.
[00186] В некоторых вариантах реализации способа 400 определение контраста фоновых пикселей слабоконтрастных блоков включает определение значения как количества шумовых контурных пикселей, яркость которых ошибочно превышает в фоновых областях.
[00187] В некоторых вариантах реализации способа 400 определение контраста фоновых пикселей слабоконтрастных блоков включает: определение количества фоновых бинарных пикселей бинаризованного цифрового изображения путем вычитания количества контурных пикселей K из общего количества пикселей в заданном блоке.
[00188] В некоторых вариантах реализации способа 400 он дополнительно включает определение значения путем увеличения значения с нуля до тех пор, пока количество фоновых пикселей контурного изображения не станет равным или в первый раз не превысит заданное отношение Р количества фоновых бинарных пикселей в заданном блоке.
[00189] В некоторых вариантах реализации способа 400 определение уровня ошибок R включает определение уровня ошибок R как:
[00190] В некоторых вариантах реализации способа 400 определение уровня ошибок R дополнительно включает использование статистической информации:
[00191] Шаг 406 - определение пригодности цифрового изображения для обработки OCR на основе параметра пригодности для OCR.
[00192] На шаге 406 классификатор пригодности для OCR 116 определяет, является ли цифровое изображение 340 пригодным для обработки OCR на основе параметра пригодности для OCR. В некоторых вариантах реализации настоящей технологии классификатор пригодности для OCR 116 выполняет сравнения определенного таким образом параметра пригодности для OCR с заданным порогом. В некоторых вариантах реализации настоящей технологии заданный порог задается оператором системы 100, например, на основе эмпирических данных испытаний. Как вариант, заданный порог может быть создан выделенным алгоритмом машинного обучения (не изображен).
[00193] Шаг 408 - если параметр пригодности документа для OCR ниже заданного порога, на электронное устройство пользователя подается запрос на повторное получение цифрового изображения
[00194] На шаге 408, если параметр пригодности документа для OCR ниже заданного порога (ветвь "НЕТ" на шаге 406), классификатор пригодности для OCR 116 подает запрос на электронное устройство пользователя 102 на повторное получение цифрового изображения 340.
[00195] В некоторых вариантах реализации настоящей технологии запрос к пользовательскому электронному устройству 102 на повторное получение цифрового изображения 340 включает запрос к пользователю (не изображен) пользовательского электронного устройства 102 на повторное получение цифрового изображения 340. Как вариант запрос пользовательскому электронному устройству 102 на повторное получение цифрового изображения 340 также может включать дополнительный запрос пользователю (не показан) пользовательского электронного устройства 102, который является индикатором того, каким образом следует выполнять повторное получение цифрового изображения 340 (например, включить вспышку, переместиться ближе к печатному документу 140 и т.д.). В некоторых вариантах реализации настоящей технологии дополнительный запрос основан на библиотеке дополнительных запросов, каждый из которых коррелирует, например, с разницей между параметром пригодности для OCR и заданным порогом.
[00196] Как вариант, запрос пользователю пользовательского электронного устройства 102 на повторное получение цифрового изображения 340 включает запрос пользователю электронного устройства 102 на загрузку другого цифрового изображения 340.
[00197] В некоторых вариантах реализации настоящей технологии способ 400 затем возвращается к исполнению этапа 402 (изображен на Фиг. 4 в 412), при этом шаг 402 исполняется с вновь полученным цифровым изображением (не показано). Цикл, изображенный как шаг 412, может повторяться до тех пор, пока не будет установлено, что вновь полученное цифровое изображение является пригодным для обработки OCR на шаге 406 и до его обработки на шаге 410.
[00198] Шаг 410 - обеспечение выполнения OCR цифрового изображения при определении того, что параметр пригодности документа для OCR выше заданного порога
[00199] На шаге 410, если параметр пригодности документа для OCR выше заданного порога (ветвь "ДА" на шаге 406), классификатор пригодности для OCR 116 подает запрос на выполнение обработки OCR цифрового изображения 340.
[00200] В некоторых вариантах реализации способа 400 шаг обеспечения выполнения OCR включает выполнение пользовательским электронным устройством 102 локально функции OCR 118 для создания распознанного текстового цифрового документа (не изображен), представляющего текст, содержащийся в печатном документе 140.
[00201] В других вариантах реализации способа 400 шаг обеспечения выполнения OCR включает передачу данных пользовательским электронными устройством 102 на сервер 112, выполненный с возможностью запуска функции OCR 113 на базе сервера для (i) создания распознанного текстового цифрового документа (не изображен), представляющего текст печатного документа 140 и (ii) передачи распознанного текстового документа на пользовательское электронное устройство 102.
[00202] После этого способ 400 завершается.
[00203] Необходимо отчетливо понимать, что не все указанные в настоящем документе технические эффекты должны быть достигнуты в каждом варианте реализации настоящей технологии. Например, варианты реализации настоящей технологии могут быть реализованы без получения пользователем преимущества некоторых из этих технических эффектов, при этом другие варианты реализации могут быть реализованы за счет получения пользователем других технических эффектов или за счет отсутствия таковых.
[00204] Изменения и усовершенствования указанных выше вариантов реализации настоящей технологии будут очевидны для специалистов в данной области техники. Приведенное выше описание представлено в виде примера, но не в качестве ограничения. Следовательно, область применения настоящей технологии ограничена исключительно объемом прилагаемой формулы изобретения.
Claims (59)
1. Способ анализа пригодности цифрового изображения для OCR, выполняемый пользовательским электронным устройством, содержащий:
получение пользовательским электронным устройством цифрового изображения документа;
определение с помощью классификатора на электронном устройстве пользователя параметра пригодности цифрового изображения для OCR, представляющего собой признак того, является ли цифровое изображение пригодным для создания результата OCR приемлемого качества,
при этом указанный классификатор обучается на основании, по меньшей мере, прогнозируемого параметра зашумленности изображения для определения параметра пригодности документа для OCR и/или индикатора вероятности OCR и проходит валидацию после обучения указанного классификатора, при этом указанное определение параметра пригодности документа для OCR включает, по меньшей мере, определение контраста резких и/или фоновых пикселей слабоконтрастных текстовых блоков изображения; и
если параметр пригодности документа для OCR и/или индикатор вероятности OCR ниже заданного порога, на электронном устройстве пользователя вызывается выполнение повторного получения цифрового изображения.
2. Способ по п. 1, отличающийся тем, что он дополнительно включает выполнение OCR цифрового изображения, если параметр пригодности документа для OCR выше заданного порога.
3. Способ по п. 2, отличающийся тем, что выполнение OCR включает выполнение пользовательским электронным устройством функции OCR локально для создания распознанного текстового цифрового документа, представляющего текст, содержащийся в указанном цифровом изображении.
4. Способ по п. 2, отличающийся тем, что выполнение OCR включает передачу данных пользовательским электронными устройством на сервер, выполненный с возможностью выполнения функции OCR на базе сервера для (i) создания распознанного текстового цифрового документа, представляющего текст исходного цифрового изображения, и (ii) передачи распознанного текстового документа на пользовательское электронное устройство.
5. Способ по п. 1, отличающийся тем, что классификатор реализован как алгоритм машинного обучения.
6. Способ по п. 5, дополнительно включающий обучение машинного алгоритма обучения.
7. Способ по п. 1, отличающийся тем, что определение параметра пригодности для OCR включает:
создание контурного изображения из серой версии цифрового изображения;
разделение серого цифрового изображения на неперекрывающиеся блоки;
определение среднего контраста Ci в каждом блоке серого цифрового изображения;
создание бинарной версии неперекрывающихся блоков серого цифрового изображения для определения контурных пикселей;
определение текстовых блоков;
определение уровня ошибок R, представляющего собой отношение сигнала, представленного контрастом контурных пикселей, к зашумленности, представленной контрастом фоновых пикселей, по формуле:
где i представляет собой идентификатор связного блока.
8. Способ по п. 7, отличающийся тем, что уровень ошибок R используется в качестве параметра пригодности документа для OCR.
9. Способ по п. 7, отличающийся тем, что создание контурного изображения включает применение к серому цифровому изображению фильтра.
10. Способ по п. 9, отличающийся тем, что фильтр представлен алгоритмом выявления контуров.
11. Способ по п. 10, отличающийся тем, что алгоритм выявления контуров представлен фильтром Собеля.
12. Способ по п. 7, отличающийся тем, что разделение серого изображения на неперекрывающиеся блоки включает выбор размера неперекрывающихся блоков, при котором яркость, зашумленность и размытие не имеют существенных различий в пределах заданного блока.
13. Способ по п. 7, отличающийся тем, что определение среднего контраста Ci в каждом блоке серого цифрового изображения включает выполнение анализа на основе гистограммы для определения значения контраста Ci для заданного блока.
14. Способ по п. 13, отличающийся тем, что выполнение анализа на основе гистограммы включает создание гистограммы яркости, при этом способ дополнительно включает определение минимального и максимального значения яркости, при котором 0,1% всех пикселей заданного блока имеют яркость меньше минимального значения, а 0,1% всех пикселей заданного блока имеют яркость выше максимума.
15. Способ по п. 14, отличающийся тем, что определение среднего значения контраста Ci в каждом блоке дополнительно включает определение разности между максимальным и минимальным значениями.
16. Способ по п. 7, отличающийся тем, что указанное создание бинарной версии блоков серого цифрового изображения для определения контурных пикселей включает применение порога бинаризации в виде полусуммы максимального значения яркости и минимального значения яркости для заданного блока по формуле:
где:
th - порог бинаризации;
Cmax - максимальное значение яркости;
Cmin - минимальное значение яркости.
17. Способ по п. 16, дополнительно включающий определение числа K бинаризованных контурных пикселей бинаризованного изображения в заданном блоке.
18. Способ по п. 7, отличающийся тем, что указанное определение текстовых блоков включает определение заданного текстового блока исходя, по меньшей мере, из одного из следующих условий: (i) количество бинарных контурных пикселей превышает заданное соотношение среди всех пикселей в заданном блоке, (ii) показатель черных пикселей в бинаризованном изображение ниже заданного порога и (iii) значение контраста Ci ниже заданного уровня.
19. Способ по п. 18, дополнительно включающий выбор подмножества слабоконтрастных текстовых блоков.
20. Способ по п. 7, отличающийся тем, что определение контраста резких пикселей слабоконтрастных блоков включает определение контраста за счет уменьшения его значения с 255 до тех пор, пока сумма количества резких пикселей в контурном изображении, соответствующих заданному блоку, не станет больше или равна количеству контурных пикселей K, вычисленному по бинарной версии заданного блока.
определение числа фоновых бинарных пикселей в бинаризованном цифровом изображении путем вычитания числа контурных пикселей K из общего числа пикселей в заданном блоке.
24. Способ по п. 7, отличающийся тем, что определение уровня ошибок R включает определение уровня ошибок R как:
25. Способ по п. 24, отличающийся тем, что определение уровня ошибок R дополнительно включает использование статистической информации:
26. Способ по п. 1, отличающийся тем, что получение пользовательским электронным устройством цифрового изображения документа выполняется с помощью интерфейса получения изображений пользовательского электронного устройства.
27. Пользовательское электронное устройство, включающее процессор, выполненный с возможностью:
получения цифрового изображения документа; в котором процессор дополнительно выполнен с возможностью:
определения с помощью классификатора параметра пригодности цифрового изображения для OCR, представляющего собой признак того, является ли цифровое изображение пригодным для создания результата OCR приемлемого качества,
при этом указанный классификатор обучается на основании, по меньшей мере, прогнозируемого параметра зашумленности изображения для определения параметра пригодности документа для OCR и/или индикатора вероятности OCR и проходит валидацию после обучения указанного классификатора, при этом указанное определение параметра пригодности документа для OCR включает, по меньшей мере, определение контраста резких и/или фоновых пикселей слабоконтрастных текстовых блоков изображения; и
если параметр пригодности документа для OCR и/или индикатор вероятности OCR ниже заданного порога, вызывается выполнение повторного получения цифрового изображения.
28. Энергонезависимый машиночитаемый носитель информации, содержащий исполняемые команды в машинном коде, при выполнении которых электронное устройство, связанное с энергонезависимым машиночитаемым носителем информации, выполняет следующее:
получение пользовательским электронным устройством цифрового изображения документа;
определение с помощью классификатора на электронном устройстве пользователя параметра пригодности цифрового изображения для OCR, представляющего собой признак того, является ли цифровое изображение пригодным для создания результата OCR приемлемого качества,
при этом указанный классификатор обучается на основании, по меньшей мере, прогнозируемого параметра зашумленности изображения для определения параметра пригодности документа для OCR и/или индикатора вероятности OCR и проходит валидацию после обучения указанного классификатора, при этом указанное определение параметра пригодности документа для OCR включает, по меньшей мере, определение контраста резких и/или фоновых пикселей слабоконтрастных текстовых блоков изображения; и
если параметр пригодности документа для OCR и/или индикатор вероятности OCR ниже заданного порога, на электронном устройстве пользователя вызывается выполнение повторного получения цифрового изображения.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2016147699A RU2634195C1 (ru) | 2016-12-06 | 2016-12-06 | Способ и устройство для определения пригодности документа для оптического распознавания символов (ocr) |
US15/377,118 US10691984B2 (en) | 2016-12-06 | 2016-12-13 | Method and apparatus for determining a document suitability for optical character recognition (OCR) processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2016147699A RU2634195C1 (ru) | 2016-12-06 | 2016-12-06 | Способ и устройство для определения пригодности документа для оптического распознавания символов (ocr) |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2634195C1 true RU2634195C1 (ru) | 2017-10-24 |
Family
ID=60153879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2016147699A RU2634195C1 (ru) | 2016-12-06 | 2016-12-06 | Способ и устройство для определения пригодности документа для оптического распознавания символов (ocr) |
Country Status (2)
Country | Link |
---|---|
US (1) | US10691984B2 (ru) |
RU (1) | RU2634195C1 (ru) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2709661C1 (ru) * | 2018-09-19 | 2019-12-19 | Общество с ограниченной ответственностью "Аби Продакшн" | Обучение нейронных сетей для обработки изображений с помощью синтетических фотореалистичных содержащих знаки изображений |
US11893784B2 (en) | 2021-05-14 | 2024-02-06 | Abbyy Development Inc. | Assessment of image quality for optical character recognition using machine learning |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10095925B1 (en) * | 2017-12-18 | 2018-10-09 | Capital One Services, Llc | Recognizing text in image data |
US10614301B2 (en) * | 2018-04-09 | 2020-04-07 | Hand Held Products, Inc. | Methods and systems for data retrieval from an image |
JP7122625B2 (ja) * | 2018-07-02 | 2022-08-22 | パナソニックIpマネジメント株式会社 | 学習データ収集装置、学習データ収集システム、及び学習データ収集方法 |
US11205084B2 (en) * | 2020-02-17 | 2021-12-21 | Wipro Limited | Method and system for evaluating an image quality for optical character recognition (OCR) |
CN111583157B (zh) | 2020-05-13 | 2023-06-02 | 杭州睿琪软件有限公司 | 图像处理方法、系统及计算机可读存储介质 |
US11544828B2 (en) | 2020-11-18 | 2023-01-03 | Disney Enterprises, Inc. | Automatic occlusion detection |
US11494944B2 (en) | 2020-11-18 | 2022-11-08 | Disney Enterprises, Inc. | Automatic low contrast detection |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5537483A (en) * | 1989-10-03 | 1996-07-16 | Staplevision, Inc. | Automated quality assurance image processing system |
US20090022397A1 (en) * | 2005-11-30 | 2009-01-22 | Nicholson Dennis G | Method and apparatus for removing noise from a digital image |
US20090141932A1 (en) * | 2007-11-29 | 2009-06-04 | Jones Paul W | Method for image quality assessment using quality vectors |
US20120063690A1 (en) * | 2009-03-06 | 2012-03-15 | Omnivision Technologies, Inc. | Object-Based Optical Character Recognition Pre-Processing Algorithm |
US20140032406A1 (en) * | 2008-01-18 | 2014-01-30 | Mitek Systems | Systems for Mobile Image Capture and Remittance Processing of Documents on a Mobile Device |
RU2571616C1 (ru) * | 2014-08-12 | 2015-12-20 | Общество с ограниченной ответственностью "Аби Девелопмент" | Способ и система оптического распознавания символов, которые сокращают время обработки изображений, потенциально не содержащих символы |
US20160188993A1 (en) * | 2014-12-30 | 2016-06-30 | Kodak Alaris Inc. | System and method for measuring mobile document image quality |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6922487B2 (en) * | 2001-11-02 | 2005-07-26 | Xerox Corporation | Method and apparatus for capturing text images |
US20130085935A1 (en) * | 2008-01-18 | 2013-04-04 | Mitek Systems | Systems and methods for mobile image capture and remittance processing |
US20130120595A1 (en) * | 2008-01-18 | 2013-05-16 | Mitek Systems | Systems for Mobile Image Capture and Remittance Processing of Documents on a Mobile Device |
US9208393B2 (en) * | 2010-05-12 | 2015-12-08 | Mitek Systems, Inc. | Mobile image quality assurance in mobile document image processing applications |
US20140111638A1 (en) * | 2012-10-24 | 2014-04-24 | Abbyy Software Ltd. | Capturing Images after Sufficient Stabilization of a Device |
US9514377B2 (en) * | 2014-04-29 | 2016-12-06 | Google Inc. | Techniques for distributed optical character recognition and distributed machine language translation |
US9576210B1 (en) * | 2014-09-29 | 2017-02-21 | Amazon Technologies, Inc. | Sharpness-based frame selection for OCR |
US9836456B2 (en) * | 2015-01-12 | 2017-12-05 | Google Llc | Techniques for providing user image capture feedback for improved machine language translation |
-
2016
- 2016-12-06 RU RU2016147699A patent/RU2634195C1/ru active
- 2016-12-13 US US15/377,118 patent/US10691984B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5537483A (en) * | 1989-10-03 | 1996-07-16 | Staplevision, Inc. | Automated quality assurance image processing system |
US20090022397A1 (en) * | 2005-11-30 | 2009-01-22 | Nicholson Dennis G | Method and apparatus for removing noise from a digital image |
US20090141932A1 (en) * | 2007-11-29 | 2009-06-04 | Jones Paul W | Method for image quality assessment using quality vectors |
US20140032406A1 (en) * | 2008-01-18 | 2014-01-30 | Mitek Systems | Systems for Mobile Image Capture and Remittance Processing of Documents on a Mobile Device |
US20120063690A1 (en) * | 2009-03-06 | 2012-03-15 | Omnivision Technologies, Inc. | Object-Based Optical Character Recognition Pre-Processing Algorithm |
RU2571616C1 (ru) * | 2014-08-12 | 2015-12-20 | Общество с ограниченной ответственностью "Аби Девелопмент" | Способ и система оптического распознавания символов, которые сокращают время обработки изображений, потенциально не содержащих символы |
US20160188993A1 (en) * | 2014-12-30 | 2016-06-30 | Kodak Alaris Inc. | System and method for measuring mobile document image quality |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2709661C1 (ru) * | 2018-09-19 | 2019-12-19 | Общество с ограниченной ответственностью "Аби Продакшн" | Обучение нейронных сетей для обработки изображений с помощью синтетических фотореалистичных содержащих знаки изображений |
US11893784B2 (en) | 2021-05-14 | 2024-02-06 | Abbyy Development Inc. | Assessment of image quality for optical character recognition using machine learning |
Also Published As
Publication number | Publication date |
---|---|
US20180157907A1 (en) | 2018-06-07 |
US10691984B2 (en) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2634195C1 (ru) | Способ и устройство для определения пригодности документа для оптического распознавания символов (ocr) | |
US10706320B2 (en) | Determining a document type of a digital document | |
RU2640296C1 (ru) | Способ и устройство для определения пригодности документа для оптического распознавания символов (ocr) на сервере | |
US11663817B2 (en) | Automated signature extraction and verification | |
JP6115323B2 (ja) | 文書処理装置、文書処理方法およびスキャナー | |
US8644561B2 (en) | License plate optical character recognition method and system | |
US10140510B2 (en) | Machine print, hand print, and signature discrimination | |
US10025976B1 (en) | Data normalization for handwriting recognition | |
CN111967286A (zh) | 信息承载介质的识别方法、识别装置、计算机设备和介质 | |
RU2581786C1 (ru) | Определение преобразований изображения для повышения качества оптического распознавания символов | |
CN113313111A (zh) | 文本识别方法、装置、设备和介质 | |
JP5832656B2 (ja) | 画像中のテキストの検出を容易にする方法及び装置 | |
US10049268B2 (en) | Selective, user-mediated content recognition using mobile devices | |
CN112749695A (zh) | 文本识别的方法和装置 | |
CN111291619A (zh) | 一种在线识别理赔单据中文字的方法、装置及客户端 | |
JP7320570B2 (ja) | 画像を処理するための方法、装置、機器、媒体およびプログラム | |
RU2453919C1 (ru) | Способ выявления спама в растровом изображении | |
CN113887375A (zh) | 一种文本识别方法、装置、设备及存储介质 | |
JP6341059B2 (ja) | 文字認識装置、文字認識方法、およびプログラム | |
WO2013177240A1 (en) | Textual information extraction method using multiple images | |
JP5885956B2 (ja) | フォントマッチング | |
CN115620315A (zh) | 手写文本检测方法、装置、服务器和存储介质 | |
CN113112567A (zh) | 生成可编辑流程图的方法、装置、电子设备和存储介质 | |
US10157311B2 (en) | Detecting arrows within images | |
KR102507534B1 (ko) | 인공지능 기반의 ocr 인식을 이용한 회계 관리 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PC43 | Official registration of the transfer of the exclusive right without contract for inventions |
Effective date: 20181121 |
|
QB4A | Licence on use of patent |
Free format text: LICENCE FORMERLY AGREED ON 20201211 Effective date: 20201211 |
|
QC41 | Official registration of the termination of the licence agreement or other agreements on the disposal of an exclusive right |
Free format text: LICENCE FORMERLY AGREED ON 20201211 Effective date: 20220311 |