Answers.Body: <p>OCR - <em>optical character recognition</em> identifies individual characters. So in the case of numbers, there are just 10 classes to learn. And this doesn't depend on how large numbers we are looking at. There is a separate step to segment observed numbers (or words) into single digits (or characters).</p>
  <p>But on low-quality images this character segmentation is non-trivial, so better (and more complex) systems work with a larger context.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-10-27T13:15:05.807Z
Answers.LastActivityDate: 2022-10-27T13:15:05.807Z
Answers.UserDisplayName: NikoNyrh
Body: <p>For the sake of concreteness: let's suppose that the word &quot;OCR&quot; refers to any OCR system build on an R-CNN architecture. Similarly, in aims of simplicity, let's declare that we are interested in reading digits between 0 and 100.</p>
  <p><strong>Question:</strong> <em><strong>How should I construct a dataset (given the aforementioned goal and architecture) ?</strong></em></p>
  <p>My understanding is that I need to collect images of all the digits from 1 to 100 and label them with its corresponding digit. Is this premise correct?</p>
  <p>My struggle is that I can't fully understand how this seemingly tedious procedure is generalized to OCR that read more general types of characters (language-characters for example or if I generalize the problem to detect the numbers from 0 to <span class="math-container">$10^{10}$</span>).</p>
  <p>Thanks in advance!</p>
  
Tags: <convolutional-neural-networks><computer-vision><optical-character-recognition><r-cnn>
Title: How are OCR training datasets constructed?
UserDisplayName: Ramiro Hum-Sah
ThreadText: # How are OCR training datasets constructed?
  
  (Asked by: username_0 on 2022-10-26)
  
  For the sake of concreteness: let's suppose that the word "OCR" refers to any OCR system build on an R-CNN architecture. Similarly, in aims of simplicity, let's declare that we are interested in reading digits between 0 and 100.
  
  **Question:** ***How should I construct a dataset (given the aforementioned goal and architecture) ?***
  
  My understanding is that I need to collect images of all the digits from 1 to 100 and label them with its corresponding digit. Is this premise correct?
  
  My struggle is that I can't fully understand how this seemingly tedious procedure is generalized to OCR that read more general types of characters (language-characters for example or if I generalize the problem to detect the numbers from 0 to $10^{10}$).
  
  Thanks in advance!
  
  **Tags:** convolutional-neural-networks, computer-vision, optical-character-recognition, r-cnn
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2022-10-27. Score: 2
  
  OCR - *optical character recognition* identifies individual characters. So in the case of numbers, there are just 10 classes to learn. And this doesn't depend on how large numbers we are looking at. There is a separate step to segment observed numbers (or words) into single digits (or characters).
  
  But on low-quality images this character segmentation is non-trivial, so better (and more complex) systems work with a larger context.
  
  
  ---
  
  