ОБЛАСТЬ ТЕХНИКИ
[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 может быть определено как:
[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] Изменения и усовершенствования указанных выше вариантов реализации настоящей технологии будут очевидны для специалистов в данной области техники. Приведенное выше описание представлено в виде примера, но не в качестве ограничения. Следовательно, область применения настоящей технологии ограничена исключительно объемом прилагаемой формулы изобретения.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ И УСТРОЙСТВО ДЛЯ ОПРЕДЕЛЕНИЯ ПРИГОДНОСТИ ДОКУМЕНТА ДЛЯ ОПТИЧЕСКОГО РАСПОЗНАВАНИЯ СИМВОЛОВ (OCR) | 2016 |
|
RU2634195C1 |
СПОСОБ И УСТРОЙСТВО ДЛЯ ОПРЕДЕЛЕНИЯ ТИПА ЦИФРОВОГО ДОКУМЕНТА | 2016 |
|
RU2635259C1 |
УЛУЧШЕНИЕ КОНТРАСТА И СНИЖЕНИЕ ШУМА НА ИЗОБРАЖЕНИЯХ, ПОЛУЧЕННЫХ С КАМЕР | 2017 |
|
RU2721188C2 |
ОПРЕДЕЛЕНИЕ НАПРАВЛЕНИЯ СТРОК ТЕКСТА | 2016 |
|
RU2633182C1 |
ИЗВЛЕЧЕНИЕ НЕСКОЛЬКИХ ДОКУМЕНТОВ ИЗ ЕДИНОГО ИЗОБРАЖЕНИЯ | 2020 |
|
RU2764705C1 |
РЕКОНСТРУКЦИЯ ДОКУМЕНТА ИЗ СЕРИИ ИЗОБРАЖЕНИЙ ДОКУМЕНТА | 2017 |
|
RU2659745C1 |
ОБУЧЕНИЕ ЯЗЫКОВЫХ МОДЕЛЕЙ С ИСПОЛЬЗОВАНИЕМ ТЕКСТОВЫХ КОРПУСОВ, СОДЕРЖАЩИХ РЕАЛИСТИЧНЫЕ ОШИБКИ ОПТИЧЕСКОГО РАСПОЗНАВАНИЯ СИМВОЛОВ (OCR) | 2019 |
|
RU2721187C1 |
БЕССЛЕДНЫЙ ЗАХВАТ ИЗОБРАЖЕНИЯ С ПОМОЩЬЮ МОБИЛЬНОГО УСТРОЙСТВА | 2020 |
|
RU2787136C2 |
СПОСОБЫ И СИСТЕМЫ ИДЕНТИФИКАЦИИ ПОЛЕЙ В ДОКУМЕНТЕ | 2020 |
|
RU2760471C1 |
УСТРАНЕНИЕ ИСКРИВЛЕНИЙ ИЗОБРАЖЕНИЯ ДОКУМЕНТА | 2016 |
|
RU2621601C1 |
Изобретение относится к средствам анализа цифрового изображения документа в вычислительной системе. Технический результат заключается в расширении арсенала технических средств анализа цифрового изображения документа. Вычислительная система, включающая: электронное устройство пользователя; сервер, к которому электронное устройство пользователя имеет доступ через сеть связи, этот сервер настроен на выполнение на сервере обработки OCR цифрового изображения для создания документа с распознанным текстом. В способе, исполняемом электронным устройством пользователя, выполняют этапы: получение пользовательским электронным устройством цифрового изображения документа; анализ с помощью классификатора, исполняемого электронным устройством пользователя, параметра качества OCR сжатого цифрового изображения, которое было получено из цифрового изображения путем использования алгоритма сжатия и параметра сжатия; для параметра качества OCR выше или равного заданному пороговому значению: передачу сжатого цифрового изображения на сервер для выполнения OCR на сервере. 3 н. и 26 з.п. ф-лы, 8 ил.
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 на сервере.
US 20100166309 A1, 01.07.2010 | |||
US 20150379043 A1, 31.12.2015 | |||
СПОСОБЫ И СИСТЕМЫ ОБРАБОТКИ ИЗОБРАЖЕНИЙ МАТЕМАТИЧЕСКИХ ВЫРАЖЕНИЙ | 2014 |
|
RU2596600C2 |
СПОСОБЫ И СИСТЕМЫ ЭФФЕКТИВНОГО АВТОМАТИЧЕСКОГО РАСПОЗНАВАНИЯ СИМВОЛОВ С ИСПОЛЬЗОВАНИЕМ ЛЕСА РЕШЕНИЙ | 2014 |
|
RU2582064C1 |
ОБРАБОТКА ДОКУМЕНТА С ИСПОЛЬЗОВАНИЕМ НЕСКОЛЬКИХ ПОТОКОВ ОБРАБОТКИ | 2014 |
|
RU2579899C1 |
МЕТОД И УСТРОЙСТВО, ИСПОЛЬЗУЮЩИЕ УВЕЛИЧЕНИЕ ИЗОБРАЖЕНИЯ ДЛЯ ПОДАВЛЕНИЯ ВИЗУАЛЬНО ЗАМЕТНЫХ ДЕФЕКТОВ НА ИЗОБРАЖЕНИИ | 2013 |
|
RU2571510C2 |
US 20160092754 A1, 31.03.2016 | |||
US 9444924 B2, 13.09.2016 | |||
US 9063953 B2, 13.09.2016 | |||
US 8873890 B2, 28.10.2014. |
Авторы
Даты
2017-12-27—Публикация
2016-12-06—Подача