Conheça o Surya, um kit de ferramentas de OCR de documentos multilíngues

conheca-o-surya-um-kit-de-ferramentas-de-ocr-de-documentos-multilingues

O Surya é anunciado como um kit de ferramentas de OCR de documentos multilíngues. Ele é, basicamente, um utilitário baseado em CLI que pode ser usado com CPU ou GPU. Estamos falando de um software gratuito e de código aberto.

Instalação do Surya

Para executar o Surya, você precisará do Python 3.9 ou superior e do PyTorch, o último fornece bibliotecas para manipulação básica de tensores em CPUs ou GPUs, uma biblioteca de rede neural integrada, utilitários de treinamento de modelo e uma biblioteca de multiprocessamento que pode funcionar com memória compartilhada.

O pessoal do Linux Links testou o Surya com um sistema que hospeda uma GPU NVIDIA, bem como com um Intel NUC 13 Pro que possui apenas Intel Iris Xe integrado. Faremos a instalação da versão CPU do PyTorch para que possamos usar o Surya com o NUC. Existem várias maneiras de evitar poluir nosso sistema NUC baseado em Ubuntu. Instalaremos o Surya em um ambiente Python isolado.

$ sudo apt install python3-venv -y

$ mkdir pytorch_env
$ cd pytorch_env

Crie o ambiente:

$ python3 -m venv pytorch_env
$ source pytorch_env/bin/activate

Para instalar o PyTorch apenas com suporte de CPU, execute:

$ pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

Agora podemos instalar o Surya com o comando:

$ pip install surya-ocr

Na primeira execução, os pesos do modelo são baixados automaticamente, conforme imagem abaixo.

conheca-o-surya-um-kit-de-ferramentas-de-ocr-de-documentos-multilingues
Imagem: Linux Links

Em operação

Surya prevê bboxes em nível de linha, enquanto Tesseract e outros prevêem nível de palavra ou nível de caractere. Vamos testar o software com o arquivo de imagem nyt.png do repositório GitHub. Ele grava um JSON com os bboxes detectados e salva imagens das páginas com os bboxes se você incluir a opção:

--images

Abaixo, uma imagem gerada mostrando os bboxes.

conheca-o-surya-um-kit-de-ferramentas-de-ocr-de-documentos-multilingues
Imagem: Linux Links

Resumo

Surya acaba de ver seu primeiro lançamento público, mas já parece promissor. Veremos o software com mais detalhes assim que ele adicionar reconhecimento de texto e detecção de tabelas e gráficos. Em seguida, avaliaremos o software para inclusão em nosso resumo de sistemas OCR.

Site: github.com/VikParuchuri/surya
Desenvolvedor: Vik Paruchuri;
Licença: GNU General Public License v3.0.

Surya é escrito em Python. Aprenda Python com nossos livros e tutoriais gratuitos recomendados.

O que é OCR?

OCR significa Optical Character Recognition é uma técnica para detectar e reconhecer textos em imagens, documentos, etc. Surya é um kit de ferramentas de OCR de documentos multilíngue que pode realizar detecção precisa de texto em nível de linha. Ele recebeu o nome do deus hindu do sol, que tem visão universal.