# US 8,540,158 B2 · Document verification using dynamic document identification framework

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,540,158 B2
- Document ID: US8540158B2
- Status: Granted
- Kind: B2
- Application number: 11/955,136
- Filed: 2007-12-12
- Published: 2009-06-18
- Granted: 2013-09-24
- Earliest claimed: 2007-12-12
- Applicants: Yiwu Lei; James E. MacLean
- Inventors: Yiwu Lei; James E. MacLean
- Web page: https://patentgrep.com/patent/US8540158B2

## CPC

- G06Q 50/26: Government or public services (business processes related to the transportation industry G06Q50/40)
- G06F 16/93: Document management systems
- G06Q 50/18: Legal services
- G07D 7/202: using pattern matching
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G07D: HANDLING OF COINS OR VALUABLE PAPERS, e.g. TESTING, SORTING BY DENOMINATIONS, COUNTING, DISPENSING, CHANGING OR DEPOSITING

## Abstract

Techniques are described for identifying and validating security documents according to a dynamic document identification framework. For example, a security document authentication device includes an image capture interface that receives the captured images of a document and a memory that stores a plurality of document type objects within a data structure according to the dynamic document identification framework. The security document authentication device also includes a document processing engine that traverses the data structure by selectively invoking one or more of the plurality of processes to identify the captured images as one of the plurality of document type objects. Contrary to conventional identification techniques, this identification method performed by traversing the data structure stored according to the dynamic document identification framework may provide more accurate identification result in a more efficient manner, as only applicable processes may be applied to identify the captured images. Upon identifying the document type, a set of one or more validators are applied to further confirm its authenticity.

## Claims

### Claim 1

A method comprising:
receiving one or more captured images of an unknown document;
storing a plurality of document type objects within a data structure according to a dynamic document identification framework, wherein the plurality of document type objects are arranged hierarchically in the form of nodes, wherein the plurality of document type objects reference a plurality of recursive processes for extracting attributes from the captured images to categorize and verify the unknown document as a document type represented by one of the document type objects;
for the unknown document, traversing the data structure, accessing the document type objects in an order that varies based on the attributes extracted by application of the recursive processes to the captured images of the unknown document; and
identifying the unknown document as one of the plurality of document type objects upon traversing the data structure.

### Claim 2 (depends on 1)

The method of claim 1, wherein receiving the captured images include receiving one or more of an infra-red (IR) image, a visible-light spectrum image, an ultraviolet (UV) image, and a retro-reflective image.

### Claim 3 (depends on 1)

The method of claim 1, wherein receiving the captured images of the unknown document includes receiving captured images of one of a passport, a driver's license, a birth certificate, a financial document, a commercial paper, an identification card, and a social security card.

### Claim 4 (depends on 1)

The method of claim 1, wherein storing the plurality of document type objects includes storing the plurality of document type objects within a tree data structure according to a dynamic document identification framework.

### Claim 5 (depends on 1)

The method of claim 1, wherein storing the plurality of document type objects includes storing a plurality of document type and sub-type objects within the data structure according to the dynamic document identification framework in a recursive way having sub-document types as children of the document type objects.

### Claim 6 (depends on 1)

The method of claim 1,
wherein storing the plurality of document type objects includes storing a classifier object that references one or more of the plurality of processes, and
wherein traversing the data structure includes traversing the classifier object to:
invoke the one or more processes referenced by the classifier object to determine a set of possible reference document type objects; and
traverse the set to identify the captured images as one of the plurality of possible reference document type objects.

### Claim 7 (depends on 6)

The method of claim 6,
wherein storing the plurality of document type objects includes storing a minimum certainty value and a verifier object that references one or more of the plurality of processes, and
wherein traversing the set includes traversing the verifier object to:
invoke the one or more of the plurality of processes referenced by the verifier object;
calculate a certainty value from one or more return values received from invoking the one or more of the plurality of processes referenced by the verifier object to process attributes extracted from the unknown document by the classifier object in comparison to the reference document type objects; and
selectively discard one or more of the possible reference document type objects from the set based on the comparison between the certainty value and minimum certainty value.

### Claim 8 (depends on 6)

The method of claim 6,
wherein storing the plurality of document type objects includes storing first and second verifier objects that each reference one or more of the plurality of processes, and
wherein traversing the set includes:
traversing the first verifier object to calculate a first certainty value based on result values received after invoking the processes referenced by the first verifier object;
traversing the second verifier object to calculate a second certainty value based on the result values received after invoking the processes referenced by the second verifier object; and
identifying the captured images as one of the plurality of possible reference document type objects based on a comparison between the first and second certainty values.

### Claim 9 (depends on 6)

The method of claim 6, wherein storing the plurality of document type objects includes:
storing a plurality of priorities; and
associating each of the plurality of priorities to one of the plurality of document type objects within the data structure, and
wherein traversing the data structure includes traversing the data structure according to the priorities associated with each of the plurality of possible reference document type objects.

### Claim 10 (depends on 6)

The method of claim 6, further comprising storing a set of recently verified document type objects within a queue data structure, and
wherein traversing the data structure includes traversing the set of recently verified document type objects within the data structure.

### Claim 11 (depends on 6)

The method of claim 6, wherein traversing the data structure includes invoking a layout matching identification process of the plurality of processes to:
segment and identify a plurality of connected regions of the captured image;
graphically represent the captured image by classifying the plurality of connected regions and establishing a set of relationships between the plurality of connected regions;
compare the plurality of connected regions to template data associated with one of the plurality of document type objects; and
based on the comparison, determine whether the captured images belong to the one of the plurality of document type objects currently under comparison.

### Claim 12 (depends on 6)

The method of claim 6, wherein traversing the data structure includes invoking an Eigenimage document matching process of the plurality of processes to:
calculate the Eigen images and values of the plurality of possible reference document type objects,
select one or more of the reference document type objects having larger Eigen values and stored in the data structure,
calculate a reference weight coefficient vector of each of the plurality of possible reference document type objects stored into the data structure in the learning stage;
calculate a weight coefficient vector of the captured image;
compare the image and document weight coefficient vectors to calculate a distance; and
based on the distance, determine whether the unknown document belongs to the one of the plurality of possible reference document type objects currently under comparison.

### Claim 13 (depends on 7)

The method of claim 7,
wherein the result of the identification process contains a candidate list of one or more different documents types,
wherein the candidate list is an ordered list based on the certainty values, and
wherein the results of the identification process is used as input to determine subsequent processing of sub-document types.

### Claim 14 (depends on 1)

The method of claim 1 further comprising:
applying an automatic method to learn reference data of a type of document from sample images;
storing the reference data for invocation by a node of the data structure;
applying a dynamic method to categorize the unknown document as one of the documents within the data structure to effect subsequent processing and traversal of the data structure.

### Claim 15 (depends on 1)

The method of claim 1, further comprising confirming authenticity of the unknown document, wherein confirming the authenticity of unknown document includes:
invoking one or more of:
a first method to evaluate a possibility of a printing method for the unknown document is from intaglio or engrave printing technology;
a second method to discriminate a screening method used to print image and text; or
a third method to evaluate whether a printing material for the unknown document includes a micro structure; and
based on the invoking, determine whether the unknown document is authentic or not.

### Claim 16 (depends on 1)

The method of claim 1, further comprising identifying and verifying the unknown document as a security document that combines embedded electronic information includes one or more of radio frequency identification (RFID) data, electronic passport data, smartcard data, or magnetic strip data.

### Claim 17 (depends on 1)

The method of claim 1, further comprising presenting results of the identification and verification process to a user, wherein presenting includes presenting feedback to the user in visual or sound format.

### Claim 18 (depends on 1)

The method of claim 1, wherein the dynamic document identification framework includes a plurality of hierarchical levels, further comprising: wherein traversing the data structure comprises, at multiple different levels of the dynamic document identification framework, selecting a child node of a parent node from among a plurality of child nodes of the parent node based on the attributes extracted by application of the recursive processes to the captured images to traverse down to a lower-level document type object stored to the dynamic document identification framework.

### Claim 19

A security document authentication device comprising:
an image capture interface that captures one or more images from an unknown document;
a memory that stores a plurality of document type objects within a data structure according to a dynamic document identification framework, wherein the plurality of document type objects are arranged hierarchically in the form of nodes, wherein the plurality of document type objects reference a plurality of recursive processes for extracting attributes from the captured images; and
a document processing engine that traverses the data structure, accessing the document type objects in an order that varies based on the attributes extracted by application of the recursive processes to the captured images of the unknown document, wherein the document processing engine identifies the unknown document as one of the plurality of document type objects upon traversing the data structure.

### Claim 20 (depends on 19)

The security document authentication device of claim 19, wherein the image capture interface receives the captured images by receiving one or more of an infra-red (IR) image, a visible-light spectrum image, an ultraviolet (UV) image, and a retro-reflective image.

### Claim 21 (depends on 19)

The security document authentication device of claim 19, wherein the image capture interface receives the captured images of the unknown document by receiving captured images of one of a passport, a driver's license, a birth certificate, a financial document, a commercial paper, an identification card, or a social security card.

### Claim 22 (depends on 19)

The security document authentication device of claim 19, wherein the memory stores the plurality of document type objects by storing the plurality of document type objects within a tree data structure according to a dynamic document identification framework.

### Claim 23 (depends on 19)

The security document authentication device of claim 19, wherein the memory stores the plurality of document type objects by storing a plurality of document type and sub-type objects within the data structure according to the dynamic document identification framework interconnected as parent and child nodes for processing in a recursive way.

### Claim 24 (depends on 19)

The security document authentication device of claim 19, wherein the document processing engine includes a document identification module that traverses the data structure.

### Claim 25 (depends on 24)

The security document authentication device of claim 24,
wherein the memory stores the plurality of document type objects by storing a classifier object that references one or more of the plurality of processes, and
wherein the document identification module traverses the data structure by:
invoking the one or more processes referenced by the classifier object to determine a set of possible reference document type objects; and
traversing the set to identify the captured images as one of the plurality of document type objects.

### Claim 26 (depends on 25)

The security document authentication device of claim 25,
wherein the memory stores the plurality of document type objects by storing a minimum certainty value and a verifier object that references one or more of the plurality of processes, and
wherein the document identification module traverses the set by accessing the verifier object and causing the document identification module to:
invoke the plurality of verifier processes referenced by the verifier node;
calculate a certainty value from one or more return values received from invoking the processes referenced by the verifier object; and
selectively discard one or more of the possible reference document type objects from the set based on the comparison between the certainty value and the minimum certainty value.

### Claim 27 (depends on 25)

The security document authentication device of claim 25,
wherein the memory stores the plurality of document type objects by storing two verifier object that each reference one or more of a plurality of verifier processes, and
wherein the document identification module traverses the set by:
traversing the first verifier object, thereby causing the document identification module to calculate a first certainty value based on result values received after invoking the verifier processes referenced by the first verifier object;
traversing the second verifier object, thereby causing the document identification module to calculate a second certainty value based on the result values received after invoking the verifier processes referenced by the second verifier object; and
identifying the captured images as one of the plurality of document types of the reference document type objects based on a comparison between the first and second certainty values.

### Claim 28 (depends on 25)

The security document authentication device of claim 25,
wherein the memory further stores a plurality of priorities and associates each of the plurality of priorities to one of the plurality of document type objects within the data structure, and
wherein the document identification module traverses the data structure by traversing the data structure according to the priorities associated with each of the plurality of document type objects.

### Claim 29 (depends on 25)

The security document authentication device of claim 25,
wherein the memory further stores a set of recently verified document type objects within a queue data structure, and
wherein the document identification module traverses the data structure by first traversing the set of recently verified document type objects within the data structure.

### Claim 30 (depends on 25)

The security document authentication device of claim 25, wherein the document identification module traverses the data structure by invoking a layout matching identification process of the plurality of processes, whereby the process causes the document identification module to:
segment and identify a plurality of connected regions of the captured image;
graphically represent the captured image by classifying the plurality of connected regions and establishing a set of relationships between the plurality of connected regions;
compare the plurality of connected regions to template data associated with one of the plurality of document type objects stored to the data structure; and
based on the comparison, determine whether the captured images belong to the one of the plurality of document type objects currently under comparison.

### Claim 31 (depends on 25)

The security document authentication device of claim 25, wherein the document identification module traverses the data structure by invoking an Eigenimage document matching process of the plurality of processes to:
calculate the Eigen images and values of the plurality of reference document type objects,
select one or more of the reference document type objects have large eigen values;
calculate the reference weight coefficient vector of each of the plurality of reference document type objects stored into the data structure in the learning stage;
calculate the weight coefficient vector of the captured image;
compare the image and document weight coefficient vectors to calculate a distance; and
based on the distance, determine whether the unknown document belongs to the one of the plurality of reference document type objects currently under comparison.

### Claim 32

A computer-readable medium comprising instructions for causing a programmable processor to:
receive captured images of an unknown document;
store a plurality of document type objects within a data structure according to a dynamic document identification framework, wherein the plurality of document type objects are arranged hierarchically in the form of nodes, wherein the plurality of document type objects reference a plurality of recursive processes for extracting attributes from the captured images to categorize and verify the unknown document as a document type represented by one of the document type objects; and
for the unknown document, traverse the data structure, accessing the document type objects in an order that varies based on the attributes extracted by application of the recursive processes to the captured images of the unknown document; and
identify unknown document as one of the plurality of document type objects based on the captured images upon traversing the data structure.

### Claim 33 (depends on 1)

The method of claim 1, wherein a starting point of the traversal within the data structure and an order of invocation of the recursive processes varies based on the attributes extracted by application of the plurality of the recursive processes to the captured images.

### Claim 34 (depends on 1)

The method of claim 1, wherein traversing the data structure for the unknown document comprises selecting an order of invocation of the recursive processes after receiving the captured images of the unknown document based on the attributes extracted by application of the recursive processes to the captured images.
