IP Library › Granted Patent US 12,046,066
Granted Patent B2
US 12,046,066 · App. 17/252,678 · Granted Jul 23, 2024

Data extraction from short business documents

Inventors: Elena Busila (Montreal, CA); Jerome Pasquero (Montreal, CA); Tim Beiko (Montreal, CA); Evelin Fonseca Cruz (Montreal, CA); Minh-Kim Dao (Montreal, CA); Majid Laali (Montreal, CA); Patrick Lazarus (Montreal, CA)
Assignee: ServiceNow Canada Inc.
G06V30/414G06F16/906G06N20/00G06T5/73G06T5/80G06V30/133G06V30/413G06V30/416G06T2207/20132G06V30/10
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 12,046,066
App. No.
17/252,678
Granted
Jul 23, 2024
Kind
B2
Abstract

Systems and methods for document analysis. An image containing at least one document is received at a pre-processing stage and the image is analyzed for image quality. If the image quality is insufficient for further processing, this is adjusted until the image is suitable for further processing. After the image quality adjustment, the image is then passed to an initial processing stage. At the initial processing stage, the boundaries of one or more documents within the image are determined. In addition, the orientation of the image may be adjusted and the type of document(s) within the image is determined. From the initial processing stage, the adjusted image is then passed to a data extraction stage. At this stage, clusters of data within the document are determined and bounding boxes are placed around the clusters. Data regarding each of the clusters of data is then gathered.

Claims (64)

1. A system for processing an image containing at least one document, the system comprising: a non-transitory storage medium storing computer-readable instructions thereon; and at least one processor operatively connected to the non-transitory storage medium, the at least one processor, upon executing the computer-readable instructions, being configured for:

analyzing an image to determine image quality parameters;

determining if an image quality of said image is suitable for processing based on said image quality parameters;

if the image quality parameters are not sufficient based on a threshold:

adjusting at least one image quality parameter of said image to output an adjusted image;

if the image quality parameters are sufficient based on the threshold: outputting the image as the adjusted image

determining at least one boundary of said at least one document in said adjusted image;

determining clusters of data based on said at least boundary in said at least one document, said determining clusters of data comprising determining cluster parameters regarding said clusters of data, the cluster parameters comprising position information, size information and relative position information of each cluster; and

generating an output suitable for further processing to determine contents of said at least one document based on said cluster parameters.

2. The system according to claim 1 , wherein said image contains multiple documents and said determining at least one boundary of said at least one document comprises determining boundaries for said multiple documents.

3. The system according to claim 1 , wherein said adjusting one or more image quality parameters to obtain the adjusted image comprises one or more of:

removal of artefacts from said image;

adjusting a contrast of said image;

cropping said image;

adjusting a geometry of said image;

adjusting said image to compensate for projection effects;

adjusting a sharpness of said image; and

adjusting a color of said image.

4. The system according to claim 1 , wherein said adjusting one or more image quality parameters to obtain the adjusted image comprises one or more of:

performing a rotation of said image;

performing a partial rotation of said image;

performing a geometric translation of said image;

performing at least one image adjustment to compensate for projection effects;

determining a top portion of said at least one document in said image;

determining a bottom portion of said at least one document in said image;

determining a delineation of a page in said at least one document in said image using a detection of either headers or footers in said page;

and

performing an OCR process on at least one portion of said at least one document.

5. The system according to claim 1 , wherein said determining cluster parameters regarding said clusters of data comprises one or more of:

placing bounding boxes around said clusters of data;

determining a position of each cluster of data within said at least one document;

concatenating adjacent clusters of data when necessary to form a single cluster of data;

for at least one cluster of data containing text data, determining a font type used in said text data;

for at least one cluster of data containing text data, determining a font size used in said text data;

performing an OCR process on one or more clusters of data containing text data to determine a content of said one or more clusters of data;

for at least one cluster of data containing image data, determining shapes present in said image data;

for at least one cluster of data containing image data, determining lines present in said image data;

for at least one cluster of data containing image data, determining if said image data contains a logo;

for at least one cluster of data containing image data, determining if said image data contains a bar code;

determining if a portion of said at least one document indicates a check box being filled in;

determining if a portion of said at least one document indicates a radio button being activated;

for at least one cluster of data containing image data, determining if said image data contains alphanumeric characters; and

for each cluster of data, determining a size in pixels of said cluster.

6. The system according to claim 1 , wherein said determining said at least one boundary of said at least one document comprises determining boundaries for multiple documents in said image.

7. The system according to claim 1 , wherein the at least one processor is further configured for using a trained neural network to receive the suitable output, said neural network being for determining a type of data present in each cluster of data in said document.

8. A method for determining and extracting at least one type of data present in a business-related document, the method being executed by at least one processor, the method comprising:

receiving an image of said business-related document;

processing the image to identify clusters of data on said document from said image and to identify cluster parameters related to each cluster, wherein the cluster parameters related to each cluster comprise position information, size information and relative position information of each cluster;

determining a respective content and respective content parameters of the content of each respective cluster; and

determining a type of data present in a specific cluster based on: said parameters related to the specific cluster, parameters related to the content of the specific cluster and a content of said specific cluster; and

extracting a relevant data from the specific cluster of the business-related document.

9. The method of claim 8 , wherein said determining the content comprising determining if the content is one of: text data, image data, table data, and binary nature data.

10. The method of claim 9 , wherein the type of data present in the specific cluster comprises alphanumeric characters.

11. The method of claim 9 , wherein the parameters related to the content in the cluster comprise one of a font size and a font type, when the content is the text data; and the parameters related to the content in the cluster comprise one of an image size and a number of lines within the image, when the content is the image data.

12. A system for determining at least one type of data present in a business-related document, the system comprising: a non-transitory storage medium storing computer-readable instructions thereon; and at least one processor operatively connected to the non-transitory storage medium, the at least one processor, upon executing the computer-readable instructions, being configured for:

receiving an image of said document;

determining clusters of data in said document using said image, said determining clusters of data comprising identifying cluster parameters related to each cluster, wherein the cluster parameters related to each cluster comprise position information, size information and relative position information of each cluster;

determining a type of data present in at least one of specific cluster based on said cluster parameters of said at least one specific cluster in said document; and

extracting a relevant data from the specific cluster of the business-related document.

13. The system according to claim 12 , wherein said at least one type of data comprises address data, date data, and total amount data.

14. The system according to claim 12 , wherein said determining a type of data present in at least one of specific cluster based on cluster parameters of said at least one specific cluster in said document and extracting a relevant data from the specific cluster of the business-related document, is performed using a neural network.

15. The system according to claim 12 , wherein, in addition to said position of said specific cluster in said document, said determining said type of data is based on said specific cluster's position relative to other clusters in said document.

16. The system according to claim 12 , wherein, in addition to said position of said specific cluster in said document, said determining said type of data is based on a content of said specific cluster.

17. The system according to claim 12 , wherein, in addition to said position of said specific cluster in said document, said data determining said type of data is based on a size of said specific cluster.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2025
From: SERVICENOW CANADA INC.
To: SERVICENOW, INC.
Reel/Frame 070644/0956 →
MERGER Recorded Jan 27, 2022
From: ELEMENT AI INC.
To: SERVICENOW CANADA INC.
Reel/Frame 058887/0060 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2021
From: BUSILA, ELENA; PASQUERO, JEROME; FONSECA CRUZ, EVELIN; BEIKO, TIM; DAO, MINH-KIM; LAALI, MAJID; LAZARUS, PATRICK
To: ELEMENT AI INC.
Reel/Frame 055960/0343 →
Continuity (2)
Provisional Application 62688046 · Jun 21, 2018
Related Publication 20210334530A1 · Oct 28, 2021