(858) 586 7777 | About | Testimonials | Contact
vteams vteams vteams vteams
  • How does it work?
    • Startup Process
    • Your First Day
  • Technologies
    • Hire PHP Developer
    • Hire App Developer
    • Hire JavaScript Developer
    • Hire ROR Developer
    • Hire IOS Developer
    • Hire .NET Developer
    • Hire AI Developer
    • Hire Robotics Engineer
  • Sample Budgets
  • Meet The Team
  • Experiments
  • Captain’s Log
  • Blog
vteams vteams
  • How does it work?
    • Startup Process
    • Your First Day
  • Technologies
    • Hire PHP Developer
    • Hire App Developer
    • Hire JavaScript Developer
    • Hire ROR Developer
    • Hire IOS Developer
    • Hire .NET Developer
    • Hire AI Developer
    • Hire Robotics Engineer
  • Sample Budgets
  • Meet The Team
  • Experiments
  • Captain’s Log
  • Blog
Blog
  1. vteams
  2. Blog
  3. Optical Mark Recognition – Implementation
Sep 03

Optical Mark Recognition – Implementation

  • September 3, 2015

The application under development by vteam #67, is an image scanning and indexing desktop application. It is mainly developed using C#, .NET Framework, SQL Server 2008, Atalasoft OMR Engine, Image Processing SDK, DotTWAIN SDK. It is multilingual and has different modules which allows specific user group to focus on a specific area, like scanning, Quality assurance, Index/auto indexing, exporting.

Optical mark recognition (also called optical mark reading and OMR) is the process of capturing human-marked data from document forms such as surveys and tests. Client shared his requirement to add “Optical Mark Recognition (OMR)” feature into the existing barcode recognition template which already addresses standard barcodes and custom text base zone recognition.

Challenge:

The true OMR reader applications always consists of two modules;

  • Creating template forms and printing for end users
  • Scanning filled forms and performing OMR which means the location of each mark is loaded from template and OMR engine check same coordinates on the scanned images
    .

Provided that “To recognize Optical mark, the OMR engine expects its location (coordinates) to be provided” but in our case, the template form is not available which means user needs to create a template based on the image to specify location of each Optical Mark. Often OMR sheets/forms contain hundreds of mark and to map every mark’s location is very difficult and time taking.

There are object detection algorithms (like Hough Transform/Hough Circles Detection) which can find the objects on an image and provide coordinates but documents with lots of text and noise, it never provided reasonable accuracy since some marks matches the letter O and digit 0, sometimes marks are scattered in between text/paragraphs.

Real World OMR Workflow:

Create OMR template -> Print templates -> Fill/Gray out the Marks -> Scan the filled forms -> Do recognition

Our Application OMR Workflow:

Scan the filled OMR forms -> Create Template to specify each mark location -> Do Recognition

Implementation:

A custom algorithm was written to find the Optical marks from zones instead of whole image. Images are pre-processed (Noise cleanup, Edge detection, Thresholding) before detecting marks. User draws a zone around group of marks and it detects expected number of marks coordinates. For a single group or marks, only one zone is required. But for marks scattered across text blocks, sub zones were created and results were merged to output single result.

  1. Single zone per Optical marks group:
    omr-1
  2. A Zone along with sub zones for a questionnaire with marks located in different text blocksomr-2

Conclusion:

It decreased template creating time considerably. There were customers who wanted OMR surveys with around 1000 marks per form but mapping that many marks coordinates one by one was a tiresome and time taking task. Like in the above examples to read a SSN zone, user would have to map 90 marks’ coordinates but zonal recognition with customized object detection reduced it to draw only a simple zone and set few properties for it.

  • Facebook
  • Twitter
  • Tumblr
  • Pinterest
  • Google+
  • LinkedIn
  • E-Mail

Comments are closed.

SEARCH BLOG

Categories

  • Blog (490)
  • Captain's Log (1)
  • Closure Reports (45)
  • Experiments (7)
  • How-To (56)
  • Implementation Notes (148)
  • Learn More (156)
  • LMS (8)
  • Look Inside (10)
  • Operations Log (12)
  • Programmer Notes (20)
  • R&D (14)
  • Rescue Log (4)
  • Testimonials (25)
  • Uncategorized (4)

RECENT STORIES

  • GitHub Actions- Automate your software workflows with excellence
  • Yii Framework – Accomplish Repetitive & Iterative Projects with Ease
  • A Recipe for CRM Software Development
  • Are Agile and DevOps the same?
  • The Data Scientist’s Toolset

ARCHIVES

In Short

With the vteams model, you bypass the middleman and hire your own offshore engineers - they work exclusively for you. You pay a reasonable monthly wage and get the job done without hassles, re-negotiations, feature counts or budget overruns.

Goals for 2020

  • Open development center in Australia
  • Complete and Launch the Robot
  • Structural changes to better address Clients' needs

Contact Us

Address: NEXTWERK INC.
6790 Embarcadero Ln, Ste 100,
Carlsbad, CA 92011, USA

Tel: (858) 586 7777
Email: fahad@nextwerk.com
Web: www.vteams.com

© 2020 vteams. All Rights Reserved.

Content Protection by DMCA.com