Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6...

57
Instituto Superior de Engenharia do Porto Handwriting Recognition Relatrio de Projecto Orientador: Eng. Paulo Ferreira Aluna: Dina Simões Setembro 2003

Transcript of Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6...

Page 1: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Instituto Superior de Engenharia do Porto

Handwriting Recognition

Relatório de Projecto Orientador: Eng. Paulo Ferreira Aluna: Dina Simões

Setembro 2003

Page 2: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

2

Page 3: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Agradecimentos Gostaria de agradecer ao Eng. Paulo Ferreira, por me ter ajudado a eleger os assuntos que deveria abordar neste relatório, bem como pela disponibilidade para atender às minhas dúvidas. Agradeço também ao senhor presidente do departamento de informática que encaminhou o meu pedido, e ao presidente do conselho directivo que me autorizou a ter acesso a um dos laboratórios do departamento durante o mês de Agosto, o que me ajudou no meu trabalho de pesquisa, já que não possuo internet em casa. Gostaria também de agradecer ao meu marido Paulo Pereira pela paciência e compreensão.

3

Page 4: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Índice

Capítulo I � História .................................................................................1.1 Introdução............................................................................................................. 10 1.2 Estenografia .......................................................................................................... 11 1.2 Estenografia .......................................................................................................... 11 1.3 Teclado QWERTY ............................................................................................... 12 1.4 Teclado de Dvorak ............................................................................................... 12 1.5 Teclado MALT..................................................................................................... 13 1.6 Teclados com acordes........................................................................................... 13

1.6.1 AccuKey ........................................................................................................ 14 1.6.2 Teclado estenográfico.................................................................................... 14 1.6.3 Bat.................................................................................................................. 15 1.6.4 CyKey............................................................................................................ 15 1.6.5 MonoManus................................................................................................... 16 1.6.6 Twiddler ........................................................................................................ 16 1.6.7 Orbitouch....................................................................................................... 17

1.7 Conclusão ............................................................................................................. 18 2.1.1 Análise do documento ................................................................................... 20 2.1.2 Reconhecimento de caracteres....................................................................... 21 2.1.3 Processamento de contexto............................................................................ 21

2.2 Reconhecimento de Escrita manual...................................................................... 22 2.2.1 Aquisição de dados........................................................................................ 22 2.2.2 Intelligent Character Recognition (ICR) ....................................................... 22 2.2.3 Reconhecimento Off-Line ............................................................................. 24 2.2.4 Segmentação de palavras em caracteres........................................................ 26 2.2.5 Reconhecimento On-Line............................................................................. 27 2.2.6 Pré Processamento......................................................................................... 27 2.2.7 Aspectos do interface .................................................................................... 32 2.2.8 Reconhecimento através de Bitmap e de vector............................................ 32 2.2.8 Input em caixas ou livremente....................................................................... 33 2.2.9 Escrita impressa e escrita cursiva .................................................................. 33 2.2.10 Reconhecimento de letras e palavras........................................................... 34 2.2.11 Reconhecimento através de treino............................................................... 34 2.2.12 Misturando gráficos e gestos ....................................................................... 35 2.2.13 Abordagens de implementação.................................................................... 35 2.2.14 Redes Neuronais .......................................................................................... 35 2.2.15 Lógica de Fuzzy........................................................................................... 36 2.2.16 Modelos Hidden Markov............................................................................. 37

2.3 Reconhecimento de formas geométricas .............................................................. 38 2.3.1 Tarefas de pré processamento ....................................................................... 39

Capítulo III � Escrita Normal e Símbolos Próprios .......................................... 40 3.2 Graffiti .................................................................................................................. 41 3.3 O Soft Keyboard como alternativa ao graffiti ...................................................... 42

3.3.1 Built-in keyboard........................................................................................... 42 3.3.2 Silkyboard II .................................................................................................. 42 3.3.3 Fitaly keyboard.............................................................................................. 43

3.4 Outros alfabetos utilizados ................................................................................... 43 3.4.1 Thumbscript................................................................................................... 43 3.4.2 Unistrokes...................................................................................................... 44

4

Page 5: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

3.4.3 MDTIM ......................................................................................................... 45 3.4.4 Jot .................................................................................................................. 45

3.5 Input de texto baseado em gestos ......................................................................... 46 3.5.1 Cirrin.............................................................................................................. 46 3.5.2 Quickwritng................................................................................................... 47 3.5.3 T-Cube........................................................................................................... 47

Capítulo IV � Handwriting Software ...................................................................4.1 Introdução............................................................................................................. 50 4.2 O desafio do Reconhecimento de escrita manual................................................. 50 4.3 Jot para o windows CE ......................................................................................... 50 4.4 SmART Writer ..................................................................................................... 51 4.5 CalliGrapher ......................................................................................................... 52 4.6 Tecnologia OnSpot para dispositivos móveis ...................................................... 53

5. Conclusão .........................................................................................6 Referências.........................................................................................

5

Page 6: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Índice de Figuras

Título página

[1] Documento de estenografia antiga

[2] Primeira máquina de escrever

[3] Layout do teclado de Devorak

[4] Teclado MALT (à esquerda), teclado MALT 2D (à direita)

[5] Teclado metade QWERTY

[6] Teclado AccuKey

[7] Teclado para estenografia

[8] Utilização de máquinas de estenografia

[9] Teclado BAT

[10] Teclado CyKey

[11] Códigos de micro escrita para o alfabeto

[12] Teclado Monomanus

[13] Teclado Twiddler

[14] Arranjo das teclas do teclado twiddler.

[15] Teclado Orbitouch

[16] Modo de introdução das letras 'A' (à esquerda) e 'E' (à direita)

[17] Módulos básicos de um sistema off-line de reconhecimento de handwriting

[18] Exemplos de pedaços de correspondência

[19] (a) FAYETTEVILLE (b) escrita suave (c) remoção ambígua

[20] Exemplos da segmentação de caracteres

[21] Deformação laço (loop), pico (cusp), curva (hump)

[22] Possíveis pontos de segmentação

[23] Diferentes níveis de escrita

[24] Layout de uma aplicação com utilização de redes neuronais

[25] Reconhecimento de formas geométricas

[26] Aproximação poligonal para eliminar o ruído

[27] Filtragem de pontos aglomerados

[28] Refinamento dos pontos de finalização do traço

[29] Alfabeto graffiti

[30] Built-in keyboard

[31] Silkyboard

[32] Fitaly Keyboard

[33] Alfabeto thumbscript

[34] Alfabeto unistrokes

11

11

12

13

13

14

14

14

15

15

16

16

16

17

17

17

24

27

28

29

30

31

33

36

38

39

39

39

41

42

42

43

43

44

6

Page 7: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

[35] Alfabeto MDTIM

[36] Alfabeto Jot

[37] O interface Cirrin

[38] O interface Quickwritng

[39] Estrutura de menus T-Cube

[41] Intarface de Jot para windows CE

[42] Treino da aplicação para posterior reconhecimento do modo de escrita do

utilizador

[43] Uso de desenhos como atalhos para palavras

[44] Introdução de escrita cursiva

[45] Depois das palavras decifradas

[46] Correcção manual de palavras mal decifradas

[47] Layout OnSpot

45

46

46

47

48

51

51

52

52

52

52

53

Esquema [1] - Reconhecimento OCR 20

7

Page 8: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Introdução

Embora com uma curta existência e devido à evolução de ferramentas, os computadores pessoais são hoje indispensáveis na execução de muitas tarefas aumentando a produtividade humana. Apesar da evolução a nível de ferramentas de desenho (sistemas de CAD), a sua utilização como forma de representação de objectos e formas que temos em mente, ainda é complexa e pouco adequada comparada com a simplicidade, eficiência e rapidez do uso de papel e lápis. Assim, muitas vezes o computador só é utilizado numa fase final (passar a limpo), continuando a fase de esboço ou rascunho a ser realizada com papel e lápis.

A evolução dos computadores juntamente com a dos teclados dos computadores pessoais mostra que o problema da interacção mais rápida entre o homem e a máquina tem sido um grande desafio tecnológico e científico desde a origem dos computadores.

Durante as últimas décadas muitos esforços foram feitos, na área tecnológica, no desenvolvimento de periféricos como scanners, mesas digitalizadoras, pda's, ratos, etc. Além disso, foram feitos estudos de algoritmos de reconhecimento da escrita. Mas, apesar do progresso tecnológico, o problema da perfeita interacção entre o homem e o computador, ainda permanece sem solução.

O reconhecimento handwriting veio despertar ainda mais o �bichinho� de escrever ou desenhar no computador de uma forma natural, rápida e prática. De factos grandes avanços foram feitos nesta área, e existem ferramenta simples e úteis que de uma forma prática e rápida realizam muitas das tarefas que ainda muitos de nós desempenhamos com teclado e rato. Mas será realmente que vale a pena trocar as nossas �velhas� tecnologias por novas ferramentas?

Tentarei neste trabalho abordar algumas dessas tecnologias, bem como métodos utilizados no reconhecimento de escrita manual.

8

Page 9: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Capítulo I � História

1.1 Introdução 9 1.2 Estenografia 10 1.2 Estenografia 10 1.3 Teclado QWERTY 11 1.4 Teclado de Dvorak 11 1.5 Teclado MALT 12 1.6 Teclados com acordes 12 1.6.1 AccuKey 13 1.6.2 Teclado estenográfico 13 1.6.3 Bat 14 1.6.4 CyKey 14 1.6.5 MonoManus 15 1.6.6 Twiddler 15 1.6.7 Orbitouch 16 1.7 Conclusão 17

9

Page 10: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

1.1 Introdução

A necessidade de transmitir por meio de símbolos desenhados a linguagem oral, foi uma das primeiras preocupações da humanidade. Os primeiros homens que, há 25 mil anos, pintavam as paredes das grutas ou gravavam as rochas das margens dos rios, estavam certamente cientes dessa inquietação, embora a sua arte não possa ser considerada uma forma de escrita. A escrita surgiu, aproximadamente, em 4000 a.C.

Existem, há dezenas de milhares de anos, inúmeras maneiras de transmitir mensagens através de desenhos, sinais, imagens, etc. Entretanto, a escrita propriamente dita só começou a existir a partir do momento em que foi elaborado um conjunto organizado de signos ou símbolos, por meio dos quais o Homem pôde materializar e fixar claramente tudo o que pensava, sentia ou sabia expressar.

10

Page 11: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

1.2 Estenografia

Para fazer apontamentos e notas, é necessário utilizar técnicas de escrita básica [1] que se apoia numa escrita de tipo telegráfico em que se anulam os artigos e a maior parte dos verbos de forma a registar rapidamente as ideias. À arte de escrever por meio de abreviaturas, de forma a acompanhar com a escrita o dizer da pessoa que fala chama--se estenografia. A estenografia utiliza as letras como símbolos que correspondem a diferentes sons, então a palavra é soletrada da forma como é ouvida, foneticamente, em vez de ser soletrada em qualquer língua. Através do uso de um único símbolo, em vez de todo o conjunto de letras, para representar cada som, a anotação é um processo rápido.

Nas escolas de Roma ensinava-se a escrever estenografia porque era uma

ferramenta de trabalho adequada para transcrever conversas e discursos relevantes. Desapareceu no século XII, porque foi considerada uma forma de escrita

misteriosa associada a rituais secretos e à bruxaria.

Figura [1]: Documento de estenografia antiga

Os sistemas de estenografia reapareceram em final do século XVI como uma ajuda para os escrivães que tomavam notas de discursos pronunciados. Os mesmo métodos que facilitaram a escrita estenográfica, foram aplicados aos teclados dos computadores.

No século XVIII começaram a desenhar-se máquinas de escrever que substituíram

a escrita manual e incrementaram rapidez e perceptibilidade aos textos produzidos.

Figura [2]: Primeira máquina de escrever

11

Page 12: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

1.3 Teclado QWERTY

A primeira máquina de escrever bem sucedida comercialmente foi desenvolvida por Christopher Lathan Sholes [2] em 1873. Originalmente, as teclas foram ordenadas alfabeticamente. Contudo, os problemas não demoraram a aparecer. As pessoas começaram a ser tão adeptas do uso do teclado, que as teclas encravavam quando primidas em curtas sessões a grande velocidade. Para ultrapassar este problema Sholes decidiu tornar o trabalho de dactilografia o mais lento possível. A sua solução foi pôr as teclas de uso mais frequente o mais longe possível umas das outras. O seu teclado tornou-se então conhecido por teclado QWERTY.

Portanto, a razão do teclado de hoje ser assim formatado é irónica, considerando que todos os aspectos do computador de hoje são projectados para a máxima eficiência. Para teclas que não estão no meio ou no início da linha é necessário alcançá-las ao longo de diagonais, o que dificulta a performance e leva a altas taxas de erro.

1.4 Teclado de Dvorak

Existe um sistema melhor, que infelizmente poucas pessoas conhecem. Desenhado por August Dvorak nos anos 30. O teclado de Dvorak põe nove das letras mais usadas na linha do meio de teclado. Isto permite ao escritor escrever mais de 3000 palavras sem estender os dedos. Em comparação só cerca de 50 palavras podem ser escritas num teclado com a configuração anterior. Como resultado com o teclado DVORAK os dedos percorrem uma distância mais curta do que no teclado QWERTY convencional, o que faz aumentar a rapidez e a performance de escrita.

Figura [3]: Layout do teclado de Dvorak

Com um aumento de produtividade na ordem dos 68% era de esperar uma alteração do sistema QWERTY para DVORAK, a verdade é que já se encontram disponíveis em vários computadores e máquinas de escrever, mas em larga escala eles continuam ainda a não ser utilizados. Talvez porque existem muitas pessoas que estão treinadas para utilizar o modelo anterior para trabalhar, e a mudança acarretaria muitos custos.

12

Page 13: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

1.5 Teclado MALT

Uma versão ainda melhor que a DVORAK é o teclado MALT idealizado por Lillian Malt optimiza a estrutura física do teclado bem como a disposição das letras. Possibilita um maior uso do polegar tornando mais fácil alcançar a tecla de backspace e de outras normalmente fora de alcance.

Diferente do teclado DVORAK, a versão Malt necessita de hardware especial para que possa ser instalado no computador.

Existem também desenhos modernos de teclados DVORAK e MALT que são especialmente contornados para aliviar os problemas físicos associados ao estilo do teclado da máquina de escrever tradicional. São estruturados para encaixar no alcance natural dos dedos. Também evitam as linhas da máquina de escrever, tornando o alcance de teclas nas linhas do topo ou de baixo mais rápido e confortável.

Figura [4]: Teclado MALT (à esquerda), teclado MALT 2D (à direita)

Os teclados de uma mão vieram resolver o problema de não ter uma mão disponível para fazer outras tarefas. Originalmente, Dvorak inventou layouts para cada mão. Estes layouts podem ser utilizados bastando para tal alterar as configurações do teclado no Windows.

Figura [5]: Teclado metade QWERTY

1.6 Teclados com acordes

São teclados pequenos, e têm poucas teclas (normalmente uma para cada dedo). Ao pressionar várias teclas ao mesmo tempo em diferentes combinações, é possível reproduzir todas as funções do teclado com algumas teclas apenas.

Estes teclados são aproximadamente tão rápidos como os Qwerty, e são mais confortáveis já que um dedo permanece numa só posição. A maior desvantagem deste tipo de teclados é facto de ser necessário algum tempo de treino e prática para aprender os padrões (as combinações de teclas), que representam letras, números e funções. Também têm uma baixa performance, ou seja a taxa de introdução de caracteres por minuto é relativamente lenta em comparação com outros teclados

13

Page 14: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

convencionais. Devido a estes dois aspectos os teclados com acordes não se tronaram comercialmente viáveis excepto para aplicações especializadas.

1.6.1 AccuKey

É composto por teclas macias de borracha que se movimentam para trás e para a frente (cada tecla tem três estados). O tempo de aprendizagem dos padrões (ver imagem de anexo 1) é estimado em duas a três horas para inicialização, e duas semanas para o começar a utilizar.

Figura [6]: Teclado AccuKey

1.6.2 Teclado estenográfico

A primeira máquina de estenografia [3] foi inventada por Miles Bartholomew, surgiu em 1877. Desde então, modelos tecnologicamente mais avançados foram aparecendo.

Em 1992 surgiu a Stentura, com Liquid Crystal Display (LCD) traduz instantaneamente o texto estenografado.

Figura [7]: Teclado para estenografia

As máquinas de estenografia usam-se hoje em sessões parlamentares e judiciais da América do norte. Subsistem apesar de existirem actualmente meios audiovisuais mais eficientes. Figura [8]: Utilização de máquinas de estenografia no tribunal (à esquerda), e no parlamento (à

direita)

14

Page 15: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

1.6.3 Bat

É um teclado para uma só mão. Letras, números, comandos e macros são combinações simples de teclas. Lançado em 1991, foi desenvolvido pelo Dr. Daniel Gopher, cujas pesquisas se focalizavam no desenvolvimento de um avançado leque de combinações de teclas, que fosse de fácil aprendizagem, de uso agradável e mais eficiente. Inclui também WordChords e Macros. As WordChords permitem definir formas mais curtas (abreviaturas) de palavras frequentemente usadas. Os Macros possibilitam a escrita de frases ou comandos usuais acima de 250 caracteres com apenas dois �acordes�. Principais características:

- Flexibilidade. Pode ser utilizado só, em pares, com um teclado tradicional ou com um rato e outros dispositivos.

- Desenho ergonómico. Reduz a força e fadiga associada ao uso dos teclados tradicionais.

- Ambos os modelos PC e Macintosh podem ser usados em conjunto com outro teclado BAT e/ou teclado tradicional, tudo em simultâneo.

- Portabilidade. É pequeno e leve, e possui uma bateria de litium com alguma autonomia.

Este teclado é excelente para pessoas limitadas ao uso de uma só mão, e

principalmente para pessoas com deficiências visuais.

Figura [9]: Teclado BAT

1.6.4 CyKey

A micro escrita é o sistema líder nos teclados com acordes. Desenvolvido por CY Endfield e Chris Rainey nos anos 70, este teclado é baseado num conjunto de mnemónicas. Este sistema foi usado em micro escrita e em agendas pessoais.

Figura [10]: Teclado CyKey

15

Page 16: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Tem como principais características: - Pode ser conectado a palms (que tenha no mínimo um sistema operativo

versão 3.3) ou a computadores (que tenham uma porta USB livre); - Pode ser usado por qualquer uma das mãos; - É pequeno e de fácil aprendizagem.

Figura [11]: Códigos de micro escrita para o alfabeto

1.6.5 MonoManus

O sistema de input mais ergonómico até agora inventado. Usa duas teclas por item (primidas não em simultâneo), a capacidade das 12 teclas é estendida para 144. Por exemplo a letra �a� é introduzida pressionando �0� e �1�, a letra �b� é gerada pressionando �0� e �2�, etc.

Figura [12]: Teclado Monomanus

1.6.6 Twiddler

O twiddler é um teclado e também um rato que cabe numa só mão.

Figura [13]: Teclado Twiddler

Possui quatro teclas de modo (números, ALT, CTRL e SHIFT), accionadas pelos polegares, e doze teclas para os restantes dedos. Este teclado pode ser configurado, o utilizador pode alterar os caracteres (ou palavras) introduzidos por cada acorde. Possui também acordes definidos para pequenas palavras ou partes de palavras de uso comum.

16

Page 17: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Figura [14]: Arranjo das teclas do teclado twiddler. As letras a branco são introduzidas pressionando a tecla por si só. As letras a cinzento claro são introduzidas pressionando a tecla �E� e a letra em simultâneo. As letras a cinzento escuro são introduzidas pressionando a tecla

�A� e a letra simultaneamente.

1.6.7 Orbitouch

Este teclado representa um método inteiramente novo, não tem teclas e é de fácil aprendizagem. É o primeiro teclado a eliminar totalmente a movimentação dos dedos e pulso. Possui também um rato integrado.

Figura [15]: Teclado Orbitouch

As letras, números e funções são introduzidas ou tratadas, de acordo com a interpretação de movimentos combinados das duas mãos. Cada mão pode movimentar-se entre oito pontos (pontos cardeais) a partir da posição de descanso.

Figura [16]: Modo de introdução das letras �A� (à esquerda) e �E� (à direita)

17

Page 18: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

1.7 Conclusão

Muitos deste interfaces, só são utilizados em computadores normais, não são propriamente para plataformas móveis. Alguns teclados como o twiddler revolucionam realmente o input de dados, contudo primeiro é necessário aprender os padrões de introdução de letras, números, comandos. Considero no entanto, que no futuro deixarão de existir teclados, já que o reconhecimento de escrita cursiva está constante pesquisa. Mas até lá qualquer teclado que venha trazer rapidez e facilidade de introdução de dados, é sempre necessário.

18

Page 19: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Capítulo II � Reconhecimento de escrita

2.1 Optical Character Recognition (OCR) 19 2.1.1 Análise do documento 19 2.1.2 Reconhecimento de caracteres 20 2.1.3 Processamento de contexto 20 2.2 Reconhecimento de Escrita manual 21 2.2.1 Aquisição de dados 21 2.2.2 Intelligent Character Recognition (ICR) 21 2.2.3 Reconhecimento Off-Line 23 2.2.4 Segmentação de palavras em caracteres 25 2.2.5 Reconhecimento On-Line 26 2.2.6 Pré Processamento 26 2.2.7 Aspectos do interface 31 2.2.8 Reconhecimento através de Bitmap e de vector 31 2.2.8 Input em caixas ou livremente 32 2.2.9 Escrita impressa e escrita cursiva 32 2.2.10 Reconhecimento de letras e palavras 33 2.2.11 Reconhecimento através de treino 33 2.2.12 Misturando gráficos e gestos 34 2.2.13 Abordagens de implementação 34 2.2.14 Redes Neuronais 34 2.2.15 Lógica de Fuzzy 35 2.2.16 Modelos Hidden Markov 36 2.3 Reconhecimento de formas geométricas 37 2.3.1 Tarefas de pré processamento 38

19

Page 20: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

2.1 Optical Character Recognition (OCR) Esta tecnologia já se encontra implementada há algum tempo em aplicações comerciais [4], como por exemplo em programas de leitura de fax que conseguem reconhecer e tratar o texto impresso.

Texto lido pela máquina, podeser editado, formatado, etc. A imagem do caracter étraduzida em códigos decaracteres (ex: ASCII).

Esquema [1]: Reconhecimento OCR

Como podemos observar no esquema [1], o scanner captura o texto (que é sempre impresso mecanicamente) como uma imagem, depois o software procura/encontra na imagem, texto, gráficos, etc. São utilizados algoritmos para converter imagem em texto. Este processo envolve três operações: análise do documento (extracção de imagens de caracteres individuais), reconhecimento de imagens (baseado nas formas dos caracteres), e processamento contextual (para corrigir classificações mal feitas pelo algoritmo de reconhecimento ou para limitar o leque de possíveis escolhas de reconhecimento de determinado caracter). Como em todos os sistemas de reconhecimento o sistema tenta classificar caracteres isoladamente e não palavras inteiras.

Junções, fracturas de caracteres e ruído são os principais problemas no reconhecimento de texto feito por OCR, já que por vezes os textos fonte nem sempre se encontram nas melhores qualidades de impressão.

Já existe alguma tecnologia OCR que é capaz de reconhecer caracteres escritos em várias fontes, contudo os sistemas mais simples ainda não o fazem.

2.1.1 Análise do documento

Uma boa segmentação e reconhecimento de caracteres depende da qualidade do documento original e da qualidade da imagem registada. Existem, processos que tendem a compensar a pobre qualidade original e/ou má qualidade de scanning, para tal incluem troca de imagem, remoção de sublinhados, e remoção de ruído. A troca de imagem realçam os caracteres dos não caracteres, descriminando-os. A remoção de sublinhados elimina linhas de orientação impressas e outras linhas que podem tocar

20

Page 21: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

nos caracteres e interferir com o reconhecimento dos mesmos, e a remoção de ruído elimina partes da imagem que não fazem parte dos caracteres.

2.1.2 Reconhecimento de caracteres

Dois componentes essenciais de um algoritmo de reconhecimento de caracteres são a extracção de características e o classificador. A análise de características determina os descritores, ou leque de características, usadas para descrever todos os caracteres. Através de uma imagem de um caracter, o extractor deriva as características que o caracter possui. As características derivadas são posteriormente usadas como input para o classificador de caracteres.

Template matching, ou matrix matching é um dos métodos de classificação mais comuns. Inicialmente são utilizadas como características os pixels da imagem individual. A classificação é feita através da comparação da imagem de input do caracter com os templates (ou protótipos) de cada classe de caracteres. De cada comparação resulta numa medida de semelhança entre o caracter de input e o template. Essa medida é aumenta quando um pixel no caracter em observação é semelhante ao pixel da imagem template, e vice-versa. Depois de todos os templates serem comparados com a imagem do caracter observado, a identidade do caracter é atribuída como sendo a identidade do template com mais semelhanças.

2.1.3 Processamento de contexto O número de escolhas de palavras para um dado campo pode ser limitada

conhecendo o contexto de outro campo, por exemplo reconhecer o nome da rua num endereço, reconhecendo primeiramente o código postal, reduz e limita as hipóteses do nome da rua.

Uma outra hipótese é processar posteriormente os resultados do reconhecimento para corrigir erros. Um método usado para tal é a aplicação de um verificador de soletragem que analisa a constituição da palavra. Também existem outros métodos de correcção como a verificação interactiva com o utilizado. Tarefas especificas de leitura:

- Códigos postais - Leitura de informação introduzida em forms - Procedimentos automáticos de contabilidade usados no processamento de

contas - Verificação de números de conta e valores em cheques bancários - Leitura e validação de bilhetes de avião - Validação automática de passaportes

21

Page 22: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

2.2 Reconhecimento de Escrita manual

2.2.1 Aquisição de dados

Os dispositivos de aquisição dos dados para os sistemas de reconhecimento da escrita podem ser divididos em duas classes: dispositivos off-line e on-line. normalmente os dispositivos off-line são os scanners. Nos dispositivos on-line estão incluídos tablet pc�s e os PDAs.

Tablet pc Pda

Scanner

Off-lineOn-line

Periféricos para aquisição de dados

2.2.2 Intelligent Character Recognition (ICR) Consiste no reconhecimento de caracteres padronizados (que tem que obedecer a

algumas regras restritivas) impressos [5], traduzindo-os posteriormente em caracteres lidos pelo computador (ASCII). Na prática os caracteres são introduzidos por um dispositivo de input/output, e a imagem dos dados introduzidos é analisada e traduzida para caracteres ASCII. O reconhecimento ICR é similar ao OCR, e por vezes são usados em conjunto.

Surgiu no final dos anos 80, a primeira aplicação comercial reconhecia caracteres escritos manualmente nos em cupões de correio. Porque os sistemas ICR daquele tempo eram incapazes de reconhecer caracteres introduzidos através do toque, os utilizadores tinham que imprimir os seus caracteres em caixas, ou entre marcas de separação, para que os caracteres permanecessem separados. Usando um dispositivo gráfico para caracteres standard de certo modo impulsionou o sistema ICR a localiza-los e reconhece-los um por um. Inicialmente foram utilizadas técnicas idênticas às utilizadas pelos sistemas OCR, mas essas técnicas provaram ser desajustadas.

Devido à diversidade e variedade da escrita, O ICR é mais complexo que OCR. Enquanto o OCR usa tecnologia simples (por exemplo: template matching, comparações com livrarias de fontes, etc.), o ICR utiliza complexos algoritmos de inteligência artificial.

Objectivos importantes com ICR incluem caracteres que se tocam, como distinguir �cl� e �d�, e diferenças subtis entre os caracteres �T� e �Y�, �G� e �6�, etc. Caracteres adjacentes que se tocam, podem causar muitos problemas, já que o ICR analisa um caracter de cada vez. Normalmente estes caracteres são tratados pelo sistema como caracteres complicados, irreconhecíveis. Hoje em dia os utilizadores podem utilizar

22

Page 23: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

forms amigáveis de ICR, que são invisíveis quando passadas pelo scanner, assim o software de ICR vê apenas os caracteres escritos manualmente. A maioria dos sistemas ICR consegue reconhecer múltiplas linguagens, especialmente derivadas do latim, alguns sistemas reconhecem também árabe e Kanji. Outros sistemas vão mais longe e além do reconhecimento de escrita manual impressa, reconhecem caracteres máquina impressos, símbolos matemáticos, e outros.

Para o reconhecimento handwriting (HWX), o método template matching não se

aplica, porque os estilos de escrita variam muito de pessoa para pessoa; a mesma pessoa não escreve sempre igual. O método feature matching por outro lado, é uma importante técnica para o HWX. Esta técnica é semelhante para o OCR e HWX estático, mas existem algumas diferenças no que se refere ao HWX dinâmico.

HWX estático descreve uma aproximação minimalista do reconhecimento off-line, por bitmaps, e letras impressas, enquanto HWX dinâmico é utilizado para descrever a aproximação idealizada com reconhecimento on-line, vectorização, escrita cursiva, contextual, e auto aprendizagem.

Uma das maiores limitações [6] dos sistemas de reconhecimento comuns, é o facto de apenas conseguirem reconhecer palavras que pertencem ao vocabulário restringido, normalmente compreendido entre 10 e 1000 palavras.

O vocabulário restringido, frequentemente designado por lexicon, é uma lista de todos as palavras válidas que se espera ser reconhecidas pelos sistema.

O lexicon é o ponto chave para o sucesso de tal sistema de reconhecimento, porque é a fonte do conhecimento linguistico que ajuda à resolução da ambiguidade de caracteres simples, através da observação de contexto. Com o crescimento do número de palavras nos grupos lexicon, mais difícil se torna a tarefa de reconhecimento, porque mais palavras similares tem maior probabilidade de estar representadas no lexicon. A complexidade computacional também aumenta de acordo com o tamanho lexicon. Alguns sistemas de vocabulário, por exemplo sistemas que são capazes de lidar com qualquer palavra apresentada no input sem recorrer a lexicon, têm sido propostas, mas a sua exactidão continua inferior aos sistemas baseados em lexicons limitados. Contudo, a maior parte do trabalho de pesquisa neste campo têm sido orientados para aumentar a exactidão de sistemas padronizados, notavelmente sistemas de vocabulário pequenos, que não dão muita importância à complexidade computacional ou à velocidade de reconhecimento.

Os sistemas de reconhecimento podem ser classificados de várias maneiras, mas talvez a mais correcta é distinguir entre sistemas de reconhecimento on-line (também chamados dinâmicos) e off-line (ou estáticos). A informação temporal é uma fonte adicional de conhecimento que ajuda a aumentar a exactidão do reconhecimento. Por outro lado, os sistemas off-line precisam de apoiar-se em arquitecturas mais sofisticadas para cumprir a mesma tarefa de reconhecimento, mas os resultados continuam inferiores aos obtidos pelos sistemas on-line em condições de teste similares. Devido à existência de uma fonte de conhecimento adicional disponível, os sistemas on-line podem usar modelos simples, semelhantes aos usados no reconhecimento de discurso. Então, é com mais frequência que encontramos os sistemas de reconhecimento on-line que lidam com vocabulário extenso. Contudo, mesmo no reconhecimento on-line, o tamanho do vocabulário coloca um sério desafio,

23

Page 24: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

e os pesquisadores evitam trabalhar directamente com um grande número de palavras.

2.2.3 Reconhecimento Off-Line

Figura [17]: Módulos básicos de um sistema off-line de reconhecimento de handwriting

24

Page 25: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Uma grande variedade de técnicas são usadas para realizar o reconhecimento handwriting. O modelo é inicializado com uma palavra desconhecida escrita manualmente que é apresentada no input dos sistema de reconhecimento como uma imagem. Para converter esta imagem em informação perceptível para os computadores, é necessário solucionar uma série de problemas. Primeiro, é necessário fazer uma parametrização, que extrai da imagem toda a informação significativa, necessária numa forma compacta compatível com a linguagem do computador. Isto envolve um pré processamento da imagem para reduzir algum ruído que só contribui para complicar o processo de reconhecimento. Operações como correcção, normalização, etc. são efectuadas fora desta fase. O segundo passo na parametrização é a segmentação da palavra numa sequência de unidades básicas de reconhecimento como caracteres, pseudo caracteres ou graphemes. Nem todos os sistemas fazem segmentação. Algumas abordagens tratam as palavras como unidades únicas, e tentam reconhecê-la como um todo. O passo final é extrair características discriminativas do padrão de input para construir um vector de características ou para gerar gráficos, strings de códigos ou sequências de símbolos, cuja classe é desconhecida. Contudo, o apanágio das características depende do passo precedente, qualquer que seja o modo que tenha ou não sido tratada a segmentação de palavras em caracteres.

O paradigma do reconhecimento de padrões para o reconhecimento handwriting consiste no treino do padrão, por exemplo um ou mais padrões correspondentes a palavras handwriting de uma classe conhecida são usados para a criação de um padrão representativo das características dessa classe. O padrão resultante, normalmente chamado como padrão de referência ou classe protótipo, pode ser um exemplar ou template, derivado de algum tipo de técnica de abrangência, ou pode ser um modelo que caracteriza as estatísticas das características do padrão referenciado. Em vez do objectivo da maior parte dos sistemas de reconhecimento ser reconhecer palavras, por vezes é difícil associar uma classe a cada palavra, então os modelos de sob palavras (ex: caracteres, pseudo caracteres e modelos grapheme) são treinados em alternativa, e as técnicas de concatenação standard são usadas para construir modelos de palavras durante o reconhecimento.

O reconhecimento inclui a comparação de padrões de teste desconhecidos aos quais cada classe referencia o padrão, e medindo um valor de similaridade (por exemplo: distância, probabilidade) entre o padrão de teste e cada padrão de referência. O valor de similaridade do padrão é utilizado para decidir qual padrão de referência que melhor �encaixa� no padrão desconhecido. O reconhecimento pode ser alcançado por muitos métodos, como Dynamic Programming (DP), Hidden Markov Modeling (HMM), redes neuronais (NN), k Nearest Neighbour (kNN), sistemas inteligentes e combinações de técnicas. O processo de reconhecimento fornece uma lista de palavras com mais hipóteses. Tal lista pode ser processado à prióri ou verificada para obter uma lista de hipóteses da palavra mais segura. O processamento posterior ou verificação poderá também incluir algum mecanismo de rejeição para descartar hipóteses não pretendidas.

Contudo, para a melhoria de significados, é necessário incorporar no processo de reconhecimento outras fontes de conhecimento, como modelos de linguagem. Uma representação lexicon do vocabulário de reconhecimento (palavras esperadas

25

Page 26: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

(permitidas) no input do sistemas de reconhecimento) é a fonte de conhecimento mais frequentemente usada. Notavelmente, um vocabulário limitado é um dos aspectos mais importantes dos sistemas baseados em grandes vocabulários, porque contribui para a melhoria da fiabilidade. No caso de sistemas que lidam com grandes vocabulários, outros módulos adicionais podem ser incluídos, como mecanismos de redução prunin ou lexicon.

Apesar da descrição acima não ser standard, ela é típica da maioria dos sistemas de reconhecimento. Muitos dos objectivos relacionados com os modelos básicos são comuns aos pequenos e médios vocabulários.

2.2.4 Segmentação de palavras em caracteres

A unidade mais natural do handwriting é a palavra, e tem sido utilizada em muitos sistemas. Uma das maiores vantagens do uso dos modelos palavra inteira é que estes são capazes de capturar efeitos co-articulados dentro de palavras. Quando os modelos de palavras inteira são treinados adequadamente, eles produzem a melhor performance de reconhecimento. Aproximação globais tratam as palavras como entidades únicas, indivisíveis, e tentam reconhecê-las como um todo, saltando o processo de segmentação. Portanto para um pequeno vocabulário de reconhecimento, como é o caso de aplicações de cheque bancário nas quais os lexicons não têm mais de 30 a 40 entradas, os modelos de palavras inteira são escolhas preferenciais.

Não obstante, muitas aplicações práticas grandes requerem enormes vocabulários com centenas de milhar de palavras. Enquanto as palavras são unidades apropriadas para reconhecimento, elas não são uma escolha prática para vocabulários enormes de reconhecimento handwriting. A partir do momento em que cada palavras necessita de ser tratada individualmente e a informação não pode ser partilhada entre modelos de palavras, isto implica uma grande quantidade de treino de informação. O vocabulário de reconhecimento pode consistir em palavras que não apareceram no procedimento de treino. Em vez da utilização dos modelos de palavra inteira, as aproximações analíticas usam modelos de unidades sob palavra, tais como caracteres ou pseudo caracteres como unidades de reconhecimento básicas, necessitando de segmentação em todas as unidade.

Mesmo com a dificuldade e erros introduzidos pelo nível de segmentação, a maioria das abordagens bem sucedidas são métodos de reconhecimento por segmentação, nos quais as palavras são primeiro altamente segmentadas em caracteres ou pedaços de caracteres, e técnicas de programação dinâmica com um lexicon são usadas no reconhecimento para escolher a segmentação definitiva, assim como para encontrar a melhor hipótese para a palavra. Como resultado, a aproximação analítica é a escolha preferida para aplicações que necessitam de largos vocabulários.

26

Page 27: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

2.2.5 Reconhecimento On-Line

O reconhecimento Off-line [De Bruyne, Korolnik] é feito por um programa que analisa o texto dado quando este está completamente introduzido, não existindo qualquer interacção com utilizador até então. O reconhecimento On-line, por outro lado, acontece enquanto o utilizador está a escrever; são trabalhados pequenos bits de informação (caracteres ou palavras) em tempo real e os resultados desse reconhecimento são apresentados de imediato. O objectivo do sistema on-line é ser capaz de responder em tempo real às acções do utilizador, enquanto que os sistemas off-line têm tempo para avaliar o seu input; a rapidez é só uma questão de performance, não de qualidade. Portanto, quando a aquisição é feita on-line é muito mais fácil conseguir um modelo flexível, porque as componentes dinâmicas e temporais do desenho podem ser registadas, o que não acontece com o reconhecimento off-line.

2.2.6 Pré Processamento Eliminação de ruídos A remoção de linhas onde os caracteres são escritos foi analisada por Casey e

Takahashi [7]. O algoritmo por eles proposto, primeiro localiza a linha, depois procura características próprias, para distinguir os caracteres dos outros dados da imagem. Normalmente os caracteres sobrepõem a linha; neste caso o algoritmo procura intersecções com padrões de caracteres mas não as apaga para evitar a degradação dos caracteres. Outros algoritmos são usados para filtrar ruídos:

- o corpo principal de pixels é localizado. - grupos perdidos de pixels são apagados desde que o tamanho seja

pequeno e a distância do envelope seja suficientemente grande. Um problema mais complexo de sobreposição de texto com símbolos não textuais

foi descoberto por Govindaraju e Srihari [8] na leitura dos endereços de correspondências. Neste caso, foram encontradas palavras sublinhadas e marcas postais sobre os endereços. Alguns exemplos típicos são mostrados na Figura [18].

Figura [18]: Exemplos de pedaços de correspondência

27

Page 28: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Govindaraju e Srihari desenvolveram um pré processador para separar o texto de contornos exteriores. O pré processamento pode ser dividido em 2 partes: a primeira detecta o ruído e a segunda remove o ruído e retorna o texto. De fato, a identificação do texto com ruído não é um problema trivial. Em alguns casos a remoção de linhas destrói a parte mais baixa de certos caracteres, criando ambiguidade na interpretação da restante parte do caracter. Por exemplo, os seguintes pares de letras maiúsculas podem se tornar confusos: B-P, E-F, I-L, U-II entre outros.

Figura [19]: (a) FAYETTEVILLE (b) escrita suave (c) remoção ambígua

A Figura [19] mostra um exemplo típico de ambiguidade: "TT" pode ser "II" os caracteres forem sublinhados. Estes casos podem ser resolvidos através da comparação com palavras de um dicionário.

Segmentação Sem sombra de dúvida, um dos grandes problemas do pré processamento no

reconhecimento de escrita é a segmentação. O processo consiste na extracção das unidades da escrita. As unidades podem ser símbolos elementares no reconhecimento de caracteres e números ou elas podem ser caracteres inteiros no reconhecimento de palavras dentro de um texto cursivo. Os processos de segmentação usam informações espaciais para os sistemas off-line, e informações temporais são normalmente usadas para detectar unidades da escrita em sistemas de reconhecimento de escrita on-line.

No reconhecimento da escrita, a performance dos sistemas em termos de

eficiência e velocidade são fortemente dependentes de uma correcta segmentação. Neste campo, os recentes trabalhos de Casey-Takahashi [7] e Fenrich [9] sugerem

novos algoritmos para a segmentação de caracteres off-line. A detecção de caracteres misturados e a verificação de que a segmentação obtida é a correcta seguem um processo manual. Apenas, a etapa final é interactiva. Um editor de imagens mostra na tela uma sequência de padrões em pequenos subconjuntos. O operador examina os caracteres para verificar se eles estão correctamente segmentados e associa um identificador a cada um deles.

A cada iteração os identificadores associados à sequência de caracteres anteriormente processada são mostrados juntos com a sequência de padrões segmentados. Se os caracteres estão bem segmentados e os identificadores estão correctos, então os padrões são aceites com os identificadores sugeridos. Se a segmentação é correcta mas os caracteres não estão de acordo com a sequência de identificadores, o operador renomeia-os.

28

Page 29: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Alternativamente à abordagem supervisionada de segmentação de Casey [7],

Fenrich [9] propôs um sistema não supervisionado para segmentação de strings numéricas. Ele aponta três dificuldades básicas na separação de strings alfanuméricas: identificação de componentes de múltiplos caracteres, determinação do número de caracteres nessas componentes e separação das componentes identificadas num número correcto de caracteres. Para aquelas componentes com mais de um caractere, quatro estratégias são aplicadas na sequência: o método do histograma, o método do contorno superior, o método do contorno inferior, e o método do contorno superior - inferior.

1. No método do histograma, por exemplo, o número de pixels em cada coluna é

somado e a menor soma é localizada. A coluna com a menor soma torna-se uma candidata a uma segmentação vertical.

2. O método do contorno superior - inferior utiliza os contornos superiores e

inferiores da componente. Uma segmentação correcta será feita conectando o vale com o pico através de uma linha separadora. Se o vale ou o pico não forem encontrados então este método falhará.

3. O método do contorno superior trabalha com os vales do contorno superior.

Após a localização de um vale e de um mínimo local neste vale inicia-se uma técnica de segmentação conhecida como "hit-and-deflect". Começando do ponto onde o vale é mínimo, se o pixel está ligado, então ele está no corte e o ponto é movido uma linha abaixo. Se os pixels à direita e à esquerda do novo ponto estão ambos ligados ou desligados então o ponto é movido mais uma linha abaixo. Contrariamente, caso haja um pixel ligado de um lado e um pixel desligado de outro lado, nenhum ponto de corte é associado, o ponto é movido na direcção do pixel ligado e o processo continua.

4. O método do contorno inferior funciona da mesma maneira que a segmentação

de contorno superior, só que começa de um pico máximo do contorno inferior indo até o topo da imagem. Assim, a segmentação é executada de baixo para cima. Figura [20]: Exemplos da segmentação de caracteres: (a) Método do Histograma, (b) Método do Contorno Superior - Inferior, (c) Método do Contorno Superior, (d) Método do Contorno Inferior.

De notar, que estes estudos têm em conta que a densidade dos pixels nas áreas que contêm padrões significativos (números, caracteres) é geralmente maior do que a

29

Page 30: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

densidade dos pixels nas áreas que não contêm padrões relevantes. A Figura [20] mostra alguns exemplos de segmentação de caracteres.

Uma tarefa mais complicada, é a segmentação de palavras. Holt, Beglou e Datta

[10] apontam que soluções tradicionais baseadas na segmentação vertical na direcção do mínimo local, esta técnica falha quando as palavras são inclinadas. Devido a isto, eles propõem uma nova solução baseada na segmentação das bordas ao invés da segmentação dos pontos.

No mesmo campo da segmentação de palavras, muitos sistemas utilizam o

método "dividir para conquistar", que consiste em quebrar as entradas padrão em segmentos e reconhecê-los como componentes de uma palavra. Alguns sistemas tentam identificar símbolos, outros tentam identificar letras ou formas mais complexas como grupos de letras. No trabalho de Hull, Ho, Favata, Govindaraju e Srihari [11] para reconhecimento off-line de palavras cursivas, o estágio de segmentação opera inicialmente estimando um número de pontos de segmentação alternativos baseado na análise das características estruturais. A imagem entre dois pontos quaisquer é então normalizada. Cada um deles é comparado com uma base de dados de formas.

No final deste procedimento de comparação, a segmentação mais provável é encontrada. No trabalho de Fujisaki, Beigi, Tappert, Ukelson e Wolf [12] para reconhecimento on-line, diferentes técnicas de segmentação são aplicadas nos três diferentes níveis de escrita. O primeiro nível de escrita é chamado de escrita espaçada (spaced-discrete) enquanto que os outros dois são chamados de escrita corrida (run-on discrete). Comparado com o segundo nível, o terceiro nível possui um número maior de sobreposições de símbolos.

Para minimizar a possível hipótese de segmentação em aplicações on-line, um

novo método foi proposto. Ele visa produzir uma lista de segmentos para entradas, que comparadas com os estilos de escrita, apenas variam suavemente na formação. Portanto, um conjunto de critérios, baseados nas diferentes velocidades da caneta durante o processo de escrita foi proposto. Higgins e Ford [13] apontam como a grande variedade de estilos de escrita tem limitado até agora o uso de interfaces de caneta digital sem o treino do sistema. Eles consideram o pico ou o ponto agudo (sharp corner) como uma das características mais afectadas pela velocidade da escrita. Entretanto, a ideia básica utilizada nesta pesquisa é, como mostra a Figura [21], a deformação do pico, tornando-o num laço ou curva e vice-versa, já que esta deformação representa uma das principais características da individualidade dos escritores.

Figura [21]: Deformação laço (loop), pico (cusp), curva (hump)

30

Page 31: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Então eles propuseram um novo método de segmentação consistente, e flexível o suficiente para ser incorporada em muitos sistemas de reconhecimento on-line. O método cria um modelo considerando o livro de caligrafia que o escritor aprende na escola. O algoritmo detecta os possíveis pontos de segmentação no caso de:

- Intercepção: quando uma linha se cruza com ela mesma formando um laço fechado. Um possível ponto de segmentação é marcado perto da intercepção no começo do laço e perto da intercepção no fim do laço.

- Pico: quando existe uma descontinuidade na linha, ou seja, existe um ponto agudo. Um pico é tratado como se fosse uma intercepção, como um laço infinitamente pequeno, e então possui dois possíveis pontos quase sobrepostos de segmentação, contendo um segmento de comprimento zero entre eles.

- Ponto de Inflexão: quando ocorre uma mudança de sinal no ângulo da curva. Um possível ponto de segmentação é colocado em cada ponto de inflexão.

- Ponto de Fim: cada vez que a caneta toca o papel é colocado um pseudo pico, com dois possíveis pontos de segmentação e um segmento de comprimento zero.

Figura [22]: Possíveis pontos de segmentação

A segmentação baseada nestes pontos funciona bem para palavras escritas cuidadosamente, mas geralmente falha na prática devido a dois problemas:

- É muito comum que os laços se sobreponham dentro de uma palavra. Isto causa um enorme número de intercepções e laços desnecessários para ser identificados.

- As linhas esticadas geralmente oscilam além dos limites especificados. Para aliviar o primeiro problema Higgins e Ford consideraram um modelo simplificado de movimentos da caneta durante uma escrita cursiva. Seguindo este modelo os dedos movem a caneta suavemente nas direcções horizontal e vertical para formar os caracteres, o pulso e o braço movem-se vagarosamente da esquerda para a direita como num processo de escrita. Entretanto, múltiplas intercepções dentro de um símbolo são causadas quando o movimento horizontal da mão é lento em demasia, ocorrendo a sobreposição da escrita. Se a mão se move rápido demais na direcção horizontal, ou se o papel se move da direita para a esquerda, os símbolos não se sobrepõem. Logo, se um símbolo com várias intercepções é alongado no eixo horizontal em relação ao tempo, incrementando uma parcela por cada coordenada horizontal de cada

31

Page 32: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

ponto de segmentação plausível, as intercepções irrelevantes desaparecerão, ficando apenas as intercepções importantes. O que permite determinar os principais pontos de segmentação. O segundo problema, em relação as linhas esticadas oscilantes, pode ser aliviado através da examinação de pequenos segmentos de escrita. Se o segmento que precede ou procede um segmento pequeno não é um laço nem um pico, o segmento é considerado uma oscilação e o possível ponto de inflexão, que define um segmento pequeno, é apagado. O segmento é então, adicionado ao segmento precedente ou procedente. Este procedimento de segmentação permite repartir o texto em segmentos de fácil caracterização. Higgins e Ford identificaram as formas dos segmentos como: "laço fechado" (closed loop), quando os pontos de segmentação ocupam as mesmas coordenadas físicas, mas o símbolo de conexão não tem tamanho zero; "curva" (hump), quando os pontos de segmentação estão separados; "pico" (cusp), quando os pontos de segmentação ocupam as mesmas coordenadas físicas e o símbolo de conexão tem tamanho zero.

2.2.7 Aspectos do interface

Os requisitos para os interfaces que suportam reconhecimento de escrita podem facilmente ser deduzidos da metáfora papel e caneta. Primeiro, não deveria existir restrições no que e onde o utilizador escreve. Deveria ser possível utilizar qualquer caracter especial vulgarmente usado em várias linguagens, a obrigação de usar apenas caracteres ASCII é inadequada, especialmente com o crescimento da internacionalização que o mundo enfrenta actualmente. O sistema ideal é aquele que suporta a introdução de caracteres UNICODE.

O segundo requisito é que o texto pode ser escrito em conjunto com introduções não textuais, por exemplo gráficos, gestos, etc. As aplicações devem separar estes tipos de input.

É interessante observar a coincidência dos aspectos de um interface para o utilizador com a implementação de algoritmos HWX dos quais dependem directamente. No futuro, estas dependências mútuas deverão ser eliminadas, no mínimo para um bom acordo, com a finalidade de fazer o interface mais flexível e fácil de usar.

2.2.8 Reconhecimento através de Bitmap e de vector

As representações de escrita de texto Bitmap são tipicamente obtidas através de um scanner. Os métodos usados para reconhecimento de escrita manual (impressões manuais na maior parte dos casos) de bitmaps são similares ao OCR e permanecem principalmente no contorno e extracção de outras características.

32

Page 33: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

As representações vectoriais são normalmente interpoladas das coordenadas dos pontos fornecidos pelas tabelas de digitalização. Juntas com a localização (coordenadas) do input é frequentemente possível obter informação adicional, tal como a direcção do traço, a pressão da caneta no painel, o ângulo, velocidade e aceleração. Esta informação faz realmente a diferença porque é mais fácil adaptar-se ao estilo de escrita do utilizador.

Enquanto o reconhecimento por bitmap é tipicamente feito off-line, o reconhecimento on-line usualmente utiliza representações vectoriais. Também existe a necessidade do reconhecimento off-line do input vectorizado, nomeadamente quando o utilizador toma notas guardando o input original designado por digital ink (incluindo todas a informação adicional do input on-line), com a possibilidade de reconhecer as notas do digital ink mais tarde. Esta capacidade designada reconhecimento adiado. O reconhecimento On-line de bitmap não faz sentido e raramente é utilizado.

2.2.8 Input em caixas ou livremente

O uso de caixas nas quais o utilizador escreve caracteres únicos faz da separação de caracteres uma tarefa simples. Para o utilizador, é frequentemente desconfortável escrever em caixas, especialmente porque ele não pode escolher o sítio onde quer escrever. A utilização de caixa de input é aceitável para forms, porque as pessoas já utilizam este método no papel e o input é limitado a poucos caracteres.

A vantagem do input livre é que o tamanho e localização podem ser utilizados em substituição de texto reconhecido no display. O reconhecimento é muito mais difícil, porque não existe informação implícita no separador de caracteres, orientação, ou tamanho do texto.

2.2.9 Escrita impressa e escrita cursiva

Até algum tempo atrás o reconhecimento de escrita impressa à mão tem sido estudado, mas com o crescimento de larga escala dos sistemas pen-based, a escrita cursiva tornou-se importante.

Os caracteres impressos são muito mais fáceis de reconhecer porque eles são forçosamente separados e a quantidade de variações é limitada.

Na escrita cursiva, uma das maiores dificuldades do reconhecimento de palavras advém da grande variedade observada em diferentes exemplos de escrita da mesma pessoa em momentos diferentes e também de pessoas diferentes. Um exemplo de diferentes níveis de escrita pode ser visto na Figura [23]. Assim, é difícil encontrar uma descrição viável de uma palavra pronta a representar todas as ocorrências admitidas como entrada.

33

Page 34: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Figura [23]: Diferentes níveis de escrita

Para o utilizador o uso de standards é mais desconfortável, porque ele irá sempre tentar retornar aos seus próprios caracteres ou à escrita pseudo cursiva. Apesar da separação poder ser mais fácil, muitas pessoas tem tendência a escrever num modo misto impresso/cursivo, onde juntam combinações de letras que aparecem frequentemente juntas.

2.2.10 Reconhecimento de letras e palavras

O reconhecimento de escrita cursiva é quase impossível sem a utilização de inputs vectorizados, e é mais fácil reconhecer todas as palavras que simples caracteres, porque a dificuldade na separação dos caracteres é menor. O reconhecimento de palavras assume a existência de um dicionário, porque só as palavras conhecidas podem ser reconhecidas. Isto limita o uso de dicionários, eles são essenciais mas nunca existirá um só dicionário que contenha todas as palavras que a pessoas poderiam escrever. Os dicionários personalizados são a solução, contudo deverá existir uma necessidade de um modo adicional de entrada de palavras letra a letra.

2.2.11 Reconhecimento através de treino

Porque todo o escritor tem o seu estilo pessoal de escrita, não existe definido um tipo especifico de escrita de texto manual. Existem algumas formas básicas, a que toda a gente está acostumada (aprendida na escola, provavelmente) e que é necessária para fazer um texto perceptível para outras pessoas. Desde as especificações iniciais das variações, deve ser definido o estilo do utilizador. Uma coisa é fornecer exemplos da sua própria escrita manual para a aplicação de reconhecimento, outra é permitir ao utilizador seleccionar formas de uma lista dada. As duas maneiras são boas, mas só como uma inicialização. O utilizador não continuará a escrever continuamente no mesmo estilo durante um longo período de tempo, e frequentemente os exemplos fornecidos são diferentes da escrita, quando este se preocupa menos com o seu estilo.

Assim sendo, a aplicação de reconhecimento deverá ser capaz de se adaptar ao estilo de escrita do utilizador e continuar a aprender enquanto este escreve. Da aprendizagem pode resultar a eliminação da amostra inicial para que coincida com o estilo real mais aproximado do que o especificado pelo utilizador, ou pesos podem ser apagados, ou novos estilos template adicionados.

34

Page 35: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Ao aprender de uma forma contínua garante que o reconhecimento não ficará pior, quando o utilizador alterar o seu estilo de escrita ao longo do tempo.

2.2.12 Misturando gráficos e gestos

Com o reconhecimento on-line existem muitos tipos de dados que são introduzidos, não só texto. Porque a caneta idealmente é o único dispositivo de input, o utilizador terá que ser capaz de introduzir dados não textuais, por exemplo gráficos e desenhos com este dispositivo. Este deve permitir uma maneira de editar comandos como gestos, seleccionando opções de menu ou icons.

Podem existir diferentes reconhecedores para cada um deste tipos de dados, mas todos eles partilham o mesmo problema de separação de input. Se o utilizador, por exemplo, desenhar um círculo no display, ele pode querer deixa-lo como está (um desenho), reconhecendo um circulo (um objecto gráfico), como um "0", ou como um "O", ou como um gesto editável, etc. A informação da semântica de contexto pode ser usada para ordenar. Contudo alguns sistemas requerem que o utilizador determine o modo de aproximação, o que é desconfortável.

2.2.13 Abordagens de implementação

O desenvolvimento de algoritmos para reconhecimento de escrita ainda não está num estado dito consolidado. Muitas pessoas trabalham em varias aproximações para a resolução deste problema, especialmente desde a que a pesquisa tem sido seguida com interesse recentemente.

Estes primeiros passos foram tomados na comunidade modelo de reconhecimento

e só mais tarde junto das pessoas de computação gráfica causou interesse. É essencialmente este o motivo, porque quase todo os métodos usados ao longo do tempo são aplicações baseadas em conhecimento, princípios e técnicas. Algumas técnicas são também usadas no reconhecimento de voz. O maior problema por trás do reconhecimento, é encontrar uma estratégia de resolução se estiverem envolvidos mais que um tipo de reconhecimento, por exemplo para texto (letra a letra e baseado em palavras), gráficos, etc. A representação de um algoritmo de reconhecimento parece ser bastante difícil. Portanto, métodos com necessidade de muitos dados exemplo para treino, são usados na maioria dos sistemas.

2.2.14 Redes Neuronais

As Redes Neuronais [Krzyzak, Dai, Suen] [14] simulam o sinal de propagação encontrada nos cérebros humanos. As células do cérebro são conectadas umas às outras numa estrutura de rede e cada célula tem um nível de activação variável. O nível de activação é determinado pelo sinal de activação que uma célula recebe de

35

Page 36: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

outras, através dos seus pontos de conexão. O mesmo acontece nas redes neuronais sintéticas, onde os nós são conectados. A transmissão do sinal é controlado por funções de activação. O layout das redes neuronais é muito importante.

Tipicamente é escolhida uma estrutura de layer: um layer de output recebe a informação de input pré processada e a layer de output apresenta os resultados na activação dos nós de output.

A maior característica das redes reside na habilidade de aprender por meio de adaptação das suas funções de activação, para que o padrão de input e o de output sejam semelhantes.

No reconhecimento de escrita, os nós de input são vectores de características que foram extraídos do desenho.

À parte dos layouts das redes, o pré processamento necessário para este vector de input é uma tarefa muito difícil. A extracção de características deve permanecer inalterada face às alterações de escala ou rotações. Os sinais de tempo fornecem informação adicional, estando na forma de sequências ou construindo uma janela de contexto para minimizar a separação das letras.

O layer de output consiste num vector de nós, cada um corresponde a um caracter

reconhecido. A activação de cada nó de output equivale à probabilidade do caracter correspondente coincidir com o desenho.

Inicialmente, as redes neuronais são treinadas numa fase de aprendizagem extensiva e essa aprendizagem pode ser continuada enquanto a rede é usada. O esforço reside na aprendizagem e não na programação extensiva. Assim, as redes neuronais são apropriadas para o reconhecimento de escrita. Por outro lado, a restrição do layout de output para reconhecer exactamente os caracteres representados pelas seus nós faz o reconhecimento de palavras difícil.

Figura [24]: Layout de uma aplicação com utilização de redes neuronais

2.2.15 Lógica de Fuzzy

A lógica de Fuzzy põe em contraste a teoria convencional, permite aos seus membros pertencer-lhe parcialmente. A função de relacionamento de membros define a quantidade que um elemento pertence a este.

Tipicamente, é usado um número entre 0 e 1. O grau de fuzzy na escrita advém da variedade do desenho humano, consequentemente os dois encaixam-se muito bem juntos.

36

Page 37: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

As características que são extraídas do desenho (por exemplo tipos de segmento de linha representados por um gráfico) são comparados às variáveis fuzzy. Estas variáveis são inicialmente definidas para cada caracter numa forma abstracta no protótipo de memória (por exemplo um A consiste em três linhas direitas, duas das quais cruzadas no topo).

A lógica fuzzy funciona bem com escrita manual porque a própria escrita já por si é fuzzy.

2.2.16 Modelos Hidden Markov

Os modelos Hidden Markov (HMM) são interessantes especialmente para reconhecimento de escrita cursiva on-line assim como reconhecimento de voz. O princípio é baseado num modelo estatístico para representação gráfica dos caracteres e palavras desenhadas à mão. O digital ink é convertido para um gráfico, onde os nós reflectem as alterações na direcção (ex. usando código da chave de Freman). O gráfico inclui informação de tempo (x(t), y(t)). O HMM é construído através de uma matriz de probabilidades de transição. Num reconhecimento por palavras, a matriz de Markov é inicializada para cada palavra do dicionário (fase de aprendizagem). Na fase de reconhecimento, o input é comparado com a matriz de acordo com as probabilidades de transição para cada nó, produz a taxa de reconhecimento para as palavras. O reconhecimento de palavras inteiras facilita a separação, mas é necessário um grande dicionário modelo. Com a aproximação de pré segmentação partes de palavras são reconhecidas com a matriz de Markov e finalmente comparado com as entradas do dicionário. Esta é uma aproximação prática porque os escritores também escrevem palavras em partes.

37

Page 38: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

2.3 Reconhecimento de formas geométricas

O reconhecimento de formas geométricas [15] desenhadas manualmente ganhou uma nova atenção com a adopção dos PDAs. Enquanto que as aproximações convencionais para o reconhecimento de figuras geométricas tem grande foco em performances de classificações brutas, os sistemas on-line criaram um diferente tipo de resultados.

Primeiro, figuras geométricas em desenhos CAD são introduzidas precisamente quer por desenhadores humanos, ou através de periféricos. Reconhecer estas formas prende-se essencialmente com o ruído introduzido, por fontes externas do processo, como degradação de cópias ou reprodução fotográfica pobre. Contudo nas aplicações on-line o ruído é inerente ao processo de junção de informação e formas. Uma característica diferente dos algoritmos off-line é que os dados introduzidos são uma sequência de pontos em vez de imagens bitmap. Também, o reconhedor on-line lida com inúmeras variações de esboços manuais.

O sistema analisa o esboço e mostra ao utilizador a forma regular mais aproximada. Reconhecer os esboço do utilizador é um problema, que pode ser dividido em três sob problemas. Classificação da forma Input: um traço de uma forma fechada. Output: uma classe de formas básica, tal como triângulo, quadrado, pentágono, hexágono ou elipse. Requisito: a classe de output tem que ser consistente com a intenção do utilizador. Enquadramento da forma Input: o traço da forma fechada e a classe correspondente Output: a imagem enquadrada Requisito: a imagem da classe correspondente, tem que ter a menor distancia média ao traço do input inicial. Regularização da forma Input: a imagem enquadrada Output: a imagem regularizada Requisito: consistência da forma regularizada com a intenção do utilizador

Figura [25]: Reconhecimento de formas geométricas, a) classificação da forma, b)

enquadramento da forma, c) rectificação da forma

38

Page 39: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

2.3.1 Tarefas de pré processamento Figura [26]: Aproximação poligonal para eliminar o ruído Figura [27]: Filtragem de pontos aglomerados Figura [28]: Refinamento dos pontos de finalização do traço

39

Page 40: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Capítulo III � Escrita Normal e Símbolos Próprios

3.1 Introdução 40 3.2 Graffiti 41 3.3 O Soft Keyboard como alternativa ao graffiti 41 3.3.1 Built-in keyboard 42 3.3.2 Silkyboard II 42 3.3.3 Fitaly keyboard 43 3.4 Outros alfabetos utilizados 43 3.4.1 Thumbscript 43 3.4.2 Unistrokes 44 3.4.3 MDTIM 45 3.4.4 Jot 45 3.5 Input de texto baseado em gestos 46 3.5.1 Cirrin 46 3.5.2 Quickwritng 47 3.5.3 T-Cube 47

40

Page 41: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

3.1 Introdução

O grande avanço tecnológico dos últimos tempos, tornou o computador mais acessível às pessoas mais leigas, que de uma forma simples e prática passaram a dispôr de informação pessoal a qualquer altura. Os utilizadores de �computadores de bolso� (pda�s, telemóveis) cresceram rapidamente. As principais utilizações destes é introdução de novos endereços, memorandos ou outras pequenas notas. Para tal, os dispositivos de input tornaram-se uma das coisas mais importantes. Existem dois métodos de input [16] de escrita manual que usam graffti:

- graffiti, que é de reconhecimento de escrita baseado em traços manuais; - introdução através de um soft keyboard.

3.2 Graffiti O graffiti combina a similaridade intuitiva com o alfabeto romano, o que faz com

que seja fácil de aprender e de lembrar, com a inovação tecnológica de representação de cada letra sem levantar a caneta.

Figura [29]: Alfabeto graffiti

Esta tecnologia permite que uma pequena, rápida aplicação, corra num hardware básico, para reconhecer o input da caneta.

Contudo o graffiti tem duas grandes desvantagens: 1. A caneta tem que ser levantada da tela para cada letra, o que impede

uma aprendizagem de sequências de letras como um único movimento coordenado.

2. O ponto de início de cada letra é critico, há diferentes letras, iniciadas em todos os quatro cantos da área do graffiti, o que requer uma curta pausa para posicionar a caneta no sitio correcto antes de iniciar a letra.

O graffiti é simples e exacto, mas com o poder de processamento moderno nos pda�s, a velocidade ganha na tecnologia único traço é facilmente ponderada pela velocidade perdida de ter que escrever letras em blocos.

Ambos os métodos têm a sua vantagens, e desvantagens. A vantagem principal

do soft keyboard é a semelhança com os teclado normais, o que faz com que os utilizadores de teclados se sintam mais à vontade quando utilizam este teclado. Por outro lado, existem três desvantagens relevantes:

- os utilizadores podem facilmente seleccionar um caracter incorrecto devido à proximidade entre estes.

41

Page 42: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

- O teclado cobre cerca de 40% do espaço do ecrã, que sendo de pequenas dimensões, necessita de um scroll bar extra.

- O contacto visual tem que ser mantido durante a introdução.

3.3 O Soft Keyboard como alternativa ao graffiti

Um soft keyboard é a implementação de um teclado no display O texto é introduzido carregando nas teclas com um dispositivo ou com o dedo.

3.3.1 Built-in keyboard

Figura [30]: Built-in keyboard

Uma alternativa ao graffiti é usar um teclado standard. Contudo existem dois problemas com esta solução:

- O texto não é directamente introduzido nos campos mas no quadro que é então passado ao documento subjacente. O que faz com que não seja muito bom para editar textos extensos.

- O teclado tira muito espaço à tela e deixa redundante a área de graffiti.

3.3.2 Silkyboard II

O Silkyboard efectivamente cobre com o teclado a área do graffiti e possibilita um input directo nos campos de texto, desta maneira soluciona os dois problemas da built-in keyboard.

Figura [31]: Silkyboard

Tem um layout QWERTY familiar, e permite escrever graffiti directamente através dele se assim desejar. O graffiti distingue entre toques leves e fortes, então o driver do

42

Page 43: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Silkboard captura todas os toques leves feitos e deixa para o graffiti o tratamento dos toques fortes.

3.3.3 Fitaly keyboard

A ideia por detrás do Silkboard é boa, mas qualquer pessoa que tenha tentado escrever com um dedo saberá, que o input continua muito lento porque o dedo está em movimento continuo e confuso sobre o teclado enquanto procura a próxima letra. Devido às razões que tornam o teclado qwerty pouco eficiente (referidas anteriormente), surgiu o teclado fitaly.

Figura [32]: Fitaly Keyboard O fitaly estende o teclado de dois modos. Um é uma janela pop-up com números e símbolos menos usuais, a outra é através do conceitos de sliding.

3.4 Outros alfabetos utilizados

3.4.1 Thumbscript

É um alfabeto de único traço [18] baseado no teclado dos telefones standards. O thumbscript é um sistema de entrada de texto universal patenteada para pessoas e dispositivos móveis. Características técnicas

- Funciona com qualquer keypad, joystick, touch pad ou dispositivos pen-based - Funciona com qualquer dispositivo que tenha 8 pontos de acção arranjados em

volta do centro. - 10-15 palavras por minuto num keypad, é 25% mais rápido que o graffiti ou que

um Palm Pilot. - Possui todas as capacidade do teclado alfanumérico

Figura [33]: Alfabeto thumbscript

43

Page 44: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

3.4.2 Unistrokes

Em vez de lidar com todos os problemas do texto escrito à mão, as coisas podem tronar-se mais fáceis para o reconhecimento forçando o utilizador a escrever numa maneira pré definida que permite apenas pequenas variações.

A ideia por detrás unistrokes é fornecer um modo para escrita manual baseada em sistemas shorthand [18]. A estrutura proposta por [Goldberg, Richardson] é baseada em duas abstracções:

- cada caracter do alfabeto unistroke é desenhado de uma única vez (daqui o nome);

- o caracter é no máximo estendido por um espaço, são facilmente distinguidos mesmo com algum desenho menos exacto.

A separação individual de caracteres tornou-se trivial. As palavras são separadas

por um único levantamento da caneta. Isto resulta em taxas de reconhecimento mais altas e maior velocidade. Claro que o utilizador necessita de aprender o alfabeto, o que não demora muito tempo.

As formas são derivadas de 5 formas básicas, cada uma pode ser desenhada com 4 orientações e em duas direcções, na totalidade perfazem 40 variação possíveis. Este tipo de caracteres é suficiente para o alfabeto assumido, mas para uma aplicação real, o mínimo de caracteres deve exceder os 7 bits ASCII (127 caracteres, incluindo teclas de controlo). Este alfabeto deve ser melhorado usando um alfabeto fonético, em vez de um que se assemelhe às letras do alfabeto romano, contudo mais difícil de aprender.

Baseado no trabalho em Unistrokes uma variação denominada graffiti da Palm Computing tornou-se publicamente disponível para vários dispositivos pen-based1. Graffiti não é estritamente baseado em marcas simples, e por isso permite a introdução de qualquer caracter comum, incluindo acentos, etc. Os caracteres devem ser escritos numa pequena caixa dentro da janela no display. Enquanto muitos utilizadores do graffiti estão contentes com uma taxa de exactidão perto dos 100%, a solução de usar um novo alfabeto deve ser apenas temporária. Espera-se, que a pesquisa traga muitos outros instrumentos de aperfeiçoamento HWX num futuro próximo.

Figura [34]: Alfabeto unistrokes

A grande vantagem que o graffiti tem sobre Unistrokes é a sua similaridade com os caracteres hand-printed normais. MacKenzie e Zang (1997) elaboraram um estudo

44

1 Uso da caneta como modo de entrada de dados no computador

Page 45: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

sobre a usabilidade imediata do graffiti. Foi observado que 79% dos traços do graffiti coincidem com as letras do alfabeto romano.

3.4.3 MDTIM

Isokoski (1999) [18] apresentou um alfabeto de único traço que pode ser utilizado por vários dispositivos de input. Ele observou que os movimentos mais simples de se fazer com os dispositivos eram as quatro direcções mais simples: cima, baixo, esquerda e direita. Outro objectivo deste alfabeto era encontrar um mapeamento optimizado entre as quatro traço direccionais e os caracteres do alfabeto (os caracteres mais frequentes devem ter traços curtos). Ao resultado chamou minimal device-independent text input method, ou MDTIM.

Figura [35]: Alfabeto MDTIM

O alfabeto MDTIM não é familiar à maioria dos utilizadores, e é necessária alguma prática para obter rapidez de escrita.

3.4.4 Jot

Por vezes, é necessário reconhecer texto imediatamente. Também pode querer deixar os seus rascunhos ser aquilo que são, em qualquer caso é importante que o input possa ser partilhado com outro utilizadores usando diferentes sistemas de computadores e que todas as propriedades do input original possa ser acessível. Permitir traduções é inútil se só um bitmap da escrita original é retido. A representação do input do utilizador é chamado digital ink [18]. Se toda a informação está contida no digital ink, é possível procurar texto não interpretado, sendo a tradução feita no momento da procura.

Jot foi definido foi definido como standard pelas empresas líderes na pen-computing, e é independente de aplicações ou formatos.

45

Page 46: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Figura [36]: Alfabeto Jot

O alfabeto Jot, inclui traços para números, caracteres simbólicos, e edição de funções comuns. Ele reconhece muitos traços do graffiti e outros traços de escrita normal.

3.5 Input de texto baseado em gestos

Os gestos são movimento informais para comunicar. As técnicas de input [18] baseadas no reconhecimento de caracteres e em soft keyboards têm caracteres fixos que são introduzidos de uma certa maneira, a caneta por exemplo deve carregar num determinado local para seleccionar caracteres para input.

As tecnologias baseadas em gestos não têm disposições fixas ou traços que o reconhecedor transforma em caracteres; os métodos de entrada de texto gestualmente têm uma framework na qual os movimentações informais da caneta (ou outro dispositivo) são interpretadas como caracteres.

3.5.1 Cirrin

Um exemplo disto é Cirrin, uma tecnologia apresentada por Mankoff e Abowd (1998). As letras do alfabeto são dispostas dentro do perímetro de uma circunferência. A figura [37], mostra a palavra �Cirrin� escrita no interface Cirrin. Os caracteres são seleccionados movendo dentro e fora do sector apropriado da região da letra. Mankoff e Abowd escolheram uma disposição circular da ordem das letras para minimizar a distância entre os caracteres consecutivos mais utilizados.

Figura [37]: O interface Cirrin, indicando como introduzir a palavras �Cirrim�

46

Page 47: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Na figura [37], é de salientar como as duas letras finais, �in� são seleccionadas, pela caneta que pode ser movida directamente de uma letra para a letra vizinha.

Como apresentado, só são suportados caracteres alfabéticos. O espaço é introduzido por cada levantamento da caneta, a pontuação e modo shifts são realizados através do uso de uma técnica auxiliar, pela outra mão.

3.5.2 Quickwritng

Quikwriting é uma técnica de input representada por Perlin (1998). A ideia é ter uma grelha 3 X 3 onde os caracteres eram introduzidos com traços que começam no centro e movem-se através de uma de três posições adjacentes, retornando à posição inicial.

A figura [38] ilustra um menu Quickwrinting de minúsculas. O Quichwriting tem displays similares e nós para números, maiúsculas e números. Os símbolos no topo ao centro as posições de baixo ao centro representam os diferentes nós. Às letras que ocorrem com mais frequência em inglês, são atribuídos traços curtos, e vice-versa. Os utilizadores de graffiti consideram o Quikwritng três vezes mais rápido.

Figura [38]: O interface Quickwritng de minúsculas, com a palavra �quick� introduzida

3.5.3 T-Cube

Outra tecnologia de input gestual é o T-Cube, representada por Venolia (1994). A figura [39] mostra a estrutura menu do T-Cube. O utilizador coloca a caneta (por exemplo) numa das nove posições de inicio (dispostas numa grelha de 3 x 3). O sitio onde inicialmente a caneta é colocada indica qual é o menu seguinte do qual o utilizador vai seleccionar um caracter. Os menus (figura [39]b) não são inicialmente mostrados, a não ser que haja uma hesitação por parte do utilizador. O T-Cube inclui números, caracteres simbólicos e outros caracteres de edição. Contudo o interface é de difícil aprendizagem.

47

Page 48: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Figura [39]: Estrutura de menus T-Cube, (a) menu do 1º nível, (b) menus de 2º nível

48

Page 49: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Capítulo IV � Handwriting Software

4.1 Introdução 49 4.2 O desafio do Reconhecimento de escrita manual 49 4.3 Jot para o Windows CE 49 4.4 SmArt Writer 50 4.5 CalliGrapher 51 4.6 A tecnologia OnSpot para dispositivos móveis 52

49

Page 50: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

4.1 Introdução

Desde que a Apple Computer introduziu o PDA Newton original, que ambos os termos PDA e software de reconhecimento de escrita manual em geral, tem sido assunto ridicularização [19]. Ao ponto da Microsoft os ter evitado quando lançou o Windows CE. Inventando a sua própria terminologia para computadores handheld, chamando-os de Handheld PCs ou H/PC.

4.2 O desafio do Reconhecimento de escrita manual

Ler a escrita de outra pessoa pode ser um desafio, e por vezes ler a própria escrita pode ser ainda pior. Contudo continuamos a reconhecer a escrita melhor que o computador.

Se o reconhecimento de escrita parece trivial, é porque o fazemos há muito tempo.

Os programadores de software de reconhecimento de escrita enfrentam alguns desafios. Um deles é que o programa tem que saber quando se está a terminar uma letra ou uma palavra. Mesmo que se escreva de uma forma legitima e consistente, os caracteres usados em alguns linguagens são frequentemente ambíguos até que se complete a letra ou palavra. Por exemplo, um �t� e um �1� parecem iguais até que se cruze o �t�. Por isso qualquer software de reconhecimento deve esperar um pouco depois do levantamento da caneta, para ver se algo mais vai ser adicionado ao caracter. Em alguns casos o programa pode interpretar a escrita imediatamente, e depois voltar atrás e corrigir a suposição caso se tenha cruzado um �t� ou posto uma pinta num �i�.

Os programas de reconhecimento de escrita devem considerar a ordem, velocidade e direcção que são introduzidos os traços da letra ou caracter. Por exemplo um �c� e um �e� podem parecer o mesmo na escrita de uma pessoa, mas se for observado a construção das letras, vê-se que o movimento da caneta é diferente em cada letra.

O software de reconhecimento de escrita tem muitos caracteres para reconhecer. Primeiro é necessário que reconheçam a maneira de reconhecer as 23 letras maiúsculas do alfabeto. Também têm que reconhecer números e pontuação ( que são muito semelhantes), Existem ainda outros alfabetos mais complexos (por exemplo o alfabeto chinês).

Todo o conhecimento tem que ser traduzido para o software de reconhecimento.

4.3 Jot para o windows CE Como com graffiti, em que se deve desenhar cada caracter de um modo especifico

e num local determinado, o Jot fornece métodos de entrada de caracteres similares. A

50

Page 51: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

partir do momento em que estes parâmetro são aprendidos o Jot é uma boa solução para o reconhecimento do escrita.

Figura [41]: Layout de Jot para Windows CE

Como podemos observar na figura [41], dois triângulos dividem a tela em duas regiões. Os números são desenhados na região do topo, letras minúsculas na região mais em baixo e letras maiúsculas no centro, ou seja pertencem a ambas as regiões.

4.4 SmART Writer

Em vez de os caracteres serem escritos de um certo modo, o smART Writer aprende a reconhecer a maneira que o utilizador escreve os caracteres, e possibilita a escrita dos mesmos em qualquer sitio da tela.

Este método tem a vantagem de permitir ao utilizador escrever de um modo mais

natural, mas é necessário algum tempo para ensinar (programa de treino) à aplicação a maneira do utilizador fazer as coisas. Figura [42]: Treino da aplicação para posterior reconhecimento do modo de escrita do utilizador

Tal como o Jot, smART Writer apenas consegue reconhecer caracteres impressos.

A escrita cursiva é interpretada como um único símbolo só pode ser utilizada para registar �shortcuts�. A característica do shortcut é similar à característica da macro para o Jot. É possível criar uma imagem desenhada para representar um conjunto de caracteres.

51

Page 52: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Figura [43]: Uso de desenhos como atalhos para palavras

Existe uma versão do smART Writer que inclui um programa �digital ink pad�, que permite fazer e guardar desenhos e notas escritas à mão, sem traduzir para caracteres.

4.5 CalliGrapher

Os dois programas anteriores necessitam de alguma forma de treino: por parte do utilizador ou por parte do programa. Tal não acontece com este programa.

É um programa extenso, e consegue ler escrita impressa e cursiva, geralmente tem uma melhor performance no reconhecimento cursivo.

Figura [44]: Introdução de escrita cursiva

O CalliGrapher utiliza um dicionário para ajudar a decifrar as palavras que não consegue entender, é por esta razão que funciona tão bem com este tipo de escrita.

Figura [45]: Depois das palavras decifradas, note-se que ocorreu um erro foi reconhecido �frown� em vez de �brown�

Através do uso de uma ferramenta própria, substitui-se a palavra reconhecida por

outra, de modo a corrigir os erros.

Figura [46]: Correcção manual de palavras mal decifradas

52

Page 53: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Outra característica interessante desta aplicação é o chamado �IntelliCalc�, que possibilita a realização de simples operações matemáticas (+, -, *, :, /, %), bastando só escrever a fórmula.

Também é possível criar e guardar o digital ink como no smART Writer.

4.6 Tecnologia OnSpot para dispositivos móveis

Porque a escrita manual é algo muito individual. A tecnologia onspot desenvolvida pela uma empresa sueca Decuma [20] oferece aos utilizadores de dispositivos móveis um reconhecimento de escrita manual mais exacto. Diferente da maioria das tecnologias de hoje em dia para PDAs, a tecnologia OnSpot utiliza a mesma área de input para escrita, correcção, edição e formatação.

Figura [47]: Layout OnSpot

Assim os utilizadores podem escrever como normalmente fazem com papel e caneta. O OnSpot permite escrever caracteres de uma só vez ou levantando várias vezes a caneta, não há ajustes a determinados estilos, nem é necessário alfabeto especial. A escrita pode incluir minúsculas e maiúsculas, números, pontuação, símbolos especiais e caracteres acentuados.

Assim que se escreve, o Onspot substitui os caracteres por caracteres ASCII correspondentes. Os caracteres escritos podem ser eliminados traçando uma linhas sobre os caracteres. A tecnologia Onspot promove um processo mais rápido de velocidade de escrita natural. Com esta tecnologia também é possível definir símbolos pessoais para servir de atalhos para frases longas ou comandos. São usadas cores para input, as letras são pretas, os números vermelhos, e os atalhos são introduzidos a verde.

Suporta muitas linguagens, incluindo caracteres Asiáticos. Esta tecnologia está disponível para telefones celulares, tablet Pcs e

53

Page 54: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

5. Conclusão

Cada vez mais existe uma necessidade de procurar novas técnicas naturais de interacção. E com o desenvolvimento tecnológico essas novas formas de interacção vão surgindo, como é o exemplo do input baseado em gestos, ou do reconhecimento de discurso.

A tecnologia do reconhecimento está a desempenhar um papel fundamental na indústria de processamento de dados. Muitos tipos de dados estão a ser processados usando técnicas de OCR (Optical Character Recognition). No entanto, o reconhecimento da escrita de caracteres que não segue um modelo e os textos cursivos, permanecem distantes da prática. Lidamos com muitos tipos diferentes de documentos no nosso dia a dia, como por exemplo, recibos de pagamentos, envelopes, formulários, etc. Todos eles futuramente, deverão ser processados pelo computador e mas tecnologia ainda está pouco avançada. A principal razão é a grande variedade de formas dos caracteres e símbolos produzidos pelos diferentes escritores.

Caracteres escritos em diferentes línguas têm sido reconhecidos, desde os

numerais até os alfanuméricos, e desde as línguas Romanas até as Orientais. Entretanto, a infinita variedade da qualidade e formas dos caracteres produzidos pela escrita à mão e por modernas impressoras têm sido o maior desafio para pesquisadores no campo do reconhecimento de padrões. Soluções satisfatórias para estes problemas serão muito úteis em aplicações de um grande volume de dados, sejam eles impressos ou escritos à mão.

Durante as últimas quatro décadas, muitos métodos diferentes foram explorados

por um grande número de cientistas. Uma grande variedade de propostas foram apresentadas e testadas por pesquisadores em diferentes partes do mundo, incluindo métodos estatísticos, métodos estruturais e sintácticos, redes neurais e sistemas inteligentes.

No que respeito ao reconhecimento automático de caracteres, o muito dinheiro que

já foi gasto nesta área prova que este problema é desafiador devido á diversidade da geometria das formas dos caracteres produzidos por escritores que possuem diferentes estilos e hábitos. A complexidade dos caracteres orientais dificulta ainda mais o problema.

Tentei com este trabalho abordar uma modesta parte do que já existe no

reconhecimento de escrita manual, não só os avanços, mas também as dificuldades e barreiras. Penso que futuramente, com as pesquisas de algoritmos de interacção e reconhecimento, a escrita manual irá substituir os teclados actuais, pois está cada vez mais a tornar-se numa forma atractiva e natural de introdução de dados.

54

Page 55: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

6 Referências

[1] La estenografia (http://www.ucm.es/info, 27/07/03) [2] Cording Keyboards (www.tifaq.com, 27/7/03) [3] A history of the shorthand writing machine (http://www.speedwritingresearch.com, 04/09/03) [4] The Digitisation of Textual Sources & Optical Character Recognition, Foteini Aravani (http://www.hatii.arts.gla.ac.uk/campusonly/HCLev1/ModuleA/Lectures/Lect13_wk7_DigiOCR.ppt, 29/07/03) [5] Natural Handwriting Recognition and Beyond, James Sneeringer (http://www.wave-report.com/other-html-files/parascript-nhr.htm, 08/08/03) [6] Large vocabulary off-line handwriting recognition: A survey, A. L. Koerich, R. Sabourin, C. Y. Suen [7] R.G. Casey, H. Takahashi, Experience in segmenting and classifyinf the NIST data base, in [18]. [8] V. Govindaraju, S.N. Srihari, Separating handwritten text from interfering stroke, in [18] [9] R. Fenrich, Segmentation of automatically located handwritten numeric strings, in [18]. [10] M.J.J. Holt, M.M. Beglou, S. Datta, Slant-independent letter segmentation for off-line cursive script recognition, in [18]. [11] JJ. Hull, T.K. Ho, J. Favata, V. Govindaraju, S.N. Srihari, Combination of segmentation-based and wholistic handwritten word recognition algorithms, in [18]. [12] T.Fujisaki, H.S.M. Beigi, C.C. Tappert, M. Ukelson, C.G. Wolf, Online recognition of unconstrained handprinting: a stroke based system and its evaluation, in [18]. [13] C.A. Higgins, D.M. Ford, A new segmentation method for cursive script recognition, in [18]. [14] Neural Networks Principles, Applications, Limitations and Implications, Dr. Andrei Dinu [15] On-line Graphics Recognition, Jin Xiangyu, Liu Wenyin, Sun Jianyong, Zhengxing Sun (http://www.cs.virginia.edu/~xj3a/publication/PG02.pdf, 08/08/03) [16] Alternatives to Graffiti for the Palm, Tom Stoneham (http://foxpop.co.uk/Palm/input01.html, 29/07/03) [17] How Thumbscript Works (http://www.thumbscript.com, 07/08/03) [18] MacKenzie, I. S., & Soukoreff, R. W. (2002). Text entry for mobile computing: Models and methods, theory and practice. Human-Computer Interaction, 17, 147-198.

55

Page 56: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

[19] Handwriting Recognition Software, por David Shier (http://www.pocketpcmag.com, 19/08/03) [20] Decuma Latin Recognition (www.decuma.com 19/08/03)

56

Page 57: Instituto Superior de Engenharia do Portopaf/proj/Set2003/Reconhecimento_Escrita.pdf · 1.6 Teclados com acordes ... 11 11 12 13 13 14 14 14 15 15 16 16 16 17 17 17 24 27 28 29 30

Apêndice I

57