Pré-processamento de documentos PDF com Amazon Textract: detecção e remoção de recursos visuais

Nó Fonte: 1204412

amazontext é um serviço de aprendizado de máquina totalmente gerenciado (ML) que extrai automaticamente texto impresso, manuscrito e outros dados de documentos digitalizados que vão além do simples reconhecimento óptico de caracteres (OCR) para identificar, compreender e extrair dados de formulários e tabelas. O Amazon Textract pode detectar texto em uma variedade de documentos, incluindo relatórios financeiros, registros médicos e formulários fiscais.

Em muitos casos de uso, você precisa extrair e analisar documentos com vários recursos visuais, como logotipos, fotos e gráficos. Esses visuais contêm texto incorporado que convolui a saída do Amazon Textract ou não é necessário para o processo de recebimento de dados. Por exemplo, muitos formulários ou documentos de avaliação de imóveis contêm fotos de casas ou tendências de preços históricos. Essas informações não são necessárias em processos downstream e você deve removê-las antes de usar o Amazon Textract para analisar o documento. Nesta postagem, ilustramos dois métodos eficazes para remover esses recursos visuais como parte do seu pré-processamento.

Visão geral da solução

Para esta postagem, usamos um PDF que contém um logotipo e um gráfico como exemplo. Usamos dois tipos diferentes de processos para converter e detectar esses visuais e, em seguida, editá-los.

No primeiro método, usamos o detector de bordas da biblioteca OpenCV para detectar as bordas dos visuais. Para o segundo método, escrevemos um analisador de concentração de pixel personalizado para detectar a localização desses visuais.

Você pode extrair esses recursos visuais para processamento posterior e modificar facilmente o código para se adequar ao seu caso de uso.

PDFs pesquisáveis ​​são arquivos PDF nativos geralmente gerados por outros aplicativos, como processadores de texto, impressoras virtuais de PDF e editores nativos. Esses tipos de PDFs retêm metadados, texto e informações de imagem dentro do documento. Você pode usar bibliotecas como PyMuPDF / fitz para navegar na estrutura do PDF e identificar imagens e texto. Nesta postagem, nos concentramos em documentos não pesquisáveis ​​ou baseados em imagens.

Opção 1: Detecção de visuais com detector de bordas OpenCV

Nesta abordagem, convertemos o PDF no formato PNG e, em seguida, colocamos o documento em tons de cinza com o OpenCV-PythonName biblioteca e use o Canny Edge Detector para detectar as localizações visuais. Você pode seguir as etapas detalhadas no seguinte caderno.

  1. Converta o documento em tons de cinza.

  1. Aplique o algoritmo Canny Edge para detectar contornos no documento Canny-Edged.
  2. Identifique os contornos retangulares com dimensões relevantes.

Você pode ajustar e otimizar ainda mais alguns parâmetros para aumentar a precisão da detecção, dependendo do seu caso de uso:

  • Altura e largura mínimas - Esses parâmetros definem os limites mínimos de altura e largura para detecção visual. É expresso em porcentagem do tamanho da página.
  • Acolchoamento - Quando um contorno de retângulo é detectado, definimos a área de preenchimento extra para ter alguma flexibilidade na área total da página a ser redigida. Isso é útil nos casos em que os textos nas imagens não estão dentro de áreas retangulares claramente delimitadas.

Vantagens e desvantagens

Essa abordagem tem as seguintes vantagens:

  • Satisfaz a maioria dos casos de uso
  • É fácil de implementar e rápido de colocar em funcionamento
  • Seus parâmetros ideais geram bons resultados

No entanto, a abordagem tem as seguintes desvantagens:

  • Para recursos visuais sem uma caixa delimitadora ou bordas circundantes, o desempenho pode variar dependendo do tipo de recursos visuais
  • Se um bloco de texto estiver dentro de grandes caixas delimitadoras, todo o bloco de texto pode ser considerado visual e removido usando esta lógica

Opção 2: análise de concentração de pixel

Implementamos nossa segunda abordagem analisando os pixels da imagem. Os parágrafos de texto normal mantêm uma assinatura de concentração em suas linhas. Podemos medir e analisar as densidades de pixel para identificar áreas com densidades de pixel que não são semelhantes ao resto do documento. Você pode seguir as etapas detalhadas no seguinte caderno.

  1. Converta o documento em tons de cinza.
  2. Converta as áreas cinza em branco.
  3. Recolha os pixels horizontalmente para calcular a concentração de pixels pretos.
  4. Divida o documento em faixas ou segmentos horizontais para identificar aqueles que não são de texto completo (estendendo-se por toda a página).

  1. Para todos os segmentos horizontais que não são de texto completo, identifique as áreas que são texto e as áreas que são imagens. Isso é feito filtrando as seções usando limites mínimos e máximos de concentração de pixels pretos.
  2. Remova as áreas identificadas como texto não completo.

Você pode ajustar os seguintes parâmetros para otimizar a precisão da identificação de áreas não textuais:

  • Limiares de segmento horizontal sem texto - Defina os limites mínimo e máximo de concentração de pixels pretos usados ​​para detectar segmentos horizontais sem texto na página.
  • Limiares de segmento vertical sem texto - Defina os limites mínimo e máximo de concentração de pixels pretos usados ​​para detectar segmentos verticais sem texto na página.
  • Tamanho da janela - Controla como a página é dividida em segmentos horizontais e verticais para análise (X_WINDOW, Y_WINDOW). É definido em número de pixels.
  • Área visual mínima - Define a menor área que pode ser considerada como um visual a ser removido. É definido em pixels.
  • Limiar da faixa de cinza - O limite para que os tons de cinza sejam removidos.

Vantagens e desvantagens

Essa abordagem é altamente personalizável. No entanto, tem as seguintes desvantagens:

  • Parâmetros ideais demoram mais e para alcançar uma compreensão mais profunda da solução
  • Se o documento não estiver perfeitamente retificado (imagem tirada pela câmera com um ângulo), este método pode falhar.

Conclusão

Nesta postagem, mostramos como você pode implementar duas abordagens para redigir visuais de documentos diferentes. Ambas as abordagens são fáceis de implementar. Você pode obter resultados de alta qualidade e personalizar qualquer um dos métodos de acordo com seu caso de uso.

Para saber mais sobre as diferentes técnicas do Amazon Textract, visite o público AWS Samples Repo GitHub.


Sobre os autores

 Yuan Jiang é arquiteto de soluções sênior com foco em aprendizado de máquina. Ele é membro do programa Amazon Computer Vision Hero e da Amazon Machine Learning Technical Field Community.

Victor Red é um arquiteto de solução de parceiro sênior com foco em IA de conversação. Ele também é membro do programa Amazon Computer Vision Hero.

Luis Pineda é arquiteto de soluções de gerenciamento de parceiros sênior. Ele também é membro do programa Amazon Computer Vision Hero.

Miguel Romero Calvo é cientista de dados do AWS Machine Learning Solution Lab.

Fonte: https://aws.amazon.com/blogs/machine-learning/process-text-and-images-in-pdf-documents-with-amazon-textract/

Carimbo de hora:

Mais de Blog do AWS Machine Learning