  We describe the development of a real-time smartphone app that allows the
user to digitize paper receipts in a novel way by "waving" their phone over the
receipts and letting the app automatically detect and rectify the receipts for
subsequent text recognition.
  We show that traditional computer vision algorithms for edge and corner
detection do not robustly detect the non-linear and discontinuous edges and
corners of a typical paper receipt in real-world settings. This is particularly
the case when the colors of the receipt and background are similar, or where
other interfering rectangular objects are present. Inaccurate detection of a
receipt's corner positions then results in distorted images when using an
affine projective transformation to rectify the perspective.
  We propose an innovative solution to receipt corner detection by treating
each of the four corners as a unique "object", and training a Single Shot
Detection MobileNet object detection model. We use a small amount of real data
and a large amount of automatically generated synthetic data that is designed
to be similar to real-world imaging scenarios.
  We show that our proposed method robustly detects the four corners of a
receipt, giving a receipt detection accuracy of 85.3% on real-world data,
compared to only 36.9% with a traditional edge detection-based approach. Our
method works even when the color of the receipt is virtually indistinguishable
from the background.
  Moreover, our method is trained to detect only the corners of the central
target receipt and implicitly learns to ignore other receipts, and other
rectangular objects. Including synthetic data allows us to train an even better
model. These factors are a major advantage over traditional edge
detection-based approaches, allowing us to deliver a much better experience to
the user.
