# Text Recognition

## Introduction

Text Recognition can help you to automate tedious data entry and speed up the onboarding process.

## Ability

* Recognize text in all orientations
* Detect identity card in the image

## Limitations

The following is a list of conditions that can reduce performance of the model to recognize text.

* Blurry Image
* Glare Image
* Lightning
* Perspective

## Under the Hood

Kredibel is using **deep learning** to perform text recognition task. Below is an explanation of how a Kredibel Text Recognition system works.

### 1. Upload Image

Users can upload a **handheld** or **non-handheld** identity card image. Our system can handle both.&#x20;

### 2. Identity Card Detection

Our system will **detect** whether there is an identity card in the image or not.

### 3. Cropping

Our system will automatically **crop** the image region of interest (identity card) to prevent unwanted characters from being detected.

### 4. Orientation estimation

Our system will **estimate** text orientation and **normalize** it. Thats why our system can recognize text in all orientations.

### 5. Text Detection

Our system **detects** text on the image. Create a bounding box for each detected word.

### 6. Text Recognition

Our system **recognizes** each text detected by the text detection model.

### 7. POST-OCR Parsing

Our system will **parse** the unstructured data generated by the OCR system into structured data.

## Endpoints

| Method | URL                          | Description  |
| ------ | ---------------------------- | ------------ |
| POST   | `$vision/v1/ocr/id/ktp`      | KTP OCR      |
| POST   | `$vision/v1/ocr/id/sim`      | SIM OCR      |
| POST   | `$vision/v1/ocr/id/passport` | Passport OCR |
