Neural Network Character Recognition with Confidence-Based User Feedback
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional optical character recognition (OCR) methods, including smartphone imaging and image processing, have been unreliable for reading multi-character codes due to factors like character size, camera resolution, beverage stains, font, lighting, and shadows, especially for codes printed in pin code character formats.
Innovation Solution
A computer-implemented method using a neural network to identify characters in an image of a multi-character code, where the method includes segmenting the image to identify character regions, applying these regions to the neural network for character recognition, and displaying the recognized characters with confidence levels. Characters with low confidence levels are displayed differently to prompt user correction, and the user's corrections are used to train the neural network.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If conventional optical character recognition (OCR) methods are used to read codes via smartphone imaging, then the process is simplified and automated, but the character recognition accuracy becomes unreliable due to factors like character size, camera resolution, beverage stains, font variations, lighting, and shadows
Solution Approach 1:
The code reading process is segmented into multiple stages: initial neural network prediction, confidence level assessment, selective user verification for low-confidence characters, and iterative refinement. This segmentation allows the system to automate high-confidence recognitions while selectively engaging user input only when needed, resolving the contradiction between automation and accuracy.
Solution Approach 2:
The system implements feedback loops where user corrections of low-confidence character predictions are fed back into the neural network for retraining. This feedback mechanism continuously improves recognition accuracy while maintaining high automation levels, as the system learns from user corrections to reduce future manual interventions.
2Ease of manufacture
If conventional OCR methods are used for pin code character formats, then the implementation is straightforward, but the character recognition rate remains below commercially acceptable levels
Solution Approach 1:
The system changes key parameters of the recognition process by using neural networks with configurable confidence thresholds instead of fixed conventional OCR rules. The confidence level parameter allows dynamic adjustment between automation and accuracy, enabling commercially acceptable recognition rates while maintaining implementation feasibility through standard mobile device cameras.
3Extent of automation
If a high confidence threshold is used for automatic character acceptance, then automation is maximized, but more characters require user correction when confidence is below the threshold
Solution Approach 1:
The confidence threshold is not fixed but dynamically adjusted based on the specific code being processed and environmental conditions. The system adapts the threshold to maximize automation while minimizing user correction time, allowing high automation for clear codes while lowering the threshold only when necessary to reduce manual input requirements.
4Measurement precision
If user corrections are collected and used for neural network training, then recognition accuracy improves over time, but the system complexity increases due to the training infrastructure
Solution Approach 1:
The system implements self-service learning where user corrections automatically become training data for continuous neural network improvement. Users inadvertently train the system by providing corrections during normal use, eliminating the need for separate training infrastructure while continuously improving recognition accuracy through real-world data collection.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
One embodiment of a system and process of reading a multi-character code may include identifying regions in which respective characters of the code reside in response to receiving an image of the multi-character code. The identified regions may be applied to a neural network to determine the respective characters in the identified regions. The determined characters may be displayed in an ordered sequence for a user to visually inspect to confirm that each of the determined characters are correct.