Utilização das bibliotecas opencv e Tesseract OCR para o reconhecimento de texto em imagens e da biblioteca JiWER para cálculo de mérticas de perfomance.
- Mais detalhes sobre o funcionamento dos algorítimos e das línguas nos quais o mesmo podem são utilizados são encontrados na Tesseract documentation
- Caso seja passado um arquivo .xlsx com as strings de target pode visualizar a perfonrmance do algorítimo
Espera-se como entrada para o componente um arquivo .zip contendo images e podendo conter uma tabela .xlsx com uma coluna contendo as respostas esperadas.
A seguir são listados todos os parâmetros utilizados pelo componente:
- Caminho das imagens:
string
(Obrigatório).
Coluna da tabela com o caminho para as imagens.
- Atributo alvo:
string
.
Seu modelo será treinado para prever os valores do alvo.
- Confiabilidade do bbox:
integer
, padrão: 60
.
O quanto de confiabilidade o algorítmo deve possuir sobre o bbox para que o mesmo apareça.
- Modo de segmentação do PyTesseract,
string
, padrão: Considere um único bloco de texto uniforme
.
Modo de segmentação utilizado pelo PyTesseract.
- OCR engine do Pytesseract.
Para mais informações acesse a documentação linkada no inicio do notebook.
- Idioma pré teinado,
string
, {"por"
,"eng"
}, padrão: por
.
Opções disponibilizadas na aplicação compreendem português (por) e inglês (eng).
- Forma de retorno dos bboxes,
string
, {"np_array"
, "image"
}, padrão: "np_array"
.
Escolher se bboxes serão retornados na imagem ou como um numpy array.
- Formato de retorno da imagem,
string
, {"N/A"
, ".jpg"
, ".png"
}, padrão: "N/A"
.
Escolher formato de retorno da imagem, N/A se retornar numpy array. Apenas aplicável caso bbox_return = image.
- Remove quebras de linha,
boolean
, {True
, False
}, padrão: True
.
Caso True remove \n e \t dos resultados.Vale ressaltar que o texto de referência na tabela .xlsx caso haja, deve considerar este fato para calcular as métricas corretamente
As métricas de performance tem o propósito de ajudar o usuário a avaliar a performance do modelo. Essas métricas variam de acordo com o tipo de problema, tal como: classificação, regressão, agrupamento, entre outros.
- Word Error Rate (WER): Proporção de palavras erradas entre as palavras processadas. WER = ((S+D+I)/(H+S+D))
- Match Error Rate (MER): Proporção de palavras correspondidas que são erros. MER = ((S+D+I)/(H+S+D+I))
- Word Information Lost (WIL): Proporção de informação perdida. WIL = 1- ((H^2)/((H+S+D)(H+S+I)))
- Word Information Preserved (WIP): Proporção de informação preservada. WIP = 1- WIL
Legenda: I= Número de Inserções, D = Número de Deleções, S = Número de Substituições, H = Número de Acertos.
O retorno durante a experimentação ajuda o usuário a analisar tanto métricas distintas de forma visual, como a distribuição dos dados e os dados brutos ao final da execução. Sendo assim, é possível visualizar diversos retornos para este componente como os listados a seguir:
- Tabela dos dados
Dataframe com o texto de fererência, o texto encontrado, as coordenadas dos bboxes nas regiões em que os textos foram identificados e também as métricas calculadas. Em caso de não haver o arquivo .xlsx de referência, retorna apenas o texto encontrado e as coordenadas dos bboxes nas regiões em que os textos foram identificados.
Saída dependende do argumento do tipo de retorno. Caso seja uma imagem retorna um arquivo bytes em que o texto está marcado. Caso seja um numpy array retorna as posições dos bboxes em numpy array.