LINCON SALES DE SOUZA
DESENVOLVIMENTO DE UM SISTEMA DE RECONHECIMENTO DE CARACTERES JAPONESES EM IMAGENS DE DISPOSITIVOS MÓVEIS UTILIZANDO PROCESSAMENTO DIGITAL DE IMAGENS E REDES NEURAIS
Projeto de Pesquisa desenvolvido durante a disciplina de Trabalho de Conclusão de Curso I e apresentado à banca avaliadora do Curso de Engenharia Elétrica da Escola Superior de Tecnologia da Universidade Estadual do Amazonas, como pré-requisito para a obtenção do título de Engenheiro Eletricista.
Orientador: Almir Kimura Junior, Me. Manaus
SUMÁRIO INTRODUÇÃO ... 3 1 TEMA ... 4 2 PROBLEMA DE PESQUISA ... 4 3 HIPÓTESE ... 4 4 OBJETIVO ... 4 5 JUSTIFICATIVAS ... 4 6 REFERENCIAL TEÓRICO ... 5 7 METODOLOGIA ... 10 8 CRONOGRAMA... 11 REFERÊNCIAS BIBLIOGRÁFICAS ... 12
INTRODUÇÃO
A sociedade contemporânea presencia há décadas uma progressiva digitalização da informação transformando o conhecimento escrito em dados computacionais. Em paralelo com a evolução do poder computacional, nos últimos 60 anos se vê um desenvolvimento no campo de processamento digital de imagens (PDI).
Com inspiração no sistema natural de visão, e em face às necessidades dessa nova realidade, o Reconhecimento Ótico de Caracteres (ROC) foi introduzido comercialmente nos anos 50 através da revista americana Reader’s Digest (NARTKERB; RICE; NAGY, 1999) para suprir a necessidade de identificar, filtrar, interpretar e facilitar a análise de grandes quantidades de dados e excertos, desde endereços postais, documentos bancários a relatórios inteiros.
E desde então as pesquisas em ROC evoluíram. Basicamente, ROC se desenvolveu como um sub-campo de Processamento Digital de Imagens, especificamente na área de Reconhecimento de Padrões, e em Inteligência Artificial (CHERIET et al, 2007), que envolve a tradução eletrônica de textos manuscritos, impressos e datilografados, transformando imagens de texto para um formato que uma máquina possa processar e entender o texto, seus respectivos léxicos, caracteres e pontuações.
E na última década se percebe uma evolução na aplicação de reconhecimento com dispositivos móveis em ambientes não controlados, como o cenário urbano (GOTO; ASO; SOBU, 2010). Um dos elementos chave para avançar neste campo é a contínua melhoria dos métodos de reconhecimento de caracteres no campo de ROC.
Portanto este plano de pesquisa propõe a investigação das abordagens existentes e o desenvolvimento de um algoritmo de ROC, que contribua para o aumento da precisão em aplicações móveis de reconhecimento de texto na língua japonesa para câmeras de dispositivos android.
1 TEMA
Desenvolvimento de um sistema de reconhecimento de caracteres japoneses em imagens de dispositivos móveis utilizando processamento digital de imagens e redes neurais.
2 PROBLEMA DE PESQUISA
Os algoritmos tradicionais de reconhecimento de caracteres japoneses em dispositivos móveis são muito imprecisos. Isso se dá pela grande quantidade de caracteres no idioma, que também causa lentidão no processo de reconhecimento.
3 HIPÓTESE
É possível desenvolver um sistema com performance mais precisa de reconhecimento de caracteres japoneses, utilizando no Matlab técnicas otimizadas e modernas de processamento digital de imagem e redes neurais.
4 OBJETIVO
Projetar um algoritmo mais preciso de reconhecimento de caracteres japoneses contidos em imagens obtidas por meio de um dispositivo android, utilizando as toolboxes de processamento de imagens e de controle de instrumentação do software de programação no MATLAB.
5 JUSTIFICATIVAS
Um sistema de reconhecimento mais preciso colabora para o desenvolvimento de ferramentas de aprendizado da língua japonesa que sejam mais confiáveis. Essa é uma contribuição necessária para aplicações variadas, como:
dicionários eletrônicos com identificação de caracteres à partir de fotos;
programas de ensino com correção de caligrafia e atividades feitos de forma automática.
Aplicativo de reconhecimento de capas de livros através da câmera seguido de busca do
item no site de compras.
Leitor de eventos em murais acadêmicos.
Esses são apenas alguns exemplos de benefícios à tecnologia móvel. Justifica-se então o projeto, pois tais melhorias estendem as opções de interatividade dos dispositivos, enquanto procuram exigir o mínimo de esforço dos consumidores.
É importante enfatizar que a utilização de técnicas de processamento digital de imagem e inteligência artificial no proposto projeto promovem o alicerce de teorias de processamento aprendidas durante o curso de graduação em Engenharia Elétrica. Além disso o projeto proporciona uma visão ampla das inúmeras aplicações e benefícios de tais técnicas. As
disciplinas diretamente relacionadas ao projeto incluem Processamento de Imagem, Processamento Digital de Sinais, Sinais e Sistemas, Comunicações Digitais, Sistemas de Controle I e II e seus respectivos laboratórios com experimento em MATLAB, Inteligência Artificial, e Linguagem de Programação I e II.
6 REFERENCIAL TEÓRICO
Os sistemas de reconhecimento de caracteres são modelados de acordo com o idioma e o contexto no qual eles estão situados, já que existem diversas variáveis envolvidas.
Falando-se especificamente do japonês, a primeiro grande variável é que seu sistema de escrita é complexo e composto de milhares de caracteres, dificultando a diferenciação entre classes e fazendo com que o reconhecimento deles seja longo, solicitando mais poder computacional, se comparado a línguas como as européias (NAKAGAWA et al, 2013). Não somente isso cria uma complicação peculiar, mas também o fato de que um texto em japonês tem sistemas de escrita com lógicas diferentes. Os caracteres kanji são ideográficos (cada caracter é um conceito), o kana é silábico (cada caracter é um som completo), e ainda caracteres alfanuméricos, chamados em japonês de romaji, podem aparecer eventualmente. Essa característica requer o uso de uma abordagem que pode lidar com um formato complexo de caracteres, como o uso das redes neurais. Para ilustrar foi utilizada a figura 1 abaixo. O caractere 明 no bloco superior esquerdo é um caractere kanji, pois sozinho ele representa o conceito de brilho, luminosidade e discernimento. O caractere は do bloco direito é um kana, pois representa o som de ‘uá’, não tendo nenhum conceito atribuído a ele. Em termos de características, ambos podem ser divididos em partes menores não conectadas entre si, conforme visto na figura, e essas partes são denominadas radicais.
Figura 1: Exemplo de Processamento de Caracteres Japoneses Fonte: Nguyen, Zhu e Nakagawa (2013)
Para lidar com as necessidades de reconhecimento na língua japonesa, serão utilizadas técnicas de processamento digital de imagem e inteligência artificial. Primeiramente, para se compreender a extensão e o uso de tais campos, precisa se entender o que realmente é uma imagem.
Imagens podem ser descritas como uma função f(x,y), onde as variáveis x e y representam a localização de um ponto qualquer na imagem, e f representa a intensidade de iluminação do do ponto. Conforme afirmou Guimarães (2006), “Uma imagem digital f [m,n] descrita em um espaço discreto 2D é derivada de uma imagem analógica f(x,y) de um espaço contínuo 2D através de um processo de amostragem que é frequentemente referido como digitalização.” Então para fins computacionais, imagens digitais são matrizes onde cada unidade indivisível de representação é chamado de pixel, e a área MxN da matriz representa o número de pixels na imagem.
Com relação à intensidade, Jain (1989) e Gonzalez e Woods (2006) destacam que existem três tipos de imagens: binária, monocromática e a cores. A binária possui apenas preto (nível zero) e branco (nível um). A monocromática varia os tons em decimais entre zero e um de forma discreta, ou seja, existe um limite de níveis de cinza, que geralmente segue um limite de potências de 2 (64, 128, 256...) devido às limitações de memórias virtuais para armazenar as imagens. As fotos capturadas por dispositivos android são coloridas no formato RGB, formando uma cadeia de três matrizes de intensidade de vermelho, verde e azul, respectivamente. Para os fins de utilização do projeto, as imagens serão convertidas para monocromática logo no pré-processamento.
Quanto às etapas dos sistemas de captura e processamento de imagem, de acordo com
Gonzalez e Woods (2006) elas envolvem os procedimentos que estão dispostos na figura
seguinte.
Figura 2: Etapas em um sistema de processamento de imagens Fonte: Gonzalez e Woods (2006)
Começando a partir do Domínio do problema, que no caso de ROC seriam caracteres escritos ou impressos, decorre-se pelo diagrama procedendo as diversas fases do processamento, conforme dispostos a seguir.
Pré-processamento
Aquisição da Imagem: consiste em capturar a imagem colorida através do dispositivo,
transformá-la para um domínio digital, o processo já comentado de digitalização, e em seguida escaloná-la para o tamanho adequado ao sistema, preparando-a para os processos seguintes.
Aprimoramento: são utilizadas técnicas de intensidade, como filtros espaciais, ou
transformada de Fourier para exibir partes da figura antes obscuras por um problema de aquisição ou do próprio ambiente externo ao sistema. Também com o aprimoramento é possível mexer com o contraste da imagem de forma a destacar objetos ou contornos de interesse para a aplicação, como por exemplo as bordas de um kanji a ser avaliado.
Restauração: é feito caso a imagem esteja degradada. Esta etapa envolve modelos
probabilísticos ou matemáticos para restabelecer características que haviam sido mitigadas por diversos fatores, como o tempo, a má preservação do material, ou outras condições nocivas do ambiente. Uma aquisição de imagem ruim pode acentuar os efeitos dessa degradação e por isso muitas vezes a restauração é um passo imprescindível em aplicações como digitalização de textos e livros antigos, ou na recuperação de materiais que foram arruinados em guerras ou desastres naturais.
Processamento de Imagem em Cores: em ROC esta etapa está geralmente relacionada
com o processamento das cores do material onde os caracteres estão representados (como papel, placas e pedras), e das cores do caractere, que tem relação com o equipamento utilizado para escrever (lápis, canetas de diversas cores, pincéis e alto-relevo). Neste procedimento a figura é colocada num formato mais apropriado para os passos seguintes atuarem, como num formato de tons de cinza, ou em formato binário.
Compressão: lida com a relação de capacidade necessária para processar e armazenar a
imagem, ou a largura de banda para transmiti-la.
Extração de Características
Processo Morfológico: trabalha com ferramentas que extraem características da imagem
uteis na descrição e representação de formas, como a simplificação de formas complexas em padrões mais geométricos e lineares, como por exemplo a esqueletização, ou seja, criação de um esqueleto para um objeto de interesse.
Segmentação: divide a imagem em camadas ou objetos (como por exemplo um caractere),
cada uma com diferentes propriedades e formas, para simplificar a representação da imagem e permitir uma análise concentrada na busca do reconhecimento de objetos desejados. Em outras palavras, a segmentação transforma a imagem, que antes era apenas
um aglomerado de pixels, em um conjunto com objetos distintos que fazem sentido para a máquina ou o sistema que o analisa.
Representação e descrição: É o processo que geralmente vem após a segmentação. A
representação coloca os objetos em um formato apropriado para análise computacional, com um método que pode destacar as características desejadas. É nessa fase que se decide se as bordas ou toda a região serão representadas naquele conjunto de dados, pois em aplicações variadas dá-se mais interesse a textura da região e o esqueleto do objeto, e em outras se encontra muito significado no delineamento dos contornos. Em muitas aplicações os dois são analisados como características em conjuntos separados. A descrição interage com as informações quantitativas, que podem distinguir objetos em suas respectivas classes.
Estágio de Classificação
O estágio de classificação é o procedimento para atribuir significado aos objetos extraídos da figura. É nesse passo que um kanji, que no caso é um objeto, recebe um rótulo baseado nas informações obtidas e organizadas pelos processos anteriores. O sistema verifica a que classe pertence aquele objeto comparando-o com um banco de possíveis classes de caracteres, que seriam os diferentes kanjis. Para fazer esta análise podem se utilizar técnicas de redes neurais de inteligência artificial, no qual o sistema consegue distinguir os parâmetros de classes que se deseja diferenciar através de treinamentos aplicados a um algoritmo de aprendizado. Ou seja, mostram-se ao sistema quais são os padrões corretos e os errados que venham a se repetir, e ele passa a registrar isso e utilizar para aumentar sua precisão na diferenciação de características.
A estrutura de uma rede neural pode ser visto na figura 3. Resumidamente, e conforme conceituado em mais detalhes por Hagan, Demuth e Beale (1996) e Haykin (2008), uma rede neural é similar a um cérebro real, pois ela correlaciona os dados de entrada em redes intrínsecas, interpretando-os a um nível cognitivo. Outra analogia é que o elemento básico de processamento e transmissão é o neurônio artificial. Este elemento pode ser visto na figura 4, e suas principais funções são somar sinais de entrada e depois processá-las através de uma função qualquer, geralmente escolhida em função modelagem da rede e dos parâmetros para análise.
Figura 3: Estrutura de uma Rede Neural por Backpropagation Fonte: Budiwati, Haryatno e Dharma (2011)
Figura 4: Elementos de um Neuron Artificial Fonte: Budiwati, Haryatno e Dharma (2011)
7 METODOLOGIA
O Trabalho apresentado será uma Pesquisa Aplicada, e terá como objetivo a realização de Pesquisa Exploratória sobre o material bibliográfico adquirido sobre o assunto. Será utilizado o procedimento técnico de pesquisa bibliográfica. O método de abordagem utilizado será o hipotético-dedutivo e o método de procedimento de elaboração será o monográfico. Para coleta de dados será utilizada documentação indireta, com auxílio de documentos primários e secundários, e a análise e interpretação de seus dados será quantitativa.
Serão feitas pesquisas bibliográficas na área de reconhecimento de caracteres, redes neurais, comunicações de dispositivos com o Matlab e processamento digital de imagens. As Pesquisas bibliográficas serão realizadas para coletar dados sobre o estado da arte e as técnicas mais recentes, que sejam viáveis para a elaboração do projeto. Os dados servirão também de embasamento para verificação da precisão, qualidade, e outros critérios, uma vez que o sistema esteja pronto.
O projeto será desenvolvido com o software Matlab versão 2013a, e por isso a primeira fase será implementar um sistema de conexão do programa com o dispositivo android, de forma que as imagens possam ser transferidas diretamente para serem processadas no ambiente do Matlab.
As partes do sistema serão desenvolvidas em scripts separados, e depois relacionadas por um programa principal. A segunda etapa será desenvolver o algoritmo de pré-processamento, onde a imagem será tratada, convertida para um formato de compressão adequado e para tipo binário (preto e branco), seguindo as sub-etapas conforme explicadas no referencial teórico. Em seguida será desenvolvido um script para extrair e analisar as características dos caracteres contidos na imagem, utilizando a abordagem matemática escolhida na pesquisa bibliográfica. As variáveis de saída dessa etapa serão vetores de características relevantes dos caracteres. A etapa seguinte da implementação do algoritmo será desenvolver o sistema de classificação utilizando redes neurais, que use os vetores resultantes do processo anterior para determinar a identidade do caractere processado. Para tal, as características passam por uma análise comparativa com um banco de dados de caracteres padrão em bitmap.
Para que a rede neural realize seu procedimento de identificação de caracteres corretamente, uma etapa de treinamento será realizada. Nela, imagens contendo caracteres padronizados serão processadas pelo algoritmo, o que serve para registrar os critérios dos
caracteres. Essa fase funciona como um aprendizado para o sistema, e é essencial para a sua precisão. Para tal etapa, serão utilizados bancos de caracteres padrão da série JIS (Japanese Industrial Standards), que tem seus critérios regulados pela Associação Japonesa de Normas (JSA).
A última etapa será a de testes. Nela figuras tiradas pelo dispositivo android serão processadas e o sistema será avaliado em termos de precisão, em diversas situações. Os resultados serão discutidos e analisados entre si, com o objetivo de encontrar as circunstâncias mais favoráveis e identificar oportunidades de melhoria.
8 CRONOGRAMA M ÊS► Semana 1º 2º 3º4º 1º 2º 3º 4º 1º 2º3º 4º 1º 2º 3º 4º 1º 2º 3º 4º 1º 2º 3º 4º 1º 2º 3º 4º 1º 2º 3º 4º 1º 2º 3º 4º 1º 2º 3º4º Pl ano R eal Pl ano R eal Pl ano R eal Pl ano R eal Pl ano R eal Pl ano R eal Pl ano R eal Pl ano R eal Pl ano R eal Pl ano R eal Pl ano R eal Pl ano R eal Pl ano R eal Pl ano R eal Pl ano R eal
Elaboração do projeto de pesquisa
9 4
Apresentação da pesquisa à banca avaliadora
Entrega da versão final do projeto de pesquisa 10 8 3 5 12 11 15 M A R ITEM
Entrega da versão final da pesquisa
A B R Levantamento de literatura SET O U T 2014 F EV M A I JU N JU L D EZ 14 13 Elaboração da Pesquisa Revisão do texto
Escolha do professor orientador 2
1
Definição do tema com professor orientador
Apresentação do projeto de pesquisa à banca avaliadora
A t iv ida de
N O V
Treinamento e Teste
Pesquisa Bibliográfica Aprofundada
Implementação do Pré-processamento
Implementação do Processamento
Implementação do Sistema de Classificação 6
REFERÊNCIAS BIBLIOGRÁFICAS
BUDIWATI, Sari D.; HARYATNO, Joko; DHARMA, Eddy M. Japanese Character (Kana) Pattern Recognition Application Using Neural Network. 2011 International Conference on
Electrical Engineering and Informatics, Badung, Indonésia, p. 1-6, jul. 2011.
CHERIET, Mohamed. et al. Character Recognition Systems: A Guide for Students and Practioners. Hoboken, Estados Unidos da América: John Wiley & Sons, Inc., 2007. GOTO, Hideaki; ASO, Hirotomo; SOBU, Yohei. Binary Tree-Based Precision-Keeping
Clustering for Very Fast Japanese Character Recognition. 25th International Conference of
Image and Vision Computing, Nova Zelândia, vol. 978, p. 1-6, nov. 2010.
GUIMARÃES, Marly. Amostragem e Quantização. Digital Signal Processing, Manaus, jun. 2008.
HAGAN, Martin T.; DEMUTH, Howard B.; BEALE, Mark. Neural Network Design. United States of America: PWS Publishing Company, 1996.
HAYKIN, Simon. Neural Networks and Learning Machines. 3. ed. Upper Saddle River, Estados Unidos da América: Prentice-Hall Inc., 2008.
JAIN, Anil K. Fundamentals of Digital Image Processing. Englewood Cliffs, Estados Unidos da América: Prentice-Hall Inc., 1989.
LEARNED-MILLER, Erik; HANSON, Allen R.; WEINMAN, Jerod J., Scene Text Recognition using Similarity and a Lexicon with Sparse Belief Propagation. IEEE Transaction on Pattern
Analysis and Machine Intelligence, Los Alamitos, Estados Unidos da América, vol. 31, p.
1733-1746, 2009.
NAKAGAWA, Masaki. et al. Handwritten Chinese/Japanese Text Recognition Using Semi-Markov Conditional Random Fields. IEEE Transactions on Pattern Analysis and Machine
Intelligence, Los Alamitos, Estados Unidos da América, vol. 35, p. 2413-2426, oct. 2013.
NARTKERB, Thomas A; RICE, Stephen V.; NAGY, George. Optical Character Recognition: An illustrated guide to the frontier. Procs. Document Recognition and Retrieval VII, San Jose, Estados Unidos da América, vol. 3967, p.58-69, jan.1999.
NGUYEN, Cuong T.; ZHU, Bilan; NAKAGAWA, Masaki. A semi-incremental recognition
method for on-line handwritten Japanese text. 12th International Conference of Document
Analysis and Recognition, Estados Unidos da América, p. 84-88, ago. 2013.
WOODS, Richard E.; GONZALEZ, Rafael C., Digital Image Processing. 3. ed. Upper Saddle River, Estados Unidos da América: Prentice-Hall Inc., 2006.