Foi lançado o Tesseract 4.1, um sistema de reconhecimento óptico de caracteres que suporta reconhecimento de caracteres UTF-8 e textos em mais de 100 idiomas, incluindo russo, cazaque, bielorrusso e ucraniano. Os resultados podem ser salvos tanto como texto simples quanto em formatos HTML (hOCR), ALTO (XML), PDF e TSV. O sistema foi originalmente criado entre 1985 e 1995 no laboratório da Hewlett Packard e, em 2005, o código foi aberto sob a licença Apache, sendo posteriormente 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 uma utilidade de console e a biblioteca libtesseract para integrar funções de reconhecimento de texto em outros aplicativos. Entre as interfaces gráficas de terceiros que suportam o Tesseract, podem ser destacadas gImageReader, VietOCR e YAGF. Oferece dois motores de reconhecimento: o clássico, que reconhece texto com base em padrões de caracteres individuais, e o novo, baseado em um sistema de aprendizado de máquina usando redes neurais recorrentes LSTM, otimizado para reconhecer linhas inteiras e permitindo um aumento significativo da precisão. Modelos prontos e treinados foram publicados para 123 idiomas. Para otimizar o desempenho, são oferecidos módulos que utilizam instruções OpenMP e SIMD AVX2, AVX, NEON ou SSE4.1.
Principais melhorias no Tesseract 5.0:
- A alteração significativa no número da versão está relacionada a modificações na API que quebram a compatibilidade. Em particular, a API pública do libtesseract não está mais vinculada a tipos de dados proprietários GenericVector e STRING, sendo substituída no código por std::string e std::vector.
- Reorganização da árvore de códigos fonte. Os arquivos de cabeçalho públicos foram movidos para o diretório include/tesseract.
- Gerenciamento de memória reestruturado, todas as chamadas malloc e free foram substituídas por código C++. Uma atualização geral do código foi realizada.
- Foram adicionadas otimizações para arquiteturas ARM e ARM64, utilizando instruções ARM NEON para acelerar os cálculos. Foi realizada uma otimização geral de desempenho para todas as arquiteturas.
- Novos modos de treinamento de modelos e reconhecimento de texto foram implementados, baseados no uso de cálculos de ponto flutuante. Os novos modos se destacam por um desempenho superior e redução no consumo de memória. No mecanismo LSTM, o modo rápido float32 está habilitado por padrão.
- Foi realizada a transição para o uso da normalização Unicode com a forma NFC (Forma Normalização Canônica).
- Uma opção para ajustar o nível de detalhamento dos logs (—loglevel) foi adicionada.
- O sistema de construção baseado em Autotools foi reformulado para compilações em modo não recursivo.
- O branch 'master' no Git foi renomeado para 'main'.
- Adicionada a compatibilidade com novas versões do macOS e sistemas Apple baseados no chip M1.
Fonte: opennet.ru
