Blank Character Handling in OCR String Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing OCR systems face challenges in accurately processing candidate strings that include blank characters, as traditional methods treat blanks similarly to non-blank characters, leading to ambiguity and incorrect data creation or suppression, especially when matching model strings with blanks in optical character recognition.

Innovation Solution

The proposed solution involves an improved edit cost calculation method that distinguishes between blank and non-blank characters, allowing for specific edit operations and costs, such as deletion, insertion, and keeping, to accurately determine the minimum edit cost between candidate and model strings, thereby correctly handling blanks in the recognition process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional OCR methods treat blank characters similarly to non-blank characters, then the processing method is simple and uniform, but this leads to ambiguity and incorrect data creation or suppression in string recognition

Engineering Contradiction:
Improvestring recognition accuracyVSAvoidedit cost calculation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the edit cost calculation into distinct cases: one for blank characters and another for non-blank characters. This segmentation allows the system to handle blanks with special edit operations (insertion, deletion, keeping) while maintaining standard operations for non-blank characters, thereby improving recognition accuracy without entirely overwhelming complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by assigning different edit cost rules to different character types within the same string processing framework. Blank characters receive specialized handling with specific cost assignments for insertion, deletion, and keeping operations, while non-blank characters follow traditional edit distance rules, allowing precise local optimization without global complexity

Inventive Principle:
Principle #3Local quality

2Measurement precision

If specialized edit operations are implemented for blank characters, then string recognition accuracy improves, but the processing time and computational overhead increase

Engineering Contradiction:
Improveblank character recognition accuracyVSAvoidpost-processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary classification of characters as blank or non-blank during the edit cost calculation setup phase. This preliminary action allows the system to pre-determine which edit operations are applicable to each character position, avoiding runtime decision-making and reducing computational overhead during the actual dynamic programming execution

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the parameter structure of edit costs by introducing conditional cost values based on character type. Instead of using uniform cost matrices, the system adjusts cost parameters dynamically based on whether a character is blank or not, allowing efficient computation through parameter-based differentiation rather than structural complexity

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If traditional dictionary lookup methods are used, then the correction process is straightforward, but they are inadequate for strings that are not words but satisfy a template (e.g., license plate numbers, serial numbers)

Engineering Contradiction:
Improveapplicability to template-based stringsVSAvoidcorrection reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent transforms the correction approach from dictionary-based to template-based by changing the parameters of validity checking. Instead of checking against a fixed dictionary of words, the system uses template parameters (such as character position constraints, allowed character sets, and blank position rules) to validate corrected strings, thereby achieving both versatility for different string types and reliability through structured validation

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent creates a universal correction framework that can handle multiple string types (license plates, serial numbers, postal codes, etc.) through a single template-based system. This universal approach replaces multiple specialized dictionary lookups with one adaptable mechanism that maintains high reliability through consistent application of edit distance and template matching across diverse string formats

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11087122B1Method and system for processing candidate strings detected in an image to identify a match of a model string in the image
Publication Date: 2021.08.10 MATROX ELECTRONICS SYST LTD
  • US11087122B1 patent drawing
  • US11087122B1 patent drawing
  • US11087122B1 patent drawing

AI summary

A minimum edit cost is representative of a cost of edit operations performed on a candidate string detected in an image to satisfy characteristics of a model string. An attempt to perform a minimum edit cost between the candidate string and the model string is performed. Upon determining that the candidate string includes a blank character at a first character position between two consecutive non-blank candidate characters, and in response to determining that there is a non-blank model character at a second character position of the model string and that the second character position is associated with the first character position of the blank character in the candidate string, an indication that the minimum edit cost between the candidate string and the model string cannot be computed and that the candidate string is not a match to the model string is output.