Fornecedores de Visão Computacional em Nuvem
Comparando o reconhecimento de palavras manuscritas
Em outros artigos eu falei sobre o desenvolvimento de uma solução de ICR (intelligent character recognition) para a Fundação SEADE. Até agora conseguimos:
- detectar o tipo de formulário usando OpenCV e Tesseract
- ler o número do formulário usando Tesseract OCR
- localizar os campos de interesse
- reconhecer marcas em caixas de seleção (checkbox) com 99% de precisão
- extrair dígitos de um campo data preenchido à mão
Nossa próxima tarefa é verificar se é possível reconhecer campos que estão preenchidos com letra cursiva. Por exemplo, o campo de endereço de ocorrência da DNV:

Primeiro, fizemos um teste para ver se o Tesseract OCR consegue reconhecer escrita cursiva — infelizmente não consegue.
Submetemos a imagem acima para algumas das APIs online de visão computacional: Azure (Microsoft), Watson (IBM) e Google.
1. Google Cloud Vision
Considerando como o Google investe em inteligência artificial, eu esperava uma performance melhor. Apesar de ter detectado corretamente as regiões contendo as palavras manuscritas, a qualidade do reconhecimento foi sofrível:

2. IBM Watson Visual Recognition

Parece que o Watson não tem um serviço de OCR, se tiver eu não consegui encontrar. A página de demonstração do serviço sequer reconheceu que a imagem é um texto manuscrito… O Watson não conseguiu decidir se a imagem é uma estrutura/armação, uma furadeira ou uma espingarda de alabarda. Acho que o sobrenome do Watson é Magoo.

3. Microsoft Azure Handwritten OCR
O serviço ainda está em fase de testes e só é oferecido para o idioma inglês. Fiquei impressionado, o resultado é bem melhor que o do Google:

4. Outros Fornecedores
Tentei uma série de outros fornecedores especializados que possuem demonstrações online. Alguns anunciam reconhecer escrita manual mas avisam que não reconhecem letra cursiva, apenas letra de forma;
Outros não dizem nada sobre reconhecimento de escrita manual mas falham miseravelmente. Este é um exemplo do Abbyy OCR SDK online demo:

Este é um exemplo do Leadtools OCR SDK:


A Italiana Recogniform parece entender do assunto infelizmente eles não disponibilizam uma interface online:

Conclusão
A API da Microsoft teve a melhor performance para o exemplo dado, bem melhor que a do Google. Não sou nenhum fanático pela Microsoft, mas quem diz que foi-se o tempo em que a Microsoft era uma empresa inovadora vai ter que morder a língua.

