Sparse Matrix Vector Multiplication for OCR Speed
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Measurement precision
If all elements of the binary vector are processed in matrix multiplication, then complete feature extraction is achieved, but computation time increases
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.
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.
3Productivity
If sparse matrix is stored in conventional memory format, then storage is simple, but memory bandwidth becomes a bottleneck
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.
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.
Data Source
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.


