RU2640296C1 - Способ и устройство для определения пригодности документа для оптического распознавания символов (ocr) на сервере - Google Patents

Способ и устройство для определения пригодности документа для оптического распознавания символов (ocr) на сервере Download PDF

Info

Publication number
RU2640296C1
RU2640296C1 RU2016147695A RU2016147695A RU2640296C1 RU 2640296 C1 RU2640296 C1 RU 2640296C1 RU 2016147695 A RU2016147695 A RU 2016147695A RU 2016147695 A RU2016147695 A RU 2016147695A RU 2640296 C1 RU2640296 C1 RU 2640296C1
Authority
RU
Russia
Prior art keywords
digital image
ocr
compression
parameter
server
Prior art date
Application number
RU2016147695A
Other languages
English (en)
Inventor
Василий Васильевич Логинов
Иван Германович Загайнов
Original Assignee
Общество с ограниченной ответственностью "Аби Девелопмент"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество с ограниченной ответственностью "Аби Девелопмент" filed Critical Общество с ограниченной ответственностью "Аби Девелопмент"
Priority to RU2016147695A priority Critical patent/RU2640296C1/ru
Priority to US15/377,170 priority patent/US10198628B2/en
Application granted granted Critical
Publication of RU2640296C1 publication Critical patent/RU2640296C1/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/768Arrangements for image or video recognition or understanding using pattern recognition or machine learning using context analysis, e.g. recognition aided by known co-occurring patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/12Detection or correction of errors, e.g. by rescanning the pattern
    • G06V30/133Evaluation of quality of the acquired characters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • G06V30/268Lexical context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Abstract

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

Description

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящая технология относится к осуществляемым на компьютере способам и системам обработки документов в целом и, в частности, к способу и устройству для определения пригодности документа для оптического распознавания символов (OCR) на сервере.
УРОВЕНЬ ТЕХНИКИ
[0002] Печатные документы на естественном языке до сих пор являются широко распространенным средством, используемым для коммуникации между людьми в рамках организаций, а также для распространения информации среди ее потребителей. С появлением повсеместно используемых мощных вычислительных ресурсов, включая персональные вычислительные ресурсы, реализованные в смартфонах, планшетах, ноутбуках и персональных компьютерах, а также с распространением более мощных вычислительных ресурсов облачных вычислительных сервисов, центров обработки данных и корпоративных серверов организаций и предприятий, шифрование и обмен информацией на естественном языке все чаще выполняется в виде электронных документов.
[0003] В отличие от печатных документов, которые по своей сути представляют собой изображения, электронные документы содержат последовательности цифровых кодов символов и знаков естественного языка. Поскольку электронные документы имеют перед печатными документами преимущества по стоимости, возможностям передачи и рассылки, простоте редактирования и изменения, а также по надежности хранения, за последние 50 лет развилась целая отрасль, поддерживающая способы и системы преобразования печатных документов в электронные.
[0004] Вычислительные способы и системы оптического распознавания символов, совместно с электронными сканерами, являются надежными и экономичными средствами получения изображений печатных документов и компьютерной обработки получаемых цифровых изображений содержащих текст документов с целью создания электронных документов, соответствующих печатным.
[0005] С появлением смартфонов, оснащенных камерами, а также других мобильных устройств формирования изображения с процессорным управлением, появилась возможность получения цифровых изображений содержащих текст документов с помощью широкого диапазона различных типов широко распространенных портативных устройств, включая смартфоны, недорогие цифровые камеры, недорогие камеры видеонаблюдения, а также устройства получения изображений, встроенные в мобильные вычислительные приборы, включая планшетные компьютеры и ноутбуки. Кроме того, некоторые из этих устройств имеют память, в которой хранится множество изображений (включая изображения текста и подобные им), к которым пользователь может захотеть применить оптическое распознавание символов OCR).
[0006] Получаемые при помощи таких переносных устройств и приборов цифровые изображения содержащих текст документов могут обрабатываться вычислительными системами оптического распознавания символов, в том числе приложениями оптического распознавания символов в смартфонах, для создания соответствующих электронных документов. Обычно цифровое изображение, полученное с помощью пользовательского электронного устройства, передается по сетям связи на сервер систем оптического распознавания символов для выполнения функции OCR на сервере (в противоположность локально выполняемой функции OCR, которая имеет тенденцию давать результаты OCR более низкого
[0007] скорость передачи цифрового изображения на сервер, а также экономии используемой полосы пропускания, связанной с передачей по сетям связи, при передаче на сервер применяется сжатие цифрового изображения в сжатое цифровое изображение. Сжатие выполняется с помощью кодека, использующего алгоритм сжатия, например, Joint Photographic Experts Group (JPEG) или JPEG 2000. Типичный алгоритм сжатия связан с параметром сжатия, например, коэффициентом сжатия.
[0008] Сервер (i) получает сжатое цифровое изображение, (ii) распаковывает цифровое изображение для получения распакованного цифрового изображения и (iii) исполняет функцию OCR на сервере для создания распознанного текстового документа на основе распакованного цифрового изображения, при этом распознанный текстовый документ содержит текст, сформированный на основе распакованного цифрового изображения. Затем сервер может предать распознанный текстовый документ обратно на электронное устройство пользователя через сеть связи (в исходном или сжатом виде).
[0009] Одной из причин реализации систем оптического распознавания символов с выполнением функций OCR на сервере (в противоположность локально выполняемой функции OCR) является качество цифрового изображения, получаемого с помощью портативных средств получения изображений документов (например, цифровые изображения, получаемые с помощью портативных устройств, ассоциируются с повышенной зашумленностью, оптическим смазом и иными дефектами и недостатками содержащих текст цифровых изображений, полученных с помощью портативных устройств и приборов, например, по сравнению со специальными приборами для сканирования документов).
[0010] Функция OCR на сервере включает предварительную подготовку распакованного цифрового изображения для уменьшения количества артефактов в распакованном цифровом изображении (то есть для уменьшения зашумленности, снижения оптического размытия и т.д.). Также в рамках функции OCR на сервере сервер выполняет высококачественную бинаризацию и процедуры OCR, требующие большого объема вычислений. Некоторые или все из них может быть нецелесообразно реализовывать локально на электронном устройстве пользователя (например, вычислительные мощности, необходимые для этой обработки, могут отсутствовать на электронных устройствах пользователей).
КРАТКОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0011] Задача настоящей технологии заключается в устранении, по меньшей мере, некоторых имеющихся недостатков, присутствовавших на известном уровне техники.
[0012] Варианты реализации настоящей технологии были разработаны на основе мнения изобретателей о том, что на известном уровне техники при имеющихся подходах к передаче сжатых цифровых изображений между электронным устройством пользователя и сервером при выполнении функции OCR на сервере существует, по меньшей мере, одна техническая проблема.
[0013] Не стремясь к ограничению в рамках какой-либо конкретной теории изобретатели считают, что при повышении коэффициента сжатия цифрового изображения для получения цифрового изображения меньшего размера (по сравнению с цифровым изображением) качество сжатого цифрового изображения (а точнее, качество распакованного цифрового изображения, получаемого из сжатого цифрового изображения) вероятно, может ухудшиться. Это в свою очередь потенциально приводит к ухудшению качества результата OCR распакованного цифрового изображения на сервере (что проявляется, например, в большем количестве ошибок в распознаваемом тексте). В то же время изобретатели считают, что может оказаться желательным использовать максимально возможный коэффициент сжатия (для экономии времени передачи и используемой полосы пропускания), все же обеспечивающий оптимальное качество сжатого цифрового изображения (чтобы обеспечить при выполнении функции OCR на сервере возможность получения результата приемлемого качества).
[0014] Изобретатели также считают, что несмотря на возможность передачи сжатого изображения на сервер для выполнения функции OCR на сервере и определения приемлемости полученного результата по качеству (чтобы в случае недостаточного качества результата потребовать от пользователя повторно сгенерировать цифровое изображение документа), такой подход приведет к недопустимым затратам времени на получение приемлемого уровня результата функции OCR на сервере.
[0015] Исходя из этого понимания изобретатели устранили этот недостаток подходов, существующих на имеющемся уровне техники, за счет разработки способа определения на пользовательском электронном устройстве параметра пригодности захватываемого цифрового изображения для OCR (или конкретнее, распакованного цифрового изображения, получаемого из сжатого цифрового изображения, которое получается из цифрового изображения) до передачи сжатого цифрового изображения на сервер. В широком смысле, параметр качества OCR указывает на то, будет ли распакованное цифровое изображение, созданное (или создаваемое) из сжатого цифрового изображения, которое в свою очередь создано (или создается) из цифрового изображения с помощью алгоритма сжатия с параметром сжатия (например, коэффициентом сжатия и т.д.), подходить для получения приемлемого результата при проведении OCR на сервере.
[0016] Варианты реализации настоящей технологии предполагают, что при параметре качества OCR, более или равном заранее определенному пороговому значению, выполняются следующие действия: сжатие цифрового изображения с использованием алгоритма сжатия и параметра сжатия для получения сжатого цифрового изображения и передача сжатого цифрового изображения на сервер для выполнения OCR на сервере.
[0017] С другой стороны, если параметр качества OCR окажется ниже порогового значения, варианты реализации настоящей технологии предполагают потребовать от электронного устройства пользователя повторного получения цифрового изображения печатного документа (например, путем отправки соответствующего сообщения на пользовательское электронное устройство).
[0018] Вместо этого варианты реализации настоящей технологии предполагают итеративно определить такое значение параметра сжатия (например, коэффициента сжатия), который обеспечит, чтобы параметр качества OCR был выше или равен заранее определенному пороговому значению (то есть, чтобы предлагаемый параметр сжатия обеспечивал приемлемый результат OCR на сервере).
[0019] Другими словами, варианты реализации настоящей технологии предназначены для поиска параметра сжатия (например, коэффициента сжатия), который является компромиссом между: (i) обеспечением достаточной скорости передачи по сети связи и/или используемой полосы пропускания и (ii) обеспечением необходимого уровня качества результата OCR, выполняемого над распакованным цифровым изображением, созданным из сжатого цифрового изображения с использованием параметра сжатия.
[0020] В соответствии с первым широким аспектом настоящей технологии обеспечивается способ анализа цифрового изображения документа. Этот способ выполняется в вычислительной системе, которая включает: пользовательское электронное устройство, сервер, доступ к которому с пользовательского электронного устройства осуществляется через сеть связи, этот сервер настроен на выполнение OCR обработки цифрового изображения для создания документа с распознанным текстом на сервере. Способ, выполняемый на пользовательском электронном устройстве, который включает: получение, с помощью пользовательского электронного устройства, цифрового изображения документа; анализ, выполняемым на пользовательском электронном устройстве классификатором, параметра качества OCR, связанного со сжатым цифровым изображением, сжатое цифровое изображение создается из цифрового изображения с использованием алгоритма сжатия и параметра сжатия; если параметр качества OCR выше или равен заранее определенному пороговому значению: передача сжатого цифрового изображения на сервер для выполнения OCR на сервере.
[0021] В некоторых вариантах реализации способа перед передачей способ также включает сжатие цифрового изображения с использованием алгоритма сжатия и параметра сжатия для создания сжатого цифрового изображения.
[0022] В некоторых вариантах реализации способа при параметре качества OCR, более или равном заранее определенному пороговому значению, выполняются следующие действия: сжатие цифрового изображения с использованием алгоритма сжатия и параметра сжатия для получения сжатого цифрового изображения и передача сжатого цифрового изображения на сервер для выполнения OCR на сервере.
[0023] В некоторых вариантах реализации этого способа он дополнительно включает, если параметр пригодности документа для OCR ниже заданного порога, на электронном устройстве пользователя вызывается выполнение повторного получения цифрового изображения..
[0024] В некоторых вариантах реализации способа анализ параметра качества OCR включает: сжатие цифрового изображения с помощью алгоритма сжатия для получения тестового сжатого цифрового изображения, при этом алгоритм сжатия использует параметр сжатия; распаковка тестового сжатого цифрового изображения для создания распакованного тестового цифрового изображения; применение классификатора к распакованному тестовому цифровому изображению для определения параметра качества OCR, при этом параметр качества OCR указывает, можно ли получить приемлемые результаты при OCR на сервере распакованного тестового цифрового изображения, сжатого с использованием соответствующего параметра сжатия.
[0025] В некоторых вариантах реализации способа анализ параметра качества OCR включает: выполнение первого сжатия цифрового изображения с помощью алгоритма сжатия для создания первого тестового сжатого цифрового изображения с использованием первого параметра сжатия; распаковка первого тестового сжатого цифрового изображения для создания первого тестового распакованного цифрового изображения; выполнение второго сжатия цифрового изображения с помощью алгоритма сжатия для создания второго тестового сжатого цифрового изображения с использованием второго параметра сжатия; распаковка второго тестового сжатого цифрового изображения для создания второго тестового распакованного цифрового изображения; применение классификатора к первому распакованному тестовому цифровому изображению для определения первого параметра качества OCR и ко второму распакованному цифровому изображению для определения второго параметра качества OCR; выбор одного из первого параметра сжатия и второго параметра сжатия, исходя из соответствующих первого параметра качества OCR и второго параметра качества OCR, указывающих на лучшую пригодность одного из соответствующих распакованных тестовых цифровых изображений для получения приемлемых результатов OCR на сервере; при этом сжатие цифрового изображения с помощью алгоритма сжатия для получения сжатого цифрового изображения выполняется с использованием параметра сжатия, выбранного из первого параметра сжатия и второго параметра сжатия.
[0026] В некоторых вариантах реализации способа анализ параметра качества OCR, связанного со сжатым цифровым изображением, включает: исполнение классификатора, обученного предсказывать параметр качества OCR для сжатого цифрового изображения, на базе основных характеристик, связанных с цифровым изображением, без сжатия цифрового изображения.
[0027] В некоторых вариантах реализации способа первичные характеристики включают как минимум одну из следующих характеристик: размер шрифта, количество символов, количество символов на страницу, яркость изображения, уровень контрастности изображения.
[0028] В некоторых вариантах реализации способа алгоритм сжатия реализован в виде кодека, выбранного из как минимум одного из следующих вариантов: JPEG и JPEG 2000.
[0029] В некоторых вариантах реализации способа анализ параметра качества OCR, связанного со сжатым цифровым изображением, дополнительно базируется на данных сжатия, полученных из кодека.
[0030] В некоторых вариантах реализации способа классификатор реализуется в виде алгоритма машинного обучения.
[0031] В некоторых вариантах реализации способа он дополнительно включает обучение алгоритма машинного обучения.
[0032] В некоторых вариантах реализации способа анализ параметра качества OCR включает: определение четырех изображений контура; разделение каждого из четырех изображений контура на неперекрывающиеся блоки; определение, для каждого из четырех изображений контуров, средней контрастности; создание бинарного варианта изображения для определения пикселей контура; определение резких пикселей для каждого блока; определение количества пикселей контура для каждого блока; определение блоков текста; определение параметра качества OCR, исходя из блоков текста.
[0033] В некоторых вариантах реализации способа способ также включает выбор этих блоков текста из блоков текста с самым малым размером шрифта, при этом определение параметра качества OCR выполняется для выбранных блоков текста с самым малым размером шрифта.
[0034] В соответствии с еще одним широким аспектом настоящей технологии обеспечивается система анализа цифрового изображения документа. Система включает электронное устройство пользователя, включающее процессор, настроенный на: доступ к серверу через сеть связи, сервер настроен на выполнение OCR цифрового изображения для получения документа с распознанным текстом на сервере; процессор также настроен на: получение цифрового изображения документа; анализ, с использованием исполняемого процессором классификатора, параметра качества OCR сжатого цифрового изображения, причем сжатое цифровое изображение было создано из цифрового изображения с использованием алгоритма сжатия и параметра сжатия; для параметра качества OCR выше или равного заранее определенному предельному значению: передача сжатого цифрового изображения на сервер для выполнения OCR на сервере.
[0035] В некоторых вариантах реализации системы процессор также настроен на сжатие цифрового изображения с использованием алгоритма сжатия и параметра сжатия для создания сжатого цифрового изображения.
[0036] В некоторых вариантах реализации системы процессор также настроен на то, что при параметре качества OCR, более или равном заранее определенному пороговому значению, выполняются следующие действия: сжатие цифрового изображения с использованием алгоритма сжатия и параметра сжатия для получения сжатого цифрового изображения и передача сжатого цифрового изображения на сервер для выполнения OCR на сервере.
[0037] В некоторых вариантах реализации системы процессор также настроен следующим образом: если параметр пригодности документа для OCR ниже заданного порога, на электронном устройстве пользователя вызывается выполнение повторного получения цифрового изображения.
[0038] В некоторых вариантах реализации системы для анализа параметра качества OCR процессор настроен на: сжатие цифрового изображения с помощью алгоритма сжатия для получения тестового сжатого цифрового изображения, при этом алгоритм сжатия использует параметр сжатия; распаковку тестового сжатого цифрового изображения для создания распакованного тестового цифрового изображения; применение классификатора к распакованному тестовому цифровому изображению для определения параметра качества OCR, при этом параметр качества OCR указывает, можно ли получить приемлемые результаты при обработке распакованного тестового цифрового изображения, сжатого с использованием соответствующего параметра сжатия, с помощью функции OCR на сервере.
[0039] В некоторых вариантах реализации системы, для анализа параметра качества OCR процессор настроен на: выполнение первого сжатия цифрового изображения с помощью алгоритма сжатия для создания первого тестового сжатого цифрового изображения с использованием первого параметра сжатия; распаковку первого тестового сжатого цифрового изображения для создания первого тестового распакованного цифрового изображения; выполнение второго сжатия цифрового изображения с помощью алгоритма сжатия для создания второго тестового сжатого цифрового изображения с использованием второго параметра сжатия; распаковку второго тестового сжатого цифрового изображения для создания второго тестового распакованного цифрового изображения; применение классификатора к первому распакованному тестовому цифровому изображению для определения первого параметра качества OCR и ко второму распакованному цифровому изображению для определения второго параметра качества OCR; выбор одного из первого параметра сжатия и второго параметра сжатия, исходя из соответствующих первого параметра качества OCR и второго параметра качества OCR, указывающих на лучшую пригодность одного из соответствующих распакованных тестовых цифровых изображений для получения приемлемых результатов OCR на сервере; при этом сжатие цифрового изображения с помощью алгоритма сжатия для получения сжатого цифрового изображения выполняется с использованием параметра сжатия, выбранного из первого параметра сжатия и второго параметра сжатия.
[0040] В некоторых вариантах реализации системы, для анализа параметра качества OCR, связанного со сжатым цифровым изображением, процессор также настроен на: исполнение классификатора, обученного предсказывать параметр качества OCR, связанный со сжатым цифровым изображением, на основе первичных характеристик, связанных с цифровым изображением, без сжатия цифрового изображения.
[0041] В некоторых вариантах реализации системы первичные характеристики включают как минимум одну из следующих характеристик: размер шрифта, количество символов, количество символов на страницу, яркость изображения, уровень контрастности изображения.
[0042] В некоторых вариантах реализации системы алгоритм сжатия реализован в виде кодека, выбранного из как минимум одного из следующих вариантов: JPEG и JPEG 2000.
[0043] В некоторых вариантах реализации системы для анализа параметра качества OCR, связанного со сжатым цифровым изображением, процессор настроен на использование данных сжатия, полученных из кодека.
[0044] В некоторых вариантах реализации системы классификатор реализуется в виде алгоритма машинного обучения.
[0045] В некоторых вариантах реализации системы процессор дополнительно настроен на обучение алгоритма машинного обучения.
[0046] В некоторых вариантах реализации системы, для анализа параметра качества OCR, процессор настроен на: определение четырех изображений контура; разделение каждого из четырех изображений контура на неперекрывающиеся блоки; определение, для каждого из четырех изображений контуров, средней контрастности; создание бинарного варианта изображения для определения пикселей контура; определение резких пикселей для каждого блока; определение количества пикселей контура для каждого блока; определение блоков текста; определение параметра качества OCR, исходя из блоков текста.
[0047] В некоторых вариантах реализации системы процессор также дополнительно настроен на выбор этих блоков текста из блоков текста с самым малым размером шрифта, при этом определение параметра качества OCR выполняется для выбранных блоков текста с самым малым размером шрифта.
[0048] В соответствии с еще одним широким аспектом настоящей технологии предлагается способ анализа цифрового изображения документа, способ выполняется пользовательским электронным устройством, указанное пользовательское электронное устройство настроено на связь, через сеть связи, с сервером, указанный сервер настроен на выполнение OCR цифрового изображения на сервере для создания документа с распознанным текстом. Указанный способ включает: получение, с помощью пользовательского электронного устройства, цифрового изображения документа; анализ, выполняемым на пользовательском электронном устройстве классификатором, параметра качества OCR, связанного со сжатым цифровым изображением, сжатое цифровое изображение создается из цифрового изображение с использованием алгоритма сжатия и параметра сжатия; при параметре качества OCR выше или равном заранее определенному пороговому значению: передача сжатого цифрового изображения на сервер для выполнения OCR на сервере.
[0049] В контексте настоящего описания под "сервером" понимается компьютерная программа, работающая на соответствующем аппаратном обеспечении и способная получать запросы (например, от электронных устройств) по сети и выполнять эти запросы или обеспечивать выполнение этих запросов. Аппаратное обеспечение может быть представлено одним физическим компьютером или одной физической вычислительной системой, но ни одно из этих устройств не является обязательным требованием для настоящей технологии. В текущем контексте использование выражения "сервер" не означает, что каждая задача (например, полученные инструкции или запросы) или любая конкретная задача будет получена, выполнена или будет обеспечено ее выполнение тем же сервером (т.е. одним программным и/или аппаратным обеспечением); это должно означать, что в получении/отправке, выполнении или обеспечении выполнения любой задачи или запроса или при обработке результатов любой задачи или запроса может быть задействовано любое количество программных элементов или аппаратных устройств; при этом все это программное и аппаратное обеспечение может быть представлено одним или более серверами, при этом выражение "по меньшей мере один сервер" охватывает оба эти понятия.
[0050] В контексте настоящего описания под "электронным устройством" (или "пользовательским электронным устройством") понимается любое вычислительное аппаратное обеспечение, способное выполнять программное обеспечение, необходимое для выполнения поставленной задачи. Таким образом, к некоторым примерам электронных устройств (без ограничения) относятся персональные компьютеры (настольные, ноутбуки, нетбуки и т.д.), смартфоны, планшетные компьютеры и т.д. Необходимо отметить, что не исключается выполнение устройством, действующим в текущем контексте как электронное устройство, функций сервера для других электронных устройств. Использование выражения "электронное устройство" не исключает использования нескольких электронных устройств при получении/отправке, выполнении или обеспечении выполнения любой задачи или запроса или обработке результатов любой задачи или запроса или выполнении любых этапов способа, описанного в настоящем изобретении.
[0051] В контексте настоящего описания под "базой данных" понимается любая структурированная совокупность данных, независимо от конкретной структуры, программного обеспечения для управления базами данных или вычислительного аппаратного обеспечения, на котором данные хранятся, реализуются или иным способом передаются для использования. База данных может храниться на том же аппаратном обеспечении, на котором выполняется процесс или которое использует информацию, хранящуюся в базе данных, или на отдельном аппаратном обеспечении, например, на выделенном сервере или множестве серверов.
[0052] В контексте настоящего описания выражение "носитель машиночитаемых данных" (или "устройство хранения данных") может включать носители любого характера и типа, включая ОЗУ, ПЗУ, диски (CD-ROM, DVD, дискеты, жесткие диски, и т.д.), USB-накопители, твердотельные накопители, ЗУ на магнитной ленте и т.д.
[0053] Для каждого из вариантов реализации настоящей технологии предусмотрен, по меньшей мере, один из указанных выше объектов и/или аспектов, но не обязательно все эти объекты/аспекты одновременно. Необходимо понимать, что некоторые аспекты настоящей технологии, полученные в результате попыток получить указанный выше объект, могут не удовлетворять требованиям этого объекта и/или могут удовлетворять требованиям других объектов, не указанных особо в настоящем документе.
[0054] Дополнительные и/или альтернативные признаки, аспекты и преимущества реализации настоящей технологии станут очевидными из последующего описания, сопроводительных чертежей и прилагаемых пунктов формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0055] Для обеспечения лучшего понимания настоящей технологии, а также иных аспектов и дополнительных признаков, дается ссылка на последующее описание, которое должно использоваться совместно с сопроводительными чертежами, на которых:
[0056] На Фиг. 1 изображена система для реализации неограничивающих вариантов реализации настоящей технологии.
[0057] На Фиг. 2 приведено схематическое представление функций сжатия и распаковки, выполняемое компрессором цифрового изображения в системе на Фиг. 1.
[0058] На Фиг. 3 приведено схематическое представление процесса обучения классификатора пригодности документа для OCR в системе на Фиг. 1.
[0059] На Фиг. 4 приведена блок-схема неограничивающего варианта реализации процесса определения параметра качества OCR, этот процесс выполняется классификатором пригодности для OCR на Фиг. 4.
[0060] На Фиг. 5 показана блок-схема неограничивающего варианта реализации способа определения пригодности документа для OCR на сервере, способ выполняется классификатором пригодности для OCR после обучения в ходе процесса, изображенного на Фиг. 3.
[0061] На Фиг. 6 показана блок-схема первого неограничивающего варианта реализации способа определения пригодности документа для OCR, способ является частью способа, приведенного на Фиг. 5.
[0062] На Фиг. 7 показана блок-схема второго неограничивающего варианта реализации способа определения пригодности документа для OCR, способ является частью способа, приведенного на Фиг. 5.
[0063] На Фиг. 8 показана лицевая сторона электронного устройства системы, изображенной на Фиг. 1, и обратная сторона электронного устройства системы, изображенной на Фиг. 1.
ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ РЕАЛИЗАЦИИ
[0064] На Фиг. 100 представлена структурная схема системы 100, пригодной для неограничивающих вариантов реализации настоящей технологии. Следует отчетливо понимать, что система 100, изображенная на схеме, является исключительно иллюстративным примером настоящей технологии. Таким образом, описание этой системы приводится исключительно как описание иллюстративных примеров настоящей технологии. Настоящее описание не направлено на описание объема или установление границ настоящей технологии. В некоторых случаях, ниже также могут быть описаны полезные примеры изменения системы 100. Это сделано исключительно с целью помочь в понимании и, опять же, не для определения объема или установления границ настоящей технологии. Перечень этих изменений не является исчерпывающим и, насколько это будет понятно специалисту в данной области техники, весьма вероятны и иные изменения. При этом, если изменения не были выполнены (т.е. если не были описаны примеры изменений), не следует это интерпретировать как невозможность изменений, и как то, что описанное решение является единственно возможным для реализации этого элемента настоящей технологии. Специалисту в данной области техники будет понятно, что это, скорее всего, не так. Также следует понимать, что в некоторых случаях система 100 может обеспечивать простые варианты реализации настоящей технологии, и в этом случае они представлены таким образом, чтобы облегчить понимание. Специалисту в данной области техники будет понятно, что различные варианты реализации настоящей технологии могут представлять повышенную сложность.
[0065] Система 100 включает пользовательское электронное устройство 102. Реализация пользовательского электронного устройства 102 не имеет конкретных ограничений, но, в качестве примера, пользовательское электронное устройство 102 может быть реализовано как персональный компьютер (настольные компьютеры, ноутбуки, нетбуки и т.д.), устройство беспроводной связи (например, смартфон, сотовый телефон, планшетный компьютер и т.п.). В представленном на Фиг. 1 варианте реализации пользовательское электронное устройство 102 реализовано в виде смартфона.
[0066] Пользовательское электронное устройство 102 связано с интерфейсом захвата изображения 103. В широком смысле интерфейс захвата изображения 103 включает аппаратное обеспечение (и, при необходимости, связанное с ним программное обеспечение) для захвата цифрового изображения. Цифровое изображение может быть представлено, например, цифровым изображением печатного документа 140, содержащим текст 142 (и потенциально нетекстовые объекты, например, изображение 144). Естественно, печатный документ 140 может содержать одну или более страниц, некоторые или все из одной или более страниц с различным текстом 142, различными изображениями 144, различной разметкой, различными шрифтами, размерами шрифтов и т.д.
[0067] В изображенном на Фиг. 1 варианте реализации интерфейс захвата изображений 103 реализован в виде камеры (следует отметить, что в некоторых вариантах реализации интерфейс захвата изображения 103 может быть реализован как несколько камер, одна или несколько из которых располагаются на лицевой стороне, изображенной на Фиг. 1, и/или одна или несколько из которых расположены на обратной, не показанной стороне пользовательского электронного устройства 102). Кратко рассмотрим Фиг. 8, на которой изображена лицевая сторона электронного устройства 102А и задняя сторона электронного устройства 102В. На лицевой стороне электронного устройства 102А находится передняя камера 103A, а на задней стороне электронного устройства 102В находится задняя камера 103В. Для захвата цифрового изображения печатного документа 140, возможно, будет более удобно использовать заднюю камеру 103В. При этом, если в приведенном ниже описании говорится о "камере", это относится к передней камере 103A или задней камере 103В (или к обеим камерам).
[0068] В альтернативном неограничивающем варианте реализации интерфейс захвата изображения 103 может быть реализован в виде сканера (не изображен) или другого устройства захвата изображения (не изображено) для получения цифровой версии бумажного документа.
[0069] В соответствии со схематическим представлением на Фиг. 1 пользовательское электронное устройство 102 включает процессор 104. Процессор 104 может содержать один или более процессоров и/или один или более микроконтроллеров, выполненных с возможностью запуска инструкций и операций, связанных с работой пользовательского электронного устройства 102. В различных вариантах реализации процессор 104 может быть реализован с одним процессором, несколькими процессорами и/или иными электрическими компонентами, включая одну или более интегрированных схем и печатных плат. Процессор 104 может дополнительно содержать устройство кэш-памяти (не изображено) для временного локального хранения инструкций, данных или адресов компьютеров. В качестве примера, процессор 104 может содержать один или более процессоров или один или более контроллеров, выделенных для определенных задач обработки пользовательского электронного устройства 102, или один многофункциональный процессор или контроллер.
[0070] Процессор имеет доступ к устройству хранения данных 106. Устройство хранения данных 106 может включать один или более носителей данных и в общем обеспечивать хранение данных, машиночитаемых кодов и т.п. В качестве примера, устройство хранения данных 106 может содержать различные материальные машиночитаемые носители данных, в том числе постоянное запоминающее устройство (ПЗУ) и оперативное запоминающее устройство (ОЗУ). Устройство хранения данных 106 может включать одно или более фиксированных устройств хранения в виде, например, жестких дисков (HDD), твердотельных накопителей (SSD), карт флеш-памяти (например, карты Secured Digital или SD, встроенные карты MultiMediaCard или eMMD), а также иных приемлемых форм памяти, связанных по двусторонней связи с процессором 104.
[0071] Устройство хранения данных 106 может хранить, помимо прочего, ряд машиночитаемых команд, которые вызывают выполнение процессором 104 (а также другими компонентами пользовательского электронного устройства 102) различных описанных в настоящем документе операций.
[0072] В различных вариантах реализации настоящей технологии различные компоненты пользовательского электронного устройства 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 (АМВА)или иную подходящую шину или сочетание двух или более из этих шин.
[0073] Процессор 104 имеет доступ к сетевому интерфейсу 108. Сетевой интерфейс 108 (который может быть реализован в виде сетевой карты и т.п.) соединен с сетью связи 110 для оценки одного или более подключенных к ней сетевых узлов (как, например, сервер 112). В некоторых неограничивающих вариантах реализации настоящей технологии сеть связи 110 может быть реализована как сеть Интернет. В других вариантах реализации настоящей технологии сеть связи 110 может быть реализована иначе, например, в виде глобальной сети связи, локальной сети связи, частной сети связи и т.п.
[0074] Реализация линии связи (отдельно не пронумерована) между сетевым интерфейсом 108 и сетью связи 110 будет зависеть, помимо прочего, от реализации электронного устройства 102. Исключительно в качестве примера, но не для ограничения, в тех вариантах реализации настоящей технологии, где электронное устройство 102 реализовано в виде беспроводного устройства связи (например, смартфона), линия связи может быть реализована как беспроводная линия связи (например, помимо прочего, линия связи по сети 3G, линия связи по сети 4G, Wireless Fidelity, или сокращенно WiFi®, Bluetooth® и т.п.). В тех примерах, где пользовательское электронное устройство 102 реализовано в виде ноутбука, линия связи может быть беспроводной (например, Wireless Fidelity, или сокращенно WiFi®, Bluetooth® и т.п.) или проводной (например, соединение на основе Ethernet).
[0075] Сервер 112 может быть реализован как традиционный компьютерный сервер. В одном из примеров реализации настоящей технологии сервер 112 может быть реализован как Сервер Dell™ PowerEdge™, работающий под операционной системой Microsoft™ Windows Server™. Безусловно, сервер 112 может быть реализован на базе любого иного подходящего аппаратного и/или программного обеспечения и/или микропрограммного обеспечения или на базе их сочетания. В приведенном неограничивающем варианте реализации настоящей технологии сервер 112 является отдельным сервером. В альтернативных неограничивающих вариантах реализации настоящей технологии функции сервера 112 могут быть распределены и реализованы через несколько серверов.
[0076] Реализация сервера 112 хорошо известна специалистам в области настоящей технологии. При этом, если говорить кратко, сервер 112 включает интерфейс связи (не изображен), структурированный и настроенный для связи с различными сущностями (например, с пользовательским электронным устройством 102 и другими устройствами, которые могут быть подключены к сети связи 110). Сервер 112 дополнительно включает не менее одного компьютерного процессора (не изображен), оперативно связанного с интерфейсом связи и структурированного и настроенного на исполнение различных процессов, описанных в настоящем документе.
[0077] Сервер 112 может исполнять функцию OCR 113 на базе сервера, что может быть реализовано как функция ABBYY Recognition Server™ OCR.
[0078] В соответствии с различными вариантами реализации настоящей технологии процессор 104 дополнительно настроен на исполнение компрессора цифрового изображения 114 и классификатора пригодности для OCR 116. Компрессор цифрового изображения 114 или классификатор пригодности для OCR 116 может быть исполнен в программном обеспечении, аппаратном обеспечении, микропрограммном обеспечении или в их сочетании.
[0079] Далее будут более подробно описаны функции компрессора цифрового изображения 114 и классификатора пригодности для OCR 116 со ссылкой на неограничивающие варианты реализации этих функций.
[0080] Компрессор цифрового изображения 114
[0081] Здесь со ссылкой на Фиг. 2 представлено схематичное описание функции сжатия и распаковки, выполняемой компрессором цифрового изображения 114. В широком смысле, компрессор цифрового изображения 114 настроен на сжатие цифрового изображения 220 (которое содержит цифровое представление печатного документа 140) для создания сжатого цифрового изображения 240.
[0082] В некоторых вариантах реализации настоящей технологии компрессор цифрового изображения 114 настроен на создание серого изображения (не показано) на основе цифрового изображения 220. В описании, представленном ниже в этом документе, предполагается, что цифровое изображение 220, представленное на Фиг. 2 в виде серого изображения, создается на основе исходного варианта цифрового изображения 220. Однако следует также понимать, что варианты реализации представленной технологии могут быть реализованы без преобразования цифрового изображения 220 в такое серое изображение.
[0083] Аналогичным образом, компрессор цифрового изображения 114 настроен на распаковку сжатого цифрового изображения 240 для создания распакованного цифрового изображения 220'.
[0084] Для этого компрессор цифрового изображения 114 выполняет алгоритм сжатия 202. Алгоритм сжатия 202 может быть реализован в виде кодека. Алгоритм сжатия 202 может быть реализован в виде алгоритма сжатия данных без потерь, алгоритма сжатия данных с потерями или любого другого подходящего алгоритма сжатия. Природа используемого алгоритма сжатия 202 не имеет конкретных ограничений, но, в качестве неограничивающего примера, алгоритм сжатия может быть реализован в виде алгоритма, уменьшающего геометрический размер с помощью экстраполяции, алгоритма JPEG или алгоритма JPEG 2000.
[0085] Алгоритм сжатия 202 связан с параметром сжатия 204. Параметр сжатия 204 может быть представлен коэффициентом сжатия ki. В некоторых вариантах реализации настоящей технологии коэффициент сжатия ki может быть одномерным значением. В альтернативных неограничивающих вариантах реализации настоящей технологии коэффициент сжатия ki может быть многомерным значением.
[0086] Изобретатели настоящей технологии провели эксперименты и полагают, что алгоритм JPEG 2000 обеспечивает более высокий коэффициент сжатия ki по сравнению с JPEG (значение коэффициента сжатия ki как минимум в 1,5 раза выше) при том же качестве результата работы функции 113 OCR на сервере при точности 98-99% (как будет описано ниже). JPEG 2000 также позволяет создавать сжатое цифровое изображение 240, имеющее размер около двух-трех килобайт. При этом время, необходимое на сжатие с помощью алгоритма JPEG 2000, по сравнению с JPEG, будет в два-три раза больше.
[0087] Таким образом, ожидается, что специалист в этой области может выбрать алгоритм сжатия (JPEG, JPEG2000 и т.д.), исходя из компромисса между требуемым уровнем сжатия и временем, необходимым для получения сжатого изображения 240.
[0088] Классификатор пригодности для OCR 116
[0089] В широком смысле классификатор пригодности для OCR 116 настроен на определение параметра качества OCR цифрового документа 220. Следует отчетливо понимать, что параметр качества OCR можно анализировать, фактически не выполняя функцию OCR цифрового документа 220.
[0090] Параметр качества OCR указывает, подходит ли цифровой документ 220 (после сжатия компрессором цифрового изображения 114 и распаковки на сервере 112 с помощью компрессора цифровых изображений (не показан), аналогичного компрессору цифрового изображения 114) для получения удовлетворительного результата выполнения функции 113 OCR на сервере. Иными словами, параметр качества является индикатором того, пригоден ли цифровой документ 220 после сжатия компрессором цифрового изображения 114 и распаковки на сервере 112 для создания цифрового документа с распознанным текстом, содержащего цифровой текст, являющийся репрезентативным для текста 142, с приемлемым качеством (как, например, заданный предел погрешности, который может указывать на приемлемое количество или долю ошибок на странице или во всем документе).
[0091] В некоторых вариантах реализации настоящей технологии заданный предел погрешности может составлять от одного до трех процентов ошибок. В других вариантах реализации заданный предел погрешности может составлять от одного до двух процентов ошибок. В других вариантах реализации заданный предел погрешности может быть представлен числовым значением максимального числа ошибок на странице цифрового документа с распознанным текстом или на весь цифровой документ с распознанным текстом.
[0092] Первый подход
[0093] В некоторых неограничивающих вариантах реализации настоящей технологии классификатор 116 пригодности для OCR настроен так, чтобы предсказывать параметр качества OCR, связанный с цифровым изображением 220, исходя из заданного значения параметра сжатия (например, коэффициента сжатия ki), который использовался/используется для сжатия и распаковки цифрового изображения 220. Этот предсказанный параметр качества OCR может далее использоваться для определения того, подходит ли заданное значение параметра сжатия (например, коэффициента сжатия ki) для получения удовлетворительного результата выполнения функции 113 OCR на сервере.
[0094] Второй подход
[0095] В некоторых неограничивающих вариантах реализации настоящей технологии классификатор 116 пригодности для OCR настроен так, чтобы предсказывать параметр качества OCR, связанный с цифровым изображением 220, итеративно предсказывая соответствующий параметр качества OCR, связанный с данным значением параметра сжатия из, как минимум, двух параметров сжатия (например, коэффициентов сжатия k1, k2 и т.д.), которые использовались/используются для сжатия и распаковки цифрового изображения 220.
[0096] Классификатор 116 пригодности для OCR может выбрать значение параметра качества OCR, которое позволяет получить удовлетворительный результат от функции 113 OCR на сервере (при обеспечении приемлемого уровня сжатия цифрового документа).
[0097] В рамках первого и второго подходов классификатор 116 пригодности для OCR может определять параметр качества OCR следующим образом.
[0098] Классификатор 116 пригодности для OCR может запускать компрессор 114 цифрового изображения для сжатия цифрового изображения 220 с использованием алгоритма 202 сжатия для создания тестового сжатого цифрового изображения (которое аналогично сжатому цифровому изображению 240), алгоритм 202 сжатия использует определенный параметр сжатия (например, определенное значение коэффициентов сжатия kS).
[0099] Компрессор 114 цифрового изображения затем распаковывает тестовое сжатое цифровое изображение, создавая распакованное тестовое цифровое изображение (аналогичное распакованному цифровому изображению 220').
[00100] Классификатор 116 пригодности для OCR анализирует распакованное тестовое цифровое изображение (процесс анализа будет более подробно описан ниже в этом документе) для предсказания параметра качества OCR, при этом параметр качества OCR указывает, можно ли получить приемлемые результаты при OCR на сервере распакованного тестового цифрового изображения, сжатого с использованием соответствующего параметра сжатия (например, при определенном значении коэффициентов сжатия kS).
[00101] Третий подход
[00102] В некоторых вариантах реализации настоящей технологии классификатор 116 пригодности для OCR может предсказать параметр качества OCR, исходя из основных признаков цифрового изображения 220.
[00103] В частности, предсказание параметра качества OCR включает исполнение классификатора 116 пригодности для OCR, где классификатор 116 пригодности для OCR был обучен предсказанию параметра качества OCR на базе основных характеристик, связанных с цифровым изображением 220, без выполнения сжатия и распаковки цифрового изображения 220 через этап сжатого цифрового изображения 240, описанный выше со ссылкой на первый и второй подходы. Основные характеристики включают одну из следующих характеристик (в качестве примера): размер шрифта, количество символов, количество символов на страницу, яркость изображения, уровень контраста изображения и т.д.
[00104] Независимо от того, какой из трех описанных выше подходов применяется, в некоторых вариантах реализации настоящей технологии, классификатор 116 пригодности для OCR может быть реализован в виде алгоритма машинного обучения (MLA). В альтернативных вариантах реализации настоящей технологии классификатор 116 пригодности для OCR может быть реализован на основе эвристического анализа и т.п.
[00105] В тех вариантах реализации, где классификатор пригодности для OCR 116 реализован как MLA, MLA может быть реализован как MLA на основе контролируемого или полуконтролируемого обучения. Ниже приведен неограниченный перечень примеров реализации MLA:
- Случайные леса (или случайные леса решений).
- Искусственная нейросеть.
- Байесова статистика.
- Обратное распространение.
- Регрессия по гауссову процессу.
- Деревья принятия решений.
- Алгоритм ближайшего соседа.
- Метод опорных векторов
- и т.п.
[00106] В тех вариантах реализации, где классификатор пригодности для OCR 116 реализован в виде алгоритма машинного обучения, классификатор пригодности для OCR до его использования должен быть обучен и подтвержден.
[00107] Этап обучения классификатора пригодности для OCR 116
[00108] На Фиг. 3 показано схематическое представление процесса обучения классификатора пригодности для OCR 116.
[00109] Обучение классификатора 116 пригодности для OCR выполняется с помощью набора обучающих объектов 300, включающего первый обучающий объект 302, второй обучающий объект 308 и множество дополнительных обучающих объектов 314. Количество обучающих объектов во множестве дополнительных обучающих объектов 314 не имеет конкретных пределов, но, в целом, включает ряд обучающих объектов, каждый из которых имеет обучающее цифровое изображение со связанной обучающей меткой.
[00110] Более конкретно, первый обучающий объект 302 включает первое обучающее цифровое изображение 304 и первую назначенную метку 306. Первое обучающее цифровое изображение 304 ассоциировано с параметром сжатия (например, первым коэффициентом сжатия k1), который используется для создания первого учебного цифрового изображения 304 из исходного цифрового изображения (не показано). С точки зрения MLA, параметр сжатия является "признаком" первого обучающего цифрового изображения 304. Первая назначенная метка 306 является показателем уровня ошибок, связанных с результатом выполнения функции 113 OCR на сервере над распакованной версией первого обучающего цифрового изображения 304.
[00111] Второй обучающий объект 308 включает второе обучающее цифровое изображение 310 и вторую назначенную метку 312. Второе обучающее цифровое изображение 310 ассоциировано с параметром сжатия (например, вторым коэффициентом сжатия k2), который используется для создания второго учебного цифрового изображения 310 из исходного цифрового изображения (не показано). С точки зрения MLA, параметр сжатия является "признаком" второго обучающего цифрового изображения 310. Вторая назначенная метка 312 является показателем уровня ошибок, связанных с результатом выполнения функции 113 OCR на сервере над распакованной версией второго обучающего цифрового изображения 310.
[00112] Отмечается, что в зависимости от конкретной реализации коэффициента сжатия ki (например, одномерного значения или многомерного значения), алгоритм оптимизации для выбора конкретного значения коэффициента сжатия ki классификатором 116 пригодности для OCR может быть один из подходящих итеративных алгоритмов оптимизации. Например, помимо прочего, градиентный спуск, метод Ньютона, дифференциальная эволюция и т.д. Цель оптимизации может включать предсказанный параметр качества OCR и размер сжатого цифрового изображения 240, сжатого с указанным коэффициентом сжатия ki.
[00113] Первый и второй подходы
[00114] В рамках этапа обучения классификатор 116 пригодности для OCR создает формулу MLA 316 - алгоритм, который используется для предсказания цели (т.е. параметра пригодности для OCR), как минимум, на основе параметра сжатия, связанного с цифровым изображением 220, сжатого цифрового изображения 240 и распакованного цифрового изображения 220', представленных на обработку классификатором 116 пригодности для OCR.
[00115] В некоторых вариантах реализации настоящей технологии результат обработки (т.е. параметр качества OCR) связан с индикатором вероятности.
[00116] Параметр качества OCR и/или индикатор вероятности могут быть сравнены с заданным пороговым значением. Если значение параметра качества OCR и/или индикатора вероятности выше или равно заданному порогу, то для обрабатываемого цифрового изображения 220 определяется, что оно пригодно для OCR на сервере.
[00117] Если, с другой стороны, значение параметра пригодности для OCR ниже заданного порога, то для обрабатываемого цифрового изображения 220 определяется, что оно не пригодно для OCR на сервере.
[00118] Заданный порог может составлять, например, 1-2% от любого другого приемлемого значения.
[00119] В альтернативном варианте реализации параметр качества OCR может определяться итеративно для двух и более параметров сжатия с целью определения одного из двух или более параметров сжатия, который обеспечивает наибольший параметр качества OCR (таким образом, указывая на наибольшую пригодность для получения удовлетворительного результата выполнения OCR на сервере). Следует отметить, что пригодность результата OCR на сервере можно определить в терминах уровня ошибок в получаемом документе с распознанным текстом.
[00120] Третий подход
[00121] В альтернативных неограничивающих вариантах реализации в рамках этапа обучения классификатор пригодности для OCR 116 создает формулу MLA 316 - алгоритм, который используется для предсказания цели (т.е. параметра пригодности для OCR), как минимум, на базе основных характеристик цифрового изображения 220, представленного на обработку классификатором 116 пригодности для OCR.
[00122] В некоторых вариантах реализации настоящей технологии результат обработки (т.е. параметр качества OCR) связан с индикатором вероятности.
[00123] Валидация классификатора пригодности для OCR 116
[00124] После завершения обучения классификатора пригодности для OCR 116 начинается этап валидации классификатора пригодности для OCR 116.
[00125] Для исполнения этапа валидации классификатор пригодности для OCR 116 представляется множеством объектов для валидации. Заданный объект для валидации может быть аналогичен первому обучающему объекту 302 и/или второму обучающему объекту 308 (притом, что содержимое цифрового документа еще не было просмотрено классификатором 116 пригодности для OCR).
[00126] Более конкретно, заданный документ для валидации предоставляется классификатору пригодности для OCR 116. Классификатор 116 пригодности для OCR, использующий формулу 316 обученного алгоритма MLA, выполняет анализ характеристик заданного документа для валидации и выдает предсказание относительно параметра качества OCR. Выданное предсказание затем сравнивается с назначенной меткой (т.е. меткой на основе реальных данных) для заданного документа валидации, при этом информация о любых ошибках в предсказании передается обратно классификатору пригодности для OCR 116. Процессы валидации и переобучения повторяются до тех пор, пока ошибки (количество ошибок или погрешность) не станут меньше заданного приемлемого порога для ошибок (на основе метрики валидации).
[00127] Для типа используемой метрики валидации не существует ограничений и он зависит от того, какой тип классификатора пригодности для OCR 116 используется. Некоторые примеры метрик для валидации включают в себя: метрику точности, метрику полноты, метрику F-меры и т.п. Предполагается, что типы метрик для валидации хорошо известны специалистам в данной области техники и не требуют длительного описания в настоящем документе.
[00128] Процесс определения параметра качества OCR
[00129] Один из примеров процесса определения параметра качества OCR описан в совместной заявке на патент США №15/165512 "СПОСОБ И СИСТЕМА ОПРЕДЕЛЕНИЯ ПРИГОДНОСТИ ИЗОБРАЖЕНИЯ ДОКУМЕНТА ДЛЯ ВЫПОЛНЕНИЯ ОПТИЧЕСКОГО РАСПОЗНАВАНИЯ СИМВОЛОВ И ДРУГИХ СПОСОБОВ ОБРАБОТКИ ИЗОБРАЖЕНИЙ", поданной в Бюро по патентам и товарным знакам США (USPTO) 26 мая 2016; содержание этой заявки полностью включено в настоящий документ посредством ссылки для всех тех юрисдикции, в которых такое включение разрешено законом.
[00130] Однако следует заметить, что возможно использование любых других подходящих процессов определения параметра качества OCR.
[00131] Ниже будет кратко описан один из примеров такого процесса. Со ссылкой на Фиг. 4 приведена блок-схема неограничивающего варианта реализации процесса 400 для определения параметра качества OCR.
[00132] Шаг 401 - определение четырех изображений контуров
[00133] На шаге 401 классификатор 116 пригодности для OCR создает из серого цифрового изображения четыре разных изображения контуров. Каждое из четырех разных изображений контуров содержит контуры соответствующего направления для серого цифрового изображения.
[00134] В некоторых вариантах реализации настоящей технологии серое цифровое изображение представляет собой распакованное цифровое изображение 220' (т.е. серое цифровое изображение, полученное применением алгоритма 202 сжатия для сжатия цифрового изображения 220 и последующей распаковки полученного сжатого цифрового изображения 240).
[00135] В других вариантах реализации настоящей технологии серое цифровое изображение представляет собой сжатое цифровое изображение 240 (т.е. без необходимости распаковки сжатого цифрового изображения 240 с помощью алгоритма сжатия 202). В этих вариантах осуществления классификатор 116 пригодности для OCR может использовать признаки сжатого цифрового изображения 240. Исключительно в качестве примера, в тех вариантах реализации изобретения, где алгоритм сжатия реализован в виде JPEG, признаками сжатого с помощью JPEG цифрового изображения 240 могут быть, помимо прочего: количество ненулевых коэффициентов дискретного косинусного преобразования (DCT) после огрубления, распределение частот и т.д.
[00136] В некоторых вариантах реализации настоящей технологии классификатор 116 пригодности для OCR может использовать как признаки сжатого цифрового изображения 240, так и признаки распакованного цифрового изображения 220'. В другом варианте реализации классификатор 116 пригодности для OCR может использовать признаки сжатого цифрового изображения 240, не выполняя распаковку сжатого цифрового изображения 240 (потенциально дополнительно сокращая время, необходимое для предсказания параметра качества OCR).
[00137] В некоторых вариантах реализации настоящей технологии в рамках шага 401 распакованное серое цифровое изображение 220' фильтруется, например, с помощью алгоритма выявления контуров (например, с помощью оператора Собеля-Фельдмана, также именуемого фильтром Собеля (-1, 0, 1)). Фильтр Собеля может быть применен в 4 направлениях - по осям x и y, а также по соответствующим осям, образующим угол 45 и 135 градусов с осью x. Абсолютные значения, создаваемые фильтром Собеля, образуют изображения контуров.
[00138] Шаг 402 - разделение на неперекрывающиеся блоки
[00139] На шаге 402 классификатор 116 пригодности для OCR разделяет распакованное цифровое изображение 220' на неперекрывающиеся блоки. Размер неперекрывающихся блоков выбирается таким образом, чтобы яркость, зашумленность и смаз не имели значительных различий в пределах заданного блока.
[00140] Шаг 403 - определение средней контрастности
[00141] На шаге 403 классификатор 116 пригодности для 116 определяет среднее значение контрастности С, связанное с распакованным цифровым изображением 220'.
[00142] В некоторых вариантах реализации настоящей технологии классификатор 116 пригодности для OCR проводит анализ на основе гистограммы для определения значения контраста С для заданного блока, определенного на шаге 402.
[00143] Более конкретно, в некоторых вариантах реализации настоящей технологии классификатор 116 пригодности для OCR создает гистограмму яркости. С помощью гистограммы яркости классификатор 116 пригодности для OCR определяет минимальное и максимальное значение яркости, при котором 0,1% всех пикселей в заданном блоке имеют яркость меньше минимального значения, а 0,1% всех пикселей в заданном блоке имеют яркость выше максимума.
[00144] Среднее значение контраста С определяется как разность между максимальным значением и минимальным значением.
[00145] Шаг 404 - создание бинаризованной версии изображения (для определения контурных пикселей)
[00146] На шаге 404 классификатор 116 пригодности для OCR создает, для каждого блока, бинаризованную версию распакованного цифрового изображения 220'. В некоторых вариантах реализации бинаризация выполняется с помощью алгоритма определения пороговых значений на основе интенсивности. Более конкретно, для процесса бинаризации может использоваться порог бинаризации, представляющий полусумму максимальной яркости и минимальной яркости для заданного блока.
[00147] Затем классификатор 116 пригодности для OCR определяет число бинаризованных контурных пикселей бинаризованного изображения в заданном блоке. Например, черный пиксель может быть определен в качестве контурного, если он имеет соседний белый пиксель (по вертикали или горизонтали).
[00148] Шаг 405 - определение резких пикселей
[00149] На шаге 405 классификатор 116 пригодности для OCR определяет количество резких пикселей для каждого блока из четырех различных изображений контуров. Определение может выполняться, исходя из резкости контурного изображения, превышающей первое предельное значение Т1.
[00150] В некоторых вариантах реализации настоящей технологии первый порог T1 выбирается путем снижения порога со значения 255 до тех пор, пока сумма количества резких пикселей во всех блоках контурного изображения, соответствующих рассматриваемому блоку исходного изображения, не станет больше или равной количеству контурных пикселей, рассчитанному по бинаризованной версии этого блока.
[00151] Шаг 406 - определение количества контурных пикселей
[00152] На шаге 406 классификатор 116 пригодности для OCR определяет количество контурных пикселей. В некоторых вариантах реализации настоящей технологии классификатор 116 пригодности для OCR использует второе пороговое значение Т2. Способ вычисления второго порогового значения Т2 не имеет конкретных ограничений. В некоторых вариантах реализации настоящей технологии классификатор 116 пригодности для OCR вычисляет соответствующее второе пороговое значение Т2 для каждого блока.
[00153] В других вариантах реализации классификатор 116 пригодности для OCR назначает второе пороговое значение Т2, равное определенной части первого порогового значения Т1. Таким образом второе пороговое значение Т2 может быть определено как:
Figure 00000001
[00154] Где k меньше 1. В качестве примера k может быть равно 0,5.
[00155] Кроме того, второе пороговое значение Т2 может быть задано как определенное количество шумовых контурных пикселей.
[00156] Шаг 407 - определение текстовых блоков
[00157] На шаге 407 классификатор 116 пригодности для OCR определяет текстовые блоки. В некоторых вариантах реализации настоящей технологии классификатор 116 пригодности для OCR выявляет текстовые блоки, в которых число контурных пикселей превосходит предварительно определенную долю от всех пикселей в данном блоке (например, 3-5%). Классификатор 116 пригодности для OCR также может определять текстовые блоки, используя условие о том, что черных пикселей (или белых пикселей в случае инвертированного текста) в бинаризованном изображении (определено на шаге 405 выше) должно быть меньше определенной доли (например, 20-30%). Классификатор 116 пригодности для OCR также может определять текстовые блоки, исходя из значений контрастности С, которые превышают заданный уровень.
[00158] Классификатор 116 пригодности для OCR далее определяет те текстовые блоки, которые имеют наименьший размер шрифта. Для этого классификатор 116 пригодности для OCR определяет размер шрифта для всех блоков. Это может быть сделано любым известным способом. Исключительно для примера, классификатор 116 пригодности для OCR может создавать для строк гистограммы кодирования с переменной длиной строки (RLE). Кроме того, классификатор 116 пригодности для OCR может создавать размер связанных компонентов бинаризованных изображений.
[00159] Затем классификатор 116 пригодности для OCR может выбирать текстовые блоки с размером шрифта меньше наиболее вероятного значения гистограммы с добавленным заданным значением. Заданное значение может выбираться случайным образом или определяться эмпирически.
[00160] Шаг 408 - определение параметра качества OCR
[00161] На шаге 408 классификатор 116 пригодности для OCR определяет параметр качества как отношение всех резких пикселей ко всем контурным объектам текстовых блоков, выбранных на шаге 407.
[00162] Затем классификатор 116 пригодности для OCR использует параметр качества OCR, определенный на шаге 408, с характеристиками бинаризованных изображений, определенными на шаге 404, для предсказания количества ошибок в результатах выполнения функции 113 OCR на сервере.
[00163] Не ограничиваясь этим, классификатор 116 пригодности для OCR может использовать для предсказания ошибок в результатах функции 113 OCR на сервере (т.е. параметра качества OCR) следующие характеристики. Классификатор 116 пригодности для OCR может использовать оценку качества контурных пикселей, статистические данные контурных пикселей (минимум, максимум, среднее и т.д.). Кроме того или вместо этого классификатор 116 пригодности для OCR может использовать отношение контурных пикселей бинаризованного изображения и черных пикселей (или белых пикселей в случае инвертированного изображения), гистограмму размеров строк RLE, характеристики присоединенных компонентов, отношение сравнительно малых черных и белых линий/компонентов, отношение высоты символа к его ширине и т.д.
[00164] Учитывая описанную выше архитектуру, можно выполнить способ определения пригодности документа для обработки OCR на сервере. На Фиг. 5 представлен неограничивающий вариант реализации в виде блок-схемы способа 500 для определения пригодности документа для OCR на сервере. Способ 500 может быть выполнен процессором 104.
[00165] Шаг 502 - получение цифрового изображения документа
[00166] На шаге 502 классификатор 116 пригодности для OCR получает цифровое изображение 220 документа (например, печатного документа 140).
[00167] В некоторых вариантах реализации настоящей технологии классификатор 116 пригодности для OCR может получать цифровое изображение 220 через интерфейс захвата изображения 103. Как было указано выше, интерфейс захвата изображения 103 может представлять собой камеру, сканер или аналогичное устройство. Фактически, на шаге 502 классификатор 116 пригодности для OCR получает цифровое изображение 220, соответствующее печатному документу 140, которое пользователь желает подвергнуть распознаванию текста.
[00168] В другом варианте классификатор 116 пригодности для OCR может получить цифровое изображение 220 путем доставки из устройства хранения данных 106 или по сети связи 110.
[00169] Шаг 504 - определение параметра качества OCR, ассоциированного со сжатым цифровым изображением, которое было получено из цифрового изображения путем использования алгоритма сжатия и параметра сжатия
[00170] На шаге 504 классификатор 116 пригодности для OCR определяет параметр качества OCR, ассоциированный со сжатым цифровым изображением 240, которое создано или создается из цифрового изображения 220 с использованием алгоритма сжатия 202 и параметра сжатия (например, коэффициента сжатия Ki).
[00171] Шаг 504 может быть реализован с использованием различных методик, две из которых будут описаны ниже в этом документе.
[00172] Шаг 506 - проверка пригодности цифрового изображения для OCR на сервере
[00173] На шаге 506 классификатор пригодности для OCR 116 определяет, является ли цифровое изображение 220 пригодным для функции 113 OCR на сервере. Более конкретно, классификатор 116 пригодности для OCR определяет, является ли цифровое изображение 220 (после сжатия и распаковки) пригодным для получения удовлетворительного результата выполнения функции 113 OCR на сервере.
[00174] В некоторых вариантах реализации настоящей технологии частью шага 506 классификатор 116 пригодности для OCR сравнивает параметр качества OCR цифрового изображения 220 с заданным предельным значением.
[00175] Шаг 508 - если параметр качества OCR выше или равен заданному предельному значению: передача сжатого цифрового изображения на сервер для выполнения обработки OCR на сервере
[00176] На шаге 508 (ветка ДА шага 506) классификатор 116 пригодности для OCR, в случае, когда параметр качества больше или равен заранее определенному предельному значению, передает сжатое цифровое изображение 240 на сервер 112 для выполнения обработки 113 OCR на сервере. Классификатор 116 пригодности для OCR передает сжатое цифровое изображение 240, созданное из цифрового изображения 220 с помощью алгоритма сжатия 202 и параметра сжатия ki для создания сжатого цифрового изображения 240.
[00177] В некоторых альтернативных вариантах реализации настоящей технологии классификатор 116 пригодности для OCR вызывает компрессор 114 цифрового изображения для сжатия цифрового изображения 220 с использованием алгоритма сжатия 202 и параметра сжатия ki для создания сжатого цифрового изображения 240. Указывалось, что компрессор 114 цифрового изображения использует тот же параметр сжатия ki, который на шаге 504 использовался для определения параметра качества OCR.
[00178] Шаг 510 - в случае, когда параметр качества OCR меньше заданного предельного значения, выполняется процедура обработки исключения.
[00179] На шаге 510 (ветка НЕТ шага 506), когда параметр качества OCR меньше заданного предельного значения, классификатор 116 пригодности для OCR выполняет процедуру обработки исключения.
[00180] Процедура обработки исключения может включать (без ограничений): сжатие цифрового изображения с использованием алгоритма сжатия и параметра сжатия для получения сжатого цифрового изображения; передачу сжатого цифрового изображения на сервер для выполнения OCR на сервере.
[00181] Кроме того или дополнительно процедура обработки исключения может запрашивать у интерфейса захвата изображения повторный захват цифрового изображения.
[00182] После этого способ 500 завершается.
[00183] На Фиг. 6 представлен неограничивающий вариант реализации способа 600 определения параметра качества OCR в виде блок-схемы. Способ 600 является первым вариантом реализации шага 504 способа 500. Способ 600 может быть выполнен процессором 104.
[00184] Шаг 602 - сжатие цифрового изображения с использованием алгоритма сжатия для создания тестового сжатого цифрового изображения, алгоритм сжатия использует параметр сжатия
[00185] На шаге 602 компрессор 114 цифрового изображения сжимает цифровое изображение 220, используя алгоритм 202 сжатия, для создания тестового сжатого цифрового изображения, алгоритм 202 сжатия использует параметр сжатия (например, коэффициент сжатия ki).
[00186] Указывалось, что термин "тестовое сжатое цифровое изображение" относится к изображению, которое в целом аналогично сжатому цифровому изображению 240, но создано компрессором 114 цифрового изображения с целью определения параметра качества OCR.
[00187] Шаг 604 - распаковка тестового сжатого цифрового изображения для создания распакованного тестового цифрового изображения
[00188] На шаге 604 компрессор 114 цифрового изображения распаковывает тестовое сжатое цифровое изображение для создания распакованного тестового цифрового изображения. Указывалось, что распакованное тестовое цифровое изображение в целом аналогично распакованному цифровому изображению 220', описанному выше, но создано компрессором 114 цифрового изображения с целью определения параметра качества OCR.
[00189] Шаг 606 - применение классификатора к распакованному тестовому цифровому изображению для определения параметра качества OCR, который указывает, пригодно ли распакованное тестовое цифровое изображение, которое было сжато с использованием параметра сжатия, для получения приемлемого результата обработки OCR на сервере
[00190] На шаге 606 к распакованному тестовому цифровому изображению применяется классификатор 116 пригодности для OCR с целью получения параметра качества OCR, который указывает, пригодно ли распакованное тестовое цифровое изображение 220', которое было сжато с использованием параметра сжатия, для получения приемлемого результата обработки OCR на сервере.
[00191] Следует отметить, что в некоторых вариантах реализации параметр качества OCR указывает, пригодно ли цифровое изображение 220 для выполнения функции 113 OCR на сервере. Вместо повторного сжатия цифрового изображения 220 процессор 104 может использовать уже созданное сжатое тестовое цифровое изображение (которое в таких вариантах реализации может сохраняться на устройстве хранения данных 106).
[00192] После этого способ 600 завершается.
[00193] На Фиг. 7 представлен неограничивающий вариант реализации способа 700 определения параметра качества OCR в виде блок-схемы. Способ 700 является вторым вариантом реализации шага 504 способа 500. Способ 700 может быть выполнен процессором 104.
[00194] Шаг 702 - выполнение первого сжатия цифрового изображения с использованием алгоритма сжатия для создания первого тестового сжатого цифрового изображения, алгоритм сжатия использует первый параметр сжатия
[00195] На шаге 702 компрессор 114 цифрового изображения выполняет первое сжатие цифрового изображения 220, используя алгоритм 202 сжатия, для создания первого тестового сжатого цифрового изображения, алгоритм 202 сжатия использует первый параметр сжатия (например, первый коэффициент сжатия k1).
[00196] Шаг 704 - распаковка первого тестового сжатого цифрового изображения для создания первого тестового распакованного цифрового изображения
[00197] На шаге 704 компрессор 114 цифрового изображения распаковывает первое тестовое сжатое цифровое изображение для создания первого тестового распакованного цифрового изображения.
[00198] Шаг 706 - выполнение второго сжатия цифрового изображения с использованием алгоритма сжатия для создания второго тестового сжатого цифрового изображения, алгоритм сжатия использует второй параметр сжатия
[00199] На шаге 706 компрессор 114 цифрового изображения выполняет второе сжатие цифрового изображения 220, используя алгоритм 202 сжатия, для создания второго тестового сжатого цифрового изображения, алгоритм 202 сжатия использует второй параметр сжатия (например, второй коэффициент сжатия k2, при этом k2 отличается от k1).
[00200] Шаг 708 - распаковка второго сжатого тестового цифрового изображения для создания второго тестового распакованного цифрового изображения
[00201] На шаге 708 компрессор 114 цифрового изображения распаковывает второе тестовое сжатое цифровое изображение для создания второго тестового распакованного цифрового изображения.
[00202] Шаг 710 - применение классификатора к первому распакованному тестовому цифровому изображению для определения первого параметра качества OCR и ко второму распакованному цифровому изображению для определения второго параметра качества OCR
[00203] На шаге 710 классификатор 116 качества OCR применяется к первому распакованному тестовому изображению для определения первого параметра качества OCR и ко второму распакованному тестовому изображению для определения второго параметра качества OCR.
[00204] Шаг 712 - выбор первого параметра сжатия или второго параметра сжатия, исходя из связи с первым параметром качества OCR или вторым параметром качества OCR, указывающим на лучшую пригодность соответствующего первого распакованного тестового цифрового изображения или второго распакованного тестового цифрового изображения для получения приемлемого результата обработки OCR на сервере
[00205] На шаге 712 классификатор 116 пригодности для OCR выбирает первый параметр сжатия или второй параметра сжатия на основе связанного первого параметра качества OCR или второго параметра качества OCR, исходя из наибольшей пригодности первого распакованного тестового файла изображения или второго распакованного тестового файла изображения для получения удовлетворительного результата при проведении процедуры 113 OCR на сервере.
[00206] В этом варианте реализации реальное сжатие цифрового изображения 220 с помощью алгоритма сжатия 202 для создания сжатого цифрового изображения 240 (для передачи на сервер 112) выполняется с использованием выбранного параметра из первого параметра сжатия или второго параметра сжатия, как было определено на шаге 712.
[00207] Следует отметить, что шаги 702-710 могут итеративно повторяться для более чем двух параметров сжатия (например, различных коэффициентов сжатия k1, k2, k3 … kn).
[00208] После того, как процессор 104 выбрал цифровой документ 220 с соответствующим параметром качества OCR, процессор 104 пересылает сжатое цифровое изображение 240, которое было создано с помощью соответствующего параметра компрессии (для которого определен соответствующий параметр качества OCR) на сервер 112. Сервер 112 (i) получает сжатое цифровое изображение 240, (ii) распаковывает сжатое цифровое изображение 210 для получения распакованного цифрового изображения 220' и (iii) исполняет функцию 113 OCR на сервере для создания распознанного текстового документа на основе распакованного цифрового изображения 220', при этом распознанный текстовый документ содержит текст, сформированный на основе распакованного цифрового изображения 220'. Затем сервер может передать распознанный текстовый документ обратно на электронное устройство пользователя 102 через сеть связи 110 (в исходном или сжатом виде).
[00209] Необходимо отчетливо понимать, что не все указанные в настоящем документе технические результаты, должны быть достигнуты в каждом варианте реализации настоящей технологии. Например, варианты реализации настоящей технологии могут быть реализованы без получения пользователем преимущества некоторых из этих технических результатов, при этом другие варианты реализации могут быть реализованы за счет получения пользователем других технических результатов или за счет отсутствия таковых.
[00210] Изменения и усовершенствования указанных выше вариантов реализации настоящей технологии будут очевидны для специалистов в данной области техники. Приведенное выше описание представлено в виде примера, но не в качестве ограничения. Следовательно, область применения настоящей технологии ограничена исключительно объемом прилагаемой формулы изобретения.

Claims (89)

1. Способ анализа цифрового изображения документа, который исполняется вычислительной системой, включающей:
электронное устройство пользователя;
сервер, к которому электронное устройство пользователя имеет доступ через сеть связи, этот сервер настроен на выполнение на сервере обработки OCR цифрового изображения для создания документа с распознанным текстом;
способ, исполняемый электронным устройством пользователя, который включает:
получение пользовательским электронным устройством цифрового изображения документа;
анализ с помощью классификатора, исполняемого электронным устройством пользователя, параметра качества OCR сжатого цифрового изображения, которое было получено из цифрового изображения путем использования алгоритма сжатия и параметра сжатия;
для параметра качества OCR выше или равного заданному пороговому значению:
передачу сжатого цифрового изображения на сервер для выполнения OCR на сервере.
2. Способ по п. 1, отличающийся тем, что перед указанной передачей способ также включает сжатие цифрового изображения с использованием алгоритма сжатия и параметра сжатия для создания сжатого цифрового изображения.
3. Способ по п. 2, отличающийся тем, что при параметре качества OCR ниже заданного порогового значения не выполняется:
сжатие цифрового изображения с использованием алгоритма сжатия и параметра сжатия для создания сжатого цифрового изображения;
передача сжатого цифрового изображения на сервер для выполнения OCR на сервере.
4. Способ по п. 3, в котором способ дополнительно включает, если параметр пригодности документа для OCR ниже заданного порогового значения, на электронном устройстве пользователя вызывается выполнение повторного получения цифрового изображения.
5. Способ по п. 1, отличающийся тем, что анализ параметра пригодности для OCR включает:
сжатие цифрового изображения с использованием алгоритма сжатия для создания тестового сжатого цифрового изображения, алгоритм сжатия использует параметр сжатия;
распаковку тестового сжатого цифрового изображения для создания распакованного тестового цифрового изображения;
применение классификатора к распакованному тестовому цифровому изображению для определения параметра качества OCR, который указывает, пригодно ли распакованное тестовое цифровое изображение, которое было сжато с использованием параметра сжатия, для получения приемлемого результата обработки OCR на сервере.
6. Способ по п. 1, отличающийся тем, что анализ параметра пригодности для OCR включает:
выполнение первого сжатия цифрового изображения с использованием алгоритма сжатия для создания первого тестового сжатого цифрового изображения, алгоритм сжатия использует первый параметр сжатия;
распаковку первого тестового сжатого цифрового изображения для создания первого тестового распакованного цифрового изображения;
выполнение второго сжатия цифрового изображения с использованием алгоритма сжатия для создания второго тестового сжатого цифрового изображения, алгоритм сжатия использует второй параметр сжатия;
распаковку второго сжатого цифрового изображения для создания второго тестового распакованного цифрового изображения;
применение классификатора к первому распакованному тестовому цифровому изображению для определения первого параметра качества OCR и ко второму распакованному цифровому изображению для определения второго параметра качества OCR;
выбор первого параметра сжатия или второго параметра сжатия на основе первого параметра качества OCR или второго параметра качества OCR, указывающего на лучшую пригодность соответствующего первого распакованного тестового цифрового изображения или второго распакованного тестового цифрового изображения для получения приемлемого результата обработки OCR на сервере; и где
сжатие цифрового изображения с помощью алгоритма сжатия для получения сжатого цифрового изображения выполняется с использованием выбранного параметра из первого параметра сжатия и второго параметра сжатия.
7. Способ по п. 1, отличающийся тем, что анализ параметра качества OCR, связанного со сжатым цифровым изображением, включает:
исполнение классификатора, обученного предсказывать параметр качества OCR, связанный со сжатым цифровым изображением, на основе первичных характеристик, связанных с цифровым изображением, без сжатия цифрового изображения.
8. Способ по п. 7, отличающийся тем, что первичные характеристики включают, по меньшей мере, одну из следующих характеристик: размер шрифта, количество символов, количество символов на страницу, яркость изображения, уровень контрастности изображения.
9. Способ по п. 1, отличающийся тем, что алгоритм сжатия реализован в виде кодека, выбранного из, по меньшей мере, одного из следующих вариантов: JPEG и JPEG 2000.
10. Способ по п. 9, отличающийся тем, что анализ параметра качества OCR, связанного со сжатым цифровым изображением, дополнительно учитывает данные сжатия, полученные из кодека.
11. Способ по п. 1, отличающийся тем, что классификатор реализован как алгоритм машинного обучения.
12. Способ по п. 11, дополнительно включающий обучение алгоритма машинного обучения.
13. Способ по п. 1, отличающийся тем, что анализ параметра качества OCR включает:
определение четырех контурных изображений;
разделение каждого из четырех контурных изображений на неперекрывающиеся блоки;
определение, для каждого из четырех контурных изображений, средней контрастности;
создание бинарного варианта изображения для определения контурных пикселей;
определение резких пикселей для каждого блока;
определение количества контурных пикселей для каждого блока;
определение текстовых блоков;
определение параметра качества OCR на основании определенных текстовых блоков.
14. Способ по п. 11, дополнительно включающий выбор указанных текстовых блоков из текстовых блоков с наименьшим размером шрифта, при этом определение параметра качества OCR выполняется для выбранных текстовых блоков с наименьшим размером шрифта.
15. Система для анализа цифрового изображения документа, включающая:
пользовательское электронное устройство, содержащее процессор, выполненный с возможностью:
доступа к серверу через сеть связи, настроенный на выполнение на сервере обработки OCR цифрового изображения для создания документа с распознанным текстом;
процессор также выполнен с возможностью:
получать цифровое изображение документа;
анализировать с помощью исполняемого процессором классификатора, параметр качества OCR сжатого цифрового изображения, которое было получено из цифрового изображения путем использования алгоритма сжатия и параметра сжатия;
для параметра качества OCR выше или равного заданному пороговому значению:
передавать сжатое цифровое изображение на сервер для выполнения OCR на сервере.
16. Система по п. 15, отличающаяся тем, что процессор также настроен на сжатие цифрового изображения с использованием алгоритма сжатия и параметра сжатия для создания сжатого цифрового изображения.
17. Система по п. 16, отличающаяся тем, что процессор также имеет возможность при параметре качества OCR ниже заданного порогового значения не выполнять:
сжатие цифрового изображения с использованием алгоритма сжатия и параметра сжатия для создания сжатого цифрового изображения;
передачу сжатого цифрового изображения на сервер для выполнения OCR на сервере.
18. Система по п. 17, отличающаяся тем, что процессор, если параметр пригодности документа для OCR ниже заданного порогового значения, на электронном устройстве пользователя вызывает выполнение повторного получения цифрового изображения.
19. Система по п. 15, отличающаяся тем, что для анализа параметра качества OCR процессор имеет возможность:
сжимать цифровое изображение с использованием алгоритма сжатия для создания тестового сжатого цифрового изображения, алгоритм сжатия использует параметр сжатия;
распаковывать тестовое сжатое цифровое изображение для создания распакованного тестового цифрового изображения;
применять классификатор к распакованному тестовому цифровому изображению для определения параметра качества OCR, который указывает, пригодно ли распакованное тестовое цифровое изображение, которое было сжато с использованием параметра сжатия, для получения приемлемого результата обработки OCR на сервере.
20. Система по п. 15, отличающаяся тем, что для анализа параметра качества OCR процессор имеет возможность:
выполнять первое сжатие цифрового изображения с использованием алгоритма сжатия для создания первого тестового сжатого цифрового изображения, алгоритм сжатия использует первый параметр сжатия;
распаковывать первое тестовое сжатое цифровое изображение для создания первого тестового распакованного цифрового изображения;
выполнить второе сжатие цифрового изображения с использованием алгоритма сжатия для создания второго тестового сжатого цифрового изображения, алгоритм сжатия использует второй параметр сжатия;
распаковывать первое тестовое сжатое цифровое изображение для создания первого тестового распакованного цифрового изображения;
применить указанный классификатор к первому распакованному тестовому цифровому изображению для определения первого параметра качества OCR и ко второму распакованному цифровому изображению для определения второго параметра качества OCR;
выбрать первый параметр сжатия или второй параметр сжатия на основе связанного первого параметра качества OCR или второго параметра качества OCR, указывающего на лучшую пригодность соответствующего первого распакованного тестового цифрового изображения или второго распакованного тестового цифрового изображения для получения приемлемого результата обработки OCR на сервере; и где
сжатие цифрового изображения с помощью алгоритма сжатия для получения сжатого цифрового изображения выполняется с использованием выбранного первого параметра сжатия или второго параметра сжатия.
21. Система по п. 15, отличающаяся тем, что для анализа параметра качества OCR цифрового изображения, процессор имеет возможность:
исполнить классификатор, обученный предсказывать параметр качества OCR, связанный со сжатым цифровым изображением, на основе первичных характеристик, связанных с цифровым изображением, без сжатия цифрового изображения.
22. Система по п. 21, отличающаяся тем, что первичные характеристики включают, по меньшей мере, одну из следующих характеристик: размер шрифта, количество символов, количество символов на страницу, яркость изображения, уровень контрастности изображения.
23. Система по п. 15, отличающаяся тем, что алгоритм сжатия реализован в виде кодека, выбранного из, по меньшей мере, одного из следующих вариантов: JPEG и JPEG 2000.
24. Система по п. 23, отличающаяся тем, что для анализа параметра качества OCR, связанного со сжатым цифровым изображением, процессор настроен на использование данных сжатия, полученных из кодека.
25. Система по п. 15, отличающаяся тем, что классификатор реализован как алгоритм машинного обучения.
26. Система по п. 25, отличающаяся тем, что процессор дополнительно настроен на обучение алгоритма машинного обучения.
27. Система по п. 15, отличающаяся тем, что для анализа параметра качества OCR процессор имеет возможность:
определить четыре контурных изображения;
разделить каждое из четырех контурных изображений на неперекрывающиеся блоки;
определить, для каждого из четырех контурных изображений, среднюю контрастность;
создать бинарный вариант изображения для определения контурных пикселей;
определить резкие пиксели для каждого блока;
определить количество контурных пикселей для каждого блока;
определить текстовые блоки;
определить параметр качества OCR на основании определенных текстовых блоков.
28. Система по п. 27, отличающаяся тем, что процессор также дополнительно настроен на выбор указанных текстовых блоков из текстовых блоков с наименьшим размером шрифта, при этом определение параметра качества OCR выполняется для выбранных текстовых блоков с наименьшим размером шрифта.
29. Способ анализа цифрового изображения документа, выполняющийся пользовательским электронным устройством, указанное пользовательское электронное устройство настроено на связь, через сеть связи, с сервером, указанный сервер настроен на выполнение OCR цифрового изображения на сервере для создания документа с распознанным текстом; способ включает:
получение пользовательским электронным устройством цифрового изображения документа;
анализ с помощью классификатора, исполняемого электронным устройством пользователя, параметра качества OCR сжатого цифрового изображения, которое было получено из цифрового изображения путем использования алгоритма сжатия и параметра сжатия;
для параметра качества OCR выше или равного заданному пороговому значению:
передача сжатого цифрового изображения на сервер для выполнения OCR на сервере.
RU2016147695A 2016-12-06 2016-12-06 Способ и устройство для определения пригодности документа для оптического распознавания символов (ocr) на сервере RU2640296C1 (ru)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2016147695A RU2640296C1 (ru) 2016-12-06 2016-12-06 Способ и устройство для определения пригодности документа для оптического распознавания символов (ocr) на сервере
US15/377,170 US10198628B2 (en) 2016-12-06 2016-12-13 Method and apparatus for determining a document suitability for server-based optical character recognition (OCR) processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2016147695A RU2640296C1 (ru) 2016-12-06 2016-12-06 Способ и устройство для определения пригодности документа для оптического распознавания символов (ocr) на сервере

Publications (1)

Publication Number Publication Date
RU2640296C1 true RU2640296C1 (ru) 2017-12-27

Family

ID=62243207

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2016147695A RU2640296C1 (ru) 2016-12-06 2016-12-06 Способ и устройство для определения пригодности документа для оптического распознавания символов (ocr) на сервере

Country Status (2)

Country Link
US (1) US10198628B2 (ru)
RU (1) RU2640296C1 (ru)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10395393B2 (en) * 2016-12-22 2019-08-27 I.R.I.S. Method for assessing the quality of an image of a document
US10755090B2 (en) * 2018-03-16 2020-08-25 Open Text Corporation On-device partial recognition systems and methods
US10614301B2 (en) 2018-04-09 2020-04-07 Hand Held Products, Inc. Methods and systems for data retrieval from an image
US10755130B2 (en) * 2018-06-14 2020-08-25 International Business Machines Corporation Image compression based on textual image content
US11317005B2 (en) 2018-12-11 2022-04-26 GlassBox Ltd. System and method for determining compression rates for images comprising text
CN109815199A (zh) * 2018-12-14 2019-05-28 深圳壹账通智能科技有限公司 一种图片压缩算法的选取方法及装置
US11205084B2 (en) * 2020-02-17 2021-12-21 Wipro Limited Method and system for evaluating an image quality for optical character recognition (OCR)
WO2021262727A1 (en) * 2020-06-22 2021-12-30 ID Metrics Group Incorporated Data processing and transaction decisioning system

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100166309A1 (en) * 2004-10-01 2010-07-01 Ricoh Co., Ltd. System And Methods For Creation And Use Of A Mixed Media Environment
US8873890B2 (en) * 2004-04-02 2014-10-28 K-Nfb Reading Technology, Inc. Image resizing for optical character recognition in portable reading machine
RU2571510C2 (ru) * 2013-12-25 2015-12-20 Общество с ограниченной ответственностью "Аби Девелопмент" Метод и устройство, использующие увеличение изображения для подавления визуально заметных дефектов на изображении
US20160092754A1 (en) * 2014-09-30 2016-03-31 Abbyy Development Llc Identifying image transformations for improving optical character recognition quality
RU2579899C1 (ru) * 2014-09-30 2016-04-10 Общество с ограниченной ответственностью "Аби Девелопмент" Обработка документа с использованием нескольких потоков обработки
RU2582064C1 (ru) * 2014-12-16 2016-04-20 Общество с ограниченной ответственностью "Аби Девелопмент" Способы и системы эффективного автоматического распознавания символов с использованием леса решений
RU2596600C2 (ru) * 2014-09-02 2016-09-10 Общество с ограниченной ответственностью "Аби Девелопмент" Способы и системы обработки изображений математических выражений
US9444924B2 (en) * 2009-10-28 2016-09-13 Digimarc Corporation Intuitive computing methods and systems

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483581B2 (en) 2001-07-02 2009-01-27 Qualcomm Incorporated Apparatus and method for encoding digital image data in a lossless manner
US7450760B2 (en) 2005-05-18 2008-11-11 Scanr, Inc. System and method for capturing and processing business data
JP4176114B2 (ja) * 2006-06-19 2008-11-05 シャープ株式会社 画像圧縮装置およびそれを備えた画像読取装置、画像圧縮装置を備えた画像処理装置並びにそれを備えた画像形成装置、画像圧縮処理方法
US9672510B2 (en) * 2008-01-18 2017-06-06 Mitek Systems, Inc. Systems and methods for automatic image capture and processing of documents on a mobile device
WO2013118535A1 (ja) 2012-02-06 2013-08-15 ソニー株式会社 撮像制御装置、画像処理装置、撮像制御方法及び画像処理方法
US9317764B2 (en) * 2012-12-13 2016-04-19 Qualcomm Incorporated Text image quality based feedback for improving OCR
US9305227B1 (en) * 2013-12-23 2016-04-05 Amazon Technologies, Inc. Hybrid optical character recognition
JP6572535B2 (ja) 2014-12-10 2019-09-11 株式会社リコー 画像認識システム、サーバ装置及び画像認識方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8873890B2 (en) * 2004-04-02 2014-10-28 K-Nfb Reading Technology, Inc. Image resizing for optical character recognition in portable reading machine
US20100166309A1 (en) * 2004-10-01 2010-07-01 Ricoh Co., Ltd. System And Methods For Creation And Use Of A Mixed Media Environment
US9063953B2 (en) * 2004-10-01 2015-06-23 Ricoh Co., Ltd. System and methods for creation and use of a mixed media environment
US20150379043A1 (en) * 2004-10-01 2015-12-31 Ricoh Co., Ltd. System and Methods for Creation and Use of a Mixed Media Environment
US9444924B2 (en) * 2009-10-28 2016-09-13 Digimarc Corporation Intuitive computing methods and systems
RU2571510C2 (ru) * 2013-12-25 2015-12-20 Общество с ограниченной ответственностью "Аби Девелопмент" Метод и устройство, использующие увеличение изображения для подавления визуально заметных дефектов на изображении
RU2596600C2 (ru) * 2014-09-02 2016-09-10 Общество с ограниченной ответственностью "Аби Девелопмент" Способы и системы обработки изображений математических выражений
US20160092754A1 (en) * 2014-09-30 2016-03-31 Abbyy Development Llc Identifying image transformations for improving optical character recognition quality
RU2579899C1 (ru) * 2014-09-30 2016-04-10 Общество с ограниченной ответственностью "Аби Девелопмент" Обработка документа с использованием нескольких потоков обработки
RU2582064C1 (ru) * 2014-12-16 2016-04-20 Общество с ограниченной ответственностью "Аби Девелопмент" Способы и системы эффективного автоматического распознавания символов с использованием леса решений

Also Published As

Publication number Publication date
US20180157906A1 (en) 2018-06-07
US10198628B2 (en) 2019-02-05

Similar Documents

Publication Publication Date Title
RU2640296C1 (ru) Способ и устройство для определения пригодности документа для оптического распознавания символов (ocr) на сервере
RU2634195C1 (ru) Способ и устройство для определения пригодности документа для оптического распознавания символов (ocr)
RU2635259C1 (ru) Способ и устройство для определения типа цифрового документа
JP6115323B2 (ja) 文書処理装置、文書処理方法およびスキャナー
RU2571545C1 (ru) Классификация изображений документов на основании контента
EP2549736B1 (en) Image processing device and method
JPH11338976A (ja) 文書画像認識装置、その方法、及び記録媒体
US11694459B2 (en) On-device partial recognition systems and methods
JP2019524007A (ja) 動画圧縮方法及び装置、並びにこれに対するコンピュータプログラム
US10885308B2 (en) Method and apparatus for evaluating illumination condition in face image
WO2017138947A1 (en) Compressing each object in an electronic document
US9380316B2 (en) Image processing apparatus, image processing system and image processing method
EP3156943A1 (en) Method and device for clustering patches of a degraded version of an image
CN111047657A (zh) 图片压缩方法、装置、介质及电子设备
CN111291619A (zh) 一种在线识别理赔单据中文字的方法、装置及客户端
US20150268913A1 (en) Image processing system, image processing device, and processing control device
KR20180035746A (ko) 문서 이미지를 최적화하는 방법, 장치 및 컴퓨터-판독가능 매체
US9596380B1 (en) Methods and systems for image compression
US9639788B2 (en) Raster image processor methods and systems
RU2571510C2 (ru) Метод и устройство, использующие увеличение изображения для подавления визуально заметных дефектов на изображении
CN117372933B (zh) 图像去冗方法、装置及电子设备
WO2018196614A1 (zh) 图片转码方法、计算设备及存储介质
KR102543025B1 (ko) 이미지 데이터의 포맷 변환 방법 및 장치
KR101826039B1 (ko) 문서 이미지를 최적화하는 방법, 장치 및 컴퓨터-판독가능 매체
US20240013426A1 (en) Image processing system and method for image processing

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