Image Processing Border Detection-Custom App for CumulusPro

Executive Summary

About Client

CumulusPro is a Cloud-based digital Image Processing Border Detection and verification platform that delivers a quick and efficient onboarding experience for your customers. CumulusPro helps businesses rapidly transform into digital enterprises by linking people, processes, and applications. Their cloud-based Business Process Management (BPM) Platform is designed to revolutionize how organizations and public institutions digitally communicate and collaborate with their customers, citizens, and partners. Digital businesses improve customer experience and increase customer satisfaction, business efficiency, and productivity while reducing cost and time to market.

 

https://cumuluspro.com/solutions/identify-plus/

Location:Singapore

Project Background- SAP Support Services-ID Card Detection

This project explains how we implemented border detection and able to process the image. This involved taking pictures from the browser camera, Ability to capture images using different browsers and devices and store the images in blob storage and relevant information on the SQL server. Processing of images digitally is of much importance since processes are digitalised and people take picture of different ID cards(driving license, passport etc) and upload for various purpose today(for instance filling online applications and forms for numerous reasons).First level of image processing algorithm is implemented on these images for seamless application processing before they are uploaded in the system due to the presence of various issues in the images like existence of white spaces, skewed image to name a few. 

Scope & Requirement

Scope of work for Image Processing Border Detection-custom app development-ID, card detection, and web app development was as below: 

The user captures the image from the camera and should be able to upload the image, which should be
stored in a suitable format. If the image is not correct, then it should either be asked to be retaken or
be corrected using a series of algorithms that we implemented
  • Ensure the image classification is done, as there were 2 Ids being scanned.
  • Change the orientation of the images to de-skew the image to make it 0 degree
  • Be able to refine the resolution of the images and detect borders to crop the image
  • If not able to correct the image ask the user to retake the image before uploading it to the
    system
  • If taken successfully, store the image in the BLOB server and do OCR to store the important
    information related to Identification in the corresponding server
  • Pre-processing to convert the image to greyscale and reduce the noise and improve image quality and size using PyrDown and PyrUp

Implementation

Previous slide
Next slide

Technology and Architecture

Technology 

Mobile app was deployed with the below technological component
• Backend Code: .NET Core, C#, Node.js
• Mobile App code: React Native
• Web App code: ReactJS 
• Database: SQL Server, MongoDB
Cloud: Microsoft Azure

Integrations
• Integration to read all data from an existing Shopify backend. 

• Single Sign-on using Auth0 to register using Google and follow same login procedure as on the Shopify web app. 

• Sendgrid to send emails for order processing events 

Security:

• All API endpoints are tokenized

• Payment Gateway like paypal  would be used which are secure and PCI DSS compliant. 

Backup and Recovery

Cloud systems and components used in the attendance management system are secure and 99.99% SLA. We have added HA/DR mechanism to create a replica of the services 

Scalability

Application is designed to scale up to 10X times the average load received in the 1st 6 months of its usage and all cloud resources are configured for auto-scaling based on the load

Cost Optimization 

Alerts and notifications are configured in the Azure cloud to ensure that if the budget exceeds a notification is sent out 

Code Management, Deployment

Code for the app is handed over to the client through Microsoft AppCenter. 

CI/CD is implemented to automatically add, build and deploy any code changes on the app side.

Features of Image Processing Border Detection-custom app development

  • Automatic ID card border detection and the image cropping
  • Removal of skewness (if present)
  • Correction of orientation

Challenges

We encountered some ssues as below: 

  • Establishing a pre-defined system criterion which needs to be met before uploading the picture. This includes deciding threshold value for the image processing algorithms to be implemented for removal of white spaces present on the side of ID card and skewness present in the image captured
  • The Canny algorithm used for border detection had some limitations and didn’t work in all the scenarios where ID card had more prominent rectangle drawn on it or an image with white background of a white ID card. These cases didn’t gave a correct collection of lines and may have resulted in incorrect border detection. To overcome this problem we implemented FindContours on binary image which gave us a more reliable result
  • We had to cater for devices of varying power and capability since this solution implementation had to run on various platforms. As we got into the testing phase we had to avoid large variation in responsiveness depending on the device used

Project Completion

Duration

 

 

Deliverables

We used OpenCV library for image processing along with EmguCV wrapper, which is compatible with .NET languages (C#,VB,VC++ etc). We implemented the solution through the following steps:

Down sample -> Noise reduction -> Up-sample -> Image Enlargement

  • Edge detection using Canny algorithm(to convert image into collection of lines)
  • Detect outermost lines for Border detection through ‘Probabilistic Hough transform’ to filter out lines based on width & length
  • Using ‘FindContours’ to find objects at outer most location (to overcome the shortcomings of Hough transform)
  • Post processing which includes cropping the image along the border and getting a processed image containing ID card completely and removing any skewness present

Support

As part of the project implementation we have standard practice of providing 1 month of extended support. This includes any Major / Minor bug fixes. 

Testimonial

We took Feedback from stakeholders as below:

Feedback image

 

 

 

 

 

 

 

 

 

Syed Mohd. Atif
Co-Founder Enticed Retail LLP

Next Phase

We are now looking at the next phase of the project, which involves:

  1. Images may not be of the same template, so machine learning can be added to identify the image template and process the image accordingly.
  2. For a specific template, there should be a training model which helps the system to know how the new image template would look like and to be able to adapt to new template images
    faster.

If You Are Looking For Similar Services? Please Get In Touch