In the field of smart document processing, there are many different types of challenges. Many of these challenges are related to the automated extraction and understanding of text.
OCR, Optical Character Recognition, and NLP, Natural Language Processing, are usually the go-to technologies to solve document processing challenges. Automated invoice processing is a good example, in which it is interesting to identify data points such as the name and address of the seller and buyer, but also total amounts and tax values a.o.
But what if you are trying to automatically extract a graphical component of a document? Something that isn’t textual, something like the picture on an ID or the signature. Of course, OCR and NLP will not be sufficient here.
Therefore we will explain in this blog how Klippa can extract signatures from identity documents, or any other document type, via our API that uses a Machine Learning / Computer Vision approach.
What is automated signature extraction?
In a nutshell, automatic signature extraction is a technique that is able to identify, crop, convert and extract any signature on a document into a usable format.
Using this technique, it is possible to automatically identify if a document is signed, how many times it was signed and to obtain an image of this signature (which can be useful for automated signature comparison).
How does signature extraction work?
To successfully extract a signature from a document, our signature extraction API uses a deep learning approach consisting of several steps.
First, it analyses the document or picture that has been sent in. It uses computer vision to segment the document into sections that contain either text or visual components.
After that, it checks if a visual component is likely to be a signature. If so, the software crops the signature, removes background patterns or stains and extracts the leftover scribble into a usable format.
Sounds easy enough right? Below is a visual representation of the steps it takes.
Extracting signature with deep learning
The deep learning approach to signature extraction requires the training of a neural network (UNet with a Resnet encoder) in order to achieve accurate results.
We feed the neural network an extensive dataset with examples of signed documents, such as IDs or contracts. It then iterates through each example in the dataset and recognizes patterns. Each pixel is determined as part of a certain class, either signature or background. The resulting signature pixels form the output that is extracted. On average our signature extraction engine has an F-score (weighted average between recall and precision) of >95%.
As you can see, we are able to provide very accurate results for your business. Below is a visual representation of some of the steps taken by the neural network.
It might be hard to understand if you are not a machine learning expert, but you are basically looking at how the neural network is learning to identify certain shapes and colors for its decision making. The shapes and colors it can identify get more and more complex every time.
What to use signature extraction for?
If your business deals with customer identification or validating signed contracts, you will recognize the tedious manual labour that goes into receiving, checking and validating endless streams of documents.
Klippa’s API uses automatic signature extraction to help you simplify the process of customer onboarding and customer verification and increase the quality of the service you provide. Take the following use cases:
Applicable to CDD, KYC and AML
How many times have you had a customer’s passport or ID, or a scan of them, in your hand, matching it with the information that is on the screen before you? The steps you need to take in the customer onboarding process can be exhausting and time-consuming.
Luckily, our Identity Verification API & SDK with signature extraction can do this job for you in a matter of seconds. The API will scan the input document, extract the signature and other data fields. You can use this output to quickly perform any check and update your database.
Not only does it speed up the process, it reduces human-made errors, saves time and costs, and lets you meet KYC standards and AML requirements in the meantime. All in a second’s work.
Contract and agreement processing
You might be a lawyer with an expensive hourly rate or have one. So why would you be doing repetitive tasks such as checking for signatures on your contracts?
Digitizing the document processing flow with handwritten signature extraction will remove some of the manual labour involved, consequently saving you time and money.
Our API will automatically find the signatures on a contract and optionally verify this with external sources. The result: that hourly rate can now be spent on more important tasks than manually verifying signatures.
For what type of documents does signature extraction work?
As the use cases above show, there are numerous possible applications for signature extraction. Basically any text or ID document containing a signature can be processed by our API. The following use cases will give you a practical overview of the process:
Extracting signatures from IDs, passports & driver’s licenses
When processing identity documents in line with KYC purposes, it is paramount to be accurate, reliable and safe. With the high accuracy level of our API, it takes just seconds to extract all data points from an ID such as name, date of birth, photo, and, of course, the signature.
For privacy reasons, Klippa does not store any received input or output. The image below shows a simplified example of the output from our API. Additional fields and verifications are available.
Extracting signatures from contracts & other documents
When you receive loads of contracts on a daily basis, the act of checking for signatures can take away precious time better spent elsewhere. Our API can help you process them in a matter of seconds.
Any signed document, such as a contract, an agreement or a letter of approval, can be automatically parsed for a signature and processed. Here are the easy steps to follow:
- Upload a digital document or take a photo or scan of a physical copy and upload it into the Klippa API.
- Wait a few seconds while our API parses the document, including data points such as the address or signee of the document. It then matches and confirms these data points.
- The API returns these data points as output, usually in a JSON format like the example below.
How to implement signature extraction in existing software?
You might be interested in automated signature extraction for your company, but how do you get your hands on the technology to make this a reality? Well, you can start by training your own deep learning system by feeding it huge quantities of examples of signed documents and extracting the required pixels for processing. This is a time consuming task, you need a big annotated data set and it requires in-depth knowledge about computer vision and AI.
The other, more effective option, is that you simply implement an existing API. Luckily, Klippa has a signature extraction API available that you can implement within a few hours. With our data extraction API, you can start with automatic signature extraction today.
Contact Klippa
Would you like to see our product in action or are you in need of more technical information? Our experts would be pleased to guide you through our solutions in a 30-minute demonstration. You can find a time schedule below. We don’t mind customizing our products, so even if you have a unique inquiry, feel free to contact us.