Transcript
Page 1: Uma Aplicação de Sistemas Nebulosos em Processamento de I s · ' u s ode tas distint op o important eé s er como e mpregáIas a te . Qu o an s um a d et ermin i m a plicamo s es

Uma Aplicação de Sistemas Nebulosos emProcessamento de Imagens

Evandro Ottoni Te atini Sall es 'Lee Lu an Ling''

'Departamento de Engenharia ElétricaUniversidade Federa l do Espírito Santo - UFES

Caixa Postal 0 1-9011 29090-970 Vitória ES - [email protected]

Departamento de Comun icações - FEEC .Universidade Estadual de Campin as - UNICAMP

2Caixa Postal 6 101 13083-970 Campinas SP, [email protected]

Abstr act: This paper presents a method for image processing based on a set of fuzzy inference rules. 'Th ese rules generate a mapping by considering the results obtained from the convo lutional operationbetween classic operators and a given image . The spatial convolution masks were se lected due theireasy implernentations. Exper imental results reveal some promising applications of the proposedmethod.

Resumo: Neste trabalho apresentamos uma metodologia de processamento de imagens basead a emregras de inferê ncias nebulosas. Estas regra s decidem por um mapeamento final considera ndo oresultado do processo obtido pela convolução de operadores clássicos com uma dada imagem. Osoperadores selecio nados foram obtidos através de máscaras de convolução espacial , sendo de fácilimp lementação. Testes expe rimentais foram realizados para avaliar a eficácia do método.

'l - IntroduçãoQuando lidamos com imagens estamos

intere ssados ou em alterar sua aparência ou extrairalgum tipo de informação. Haverá, portanto, aneces sidade de processá-Ia. Para isto, pode-seempregar diversas técnicas [ I], oriundas das maisvariadas áreas (matemática, es tatís tica, psicologia ,engenharia, etc.) . Es te processamento é comumenteapresentado e realizado em etapas, onde em cada umadelas se deseja reso lver algum tipo de problema. Emespecia l, as etapas de segmentação e pré-filtragempodem req uerer, cada uma de las, diversasmetodologias a fim de se chegar ao resultadodesejado. Ou seja, em muitos casos faz-se necessário o'uso de técnicas distintas onde um ponto importante ésaber como empregá-Ias adequadamente. Quandoanalisamos uma determinada imagem aplicamos estetipo de abordagem de forma intuitiva. Estamos, porexemplo, interessados em preservar bordas, realçardeterminadas reg iões e homogeneizar os níveis decinza de uma outra, o que requer a aplicação detécnicas diferenciadas. Portanto ser ia interessante odesenv olvimento de uma metodologia que integreestas técnicas. Uma maneira de se fazê-lo é empregarum sis tema baseado em conhecimento capaz deproc essar uma imagem ava liando regras propostas porum espec ialista .

Neste sentido, podemos encontrar traba lhos ondeeste tipo de abordagem é utilizada. Em [2] foiproposto um sistema para filtragem e detecção debordas utilizando regras nebulosas IF - THEN. Nestecaso, os antecedentes das regras são dados porelementos de um operador 3x3 (do tipo máscara deconvolução) , o que eleva o grau de complex idade dasmesmas. Em [3] empregou-se uma abordagemsemelhante mas vol tada especialmente para a detecçãode bordas . Dado um conjunto de disposições de pixeLsque podem representar uma borda, o sistemaaprese ntado avalia estas possíveis bordas por meio daaplicação de regras. Em [4] é proposto um sistemanebuloso que realiza a sintonia dos parâmetros de umfiltro gaussia no a fim de se detectar bord as presentesem uma imagem. Uma outra abordagemregras pode ser encontrada em [5], onde se propõeuma transformada para codificação de imagensmodificando-se os parâmetros de uma DCT (Discre teCosine Transfo rmi emprega ndo-se um sistema AFAM(Adaptative Furry Associative Memories ).

2 - A Metodologia PropostaO estudo aqui proposto tem por objetivo

avaliar o resultado da aplicação de ope radores simplessobre uma imagem, empregando regr as nebul osas.Assim, o sistema nebuloso deve ser capaz de guiar oprocessamento, a fim de se obter uma imagem com um

88

Page 2: Uma Aplicação de Sistemas Nebulosos em Processamento de I s · ' u s ode tas distint op o important eé s er como e mpregáIas a te . Qu o an s um a d et ermin i m a plicamo s es

fig ura I - Diagrama do sistema impleme ntado onde Frepresenta a f ase de [u r zi fi cação e D designa a fasede defurrificação .

onde :G é o resultado final da co nvo lução;G 1 é o result ado da aplicação da máscara

hor izontal ;-G2 é o resultado da apli cação da máscar a vertica l.

(I)

Uma vez ob tidos esses valores , os mesmos sãoaplicados ao sistema nebul oso. Este co nta com umaetapa de [u zrificação, um banco de regras, umamáqu ina de inferênci a e uma etapa de defu zzificação,que devolve um valor para a imagem fina l. Podemosvisualizar o exposto acima através do diag ram aapresentado na figura I .

O método de defuzzificaç ão empregado foi o doCen tróide. A reg ra de impli cação' utilizad a, apes ar deformalmente não se poder ca rac terizá-la como tal[6][7], é dada pela re lação de mínimo prop osta porMand ani . A ut ilização da mesma é mui to frequente emproblemas de controle pois guarda uma forte rel açãoentre causa e efeito (uma regra IF-THEN é ativadasomente quand o seus an teced ente e co nsequente es tãoativos , pertinência :t= O) [7] . Para as regrasdesenvolvidas , os mnemônicos abaixo foramempregados:PB Filtro Passa-Baixas, PA Passa-Altas

DB Operador Detecta-Bordas

Para o processo de convo lução espacial,esco lhido por ser rápid o e de fác il implementação,foram se lecionadas 3 operações básicas : filtragempassa-baixas, filtragem passa-altas e detecção debordas . As máscaras que e fetuam cada uma destasoperações são respectivamen te: méd ia, h igh-boost eSo bel [I ] . Cada uma de las foi implement ada pormáscaras 3x3. Cada máscara , co nvo luída com aimagem , devolve em seu pixel ce ntra l o resultado daoperação. Esse valor sempre é co nd icionado apermanecer dentro da faixa [O, 255 ], que define ouniverso de discurso do sistema nebuloso. Emespec ial, para as máscaras de Sobel , cad a uma del asretoma um valor especí fico par a uma dir eçã o. O valorfinal, que também deve ficar na fa ixa [O, 255], é dadopela equação :

Ass im sendo, com base nas inform açõesespectrais apo rtadas po r cada um dos filtros e deaco rdo com o resultado gerado pe lo oper ador debord as é possível decidi r pelo mapeamento do pontop(i , j) na imagem res ultante. As reg iões a serempesqui sadas podem ser de baixa, médi a ou altavariação dos níveis de cinza, o que ficará represent adonos resultados da co nvo lução.

Se bordas é PEQUENO e passa-altas é PEQUENO emédi a é PEQUENO

ent ão p(i , j ) é PEQUENOSe bordas é PEQUENO e passa-alta s é PEQUENO e

médi a é GRANDEent ão p(i , j ) é GRANDE

Se bordas é GRANDE e passa-altas é GRANDE emédia é MÉDIO

então p(i, j ) é GRANDESe bordas é MÉDIO e passa- altas é GRANDE e média

é GRANDEent ão p(i , j ) é GRANDE.

3 - O Sistema desenvolvidoO sistema desen volvido lê imagens de 256 tons

de cin za (8 bit s), armazenadas sob a forma de arquivosdo tipo raw, e inicia o processamento do seg uintemodo:• Apli cação dos ope rado res de convolução

espacial,• Avali ação do resultado da convolução através de

um sistema nebuloso.

grau de con traste elevado entre os di versos elementosque particip am da ce na (objetos distintos e fundo) .Para tanto, co ntamos com um banco de operadores(lineares e não lineares) que se rão avaliados ese lec ionados à medida que se processa a imagem . Osistema reali zará es ta se leção baseando-seco nhec imento prévio embutido e em resul tadosgerados pela aplicação dos operadores. A idéiaprincipa l é, dada a segmentação desej ada , poderesco lher aqueles filtro s que melhores resultados trarãopar a uma determinada zona da imagem . Oprocessamento será locali zado e adaptado para aquelaregi ão específica . A avaliação do tipo de filtro a serempregado em um dado moment o depend e, além doresultado de sua convolução com a imagem, doconh ecimento e-xpr esso sob a formas de regrasnebul osas. Resumindo, estamos apli cand o um sistemanebuloso clássic o para co nduz ir a segmentação e/ouprocessamento de uma de terminada imagem .

Ass im, dado um conjunto de máscaras padr ões(detectora de bordas, médi a, passa_alta, etc.), obtém-se o resultado da convo lução de cada uma delas sobreuma reg ião imagem . Es tes podem ser avaliadoslinguisticamen te por regras co nforme o exemploaba ixo:

89

Page 3: Uma Aplicação de Sistemas Nebulosos em Processamento de I s · ' u s ode tas distint op o important eé s er como e mpregáIas a te . Qu o an s um a d et ermin i m a plicamo s es

A função de pertinência empregada é apresentadana fig ura 3:

Teste 2: Imagem de célulasA imagem da figura 4a, trata de um conj unto de

célul as, sendo o objetivo realçar a reg ião dos núcleos.As células apresentam uma região mais claracircundando uma região centra l mais esc ura (seunúcleo), podendo nos levar a concl uir que asegmentação do núcleo pode ser obtida empregando-se uma técnica simples de threshold . Entretant o,analisando a imagem com mais atenção , podemosperceber diversas situações que desestimulam aapli cação dest a técnica, tais como :• As regiões dos núcleos são , em média, maisescuras. Mas algumas destas possuem pontos -comintensidad e próxima ou até mesmo superior àintensid ade média do resto da imagem,

• O contra ste dos tons de cinza dos núcleos emrelação ao resto da imagem não é bem definido emboa parte da mesma . Além disto, ex istem pontosescuros , de baix a intensidade, que não constituemuma região de núcleo;

• Existem núcleos com intensidade de nível decinza próxima a regiões ex ternas a eles, o quedificult a a segmentação.

Desta forma, com o uso de uma única técnica nãose ria possível a detecção dos núcleos, pois es tases tarão buscando apenas uma carac terística. De outromodo, podemos aproveit ar a informação espec tra l dediversos filtros e com base nas mesmas, decidi r se umdeterminado pixel pertence ou a um núcleo ou ao restoda imagem. Ou seja, devemos tratar um pixel comopertencente a dua s classes distint as: núcleo e fundo daimagem.

Mapearemos os pixels pertencentes ao núcleo aum nível de cinza baixo e os pixels pertencentes aofundo a um nível de cinza elevado. O resultado pod ese r visto na figura 4b .

em (a )imagem

(b)onde(b) a

4 - Testes e ResultadosTeste 1: Imagem médica de uma angiografiacoronariana

Na figura 2 podemos obse rvar o resultado de seaplicar a técnica para ressaltar det alhe s de umaimagem médi ca (angiografia coronarian a), onde oobj etivo é dest acar fronteiras entre regiões . Emespecial, busca-se uma fronteira melhor definida, j áque a mesma não é evidente na figura 2a. Na figura 2bobservamos o resultado do processamento onde ospontos preto s indicam a ausência de regras para tratares te tipo de situação.

Todo o ambiente foi desenvol vido em linguagemC, modificando-se o sistema aprese ntado por [8][9],adaptando-o para trabalhar com três variáveis deentrada (res ultados das convo luções) e uma variáve lde sa ída (novo valor do pixel)

o resultado obtido indic a que a parte superioresquerda da reg ião clara foi suprimida. Isto se deve aoconjunto de regras empregado. Obs ervamos tambémque foi obtida uma melhor defini ção da fronteira entreas partes clara e escura da imagem. Para esta imagemem específico , o fato de não havermos proc essadodeterminados pixels não necessariamente represe ntaum agravante . Caso queiramos binarir á-Ia essespontos se rão associados ao nível de cinza O.

(a)figu ra 2 - Imagem corona rianaap resentamos sua original e emprocessada.

Pert inência

f igura 3 · - Funcões de pe rtinência empregadas noprocessam ento da imagem apresentada na figura 2a,onde os mnemônicos são : P = Pequeno , M = Méd io.G =Grande?UD =Univ erso de Discurso.

o 127 255

G

UD

(a) (b)figura 4 - Imagem de célu las. Em (a) temos a imagemoriginal e em (b) a imagem processada.

A título de comparação, vamos tomar umasegmentação realizada sobre a imagem da figura 4a ,onde se empregou uma técnica da morfologiamatemática denominada watershed . Um possívelresul tado da aplicação da mesma I pode se r observado

ICabe ressaltar que esse resultado ainda pode ser melhorado, masnosso obje tivo é comp arar o poder de tratamento obtido peloprocessamento nebuloso.

90

Page 4: Uma Aplicação de Sistemas Nebulosos em Processamento de I s · ' u s ode tas distint op o important eé s er como e mpregáIas a te . Qu o an s um a d et ermin i m a plicamo s es

na figura 5b . Observe que a técn ica nebul osa , quegerou a figura 4b, proporcionou bons resultados nasegmentação dos núcleos. En tre tanto, houveproblemas de excesso de segm entação, onde algumasregiões foram segmentadas erroneamente . Podemoscontornar essa si tuação aj ustando-se melhor o limiarde decisão entre as regiões núcleo/fu ndo . Na figura 5observamos o res ultado das duas tén icas onde sesobrepôs à imagem or iginal o co ntorno dos núcleosde tectados. A figura 5a foi obti da a par tir da imagem. da figura 4b rea lizando-se primeiramente umadetecção de bordas seguida de um processo debinarização, . Posteriormente , a imagem binária foisobreposta à imagem original produzindo cornoresultado a imagem da figura 5a. Podemos observarque o sistema baseado em regras se mostrou maissensível que a técnica de watershed, de tectando quasea totalidade dos núcleos, assim corno pequenas regiõesque não poderiam ser cla ssificadas corno tal.

Histog' .tma da. Ir. l. c l.t.us1000

.00

BOO

700

60011.

500

400 n ," ,\ / i '\),

300J \

20 0Jf -x. \ \JII\ It100 "\J -,

O 50 100 \ 150 200 250 O

Isolante Cobre Furofigura 7 - Histogramas: classes isolante, cobre, e furo.

o objetivo neste caso é criar uma segund aimagem , segmen tada, que aprese nte o mapeamen todado aba ixo (com uma pequena taxa de erro):

pixel E classe cobre nível de ci nza O;pixel E classe iso lante nível de c inza 127;pixel E classe furos nível de cin za 255.

" •• e •.. • el. • •• • ••,• .'• • •c(" • • •• • • • ••, •• •• • •., • • · •,:e;

j •

Urna das maneiras de fazé- lo (forma clássica), éempregando um classificador bayesiano [10]. Assim,na figura 8 observamos o resu ltado de umclassificador deste tipo, proj etado com base noshistogramas de cada.classe.

A seguir, a figura 9a foi obtida através doprocessamento nebuloso sob re a imagem da figura 6,onde o objetivo foi gerar urna nova imagem contendoas três classes de tal forma que es tas apareçam maisevidenciadas. Em seguida, a imagem foi reduzi da auma outra com a presença de apenas três tons de cinza,pela aplicação de limiares de decisão simples. Oresultado pode ser visto na figura 9b.

figu ra 8 ' Imagem fin al gerada pelo resu ltado daaplicação de um classificador bayes iano.

Teste 3: Imagens de Placas de Circuito ImpressoA imagem da figura 6 se refere a urna placa de

circuito impresso, onde pode-se observar três classesdis tintas: classe dos furos , classe do cobre e classe doisolan te . Essà' imagem, apesar de bem contrastada,apresenta pixels de classes disti ntas cujos valores deseus tons de ci nza se confundemD histograma ob tidopara as três classes pode ser visto na figura 7, onde seobserva a sobrepos ição das classes. Ou seja, não épossível decid ir po r uma classe sem que seja cometidoa lguma percentagem de erro de decisão (ainda quemínimo) .

(a) (b)figura 5 - Em (a) processamento nebuloso e em (b)processamento pe la transformação de waterhed.

figura 6 - Placa de circuito impresso.

(a) (p)figura 9 - Em (a) temos a imagem processada e em (b)o resultado do mapeamento sobre (a).

91

Page 5: Uma Aplicação de Sistemas Nebulosos em Processamento de I s · ' u s ode tas distint op o important eé s er como e mpregáIas a te . Qu o an s um a d et ermin i m a plicamo s es

Inicialmente, foram feitos testes com funções depertinências dadas pela figura 3, mas os resultadosobtidos não foram bons pois a granulosidade dasmesmas não permitia que se conseguisse distinguir asclasses cobre e isolante. Por isto , decidiu-se por umagranulosidade mais fina, escolhendo-se funções depertinência igualmente espaçadas e que se cruzavamem um valor de pertinência = 0,5. As novas funções depertinência podem ser vistas na figura 10, onde:

transformando o processo praticamente ' em uma fasede segmentação.

A figura I I se refere a imagem de uma outraplaca de circuito impresso, onde se testou oclassificador bayesiano projetado para a imagem dafigura 6. Observe que o resultado da segmentação,figura 11b, falha justamente nos pontos onde a parteisolante aparece mais clara que o normal. Esses pontossão classificados erroneamente como pertencentes àclasse dos furos.

I = Inferior; PePequeno; M = Médio;G = Grande; SeSuperior: UD=Universo de Discurso

O teste a seguir foi realizado no intuito de seavaliar a adaptação de um conjunto de regras,elaborado especificamente para uma imagem. Asregras utilizadas no processamento da figura 6 forammantidas para processar um caso similar, ilustradopela figura 13a. O resultado pode ser avaliado nafigura 13b onde se observa que o mapeamento obtidofoi bastante satisfatório. As regras levantadasinicialmente se mostraram robustas para esta novasituação, apresentando melhores resultados que atécnica paramétrica bayesiana (figura II b). Entretanto,cabe ressaltar que o exemplo apresentado na figura 6possui um maior grau de complexidade já que a

Sobre a imagem apresentada na figura I I a foitestado um grupo de regras específico, cujo oresultado pode ser visto na imagem da figura 12a. Nafigura 12b temos a imagem resultante com três níveisde cinza apenas .

(a) (b)figura 11 - Em (a) temos uma imagem de uma novaplaca de circuito impresso e em (b) o resultado daclassificação empregando-se o classificadorbayesiano anterior.

figura 12 Em (a) temos o resultado doprocessamento nebuloso sobre a imagem da figuralIa e em (b) a imagem segmentada.

sGMPertinência

P

O 127 255 UDfigura 10 - Funções de pertinência empregadas nasimagens de placa de circuito impresso.

No teste da figura 9, a maior parte das regras foiusada para fazer o mapeamento da parte isolante.Observando o histograma da imagem inicial, vemos.que a parte isolante se confunde com as outras duas' classes, principalmente com a classe dos furos (quevarre quase toda a extensão dos níveis de cinza, apesardo pico alto e estreito perto do valor 255). Isto fazcom que tenhamos uma maior quantidade de erro naseparação entre as classes furo e isolante. Grande partedas regras empregadas tem justamente a função detentar decidir entre essas duas classes.

Comparando-se o resultado obtido na figura 9bcom o obtido pelo classificador bayesiano (figura 8),observamos que a detecção da classe furos é maiseficiente usando-se um classificador bayesiano.Entretanto, a detecção da classe dos filetes de cobreapresentou 'melhores resultados processando-se comregras. Os pontos pretos que contornam os filetes nafigura 9a indicam que não houve o casamento deregras. Poderíamos continuar adicionando regras a fimde eliminar este tipo de situação. No entanto, optamospor mantê-los na imagem, já que como possuem nívelde cinza O, os mesmos foram classificados comofiletes . Cabe ressaltar que a técnica nebulosa foirealizada sem a estimação de parâmetros da imagem, oque contrasta com a técnica bayesiana empregada(paramétrica) . Para melhores resultados poderíamossintonizar convenientemente as funções de pertinênciaaproveitando inclusive a informação paramétrica doshistogramas de cada classe.

Nas regras utilizadas empregou-se apenas trêsc(,msequentes dos cinco possíveis. Com isto, desejou-se gerar uma segunda imagem onde existam poucostons de cinza, em comparação com a primeira,

92

Page 6: Uma Aplicação de Sistemas Nebulosos em Processamento de I s · ' u s ode tas distint op o important eé s er como e mpregáIas a te . Qu o an s um a d et ermin i m a plicamo s es

--- --- - - - --

distribuição de tons de cinza entre as classes cobre eisolante são próximas.

(a) (b)figura /3 - Em (a) temos a imagem dada pela figura/ l a processada pelo banco de regras desenvolvidopara afigura 6. Em (b) temos a imagem segmentada.

É interessante observar que um sistema nebuloso,feito com estes propósitos, se assemelha a umclassificador bayesiano. Cada regra mede o casamentode variáveis de entrada com o conhecimentoarmazenado previamente. Em ambas as técnicas,pondera-se as variáveis de entrada de acordo comalgum tipo de "conhecimento à priori". O número declasses a serem reconhecidas especifica a quantidadede valores linguísticos que aparecerão nosconsequentes das regras. Assim, as regras agruparãocaracterísticas próximas, reali zando de certa formauma segmentação. Da mesma forma que podemosinserir medidas de similaridades, podemos colocarregras para agrupar características não similares.

5 - ConclusõesNeste trabalho foi proposto um sistema nebulosodesenvolvido especificamente para o processamentode imagens. O sistema se mostrou útil em processarimagens que apresentam tanto um baixo como um altocontraste em seus níveis de cinza, como pôde sercomprovado pelos exemplos apresentados. Isto foipossível porque o uso de regras permitiu ummapeamento não linear entre a imagem de entrada e aimagem de saída. É interessante notar que foramempregadas técnicas simples de processamento deimagens, representadas por operadores de convoluçãoespacial.

Entretanto , para atingir os resultados desejados,deve-se escolher convenientemente os tipos dos' filtrosa serem utilizados. Á/ sintonia dos mesmos tambémdeve ser observada para que sua aplicação não forneçaresultados indesejáveis. Desta forma, tem-se filtrosespecializados em determinadas faixas espectrais e ouso de regras privilegia uma ou outra conforme oprocessamento pretendido.

Com regras nebulosas imprimimos às etapas defiltragem/segmentação uma forma mais conectada coma maneira que queremos que se efetue a operação(avaliamos linguisticamente uma região e decidimos sea mesma deve ser realçada ou não, por exemplo).

Podemos dizer que realizamos as etapas de filtragem esegmentação de forma inteligente.

6 - Bibliografia[I] R. C. Gonzalez, R. E. Woods, "Digital ImageProcessing", Addison-Wesley, 1993.[2] C. Y. Tyan, P. P . Wang, "Image Processing -Enhancement, Filtering and Edge Detection UsingFuzzy Logic Approach", Proc. Sec o Int'l Conf. FuzzySystems, vol. I, pp. 600-605, San Francisco, 1993.[3] C. Tao, W. E. Thompson, "A Fuzzy If-ThenApproach to Edge Detection", Proc. Seco Int'l Conf.Fuzzy Systems, vol. 11, pp. 1356-1360 San Francisco,1993.[4] T. Law, H. Itoh, H. Seki, "Image Filtering, EdgeDetection, and Edge Tracing Unsing FuzzyReasoning" IEEE PAMI, vol. 18, no. 5, May 1996.[5] B. Kosko, "Neural Networks and FuzzySystems", Prentice Hall, 1992.[6] W. Pedrycz, F. Gomide, "Sistemas Nebulosos",UNICAMP, 1996 .[7] J. M. Mendel, "Fuzzy Logic Systems forEngineering: A Tutorial" Proceedings of the IEEE,vol. 83, n. 3, March 1995[8] G. Viot, "Fuzzy Logic in C", Dr. Dobb's Journal,February, 1993[9] J. A. R. Tucker, P. Fraley, L. P. Swanson, "FuzzyLogic in C: An Update", Dr. Dobb's Journal, April,1994[10] R. O. Duda, P. E. ' Hart, "Pattern Classificationand Scene Analysis" John Willey & Sons, 1973

93


Top Related