RU2792722C1 - Splitting images into separate color layers - Google Patents

Splitting images into separate color layers Download PDF

Info

Publication number
RU2792722C1
RU2792722C1 RU2021136357A RU2021136357A RU2792722C1 RU 2792722 C1 RU2792722 C1 RU 2792722C1 RU 2021136357 A RU2021136357 A RU 2021136357A RU 2021136357 A RU2021136357 A RU 2021136357A RU 2792722 C1 RU2792722 C1 RU 2792722C1
Authority
RU
Russia
Prior art keywords
monochrome
image
patch
document image
clusters
Prior art date
Application number
RU2021136357A
Other languages
Russian (ru)
Inventor
Иван Германович Загайнов
Вадим Хакимович Михонов
Original Assignee
АБИ Девелопмент Инк.
Filing date
Publication date
Application filed by АБИ Девелопмент Инк. filed Critical АБИ Девелопмент Инк.
Priority to US17/546,652 priority Critical patent/US20230186592A1/en
Application granted granted Critical
Publication of RU2792722C1 publication Critical patent/RU2792722C1/en

Links

Images

Abstract

FIELD: image processing.
SUBSTANCE: method, a data carrier and an image processing system. The method for obtaining a document image by a data processing device; dividing the document image into a plurality of patches, each of which is an image area containing an image object; determining for each patch whether the given patch is monochrome or non-monochrome; clustering the plurality of monochrome patches into a plurality of clusters in a colour space, each cluster corresponding to one colour layer of the plurality of colour layers of the document image; segmenting each non-monochrome patch into a corresponding set of monochrome segments; linking, for each non-monochrome patch, each monochrome segment of the corresponding plurality of monochrome segments to a cluster of the plurality of clusters; and using the plurality of clusters to perform the task of extracting information from the document image.
EFFECT: increasing the accuracy of object recognition in the image by dividing the image into colour layers and extracting information from the image using the selected colour layers.
20 cl, 10 dwg

Description

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

[0001] Варианты осуществления изобретения в целом относятся к компьютерным системам, а в частности - к системам и способам обработки изображений. В частности, варианты осуществления настоящего изобретения относятся к разделению изображения на отдельные цветовые слои для последующей обработки изображения и извлечения информации из этих слоев.[0001] Embodiments of the invention generally relate to computer systems, and in particular to image processing systems and methods. In particular, embodiments of the present invention relate to dividing an image into separate color layers for post-processing of the image and extracting information from these layers.

УРОВЕНЬ ТЕХНИКИBACKGROUND OF THE INVENTION

[0002] При обработке документов и изображений часто встречаются изображения документов, содержащие более одного слоя записанной информации. Например, в настоящее время документы и изображения, содержащие дополнительные объекты, такие как штампы, печати, оттиски, сепараторы/разделители и другую информацию в дополнение к тексту, становятся все более распространенными. В таких типах документов и изображений может возникнуть проблема с оптическим распознаванием символов (OCR), когда печати (или другие объекты) расположены поверх текста и перекрывают его. Таким образом, наличие таких объектов, содержащих информацию, наложенную поверх других объектов или текста, который уже находился на поверхности документа или изображения, может помешать процессу оптического распознавания символов и снизить его качество и точность (например, печать на более высоком слое изображения поверх текста на нижнем слое изображения).[0002] In document and image processing, it is common to see document images containing more than one layer of recorded information. For example, nowadays documents and images containing additional objects such as stamps, seals, impressions, separators/separators and other information in addition to text are becoming more common. In these types of documents and images, optical character recognition (OCR) problems can occur when stamps (or other objects) are placed on top of the text and overlap it. Thus, the presence of such objects containing information superimposed on top of other objects or text that was already on the surface of a document or image can interfere with the OCR process and reduce its quality and accuracy (for example, printing on a higher image layer on top of text on the bottom layer of the image).

РАСКРЫТИЕ ИЗОБРЕТЕНИЯDISCLOSURE OF THE INVENTION

[0003] Варианты осуществления настоящего изобретения описывают механизмы разделения изображения документа на отдельные цветовые слои.[0003] Embodiments of the present invention describe mechanisms for dividing a document image into separate color layers.

[0004] Способ, применяемый в настоящем изобретении, включает в себя получение устройством обработки данных изображения документа, разделение изображения документа на множество патчей и определение для каждого патча, является ли данный патч монохромным или не монохромным (полихромным, многоцветным). Он также включает в себя кластеризацию множества монохромных патчей на множество кластеров в цветовом пространстве, где каждый кластер соответствует цветовому слою из множества цветовых слоев изображения документа, а также сегментирование/сегментацию каждого не монохромного патча на соответствующее множество монохромных сегментов. Способ также включает в себя связывание/ассоциирование, для каждого не монохромного патча, каждого монохромного сегмента соответствующего множества монохромных сегментов с одним кластером из множества кластеров и использование множества кластеров для выполнения задачи извлечения информации из изображения документа.[0004] The method used in the present invention includes obtaining a document image data processing device, dividing the document image into a plurality of patches, and determining for each patch whether the given patch is monochrome or non-monochrome (polychrome, multicolor). It also includes clustering a plurality of monochrome patches into a plurality of clusters in a color space, where each cluster corresponds to a color layer from a plurality of color layers in a document image, and segmenting/segmenting each non-monochrome patch into a corresponding plurality of monochrome segments. The method also includes linking/associating, for each non-monochrome patch, each monochrome segment of a corresponding plurality of monochrome segments with one cluster of the plurality of clusters, and using the plurality of clusters to perform the task of extracting information from a document image.

[0005] Система, используемая в изобретении, включает в себя память и процессор, связанный с памятью, при этом процессор сконфигурирован для получения изображения документа, разделения изображения документа на множество патчей и определения для каждого патча, является ли данный патч монохромным или не монохромным. Кроме того, конфигурация процессора обеспечивает кластеризацию множества монохромных патчей на множество кластеров в цветовом пространстве, где каждый кластер соответствует цветовому слою из множества цветовых слоев изображения документа, а также сегментирование каждого не монохромного патча на соответствующее множество монохромных сегментов. Конфигурация процессора также обеспечивает связывание, для каждого не монохромного патча, каждого монохромного сегмента соответствующего множества монохромных сегментов с одним кластером из множества кластеров и использование множества кластеров для выполнения задачи извлечения информации из изображения документа.[0005] The system used in the invention includes a memory and a processor coupled to the memory, the processor configured to acquire a document image, divide the document image into a plurality of patches, and determine for each patch whether a given patch is monochrome or non-monochrome. In addition, the processor configuration provides for clustering a plurality of monochrome patches into a plurality of clusters in a color space, where each cluster corresponds to a color layer from a plurality of color layers of the document image, as well as segmenting each non-monochrome patch into a corresponding plurality of monochrome segments. The processor configuration also provides for associating, for each non-monochrome patch, each monochrome segment a corresponding plurality of monochrome segments with one cluster of the plurality of clusters, and using the plurality of clusters to perform the task of extracting information from the document image.

[0006] Энергонезависимый машиночитаемый носитель данных в настоящем изобретении включает в себя команды/инструкции, которые при доступе к ним устройством обработки данных вынуждают устройство обработки данных принимать изображение документа, разделять изображение документа на множество патчей и определять для каждого патча, является ли данный патч монохромным или не монохромным. К тому же команды вынуждают устройство обработки данных выполнять кластеризацию множества монохромных патчей на множество кластеров в цветовом пространстве, где каждый кластер соответствует цветовому слою из множества цветовых слоев изображения документа, а также сегментирование каждого не монохромного патча на соответствующее множество монохромных сегментов. Дополнительно команды вынуждают устройство обработки данных обеспечивать связывание, для каждого не монохромного патча, каждого монохромного сегмента соответствующего множества монохромных сегментов с одним кластером из множества кластеров и использование множества кластеров для выполнения задачи извлечения информации из изображения документа.[0006] The non-volatile computer-readable storage medium of the present invention includes commands/instructions that, when accessed by a processing device, cause the processing device to receive a document image, divide the document image into a plurality of patches, and determine for each patch whether the given patch is monochrome or non-monochrome. In addition, the instructions cause the data processing device to cluster the plurality of monochrome patches into a plurality of clusters in a color space, where each cluster corresponds to a color layer from the plurality of color layers of the document image, and segment each non-monochrome patch into a corresponding plurality of monochrome segments. Additionally, the commands cause the data processor to associate, for each non-monochrome patch, each monochrome segment of the corresponding set of monochrome segments with one cluster of the set of clusters, and use the set of clusters to perform the task of extracting information from the document image.

[0007] Эти и другие элементы и признаки станут более ясными в последующем подробном описании иллюстративных реализаций и вариантов осуществления настоящего изобретения, которое следует рассматривать вместе с прилагаемыми чертежами.[0007] These and other elements and features will become clearer in the following detailed description of illustrative implementations and embodiments of the present invention, which should be considered in conjunction with the accompanying drawings.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

[0008] Изобретение станет более понятным из подробного описания, приведенного ниже, и из прилагаемых чертежей различных вариантов осуществления изобретения. Однако чертежи не должны использоваться с целью ограничения изобретения конкретными вариантами осуществления. Чертежи предназначены только для пояснения и понимания.[0008] The invention will become more apparent from the detailed description below and from the accompanying drawings of various embodiments of the invention. However, the drawings should not be used to limit the invention to particular embodiments. The drawings are for illustration and understanding purposes only.

[0009] На Фиг. 1 представлена блок-схема способа разделения изображения документа на отдельные цветовые слои для извлечения информации в соответствии с вариантом осуществления настоящего изобретения.[0009] In FIG. 1 is a flow diagram of a method for dividing a document image into separate color layers for extracting information, in accordance with an embodiment of the present invention.

[0010] На Фиг. 2A показан пример серии корректировок свойств документа в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0010] In FIG. 2A shows an example of a series of document property adjustments in accordance with some embodiments of the present invention.

[0011] На Фиг. 2B показан пример диаграммы генерирования карты порогов в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0011] In FIG. 2B shows an example of a threshold map generation diagram in accordance with some embodiments of the present invention.

[0012] На Фиг. 3 представлена схема примера изображения документа, разделенного на патчи, в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0012] In FIG. 3 is a diagram of an example image of a document divided into patches, in accordance with some embodiments of the present invention.

[0013] На Фиг. 4 представлена блок-схема способа классификации патчей в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0013] In FIG. 4 is a flow diagram of a method for classifying patches in accordance with some embodiments of the present invention.

[0014] На Фиг. 5 представлена блок-схема кластеризации патчей в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0014] In FIG. 5 is a block diagram of patch clustering in accordance with some embodiments of the present invention.

[0015] На Фиг. 6 показана схема цветового слоя примерного изображения документа в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0015] In FIG. 6 shows a color layer diagram of an exemplary document image, in accordance with some embodiments of the present invention.

[0016] На Фиг. 7 показана схема цветового слоя примерного изображения документа в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0016] In FIG. 7 shows a color layer diagram of an exemplary document image in accordance with some embodiments of the present invention.

[0017] На Фиг. 8 показана схема цветового слоя примерного изображения документа в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0017] In FIG. 8 shows a color layer diagram of an exemplary document image in accordance with some embodiments of the present invention.

[0018] На Фиг. 9 представлена блок-схема компьютерной системы в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0018] In FIG. 9 is a block diagram of a computer system in accordance with some embodiments of the present invention.

ПОДРОБНОЕ ОПИСАНИЕDETAILED DESCRIPTION

[0019] Настоящее изобретение описывает способы и системы для разделения изображения документа на отдельные цветовые слои, которые можно использовать для извлечения информации из изображения документа. Учитывая распространение документов с несколькими слоями информации, записанными один на другом (например, текст, введенный в форму, а затем заверенный печатью, наложенной поверх текста и поля формы), возникают трудности с выполнением задачи оптического распознавания символов (OCR). В документах, где несколько слоев информации, таких как текст и объекты, перекрывают друг друга или накладываются друг на друга, уровень качества и точности операций оптического распознавания символов значительно снижается.[0019] The present invention describes methods and systems for dividing a document image into separate color layers that can be used to extract information from a document image. Given the proliferation of documents with multiple layers of information written one on top of the other (for example, text entered into a form and then stamped over the text and form field), difficulties arise in performing an optical character recognition (OCR) task. In documents where multiple layers of information, such as text and objects, overlap or overlap each other, the level of quality and accuracy of OCR operations is greatly reduced.

[0020] В ситуациях, когда документы содержат несколько слоев наложенной информации, разные типы информации могут быть выражены с помощью знаков разных цветов в изображении документа. Например, документы-формы могут представлять собой заполняемые формы с различными полями и метками полей с инструкциями по заполнению форм, а также разделителями и другими разделяющими элементами, определяющими заполняемые поля. Некоторые цветные документы-формы (например, формы с исключением цветов (color dropout)), где поля, инструкции, разделители полей и другие элементы могут быть представлены одним цветом, а текст или другая информация, введенная в форму и ее соответствующие поля, представлены другим цветом (т.е. записи полей имеют другой цвет, чем остальная часть документа-формы). Однако в некоторых ситуациях введенный текст или информация могут пересекаться с разделяющими элементами (например, с разделителями полей формы) документа-формы, а также полями и текстом с инструкциями документа-формы. Точно также штампы или подписи, которые наносятся на документ после его заполнения, могут перекрываться как с информацией, введенной в документ-форму, так и с полями и элементами самого документа-формы. В этих ситуациях распознавание символов существенно усложняется, поскольку перекрывающиеся элементы мешают процессу оптического распознавания символов.[0020] In situations where documents contain multiple layers of overlay information, different types of information can be expressed using characters of different colors in the image of the document. For example, form documents can be fillable forms with various fields and field labels with instructions for filling out the forms, as well as separators and other separating elements that define the fillable fields. Some color form documents (for example, color dropout forms) where fields, instructions, field separators, and other elements may be represented in one color, but text or other information entered on the form and its corresponding fields are represented in a different color color (i.e. field entries have a different color than the rest of the form document). However, in some situations, the entered text or information may overlap with separating elements (for example, form field separators) of the form document, as well as fields and text with instructions on the form document. In the same way, stamps or signatures that are applied to a document after it is filled out can overlap both with the information entered in the form document and with the fields and elements of the form document itself. In these situations, character recognition becomes much more difficult because the overlapping elements interfere with the OCR process.

[0021] Аспекты и варианты осуществления настоящего изобретения направлены на устранение вышеупомянутых недостатков и проблем существующей технологии и представляют новые подходы и механизмы для разделения изображения документа на множество цветовых слоев для последующего выполнения более точных и более эффективных операций оптического распознавания символов с целью извлечения информации.[0021] Aspects and embodiments of the present invention address the aforementioned shortcomings and problems of existing technology and provide new approaches and mechanisms for dividing a document image into multiple color layers for subsequent performance of more accurate and more efficient OCR operations to extract information.

[0022] Примечательно, что для целей оптического распознавания символов или извлечения информации данные из разных слоев документа могут иметь различную важность. Например, может потребоваться получить информацию, содержащуюся только в одном из слоев изображения документа. Довольно часто желаемая информация присутствует на изображении документа в одном или нескольких цветах, визуально похожих друг на друга. В таких случаях достаточно разделить изображение документа на отдельные цветовые слои, чтобы иметь возможность выполнять оптическое распознавание символов на цветовом слое, содержащем необходимую информацию.[0022] It is noteworthy that for the purposes of optical character recognition or information extraction, data from different layers of the document may have different importance. For example, you may want to retrieve information that is contained in only one of the layers in a document's image. Quite often, the desired information is present on the image of the document in one or more colors that are visually similar to each other. In such cases, it is sufficient to divide the document image into separate color layers in order to be able to perform optical character recognition on the color layer containing the necessary information.

[0023] С другой стороны, в других ситуациях может быть желательно извлечь информацию, содержащуюся в нескольких слоях изображения документа. В этих случаях значительно проще и эффективнее выполнять оптическое распознавание символов или другие операции извлечения информации отдельно для каждого слоя. Элементы изображения документа вместе с их координатами на изображении документа могут использоваться для связывания записей полей с метками полей (например, для идентификации, к какому полю или категории относится информация, содержащаяся в данном элементе). Такие связи особенно полезны для извлечения структурированной информации из документов.[0023] On the other hand, in other situations it may be desirable to extract information contained in multiple layers of a document image. In these cases, it is much easier and more efficient to perform optical character recognition or other information extraction operations separately for each layer. Document image elements, together with their document image coordinates, can be used to associate field records with field labels (for example, to identify which field or category the information contained in the element belongs to). Such links are especially useful for extracting structured information from documents.

[0024] Используемый здесь термин «документ» может относиться к любому типу документа, включая, например, счета-фактуры, документы, удостоверяющие личность, чеки, кредитные заявки, банковские документы, соглашения, одно- или многостраничные документы, коносаменты, акты, бухгалтерские документы, финансовые отчеты, патенты, отчеты о патентном поиске, а также любые другие документы, которые часто хранятся на предприятиях в бумажной или отсканированной форме.[0024] As used herein, the term "document" may refer to any type of document, including, for example, invoices, identification documents, cheques, loan applications, bank documents, agreements, one- or multi-page documents, bills of lading, deeds, accounting documents, financial statements, patents, patent search reports, and any other documents that are often kept by businesses in paper or scanned form.

[0025] На Фиг. 1 представлена блок-схема способа 100 разделения изображения документа на отдельные цветовые слои для извлечения информации в соответствии с вариантом осуществления настоящего изобретения. В целом, операции, описанные в настоящем изобретении, могут включать в себя несколько процессов, в том числе получение или извлечение изображения документа в блоке 102 и выполнение корректировки его визуальных свойств, таких как выравнивание яркости/освещения, изменение контрастности в блоке 104 и бинаризацию (преобразование в двоичную форму) в блоке 106. Кроме того, варианты осуществления настоящего изобретения могут включать в себя поиск связных компонент в блоке 108, разделение изображения документа на патчи в блоке 110 и вычисление статистик в блоке 112 для каждого патча с последующей возможностью классификации патчей на монохромные или не монохромные (т.е. полихромные, многоцветные) в блоке 114 и кластеризацией в блоке 116. В некоторых вариантах осуществления изобретения кластеризация может быть основана на вычислении центроидов кластеров в цветовом пространстве, которое может соответствовать цветовому слою изображения документа. Кластеризация патчей может быть выполнена первоначально для монохромных патчей (участков), а не монохромные патчи могут быть сегментированы в блоке 118 на монохромные сегменты, каждый из которых затем может быть связан в блоке 120 с соответствующим кластером. Таким образом, отдельные цветовые слои изображения документа, каждый из которых соответствует разному кластеру монохромных патчей, а также монохромные сегменты не монохромных патчей могут быть идентифицированы в блоке 122 на данном исходном/входном изображении документа. Затем информация может быть извлечена в блоке 124 из одного или нескольких слоев изображения документа с использованием оптического распознавания символов или других методов извлечения информации.[0025] In FIG. 1 is a flow diagram of a method 100 for dividing a document image into separate color layers for extracting information, in accordance with an embodiment of the present invention. In general, the operations described in the present invention may include several processes, including obtaining or extracting an image of a document in block 102 and performing adjustments to its visual properties, such as brightness/illuminance equalization, contrast change in block 104, and binarization ( binarization) in block 106. In addition, embodiments of the present invention may include searching for related components in block 108, dividing the document image into patches in block 110, and calculating statistics in block 112 for each patch, and then being able to classify the patches into monochrome or non-monochrome (i.e., polychrome, multicolor) at block 114 and clustering at block 116. In some embodiments of the invention, clustering may be based on computing cluster centroids in a color space that may correspond to the color layer of the document image. Clustering of patches may be performed initially for monochrome patches (sections), and non-monochrome patches may be segmented at block 118 into monochrome segments, each of which may then be associated at block 120 with the appropriate cluster. Thus, individual color layers of a document image, each corresponding to a different cluster of monochrome patches, as well as monochrome segments of non-monochrome patches, can be identified at block 122 on a given source/input document image. Information may then be extracted at block 124 from one or more layers of the document image using optical character recognition or other information extraction techniques.

[0026] В следующем описании подробно объясняются признаки и элементы некоторых вариантов осуществления настоящего изобретения. Особое внимание уделяется основным аспектам разделения изображения документа на отдельные/обособленные цветовые слои для последующей обработки и анализа. В некоторых вариантах осуществления изобретения способ извлечения информации из изображения документа может включать в себя получение одного или нескольких изображений документа. Изображения документа могут быть получены с устройства (например, камеры или сканера), способного записывать цифровую копию документа с физической копии. В некоторых вариантах осуществления изобретения изображения документа могут быть извлечены из цифрового хранилища.[0026] The following description explains in detail the features and elements of some embodiments of the present invention. Particular attention is paid to the main aspects of the separation of the document image into separate / separate color layers for further processing and analysis. In some embodiments of the invention, a method for extracting information from an image of a document may include obtaining one or more images of the document. Images of a document can be captured from a device (such as a camera or scanner) capable of making a digital copy of the document from the physical copy. In some embodiments of the invention, document images may be retrieved from digital storage.

[0027] На Фиг. 2 показан пример серии корректировок свойств документа в соответствии с некоторыми вариантами осуществления настоящего изобретения. Изображение 202 документа показывает состояние изображения при его получении, в то время как изображение 204 документа и изображение 206 документа показывают состояние изображения, соответственно, после корректировки свойств и бинаризации. В некоторых вариантах осуществления изобретения документы могут представлять собой цветные документы-формы 202, содержащие записи в полях 211 формы, на которые наложены печати 213. Этот тип структуры часто можно увидеть в квитанциях и счетах. В частности, хотя нижеследующее описание будет сосредоточено на варианте осуществления изобретения, в котором задействован один одностраничный документ, различные аспекты описанных здесь вариантов осуществления изобретения могут быть в равной степени применимы к наборам из нескольких документов и к многостраничным документам.[0027] In FIG. 2 shows an example of a series of document property adjustments in accordance with some embodiments of the present invention. The document image 202 shows the state of the image when it was acquired, while the document image 204 and document image 206 show the state of the image, respectively, after property adjustment and binarization. In some embodiments, the documents may be color form documents 202 containing entries in form fields 211 overlaid with stamps 213. This type of structure is often seen on receipts and invoices. In particular, while the following description will focus on an embodiment of the invention involving a single single page document, various aspects of the embodiments described herein may be equally applicable to sets of multiple documents and to multipage documents.

[0028] Таким образом, в некоторых вариантах осуществления визуальные свойства полученного изображения 202 документа могут корректироваться. Это, в частности, подразумевает выполнение выравнивания яркости изображения 202 документа. Более конкретно, яркость изображения 202 документа изменяют так, чтобы области изображения документа, которые должны выглядеть белыми, но не выглядят таковыми, например, поле 211 формы, из-за неравномерного освещения, выглядели как истинно белые. Этого можно добиться разными способами, включая использование цифровых и электронных фильтров.[0028] Thus, in some embodiments, the visual properties of the resulting document image 202 can be adjusted. This, in particular, involves performing a brightness equalization of the document image 202 . More specifically, the brightness of the document image 202 is changed so that areas of the document image that should appear white but do not, such as a form field 211, appear true white due to uneven illumination. This can be achieved in many ways, including the use of digital and electronic filters.

[0029] Неравномерность (т.е. постепенные переходы от более темных областей к более светлым, плавные градиенты изменения яркости) представлена низкой частотой сигнала (т.е. низкой частотой изменения сигнала яркости). Напротив, основное содержимое изображения 202 документа (например, текст, печати/штампы, элементы формы, разделители и т.д.) представлено высокой частотой сигнала (т.е. сигнал яркости часто изменяется по величине, поскольку имеется много близко расположенных областей с чередованием темных и светлых участков). Соответственно, целью процесса выравнивания яркости является удаление или компенсация низкочастотной составляющей изображения и, таким образом, выравнивание яркости по всему изображению. Таким образом, яркость элементов, расположенных в более плохо освещенных областях изображения документа, также будет скорректирована. [0029] Non-uniformity (i.e., gradual transitions from darker areas to lighter areas, smooth brightness gradients) is represented by a low signal frequency (i.e., a low frequency of change in the luminance signal). In contrast, the main content of the document image 202 (e.g., text, seals/stamps, form elements, separators, etc.) is represented by a high signal frequency (i.e., the luminance signal often varies in magnitude because there are many closely spaced interlaced areas). dark and light areas). Accordingly, the goal of the luminance equalization process is to remove or compensate for the low frequency component of the image and thus equalize the luminance throughout the entire image. Thus, the brightness of elements located in more poorly lit areas of the document image will also be adjusted.

[0030] В различных вариантах осуществления можно использовать разнообразные фильтры для отфильтровывания высокочастотных компонентов от низкочастотных компонентов изображения 202 (например, медианный фильтр (median filter), фильтр верхних частот (high-pass filter), фильтр размытия по Гауссу (Gaussian blur filter), билатеральный фильтр (bilateral filter) и т.д.). После применения фильтра (например, медианного фильтра) будут удалены высокочастотные объекты / элементы, такие как текст, разделители и другие мелкие детали на изображении документа. На выходе фильтра может быть получено промежуточное изображение, содержащее только плавные изменения освещенности/интенсивности (т.е. информацию об изменениях яркости). Таким образом, в некоторых вариантах осуществления может применяться фильтр для удаления мелких детальных элементов из изображения 202 документа, оставляющий только фон с относительно плавными/постепенными изменениями яркости. Высокочастотные компоненты, удаленные фильтром, впоследствии могут быть восстановлены, поскольку именно эти компоненты могут использоваться для оптического распознавания символов и извлечения информации.[0030] In various embodiments, a variety of filters can be used to filter out the high frequency components from the low frequency components of the image 202 (e.g., median filter, high-pass filter, Gaussian blur filter), bilateral filter, etc.). After applying a filter (for example, a median filter), high-frequency objects / elements, such as text, separators and other small details in the document image, will be removed. At the output of the filter, an intermediate image can be obtained, containing only smooth changes in illumination/intensity (ie, information about changes in brightness). Thus, in some embodiments, a filter may be applied to remove fine detail from the document image 202, leaving only the background with relatively smooth/gradual changes in brightness. The high-frequency components removed by the filter can later be recovered, since these are the components that can be used for optical character recognition and information extraction.

[0031] В некоторых вариантах осуществления, в зависимости от типа используемого фильтра, может быть предпочтительно использован фильтр большего, а не меньшего радиуса везде, где такая опция имеется. Однако в другом варианте осуществления для увеличения скорости и точности фильтрации могут применяться другие способы оптимизации фильтрации. Например, размер изображения 202 документа перед применением фильтра может быть уменьшен. Затем может быть применен фильтр меньшего радиуса (поскольку изображение меньше), после чего промежуточное изображение, полученное после применения фильтра, может быть возвращено к его исходному размеру.[0031] In some embodiments, depending on the type of filter used, it may be preferable to use a filter with a larger rather than a smaller radius wherever such an option is available. However, in another embodiment, other filtration optimization techniques may be used to increase the speed and accuracy of the filtration. For example, the document image 202 may be reduced in size before the filter is applied. A smaller radius filter can then be applied (because the image is smaller), after which the intermediate image obtained after applying the filter can be returned to its original size.

[0032] Ниже описывается модификация свойства яркости изображения после применения вышеупомянутого фильтра к изображению 202 документа. Если I - начальная яркость канала (например, красный/зеленый/синий канал (RGB)) исходного изображения 202 документа, то после фильтрации оставшуюся компоненту яркости (т.е. яркости того же канала в промежуточном изображении, полученном после применения фильтра) можно обозначить как I'. Соответственно, изображение можно корректировать путем нормализации/нормирования низкочастотного сигнала. Например, в некоторых вариантах осуществления для каждого канала яркость рассчитывается по формуле I нов. = I/ I'. Таким образом, яркость исходного изображения 202 делится на компонент яркости, полученный после применения фильтра, чтобы получить новую яркость I нов , которая выравнивается по всему изображению 204 и не содержит градаций яркости освещения, сохраняя при этом детализацию таких элементов, как текст, печати, разделители и т.д. (которые могут быть важными элементами для последующего оптического распознавания символов и извлечения информации). Выравнивание яркости делает ранее более темные области исходного изображения 202 более яркими, а ранее более светлые области изображения более темными, чтобы выровнять интенсивность освещения по всему изображению 204.[0032] The modification of the brightness property of an image after applying the above filter to the document image 202 will be described below. If I is the initial luminance of a channel (e.g., the red/green/blue (RGB) channel) of the original document image 202, then after filtering, the remaining luminance component (i.e., the luminance of the same channel in the intermediate image obtained after applying the filter) can be denoted like I' . Accordingly, the image can be corrected by normalizing/normalizing the low frequency signal. For example, in some embodiments, for each channel, the brightness is calculated using the formula I new. = I/ I' . Thus, the luminance of the original image 202 is divided by the luminance component obtained after applying the filter to obtain a new luminance I new , which is equalized throughout the image 204 and does not contain lighting gradations, while maintaining the detail of elements such as text, seals, separators etc. (which can be important elements for subsequent optical character recognition and information extraction). Brightness equalization makes the previously darker areas of the original image 202 brighter and the previously lighter areas of the image darker to even out the light intensity across the entire image 204.

[0033] Описанный выше способ выравнивания яркости относится к обычно встречающимся документам со светлым или белым фоном. Соответственно, цвет фона корректируется по всему изображению так, чтобы цвет фона соответствовал истинному белому цвету, а остальные цвета изображения нормализовались соответствующим образом. Однако аналогичный процесс может быть выполнен с документами с темным фоном (т.е. с документами, в которых светлый текст и другая информация представлены на черном или темном фоне). В этих случаях исходное изображение сначала инвертируется по цвету, чтобы привести его в стандартное представление с темным текстом и другой информацией на светлом фоне. После этого вышеупомянутый процесс корректировки и выравнивания яркости может выполняться в соответствии с описанием.[0033] The brightness equalization method described above applies to commonly encountered documents with a light or white background. Accordingly, the background color is adjusted throughout the image so that the background color is true white, and the rest of the image colors are normalized accordingly. However, a similar process can be performed on documents with dark backgrounds (i.e., documents in which light text and other information is presented on a black or dark background). In these cases, the original image is first inverted in color to bring it into a standard representation with dark text and other information on a light background. Thereafter, the aforementioned brightness adjustment and equalization process can be performed as described.

[0034] В некоторых вариантах осуществления также можно корректировать контрастность изображения. Существуют различные алгоритмы изменения контрастности изображения, которые можно применять для улучшения четкости границ различных существенных элементов изображения документа. Однако алгоритмы, учитывающие неравномерность освещения, могут быть предпочтительнее других. В одном из вариантов осуществления может применяться адаптивное увеличение контрастности относительно локального среднего значения. Это применимо к документам с относительно простой версткой. В одном варианте осуществления для адаптивного увеличения контрастности на различных участках/областях изображения к такому изображению может быть применено гауссово окно с прокруткой (например, окно с размытыми / нечеткими краями и с плотностью, постепенно уменьшающейся в направлении от центра). [0034] In some embodiments, the image contrast can also be adjusted. There are various algorithms for changing the contrast of an image that can be applied to improve the sharpness of the boundaries of various essential elements of the image of a document. However, algorithms that take into account illumination unevenness may be preferable to others. In one embodiment, adaptive contrast enhancement relative to a local average may be applied. This applies to documents with relatively simple layout. In one embodiment, to adaptively increase contrast in different areas/regions of an image, a Gaussian scrolling window (eg, a window with blurry/fuzzy edges and with density gradually decreasing away from the center) can be applied to such an image.

[0035] Для документов с более сложной версткой такой алгоритм адаптивной бинаризации может генерировать карту порогов посредством итеративного пирамидального процесса, приведенного на Фиг. 2B, относительно которого увеличение контрастности приводит к улучшению визуального качества. Соответственно, в этих вариантах осуществления для генерирования карты порогов к изображению применяется итеративный процесс разложения. Например, в одном варианте осуществления разложение может начинаться в масштабе исходного изображения 262. Изображение может быть разделено на непересекающиеся блоки 263 одинакового заданного размера (например, квадраты 2×2 пикселя, квадраты 3×3 пикселя и т.д.). Для каждого из блоков 263 (например, квадратов пикселей) могут быть определены значения минимальной, максимальной и средней яркости пикселей, составляющих блок (например, для квадрата 2×2 можно определить яркость 4-х составляющих пикселей). Из этих значений могут быть сформированы три изображения: (i) изображение 272, содержащее минимальные значения, (ii) изображение 274, содержащее максимальные значения, и (iii) изображение 276, содержащее средние значения, каждое из которых будет в два раза меньше по горизонтали и вертикали относительно исходного (или предыдущего) изображения. Эту процедуру можно повторять для размещения получаемых в результате изображений в пирамидальной структуре 260 до тех пор, пока не будет достигнут уровень, на котором размер получаемого в результате изображения 282, 284, 286 станет не меньше необходимого минимального размера (например, 2×2 пикселя).[0035] For more complex layout documents, such an adaptive binarization algorithm can generate a threshold map through the iterative pyramidal process shown in FIG. 2B , relative to which an increase in contrast results in an improvement in visual quality. Accordingly, in these embodiments, an iterative decomposition process is applied to an image to generate a threshold map. For example, in one embodiment, decomposition may begin at the scale of the original image 262. The image may be divided into non-overlapping blocks 263 of the same predetermined size (eg, 2×2 pixel squares, 3×3 pixel squares, etc.). For each of the blocks 263 (eg, squares of pixels), the values of the minimum, maximum, and average brightness of the pixels that make up the block can be determined (for example, for a 2×2 square, the brightness of 4 constituent pixels can be determined). Three images can be generated from these values: (i) image 272 containing the minimum values, (ii) image 274 containing the maximum values, and (iii) image 276 containing the average values, each of which will be half the horizontal and vertical relative to the original (or previous) image. This procedure can be repeated to arrange the resulting images in the pyramidal structure 260 until a level is reached at which the size of the resulting image 282, 284, 286 is not less than the required minimum size (for example, 2×2 pixels) .

[0036] Таким образом, в некоторых вариантах осуществления с использованием вышеописанного пирамидального разложения 260 получают минимальные, максимальные и средние значения для исходных областей изображения в различных масштабах его представления. Способ построения карты порогов на основе пирамидального разложения может представлять собой многоступенчатый процесс. На нижнем уровне 282, 284, 286 пирамидального разложения, где изображение состоит только из нескольких пикселей, карта порогов может быть сгенерирована с использованием одного из двух следующих значений: (a) локальное среднее значение яркости пикселей этого участка изображения (т.е. яркость пикселя из изображения, сгенерированного из изображения 276, содержащего средние значения в пирамиде) или (b) среднее значение между локальным минимумом и максимумом (т.е. среднее значение яркости эквивалентного числа (например, 2) пикселей, взятых из изображения 272, сформированного из минимальных значений в пирамиде, и пикселей, взятых из изображения 274, сформированного из максимальных значений в пирамиде). Затем на следующем уровне разложения карта порогов может быть расширена в 2 раза как по горизонтали, так и по вертикали с использованием интерполяции со свертками [1 3], [3 1].[0036] Thus, in some embodiments, using the pyramidal decomposition 260 described above, the minimum, maximum, and average values are obtained for the original image areas at various representation scales. The method for constructing a threshold map based on a pyramid decomposition may be a multi-step process. At the lower level 282, 284, 286 of the pyramid decomposition, where the image consists of only a few pixels, a threshold map can be generated using one of the following two values: from the image generated from the image 276 containing the average values in the pyramid) or (b) the average value between the local minimum and maximum (i.e. the average value of the brightness of the equivalent number (for example, 2) pixels taken from the image 272 generated from the minimum values in the pyramid, and pixels taken from the image 274 formed from the maximum values in the pyramid). Then, at the next level of decomposition, the threshold map can be expanded by a factor of 2 both horizontally and vertically using interpolation with convolutions [1 3], [3 1].

[0037] Для каждого пикселя на каждом последующем уровне пирамидального разложения 260 может быть вычислена разность между значением пикселя из изображения 272, сформированного из минимальных значений в пирамиде, и изображения, сформированного из максимальных 274 значений в пирамиде. Если эта разница не превышает заранее определенного порогового значения (например, заранее определенного порогового значения шума, ниже которого информация считается незначительным шумом), можно предположить, что на этом участке изображения полезного сигнала нет, причем как на этом, так и на последующих уровнях пирамидального разложения 260. Следовательно, пороговое значение, полученное на предыдущем уровне разложения, можно оставить без изменений. В противном случае, если превышено предварительно определенное пороговое значение, может быть вычислено новое уточненное пороговое значение на основе комбинации (a) и (b) выше.[0037] For each pixel at each successive level of pyramid decomposition 260, the difference between the pixel value from the image 272 formed from the minimum values in the pyramid and the image formed from the maximum 274 values in the pyramid can be calculated. If this difference does not exceed a predetermined threshold value (for example, a predetermined noise threshold value below which information is considered insignificant noise), it can be assumed that there is no useful signal in this area of the image, both at this and at subsequent levels of pyramidal decomposition 260. Therefore, the threshold value obtained at the previous decomposition level can be left unchanged. Otherwise, if a predetermined threshold value is exceeded, a new refined threshold value may be calculated based on the combination of (a) and (b) above.

[0038] Вышеописанную процедуру можно повторять до тех пор, пока не будет достигнут такой уровень разложения, при котором участки 290 изображения, соответствующие пикселям в пирамиде, все еще больше самых маленьких элементов (например, букв, символов, чисел и т.д.), различаемых на изображении. В результате получается карта порогов, относительно которой увеличение контрастности не приводит к потере или удалению объектов различного размера, и при этом однородные участки на изображении не содержат шум. Соответственно, карта порогов используется для увеличения контрастности, чтобы яркость участков в каждом окне, где яркость выше порогового значения, усиливалась, а яркость участков в каждом окне, где яркость ниже порогового значения, уменьшалась для более четкого определения различных элементов изображения документа. В других вариантах осуществления для цветных изображений контраст может быть усилен для компоненты яркости (т.е. для компоненты серого в изображении) при одновременном уменьшении коэффициента усиления контрастности для насыщенных цветом участков изображения.[0038] The above procedure can be repeated until such a level of decomposition is reached that the areas 290 of the image corresponding to the pixels in the pyramid are still larger than the smallest elements (for example, letters, symbols, numbers, etc.) distinguishable in the image. The result is a threshold map, relative to which an increase in contrast does not lead to the loss or removal of objects of various sizes, and at the same time, homogeneous areas in the image do not contain noise. Accordingly, a threshold map is used to increase the contrast so that the areas in each window where the brightness is above the threshold are brightened, and the areas in each window where the brightness is below the threshold are dimmed to more clearly define the various image elements of the document. In other embodiments, for color images, the contrast may be increased for the luminance component (ie, for the gray component in the image) while reducing the contrast enhancement factor for color-saturated areas of the image.

[0039] В некоторых вариантах осуществления изображение документа может быть бинаризовано для создания черно-белого изображения 206. Процесс бинаризации - это преобразование цветного изображения или изображения в градациях серого в бинарное черно-белое изображение 206. Как более подробно описано далее, процесс бинаризации может выполняться различными способами, такими как, например, метод Отцу (т.е. глобальная бинаризация) и методы локальной адаптивной бинаризации (например, метод порогового значения Ниблэка и Совола (Niblack and Sauvola)). Одним из основных параметров этого преобразования является пороговое значение t, с которым сравнивается яркость / насыщенность каждого пикселя. После сравнения путем определения, является ли яркость данного пикселя ниже или выше порогового значения t, пикселю соответственно присваивается значение 0 или 1.[0039] In some embodiments, a document image may be binarized to create a black and white image 206. The binarization process is the conversion of a color or grayscale image to a binary black and white image 206. As described in more detail below, the binarization process may be performed in various ways, such as, for example, Ottu's method (i.e., global binarization) and local adaptive binarization methods (i.e., Niblack and Sauvola's thresholding method). One of the main parameters of this transformation is the threshold value t against which the brightness/saturation of each pixel is compared. After comparison by determining whether the brightness of a given pixel is below or above a threshold value t, the pixel is assigned a value of 0 or 1, respectively.

[0040] Бинаризованное изображение 206 может быть представлено в виде региона, представленного структурой данных, где соответствующий регион имеет максимальные значения (т.е. значения, равные 1) в структуре данных. Соответственно, регионом можно считать все черные части бинаризованного изображения, содержащие весь текст, объекты, разделители и т.д. (т.е. значимые объекты изображения). Другими словами, регион - это маска значимых элементов, присутствующих на изображении документа. Эта маска содержит элементы, которые можно использовать для последующего оптического распознавания символов и извлечения информации. В частности, вышеупомянутый процесс бинаризации также может быть далее использован для получения масок для каждого цветового слоя изображения. Например, белые пиксели в бинаризованном изображении документа могут быть автоматически связаны с фоновым слоем по всем каналам. Соответственно, после бинаризации изображение 206 может быть разделено на два класса пикселей: пиксели фона и пиксели, принадлежащие объектам / элементам изображения документа.[0040] The binarized image 206 may be represented as a region represented by a data structure, where the corresponding region has the maximum values (ie, values equal to 1) in the data structure. Accordingly, a region can be considered all black parts of a binarized image, containing all text, objects, separators, etc. (i.e. meaningful image objects). In other words, a region is a mask of significant elements present in the document image. This mask contains elements that can be used for subsequent optical character recognition and information extraction. In particular, the above binarization process can also be further used to obtain masks for each color layer in an image. For example, white pixels in a binarized document image can be automatically associated with the background layer across all channels. Accordingly, after binarization, the image 206 can be divided into two classes of pixels: background pixels and pixels belonging to document image objects/elements.

[0041] В некоторых вариантах осуществления связные компоненты могут быть выявлены в изображении документа и проанализированы. В этих вариантах осуществления связные компоненты выявляются в бинаризованном изображении документа, после чего они могут быть проанализированы для определения их соответствующих размеров. Выявление и анализ связных компонент может облегчить разделение изображения на патчи, как показано на Фиг. 3. Связная компонента - это объект, пиксели которого примыкают к соседним пикселям. Связность может быть определена смежностью с другими пикселями в любом из четырех направлений (например, влево, вправо, вверх, вниз) или в любом из восьми направлений, если дополнительные четыре диагональных направления рассматриваются как возможные связи между начальными четырьмя направлениями. В случае, если пара пикселей не имеет каких-либо соседних связанных пикселей между ними, можно определить, что эти пиксели принадлежат разным связным компонентам. Например, число «12» включает две отдельных связных компоненты «1» и «2», в то время как буква «B» сформирована одной связной компонентой. Соответственно, если элементы на бинаризованном изображении документа перекрываются, пересекаются, сливаются, соприкасаются или иным образом связаны друг с другом каким-либо образом, их можно рассматривать как часть единой связной компоненты.[0041] In some embodiments, cohesive components can be identified in a document image and analyzed. In these embodiments, connected components are identified in a binarized document image, after which they can be analyzed to determine their respective sizes. The identification and analysis of connected components can facilitate the division of an image into patches, as shown in FIG. 3 . A connected component is an object whose pixels are adjacent to neighboring pixels. Connectivity can be defined by adjacencies to other pixels in any of the four directions (eg, left, right, up, down) or in any of the eight directions if the additional four diagonal directions are considered as possible links between the initial four directions. In case a pair of pixels does not have any neighboring connected pixels between them, it can be determined that these pixels belong to different connected components. For example, the number "12" includes two separate connected components "1" and "2", while the letter "B" is formed by one connected component. Accordingly, if elements in a binarized document image overlap, intersect, merge, touch, or otherwise relate to each other in any way, they can be considered part of a single cohesive component.

[0042] Затем, в некоторых вариантах осуществления, может быть определен размер идентифицированных связных компонент, на основе которого будет определяться конкретный размер соответствующего патча для разделения изображения документа. Патч можно понимать, как непересекающуюся прямоугольную область, содержащую связную компоненту. Размер патча может быть таким же или немного больше, чем размер соответствующей связной компоненты, чтобы каждый патч полностью включал в себя соответствующую связную компоненту. Соответственно, в одном из вариантов осуществления каждая связная компонента может быть заключена в отчетливый отдельный патч. В таком варианте осуществления меньший патч, заключающий в себе маленькую связную компоненту, может содержаться в более крупном патче, заключающем в себе более крупную связную компоненту. Например, как показано, изображение 300 документа разделено на различные патчи разного размера. Область 310 содержит связные элементы, полностью содержащиеся в патчах 312.[0042] Then, in some embodiments, the size of the identified connected components can be determined, based on which the specific size of the corresponding patch for separating the document image will be determined. A patch can be understood as a non-overlapping rectangular area containing a connected component. The patch size can be the same or slightly larger than the size of the corresponding connected component, so that each patch completely includes the corresponding connected component. Accordingly, in one embodiment, each connected component may be enclosed in a distinct individual patch. In such an embodiment, a smaller patch containing a small connected component may be contained within a larger patch containing a larger connected component. For example, as shown, the document image 300 is divided into different patches of different sizes. Area 310 contains the related elements contained entirely in patches 312.

[0043] В другом варианте осуществления размеры различных связных компонент изображения документа могут быть кластеризованы в заранее определенное количество кластеров, а средний размер связной компоненты в наиболее репрезентативном/характерном кластере (т.е. в кластере с наибольшим количеством элементов) может быть выбран в качестве репрезентативного/типового размера патча. В этом варианте осуществления связные компоненты могут быть покрыты патчами типичного размера; при этом все связанные компоненты покрываются / охвачены по крайней мере одним патчем, и, если отдельный патч не охватывает данную связную компоненту, он покрывается несколькими непересекающимися патчами.[0043] In another embodiment, the sizes of the various connected components of a document image may be clustered into a predetermined number of clusters, and the average size of the connected component in the most representative/typical cluster (i.e., the cluster with the most elements) may be chosen as representative/typical patch size. In this embodiment, the connected components may be covered with patches of a typical size; in this case, all connected components are covered / covered by at least one patch, and if a single patch does not cover a given connected component, it is covered by several non-overlapping patches.

[0044] Таким образом, изображение документа разбивается на патчи, содержащие связные компоненты. В частности, патчи содержат некоторые важные элементы изображения документа, а не исключительно пустые / белые области. В результате патч 312 может содержать элементы или пиксели одного цвета, или же патч 322 может содержать элементы и пиксели нескольких цветов. Чтобы разделить изображение документа на разные цветовые слои, патчи 312, содержащие один и тот же цвет (монохромные патчи), могут быть идентифицированы и соотнесены с соответствующим цветовым слоем. Оставшиеся патчи, такие как патчи 322 в области 320, где связные области штампа перекрывают связные области нижележащего текста и элементов документа-формы, будут не монохромными / полихромными и впоследствии могут быть сегментированы, а их сегменты связаны с соответствующим цветом.[0044] Thus, the document image is divided into patches containing connected components. In particular, patches contain some important elements of the document's image, rather than exclusively empty/white areas. As a result, patch 312 may contain elements or pixels of a single color, or patch 322 may contain elements and pixels of multiple colors. In order to separate a document image into different color layers, patches 312 containing the same color (monochrome patches) can be identified and assigned to the respective color layer. The remaining patches, such as patches 322 in region 320, where the associated stamp areas overlap the associated areas of the underlying text and form document elements, will be non-mono/poly and may subsequently be segmented and their segments associated with the corresponding color.

[0045] Как показано на Фиг. 4, для достижения этой цели, первоначально в рамках способа 400, в блоке 402 может выполняться вычисление различных статистических характеристик (статистик) для набора патчей. После этого, как более подробно описано ниже, патчи могут быть классифицированы в блоке 404 согласно рассчитанной статистике. Например, в одном из вариантов осуществления скорректированное/выровненное изображение документа (т.е. изображение, которое подверглось изменению уровня яркости и контрастности) может быть преобразовано из пространства «красный-зеленый-синий» (RGB) в пространство «тон-насыщенность-значение» (HSV). Кроме того, цилиндрическую модель пространства «тон-насыщенность-значение» (HSV) можно модифицировать, сжав ее по оси «Значение» и преобразовав координаты в декартовы координаты; тогда расстояние между точками в пространстве можно рассчитать как расстояние в евклидовом пространстве (т.е. евклидово расстояние (H 2 +S 2 +cV 2 ) , где H - значение цвета, S - значение насыщенности, V - значение яркости, а c - коэффициент для уменьшения важности / веса значения яркости V и, таким образом, сжимая цилиндр по оси V). Этот расчет расстояния, как более подробно описано ниже, можно использовать для вычисления центроидов, расстояния в цветовом пространстве, а также других статистических показателей для патчей.[0045] As shown in FIG. 4 , to achieve this goal, initially within method 400, at block 402, various statistics can be computed for a set of patches. Thereafter, as described in more detail below, the patches may be classified at block 404 according to the calculated statistics. For example, in one embodiment, an adjusted/aligned document image (i.e., an image that has undergone changes in brightness and contrast levels) can be converted from Red-Green-Blue (RGB) space to Hue-Saturation-Value » (HSV). In addition, the cylindrical hue-saturation-value (HSV) space model can be modified by shrinking it along the Value axis and converting the coordinates to Cartesian coordinates; then the distance between points in space can be calculated as the distance in Euclidean space (i.e. Euclidean distance (H 2 +S 2 +cV 2 ) , where H is the color value, S is the saturation value, V is the brightness value, and c is a factor to reduce the importance/weight of the brightness value V and thus compressing the cylinder along the V axis). This distance calculation, as described in more detail below, can be used to calculate centroids, color space distance, and other statistics for patches.

[0046] Кроме того, в некоторых вариантах осуществления для пикселей каждого патча оценивается набор статистических значений: (i) количество пикселей в патче, (ii) центроид (т.е. среднее значение пикселей по трем параметрам: «тон-насыщенность-значение» (HSV)), (iii) дисперсия (т.е. значения пикселей относительно центроида в цветовом пространстве «тон-насыщенность-значение» (HSV)) и (iv) перекос/асимметрия (т.е. вдоль одномерного расстояния относительно центроида). Существующие стандартные статистические / математические формулы могут использоваться для расчета этой статистики и могут быть реализованы с помощью исполняемого кода.[0046] In addition, in some embodiments, for the pixels of each patch, a set of statistical values is estimated: (i) the number of pixels in the patch, (ii) the centroid (i.e., the average value of the pixels over three parameters: "hue-saturation-value" (HSV)), (iii) dispersion (i.e. pixel values relative to the centroid in the hue-saturation-value (HSV) color space), and (iv) skew/skewness (i.e. along a one-dimensional distance relative to the centroid) . Existing standard statistical/mathematical formulas can be used to calculate these statistics and can be implemented with executable code.

[0047] Как отмечалось ранее, патчи, на которые делится изображение документа, могут быть монохромными (т.е. содержащими пиксели только одного цвета) и не монохромными / полихромными (т.е. содержащими пиксели двух или более цветов). Используемые здесь термины «не монохромный» и «полихромный» являются взаимозаменяемыми. В одном из вариантов осуществления патчи, содержащие более двух цветов, могут рассматриваться как патчи, содержащие два цвета, путем игнорирования наименее представленного цвета пикселей.[0047] As noted earlier, patches into which a document image is divided can be monochrome (i.e., containing pixels of only one color) and non-monochrome/polychromatic (i.e., containing pixels of two or more colors). As used herein, the terms "non-monochrome" and "polychrome" are used interchangeably. In one embodiment, patches containing more than two colors can be treated as patches containing two colors by ignoring the least represented pixel color.

[0048] Таким образом, при использовании классификатора 404 монохромности каждый патч может быть классифицирован либо как монохромный 406, либо как полихромный 408. В классификатор 404 могут вводиться статистические данные 402 патчей (например, количество/число пикселей, центроид, дисперсия, перекос и т.д.). Классификатор монохромности можно предварительно обучить на основе размеченных обучающих изображений и настроить с использованием соответствующих параметров классификации во время обучения. На выходе классификатор выдает решение относительно каждого патча, чтобы определить, является ли он монохромным 406 или полихромным 408. Для целей некоторых описанных здесь вариантов осуществления может быть использован любой классификатор на основе алгоритмов машинного обучения (например, модель градиентного бустинга (gradient boosting model), машина опорных векторов (support-vector machine), линейный классификатор (linear classifier) и т.д.). В других вариантах осуществления может использоваться и нейросетевой классификатор.[0048] Thus, using a monochrome classifier 404, each patch can be classified as either monochrome 406 or polychrome 408. Patches statistics 402 (e.g., number/number of pixels, centroid, variance, skew, etc.) .d.). The monochrome classifier can be pre-trained on the labeled training images and adjusted using the appropriate classification parameters during training. The classifier outputs a decision on each patch to determine whether it is monochrome 406 or polychrome 408. For the purposes of some of the embodiments described here, any classifier based on machine learning algorithms can be used (for example, a gradient boosting model, support vector machine (support-vector machine), linear classifier (linear classifier), etc.). In other embodiments, a neural network classifier may also be used.

[0049] В некоторых вариантах осуществления, после классификации патчей как монохромные и не монохромные может применяться двухэтапный способ 500 кластеризации, показанный на Фиг. 5, для получения центроидов кластеров, каждый из которых соответствует отдельному цветовому слою изображения документа. Как более подробно описано ниже, для этого процесса могут быть выбраны монохромные патчи вместе с их соответствующими статистиками в блоке 502, а также могут быть вычислены центроиды (т.е. центроиды в цветовом пространстве) каждого кластера.[0049] In some embodiments, after classifying the patches as monochrome and non-monochrome, the two-stage clustering method 500 shown in FIG. 5 to obtain cluster centroids, each corresponding to a different color layer of the document image. As described in more detail below, the monochrome patches may be selected for this process along with their respective statistics at block 502, and the centroids (ie, color space centroids) of each cluster may also be calculated.

[0050] Первоначально статистические характеристики монохромных патчей могут быть сгруппированы в подкластеры с использованием классических механизмов кластеризации на этапе 504, таких как кластеризация k-средних, ЕМ-алгоритм кластеризации (Expectation-Maximization algorithm), иерархическая кластеризация и другие подобные методы. Однако на данном этапе в блоке 504 может быть создано множество кластеров, которые могут подлежать дальнейшему уточнению. Соответственно, после первого этапа кластеризации в блоке 504 может быть сгенерировано очень большое / избыточное количество кластеров (каждый из которых соответствует разному цветовому слою), которые могут быть впоследствии объединены в блоке 506 в меньшее количество кластеров.[0050] Initially, the statistical characteristics of monochrome patches can be grouped into subclusters using classical clustering mechanisms at step 504, such as k-means clustering, EM-clustering algorithm (Expectation-Maximization algorithm), hierarchical clustering, and other similar methods. However, at this point, at block 504, multiple clusters may be created, which may be subject to further refinement. Accordingly, after the first clustering step, a very large/excessive number of clusters (each corresponding to a different color layer) may be generated in block 504, which may subsequently be combined in block 506 into fewer clusters.

[0051] Соответственно, для каждого из подкластеров вычисляется набор объединенных статистик. Объединенные статистики вычисляются среди всех возможных пар подкластеров, чтобы определить лучших кандидатов для объединения (например, объединение статистических областей (SRM)). Таким образом производится попарный перебор всех возможных вариантов слияния. Пары подкластеров могут быть выбраны на основе условий максимизации сумм взвешенных межкластерных дисперсий и расстояния между центроидами соответствующих кластеров. Как только обнаруживается пара подкластеров, которая дает лучшую дисперсионную характеристику, эта пара объединяется в единый кластер. В некоторых вариантах осуществления предпочтительно максимизировать расстояние между центроидами окончательного набора кластеров. Соответственно, кластеры, которые являются кандидатами на объединение, могут быть кластерами, соответствующие центроиды которых имеют наименьшее расстояние друг от друга в цветовом пространстве.[0051] Accordingly, a set of combined statistics is calculated for each of the subclusters. The pooled statistics are computed among all possible pairs of subclusters to determine the best candidates for pooling (eg, pooled statistical areas (SRM)). Thus, a pairwise enumeration of all possible merge options is performed. Pairs of subclusters can be selected based on the conditions for maximizing the sums of weighted intercluster variances and the distance between the centroids of the respective clusters. As soon as a pair of subclusters is found that gives the best dispersion characteristic, this pair is combined into a single cluster. In some embodiments, it is preferable to maximize the distance between the centroids of the final set of clusters. Accordingly, the clusters that are candidates for merging may be the clusters whose respective centroids have the smallest distance from each other in the color space.

[0052] Таким образом, попарное слияние кластеров выполняется до тех пор, пока не будет удовлетворен заранее определенный пороговый критерий (например, будет достигнуто заранее определенное количество кластеров или будет достигнута заранее определенная сумма взвешенных межкластерных дисперсий и расстояния между центроидами). Предварительно определенный критерий может быть константой, которая предварительно задается в механизме кластеризации на основе обучающих данных. Следовательно, на выходе слияния и на втором этапе процесса кластеризации получается несколько кластеров с соответствующими статистиками. Таким образом, конкретное количество кластеров, получаемое в блоке 508, может соответствовать набору/числу отдельных цветовых слоев (т.е. каналов) исходного изображения документа. Соответственно, изображение может быть разделено на количество слоев, равное количеству полученных кластеров.[0052] Thus, pairwise merging of clusters is performed until a predetermined threshold criterion is satisfied (eg, a predetermined number of clusters is reached, or a predetermined sum of weighted intercluster variances and distance between centroids is reached). The predetermined criterion may be a constant that is predetermined in the clustering engine based on the training data. Therefore, at the output of the merge and at the second stage of the clustering process, several clusters are obtained with the corresponding statistics. Thus, the specific number of clusters obtained at block 508 may correspond to the set/number of individual color layers (ie, channels) of the original document image. Accordingly, the image can be divided into a number of layers equal to the number of obtained clusters.

[0053] Однако, хотя вышеупомянутая процедура относится к монохромным патчам, в процесс предстоит включить еще и не монохромные патчи. Каждый из оставшихся не монохромных патчей (каждый из которых может быть уменьшен, чтобы его можно было рассматривать как содержащий два цвета) может быть связан/объединен с кластерами, образованными из монохромных патчей.[0053] However, while the above procedure applies to monochrome patches, non-monochrome patches also need to be included in the process. Each of the remaining non-monochrome patches (each of which can be scaled down to be seen as containing two colors) can be linked/combined to the clusters formed from the monochrome patches.

[0054] Чтобы осуществить это объединение, на полихромных патчах выполняются операции сегментации. Полихромные патчи, идентифицированные классификатором монохромности, могут быть сегментированы на монохромные сегменты. В некоторых вариантах осуществления каждый не монохромный патч может быть разделен на два сегмента (т.е. цветовых канала), и каждый сегмент затем может быть объединен с соответствующим цветовым слоем (на основе ранее полученных кластеров). Подобно описанному выше процессу кластеризации, для пикселей каждого сегмента каждого не монохромного патча может быть вычислен центроид (в цветовом пространстве).[0054] To accomplish this merging, segmentation operations are performed on the polychrome patches. Polychrome patches identified by the monochrome classifier can be segmented into monochrome segments. In some embodiments, each non-monochrome patch may be divided into two segments (ie, color channels), and each segment may then be combined with the corresponding color layer (based on previously obtained clusters). Similar to the clustering process described above, for the pixels of each segment of each non-monochrome patch, a centroid (in color space) can be calculated.

[0055] В некоторых вариантах осуществления сегментация может выполняться с использованием нейронной сети (например, сверточной нейронной сети, автоэнкодера и т.д.). Нейронная сеть может быть обучена на синтетических обучающих данных или реальных обучающих данных, предварительно размеченных в соответствии с тремя цветовыми каналами, один из которых представляет собой цвет фона, а два других - каналы разных цветов для значимых объектов. В других вариантах осуществления для сегментации могут применяться и другие способы, в которых не используются нейронные сети. Например, сегментация может выполняться эвристически или с использованием стандартных подходов к цветовой сегментации, таких как: сегментация по возрастанию области на основе цвета с использованием слияния статистических областей (затравок) и без него (SRM), нормализация сокращений/разрезов (Normalized Cuts) и эффективной сегментации изображений на основе графов (Efficient Graph-Based Image Segmentation).[0055] In some embodiments, segmentation may be performed using a neural network (eg, convolutional neural network, autoencoder, etc.). The neural network can be trained on synthetic training data or real training data, pre-labeled according to three color channels, one of which is the background color, and the other two are channels of different colors for significant objects. In other embodiments, other methods may be used for segmentation that do not use neural networks. For example, segmentation can be performed heuristically or using standard color segmentation approaches such as color-based ascending region segmentation with and without seeding (SRM), Normalized Cuts, and efficient graph-based image segmentation (Efficient Graph-Based Image Segmentation).

[0056] В некоторых вариантах осуществления при использовании эвристического метода сегментации изображение каждого не монохромного патча представляется в отдельных каналах, которые могут содержать информацию о цвете, такую как красный, зеленый, синий цвет, насыщенность, оттенок и т.д. В другом варианте осуществления могут использоваться другие переменные / каналы других цветовых пространств. Таким образом, в одном варианте осуществления каждый из четырех каналов (красный, зеленый, синий и насыщенность) преобразуется в двоичную форму с использованием метода Отцу (т.е. с использованием единого порога интенсивности, который разделяет пиксели на два класса, передний план и фон), чтобы получить бинаризованные маски каждого канала / переменной. Из бинаризованных масок для каждого канала выбираются сегменты цветов, которые имеют самую низкую метрику пересечения по объединению (IoU). Другими словами, для всех возможных пар бинаризованных масок рассчитывается метрика IoU и выбирается пара, для которой метрика IoU является наименьшей. Как более подробно описано ниже, затем каждая из масок может быть связана с соответствующим кластером и цветовым слоем изображения. Таким образом, изображение, разделенное на патчи, представлено в четырех версиях, каждая из которых соответствует четко определенной маске другого цвета / канала.[0056] In some embodiments, when using heuristic segmentation, each non-monochrome patch image is represented in separate channels, which may contain color information such as red, green, blue, saturation, hue, and so on. In another embodiment, other variables/channels of other color spaces may be used. Thus, in one embodiment, each of the four channels (red, green, blue, and saturation) is binarized using the Father's method (i.e., using a single intensity threshold that separates pixels into two classes, foreground and background ) to get the binarized masks of each channel/variable. From the binarized masks for each channel, color segments are selected that have the lowest intersection over union (IoU) metric. In other words, for all possible pairs of binarized masks, the IoU metric is calculated and the pair for which the IoU metric is the smallest is selected. As described in more detail below, each of the masks can then be associated with a respective cluster and color layer of the image. The patched image is thus presented in four versions, each corresponding to a well-defined mask of a different color/channel.

[0057] В некоторых случаях сегменты не монохромных патчей могут перекрываться в определенных областях. Однако при вычислении центроидов каждого из монохромных сегментов пиксели в области перекрытия можно игнорировать. Таким образом, центроиды в цветовом пространстве сегментов, полученных на этом этапе, можно использовать для составления полных отдельных цветовых слоев изображения документа.[0057] In some cases, segments of non-monochrome patches may overlap in certain areas. However, when calculating the centroids of each of the monochrome segments, the pixels in the overlapping area can be ignored. Thus, the centroids in the color space of the segments obtained in this step can be used to compose complete individual color layers of the document image.

[0058] Соответственно, в некоторых вариантах осуществления настоящего изобретения различные цветовые слои изображения документа могут быть составлены из вышеупомянутых полученных ранее кластеров и сегментов. На данный момент известна следующая информация: (i) информация, касающаяся всех монохромных сегментов не монохромных патчей и их соответствующих центроидов в цветовом пространстве, и (ii) информация, касающаяся центроидов кластеров монохромных патчей, соответствующих отдельным цветовым слоям изображения документа (полученным после кластеризации, например, 3-4 и более кластеров).[0058] Accordingly, in some embodiments of the present invention, the various color layers of a document image may be composed of the aforementioned previously obtained clusters and segments. The following information is currently known: (i) information regarding all monochrome segments of non-monochrome patches and their corresponding centroids in the color space, and (ii) information regarding the centroids of clusters of monochrome patches corresponding to the individual color layers of the document image (obtained after clustering, for example, 3-4 or more clusters).

[0059] В некоторых вариантах осуществления центроиды каждого монохромного сегмента не монохромных патчей объединяются/связываются с ближайшим кластером (т.е. цветовым слоем изображения документа) на основе евклидова расстояния в цветовом пространстве. Другими словами, на основе центроида каждого сегмента каждого совпадения сегмент связывается с одним из ранее идентифицированных кластеров до тех пор, пока все монохромные сегменты полихромных патчей не будут связаны с кластером монохромных патчей (и с их соответствующим отдельным цветовым слоем изображения документа).[0059] In some embodiments, the centroids of each monochrome segment of non-monochrome patches are combined/associated with the nearest cluster (ie, the color layer of the document image) based on the Euclidean distance in color space. In other words, based on the centroid of each segment of each match, the segment is associated with one of the previously identified clusters until all of the monochrome patch segments are associated with the monochrome patch cluster (and their respective individual document image color layer).

[0060] Таким образом, результат некоторых вариантов осуществления содержит отдельные цветовые слои изображения документа, где каждый слой состоит из кластеров монохромных патчей и связанных монохромных сегментов из не монохромных патчей. Следует отметить, что в некоторых случаях разные цветовые слои могут иметь области пересечения (т.е. общие области), которые могут соответствовать местам наложения друг на друга нескольких объектов или информационных элементов.[0060] Thus, the result of some embodiments comprises individual color layers of a document image, where each layer consists of clusters of monochrome patches and associated monochrome segments from non-monochrome patches. It should be noted that, in some cases, different color layers may have areas of intersection (ie, common areas), which may correspond to places where several objects or information elements overlap each other.

[0061] Таким образом, в одном из вариантов осуществления документ, ранее изображенный на Фиг. 2, можно разделить на три отдельных цветовых слоя. На Фиг.6 изображен первый цветовой слой 600, содержащий информацию 602 заполняемого документа-формы. На Фиг. 7 изображен второй цветовой слой 700, содержащий входную информацию / данные 702, которыми заполнены поля формы. На Фиг. 8 изображен третий цветовой слой 800, содержащий печати 802, которые были поставлены поверх документа-формы и входных данных.[0061] Thus, in one embodiment, the document previously depicted in FIG. 2 can be divided into three separate color layers. Figure 6 shows the first color layer 600 containing information 602 fillable form document. On FIG. 7 shows a second color layer 700 containing the input/data 702 filled in the form fields. On FIG. 8 shows a third color layer 800 containing stamps 802 that have been placed on top of the form document and input.

[0062] В некоторых вариантах осуществления различные задачи оптического распознавания символов и извлечения информации могут выполняться на каждом из полученных слоев изображения документа. Например, каждый слой, состоящий из одного из кластеров, может быть подвергнут операции оптического распознавания символов для выявления и извлечения содержащейся в нем текстовой информации. В других примерах кластеры могут использоваться нейронной сетью для идентификации и извлечения информации, состоящей из элементов или полей в слое, содержащем незаполненные поля и инструкции заполняемого документа-формы.[0062] In some embodiments, various optical character recognition and information extraction tasks may be performed on each of the acquired document image layers. For example, each layer, consisting of one of the clusters, can be subjected to an optical character recognition operation to identify and extract the text information contained in it. In other examples, clusters can be used by a neural network to identify and extract information consisting of elements or fields in a layer containing blank fields and instructions of a form document to be filled out.

[0063] При выполнении таких задач оптического распознавания символов часто бывает, что слой, содержащий данные, вводимые в поля формы, может быть, по существу, наиболее важным. Однако для получения структурированной информации, извлеченной из документа, может быть полезно дополнительно выполнить оптическое распознавание символов слоя, содержащего элементы, относящиеся к незаполненному документу-форме, чтобы иметь возможность связать входную информацию с соответствующими полями формы. Кроме того, хотя в некоторых случаях слой, содержащий печати/штампы, может иметь ограниченное значение, в других случаях штампы могут содержать важную информацию, относящуюся к вводу данных в поля формы (например, свидетельствующие об их подтверждении, правдивости или принятии), и поэтому может быть полезно выполнить оптическое распознавание символов цветового слоя, содержащего информацию из штампов. На основе координат информации, распознанной способом оптического распознавания символов, информация из каждого слоя может быть связана и объединена с информацией, полученной из других слоев, и в конечном итоге, можно сформировать составное изображение документа с распознанной информацией, готовое к последующей обработке и извлечению.[0063] When performing such OCR tasks, it is often the case that the layer containing the data entered into the form fields may be essentially the most important. However, in order to obtain structured information extracted from a document, it may be useful to additionally perform optical character recognition of the layer containing elements related to the blank form document in order to be able to associate the input information with the corresponding form fields. In addition, although in some cases the layer containing seals/stamps may have a limited meaning, in other cases stamps may contain important information related to data entry in form fields (for example, indicating their confirmation, truthfulness or acceptance), and therefore it may be useful to perform OCR on the color layer containing information from the stamps. Based on the coordinates of the information recognized by the optical character recognition method, information from each layer can be linked and combined with information obtained from other layers, and ultimately, a composite document image with recognized information can be formed, ready for further processing and extraction.

[0064] В некоторых других вариантах осуществления изображение документа можно разделить на цветовые слои с использованием другого подхода. Этот подход можно грубо разделить на четыре этапа: (i) загрузка / получение изображения документа, (ii) корректировка яркости и контрастности изображения документа, (iii) кластеризация и разделение изображения на промежуточные слои и (iv) объединение слоев изображения с использованием классификатора объединения слоев.[0064] In some other embodiments, the implementation of the image of the document can be divided into color layers using a different approach. This approach can be roughly divided into four steps: (i) loading/acquiring a document image, (ii) adjusting the brightness and contrast of the document image, (iii) clustering and splitting the image into intermediate layers, and (iv) merging image layers using a layer merging classifier .

[0065] Хотя первые два этапа могут выполняться аналогично описанным ранее, третий этап может включать в себя три основных действия: (а) преобразование изображения в цветовое пространство «тон-насыщенность-значение» (HSV); (b) выбор серых пикселей, которые должны быть связаны с цветом фона, идентификация цветовых кластеров путем генерации гистограмм пикселей конкретных цветовых тонов и определение цветовых секторов в цветовом пространстве «тон-насыщенность-значение» (HSV) внутри пикселей, сгруппированных в два кластера, для которых вычислены их центроиды; и (c) связывание пикселей со слоями, соответствующими серому слою и кластерам (т.е. после вычисления центроидов кластеров пиксели связываются либо с серым фоновым слоем, либо с кластером с ближайшим центроидом в цветовом пространстве). В результате этого процесса может быть получено несколько изображений, каждое из которых может содержать часть исходного изображения документа другого цвета. Однако элементы некоторых слоев могут выглядеть размытыми. На четвертом этапе изображения промежуточных слоев выборочно объединяются для получения заранее определенного количества цветовых слоев исходного изображения документа.[0065] While the first two steps may be performed similarly to those previously described, the third step may include three main steps: (a) converting an image to a Hue-Saturation-Value (HSV) color space; (b) selecting the gray pixels to be associated with the background color, identifying the color clusters by generating pixel histograms of specific color tones, and identifying the color sectors in the hue-saturation-value (HSV) color space within the pixels grouped into two clusters, for which their centroids are calculated; and (c) linking the pixels to the layers corresponding to the gray layer and the clusters (ie, after computing the cluster centroids, the pixels are linked to either the gray background layer or the cluster with the closest centroid in color space). As a result of this process, several images can be obtained, each of which can contain a part of the original image of the document in a different color. However, the elements of some layers may look blurry. At the fourth stage, the intermediate layer images are selectively combined to obtain a predetermined number of color layers in the original document image.

[0066] На Фиг. 9 представлен пример вычислительной системы 900, которая может выполнять любой один или несколько описанных в настоящем документе способов. Вычислительная система может быть подключена (например, по сети) к другим вычислительным системам в локальной сети, интрасети, экстрасети или интернету. Вычислительная система может работать в качестве сервера в сетевой среде «клиент-сервер». Вычислительная система может представлять собой персональный компьютер (ПК), планшет, телевизионную приставку (STB), карманный персональный компьютер (КПК), мобильный телефон, фотоаппарат, видеокамеру или любое устройство, способное выполнять набор команд (последовательных или иных), определяющих действия, которые должны быть выполнены таким устройством. Кроме того, несмотря на наглядное изображение только одной вычислительной системы, термин «компьютер» должен также включать любую совокупность компьютеров, которые индивидуально или совместно выполняют набор (или несколько наборов) команд для реализации любого одного или нескольких способов, раскрытых в настоящем документе.[0066] In FIG. 9 is an example of a computing system 900 that can perform any one or more of the methods described herein. The computer system may be connected (eg, over a network) to other computer systems on a local area network, an intranet, an extranet, or the Internet. The computing system can operate as a server in a client-server network environment. The computing system may be a personal computer (PC), tablet, set-top box (STB), personal digital assistant (PDA), mobile phone, camera, camcorder, or any device capable of executing a set of commands (sequential or otherwise) that determines actions that must be performed by such a device. In addition, while illustrative of only one computing system, the term "computer" should also include any collection of computers that individually or collectively execute a set (or multiple sets) of instructions to implement any one or more of the methods disclosed herein.

[0067] Иллюстративная вычислительная система 900 включает устройство 902 обработки данных, основную память 904 (например, постоянное запоминающее устройство (ПЗУ), флэш-память, динамическое оперативное запоминающее устройство (ДОЗУ), такое как синхронное ДОЗУ (СДОЗУ)), статическую память (например, флэш-память, статическое оперативное запоминающее устройство (СОЗУ)) и устройство 918 хранения данных, которые взаимодействуют друг с другом по шине 930.[0067] An exemplary computing system 900 includes a data processing device 902, main memory 904 (e.g., read only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM)), static memory ( for example, flash memory, static random access memory (SRAM), and storage device 918 that communicate with each other over bus 930.

[0068] Устройство 902 обработки данных представляет собой одно или несколько устройств обработки общего назначения, таких как микропроцессор, центральный процессор и т.п. Точнее говоря, устройство 902 обработки данных может быть микропроцессором для вычисления сложных наборов команд (CISC), микропроцессором для вычисления сокращенных наборов команд (RISC), микропроцессором с очень длинным командным словом (VLIW), процессором, реализующим другие наборы команд, или процессором, реализующим сочетание наборов команд. Устройство 902 обработки данных также может представлять собой одно или несколько устройств обработки специального назначения, таких как специализированная интегральная схема (ASIC), программируемая логическая интегральная схема (FPGA), цифровой сигнальный процессор (DSP), сетевой процессор и т.п. Устройство 902 обработки данных сконфигурировано для выполнения инструкций 926 с целью реализации описанных здесь способов, таких как способ 100 на Фиг. 1, способ 400 на Фиг. 4 и / или способ 500 на Фиг. 5, а также для выполнения описанных здесь операций (например, операции по способам 100, 400, 500). [0068] The data processing device 902 is one or more general purpose processing devices such as a microprocessor, a central processing unit, and the like. More specifically, data processing device 902 may be a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, a processor implementing other instruction sets, or a processor implementing combination of instruction sets. The data processing device 902 may also be one or more special purpose processing devices such as an application specific integrated circuit (ASIC), a field-programmable logic integrated circuit (FPGA), a digital signal processor (DSP), a network processor, or the like. Data processor 902 is configured to execute instructions 926 to implement the methods described herein, such as method 100 in FIG. 1 , method 400 in FIG. 4 and/or method 500 in FIG. 5 , as well as to perform the operations described here (for example, operations according to methods 100, 400, 500).

[0069] Вычислительная система 900 может дополнительно включать устройство 922 сетевого интерфейса. Вычислительная система 900 также может включать видеодисплей 910 (например, жидкокристаллический дисплей (ЖКД) или электронно-лучевую трубку (ЭЛТ)), устройство 912 буквенно-цифрового ввода (например, клавиатуру), устройство 914 управления курсором (например, мышь) и устройство формирования сигнала (например, динамик). В одном иллюстративном примере устройство визуального отображения / видеодисплей 910, устройство буквенно-цифрового ввода 912 и устройство управления курсором 914 объединены в один компонент или устройство (например, сенсорный жидкокристаллический дисплей).[0069] Computing system 900 may further include a network interface device 922. Computing system 900 may also include a video display 910 (e.g., a liquid crystal display (LCD) or cathode ray tube (CRT)), an alphanumeric input device 912 (e.g., a keyboard), a cursor control device 914 (e.g., a mouse), and a generation device. signal (e.g. speaker). In one illustrative example, a visual display device/video display 910, an alphanumeric input device 912, and a cursor control device 914 are combined into a single component or device (eg, a touch sensitive liquid crystal display).

[0070] Устройство 918 хранения данных может включать машиночитаемый носитель 924 данных, на котором хранятся инструкции 926, воплощающие любую одну или несколько методик или функций, описанных в настоящем документе. Команды 926 во время их исполнения вычислительной системой 900 также могут находиться, полностью или как минимум частично, в основном запоминающем устройстве 904 и (или) в устройстве 902 обработки данных, причем основная память 904 и устройство 902 обработки данных также представляют собой машиночитаемые носители. В некоторых вариантах осуществления инструкции 926 могут дополнительно передаваться или приниматься по сети 916 через сетевое интерфейсное устройство 922.[0070] Storage device 918 may include a computer-readable storage medium 924 that stores instructions 926 that implement any one or more of the techniques or functions described herein. The instructions 926 may also reside, in whole or at least in part, in the main storage device 904 and/or in the data processing device 902 during their execution by the computing system 900, with the main memory 904 and the data processing device 902 also being computer-readable media. In some embodiments, instructions 926 may additionally be transmitted or received over network 916 via network interface device 922.

[0071] Несмотря на то, что в иллюстративных примерах машиночитаемый носитель 924 данных представлен в единственном числе, термин «машиночитаемый носитель данных» следует понимать как включающий в себя один или несколько носителей (например, централизованную или распределенную базу данных и (или) связанные с ней кэши и серверы), в которых хранится один или несколько наборов инструкций. Термин «машиночитаемый носитель данных» также следует понимать как включающий в себя какой-либо носитель, способный хранить, кодировать или переносить набор команд для выполнения машиной и заставляющий машину выполнять любую одну или несколько методик настоящего изобретения. Термин «машиночитаемый носитель данных», соответственно, включает, помимо прочего, твердотельные запоминающие устройства, оптические носители и магнитные носители.[0071] Although in the illustrative examples the computer-readable storage medium 924 is represented in the singular, the term "machine-readable storage medium" should be understood as including one or more media (for example, a centralized or distributed database and (or) associated with caches and servers) that store one or more sets of instructions. The term "machine-readable storage medium" should also be understood to include any medium capable of storing, encoding, or carrying a set of instructions for execution by a machine and causing the machine to perform any one or more of the techniques of the present invention. The term "computer-readable storage medium" accordingly includes, but is not limited to, solid-state storage devices, optical media, and magnetic media.

[0072] Несмотря на то, что приведенные в настоящем документе операции способов изображены и описаны в определенном порядке, порядок выполнения операций каждого способа может быть изменен таким образом, что определенные операции могут выполняться в обратном порядке или определенные операции могут выполняться по крайней мере частично, одновременно с иными операциями. В некоторых вариантах осуществления команды или подоперации отдельных операций могут выполняться с перерывами и (или) чередоваться.[0072] Although the steps of the methods herein are shown and described in a particular order, the order in which the steps of each method can be performed can be changed so that certain steps can be performed in reverse order, or certain steps can be performed at least partially, along with other operations. In some embodiments, instructions or sub-operations of individual operations may be performed intermittently and/or interleaved.

[0073] Следует понимать, что приведенное выше описание служит для наглядности и не носит ограничительный характер. Многие иные варианты осуществления будут очевидны специалистам в данной области после прочтения и понимания приведенного выше описания. Поэтому область применения изобретения должна определяться со ссылкой на прилагаемую формулу изобретения наряду с полным объемом эквивалентов, на которые распространяется такая формула.[0073] It should be understood that the above description is for illustrative purposes and is not restrictive. Many other embodiments will be apparent to those skilled in the art upon reading and understanding the above description. Therefore, the scope of the invention must be determined with reference to the appended claims along with the full scope of the equivalents to which such claims apply.

[0074] В приведенном выше описании изложены многочисленные подробности. Однако специалисту в данной области будет очевидно, что аспекты настоящего изобретения могут быть реализованы без таких конкретных деталей. В некоторых случаях известные структуры и устройства показаны в виде блок-схемы, без подробностей, чтобы не затруднять понимание предмета настоящего изобретения.[0074] Numerous details have been set forth in the above description. However, one skilled in the art will appreciate that aspects of the present invention may be practiced without such specific details. In some instances, well-known structures and devices are shown in block diagram form, without detail, so as not to obscure the subject matter of the present invention.

[0075] Некоторые части подробного описания, приведенного выше, представлены в виде алгоритмов и символьных представлений операций с битами данных в памяти компьютера. Такие алгоритмические описания и представления являются средствами, используемыми специалистами в области обработки данных с целью наиболее эффективной передачи содержания своей работы иным специалистам в данной области. Как в рамках настоящего документа, так и в целом алгоритм понимается как самосогласованная последовательность действий, приводящая к желаемому результату. Эти действия представляют собой этапы, требующие физических манипуляций с физическими величинами. Обычно, хотя и не обязательно, такие величины принимают форму электрических или магнитных сигналов, которые можно хранить, передавать, комбинировать, сравнивать или использовать иным образом. Иногда, в основном по соображениям общепринятой практики, удобно называть такие сигналы битами, значениями, элементами, символами, знаками, терминами, числами и т.п.[0075] Some parts of the detailed description above are presented as algorithms and symbolic representations of operations on data bits in computer memory. Such algorithmic descriptions and representations are tools used by data scientists to most effectively convey the content of their work to others in the field. Both within the framework of this document and in general, the algorithm is understood as a self-consistent sequence of actions leading to the desired result. These actions are stages that require physical manipulations with physical quantities. Typically, though not necessarily, such quantities take the form of electrical or magnetic signals that can be stored, transmitted, combined, compared, or otherwise used. Sometimes, mainly for reasons of common practice, it is convenient to refer to such signals as bits, values, elements, symbols, characters, terms, numbers, and the like.

[0076] Однако следует помнить, что все такие и подобные термины должны быть связаны с соответствующими физическими величинами и являются лишь удобными обозначениями, применяемыми к таким величинам. Если специально не указано иное, как очевидно из последующего обсуждения, следует понимать, что во всем описании изобретения обсуждения, использующие такие термины, как «получение», «определение», «выбор», «хранение», «анализ» и т.п., относятся к действиям и процессам вычислительной системы или аналогичного электронного вычислительного устройства, которое использует и преобразует данные, представленные в виде физических (электронных) величин в регистрах и памяти вычислительной системы, в иные данные, аналогично представленные в виде физических величин в памяти или регистрах вычислительной системы или иных подобных устройствах хранения, передачи или отображения информации.[0076] However, it should be remembered that all such and similar terms are to be associated with the corresponding physical quantities and are only convenient designations applied to such quantities. Unless specifically stated otherwise, as evident from the following discussion, it should be understood that throughout the description of the invention, discussions using terms such as "obtaining", "determining", "selection", "storage", "analysis", etc. ., refers to the actions and processes of a computer system or similar electronic computing device that uses and converts data represented as physical (electronic) quantities in the registers and memory of the computer system into other data similarly represented as physical quantities in the memory or registers computer system or other similar devices for storing, transmitting or displaying information.

[0077] Настоящее изобретение также относится к устройству для выполнения операций, описанных в настоящем документе. Данное устройство может быть специально сконструировано для требуемых целей, или оно может состоять из компьютера общего назначения, избирательно активируемого или реконфигурируемого компьютерной программой, хранящейся в компьютере. Такая компьютерная программа может храниться на машиночитаемом носителе данных, таком как любой тип диска, включая дискеты, оптические диски, компакт-диски и магнитно-оптические диски, постоянные запоминающие устройства (ПЗУ), оперативные запоминающие устройства (ОЗУ), ППЗУ, ЭСППЗУ, магнитные или оптические платы или любой тип носителя, подходящий для хранения электронных команд, каждый из которых соединен с шиной вычислительной системы.[0077] The present invention also relates to a device for performing the operations described herein. This device may be specially designed for the required purposes, or it may consist of a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored on a computer-readable storage medium such as any type of disk, including floppy disks, optical disks, compact disks and magnetic optical disks, read-only memory (ROM), random access memory (RAM), PROM, EEPROM, magnetic or optical boards or any type of media suitable for storing electronic instructions, each connected to a computer system bus.

[0078] Алгоритмы и представления, показанные в настоящем документе, необязательно связаны с каким-либо конкретным компьютером или иным устройством. Различные системы общего назначения могут использоваться с программами в соответствии с идеей, изложенной в настоящем документе, или, возможно, окажется более удобным создать более специализированные устройства с целью выполнения требуемых этапов способа. Необходимая структура для множества этих систем будет выглядеть так, как указано в данном описании. Кроме того, аспекты настоящего изобретения не описаны со ссылкой на какой-либо конкретный язык программирования. Следует понимать, что для реализации описанной в данном документе идеи настоящего изобретения можно использовать различные языки программирования.[0078] The algorithms and representations shown herein are not necessarily associated with any particular computer or other device. Various general purpose systems may be used with programs in accordance with the teachings of this document, or it may be more convenient to create more specialized devices to carry out the required method steps. The necessary structure for many of these systems will be as indicated in this description. In addition, aspects of the present invention are not described with reference to any particular programming language. It should be understood that various programming languages can be used to implement the idea of the present invention described herein.

[0079] Аспекты настоящего изобретения могут быть представлены в виде компьютерного программного продукта или программного обеспечения, которое может включать в себя машиночитаемый носитель данных с хранящимися на нем командами, которые могут использоваться для программирования вычислительной системы (или иных электронных устройств) с целью выполнения процесса в соответствии с настоящим изобретением. Машиночитаемый носитель данных включает любой механизм для хранения или передачи информации в форме, читаемой машиной (например, компьютером). Так, машиночитаемый (например, читаемый компьютером) носитель включает машиночитаемый (например, читаемый компьютером) носитель данных (например, постоянное запоминающее устройство, далее - «ПЗУ», оперативное запоминающее устройство, далее - «ОЗУ», магнитные дисковые носители, оптические носители, устройства флэш-памяти и т.д.).[0079] Aspects of the present invention may be in the form of a computer program product or software that may include a computer-readable storage medium with instructions stored thereon that can be used to program a computing system (or other electronic devices) to perform a process in in accordance with the present invention. A computer-readable storage medium includes any mechanism for storing or transmitting information in a form that is readable by a machine (eg, computer). Thus, a computer-readable (for example, computer-readable) medium includes a computer-readable (for example, computer-readable) storage medium (for example, read-only memory, hereinafter referred to as "ROM", random access memory, hereinafter referred to as "RAM", magnetic disk media, optical media, flash memory devices, etc.).

[0080] Слова «пример» или «примерный» используются в настоящем документе для обозначения того, что служит примером, образцом или наглядным изображением. Любой аспект или решение, описанные в настоящем документе как «пример» или «примерный», необязательно должны толковаться как предпочтительные или преимущественные по сравнению с иными аспектами или техническими решениями. Напротив, использование слов «пример» или «примерный» предназначено для конкретного представления понятий. Используемый в данной заявке термин «или» предназначен для обозначения, включающего «или», а не исключающего «или». То есть, если не указано иное или не ясно из контекста, фраза «X включает A или B» означает любую из естественных включающих перестановок. То есть если X включает A, X включает B или X включает и A, и B, то условие «X включает A или B» удовлетворяется в любом из вышеперечисленных случаев. Кроме того, слова в единственном числе, используемые в данной заявке и прилагаемой формуле изобретения, следует толковать как «один или несколько», если не указано иное или если из контекста не ясно, что они относятся к форме единственного числа. Более того, использование терминов «вариант осуществления», «один из вариантов осуществления», «вариант реализации» или «один вариант реализации» во всем тексте не означает один и тот же вариант осуществления или тот же вариант реализации, если они не описаны как таковые. Кроме того, термины «первый», «второй», «третий», «четвертый» и т.д., используемые в настоящем документе, предназначены для обозначения различий между различными элементами и не обязательно имеют порядковое значение в соответствии с их цифровым обозначением.[0080] The words "example" or "exemplary" are used herein to refer to what serves as an example, sample, or illustrative image. Any aspect or solution described herein as "example" or "exemplary" should not necessarily be construed as preferable or advantageous over other aspects or technical solutions. On the contrary, the use of the words "example" or "exemplary" is intended for a specific representation of concepts. As used in this application, the term "or" is intended to mean an inclusive "or" and not an exclusive "or". That is, unless otherwise indicated or clear from the context, the phrase "X includes A or B" means any of the natural inclusive permutations. That is, if X includes A, X includes B, or X includes both A and B, then the condition "X includes A or B" is satisfied in any of the above cases. In addition, the words in the singular used in this application and the appended claims should be interpreted as "one or more" unless otherwise indicated or if it is not clear from the context that they refer to the singular form. Moreover, the use of the terms "an embodiment", "one of the embodiments", "an implementation", or "one implementation" throughout the text does not mean the same embodiment or the same implementation, unless they are described as such. . In addition, the terms "first", "second", "third", "fourth", etc., used in this document are intended to indicate differences between various elements and do not necessarily have an ordinal value in accordance with their numerical designation.

[0081] Несмотря на то, что многие изменения и модификации изобретения, несомненно, будут очевидны для специалиста в данной области после прочтения вышеизложенного описания, следует понимать, что конкретный вариант осуществления, показанный и описанный с помощью иллюстрации, ни при каких условиях не должен считаться ограничивающим. Таким образом, ссылки на детали различных вариантов осуществления не предназначены для ограничения области применения формулы изобретения, которая сама по себе описывает только те признаки, которые считаются изобретением.[0081] While many changes and modifications to the invention will no doubt be apparent to those skilled in the art upon reading the foregoing description, it should be understood that the particular embodiment shown and described by way of illustration should not, under any circumstances, be construed as limiting. Thus, references to the details of various embodiments are not intended to limit the scope of the claims, which by themselves describe only those features that are considered to be the invention.

Claims (43)

1. Способ обработки изображения, включающий:1. An image processing method, including: получение изображения документа устройством обработки данных;obtaining an image of the document by the data processing device; разделение изображения документа на множество патчей, каждый из которых представляет собой область изображения, содержащую объект изображения;dividing the document image into a plurality of patches, each of which is an image area containing an image object; определение для каждого патча, является ли данный патч монохромным или не монохромных;determining for each patch whether the given patch is monochrome or non-monochrome; кластеризацию множества монохромных патчей на множество кластеров в цветовом пространстве, при этом каждый кластер соответствует одному цветовому слою из множества цветовых слоев изображения документа;clustering the plurality of monochrome patches into a plurality of clusters in a color space, each cluster corresponding to one color layer of the plurality of color layers of the document image; сегментацию каждого не монохромного патча на соответствующее множество монохромных сегментов; segmenting each non-monochrome patch into a corresponding set of monochrome segments; связывание, для каждого не монохромного патча, каждого монохромного сегмента соответствующего множества монохромных сегментов с кластером из множества кластеров; и linking, for each non-monochrome patch, each monochrome segment of the corresponding plurality of monochrome segments to a cluster of the plurality of clusters; And использование множества кластеров для выполнения задачи извлечения информации из изображения документа.using multiple clusters to perform the task of extracting information from a document image. 2. Способ по п. 1, дополнительно включающий корректировку одного или нескольких свойств изображения документа и бинаризацию изображения документа.2. The method of claim 1, further comprising adjusting one or more document image properties and binarizing the document image. 3. Способ по п. 1, дополнительно включающий выявление одной или нескольких связных компонент в изображении документа, причем каждый патч полностью охватывает одну связную компоненту.3. The method of claim. 1, further including the detection of one or more connected components in the image of the document, and each patch completely covers one connected component. 4. Способ по п. 1, дополнительно включающий сбор статистических данных для каждого патча из множества патчей, при этом статистические данные по каждому патчу содержат по меньшей мере одно из: количества пикселей, центроида в цветовом пространстве, меры дисперсии и меры перекоса.4. The method of claim 1, further comprising collecting statistics for each patch of the plurality of patches, wherein the statistics for each patch comprise at least one of: a number of pixels, a centroid in a color space, a measure of dispersion, and a measure of skew. 5. Способ по п. 1, в котором кластеризация множества монохромных патчей на множество кластеров включает выполнение итеративного процесса кластеризации для создания заранее определенного количества кластеров.5. The method of claim 1, wherein clustering the plurality of monochrome patches into the plurality of clusters includes performing an iterative clustering process to create a predetermined number of clusters. 6. Способ по п. 1, в котором каждый монохромный сегмент из множества монохромных сегментов соответствует одному цветовому слою из множества цветовых слоев.6. The method of claim 1, wherein each monochrome segment of the plurality of monochrome segments corresponds to one color layer of the plurality of color layers. 7. Способ по п. 1, в котором выполнение задачи извлечения информации включает извлечение информации из каждого цветового слоя изображения документа и объединение информации из каждого цветового слоя в изображении документа.7. The method of claim 1, wherein performing the information extraction task includes extracting information from each color layer of the document image and combining information from each color layer in the document image. 8. Система обработки изображения, содержащая:8. An image processing system, comprising: память, иmemory, and процессор, соединенный с памятью, причем процессор выполнен с возможностью:a processor coupled to the memory, the processor being configured to: получения изображения документа;obtaining an image of the document; разделения изображения документа на множество патчей, каждый из которых представляет собой область изображения, содержащую объект изображения;dividing the document image into a plurality of patches, each of which is an image area containing an image object; определения для каждого патча, является ли данный патч монохромным или не монохромным;determining for each patch whether a given patch is monochrome or non-monochrome; кластеризации множества монохромных патчей на множество кластеров в цветовом пространстве, при этом каждый кластер соответствует одному цветовому слою из множества цветовых слоев изображения документа;clustering the plurality of monochrome patches into a plurality of clusters in a color space, each cluster corresponding to one color layer of the plurality of color layers of the document image; сегментации каждого не монохромного патча на соответствующее множество монохромных сегментов;segmenting each non-monochrome patch into a corresponding set of monochrome segments; связывания, для каждого не монохромного патча, каждого монохромного сегмента соответствующего множества монохромных сегментов с кластером из множества кластеров; иlinking, for each non-monochrome patch, each monochrome segment of the corresponding plurality of monochrome segments to a cluster of the plurality of clusters; And использования множества кластеров для выполнения задачи извлечения информации из изображения документа.using a plurality of clusters to perform the task of extracting information from a document image. 9. Система по п. 8, в которой процессор дополнительно выполнен с возможностью корректировки одного или нескольких свойств изображения документа и бинаризации изображения документа.9. The system of claim 8, wherein the processor is further configured to correct one or more properties of the document image and binarize the document image. 10. Система по п. 8, в которой процессор дополнительно выполнен с возможностью выявления одной или нескольких связных компонент в изображении документа, причем каждый патч полностью охватывает одну связную компоненту.10. The system of claim 8, wherein the processor is further configured to detect one or more connected components in the document image, with each patch completely covering one connected component. 11. Система по п. 8, в которой процессор дополнительно выполнен с возможностью сбора статистических данных для каждого патча из множества патчей, при этом статистические данные по каждому патчу содержат по меньшей мере одно из: количества пикселей, центроида в цветовом пространстве, меры дисперсии и меры перекоса.11. The system of claim 8, wherein the processor is further configured to collect statistics for each patch of the plurality of patches, wherein the statistics for each patch comprise at least one of: a number of pixels, a centroid in a color space, a measure of dispersion, and tilt measures. 12. Система по п. 8, в которой кластеризация множества монохромных патчей на множество кластеров включает выполнение итеративного процесса кластеризации для создания заранее определенного количества кластеров.12. The system of claim 8, wherein clustering the plurality of monochrome patches into the plurality of clusters includes performing an iterative clustering process to create a predetermined number of clusters. 13. Система по п. 8, в которой каждый монохромный сегмент из множества монохромных сегментов соответствует одному цветовому слою из множества цветовых слоев.13. The system of claim 8, wherein each monochrome segment of the plurality of monochrome segments corresponds to one color layer of the plurality of color layers. 14. Система по п. 8, в которой выполнение задачи извлечения информации включает извлечение информации из каждого цветового слоя изображения документа и объединение информации из каждого цветового слоя в изображении документа.14. The system of claim 8, wherein performing the information extraction task includes extracting information from each color layer of the document image and combining information from each color layer in the document image. 15. Энергонезависимый машиночитаемый носитель данных, содержащий команды, которые при обращении к ним устройством обработки данных вынуждают устройство обработки данных реализовывать:15. A non-volatile computer-readable data carrier containing instructions that, when accessed by a data processing device, force the data processing device to implement: получение изображения документа;obtaining an image of the document; разделение изображения документа на множество патчей, каждый из которых представляет собой область изображения, содержащую объект изображения;dividing the document image into a plurality of patches, each of which is an image area containing an image object; определение для каждого патча, является ли данный патч монохромным или не монохромным;determining for each patch whether the given patch is monochrome or non-monochrome; кластеризацию множества монохромных патчей на множество кластеров в цветовом пространстве, при этом каждый кластер соответствует одному цветовому слою из множества цветовых слоев изображения документа;clustering the plurality of monochrome patches into a plurality of clusters in a color space, each cluster corresponding to one color layer of the plurality of color layers of the document image; сегментацию каждого не монохромного патча на соответствующее множество монохромных сегментов;segmenting each non-monochrome patch into a corresponding set of monochrome segments; связывание, для каждого не монохромного патча, каждого монохромного сегмента соответствующего множества монохромных сегментов с кластером из множества кластеров; иlinking, for each non-monochrome patch, each monochrome segment of the corresponding plurality of monochrome segments to a cluster of the plurality of clusters; And использование множества кластеров для выполнения задачи извлечения информации из изображения документа.using multiple clusters to perform the task of extracting information from a document image. 16. Носитель данных по п. 15, содержащий команды устройству обработки данных на выявление одной или нескольких связных компонент в изображении документа, причем каждый патч полностью охватывает одну связную компоненту.16. The data carrier according to claim 15, containing commands to the data processing device to detect one or more connected components in the document image, with each patch completely covering one connected component. 17. Носитель данных по п. 15, содержащий команды устройству обработки данных на сбор статистических данных для каждого патча из множества патчей, при этом статистические данные по каждому патчу содержат по меньшей мере одно из: количества пикселей, центроида в цветовом пространстве, меры дисперсии и меры перекоса.17. The storage medium according to claim 15, containing commands to the data processing device to collect statistics for each patch from a plurality of patches, while the statistics for each patch contain at least one of: the number of pixels, the centroid in the color space, the dispersion measure, and tilt measures. 18. Носитель данных по п. 15, в котором кластеризация множества монохромных патчей на множество кластеров включает выполнение итеративного процесса кластеризации для создания заранее определенного количества кластеров.18. The storage medium of claim 15, wherein clustering the plurality of monochrome patches into the plurality of clusters includes performing an iterative clustering process to create a predetermined number of clusters. 19. Носитель данных по п. 15, в котором каждый монохромный сегмент из множества монохромных сегментов соответствует одному цветовому слою из множества цветовых слоев.19. The storage medium of claim 15, wherein each monochrome segment of the plurality of monochrome segments corresponds to one color layer of the plurality of color layers. 20. Носитель данных носитель по п. 15, в котором выполнение задачи извлечения информации включает извлечение информации из каждого цветового слоя изображения документа и объединение информации из каждого цветового слоя в изображении документа.20. The storage medium of claim 15, wherein performing the information extraction task includes extracting information from each color layer of the document image and combining information from each color layer in the document image.
RU2021136357A 2021-12-09 2021-12-09 Splitting images into separate color layers RU2792722C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/546,652 US20230186592A1 (en) 2021-12-09 2021-12-09 Division of images into separate color layers

Publications (1)

Publication Number Publication Date
RU2792722C1 true RU2792722C1 (en) 2023-03-23

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2812413C1 (en) * 2023-11-07 2024-01-30 Общество С Ограниченной Ответственностью "Дизайнер" Method for image generation based on user preference analysis

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6865290B2 (en) * 2000-02-09 2005-03-08 Ricoh Company, Ltd. Method and apparatus for recognizing document image by use of color information
US20120092359A1 (en) * 2010-10-19 2012-04-19 O'brien-Strain Eamonn Extraction Of A Color Palette Model From An Image Of A Document
US8571317B2 (en) * 2010-01-15 2013-10-29 Gruntworx, Llc Systems and methods for automatically processing electronic documents using multiple image transformation algorithms
US20160371543A1 (en) * 2015-06-16 2016-12-22 Abbyy Development Llc Classifying document images based on parameters of color layers
US20210224969A1 (en) * 2020-01-21 2021-07-22 Abbyy Production Llc Detection and identification of objects in images
US11087123B2 (en) * 2019-08-24 2021-08-10 Kira Inc. Text extraction, in particular table extraction from electronic documents

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6865290B2 (en) * 2000-02-09 2005-03-08 Ricoh Company, Ltd. Method and apparatus for recognizing document image by use of color information
US8571317B2 (en) * 2010-01-15 2013-10-29 Gruntworx, Llc Systems and methods for automatically processing electronic documents using multiple image transformation algorithms
US20120092359A1 (en) * 2010-10-19 2012-04-19 O'brien-Strain Eamonn Extraction Of A Color Palette Model From An Image Of A Document
US20160371543A1 (en) * 2015-06-16 2016-12-22 Abbyy Development Llc Classifying document images based on parameters of color layers
US11087123B2 (en) * 2019-08-24 2021-08-10 Kira Inc. Text extraction, in particular table extraction from electronic documents
US20210224969A1 (en) * 2020-01-21 2021-07-22 Abbyy Production Llc Detection and identification of objects in images

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2812413C1 (en) * 2023-11-07 2024-01-30 Общество С Ограниченной Ответственностью "Дизайнер" Method for image generation based on user preference analysis

Similar Documents

Publication Publication Date Title
Sauvola et al. Adaptive document image binarization
US10559067B2 (en) Removal of shadows from document images while preserving fidelity of image contents
Parker et al. An approach to license plate recognition
RU2659745C1 (en) Reconstruction of the document from document image series
CN111027297A (en) Method for processing key form information of image type PDF financial data
Lu et al. Binarization of degraded document images based on contrast enhancement
CN110766017B (en) Mobile terminal text recognition method and system based on deep learning
Harraj et al. OCR accuracy improvement on document images through a novel pre-processing approach
CA2502529A1 (en) Model of documents and method for automatically classifying a document
Chen et al. Page segmentation for historical document images based on superpixel classification with unsupervised feature learning
Singh et al. Adaptive binarization of severely degraded and non-uniformly illuminated documents
US11144799B2 (en) Image classification method, computer device and medium
CN113158977B (en) Image character editing method for improving FANnet generation network
De Mello et al. Digital document analysis and processing
CN113901952A (en) Print form and handwritten form separated character recognition method based on deep learning
Durga Devi et al. Digital acquisition and character extraction from stone inscription images using modified fuzzy entropy-based adaptive thresholding
CN112508000B (en) Method and equipment for generating OCR image recognition model training data
RU2792722C1 (en) Splitting images into separate color layers
US20230186592A1 (en) Division of images into separate color layers
Polyakova et al. Combined method for scanned documents images segmentation using sequential extraction of regions
Zhang et al. Text extraction for historical Tibetan document images based on connected component analysis and corner point detection
CN114519788A (en) Image processing method, image processing device, electronic equipment and computer readable storage medium
CN115273061B (en) Image content level extraction method and system based on principal component analysis
Dai et al. Novel Features for Character Extraction of Historical Chinese Seal Images
Akoushideh et al. Text localization in digital images using a hybrid method