# Francis Almeida Lima ###### tags: `Sistemas de Informação` A proposta do trabalho é o reconhecimento de caracteres de certidões de nascimento/casamento datilografadas. A datilografia em cartórios começou no início dos anos 60. A necessidade dessa ferramenta surgiu ao pesquisar registros em livros antigos de nascimento, casamento e óbito. Com o reconhecimento de caracteres será possível pesquisar o nome do registrado, como se fosse um documento digitado. Com a lei no 12.527/2011 de acesso a informações públicas, existem muitos livros digitalizados disponíveis. Porém, no momento, não existe uma ferramenta especializada para buscar informações nos livros. Cada livro possui em média 2100 páginas. Com o reconhecimento de caracteres, as pesquisas serão facilitadas. Os passos definidos para o projeto são: - Coletar documentos. - Extrair caracteres isolados. - Normalizar dados. - Rotulação dos dados. - Treinamento do algoritmo. ### Semana do dia 01/09/2020 - Dados de exemplo | Arquivo | Link | | ----------------- |:----------------------- | | Certidão de nascimento - Exemplo 01 | [:link:][Certidao-01-nascimento] | | Certidão de nascimento - Exemplo 02 | [:link:][Certidao-02-nascimento] | | Certidão de nascimento - Exemplo 03 | [:link:][Certidao-03-nascimento] | | Certidão de casamento - Exemplo 01 | [:link:][Certidao-01-casamento] | | Certidão de casamento - Exemplo 02 | [:link:][Certidao-02-casamento] | | Certidão de casamento - Exemplo 03 | [:link:][Certidao-03-casamento] | [Certidao-01-nascimento]: https://drive.google.com/file/d/1dsOfFCsiKw5XfX4_Rlvy206RflSUxPj4/ [Certidao-02-nascimento]: https://drive.google.com/file/d/1lAU_49dU8Ml-17q62-HxI1lW8zwq5h6l/ [Certidao-03-nascimento]: https://drive.google.com/file/d/1MPMw3ZB9TiH8eQdkm1R8OYS8IRFM8nHZ/ [Certidao-01-casamento]: https://drive.google.com/file/d/1WGfwwGvGciYH8Ei77SP-ViNScCZ-3Kd_/ [Certidao-02-casamento]: https://drive.google.com/file/d/18hNDDNVFsF9pKAX2WRyiOUSTf_s0ydlI/ [Certidao-03-casamento]: https://drive.google.com/file/d/1KSpZUMU51313X5BqjRH8d6keIO8gGvCv/ ### Semana do dia 07/09/2020 - Tutorial MNIST com CNN Realizando o tutorial MNIST com CNN. [:link:][tutorial-mnist-com-cnn] [tutorial-mnist-com-cnn]: https://machinelearningmastery.com/how-to-develop-a-convolutional-neural-network-from-scratch-for-mnist-handwritten-digit-classification/ ### Semana do dia 14/09/2020 - Objetivos geral e específicos Objetivo Geral - Desenvolver um algoritmo para reconhecimento de caracteres em certidões de nascimento, casamento e óbito datilografadas, datadas a partir da década de 1960. Objetivos Específicos - Utilizar a linguagem Python para desenvolvimento da ferramenta, trabalhando com machine learning; - Facilitar a busca por nomes em registros antigos; - Disponibilizar uma ferramenta online para facilitar o relacionamento de certidões por nome do registrado, cidades e grau de parentesco; - Facilitar o relacionamento entre fontes de árvores genealógicas. ### Semana do dia 21/09/2020 - Problema Com a lei no 12.527/2011 de acesso a informações públicas, foram disponibilizados muitos livros de cartórios disponibilizados online, tanto em arquivos históricos como em sistemas GED de registros públicos. (LEI No 12.527, DE 18 DE NOVEMBRO DE 2011) Porém, no momento, não existe uma ferramenta especializada para buscar palavras-chave nos livros, como por exemplo, sobrenome ou cidades. Cada livro possui em média 2100 páginas e a qualidade da imagem nem sempre possui alta resolução. Existe a necessidade de uma ferramenta para realizar uma busca especializada de caracteres nos documentos de registros públicos, bem com, possibilitando o relacionamento entre os documentos e parentescos. - LEI No 12.527, DE 18 DE NOVEMBRO DE 2011. Disponível em: <https://www.planalto.gov.br/ccivil_03/_ato2011-2014/2011/lei/l12527.htm>. ### Semana do dia 21/09/2020 - Justificativa Segundo a recomendação nº 9 do CNJ, foi exigido a digitalização dos documentos registrados em cartórios. A digitalização serve principalmente para a preservação da informação. (CNJ, 2007) Embora a digitalização dos registros datilografados esteja disponível em ferramentas de genealogias e plataformas GED de cartórios, ainda não foi disponibilizado uma ferramenta de busca dentro dos arquivos digitais. A ferramenta precisa reconhecer os caracteres nas certidões digitalizadas, assim como já vem sendo feito com placas de trânsito e de automóveis. (DE OLIVEIRA et al., 2018; ULLAH et al., 2019) Com a disponibilidade de uma ferramenta que possa realizar buscas em certidões, também será possível realizar um relacionamento entre esses documentos, facilitando a pesquisa de árvores genealógicas. Referências: - CNJ Recomendação No 9, de 08 de março de 2007. Disponível em: <https://atos.cnj.jus.br/files//recomendacao/recomendacao_9_08032007_23042019134610.pdf>. - DE OLIVEIRA, G. H. et al. Automatic Detection and Recognition of Text-Based Traffic Signs from images. IEEE Latin America Transactions, v. 16, n. 12, p. 2947–2953, 2018. - ULLAH, F. et al. Barrier access control using sensors platform and vehicle license plate characters recognition. Sensors (Switzerland), v. 19, n. 13, p. 1–20, 2019. ### Semana do dia 05/10/2020 - Métodos de limiarização A segmentação é a primeira etapa para extrair objetos de uma imagem. A limiarização segmenta os objetos de uma imagem por tons de cinza, classificando-os em classes de cinza. (MARIA; TOMMASELLI, 2000) - REDES NEURAIS ARTIFICIAIS: As RNAs são algoritmos computacionais que apresentam um modelo matemático inspirado na estrutura de organismos inteligentes, os quais possibilitam inserir simplificadamente o funcionamento do cérebro humano em computadores (FERREIRA, 2016). - MACHINE LEARNING COM PYTHON: A utilização da linguagem Python apresenta muitas vantagens para o desenvolvimento deste projeto. A linguagem Python é simples, de alto nível e com bibliotecas que atendem no quesito aprendizado de máquina. Algumas bibliotecas são, o Pandas, para manipulação de dados, o Numpy, para operações matemáticas, e o Tensorflow, para construção de modelos de Deep Learning. (RASCHKA, 2015) - TENSORFLOW E KERAS: Os frameworks utilizados para construir uma rede neural com facilidade e precisão são as bibliotecas TensorFlow e Keras, para reconhecimento de caracteres, junto à linhagem Python. (RIBEIRO; GUIMARÃES, 2016) Referências: - FERREIRA, M. H. Redes Neurais Artificiais: Princípios Básicos. Revista Eletrônica Científica Inovação e Tecnologia, v. 1, n. 13, p. 47–57, 2016. - MARIA, A.; TOMMASELLI, G. Limiarização automática de imagens digitais. p. 38–48, 2000. - RASCHKA, S. Python Machine Learning. 1. ed. Birmingham, UK: Packt Publishing, 2015. - RIBEIRO, M. M. 1; GUIMARÃES, S. S. 1. REDES NEURAIS UTILIZANDO TENSORFLOW E KERAS. UNIFENAS, 2016. ### Semana do dia 12/10/2020 - Segmentação com bibliotecas OpenCV Processando imagens utilizando OpenCV - Image Thresholding. [:link:][opencv-image-thresholding] [opencv-image-thresholding]: https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_imgproc/py_thresholding/py_thresholding.html Certidão original: ![](https://i.imgur.com/eoufmoF.jpg) Certidão segmentada com a bibliotecas OpenCV, utilizando thresholding com valor 105: ![](https://i.imgur.com/F4NvvqE.png)