Lançamento do sistema de reconhecimento de texto Tesseract 5.0

Foi publicado o lançamento do sistema de reconhecimento óptico de texto Tesseract 4.1, que suporta o reconhecimento de caracteres UTF-8 e textos em mais de 100 idiomas, incluindo russo, cazaque, bielorrusso e ucraniano. O resultado pode ser salvo em texto simples ou nos formatos HTML (hOCR), ALTO (XML), PDF e TSV. O sistema foi originalmente criado em 1985-1995 no laboratório Hewlett Packard, em 2005 o código foi aberto sob a licença Apache e desenvolvido com a participação de funcionários do Google. O código fonte do projeto é distribuído sob a licença Apache 2.0.

O Tesseract inclui um utilitário de console e a biblioteca libtesseract para incorporar a funcionalidade OCR em outros aplicativos. As interfaces GUI de terceiros que suportam Tesseract incluem gImageReader, VietOCR e YAGF. São oferecidos dois mecanismos de reconhecimento: um clássico que reconhece texto no nível de padrões de caracteres individuais, e um novo baseado no uso de um sistema de aprendizado de máquina baseado em uma rede neural recorrente LSTM, otimizado para reconhecer strings inteiras e permitindo um aumento significativo na precisão. Modelos treinados prontos foram publicados para 123 idiomas. Para otimizar o desempenho, são oferecidos módulos que usam instruções OpenMP e SIMD AVX2, AVX, NEON ou SSE4.1.

Principais melhorias no Tesseract 5.0:

  • Uma mudança significativa no número da versão se deve a alterações feitas na API que quebram a compatibilidade. Em particular, a API libtesseract disponível publicamente não está mais vinculada aos tipos de dados proprietários GenericVector e STRING, em favor de std::string e std::vector.
  • A árvore do texto fonte foi reorganizada. Os arquivos de cabeçalho público foram movidos para o diretório include/tesseract.
  • O gerenciamento de memória foi redesenhado, todas as chamadas malloc e gratuitas foram substituídas por código C++. Foi realizada uma modernização geral do código.
  • Adicionadas otimizações para arquiteturas ARM e ARM64; instruções ARM NEON são usadas para acelerar os cálculos. Foi realizada uma otimização de desempenho comum a todas as arquiteturas.
  • Foram implementados novos modos de treinamento de modelos e reconhecimento de texto baseados no uso de cálculos de ponto flutuante. Os novos modos oferecem maior desempenho e menor consumo de memória. No mecanismo LSTM, o modo rápido float32 está habilitado por padrão.
  • Foi feita uma transição para o uso da normalização Unicode usando o formulário NFC (Normalization Form Canonical).
  • Adicionada uma opção para configurar o detalhamento do log (--loglevel).
  • O sistema de construção baseado em Autotools foi redesenhado e alterado para construção em modo não recursivo.
  • O branch “master” no Git foi renomeado para “main”.
  • Adicionado suporte para novos lançamentos de sistemas macOS e Apple baseados no chip M1.

    Fonte: opennet.ru

Adicionar um comentário