descadastro
site NCE
 
 
Inteligência Computacional
 
artigos publicados

Reconhecimento de Caracteres

 

Eugênio Silva
Doutorando do IM-NCE/UFRJ
Membro do LabIC - NCE/UFRJ

     
 

Introdução

Desde a invenção dos primeiros computadores eletrônicos digitais, a quantidade e a complexidade das tarefas sob a responsabilidade destas máquinas vêm aumentando consideravelmente. O que antes era restrito à geração de tabelas de cálculo de trajetórias balísticas, como foi o caso do computador ENIAC durante a 2ª Guerra Mundial, evoluiu para a execução de tarefas bem mais ambiciosas. Métodos computacionais essencialmente exatos e determinísticos passaram a dividir espaço com métodos aproximados e não determinísticos, que estão mais próximos da forma como o ser humano se comporta. Tais métodos, que procuram reproduzir determinadas habilidades dos seres humanos, são comumente denominados “inteligentes” e são amplamente utilizados em reconhecimento de padrões. Um padrão é qualquer entidade da qual é possível extrair algum tipo de característica, seja ela simbólica ou numérica e o que as técnicas computacionais de reconhecimento de padrões buscam, é por uma maneira eficiente de, a partir destas características, organizar estes padrões em agrupamentos ou classes que compartilhem determinadas semelhanças.

Na natureza os padrões se manifestam de diversas maneiras como, por exemplo, sons, formas, imagens, cheiros e sabores e a todo instante os seres humanos, e também outros animais, percebem e interagem com estes padrões com extrema naturalidade. Exemplos disso são as habilidades que o ser humano têm de diferenciar o som do motor de um automóvel do som de uma música dos Rolling Stones, ou ainda, a habilidade que um animal selvagem tem de distinguir uma presa de um predador. A naturalidade inerente a estas habilidades faz com que o ser humano sequer imagine as complexidades cognitivas que estão por trás delas. Complexidades que se tornam evidentes quando se tenta reproduzir as tais habilidades artificialmente em um computador, o que há muito desafia a comunidade científica interessada no assunto.

O reconhecimento de padrões por computador é uma das mais importantes ferramentas usadas no campo da inteligência de máquina. Atualmente está presente em inúmeras áreas do conhecimento e encontra aplicações diretas em visão computacional, análise sísmica, reconhecimento de locutores e de comandos a voz, classificação de sinais de radar, reconhecimento de faces; identificação de digitais, análise e entendimento de sinais eletrocardiográficos, previsão de comportamentos em mercados financeiros, reconhecimento de caracteres impressos e manuscritos, além de outras.

Reconhecimento de Caracteres

Dentre as modalidades de reconhecimento de padrões, o reconhecimento de caracteres é uma das mais conhecidas e exploradas pela comunidade científica. Prova disso é a grande quantidade de artigos publicados anualmente em periódicos e anais de conferências nacionais e internacionais relacionadas, e até mesmo especializadas no assunto. O reconhecimento de caracteres consiste em, a partir de características extraídas de um conjunto de caracteres, separá-los em 10 classes, no caso dos algarismos, ou 26 classes, no caso das letras do alfabeto ocidental.

A busca pelo desenvolvimento de sistemas eficientes para reconhecimento de caracteres é tão antiga quanto o próprio computador eletrônico. Porém, antes deles se tornarem uma realidade, muito desenvolvimento tecnológico foi necessário e o início desta história remonta a 1.870, quando Carey inventou o scanner de retina. Em seguida, em 1.890, Nipkow inventou o scanner seqüencial, que representou um grande avanço tanto para as máquinas leitoras quanto para a televisão moderna. A idéia da criação dos sistemas de reconhecimento de caracteres surgiu da necessidade de auxílio a pessoas portadoras de deficiência visual e a primeira experiência bem sucedida foi realizada pelo cientista russo Tyurin em 1.900.

O marco inicial dos sistemas modernos de reconhecimento de caracteres data de 1.951 quando M. Sheppard, fundador da Intelligent Machine Research Co., criou o GISMO, um que era um sistema leitor-escritor. Posteriormente, em 1.954, um protótipo desenvolvido por J. Rainbow foi utilizado para ler letras maiúsculas datilografadas à velocidade de um caractere por minuto. Somente a partir de 1.967 é que grandes companhias como, IBM, Recognition Equipment, Inc., Farrington, Control Data e Optical Scanning Corporation, começaram a produzir e comercializar estes sistemas.

Os primeiros sistemas comerciais que surgiram foram os chamados sistemas OCR (Optical Character Recognition). Nos OCR’s os caracteres a serem reconhecidos se encontram impressos em uma determinada fonte e, por isso, apresentam um formato bem comportado assim como as letras deste texto. Inicialmente os OCR’s eram capazes de reconhecer apenas tipos específicos de fontes como, OCR-A, OCR-B, Pica, Elite, Courier, etc. Em seguida, surgiram os OCR’s multi-fonte que permitiram que a capacidade de reconhecimento se estendesse para um conjunto maior de opções de fontes. Por fim, surgiram os OCR’s omni-fonte, capazes de reconhecer qualquer fonte.

O passo seguinte foi dado em direção aos sistemas ICR (Intelligent Character Recognition). Diferentemente dos OCR’s, os ICR’s lidam com um problema bem mais complexo, uma vez que os caracteres a serem reconhecidos são manuscritos e não mais impressos. Esta complexidade é devida às variações de estilo existentes na escrita manuscrita, pois de uma pessoa para outra um mesmo caractere pode se apresentar de diferentes formas. Até uma mesma pessoa pode escrever um mesmo caractere de maneiras diferentes. A escrita manuscrita pode ainda se apresentar de duas formas, isolada e cursiva, sendo que no primeiro caso os caracteres estão dispostos de forma não conectada, enquanto que no segundo estão dispostos de forma completamente irrestrita, ou seja, conectados ou eventualmente desconectados.

Os dados de entrada de um sistema de reconhecimento de caracteres podem ser provenientes da digitalização de um documento, por meio de um scanner, ou provenientes de superfícies de cristal líquido, que capturam os caracteres escritos sobre ela com um bastão que imita uma caneta. Estas duas abordagens compreendem os sistemas de reconhecimento denominados off-line e on-line, respectivamente. No caso on-line, à medida que o traço do caractere é delineado pelo escritor, este é prontamente apresentado ao sistema, enquanto no caso off-line, somente a imagem completa do que foi escrito previamente é apresentada ao sistema. Os OCR’s são essencialmente do tipo off-line, enquanto os ICR’s podem ser de ambos os tipos.

Hoje, ao contrário de quando começaram a ser comercializados, os reconhecedores de caracteres apresentam desempenhos bem melhores, preços mais acessíveis e são facilmente encontrados no mercado. Os OCR’s estão presentes na maioria dos programas de interface dos scanners e os ICR’s do tipo on-line são uma das funcionalidades encontradas nos modernos palm tops. Os ICR’s do tipo off-line estão disponíveis principalmente para o reconhecimento de documentos, em especial formulários. Contudo, todos estes produtos ou são totalmente desenvolvidos fora do Brasil ou utilizam pacotes de soluções importadas para a tarefa do reconhecimento dos caracteres.

 
avançar >>
         
 
    página principal
 
Núcleo de Computação Eletrônica
Universidade Federal do Rio de Janeiro
Prédio do Centro de Ciências Matemáticas e da Natureza Bloco C
Caixa Postal: 2324 - CEP: 20.010-974
Cidade Universitária - Ilha do Fundão, Rio de Janeiro - RJ Tel: 2598-3333