Register
Submit a solution
The challenge is finished.

Challenge Overview

Challenge Overview

Welcome to the RobinHood Check identification and data extraction Ideation Challenge where your task is to explore and document technical challenges in recognizing images of a check (or, if you prefer, cheque), and identifying standardized data from the check.

In your submission you should document what steps are needed to build a solution for check image recognition and data extraction and compare that to any commercial solutions that could be used out of box for that purpose (instead of building the solution from scratch).

NOTE: Four checkpoint prizes of $150 will be awarded. Submission deadline for checkpoints is Monday Oct 19th 9AM CET. Checkpoint feedback will be provided within 24 hours.

Background

Scope of this project is to provide a tool that takes an image as input and does two things:

  • Identifies weather it is an image of a check, and

  • Extracts standardized check data from the image

 

The input image can be any image (think users taking a photo of a check using their phone) and can contain various types of checks. We can limit the scope to checks using latin alphabet (not necessarily English only), but there is no standard template for a check and we need to account for a lot of variations like:

  • Checks from different banks (each bank can have different layout for the check)

  • Personalized checks (different background images)

  • Different fonts/typesets

 

Another source of variation is different image quality - we expect the images to come from phone cameras, not those nice scanned images, so there can be a lot of variations in resolution, brightness, angles, contrast, etc.

 

The above list does not cover all the variations - you should expand this list and discuss possible solutions - remember that our goal is to cover as much variation as possible and build a solution with high data extraction accuracy.

 

Common check data to extract from the image is:

  • Payee

  • Amount

  • Date

  • Bank routing number

  • Account number

  • Check number

Those last three are often in a machine (and human) readable format (known as MICR) and will likely be easier to extract than other data that can contain handwritten text.

 

We also don’t have a data set of images that cover all these variations so it is up to you to suggest what can be done for collecting (or generating?) the image data and how to use it to measure performance of the solution that we would build. Also, explore if there are any standards for check layouts or any data formats that could help with validating the extracted data.

 

Finally, we want to explore if there are out of box solutions that we could use instead of building the tool from scratch and what are pros/cons for both cases. It is ok to include both free and commercial products in this comparison and including both technical and cost perspectives.

Task Details

Your task is to explore and document technical challenges in recognizing images of a check  and identifying standardized data from the check image. Note that we’re not only looking for technical challenges(problems), but solutions to those challenges as well and you should document what are the available options for solving each one. 

 

Your submission should be a document with following sections:

  • General info - your view of the requirements 

  • Challenges we need to solve to build the tool

  • Existing solutions and comparison to the custom built tool, with special considerations for these points:

    • Can it be hosted on prem and on the cloud

    • Is there API connectivity for applications to scan images (or we would need to build some middleware to interact with it)

    • Does the solution provide image hosting or requires a 3rd party hosting solution (in case we need to store uploaded images)

    • Does the solution provide a persistent data store for the read data?

    • Does the solution validate (and how it compares to the custom built solution) that the image 

      • a) is a check 

      • b) can read the MICR information

      • c) can read the account holder details and amount

      • d) Identify if a Check is endorsed

    • Is there some ability to integrate with the bank for payment processing

    • And these two non-technical points:

      • Cost Structure/Pricing Model

      • Implementation & Support Model

      • Is there any support for future expansion like support for ACH, Debit or Credit card processing, etc



Final Submission Guidelines

See above

ELIGIBLE EVENTS:

2021 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30145533