Sparse Matrix Vector Multiplication for OCR Speed

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing optical character recognition (OCR) systems are slow due to the numerous calculation steps required in matrix vector multiplications, particularly in identifying Asian characters which have a high number of different characters.

Innovation Solution

The method involves normalizing an image into a binary matrix, generating a binary vector, filtering it with a sparse matrix using matrix vector multiplication, creating a probability density for models, selecting the highest probability model, and classifying it, with conditions on the sparse and binary vector values to minimize program steps and increase speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If standard matrix vector multiplication is used for feature extraction, then complete calculation is achieved, but execution speed is slow due to numerous calculation steps

Engineering Contradiction:
Improveexecution speedVSAvoidnumber of program steps
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts only the non-zero elements from the sparse matrix and performs multiplication only with corresponding non-zero elements from the binary vector. This eliminates unnecessary multiplication operations with zero elements, directly reducing the number of program steps while maintaining calculation accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of performing complete matrix vector multiplication with all elements, the patent applies partial action by selectively processing only the non-zero elements. This partial computation approach achieves the necessary feature extraction without the overhead of complete calculation, improving execution speed.

Inventive Principle:
Principle #16Partial or excessive action

2Measurement precision

If all elements of the binary vector are processed in matrix multiplication, then complete feature extraction is achieved, but computation time increases

Engineering Contradiction:
Improveidentification accuracyVSAvoidcomputation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent extracts and processes only the non-zero elements from the binary vector during matrix multiplication. Since zero elements contribute nothing to the sum, this extraction approach maintains identification accuracy while significantly reducing computation time by skipping unnecessary operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the processing parameter from 'all elements' to 'non-zero elements only'. This parameter change in the multiplication process maintains the mathematical correctness of feature extraction while optimizing computation time by eliminating redundant operations with zero-valued parameters.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If sparse matrix is stored in conventional memory format, then storage is simple, but memory bandwidth becomes a bottleneck

Engineering Contradiction:
Improvememory access efficiencyVSAvoidstorage structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the sparse matrix storage by separating non-zero elements from zero elements. Non-zero elements are stored in a compressed format that facilitates efficient access during multiplication, while zero elements are implicitly handled. This segmentation improves memory access efficiency by reducing the amount of data that needs to be fetched from memory.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts non-zero elements from the sparse matrix and stores them in a specialized format that optimizes memory access patterns. This extraction from conventional storage reduces memory bandwidth requirements by eliminating the need to load and process zero elements during multiplication operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9311558B2Pattern recognition system
Publication Date: 2016.04.12 I R I S
  • US9311558B2 patent drawing
  • US9311558B2 patent drawing
  • US9311558B2 patent drawing

AI summary

A method for identifying a pattern in an image. In a first step the image is normalized to a binary matrix. A binary vector is subsequently generated from the binary matrix. The binary vector is filtered with a sparse matrix to a feature vector using a matrix vector multiplication wherein the matrix vector multiplication determines the values of the feature vector by applying program steps which are the result of transforming the sparse matrix in program steps including conditions on the values of the binary vector. Lastly, from the feature vector, a density of probability for a predetermined list of models is generated to identify the pattern in the image.