  Optical character recognition (OCR) is a widely used pattern recognition
application in numerous domains. There are several feature-rich,
general-purpose OCR solutions available for consumers, which can provide
moderate to excellent accuracy levels. However, accuracy can diminish with
difficult and uncommon document domains. Preprocessing of document images can
be used to minimize the effect of domain shift. In this paper, a novel approach
is presented for creating a customized preprocessor for a given OCR engine.
Unlike the previous OCR agnostic preprocessing techniques, the proposed
approach approximates the gradient of a particular OCR engine to train a
preprocessor module. Experiments with two datasets and two OCR engines show
that the presented preprocessor is able to improve the accuracy of the OCR up
to 46% from the baseline by applying pixel-level manipulations to the document
image. The implementation of the proposed method and the enhanced public
datasets are available for download.
