Reconhecimento de texto

Exemplo de um reconhecimento automático de texto com defeito. O software OCR atual reconhece este texto sem erros.

O reconhecimento de texto é um termo da tecnologia da informação . Descreve o reconhecimento automático de texto ou reconhecimento automático de caracteres nas imagens. Originalmente, a entrada de texto previsível com base no reconhecimento óptico de caracteres ( reconhecimento óptico de caracteres em inglês , abreviatura OCR ). Essa tecnologia está cada vez mais sendo substituída por redes neurais que processam linhas inteiras em vez de caracteres individuais.

Fundamentos

O reconhecimento de texto é necessário porque os dispositivos de entrada ótica ( scanners ou câmeras digitais, mas também receptores de fax) só podem fornecer gráficos raster como resultado , ou seja, H. Pontos de cores diferentes ( pixels ) dispostos em linhas e colunas . O reconhecimento de texto descreve a tarefa de reconhecer as letras representadas como tais, ou seja, H. identificar e atribuir-lhes o valor numérico que lhes é atribuído de acordo com a codificação de texto usual ( ASCII , Unicode ). O reconhecimento automático de texto e OCR são freqüentemente usados ​​como sinônimos no mundo de língua alemã. De um ponto de vista técnico, entretanto, o OCR se refere apenas à subárea de comparações de padrões de partes separadas da imagem como candidatas ao reconhecimento de caracteres individuais. Este processo de OCR é precedido por um reconhecimento de estrutura global em que os blocos de texto são primeiro diferenciados dos elementos gráficos, as estruturas de linha são reconhecidas e, finalmente, os caracteres individuais são separados. Ao decidir qual personagem está presente, um contexto linguístico pode ser levado em consideração usando algoritmos adicionais .

Originalmente, fontes especialmente projetadas foram desenvolvidas para reconhecimento automático de texto , que eram usadas, por exemplo, para imprimir formulários de cheque. Essas fontes foram projetadas de forma que os caracteres individuais pudessem ser diferenciados de forma rápida e fácil por um leitor de OCR. A fonte OCR-A (DIN 66008, ISO 1073-1) é caracterizada por caracteres particularmente diferentes, especialmente em termos de números. OCR-B (ISO 1073-2) é mais parecido com uma fonte sans serif , não proporcional , enquanto OCR-H (DIN 66225) é baseado em números manuscritos e letras maiúsculas.

O desempenho aprimorado de computadores modernos e algoritmos aprimorados, entretanto, também permitem o reconhecimento de fontes de impressora “normais” até a escrita à mão (por exemplo, ao distribuir cartas); No entanto, se a legibilidade humana não for uma prioridade, são usados códigos de barras mais fáceis de manusear em termos de impressão e identificação .

O reconhecimento de texto moderno agora abrange mais do que OCR puro (definido como um método de reconhecimento automático de caracteres), ou seja, a tradução de caracteres individuais. Além disso, são usados métodos de análise de contexto, Reconhecimento Inteligente de Caracteres (ICR) , com os quais os resultados reais do OCR podem ser corrigidos. Um caractere que foi realmente reconhecido como “8” pode ser corrigido para um “B” se estiver dentro de uma palavra. Em vez de “8aum”, “árvore” é reconhecida, mas uma conversão de “8º”, ou seja, uma combinação alfanumérica, não deve ser feita. No campo dos sistemas de reconhecimento de texto industrial, fala-se de sistemas OCR / ICR. No entanto, os limites do termo OCR são fluidos, porque OCR e ICR também servem como termos de marketing para poder comercializar melhor os desenvolvimentos técnicos. Também o Reconhecimento Inteligente de Palavras (IWR) se enquadra nesta categoria. Esta abordagem tenta resolver o problema de reconhecimento de escrita manual fluida, na qual os caracteres individuais não podem ser separados claramente e, portanto, não podem ser reconhecidos usando métodos convencionais de OCR.

Uma abordagem fundamentalmente diferente para reconhecimento de texto é usada para reconhecimento de manuscrito em telas sensíveis ao toque ou campos de entrada ( PDA , etc.). Os padrões baseados em vetores são processados ​​aqui, tanto 'offline' como uma palavra inteira ou 'online' com análise adicional do fluxo de entrada ( por exemplo , Inkwell da Apple ).

Uma forma especial de reconhecimento de texto resulta, por exemplo, no processamento automático de correspondência recebida de grandes empresas. Uma das tarefas é ordenar os documentos. O conteúdo nem sempre precisa ser analisado para isso, mas às vezes é suficiente reconhecer as características grosseiras, como o layout característico dos formulários, logotipos da empresa, etc. Tal como acontece com o OCR , a classificação de certos tipos de texto é realizada usando o reconhecimento de padrões , que, no entanto, se relaciona globalmente com a folha inteira ou com lugares definidos em vez de letras individuais.

procedimento

O ponto de partida é um arquivo de imagem ( gráficos raster ) que é gerado a partir do modelo usando um scanner , fotografia digital ou câmera de vídeo . O reconhecimento do texto em si ocorre em três etapas:

Reconhecimento de página e esboço

O arquivo de imagem é dividido em áreas relevantes (textos, legendas) e áreas irrelevantes (imagens, áreas brancas, linhas).

Reconhecimento de padrões

Correção de erros no nível do pixel

Os pixels brutos podem ser corrigidos por suas relações de proximidade com os pixels adjacentes. Pixels individuais são excluídos. Pixels ausentes podem ser adicionados. Isso aumenta a taxa de acerto para uma comparação de padrão pura. Isso depende muito do contraste do original.

Mapeamento de comparação de padrões

Os padrões de pixel das áreas de texto são comparados com os padrões de um banco de dados e cópias digitais brutas são geradas.

Plano de caracteres de correção de erros (Intelligent Character Recognition, ICR)

O material digitalizado bruto é comparado com dicionários e avaliado de acordo com métodos linguísticos e estatísticos quanto à sua provável isenção de erros. Dependendo dessa avaliação, o texto é produzido ou, se necessário, alimentado para um novo layout ou reconhecimento de padrão com parâmetros alterados.

Correção de erros no nível da palavra (Reconhecimento inteligente de palavras, IWR)

A caligrafia fluente, na qual os caracteres individuais não podem ser reconhecidos separadamente uns dos outros, é comparada com dicionários com base em características globais. A precisão dos acertos diminui com o aumento do tamanho do dicionário integrado, uma vez que a probabilidade de confusão aumenta. As áreas de aplicação são áreas de campo definidas com opções de informações limitadas, por exemplo, endereços escritos à mão em envelopes.

Correção de erro manual

Muitos programas também oferecem um modo especial para correção manual de caracteres que não são reconhecidos de forma confiável.

Codificação no formato de saída

No caso mais simples, um arquivo de texto é gerado em um formato definido, como UTF-8 . Dependendo da tarefa em questão, ele também pode ser enviado para um banco de dados ou como um arquivo PDF . Formatos de saída especializados, como os formatos baseados em XML ALTO e PAGE ou hOCR , uma variante do HTML , salvam o texto com informações de layout.

A qualidade do reconhecimento de texto é determinada por vários fatores, entre outros:

  • Qualidade de reconhecimento de layout,
  • Extensão e qualidade do banco de dados de amostra,
  • O tamanho e a qualidade dos dicionários,
  • Qualidade dos algoritmos para correção de erros,
  • Cor, contraste, layout e fonte do documento original,
  • A resolução e a qualidade do arquivo de imagem.

O número de erros não detectados em um documento pode ser estimado, consulte Erros ortográficos . Embora os textos contenham redundâncias e, portanto, permitam uma taxa de erro mais alta, listas de números, como números de telefone, exigem revisão repetida.

Sucesso por meio de redes neurais

Recentemente, as redes neurais artificiais frequentemente têm um desempenho melhor do que os métodos de aprendizagem concorrentes em aplicativos de escrita à mão. Entre 2009 e 2012, as redes neurais recorrentes ou avançadas do grupo de pesquisa de Jürgen Schmidhuber no laboratório de IA suíço IDSIA venceram uma série de oito competições internacionais no campo de reconhecimento de padrões . Em particular, suas redes LSTM recorrentes ganharam três competições de reconhecimento de caligrafia relacionadas no Internacional de 2009. Conf. sobre Análise e Reconhecimento de Documentos ( ICDAR ) ”, sem conhecimento a priori embutido das três diferentes línguas a serem aprendidas. As redes LSTM aprenderam segmentação e reconhecimento simultâneos. Essas também foram as primeiras competições internacionais a serem vencidas por meio de aprendizado profundo ou redes recorrentes.

Até mesmo redes profundas e voltadas para o futuro, como a rede de convolução de Kunihiko Fukushima da década de 1980, são novamente importantes para o reconhecimento de caligrafia hoje. Eles têm posições alternadas de convolução e posições de neurônios que competem entre si. A equipe de Yann LeCun da Universidade de Nova York aplicou o conhecido algoritmo de retropropagação a essas redes em 1989 . As variantes modernas usam o chamado "pooling máximo" para as situações competitivas. Finalmente, você coroa a rede profunda com várias camadas de neurônios totalmente interligadas. Implementações rápidas de GPU dessa combinação foram introduzidas por Scherer e colegas em 2010. Desde então, eles ganharam inúmeros concursos de caligrafia e outros concursos de reconhecimento de padrões. Redes de convolução baseadas em GPU "max-pooling" também foram os primeiros métodos que podiam reconhecer os dígitos manuscritos do benchmark MNIST, assim como os humanos.

Há também uma tendência no texto impresso de substituir o reconhecimento de texto caractere por caractere clássico pelo reconhecimento de texto linha por linha usando redes neurais. Esta tecnologia é utilizada nos programas OCRopus e Tesseract (a partir da versão 4).

Formulários

  • Recuperação de informações de texto de arquivos de imagem para editá-los posteriormente com a ajuda de um processador de texto ou para torná-los pesquisáveis ​​eletronicamente
  • Reconhecimento de características relevantes (por exemplo, código postal, número do contrato, número da fatura) para classificação mecânica (rota postal) ou eletrônica ( sistema de gerenciamento de fluxo de trabalho ) de um documento
  • Uma pesquisa de texto completo estendida em bancos de dados ou sistemas de gerenciamento de documentos para poder pesquisar em PDFs e imagens.
  • Reconhecimento de características para registro e, se necessário, rastreamento de objetos (por exemplo , placas de veículos )
  • Reconhecimento de layout: é criado um documento formatado que se aproxima o mais possível do modelo em termos de texto, imagem e disposição da tabela.
  • Auxiliares para cegos : o reconhecimento de texto permite que os cegos leiam textos digitalizados em um computador e display Braille ou que sejam lidos em voz alta por meio de saída de voz.

Software OCR

Software proprietário

Como função secundária em software proprietário:

Baseado em nuvem:

  • ABBYY Cloud OCR
  • Google Cloud Vision (Beta)
  • API Microsoft Azure Computer Vision
  • OCR.space Online OCR (proprietário, mas de uso livre)
  • TextScan Online OCR

Software grátis

Evidência individual

  1. Hans F. Ebel , Claus Bliefert : Palestras em ciências naturais, tecnologia e medicina. 1991; 2ª edição editada 1994, VCH, Weinheim ISBN 3-527-30047-3 , página 300.
  2. Entrevista de Kurzweil AI de 2012 com Jürgen Schmidhuber sobre as oito competições que sua equipe de aprendizado profundo venceu entre 2009 e 2012
  3. Graves, Alex; e Schmidhuber, Jürgen; Reconhecimento de Escrita Manual Offline com Redes Neurais Recorrentes Multidimensionais , em Bengio, Yoshua; Schuurmans, Dale; Lafferty, John; Williams, Chris KI; e Culotta, Aron (eds.), Advances in Neural Information Processing Systems 22 (NIPS'22), de 7 a 10 de dezembro de 2009, Vancouver, BC , Neural Information Processing Systems (NIPS) Foundation, 2009, pp. 545-552; uma pré-impressão com o mesmo nome pode ser encontrada em: http://people.idsia.ch/~juergen/nips2009.pdf
  4. A. Graves, M. Liwicki, S. Fernandez, R. Bertolami, H. Bunke, J. Schmidhuber. Um novo sistema conexionista para reconhecimento aprimorado de caligrafia irrestrita. IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 31, no.5, 2009.
  5. Schmidhuber, Jürgen ; Vencendo as Competições de Reconhecimento de Caligrafia por meio do Deep Learning , http://www.idsia.ch/~juergen/handwriting.html
  6. ^ Bengio, Y. (2009). Aprendendo arquiteturas profundas para IA. Agora editores. Cópia arquivada ( Memento de 21 de março de 2014 no Internet Archive )
  7. Schmidhuber, Jürgen ; My First Deep Learning System of 1991 + Deep Learning Timeline 1962-2013 , http://www.idsia.ch/~juergen/firstdeeplearner.html
  8. Fukushima, K.: Neocognitron: Um modelo de rede neural auto-organizável para um mecanismo de reconhecimento de padrões não afetado pela mudança de posição . In: Biological Cybernetics . 36, No. 4, 1980, pp. 93-202. doi : 10.1007 / BF00344251 .
  9. Y. LeCun, B. Boser, JS Denker, D. Henderson, RE Howard, W. Hubbard, LD Jackel. Retropropagação aplicada ao reconhecimento de código postal manuscrito. Neural Computation, 1 (4): 541-551, 1989. PDF
  10. M. Riesenhuber, T. Poggio. Modelos hierárquicos de reconhecimento de objetos no córtex. Nature Neuroscience , 1999. PDF
  11. Dominik Scherer, Andreas C. Müller e Sven Behnke: Avaliação de operações de pooling em arquiteturas convolucionais para reconhecimento de objetos. Na 20ª Conferência Internacional sobre Redes Neurais Artificiais (ICANN), pp.92-101, 2010. doi : 10.1007 / 978-3-642-15825-4_10 , PDF
  12. J. Schmidhuber , 2009–2013: Aprendizado profundo desde 1991: Primeiros alunos profundos a ganhar concursos em reconhecimento de padrões, detecção de objetos, segmentação de imagens, aprendizado de sequência, por meio de redes neurais rápidas e profundas / recorrentes. www.deeplearning.it
  13. ^ DC Ciresan, U. Meier, J. Schmidhuber . Redes neurais profundas com várias colunas para classificação de imagens. IEEE Conf. sobre visão computacional e reconhecimento de padrões CVPR 2012. http://www.idsia.ch/~juergen/cvpr2012.pdf
  14. ABBYY Cloud OCR SDK. Recuperado em 4 de dezembro de 2017 .
  15. Vision API - análise do conteúdo da imagem | Google Cloud Platform. Recuperado em 4 de dezembro de 2017 .
  16. API Computer Vision - Processamento de Imagens | Microsoft Azure. Recuperado em 4 de dezembro de 2017 .
  17. OCR.space OCR online gratuito. Acessado em 15 de março de 2019 .
  18. TextScan OCR. Recuperado em 25 de outubro de 2019 .
  19. gImageReader ›Wiki› ubuntuusers.de. Recuperado em 23 de maio de 2021 .