UiPath Signature Comparison Machine Learning model release

We are excited to release a new out of the box machine learning model designed for comparing signatures. Our vision is to create an end-to-end document processing platform that can cater to any and every document type and all varied use cases. Signature appears in many various documents, such as forms, checks, and loan documents, and the ability to extract a signature from a document and compare it with a reference signature in another document or in a customer’s database is critical to automate complex document processing workflow.

What is included in this offering?

The UiPath signature comparison model is a proprietary model that is developed to determine the similarity between a pair of signature. The input is a pair of signature for comparison, and the output is a similarity score (between 0 and 1) and a preliminary determination if the signatures are from the same author or different authors based on a defined threshold. The threshold can be adjusted.

Please note that signature detection and extraction is not part of this offering. For structured documents when signatures always appear in the same position (e.g., forms, checks), please leverage the existing signature detection feature with the Intelligent Form Extraction feature in Document Understanding. For some more complex use cases where the signatures can not be easily detected (for example, a multi-page contract in which signature can appear anywhere), please explore other approaches such as training an object detection model to detect signatures first before using the signature comparison model.

To use the model, you need to have access to UiPath AI Center and deploy the Out of the Box package in your tenant. The current release for 22.2 is cloud only, however, we have prioritized it in the roadmap to release in on premise in future releases. The model as of now can not be customized or retrained, however, we are working on adding the retraining capabilities. Stay tuned for more updates!

Any user can use this model with a valid AI Center license – either enterprise or enterprise trial.

How to use the Signature Comparison Machine Learning model?

If you have never used UiPath AI Center product or UiPath Document Understanding product, please review our documentation.

https://docs.uipath.com/ai-fabric

https://docs.uipath.com/document-understanding

Below are the specific steps to deploy the model and consume the model with the ML skill activity. Please ensure that you have pre-processed the files to have a pair of signature images ready before using the model.

  1. Log in to your Automation Cloud account and go to the AI Center service. Go to the ML Packages > Out of the box packages > UiPath Image Analysis.

  2. Click and deploy the Signature Comparison model package.

  3. Go to ML skills and create a new ML skill. Select the package you have deployed and deploy the skill. No need to enable GPU or auto-update for this skill. For more details on ML skill, please check the AI Center documentation: Managing ML Skills

  4. You have the option to make the skill as a public ML skill if you want to consume the model from a robot that is not connected with this Orchestrator tenant. Just click “modify deployment” and turn on “make the skill public”.

  5. To use the deployed ML skill in studio, please ensure you have installed UiPath.MLServices.Activities package from the Manage Packages menu in UiPath Studio.

  6. Open UiPath Studio, drag and drop the ML Skill Activity into the RPA workflow and select the Refresh ML Skills option. This action will populate the drop-down list with all the successfully deployed skills from the Orchestrator connected to this Robot. Select the signature comparison model skill you deployed in the previous steps.

  7. If you opt to use the public skill option, select the “endpoint” option in the activity, copy and paste the URL and endpoint displayed in AI Center after you make the skill public.
    image

  8. Run the workflow. You have the option to add any post processing of the Json output. You can also add Action Center to include the human in the loop validation.

Want to give this a try under a minute – below is an example workflow for bank checks signature comparison. Add your keys and run it! Please note that you need the Document Understanding ApiKey to use the Intelligent Form Extractor. The SignatureVerifierModelApiKey can be retrieved after you deploy and make the skill public.

IFE_Signature_Verification_Checks.zip (2.1 MB)

You can also leverage the image cropping and processing activities from UiPath marketplace. Image Activities - Crop - RPA Component | UiPath Marketplace

15 Likes

Hi @Bella_Liu,

ML Skill deployment Failed using the UiPath “Signature Comparison” package v1.0. Below is the log message. It is showing “401 unauthorized” error message. I am on Enterprise Trial 21.10.5. AI Center version showing as 22.4.1. Any hint as to what may be wrong:

Non retryable error occurred while deploying mlskill: SignatureComparisonMLSkill, reason: ImagePullBackOff:
b937b2c6-803a-40ed-8bff-9067c3c00a7a-1-d9dd8b696-vqxdg:warning ==> failed to pull image “aifprodregistry.azurecr.io/aicenter/python38opencv:22.4.0”: [rpc error: code = notfound desc = failed to pull and unpack image “aifprodregistry.azurecr.io/aicenter/python38opencv:22.4.0”: failed to resolve reference “aifprodregistry.azurecr.io/aicenter/python38opencv:22.4.0”: aifprodregistry.azurecr.io/aicenter/python38opencv:22.4.0: not found, rpc error: code = unknown desc = failed to pull and unpack image “aifprodregistry.azurecr.io/aicenter/python38opencv:22.4.0”: failed to resolve reference “aifprodregistry.azurecr.io/aicenter/python38opencv:22.4.0”: failed to authorize: failed to fetch anonymous token: unexpected status: 401 unauthorized]
b937b2c6-803a-40ed-8bff-9067c3c00a7a-1-d9dd8b696-vqxdg:warning ==> error: errimagepull
b937b2c6-803a-40ed-8bff-9067c3c00a7a-1-d9dd8b696-vqxdg:warning ==> error: imagepullbackoff

RESOLVED. There was no problem with the MLSkill deployment. Looks like the backend got fixed overnight. And without any change, the MLSkill deployment worked simply fine.