Reconhecimento Óptico de Caracteres em Contratos

reconhecimento óptico de caracteres

OCR – Reconhecimento Óptico de Caracteres

O OCR – Reconhecimento Óptico de Caracteres (Optical Character Recognition do Inglês) é um método que realiza o processamento de imagens e transforma as informações em texto. É uma ferramenta importante para várias empresas que trabalham com processamento de documentos, sejam escritórios de advocacia, cartórios, indústrias, bancos, entre outros. Em geral, há a necessidade de extrair informações desses documentos, os quais, quando já digitalizados, encontram-se em formatos portáteis como .pdf ou até mesmo como imagens .png, .tiff, etc.

A Figura 1 abaixo, apresenta um fluxograma geral de processamento de documentos utilizando OCR. Em geral, os arquivos que serão processados são convertidos para um formato de interesse (Figura 1a), para posteriormente serem pré-processados (Figura 1b). Nessa etapa pode ser utilizada a biblioteca do Python OpenCV, onde são aplicados filtros e métodos que tendem a eliminar distorções na imagem, para que em seguida a mesma possa ser processada utilizando as bibliotecas Layout Parser e Tesseract (Figura 1c) e as informações extraídas analisadas por técnicas de Processamento de Linguagem Natural, tema de um artigo anterior, que utiliza os módulos spaCy e NLTK.

Figura 1 – Fluxograma geral de processamento de documentos etapas de (a) conversão, (b) pré-processamento, (c) processamento OCR e (d) Processamento de Linguagem Natural.

Etapa de Pré-Processamento

Conforme explicado no parágrafo anterior, utiliza-se o OpenCV para o pré-processamento, que realiza etapas de tratamento como binarização, eliminação de bordas, alinhamento de imagem, remoção de ruído, entre outras, tudo com o objetivo de eliminar informações desnecessárias que possam prejudicar a extração de informações da imagem. A Figura 2a apresenta uma imagem de um documento padrão de um banco de imagens, que deve ser processado. Esse documento é uma imagem colorida contendo texto, que apresenta uma leve rotação e ruído – comuns a processos de digitalização. Na Figura 2b, temos a imagem após pré-processamento, pelas etapas de: (i) transformação para tons de cinza, (ii) redução de ruído, (iii) limiarização por histograma, (iv) alinhamento, entre outras.

Figura 2 – (a) Documento original, (b) documento pré-processado.

Transformação para tons de cinza

A transformação para tons de cinza é uma etapa essencial no pré-processamento de imagens para OCR. Convertendo a imagem para uma escala de cinza, eliminamos informações de cor e simplificamos a representação, facilitando a extração de características durante o reconhecimento óptico de caracteres. Isso também reduz a complexidade computacional e melhora a eficiência do processo.

Redução de ruído

A redução de ruído é crucial para melhorar a qualidade da imagem antes da aplicação do OCR. Técnicas como filtragem gaussiana, median filtering ou algoritmos de suavização ajudam a eliminar distorções indesejadas, granulações e imperfeições que podem comprometer a precisão do reconhecimento. Essa etapa contribui para a obtenção de resultados mais confiáveis durante a extração de texto.

Limiarização por histograma

A limiarização por histograma é empregada para segmentar a imagem, destacando regiões de interesse e melhorando a diferenciação entre o texto e o fundo. Ao escolher um limiar apropriado com base na distribuição de intensidades de pixels, podemos binarizar a imagem, convertendo-a em pixels pretos e brancos. Essa técnica é fundamental para aprimorar a clareza do texto e simplificar o processo de reconhecimento.

Alinhamento

O alinhamento de texto é uma fase crítica para garantir a correta orientação e posicionamento das palavras na imagem. Técnicas de alinhamento automático, como detecção de linhas de base e algoritmos de transformação geométrica, são aplicadas para corrigir desalinhamentos causados por inclinações, rotações ou distorções na captura da imagem. Esse passo contribui significativamente para aumentar a precisão e a confiabilidade do OCR, especialmente em documentos escaneados ou imagens com perspectivas variadas.

Etapa de Processamento

A etapa de processamento permitirá fazer o reconhecimento óptico de caracteres nas imagens, que é propriamente o OCR. Essa etapa utiliza aprendizado de máquina para que se tenha um modelo que saiba identificar os elementos do layout do documento, sejam eles cabeçalhos, texto, tabelas, figuras, entre outros. A Figura 3a, mostra nossa imagem de exemplo já processada por essa etapa. Observa-se que foram marcados itens em verde (títulos), azul (imagens) e alaranjado (textos). Na Figura 3b, estão sendo mostrados somente os parágrafos detectados como ‘texto’, que serão utilizados para análises subsequentes.

Figura 3 – (a) identificação de todos itens e (b) identificação de texto de parágrafos somente.

Os itens da Figura 3b são transformados em texto (as chamadas strings de texto) e podem ser analisados posteriormente. A Figura 4 apresenta uma imagem das informações extraídas da Figura 3b.

Figura 4 – Texto extraído da imagem.

Neste pequeno artigo, foi apresentada uma possibilidade de processamento via OCR. Existem muitos outros filtros ou etapas de processamento que podem ser incorporadas para garantir que as informações corretas serão extraídas do documento. Essa é uma técnica indispensável para empresas que se utilizam de processamento de documentos de forma automática e a utilização de ferramentas de Aprendizado de Máquina garantem a aplicação para os mais diversos tipos de documentos.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima