• Nenhum resultado encontrado

Caracterização de Algoritmos de Segmentação de Dígitos Manuscritos

N/A
N/A
Protected

Academic year: 2021

Share "Caracterização de Algoritmos de Segmentação de Dígitos Manuscritos"

Copied!
83
0
0

Texto

(1)

Felipe Calliari Ribas

Caracteriza¸

ao de Algoritmos de

Segmenta¸

ao de D´ıgitos Manuscritos

Disserta¸c˜ao apresentada ao Programa de P´os-Gradua¸c˜ao em Inform´atica da Pontif´ıcia Universidade Cat´olica do Paran´a como requisito parcial para obten¸c˜ao do t´ıtulo de Mestre em Inform´atica.

Curitiba 2010.

(2)

Felipe Calliari Ribas

Caracteriza¸

ao de Algoritmos de

Segmenta¸

ao de D´ıgitos Manuscritos

Disserta¸c˜ao apresentada ao Programa de P´os-Gradua¸c˜ao em Inform´atica da Pontif´ıcia Universidade Cat´olica do Paran´a como requisito parcial para obten¸c˜ao do t´ıtulo de Mestre em Inform´atica.

´

Area de concentra¸c˜ao: Ciˆencia da Com-puta¸c˜ao.

Orientador:

Profo. Dro. Alceu de Souza Britto Jr.

Co-orientador:

Profo. Dro. Luiz Eduardo Soares de Oliveira

Curitiba 2010.

(3)

Dados da Catalogação na Publicação Pontifícia Universidade Católica do Paraná Sistema Integrado de Bibliotecas – SIBI/PUCPR

Biblioteca Central

Ribas, Felipe Calliari

R482c Caracterização de algoritmos de segmentação de dígitos manuscritos / 2010 Felipe Calliari Ribas ; orientador, Alceu de Souza Britto Jr. ; co-orientador,

Luiz Eduardo Soares de Oliveira. – 2010. xi, 68 f. : il. ; 30 cm

Dissertação (mestrado) – Pontifícia Universidade Católica do Paraná, Curitiba, 2010

Bibliografia: f. 66-68

1. Sistemas de reconhecimento de padrões. 2. Processamento de imagens - Técnicas digitais. 3. Algoritmos de computador. I. Britto Júnior, Alceu de Souza, 1966-. II. Oliveira, Luiz Eduardo Soares de. III. Pontifícia Universidade Católica do Paraná. Programa de Pós-Graduação em Informática. IV. Título.

CDD 20. ed. – 005.1

(4)
(5)

Agradecimentos

Agrade¸co a meus pais Romy Jos´e Ribas e Ana Maria Calliari Ribas, por terem investido em minha educa¸c˜ao e apoiado minhas escolhas, o que com certeza foi essencial para o sucesso deste trabalho.

Agrade¸co a meus orientadores, Prof. Dr. Alceu de Souza Britto Jr. e Prof. Dr. Luiz Eduardo Soares de Oliveira, pelo ensino, suporte, paciˆencia e amizade durante esses anos.

Agrade¸co a Pontif´ıcia Universidade Cat´olica do Paran´a, por ter me concedido a bolsa de estudos, valorizando assim meu esfor¸co durante a gradua¸c˜ao.

Agrade¸co tamb´em a todos que souberam compreender os momentos em que estive ocupado me dedicando `a este trabalho.

(6)

Sum´

ario

Agradecimentos . . . i

Sum´ario . . . ii

Lista de Figuras . . . iv

Lista de Tabelas . . . viii

Lista de Abreviaturas . . . ix Resumo . . . x Abstract . . . x 1 Introdu¸c˜ao 1 1.1 Defini¸c˜ao do Problema . . . 4 1.2 Objetivo . . . 6 1.3 Justificativa . . . 7 1.4 Proposta . . . 7 1.5 Contribui¸c˜ao . . . 8 1.6 Organiza¸c˜ao . . . 8 2 Estado da Arte 9 2.1 Segmenta¸c˜ao . . . 9 2.2 Algoritmos de Segmenta¸c˜ao . . . 12 2.2.1 Fujisawa et al . . . 12 2.2.2 Shi e Govindaraju . . . 15 2.2.3 Oliveira et al . . . 17 2.2.4 Chen e Wang . . . 18 2.2.5 Yu e Yan . . . 20 2.2.6 Pal et al . . . 21 2.2.7 Elnagar e Alhajajj . . . 23 2.2.8 Lei et al . . . 26 2.2.9 Suwa e Naoi . . . 27 2.2.10 Sadri et al . . . 29 2.2.11 Britto et al . . . 31

(7)

3 Metodologia Proposta 35

3.1 Sele¸c˜ao dos Algoritmos . . . 35

3.2 Cria¸c˜ao da Base de Dados . . . 37

3.3 Defini¸c˜ao dos Crit´erios de Avalia¸c˜ao . . . 41

3.4 Implementa¸c˜ao dos M´etodos . . . 44

3.5 Resumo . . . 45 4 Resultados Experimentais 46 4.1 Fujisawa et al . . . 47 4.2 Shi e Govindaraju . . . 49 4.3 Oliveira et al . . . 50 4.4 Chen e Wang . . . 51 4.5 Pal et al . . . 53 4.6 Elnagar e Alhajajj . . . 54

4.7 Avalia¸c˜ao e Compara¸c˜ao dos Resultados . . . 56

5 Conclus˜ao 64 5.1 Trabalhos Futuros . . . 65

(8)

Lista de Figuras

1.1 Etapas b´asicas de um sistema de reconhecimento. . . 2 1.2 Exemplo de imagem de entrada para um Sistema de Reconhecimento de

D´ıgitos Manuscritos, a qual corresponde `a um Cheque Banc´ario. . . 2 1.3 Imagens resultantes de cada uma das trˆes sub-etapas da Segmenta¸c˜ao.

1 - Binariza¸c˜ao; 2 - Busca pelo campo de interesse; 3 - Segmenta¸c˜ao da string . . . 3 1.4 Exemplos de pares de d´ıgitos e seus caminhos ´otimos de segmenta¸c˜ao. . 4 1.5 Caractere s´olido, imagem do contorno e do esqueleto, respectivamente. 5 1.6 Exemplos de manuscritos delimitados e n˜ao-delimitados. . . 6 2.1 Imagem contendo dois d´ıgitos conectados e os quatro caminhos de

seg-menta¸c˜ao encontrados na tentativa de segment´a-los. . . 10 2.2 Exemplo onde a combina¸c˜ao de 4 caminhos de segmenta¸c˜ao geraram um

grafo com 15 sub-imagens e 16 hip´oteses de segmenta¸c˜ao (o caminho destacado no grafo, representa a melhor hip´otese). . . 10 2.3 Dezena “38” e as representa¸c˜oes de seu vale mais profundo (profundidade

Pv) e sua colina mais alta (altura Ac). . . 11

2.4 Imagem original `a esquerda. `A direita imagem esqueletizada com os respectivos pontos de caracter´ıstica do esqueleto (pontos finais e pontos de intersec¸c˜ao) . . . 11 2.5 Imagem contendo dois d´ıgitos, “5” e “7”, compostos por trˆes CCs C1,

C2 e C3). . . 12

2.6 a) Imagem de Entrada; b) Contorno Superior; c) Contorno Inferior. Sombreados no contorno, os pontos selecionados para cada coordenada x. Figura adaptada de [FNK92] . . . 13 2.7 Linhas verticais mostrando a distˆancia horizontal dos ciclos (Imagem

original `a esquerda). . . 14 2.8 Exemplos de pontos de curvatura e respectivos pontos opostos. [SG97] 16 2.9 (a) Imagem Original, (b) Pontos de curvatura `a direita, (c) D´ıgitos

seg-mentados. [SG97] . . . 16 2.10 Pontos de (a) contorno e (b) perfil. Figura adaptada de [OLBS00] . . . 17

(9)

2.11 (a) Imagem Original. (b) Esqueleto dos D´ıgitos. (c) Esqueleto do Fundo.

Imagem adaptada de [CW00] . . . 18

2.12 Cinco poss´ıveis tipos de conex˜ao, segundo Chen et al [CW00]. . . 19

2.13 (a) Imagem contendo tra¸co-ligador, (b) identifica¸c˜ao do tra¸co, (c) ima-gem ap´os a remo¸c˜ao do mesmo. [CW00] . . . 20

2.14 Diferentes padr˜oes estruturais que representam as poss´ıveis mudan¸cas morfol´ogicas no contorno da imagem. [YY01] . . . 21

2.15 Espa¸cos (“Reservat´orios”) criados pela conex˜ao entre os d´ıgitos, e suas respectivas bases. Adaptada de [BCP03] . . . 22

2.16 Regi˜oes da imagem s˜ao utilizadas para determinar o melhor reservat´orio. Adaptada de [BCP03] . . . 22

2.17 Exemplos de segmenta¸c˜ao incorreta gerada pelo m´etodo proposto. [BCP03] 23 2.18 Imagens das fases do m´etodo de segmenta¸c˜ao: imagem original, imagem esqueletizada, imagem segmentada e imagem restaurada. [EA03] . . . . 24

2.19 Modelos utilizados na extra¸c˜ao de caracter´ısticas. Pontos Finais (e1;e2), pontos de ramifica¸c˜ao (b1;b2;b3;b4) e pontos de cruzamento (c1;c2). [EA03] . . . 24

2.20 Conex˜oes com ponto em comum. [EA03] . . . 25

2.21 Conex˜oes com segmento em comum. [EA03] . . . 25

2.22 Conex˜oes suaves. [EA03] . . . 25

2.23 Conex˜oes com tra¸co-ligador. [EA03] . . . 26

2.24 Na esquerda temos uma imagem exemplificando um ponto de colina e na direita um ponto de vale. . . 26

2.25 Contorno inferior e superior de uma cadeia de d´ıgitos conectados. [LLDF04] 27 2.26 Par de d´ıgitos e suas diferentes representa¸c˜oes. (a) Imagem original, (b) Imagem do esqueleto, (c) Representa¸c˜ao de grafo no contorno da imagem. [SN04] . . . 28

2.27 Tipos de conex˜ao: (a) Conex˜ao em um ponto, (b) Conex˜ao em um segmento, (c) Conex˜ao m´ultipla, (d) Conex˜ao com tra¸co-ligador. [SN04] 28 2.28 (a) Imagem pr´e-processada, (b) Esqueleto do plano frontal, (c) Plano de fundo (pixels brancos fora do objeto composto por pixels pretos, (d) proje¸c˜ao do perfil superior, (e) proje¸c˜ao do perfil inferior, (f) esqueleto superior do plano de fundo, (g) esqueleto inferior do plano de fundo. [SSB07] . . . 29

2.29 Casos nos quais provavelmente um reconhecedor de d´ıgitos isolados co-meteria erro sem a ajuda de informa¸c˜oes de contexto. Por exemplo, (a) poderia ser facilmente reconhecido como 020, (b) como 101, (c) como 01 e (d) como 10. [SSB07] . . . 30

(10)

2.30 Esquema de funcionamento do m´etodo. [Bri01] . . . 32 3.1 Exemplos de imagens geradas pelo algoritmo de gera¸c˜ao autom´atica.

[OBJS05] . . . 37 3.2 Na esquerda, exemplo de imagem da base de dados contendo os d´ıgitos

“65”. `A direita a imagem depois de tra¸cado seu “caminho ´otimo de segmenta¸c˜ao”. . . 38 3.3 Exemplo de arquivo de informa¸c˜oes referente a imagem da base exibida

na Figura 3.2 . . . 38 3.4 Exemplo de imagem contendo tra¸co-ligador, classificada alternativamente

como tipo 1. . . 39 3.5 Tipos de conex˜ao utilizados para a classifica¸c˜ao da nossa base de dados. 39 3.6 Exemplos de imagens removidas da base de dados. Classe “16” e “10”

respectivamente. . . 40 3.7 D´ıgito “1”, com e sem “perna”, respectivamente. . . 40 3.8 Gr´afico da distribui¸c˜ao da Base de Dados de acordo com os tipos de

conex˜ao. . . 40 3.9 Imagens da classe 33, seus caminhos ´otimos de segmenta¸c˜ao e duas

hip´oteses. Sendo a primeira hip´otese incorreta e a segunda correta. . . 41 4.1 Desempenho obtido pelo m´etodo para cada um dos tipos de conex˜ao. . 47 4.2 Quantidade m´edia de caminhos de segmenta¸c˜ao gerados pelo algoritmo,

para cada tipo de conex˜ao. . . 48 4.3 Tempo m´edio necess´ario para o algoritmo encontrar os caminhos de

seg-menta¸c˜ao de cada imagem, exibidos de acordo com o tipo de conex˜ao. . 48 4.4 Desempenho obtido pelo m´etodo para cada um dos tipos de conex˜ao. . 49 4.5 Tempo m´edio necess´ario para o algoritmo encontrar os caminhos de

seg-menta¸c˜ao de cada imagem, exibidos de acordo com o tipo de conex˜ao. . 50 4.6 Desempenho obtido pelo m´etodo para cada um dos tipos de conex˜ao. . 50 4.7 Quantidade m´edia de caminhos de segmenta¸c˜ao gerados pelo algoritmo,

para cada tipo de conex˜ao. . . 51 4.8 Tempo m´edio necess´ario para o algoritmo encontrar os caminhos de

seg-menta¸c˜ao de cada imagem, exibidos de acordo com o tipo de conex˜ao. . 51 4.9 Quantidade m´edia de caminhos de segmenta¸c˜ao gerados pelo algoritmo,

para cada tipo de conex˜ao. . . 52 4.10 Desempenho obtido pelo m´etodo para cada um dos tipos de conex˜ao. . 52 4.11 Tempo m´edio necess´ario para o algoritmo encontrar os caminhos de

seg-menta¸c˜ao de cada imagem, exibidos de acordo com o tipo de conex˜ao. . 53 4.12 Desempenho obtido pelo m´etodo para cada um dos tipos de conex˜ao. . 54

(11)

4.13 Tempo m´edio necess´ario para o algoritmo encontrar os caminhos de seg-menta¸c˜ao de cada imagem, exibidos de acordo com o tipo de conex˜ao. . 54 4.14 Desempenho obtido pelo m´etodo para cada um dos tipos de conex˜ao. . 55 4.15 Tempo m´edio necess´ario para o algoritmo encontrar os caminhos de

seg-menta¸c˜ao de cada imagem, exibidos de acordo com o tipo de conex˜ao. . 56 4.16 Comparativo das taxas de acerto dos algoritmos implementados. . . 58 4.17 Exemplo de imagem que nenhum algoritmo segmentou corretamente.

(a) Original. (b) [OLBS00], (c) [SG97], (d) [FNK92], (e) [BCP03], (f) [CW00], (g) [EA03] . . . 59 4.18 Exemplo onde apenas o algoritmo proposto por Oliveira et al segmentou

corretamente. (a) Original. (b) [OLBS00], (c) [SG97], (d) [FNK92], (e) [BCP03], (f) [CW00], (g) [EA03] . . . 60 4.19 Exemplo onde apenas o algoritmo proposto por Shi e Govindaraju

seg-mentou corretamente. (a) Original. (b) [OLBS00], (c) [SG97], (d) [FNK92], (e) [BCP03], (f) [CW00], (g) [EA03] . . . 61 4.20 Exemplo onde apenas o algoritmo proposto por Fujisawa et al segmentou

corretamente. (a) Original. (b) [OLBS00], (c) [SG97], (d) [FNK92], (e) [BCP03], (f) [CW00], (g) [EA03] . . . 61 4.21 Exemplo onde apenas o algoritmo proposto por Pal et al segmentou

corretamente. (a) Original. (b) [OLBS00], (c) [SG97], (d) [FNK92], (e) [BCP03], (f) [CW00], (g) [EA03] . . . 62 4.22 Exemplo onde apenas o algoritmo proposto por Chen e Wang segmentou

corretamente. (a) Original. (b) [OLBS00], (c) [SG97], (d) [FNK92], (e) [BCP03], (f) [CW00], (g) [EA03] . . . 62 4.23 Exemplo onde apenas o algoritmo proposto por Elnagar e Alhajajj

seg-mentou corretamente. (a) Original. (b) [OLBS00], (c) [SG97], (d) [FNK92], (e) [BCP03], (f) [CW00], (g) [EA03] . . . 63

(12)

Lista de Tabelas

2.1 Tabela comparativa dos m´etodos. O desempenho corresponde ao repor-tado pelos autores. . . 34 4.1 Tabela contendo quantidade de caminhos de segmenta¸c˜ao, tempo de

processamento, taxa de acerto de acordo com nossos testes e o acerto informado pelos autores. . . 56 4.2 Detalhamento das quantidades de acerto dos algoritmos. . . 58 4.3 Detalhamento das quantidades de acerto das imagens que foram

(13)

Lista de Abreviaturas

AG Algoritmo Gen´etico

ASCII American Standard Code for Information Interchange CC Componentes Conectados

CG Centro de Gravidade

CEDAR Center of Excellence for Document Analysis and Recognition DDR2 Double Data Rate 2

Gb Giga Bytes

HMM Hidden Markov Model k-NN k-Nearest Neighbors

Mb Mega Bytes

MLP Multi-Layer Perceptron

NIST National Institute of Standards and Technology RAM Random Access Memory

SD19 Base de dados NIST de formul´arios e caracteres manuscritos SVM Support Vector Machine

(14)

Resumo

Este trabalho apresenta um estudo comparativo de algoritmos de segmenta¸c˜ao de pares de d´ıgitos manuscritos onde diferentes tipos de conex˜oes s˜ao considerados. O objetivo principal consiste em coletar estat´ısticas detalhadas sobre os algoritmos de modo que em um trabalho futuro seja poss´ıvel desenvolver um sistema de segmenta¸c˜ao que combine muitos algoritmos, levando em considera¸c˜ao os casos em que cada um possui melhor desempenho, para assim obter taxas de acerto melhores do que as que s˜ao alcan¸cadas por algoritmos ´unicos.

O m´etodo de avalia¸c˜ao estabelece um crit´erio justo de compara¸c˜ao de seus de-sempenhos, o que ´e um diferencial deste trabalho em rela¸c˜ao a outros. Resultados interessantes foram obtidos, os quais mostram que um algoritmo que possui a melhor taxa de acerto geral da segmenta¸c˜ao n˜ao ´e necessariamente o melhor para todos os tipos de conex˜ao.

Analisando os resultados deste estudo n´os observamos que seria poss´ıvel obter uma melhora de at´e 34,33% na taxa de acerto da segmenta¸c˜ao se fosse desenvolvido um sistema ideal de combina¸c˜ao de algoritmos de segmenta¸c˜ao. Com esses resultados conclu´ımos que um sistema que combine algoritmos de segmenta¸c˜ao de pares de d´ıgitos manuscritos, ´e uma id´eia promissora `a ser desenvolvida em trabalhos futuros.

Palavras-Chave: Segmenta¸c˜ao, D´ıgitos Manuscritos, Compara¸c˜ao de Algorit-mos.

(15)

Abstract

This work presents a comparative study of segmentation algorithms for hand-written digit pairs where different types of connections were considered. The main goal consists in collecting detailed statistics about the algorithms so in a future work would be possible to develop a segmentation system that combines many algorithms, taking into account cases where each one has better performance, thereby achieving better segmentation rates than those achieved by single algorithms.

The evaluation method provides a fair protocol for the comparison of their per-formance, which is a differential of this work compared to others. Interesting results were obtained, which show that an algorithm that has the best overall correct segmen-tation rate is not necessarily the best for all connection types.

Analyzing the results of this study we observed that it would be possible to ob-tain an improvement of up to 34.33% in accuracy rate in the segmentation if it would possible to develop a system with a perfect combination of segmentation algorithms. With these results we conclude that a system to combine segmentation algorithms for handwritten digit pairs is a promising idea to be developed in future works.

(16)

Cap´ıtulo 1

Introdu¸

ao

Diversas atividades do dia a dia utilizam documentos manuscritos, dentre elas podemos citar o reconhecimento de envelopes postais, processamento autom´atico de cheques banc´arios e formul´arios diversos, bem como a indexa¸c˜ao de documentos hist´oricos. Essas atividades tem muito a ganhar com a utiliza¸c˜ao de sistemas automatizados de reconhecimento de manuscritos. Esse tipo de sistema pode trazer diversos benef´ıcios `a sociedade, como por exemplo aumentar a velocidade do processamento de informa¸c˜oes, proporcionar maior sigilo para documentos de acesso restrito e a possibilidade de subs-tituir o trabalho humano pela m´aquina em atividades que s˜ao repetitivas e cansativas demais para o homem.

Reconhecimento de manuscritos ´e uma ´area de pesquisa bem antiga e que ´e bastante ativa. Por´em, mesmo com a grande explora¸c˜ao dessa ´area, ela continua sendo muito atrativa devido `a constante e r´apida evolu¸c˜ao da tecnologia, o que proporciona que os sistemas possam assumir um n´ıvel de complexidade cada vez maior em busca de um melhor desempenho. Principalmente nos dias de hoje com v´arios tipos de do-cumento migrando para o formato digital, existem muitas aplica¸c˜oes para sistemas de reconhecimento de manuscritos. Isso se deve `a necessidade de muitos documentos pre-cisarem existir em forma de papel, seja por praticidade em atividades do dia a dia, por quest˜oes legais ou at´e mesmo documentos antigos que possuem conte´udo impor-tante e precisam ser mantidos por muito tempo, criando ent˜ao, a necessidade de serem processados e indexados.

Diversos autores sugerem diferentes estruturas para a constru¸c˜ao de sistemas de reconhecimento de d´ıgitos manuscritos, mas de modo geral, podemos exemplificar a arquitetura desse tipo de sistema pelas seguintes etapas: aquisi¸c˜ao da imagem, pr´e-processamento, segmenta¸c˜ao dos d´ıgitos, reconhecimento e p´os-pr´e-processamento, como podemos observar na Figura 1.1.

A primeira etapa visa obter a imagem a ser processada, o que dependendo do tipo de sistema, pode representar diferentes processos como: capturar uma imagem

(17)

Figura 1.1: Etapas b´asicas de um sistema de reconhecimento.

com uma cˆamera de v´ıdeo, digitalizar uma imagem com equipamento espec´ıfico ou at´e simplesmente realizar a leitura de um arquivo j´a contendo a imagem em formato digital.

Figura 1.2: Exemplo de imagem de entrada para um Sistema de Reconhecimento de D´ıgitos Manus-critos, a qual corresponde `a um Cheque Banc´ario.

Podemos classificar os sistemas de reconhecimento de manuscritos de acordo com o m´etodo de entrada utilizado, em dois tipos: on-line e off-line. On-line ´e o m´etodo que realiza a captura em tempo de execu¸c˜ao, utilizando para isso, hardware espec´ıfico, como mesas digitalizadoras ou canetas sens´ıveis `a press˜ao. J´a sistemas off-line, s˜ao os que processam um manuscrito que foi previamente digitalizado e j´a esta armazenado em formato de arquivo. No primeiro m´etodo, pode-se utilizar al´em da imagem em si, outras informa¸c˜oes adicionais da escrita, como: pontos de in´ıcio e fim, velocidade, press˜ao da caneta, dentre outros. Essas informa¸c˜oes podem ser utilizadas para aumentar o desempenho do algoritmo de segmenta¸c˜ao. Por´em em muitos casos, n˜ao ´e poss´ıvel utilizar um equipamento on-line, como no processamento autom´atico de cheques ou envelopes postais.

(18)

J´a a segunda etapa aplica algoritmos visando eliminar da imagem os compo-nentes que n˜ao s˜ao importantes, os quais podem prejudicar a segmenta¸c˜ao e o reco-nhecimento, como ru´ıdos oriundos da captura da imagem, al´em de texturas e marcas d’´agua que possam estar presentes no fundo da mesma.

Por sua vez, a etapa de segmenta¸c˜ao, pode ser sub-dividida basicamente em trˆes partes: binariza¸c˜ao da imagem, busca pelo campo a ser processado e segmenta¸c˜ao da string.

A binariza¸c˜ao visa separar na imagem o que ´e informa¸c˜ao importante (texto), do plano de fundo, o qual pode conter outras informa¸c˜oes que n˜ao puderam ser removidas pelo pr´e-processamento realizado na imagem. Ap´os esta etapa teremos uma imagem bin´aria (imagem contendo apenas duas cores, geralmente preto e branco) onde todas as informa¸c˜oes de interesse ser˜ao exibidas por pixels pretos e os demais componentes da imagem ser˜ao transformados em pixels brancos. Tendo a imagem binarizada, ´e necess´ario localizar o campo a ser processado. Essa busca pode ser realizada de mui-tas formas, desde algoritmos simples que utilizam apenas a localiza¸c˜ao do campo a ser reconhecido at´e o uso de algoritmos de IA (Inteligˆencia Artificial) que analisam caracter´ısticas que diferenciam o campo de interesse dos demais. Tendo encontrado o campo de interesse, ´e necess´ario ent˜ao realizar a segmenta¸c˜ao da string (cadeia de caracteres), fase essa que ´e o foco deste trabalho. Esta etapa recebe como entrada a imagem contendo a string e realiza a separa¸c˜ao dos caracteres, no caso deste trabalho, d´ıgitos. Ou seja, teremos ap´os esta fase, v´arias imagens, cada uma contendo apenas um d´ıgito.

Figura 1.3: Imagens resultantes de cada uma das trˆes sub-etapas da Segmenta¸c˜ao. 1 - Binariza¸c˜ao; 2 - Busca pelo campo de interesse; 3 - Segmenta¸c˜ao da string

Ap´os a segmenta¸c˜ao, as imagens dos caracteres isolados s˜ao enviados para a etapa de reconhecimento, a qual ´e respons´avel por transformar uma imagem contendo um ´unico componente, em um caracter ASCII. De posse do resultado do reconheci-mento, este passa para a etapa de p´os-processareconheci-mento, a qual visa corrigir erros que possam ter ocorrido em etapas anteriores. Diferentes tipos de processamento podem existir nesta etapa. Para exemplificar, podemos citar a an´alise com dicion´ario de con-texto, ou seja, tendo um sistema para reconhecimento de palavras manuscritas, por exemplo, pode-se utilizar um dicion´ario contendo todas as poss´ıveis palavras (desde

(19)

um pequeno grupo, at´e um dicion´ario completo de determinado idioma) e com isso, detectar e corrigir pequenos erros da segmenta¸c˜ao.

Resumindo ainda mais estas etapas, podemos falar que este tipo de sistema pro-cessa uma imagem de entrada (Figura 1.2) de modo `a transform´a-la em uma sequˆencia de caracteres ASCII contendo a informa¸c˜ao de interesse contida na mesma.

O escopo deste trabalho, s˜ao os algoritmos de segmenta¸c˜ao de pares de d´ıgitos manuscritos.

1.1

Defini¸

ao do Problema

A segmenta¸c˜ao ´e considerada a fase mais cr´ıtica em sistemas de reconhecimento de d´ıgitos manuscritos, isso se d´a tanto pela complexidade desta fase, quanto ao fato de ser na maioria dos casos crucial, pois um erro nessa fase geralmente acarreta um erro no reconhecimento.

Esta etapa vem sendo pesquisada h´a muito tempo e diversos algoritmos j´a foram desenvolvidos. O objetivo da segmenta¸c˜ao ´e dividir a imagem de entrada em regi˜oes que possuam uma e apenas uma entidade completa. No caso do reconhecimento de d´ıgitos manuscritos, essa entidade seria um d´ıgito. Ent˜ao, para dividir uma imagem contendo uma cadeia de d´ıgitos em imagens de d´ıgitos isolados, precisamos encontrar os chamados “caminhos de segmenta¸c˜ao” (Figura 1.4), que nada mais s˜ao que “cortes” que se realizados na imagem dividem a mesma, fazendo com que cada uma passe a ter apenas um d´ıgito.

Figura 1.4: Exemplos de pares de d´ıgitos e seus caminhos ´otimos de segmenta¸c˜ao.

A escolha da melhor abordagem para a segmenta¸c˜ao de d´ıgitos depende de um conjunto de vari´aveis, as quais necessitam de um profundo estudo para an´alise de qual pode ser mais eficaz para cada caso. Casei et al [CL96] prop˜oem a classifica¸c˜ao dos m´etodos de segmenta¸c˜ao em dois tipos: segmenta¸c˜ao impl´ıcita e expl´ıcita. Basica-mente, a segmenta¸c˜ao expl´ıcita, ´e aquela realizada antes do reconhecimento, tipo este correspondente a todos os algoritmos que ser˜ao abordados neste projeto. J´a a seg-menta¸c˜ao impl´ıcita ´e realizada simultaneamente com o reconhecimento, sendo ent˜ao a segmenta¸c˜ao, o resultado do mesmo. Cita-se como exemplo de segmenta¸c˜ao impl´ıcita

(20)

o m´etodo baseado em modelos ocultos de Markov (HMM) proposto por Britto et al [BSBS03].

Como mencionado no par´agrafo anterior, para escolha do m´etodo de segmenta¸c˜ao devemos levar em considera¸c˜ao v´arios fatores. O primeiro ´e o tipo de imagem de en-trada. As representa¸c˜oes mais comuns s˜ao: caracteres s´olidos bin´arios, esqueleto da imagem, imagem em n´ıvel de cinza e contorno. Chama-se de imagem bin´aria a imagem contendo apenas duas cores, uma para o plano frontal (no caso o d´ıgito) e outra para o fundo, de maneira geral utiliza-se: preto e branco, respectivamente. Caractere s´olido entende-se por um caractere n˜ao vazado. Como representa¸c˜oes n˜ao-s´olidas podemos citar esqueleto e contorno da imagem.

Figura 1.5: Caractere s´olido, imagem do contorno e do esqueleto, respectivamente.

Imagens coloridas dificilmente s˜ao utilizadas para este tipo de aplica¸c˜ao, de-vido `a maior complexidade de processamento. De modo que at´e o momento nenhum m´etodo proposto demonstrou um ganho em desempenho que justificasse esta comple-xidade. Desta maneira, de modo geral transforma-se as imagens coloridas para uma das representa¸c˜oes citadas anteriormente antes de realizar o processamento. Por outro lado, a transforma¸c˜ao para uma maneira muito simplificada, como a imagem bin´aria, dependendo do caso, pode resultar em uma imagem com qualidade insuficiente para uma boa segmenta¸c˜ao. Existem tamb´em m´etodos que utilizam mais de uma repre-senta¸c˜ao [AYV98].

Outro ponto crucial dos m´etodos de segmenta¸c˜ao s˜ao as caracter´ısticas utili-zadas. Ou seja, para descobrir os poss´ıveis caminhos de segmenta¸c˜ao, ´e necess´ario extrair da imagem algumas caracter´ısticas, as quais quando analisadas, forne¸cam in-forma¸c˜oes que possam ajudar na localiza¸c˜ao dos poss´ıveis caminhos de segmenta¸c˜ao. Como exemplos de caracter´ısticas podemos citar: rela¸c˜ao entre largura e altura da ima-gem, espessura do tra¸co, pontos de m´aximo e m´ınimo no contorno da imaima-gem, perfil da imagem, densidade de pixels em cada regi˜ao da imagem (supondo uma divis˜ao da mesma em v´arias regi˜oes), pontos de conex˜ao e pontos terminais ambos no esqueleto da imagem, dentre diversas outras caracter´ısticas existentes.

O tipo de documento a ser tratado tamb´em ´e um fator importante na escolha do m´etodo a ser utilizado. Devemos levar em conta o n´ıvel de degrada¸c˜ao que a imagem dos d´ıgitos pode vir a apresentar, a variabilidade de fontes a ser considerada e o fato de podermos ter que tratar de manuscritos n˜ao delimitados. Manuscritos delimitados

(21)

s˜ao imagens nas quais existem ´areas determinadas para a escrita, como por exemplo, formul´arios nos quais cada caractere tem um espa¸co pr´e-determinado. A diferen¸ca entre caracteres delimitados e n˜ao delimitados ´e representada pela Figura 1.6, na qual a sequˆencia de d´ıgitos 04618-003 correspondente a um c´odigo de endere¸camento postal, ´e considerada uma sequˆencia de d´ıgitos manuscritos delimitados. J´a o restante do texto ´e dito n˜ao-delimitado, pois n˜ao possui nenhuma marca¸c˜ao limitando o posicionamento dos caracteres.

Figura 1.6: Exemplos de manuscritos delimitados e n˜ao-delimitados.

N˜ao se deve esquecer tamb´em de observar se o m´etodo a ser escolhido ´e invari-ante as distor¸c˜oes que os documentos em quest˜ao podem vir a apresentar. Distor¸c˜oes estas que podem ser inclina¸c˜oes, rota¸c˜oes, dentre outras.

Diante de tamanha variabilidade encontrada nos diferentes casos onde se pode aplicar um sistema para reconhecimento de manuscritos, e tamb´em da diversidade de m´etodos existentes, a escolha da estrat´egia a ser utilizada em cada caso acaba se tornando tamb´em um problema. Baseado nesta dificuldade, fundamentamos este projeto, pois com ele pretendemos obter argumentos para a escolha do m´etodo a ser utilizado.

1.2

Objetivo

O objetivo principal deste trabalho ´e realizar um estudo comparativo de m´etodos de segmenta¸c˜ao de pares de d´ıgitos manuscritos, buscando caracterizar os tipos de conex˜ao em que cada m´etodo apresenta melhor desempenho.

J´a como objetivos espec´ıficos podemos citar:

• Defini¸c˜ao de um protocolo experimental para compara¸c˜ao dos m´etodos de seg-menta¸c˜ao.

• Rotula¸c˜ao da base de dados de acordo com o tipo de conex˜ao existente em cada imagem.

(22)

• Compara¸c˜ao dos m´etodos de acordo com suas caracter´ısticas de funcionamento e desempenho obtido, dados esses que ser˜ao necess´arios em um trabalho futuro de desenvolvimento de um sistema de sele¸c˜ao dinˆamica de algoritmos de seg-menta¸c˜ao.

1.3

Justificativa

Mesmo com toda pesquisa envolvida neste tema, os algoritmos de segmenta¸c˜ao ainda est˜ao longe da perfei¸c˜ao e s˜ao, na maioria dos casos, os respons´aveis pela maior parte dos erros ocorridos em sistemas de reconhecimento de manuscritos. Por isso, con-sideramos a caracteriza¸c˜ao de m´etodos de segmenta¸c˜ao visando uma futura combina¸c˜ao dos mesmos, um estudo bem fundamentado e de valor cient´ıfico, visto que poderemos apenas combinando algoritmos j´a existentes, otimizar o desempenho final da fase de segmenta¸c˜ao. Outro ponto que justifica e valoriza este trabalho est´a na dificuldade de se realizar compara¸c˜oes entre os algoritmos de segmenta¸c˜ao existentes, devido a falta de um padr˜ao para realiza¸c˜ao dos testes. Neste trabalho, realizamos uma compara¸c˜ao entre os diferentes algoritmos de forma justa, pois os testes foram realizados utilizando para todos os algoritmos testados, a mesma base de dados e os resultados avaliados com uma mesma rede neural.

1.4

Proposta

O foco deste trabalho ´e a segmenta¸c˜ao de pares de d´ıgitos conectados. Esta decis˜ao foi baseada nos dados mostrados por Wang et al [WGS00], pois nesse artigo, os autores fazem uma an´alise e concluem que 85% dos casos de conex˜ao encontrados cor-respondem a pares de d´ıgitos conectados. Para realizar a avalia¸c˜ao dos algoritmos, foi utilizada uma base sint´etica de d´ıgitos conectados proposta por Oliveira et al [OBJS05]. Esta base ´e dita “sint´etica”, pois foi gerada automaticamente com base em imagens de d´ıgitos isolados da base NIST. Como esta base possui uma quantidade muito grande de imagens, foi utilizada uma parte dela, parte esta que cont´em 79.466 imagens. Em uma primeira etapa estas imagens fora classificadas visualmente de acordo com o tipo de conex˜ao existente. Foram ent˜ao implementados e avaliados 6 diferentes algoritmos de segmenta¸c˜ao e para dizer se os algoritmos obtiveram sucesso na segmenta¸c˜ao de cada imagem, foi utilizado o classificador proposto por Oliveira [SO03], o qual se baseia em uma rede neural MLP(Multi Layer Perceptron). Os algoritmos foram avaliados tanto em rela¸c˜ao ao desempenho global da segmenta¸c˜ao, como em rela¸c˜ao ao desempenho espec´ıfico para cada tipo de conex˜ao.

(23)

1.5

Contribui¸

ao

A principal contribui¸c˜ao deste trabalho ´e a caracteriza¸c˜ao de diferentes algorit-mos de segmenta¸c˜ao, a qual foi realizada considerando uma caracter´ıstica do pr´oprio problema, que ´e o conhecimento a priori do tipo de conex˜ao. Esta caracteriza¸c˜ao ´e uma etapa fundamental para que os algoritmos possam ser utilizados em um sistema de sele¸c˜ao dinˆamica de algoritmos de segmenta¸c˜ao onde o crit´erio de escolha seria o tipo de conex˜ao encontrado na imagem de entrada. Al´em dessa contribui¸c˜ao, que motivou nosso projeto, outras contribui¸c˜oes secund´arias foram alcan¸cadas. Dentre elas, cita-se o fato de os algoritmos terem sido avaliados sobre as mesmas condi¸c˜oes experimentais, o que gerou uma compara¸c˜ao justa entre os mesmos. Essa compara¸c˜ao era uma neces-sidade para evolu¸c˜ao das pesquisas na ´area, visto que compara¸c˜oes existentes utilizam diferentes bases de dados e m´etodos de avalia¸c˜ao, tornando-as tendenciosas. Podemos comentar tamb´em a classifica¸c˜ao visual da base de dados, pois mais de 79 mil imagens foram classificadas visualmente de acordo com o tipo de conex˜ao, e esta base de dados poder´a ser utilizada em trabalhos futuros.

1.6

Organiza¸

ao

Esta disserta¸c˜ao de mestrado est´a organizada em cinco cap´ıtulos. Neste pri-meiro cap´ıtulo foi apresentada uma introdu¸c˜ao ao tema proposto. O Cap´ıtulo 2 traz algumas defini¸c˜oes que s˜ao citadas neste trabalho, como segmenta¸c˜ao, classificador, e v´arios tipos de caracter´ısticas utilizadas pelos algoritmos, al´em de um apanhado ge-ral com os principais m´etodos de segmenta¸c˜ao que foram pesquisados, dentre estes est˜ao os que selecionamos para utilizar em nosso trabalho de caracteriza¸c˜ao, todos os m´etodos cont´em uma breve an´alise de suas particularidades e desempenho reportados pelos respectivos autores. No Cap´ıtulo 3 ´e descrita a metodologia adotada para o de-senvolvimento do trabalho. J´a no Cap´ıtulo 4 s˜ao exibidos os resultados obtidos ao longo deste trabalho, juntamente com a an´alise comparativa dos mesmos. Por ´ultimo, no Cap´ıtulo 5, apresentamos a conclus˜ao bem como os trabalhos futuros.

(24)

Cap´ıtulo 2

Estado da Arte

Neste cap´ıtulo apresentamos com mais detalhes a segmenta¸c˜ao de d´ıgitos ma-nuscritos. Essa ´e uma etapa muito importante em sistemas de reconhecimento de d´ıgitos manuscritos e ´e o foco deste trabalho. Nas se¸c˜oes seguintes, al´em do conceito de segmenta¸c˜ao, s˜ao descritos alguns dos principais m´etodos existentes na literatura, destacando suas particularidades e comparando os desempenhos obtidos nos testes re-alizados pelos autores.

2.1

Segmenta¸

ao

Em sistemas de reconhecimento de manuscritos, a etapa de pr´e-processamento da imagem influencia diretamente a fase de segmenta¸c˜ao. E a segmenta¸c˜ao acaba por influenciar o reconhecimento, pois em casos de imagens mais complexas o pr´e-processamento muitas vezes n˜ao consegue eliminar totalmente os ru´ıdos e componentes n˜ao desejados da imagem, como texturas presentes no fundo ou marcas d’´agua. J´a o reconhecimento ´e prejudicado quando a fase de segmenta¸c˜ao falha, enviando nesses casos ao classificador, imagens contendo mais de um d´ıgito ou contendo apenas algumas partes de um d´ıgito. O algoritmo base utilizado pela etapa de reconhecimento (Figura 1.1) em um sistema de reconhecimento de manuscritos ´e chamado de classificador. Este algoritmo pode ser por exemplo, uma rede neural, um SVM, dentre outros.

O objetivo da segmenta¸c˜ao ´e processar uma imagem de entrada contendo um ou mais caracteres e dividi-la em v´arias imagens, de forma que cada uma contenha apenas um caractere. Para realizar essa divis˜ao da imagem, o algoritmo busca os prov´aveis “caminhos de segmenta¸c˜ao”, esses nada mais s˜ao que “cortes” realizados na imagem visando dividi-la. Alguns m´etodos de segmenta¸c˜ao optam por uma estrat´egia conhecida por over-segmentation ou sobre-segmenta¸c˜ao, a qual consiste em gerar mais “caminhos de segmenta¸c˜ao” do que o necess´ario, e depois disso com a ajuda de um classificador, escolher a melhor hip´otese de segmenta¸c˜ao. Na Figura 2.2 ´e exibido um grafo que

(25)

representa as 16 hip´oteses de segmenta¸c˜ao que foram geradas pela combina¸c˜ao dos quatro caminhos representados na Figura 2.1.

Figura 2.1: Imagem contendo dois d´ıgitos conectados e os quatro caminhos de segmenta¸c˜ao encon-trados na tentativa de segment´a-los.

Figura 2.2: Exemplo onde a combina¸c˜ao de 4 caminhos de segmenta¸c˜ao geraram um grafo com 15 sub-imagens e 16 hip´oteses de segmenta¸c˜ao (o caminho destacado no grafo, representa a melhor hip´otese).

O problema de se utilizar um m´etodo baseado em over-segmentation ´e que para cada sub-imagem gerada, ´e necess´aria uma chamada ao classificador, e estas chamadas s˜ao computacionalmente caras. No exemplo da imagem acima, necessitar´ıamos de 15 chamadas ao classificador para avaliar qual seria a melhor dentre as 16 hip´oteses de segmenta¸c˜ao.

Para calcular a quantidade de hip´oteses de segmenta¸c˜ao, pode-se utilizar a equa¸c˜ao 2.1, na qual n ´e o n´umero de sub-imagens formadas quando a imagem ´e segmentada por todos os caminhos de segmenta¸c˜ao encontrados. No caso do exemplo acima ter´ıamos n = 5.

(26)

De acordo com a classifica¸c˜ao proposta por Casei et al [CL96], os m´etodos de segmenta¸c˜ao podem ser divididos em dois tipos, segmenta¸c˜ao impl´ıcita e expl´ıcita. A segmenta¸c˜ao expl´ıcita ´e aquela realizada antes do reconhecimento e que utiliza carac-ter´ısticas da imagem para determinar os pontos que ser˜ao utilizados para segmenta-la. Para exemplificar essas caracter´ısticas utilizadas, podemos citar: informa¸c˜oes de cur-vatura no tra¸cado, pontos de m´aximo e m´ınimo locais (tamb´em chamados de colina e vale)(Figura 2.3), pontos no esqueleto (Figura 2.4), perfil da imagem, dentre outras. J´a a segmenta¸c˜ao impl´ıcita ´e realizada simultaneamente com o reconhecimento, sendo ent˜ao a segmenta¸c˜ao, nada mais que o resultado do mesmo. Esse tipo de algoritmo de-termina o caminho de segmenta¸c˜ao de forma arbitr´aria, geralmente cortando a imagem verticalmente de ponta `a ponta, n˜ao utilizando nenhum tipo de caracter´ıstica utilizada na segmenta¸c˜ao expl´ıcita. Podemos citar como exemplo de segmenta¸c˜ao impl´ıcita o m´etodo baseado em modelos ocultos de Markov (HMM) proposto por Britto et al [BSBS03]. A grande desvantagem desse tipo de m´etodo ´e o maior custo computacio-nal, pois ´e necess´ario um grande n´umero de chamadas ao classificador.

Figura 2.3: Dezena “38” e as representa¸c˜oes de seu vale mais profundo (profundidade Pv) e sua colina

mais alta (altura Ac).

Figura 2.4: Imagem original `a esquerda. `A direita imagem esqueletizada com os respectivos pontos de caracter´ıstica do esqueleto (pontos finais e pontos de intersec¸c˜ao)

A segmenta¸c˜ao ´e necess´aria pois a maior parte dos classificadores utilizados em sistemas de reconhecimento classifica apenas d´ıgitos de forma isolada, ou seja, n˜ao consegue classificar uma imagem se esta possuir dois ou mais d´ıgitos conectados. Exis-tem tamb´em na literatura, m´etodos para o reconhecimento de manuscritos nos quais a segmenta¸c˜ao n˜ao ´e necess´aria e pares de d´ıgitos conectados s˜ao enviados diretamente

(27)

ao classificador, como exemplo deste tipo de m´etodo temos o proposto por Choi e Oh [CO99], o qual utiliza um classificador que possui 100 classes na sa´ıda (00 `a 99). Como problemas deste tipo de m´etodo temos: a dificuldade de treinar um classificador com t˜ao alto n´umero de classes e que possua bom desempenho, al´em do alto custo computacional do mesmo.

A maioria dos m´etodos de segmenta¸c˜ao utiliza o conceito de Componentes Co-nectados (CCs) em seu algoritmo. Um CC nada mais ´e que um conjunto de pixels nos quais a partir de qualquer ponto, ´e poss´ıvel chegar a qualquer outro ponto, per-correndo somente pontos deste mesmo conjunto, isto ´e, se n˜ao existir pelo menos um caminho entre quaisquer dois pontos deste conjunto n˜ao podemos dizer que estes pontos pertencem ao mesmo CC.

Figura 2.5: Imagem contendo dois d´ıgitos, “5” e “7”, compostos por trˆes CCs C1, C2 e C3).

Veremos nas se¸c˜oes seguintes que alguns m´etodos realizam remo¸c˜ao dos cha-mados “Tra¸cos-Ligadores”. Esse tipo de tra¸co aparece em algumas imagens de d´ıgitos conectados e se caracterizam por serem tra¸cos que n˜ao pertencem a nenhum dos d´ıgitos da imagem. Estes s˜ao origin´arios do modo de escrita de determinadas pessoas, as quais por descuido proveniente da velocidade da escrita, acabam por deslizar a caneta sobre o papel produzindo um tra¸co que liga dois d´ıgitos consecutivos e n˜ao pertence a nenhum dos mesmos.

Esta se¸c˜ao apresentou uma explana¸c˜ao geral sobre a segmenta¸c˜ao de d´ıgitos manuscritos e alguns conceitos principais.

2.2

Algoritmos de Segmenta¸

ao

Um grande n´umero de algoritmos de segmenta¸c˜ao existe na literatura atual-mente. Nesta se¸c˜ao apresentamos v´arios destes algoritmos, descrevendo seu funciona-mento b´asico, terminando com uma tabela comparativa das caracter´ısticas dos mesmos.

2.2.1

Fujisawa et al

Fujisawa et al [FNK92] prop˜oem um m´etodo de segmenta¸c˜ao baseado em reco-nhecimento, ou seja, o algoritmo utiliza um classificador para selecionar uma dentre as hip´oteses de segmenta¸c˜ao geradas.

(28)

Basicamente o algoritmo num primeiro passo identifica atrav´es de persegui¸c˜ao de contorno, todos os componentes conectados (CCs) presentes na imagem. Ent˜ao estes CCs s˜ao classificados em d´ıgitos isolados ou d´ıgitos conectados, atrav´es de dois limiares baseados na largura comum de d´ıgitos isolados. Caso todos os CCs sejam classificados como d´ıgitos isolados, ent˜ao a segmenta¸c˜ao n˜ao ´e necess´aria.

Figura 2.6: a) Imagem de Entrada; b) Contorno Superior; c) Contorno Inferior. Sombreados no contorno, os pontos selecionados para cada coordenada x. Figura adaptada de [FNK92]

Quando o algoritmo encontra um CC correspondente a d´ıgitos conectados, ´e necess´aria ent˜ao a segmenta¸c˜ao, para isso, o contorno ´e dividido horizontalmente em duas partes: contorno superior e contorno inferior, conforme mostrado na Figura 2.6. Esta separa¸c˜ao ´e feita com base nos ponto mais a esquerda da imagem e no ponto mais a direita. Analisando individualmente cada uma das partes (superior e inferior) do contorno, para algumas coordenadas x podem existir mais de um ponto. Ent˜ao ´e aplicada uma opera¸c˜ao, sobre cada um dos contornos, que faz com que para cada coordenada x exista apenas um ponto no contorno. Para isso, sempre que existir mais de um ponto, ´e selecionado o ponto mais baixo ou mais alto, para cada um dos contornos superior e inferior, respectivamente. O resultado desta opera¸c˜ao ´e representado pela parte sombreada do contorno dos d´ıgitos, na imagem 2.6. As coordenadas y dos pontos obtidos do contorno superior, s˜ao representadas pela fun¸c˜ao Hu(x), e as obtidas do

contorno inferior representadas pela fun¸c˜ao Hl(x). Com essas fun¸c˜oes, determina-se a

largura vertical do tra¸co para cada coordenada x (H(x)), de acordo com a equa¸c˜ao 2.2.

H(x) = |Hu(x) − Hl(x)| (2.2)

A largura vertical ´e ent˜ao comparada com um limiar, visando encontrar as poss´ıveis regi˜oes de toque. Para limitar a regi˜ao de busca, o autor sugere que seja determinado um intervalo [X1, X2] onde seja mais provavel que esteja a ´area de toque. Para as regi˜oes que possuem conex˜ao entre dois ciclos fechados (“loops”), ´e re-alizado um tratamento diferenciado. O algoritmo extrai os contornos destes ciclos e divide a imagem verticalmente, separando os ciclos existentes em dois grupos: perten-centes ao d´ıgito da esquerda ou ciclos pertenperten-centes ao d´ıgito da direita. Para que este

(29)

algoritmo seja v´alido, a seguinte condi¸c˜ao deve ser satisfeita: existe uma distˆancia ho-rizontal (Figura 2.7) m´ınima entre os ciclos que pertencem ao grupo da esquerda e os ciclos que pertencem ao grupo da direita. Esta distˆancia m´ınima ´e dada por um limiar pr´e-determinado. Caso a distˆancia seja menor do que o limiar, ent˜ao o CC ´e tratado como sendo um ´unico componente, o qual possui mais de um ciclo. Poderia ser, por exemplo, o d´ıgito 8. Por´em se a distˆancia for maior que o limiar, ent˜ao ali existe uma regi˜ao de conex˜ao e os pontos s˜ao comparados com pontos obtidos do contorno externo, para se chegar aos pontos de segmenta¸c˜ao candidatos. Os caminhos de segmenta¸c˜ao s˜ao gerados atrav´es da liga¸c˜ao de pares de pontos de segmenta¸c˜ao com segmentos de reta.

Figura 2.7: Linhas verticais mostrando a distˆancia horizontal dos ciclos (Imagem original `a esquerda).

Depois de encontrados os caminhos de segmenta¸c˜ao candidatos, a imagem ´e seg-mentada utilizando-se todos eles (t´ecnica conhecida como “segmenta¸c˜ao em excesso”). Os componentes conectados (CCs) obtidos ap´os a segmenta¸c˜ao, s˜ao ent˜ao colocados em uma lista ordenada de acordo com o posicionamento dos mesmos em rela¸c˜ao `a coordenada x da imagem original. Tendo esta lista formada, ´e ent˜ao criado um grafo com as possibilidades de segmenta¸c˜ao da imagem, podendo ter desde todos os CCs correspondendo `a elementos isolados, at´e v´arios componentes consecutivos (segundo a ordem anterior) constituindo um s´o componente. Para determinar qual o caminho do grafo de hip´oteses representa a melhor segmenta¸c˜ao que pode ser obtida com base nos pontos gerados, ´e utilizada uma fun¸c˜ao de classifica¸c˜ao do CC. Esta fun¸c˜ao adota trˆes compara¸c˜oes de medidas de tamanho dos CCs em rela¸c˜ao `a alguns limiares. Cada compara¸c˜ao pode retornar trˆes tipos de resultado: Componente precisa ser agrupado; componente precisa ser segmentado ou componente indefinido. Ent˜ao se realiza uma “vota¸c˜ao” sobre os resultados fornecidos por cada uma das compara¸c˜oes. O resultado mais votado ´e utilizado como sendo o ideal. Os autores propuseram tamb´em uma se-gunda maneira de realizar o teste, tentando reconhecer cada um dos componentes do grafo de hip´oteses. Depois, de acordo com os escores de reconhecimento, avalia-se qual dos caminhos possui maior probabilidade de reconhecimento.

(30)

A avalia¸c˜ao do algoritmo foi realizada sobre base de dados pr´opria do autor, contendo 46 classes, sendo essas as que mais aparecem nos d´ıgitos conectados obtidos pelos autores com aux´ılio de um formul´ario. Para cada uma das classes foram utilizados 20 exemplos. Contabilizando assim 920 imagens de teste. Vale lembrar que esta base de dados n˜ao possui casos de conex˜ao m´ultipla. O resultado obtido foi uma taxa de acerto de 95% com 5% de rejei¸c˜ao.

Como limita¸c˜oes deste m´etodo podemos citar os casos nos quais o algoritmo falha ao determinar a largura do tra¸co vertical. Outra limita¸c˜ao que deve ser destacada ´e que o algoritmo n˜ao consegue segmentar casos de conex˜ao m´ultipla (d´ıgitos que se tocam em mais de um ponto) nem cadeias num´ericas contendo trˆes ou mais d´ıgitos conectados. Um ponto negativo do algoritmo ´e a necessidade de determina¸c˜ao manual de alguns limiares, os quais poderiam necessitar de uma redefini¸c˜ao caso a base de dados utilizada para testar o algoritmo fosse substitu´ıda por outra.

Como ponto positivo podemos citar a ausˆencia de algoritmos de alta complexi-dade e custo computacional, como esqueletiza¸c˜ao ou opera¸c˜oes morfol´ogicas. Podemos citar tamb´em, apesar da alta taxa de rejei¸c˜ao (5%), que a taxa de erro ´e nula para este algoritmo, o que ´e de extrema importˆancia para um caso de aplica¸c˜ao do algoritmo na solu¸c˜ao de problema real.

2.2.2

Shi e Govindaraju

Shi e Govindaraju [SG97] prop˜oem um m´etodo que se diferencia dos tradicionais por n˜ao determinar os pontos de segmenta¸c˜ao unicamente pelo tra¸co que conecta os pares de d´ıgitos, mas por identificar regi˜oes com potencial para serem utilizadas como pontos de segmenta¸c˜ao. Essas regi˜oes s˜ao determinadas basicamente pela an´alise da trajet´oria do tra¸cado dos d´ıgitos. A tarefa de busca do ponto de segmenta¸c˜ao ou do tra¸co-ligador n˜ao pode ser considerada trivial, principalmente devido `a largura do tra¸co n˜ao ser uniforme. A esqueletiza¸c˜ao seria uma boa solu¸c˜ao para este problema, entretanto n˜ao foi utilizada devido ao alto custo computacional deste tipo de algoritmo. De acordo com os autores, m´etodos heur´ısticos poderiam ser utilizados, por´em apesar da eficiˆencia, sua precis˜ao ´e limitada. Os autores informam tamb´em que evi-taram o uso de Histogramas verticais, pois, segundo eles, estes s˜ao muito propensos a erro. Eles prop˜oem ent˜ao a utiliza¸c˜ao de informa¸c˜oes do tra¸co, como dire¸c˜ao, pontos de curvatura e pontos finais. Estas informa¸c˜oes s˜ao obtidas da representa¸c˜ao de contorno em forma de cadeia de c´odigos.

Essa cadeia de c´odigos que representa o contorno da imagem, al´em das coorde-nadas do ponto, a inclina¸c˜ao e a curvatura, tamb´em possui o tipo do ponto, o ponto oposto correspondente (Figura 2.8) e outro ponto calculado a partir do ponto oposto, o qual ´e utilizado para calcular a largura do tra¸co e para a reconstru¸c˜ao das imagens

(31)

Figura 2.8: Exemplos de pontos de curvatura e respectivos pontos opostos. [SG97]

dos caracteres segmentados.

Os autores puderam observar atrav´es de um estudo dos pontos de toque e dos tra¸cos-ligadores entre dois d´ıgitos, que o contorno faz curvaturas significantes `a direita (Figura 2.9), em cada ponto de toque. O m´etodo utilizado para encontrar os pontos de curvatura `a direita, utiliza para isso a espessura do tra¸co e o vetor normal. Depois de encontrados esses pontos de curvatura, ´e utilizado um limiar (o qual deve ser obtido experimentalmente), para determinar se a curvatura ´e ou n˜ao significante.

Figura 2.9: (a) Imagem Original, (b) Pontos de curvatura `a direita, (c) D´ıgitos segmentados. [SG97]

Os pontos significantes de curvatura `a direita, junto com seus pontos opostos correspondentes, dividem o contorno em peda¸cos. Estes peda¸cos s˜ao ent˜ao classificados como pertencentes ao d´ıgito da esquerda ou da direita. A maneira mais f´acil de realizar a classifica¸c˜ao ´e utilizando uma linha de decis˜ao. Esta ´e uma vertical, centralizada na imagem, a qual divide a imagem em duas partes de igual tamanho. Ent˜ao se o centro de massa de determinado peda¸co do contorno se encontra `a esquerda da linha, este pertence ao d´ıgito da esquerda, sen˜ao ao da direita. Por´em este m´etodo falha se os d´ıgitos possu´ırem uma diferen¸ca muito grande de largura. Devido a este motivo outra maneira de determinar a linha de decis˜ao ´e proposta, a qual utiliza o histograma vertical da imagem.

Na Figura 2.9 podemos visualizar a imagem original, os pontos de curvatura encontrados e o resultado da segmenta¸c˜ao.

O m´etodo proposto foi testado sobre uma base contendo 1966 imagens do CEDAR, base esta que cont´em pares de d´ıgitos conectados. Os autores exploram apenas a segmenta¸c˜ao de pares de d´ıgitos conectados, n˜ao tratando cadeias de trˆes ou mais d´ıgitos conectados. O m´etodo obteve 78% de acerto na segmenta¸c˜ao. Se para os

(32)

casos em que existe um tra¸co-ligador for adicionado um classificador, para auxiliar na tomada de decis˜ao da segmenta¸c˜ao, ent˜ao a taxa de acerto obtida ´e de 80,5%. A ne-cessidade de determinar experimentalmente o ˆangulo para que uma curvatura `a direita seja considerada “significante” ´e um ponto negativo deste m´etodo.

2.2.3

Oliveira et al

Oliveira et al [OLBS00] prop˜oem um novo m´etodo de segmenta¸c˜ao para d´ıgitos manuscritos, baseado no m´etodo proposto por Fenrich [Fen91]. O m´etodo utiliza uma combina¸c˜ao de dois tipos de caracter´ısticas estruturais e foi desenvolvido para ser utili-zado em um sistema de segmenta¸c˜ao baseado em reconhecimento. O algoritmo recebe como entrada uma imagem bin´aria dos d´ıgitos. Como resultado o algoritmo fornece uma lista com os melhores caminhos de segmenta¸c˜ao e o n´umero de d´ıgitos a serem segmentados.

O contorno e o perfil encontram-se entre as caracter´ısticas mais comumente encontradas na literatura. S˜ao ent˜ao extra´ıdos os m´ınimos locais do contorno (Figura 2.10a) e do perfil da imagem (Figura 2.10b).

Figura 2.10: Pontos de (a) contorno e (b) perfil. Figura adaptada de [OLBS00]

O algoritmo busca rela¸c˜oes entre todos os pontos encontrados na tentativa de agrup´a-los de modo que sejam formadas v´arias hip´oteses de segmenta¸c˜ao. Para avaliar as v´arias hip´oteses, foi utilizada uma rede neural treinada com uma base de dados contendo 8500 imagens de d´ıgitos manuscritos isolados. O melhor experimento de aprendizagem resultou em uma taxa de 99,9% no treinamento e 98,5% no teste.

O sistema proposto foi ent˜ao testado sobre 900 imagens de d´ıgitos conectados, extra´ıdas de 2000 imagens de cheques banc´arios brasileiros. Vale lembrar que o algo-ritmo s´o se aplica a pares de d´ıgitos conectados. A melhor hip´otese de segmenta¸c˜ao ´e determinada pelo maior valor de produto dos escores dos elementos segmentados que comp˜oem a hip´otese. Estes escores s˜ao atribu´ıdos pela rede neural. Em uma primeira analise visual dos resultados conclui-se que 98,5% dos d´ıgitos foram corretamente seg-mentados. Em um segundo momento, o algoritmo foi avaliado com o uso de uma rede

(33)

neural para classificar os d´ıgitos segmentados. Nesta segunda avalia¸c˜ao, a taxa de acerto foi de 90,8%. Dentre o percentual de erro de 9,2% verificou-se que 1,5% era erro de segmenta¸c˜ao, e 7,7% era erro de reconhecimento. Esse erro referente `a segmenta¸c˜ao pode ser diminu´ıdo se a rede neural for treinada com d´ıgitos provenientes da sa´ıda de um algoritmo de segmenta¸c˜ao, e n˜ao apenas d´ıgitos naturalmente isolados.

A t´ecnica de segmenta¸c˜ao desenvolvida em [OLBS00] possui um algoritmo sim-ples e com poucas regras. O algoritmo atingiu bons resultados e realizou uma boa segmenta¸c˜ao na maioria dos d´ıgitos conectados, mesmo para aqueles em que os d´ıgitos estavam sobrepostos ou inclinados.

Como ponto negativo deste algoritmo, podemos destacar o fato de que na mai-oria dos casos este ir´a gerar mais de uma hip´otese de segmenta¸c˜ao. Para escolher a melhor dentre as hip´oteses, seria necess´ario o uso de um classificador, como uma rede neural. Por´em o uso de classificador para sele¸c˜ao da melhor hip´otese ´e um processo computacionalmente caro.

2.2.4

Chen e Wang

Chen e Wang [CW00] prop˜oem uma abordagem para segmenta¸c˜ao de cadeias de pares de d´ıgitos conectados. Esta abordagem visa `a segmenta¸c˜ao tanto de d´ıgitos simplesmente conectados, quanto d´ıgitos com m´ultiplas conex˜oes. O m´etodo combina caracter´ısticas tanto do primeiro plano da imagem (d´ıgito propriamente dito) como do plano de fundo. Os pontos de segmenta¸c˜ao s˜ao obtidos com a an´alise dos esque-letos da imagem, esqueleto dos d´ıgitos e do fundo (Figura 2.11). V´arios caminhos de segmenta¸c˜ao s˜ao gerados e os tra¸cos-ligadores removidos.

Figura 2.11: (a) Imagem Original. (b) Esqueleto dos D´ıgitos. (c) Esqueleto do Fundo. Imagem adaptada de [CW00]

Grande parte dos m´etodos encontrados na literatura apresenta dificuldade para segmentar d´ıgitos com conex˜ao m´ultipla ou d´ıgitos com conex˜ao simples que possuem

(34)

uma grande ´area de toque. Segundo os autores, este m´etodo conduz a bons resultados nesses casos, se comparado a outros m´etodos existentes.

As conex˜oes entre d´ıgitos s˜ao classificadas pelos autores em cinco tipos (Fi-gura 2.12). De modo geral, os algoritmos que trabalham com o plano de fundo ou plano principal, ambos isoladamente, segmentam com sucesso conex˜oes dos tipos 1 e 2. Por´em apresentam dificuldade com conex˜oes dos tipos 3, 4 e 5. Por isso neste m´etodo, caracter´ısticas de ambos os planos s˜ao extra´ıdas, pois se espera com isso, melhorar o desempenho em rela¸c˜ao aos demais m´etodos que utilizam apenas um dos tipos de caracter´ıstica.

Figura 2.12: Cinco poss´ıveis tipos de conex˜ao, segundo Chen et al [CW00].

Os pontos de caracter´ısticas extra´ıdos dos esqueletos da imagem s˜ao: pontos de bifurca¸c˜ao, de curvatura e terminais. O algoritmo combina ent˜ao essas caracter´ısticas extra´ıdas tanto dos d´ıgitos como do fundo, para gerar os poss´ıveis caminhos de seg-menta¸c˜ao.

´

E feita uma classifica¸c˜ao dos caminhos de segmenta¸c˜ao, utilizando-se uma fun¸c˜ao de mistura de probabilidades Gaussianas. Esta fun¸c˜ao foi obtida com base em 823 imagens da base NIST SD191. Ent˜ao se a probabilidade Gaussiana do caminho de

segmenta¸c˜ao melhor classificado for maior que um valor pr´e-determinado, este ´e tido como o melhor caminho de segmenta¸c˜ao. Caso contr´ario, este caminho ´e rejeitado.

Ap´os a identifica¸c˜ao de todos os poss´ıveis caminhos de segmenta¸c˜ao ´e feita a remo¸c˜ao dos tra¸cos-ligadores quando os mesmos existem. Esses tra¸cos s˜ao caracteriza-dos por dois caminhos de segmenta¸c˜ao com mesmo in´ıcio e fim, al´em disso, algumas

1

(35)

heur´ısticas devem ser satisfeitas para que esse tipo de tra¸co seja realmente caracte-rizado. A Figura 2.13 ilustra uma imagem contendo tra¸co-ligador, sua identifica¸c˜ao atrav´es dos caminhos de segmenta¸c˜ao com in´ıcio e fim em comum e a imagem final ap´os removido o tra¸co.

Figura 2.13: (a) Imagem contendo tra¸co-ligador, (b) identifica¸c˜ao do tra¸co, (c) imagem ap´os a remo¸c˜ao do mesmo. [CW00]

Para testar o desempenho do m´etodo foram utilizadas 4500 cadeias de dois d´ıgitos, destas, 4178 foram extra´ıdas da base NIST SD19, as 322 imagens restantes foram coletadas pelos pr´oprios autores. No experimento foram separadas 832 imagens para determinar a fun¸c˜ao de mistura de probabilidades Gaussianas, e o restante uti-lizado para testar o algoritmo de segmenta¸c˜ao. Das imagens utilizadas no teste, 8% foram rejeitadas, e se considerarmos somente as imagens aceitas, ´e obtida uma taxa de acerto de 95,7%. As principais raz˜oes causadoras de rejei¸c˜ao foram: quando o centro do caminho de segmenta¸c˜ao est´a muito deslocado em rela¸c˜ao ao centro da imagem ou quando a largura de um dos d´ıgitos separados ´e muito maior que do outro.

Como pontos positivos do m´etodo podemos citar o bom desempenho em alguns casos espec´ıficos que dificilmente s˜ao segmentados por outros m´etodos presentes na literatura, como por exemplo, conex˜oes nas quais a ´area de toque ´e muito grande, ou imagens com mais de dois pontos de conex˜ao. Al´em da boa capacidade de remo¸c˜ao dos tra¸cos-ligadores. O principal ponto negativo do m´etodo ´e o n´umero muito alto de cami-nhos de segmenta¸c˜ao gerados, os quais aumentam bastante o tempo de processamento e impossibilitam o uso do mesmo em aplica¸c˜oes reais.

2.2.5

Yu e Yan

Yu e Yan [YY01] desenvolveram um m´etodo capaz de segmentar cadeias de d´ıgitos, ou seja, cadeias que podem possuir mais de dois d´ıgitos. O m´etodo funciona segmentando a cadeia em v´arias sub-cadeias de dois d´ıgitos e processando cada uma delas separadamente.

(36)

de caracter´ısticas estruturais na imagem de bordas suavizada. Um ponto estrutural ´e o ponto que define uma mudan¸ca morfol´ogica no contorno. S˜ao definidos 16 diferentes padr˜oes de pontos estruturais (Figura 2.14). A imagem ´e dividida em quatro regi˜oes. Durante a an´alise dos pontos estruturais ´e levado em conta al´em do padr˜ao do ponto, a regi˜ao que este se encontra. Tamb´em s˜ao extra´ıdas caracter´ısticas das concavidades da imagem. Com base nestas caracter´ısticas foram constru´ıdos diversos modelos, os quais s˜ao representados por sequˆencias de pontos estruturais. Ent˜ao com esses modelos s˜ao constru´ıdas as diversas heur´ısticas.

Figura 2.14: Diferentes padr˜oes estruturais que representam as poss´ıveis mudan¸cas morfol´ogicas no contorno da imagem. [YY01]

Para construir os modelos foram utilizadas 600 imagens da base NIST. O con-junto de teste era constitu´ıdo de 3287 imagens de cadeias constitu´ıdas de dois d´ıgitos, para as quais, a taxa de segmenta¸c˜ao alcan¸cada foi de 94,8%. Para as 256 imagens restantes, as quais eram constitu´ıdas de trˆes d´ıgitos, a taxa de segmenta¸c˜ao correta foi de 84,7%. Para os testes de desempenho foi utilizado um k -NN otimizado, de modo que se ambos os d´ıgitos segmentados s˜ao reconhecidos por este k -NN, ent˜ao a segmenta¸c˜ao ´e considerada correta. Os autores enfatizam que podem existir casos em que uma boa segmenta¸c˜ao possa ter sido classificada como incorreta devido a um erro de classifica¸c˜ao do d´ıgito por parte do k -NN.

O uso do k -NN pode ser visto como um ponto negativo deste m´etodo, visto a quantidade e disposi¸c˜ao dos pontos utilizados pode o deixar computacionalmente caro, al´em de precisar armazenar todos os dados utilizados no treinamento e tamb´em n˜ao fornecer uma sa´ıda probabil´ıstica.

2.2.6

Pal et al

Pal et al [BCP03] prop˜oem um algoritmo de segmenta¸c˜ao livre de reconheci-mento (n˜ao utiliza um classificador para a valida¸c˜ao dos pontos de segmenta¸c˜ao). O

(37)

algoritmo se baseia na id´eia principal de que se dois d´ıgitos se tocam, ´e formado entre eles um grande espa¸co, chamado pelos autores de “reservat´orio” (Figura 2.15). Os pontos de segmenta¸c˜ao tendem a estar na base destes reservat´orios. Sendo assim, te-mos uma redu¸c˜ao da ´area de busca dos pontos, o que contribui para um menor esfor¸co computacional.

Figura 2.15: Espa¸cos (“Reservat´orios”) criados pela conex˜ao entre os d´ıgitos, e suas respectivas bases. Adaptada de [BCP03]

Para iniciar a busca pelos pontos de segmenta¸c˜ao, ´e necess´ario determinar o melhor reservat´orio. Para isso, a imagem ´e dividida em regi˜oes, como mostra a Figura 2.16. ´E tamb´em calculado o Centro de Gravidade (CG) de cada um dos reservat´orios existentes na imagem. O maior reservat´orio que possuir o seu CG na regi˜ao vm da ima-gem, ´e ent˜ao chamado de “Melhor Reservat´orio”. O algoritmo realiza alguns c´alculos utilizando a posi¸c˜ao da base do “Melhor Reservat´orio” e as coordenadas das regi˜oes da imagem e determina a posi¸c˜ao da ´area de toque, que pode ser: superior, central ou inferior.

Figura 2.16: Regi˜oes da imagem s˜ao utilizadas para determinar o melhor reservat´orio. Adaptada de [BCP03]

De acordo com a regi˜ao de toque, o algoritmo determina quais reservat´orios ser˜ao utilizados na busca pelos pontos de segmenta¸c˜ao. Para essa busca, o m´etodo utiliza caracter´ısticas como: quantidade de reservat´orios, suas posi¸c˜oes em rela¸c˜ao `a

(38)

Bounding Box do componente, seus tamanhos e formas, centro de gravidade, posi¸c˜ao relativa e padr˜ao morfol´ogico da ´area de conex˜ao. Tamb´em s˜ao utilizadas carac-ter´ısticas extra´ıdas dos ciclos fechados, s˜ao elas: posi¸c˜ao, centro de gravidade e a raz˜ao AlturadoCiclo

AlturadoComponente.

Dependendo do tipo de conex˜ao existente, o caminho de segmenta¸c˜ao gerado pode ser de dois tipos: uma curva ou um segmento de reta. O caminho em forma de curva ´e utilizado quando a ´area de conex˜ao se encontra entre dois ciclos fechados, de modo que esse caminho ´e realizado em uma posi¸c˜ao central em rela¸c˜ao aos ciclos. Nos demais casos, um segmento de reta ´e utilizado.

Como pontos positivos deste m´etodo, podemos apontar o funcionamento in-dependente da inclina¸c˜ao da imagem, suporte a conex˜oes simples e m´ultiplas e a n˜ao utiliza¸c˜ao de algoritmos de alto custo computacional, como por exemplo, esqueletiza¸c˜ao da imagem. Outro ponto positivo ´e o fato do m´etodo gerar sempre apenas uma hip´otese de segmenta¸c˜ao, descartando assim o uso de algoritmos mais complexos, como SVM ou Redes Neurais para a escolha da melhor hip´otese de segmenta¸c˜ao.

Figura 2.17: Exemplos de segmenta¸c˜ao incorreta gerada pelo m´etodo proposto. [BCP03]

Um diferencial deste algoritmo ´e que antes de tentar segmentar ele classifica os d´ıgitos da imagem em isolados ou conectados. Esta classifica¸c˜ao possui uma taxa de acerto de 98,81%. Como problemas deste algoritmo temos o fato de n˜ao conseguir segmentar imagens que contenham falha no contorno do d´ıgito em um ponto que cons-titua a parede de um reservat´orio e tamb´em o fato de suportar apenas cadeias de dois d´ıgitos. Dois exemplos de segmenta¸c˜ao incorreta deste algoritmo podem ser observados na Figura 2.17. Os autores testaram o m´etodo sobre uma base de dados contendo 2250 pares de d´ıgitos conectados extra´ıdos de cheques banc´arios franceses. Neste teste, o algoritmo alcan¸cou 94,8% de acerto com uma taxa de rejei¸c˜ao de 3,4%.

2.2.7

Elnagar e Alhajajj

Elnagar e Alhajajj [EA03] prop˜oem um m´etodo para segmenta¸c˜ao de pares de d´ıgitos simplesmente conectados. O m´etodo utiliza caracter´ısticas de esqueleto e contorno para encontrar os poss´ıveis pontos de segmenta¸c˜ao. Para determinar os pontos com maior potencial, o m´etodo utiliza heur´ısticas baseadas no posicionamento destes pontos com rela¸c˜ao aos pontos de m´aximo e m´ınimo locais.

(39)

Antes da extra¸c˜ao dos pontos de caracter´ısticas a imagem ´e normalizada quanto `a inclina¸c˜ao, linha de base e tamanho. Quanto ao tamanho, a imagem ´e redimensio-nada para 30 x 60 pixels, independente do fato de ter dimens˜oes originais maiores ou menores que estas. Ap´os este processamento inicial a imagem ´e ent˜ao esqueletizada (Figura 2.18). O processo de esqueletiza¸c˜ao da imagem ´e caro computacionalmente, por´em, os autores justificam seu uso argumentando que de posse de uma imagem com tra¸cos uniformes (neste caso, tra¸co com um pixel de espessura), a extra¸c˜ao de carac-ter´ısticas torna-se mais simples.

Figura 2.18: Imagens das fases do m´etodo de segmenta¸c˜ao: imagem original, imagem esqueletizada, imagem segmentada e imagem restaurada. [EA03]

Para a extra¸c˜ao de caracter´ısticas s˜ao utilizadas m´ascaras de tamanho 3x3 (Fi-gura 2.19). Estas m´ascaras s˜ao deslizadas sobre a imagem em todas as suas rota¸c˜oes m´ultiplas de π

2. Desta forma s˜ao ent˜ao obtidos os pontos finais, pontos de ramifica¸c˜ao e

de cruzamento. Outro ponto ´e encontrado obtendo-se o ponto mais alto do histograma do eixo y. Depois de encontradas as caracter´ısticas, ´e ent˜ao utilizado um processo de remo¸c˜ao de ru´ıdo, tamb´em baseado em uma m´ascara 3x3. Este processo visa `a remo¸c˜ao dos pontos de caracter´ısticas redundantes.

Figura 2.19: Modelos utilizados na extra¸c˜ao de caracter´ısticas. Pontos Finais (e1;e2), pontos de ramifica¸c˜ao (b1;b2;b3;b4) e pontos de cruzamento (c1;c2). [EA03]

(40)

conectados. As conex˜oes simples foram classificadas em quatro tipos:

Figura 2.20: Conex˜oes com ponto em comum. [EA03]

1. Conex˜ao com ponto em comum (Figura 2.20): conex˜ao onde os d´ıgitos compar-tilham um ponto. Ocorre geralmente em pontos de ramifica¸c˜ao ou cruzamento, no esqueleto da imagem.

2. Conex˜ao com segmento em comum (Figura 2.21): neste tipo os d´ıgitos com-partilham parte de um tra¸co (contorno) da imagem. ´E identificado por uma combina¸c˜ao de pontos de ramifica¸c˜ao e/ou cruzamento.

Figura 2.21: Conex˜oes com segmento em comum. [EA03]

3. Conex˜ao suave (Figura 2.22): ´e a conex˜ao onde os d´ıgitos compartilham um tra¸co, ou seja, a conex˜ao ´e t˜ao suave que n˜ao ´e encontrado nenhum ponto de caracter´ıstica na regi˜ao de toque.

Figura 2.22: Conex˜oes suaves. [EA03]

4. Conex˜ao com Tra¸co-Ligador (Figura 2.23): tipo onde os d´ıgitos se conectam por um tra¸co ”extra”presente na imagem, de modo que este tra¸co precisa ser removido. Este tra¸co pode ser identificado pelos pontos de caracter´ısticas.

Os pontos de segmenta¸c˜ao s˜ao ent˜ao escolhidos de acordo com algumas heur´ısticas que basicamente analisam os posicionamentos dos pontos de caracter´ısticas encontrados com rela¸c˜ao a mais alta colina e o mais profundo vale encontrado na imagem (Figura 2.24).

(41)

Figura 2.23: Conex˜oes com tra¸co-ligador. [EA03]

Figura 2.24: Na esquerda temos uma imagem exemplificando um ponto de colina e na direita um ponto de vale.

No caso espec´ıfico de conex˜oes suaves (Figura 2.22), o algoritmo n˜ao conse-gue encontrar os pontos de caracter´ısticas e conseq¨uentemente n˜ao determina nenhum caminho de segmenta¸c˜ao.

Embora tenha sido desenvolvido para tratar de conex˜oes simples, os autores afirmam que o algoritmo ´e capaz de segmentar casos de conex˜ao m´ultipla se estes pontos de conex˜ao se encontrarem pr´oximos um ao outro.

O m´etodo foi testado com imagens da base CEDAR, base NIST 19 e imagens de propriedade dos autores. Os testes resultaram em uma taxa de acerto de 96%.

Como limita¸c˜oes deste m´etodo podemos citar o fato de n˜ao conseguir segmen-tar casos de conex˜ao suave. Al´em disso, o algoritmo utiliza processos computacio-nalmente caros, como esqueletiza¸c˜ao e deslizamento de m´ascaras para a extra¸c˜ao de caracter´ısticas. Um ponto positivo do m´etodo ´e que com a utiliza¸c˜ao das m´ascaras propostas para encontrar os pontos de segmenta¸c˜ao, a implementa¸c˜ao do algoritmo se torna simples e ´e poss´ıvel realizar uma implementa¸c˜ao paralela para reduzir o tempo de processamento.

2.2.8

Lei et al

Lei et al [LLDF04] prop˜oem um m´etodo baseado no conceito de sobre-segmenta¸c˜ao e reconhecimento. M´etodo este que realiza um pr´e-processamento para normaliza¸c˜ao do tamanho, suaviza¸c˜ao do contorno e uma opera¸c˜ao morfol´ogica de fechamento, esta visando resolver o problema de peda¸cos quebrados e ru´ıdos. Antes de iniciar a seg-menta¸c˜ao da imagem, o m´etodo decide se a mesma ´e de d´ıgito isolado ou conectado, assim como em Pal et al [BCP03], atrav´es de um limiar aplicado ao resultado de um

(42)

classificador de d´ıgitos isolados.

Para identificar os poss´ıveis pontos de segmenta¸c˜ao ´e realizada uma an´alise do contorno interno e externo, divididos em superior e inferior (Figura 2.25), al´em de proje¸c˜oes de histograma. A divis˜ao do contorno em superior e inferior ´e realizada `a partir dos pontos extremos esquerdo e direito da imagem, assim como ´e feito no m´etodo proposto por Fujisawa et al [FNK92]. O resultado ´otimo da segmenta¸c˜ao ´e determinado pela m´axima probabilidade de reconhecimento. Visando a diminui¸c˜ao do n´umero de caminhos de segmenta¸c˜ao a serem testados ´e utilizada uma condi¸c˜ao de poda, tendo assim uma consequente redu¸c˜ao do tempo de processamento.

Figura 2.25: Contorno inferior e superior de uma cadeia de d´ıgitos conectados. [LLDF04]

Este m´etodo foi testado pelos autores em 3359 exemplos da base NIST SD19, e atingiu uma taxa de acerto de 97,72% (sem rejei¸c˜ao), em cadeias de dois d´ıgitos. Para cadeias de trˆes d´ıgitos o acerto foi de 93,33%, para os 525 exemplos testados. Vale ressaltar que as imagens utilizadas sempre possu´ıam os trˆes d´ıgitos conectados, o que pode-se considerar um fato de aumento da complexidade em rela¸c˜ao a testes realizados por outros autores, os quais cont´em entre as imagens, casos em que apenas dois d´ıgitos se tocam.

Podemos destacar como ponto interessante do algoritmo a condi¸c˜ao de poda utilizada no grafo contendos as hip´oteses de segmenta¸c˜ao, pois o teste das hip´oteses ´e uma etapa que penaliza m´etodos baseados em sobre-segmenta¸c˜ao. Como ponto ne-gativo, temos o fato do algoritmo utilizar uma opera¸c˜ao morfol´ogica durante o pr´e-processamento, opera¸c˜ao esta que eleva o custo computacional do m´etodo.

2.2.9

Suwa e Naoi

Suwa e Naoi [SN04] prop˜oem um algoritmo capaz de segmentar tanto d´ıgitos com conex˜ao simples, quanto d´ıgitos com conex˜ao m´ultipla. O algoritmo proposto trabalha apenas com pares de d´ıgitos e segmenta inclusive casos em que h´a um tra¸co ligador, utilizando para a identifica¸c˜ao e remo¸c˜ao dos tra¸cos ligadores, o m´etodo proposto por Elnagar et al [EA03].

Antes da segmenta¸c˜ao o algoritmo executa um pr´e-processamento, o qual rea-liza remo¸c˜ao de ru´ıdos, suaviza¸c˜ao e corre¸c˜ao de inclina¸c˜ao. Ap´os isso ´e rearea-lizada a

Referências

Documentos relacionados

Miquéias explicou que Deus valorizava e procurava como características do seu povo a justiça, a misericórdia e um andar humilde diante dEle (conf.. Ao mesmo tempo, Deus

Pode haver alguns acordos prévios, como visto na classificação proposta em trabalho anterior (GUERRERO, 2006), mas estes são propostos sempre mantendo elevado

Nesse contexto, quando o indivíduo age de acordo com o princípio da utilidade, ele cuida de si mesmo através do cultivo da sua natureza humana esse cultivo é a expressão do amor

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Os testes de desequilíbrio de resistência DC dentro de um par e de desequilíbrio de resistência DC entre pares se tornarão uma preocupação ainda maior à medida que mais

Conclui-se que o teor de prolina varia entre as cultivares de mandioca, sendo maior nas cultivares Platina’ e ‘Caravela’, seguidas por ‘BRS Kiriris’, ‘BRS Verdinha’,

3 O presente artigo tem como objetivo expor as melhorias nas praticas e ferramentas de recrutamento e seleção, visando explorar o capital intelectual para

Se no cadastro da administradora, foi selecionado na aba Configurações Comissões, para que as comissões fossem geradas no momento da venda do contrato, já é