IP Library Granted Patent US 11,893,818
Granted Patent B2
US 11,893,818 · App. 17/384,985 · Granted Feb 6, 2024

Optimization and use of codebooks for document analysis

Inventors: Ivan Zagaynov (Dolgoprudniy, RU); Vasily Loginov (Moscow, RU); Stanislav Semenov (Moscow, RU); Aleksandr Valiukov (St. Petersburg, RU)
Assignee: ABBYY Development Inc.
G06V30/416G06F18/2163G06F18/22G06T5/30G06T5/40G06V10/462G06V30/18143G06T2207/20076G06T2207/30176
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,893,818
App. No.
17/384,985
Granted
Feb 6, 2024
Kind
B2
Abstract

A method of generating and optimizing a codebooks for document analysis comprises: receiving a first set of document images; extracting a plurality of keypoint regions from each document image of the first set of document images; calculating local descriptors for each keypoint region of the extracted keypoint regions; clustering the local descriptors such that each center of a cluster of local descriptors corresponds to a respective visual word; generating a codebook containing a set of visual words; and optimizing the codebook by maximizing mutual information (MI) between a target field of a second set of document images and at least one visual word of the set of visual words.

Claims (65)

1. A method, comprising:

receiving, by a processing device, a first set of document images;

extracting a plurality of keypoint regions from each document image of the first set of document images;

calculating local descriptors for each keypoint region of the extracted keypoint regions;

clustering the local descriptors such that each center of a cluster of local descriptors corresponds to a respective visual word;

generating a codebook containing a set of visual words;

optimizing the codebook by maximizing mutual information (MI) between a target field of a second set of document images and at least one visual word of the set of visual words; and

detecting, using the codebook, one or more fields in a document image.

2. The method of claim 1 , wherein extracting each keypoint region of the plurality of keypoint regions further comprises: morphologically preprocessing each document image of the first set of document images.

3. The method of claim 1 , wherein extracting the plurality of keypoint regions involves identifying a plurality of maximally stable extremal regions (MSERs), the method further comprising:

connecting at least a subset of the maximally stable extremal regions (MSERs) to build a corresponding bounding rectangular region; and

transforming each bounding rectangular region into a square region.

4. The method of claim 1 , further comprising:

calculating, for each cluster, a standard deviation of each of the local descriptors of the cluster from the visual words of the codebook; and

normalizing a distance between each of the local descriptors and the center of the cluster by the standard deviation.

5. The method of claim 1 , further comprising:

labeling target fields in each document image of the second set of document images;

extracting the keypoint regions and their corresponding local descriptors from each document image of the second set of document images; and

detecting visual words in the second set of documents by vector quantization of each local descriptor using a nearest visual word in the codebook.

6. The method of claim 1 , further comprising:

calculating conditional histograms of coordinates for at least one visual word and at least one target field of the second set of documents.

7. The method of claim 6 , wherein maximizing MI comprises maximizing an objective function of the MI based on the conditional histograms.

8. A system, comprising:

a memory,

a processor coupled to the memory, the processor configured to:

receive a first set of document images;

extract a plurality of keypoint regions from each document image of the first set of document images;

calculate local descriptors for each keypoint region of the extracted keypoint regions;

cluster the local descriptors such that each center of a cluster of local descriptors corresponds to a respective visual word;

generate a codebook containing a set of visual words; and

optimize the codebook by maximizing mutual information (MI) between a target field of a second set of document images and at least one visual word of the set of visual words; and

detect, using the codebook, one or more fields in a document image.

9. The system of claim 8 , wherein extracting each keypoint region of the plurality of keypoint regions further comprises: morphologically preprocessing each document image of the first set of document images.

10. The system of claim 8 , wherein extracting the plurality of keypoint regions involves identifying a plurality of maximally stable extremal regions (MSERs), and wherein the processor is further configured to:

connect at least a subset of the maximally stable extremal regions (MSERs) to build a corresponding bounding rectangular region; and

transform each bounding rectangular region into a square region.

11. The system of claim 8 , wherein the processor is further configured to:

calculate, for each cluster, a standard deviation of each of the local descriptors of the cluster from the visual words of the codebook; and

normalize a distance between each of the local descriptors and the center of the cluster by the standard deviation.

12. The system of claim 8 , wherein the processor is further configured to:

label target fields in each document image of the second set of document images;

extract the keypoint regions and their corresponding local descriptors from each document image of the second set of document images; and

detect visual words in the second set of documents by vector quantization of each local descriptor using a nearest visual word in the codebook.

13. The system of claim 8 , wherein the processor is further configured to:

calculate conditional histograms of coordinates respectively for at least one visual word and at least one target field to optimize the codebook.

14. The system of claim 13 , wherein maximizing MI comprises maximizing an objective function of the MI based on the conditional histograms.

15. A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to:

receive, a first set of document images;

extract a plurality of keypoint regions from each document image of the first set of document images;

calculate local descriptors for each keypoint region of the extracted keypoint regions;

cluster the local descriptors such that each center of a cluster of local descriptors corresponds to a respective visual word;

generate a codebook containing a set of visual words;

optimize the codebook by maximizing mutual information (MI) between a target field of a second set of document images and at least one visual word of the set of visual words; and

detect, using the codebook, one or more fields in a document image.

16. The non-transitory computer-readable storage medium of claim 15 , wherein to extract each keypoint region of the plurality of keypoint regions, the instructions further cause the processing device to:

morphologically preprocess each document image of the first set of document images.

17. The non-transitory computer-readable storage medium of claim 15 , wherein to extract the plurality of keypoint regions the instructions further cause the processing device to identify a plurality of maximally stable extremal regions (MSERs), and wherein the instructions further cause the processing device to:

connect at least a subset of the maximally stable extremal regions (MSERs) to build a corresponding bounding rectangular region; and

transform each bounding rectangular region into a square region.

18. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions further cause the processing device to:

calculate, for each cluster, a standard deviation of each of the local descriptors of the cluster from the visual words of the codebook; and

normalize a distance between each of the local descriptors and the center of the cluster by the standard deviation.

19. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions further cause the processing device to:

calculate conditional histograms of coordinates for at least one visual word and at least one target field of the second set of documents.

20. The non-transitory computer-readable storage medium of claim 19 , wherein maximizing MI comprises maximizing an objective function of the MI based on the conditional histograms.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2023
From: VALIUKOV, ALEKSANDR
To: ABBYY DEVELOPMENT INC.
Reel/Frame 065108/0761 →
SECURITY INTEREST Recorded Aug 14, 2023
From: ABBYY INC.; ABBYY USA SOFTWARE HOUSE INC.; ABBYY DEVELOPMENT INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 064730/0964 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2021
From: ZAGAYNOV, IVAN; LOGINOV, VASILY; SEMENOV, STANISLAV
To: ABBYY DEVELOPMENT INC.
Reel/Frame 056984/0635 →
Cited By (2)
US 12,327,424 US 12,406,516