Client Needs

Application Purpose

  1. The goal of this application is to allow National Financial employees to submit an image, and have the software produce a resultant deposit stamp image, along with a best guess of which customer this customer stamp belongs to.


Deposit Stamp

  1. A deposit stamp is a stamp used to indicate that this item is ready to be deposited into a customer's account.
  2. A deposit stamp is on the back of a check only and is generally unique per customer.
  3. A deposit stamp is approximately rectangular in shape, and has a consistent size.
  4. A deposit stamp can appear anywhere on the back of a check, but is always expected to be entirely imprinted on the check.
  5. Deposit stamps may be stamped by human hands, which will cause a set of imperfections (smearing, uneven application of pressure).
  6. Deposit stamps may be machine printed with dates and sequential numbers included.
  7. Other stamps are not Deposit stamps at all; they are hand written endorsements.
    1. We are not worried about hand written endorsements, so those can be safely discarded.


  1. National will provide example check backs with an assorted variety of stamps.
  2. A second set of images similar to the first set will also need to be produced by National, for testing the application.


  1. Complete and well documented source code.
  2. Instructions on compiling it (this includes all dependencies, compiler options, etc..).
  3. Any licensing (the licensing will be agreed upon before any work is to start).
  4. Usage instructions.

Description of Required Work

Extensions to GNU GIFT Web Interface

The web interface to GNU GIFT needs the following features implemented in order to provide the above functionality:

  1. The addition of a function to select regions via a shape detection algorithm.
    1. This algorithm will be capable of:
      1. Detecting rectangular regions of a document.
      2. De-skewing the contents of that region.
      3. Importing the resulting image into the GNU GIFT web interface in such a way as to be associated with the original document.
  2. The addition of a function to use the internal sorting algorithms of GNU GIFT to sort documents based on the contents of the result of a shape detection.
  3. The ability to export a search result as a CSV report.

Remote Query Interface

The application will come with a series of shell scripts enabling the remote command line usage of web site functionality. This functionality will include, but not be limited to the following:

  1. The ability to log in.
  2. The ability to list the available sets.
  3. The ability to create a new set.
  4. The ability to delete a set and all of its contents.
  5. The ability to list the documents in a selected set.
  6. The ability to create a new document inside of a set.
  7. The ability to delete a document inside of a set.
  8. The ability to list the images in a selected document.
  9. The ability to add images to a document.
  10. The ability to delete an image in a document.
  11. The ability to add a tag to an image in a document.
  12. The ability to remove a tag from an image in a document.
  13. The ability to use the shape extraction tool to extract prospective Deposit stamp(s) from an image.
  14. The ability to delete a detected region associated with an image.
  15. The ability to perform an image sort on either the images themselves, or the extracted regions.
  16. The ability to add a tag to a selected range of the results of an image sort.

The application will use these shell scripts to provide an interface that will accept an image (back of check) and use a saved search criteria to produce a cleaned up, cropped, and deskewed version of a potential deposit stamp, along with which depositor stamp the stamp is most like.

  1. A cleaned up version of a deposit stamp will have as little noise/artifacts as possible.
  2. A cropped version of a deposit stamp will have as much as possible of the check removed without removing any part of the deposit stamp.
  3. A deskewed version of a deposit stamp's base line will line up on a horizontal line and be up right (text not be upside down, for example).

In order to accomplish this simple interface, some steps will need to be performed:

  1. Create a new Set.
  2. Create a new Document.
  3. Upload a batch of images of checks into the new Document.
  4. Extract the deposit stamps from each image in the Document.
  5. Tag each image with a unique identifier, identifying the customer associated with this deposit stamp.

Once these steps are performed, the usage case desired by national financial should be achievable by using the above scripts to:

  1. import a target image.
  2. Perform a region selection on the target image.
  3. Sort the images in this document by the region detected.
  4. Return the region selected, along with the tag of the most 'like' shape detected region, which SHOULD be the closest match.

At the end of processing, it will be necessary to run a script to remove the day's results.

  1. The returned (found) deposit stamp will be at original resolution and aspect ratio.
  2. As the application needs to be "trained" to know how to find a particular deposit stamp (uploading of images, adding of tags, etc), this training data will be stored as to avoid the application from having to be "retrained" per execution.
  3. The application will be usable standalone and not require an internet connection for any reason.
Last modified 6 years ago Last modified on 11/17/13 05:19:57