Você está na página 1de 76

1

UNIVERSIDADE DO ESTADO DO AMAZONAS ESCOLA SUPERIOR DE TECNOLOGIA CURSO ENGENHARIA MECATRNICA

ALUNA: NAIALLEN CAROLYNE RODRIGUES LIMA

DESENVOLVIMENTO DE SISTEMA DE VISO COMPUTACIONAL IDENTIFICADOR DE CORES E CDULAS DE DINHEIRO PARA AUXLIO DEFICIENES VISUAIS.

Manaus-AM, 2011

NAIALLEN CAROLYNE RODRIGUES LIMA

DESENVOLVIMENTO DE SISTEMA DE VISO COMPUTACIONAL IDENTIFICADOR DE CORES E CDULAS DE DINHEIRO PARA AUXLIO DEFICIENES VISUAIS.

Trabalho final apresentado ao curso de Engenharia Mecatrnica da

Universidade do Estado do Amazonas como requisito para obteno de grau de Engenheiro Mecatrnico.

ORIENTADOR: Prof. Dr. Jozias Parente de Oliveira

Manaus-AM Novembro/2011

DEDICATRIA

Dedico este trabalho in memoriam de Ilza Rodrigues Lima, por ser exemplo de fora, honestidade e perseverana.

AGRADECIMENTO

minha famlia, em especial a minha me Lucineide e aos meus irmos Erick e Larissa, e minha av Marlene por toda fora e amor. Agradeo tambm as minhas tias e tios pelo incentivo e apoio no meu processo de formao. Agradeo a meus amigos que me acompanharam durante esses cinco anos, aos fundadores do grupo GEAR, em especial a Las e Josilene pela amizade e companheirismo. Ao meu orientador Jozias Parente pelo incentivo, pacincia, dedicao, prestatividade e encorajamento ao longo deste trabalho. Ao meu noivo Diego pela amizade, apoio e imprescindvel companhia mesmo a distncia. Obrigada por ter tornado esse trajeto mais fcil.

NAIALLEN CAROLYNE RODRIGUES LIMA

DESENVOLVIMENTO DE SISTEMA DE VISO COMPUTACIONAL IDENTIFICADOR DE CORES E CDULAS DE DINHEIRO PARA AUXLIO DEFICIENES VISUAIS.

Trabalho de Concluso de Curso desenvolvido durante a disciplina de Trabalho de Concluso de Curso II, apresentado na Universidade do Estado do Amazonas - UEA sob orientao do Dr. Jozias Parente, como pr-requisito para a obteno do ttulo de Engenheiro Mecatrnico.

Aprovada em _____/_____/_____.

rea de concentrao: Engenharia Mecatrnica

BANCA EXAMINADORA

_________________________________ Orientador: Jozias Parente, Dr.

_________________________________ Avaliador: Almir Kimura Jr., Msc.

________________________________ Avaliador: Claodionor Ramos, Eng.

RESUMO

O sistema de viso desempenha um importante papel no sensoriamento humano, principalmente por se tratar do sentido de maior alcance e riqueza de detalhes, sendo responsvel por grande parte das informaes recebidas do mundo exterior, assim sua perda influi em todos os aspectos da vida, pois o mundo exterior extremamente visual, isto , as sinalizaes de transito ou placas de aviso, propagandas, etc.. Por esse motivo, o que se props com nesse trabalho foi desenvolver um sistema que amenizasse a dificuldade de percepo dos deficientes visuais. Para tanto, nesse trabalho objetivou-se o desenvolvimento de um sistema de viso computacional que simulasse uma das muitas funcionalidades do sistema de viso humano: a identificao de cores e identificao de padres. Para tanto, utilizou-se um sensor especfico para a aquisio das imagens que seriam processadas: O CCD que funciona como as clulas humanas de interpretao de cromaticidade que so os cones, aliados aos bastonetes que agem na interpretao da luminosidade. A partir disso, esses sinais vo para placa de captura que os converte nos trs caches de cores, o RGB, ento esse sinal de vdeo processado pelo sistema e a esse processamento permitir que outros sentidos, no caso deste trabalho a audio, faam a interpretao que seria funo da viso. Como resultado obteve-se um sistema capaz de reconhecer as cores primrias e secundrias e cdulas de real, com taxas de acerto competitivas, principalmente dentro do ambiente com luminosidade controlada.

Palavras Chaves: Viso Computacional, Processamento Digital de imagem, Sistema de viso humano e Cor

ABSTRACT

The vision system plays an important role in human sensing, mainly because it is the sense of greater scope and detail, accounting for much of the information received from the outside world, so its loss affects all aspects of life, for the outside world is extremely visual, ie, transit signs or warning signs, advertisements, etcTherefore, what

is proposed in this workwas to develop a system that eases the difficulty of perception of the visually impaired. To this end, this work aimed to develop a computer vision system that simulated one of the many features of human vision system: the identification of colors and pattern recognition. For this purpose, we used a specific sensor for the acquisition of images that would be processed: The CCD acts as the interpretation of human cells that are

the chromaticity cones, combined with the rods that act in the interpretation of light. From there, go to these signals capture card that converts the three cannon color and RGB, allow

then the video

signal is

processed

by the processing system

other senses, hearing the case of this work, make the interpretation that would be a function of vision. As a result we obtained a system able to recognize the primary and secondary colors and bills of right, with accuracy rates competitive, especially in the light-

controlled environment.

Key-Words: Computer Vision, Digital Image Processing, System Human Vision and Color

LISTA DE FIGURAS: Figura 1 - Vista em corte do olho humano. Fonte: PRATT, W. K ., 2007.............................. 17 Figura 2 - Parmetros fundamentais para denio de um sistema ptico. Fonte: Optics and Optical Instruments Catalog. ................................................................................................... 21 Figura 3 - Metodologia sistemtica para o projeto de um sistema de viso. Fonte: DESCHAMPS. F., 2004 ........................................................................................................... 22 Figura 4 - Aquisio de imagens com a refletncia e ilimunncia. .......................................... 23 Figura 5 - Etapas do processamento digital de imagens. Fonte: OLIVEIRA, J. P., 2009 ........ 26 Figura 6 - Bailarina a) Imagem Original. b) Imagem Dilatada. ............................................... 28 Figura 7 - Bailarina a) Imagem Original. b) Imagem Erodida. ................................................ 30 Figura 8 - a) Imagem Original com rudo. b) Imagem com filtragem por abertura. ................ 31 Figura 9 - Comprimento de onda. Fonte: Ramos, 2008. .......................................................... 32 Figura 10 - Dilatao morfolgica de uma imagem binria. Fonte: GATTASS, M., 2002. .... 33 Figura 11 - Modelo de Viso colorida. Fonte: PRATT, W. K., 2007. ..................................... 34 Figura 12 - de Viso colorida. Fonte: GONZALES, R. C.; WOODS, R. E.; EDDINS, S. L., 2004. ......................................................................................................................................... 36 Figura 13 - Cubo RGB. Fonte: Image Processing Toolbox Matlab. ........................................ 36 Figura 14 - Ovos a) Original. b) Operador Roberts. c) Operador Prewitt. d) Operador Sobel. 41 Figura 15 - Etapas de um sistema de reconhecimento de padres. .......................................... 42 Figura 16 - Fluxograma do sistema proposto Deteco de cdulas. ..................................... 44 Figura 17 - Sensor CCD. .......................................................................................................... 45 Figura 18 - Sistema criado para obter um ambiente controlado. .............................................. 45 Figura 19 - Incidncia da luminosidade sobre o objeto de estudo............................................ 46 Figura 20 - Esquema do sensor CCD utilizado. ....................................................................... 46 Figura 21 - Digitalizao da imagem. ...................................................................................... 47 Figura 22 - Imagem no espao RGB original e respectivos histogramas. b) Imagem no espao YCbCr....................................................................................................................................... 48 Figura 23 - Imagem no espao RGB com adicional de 15 unidades de brilho e respectivos histogramas. b) Imagem no espao YCbCr. ............................................................................. 49 Figura 24 - Imagem no espao RGB com adicional de 30 unidades de brilho e respectivos histogramas. b) Imagem no espao YCbCr. ............................................................................. 49 Figura 25 - Imagem Original e Histogramas do espao YCbCr............................................... 50 Figura 26 - Imagem com variao de -30 unidades de brilho e Histogramas do espao YCbCr. .................................................................................................................................................. 50 Figura 27 - Imagem com variao de +30 unidades de brilho e Histogramas do espao YCbCr....................................................................................................................................... 50 Figura 28 Folhas. a) Original b) Filtro Box como matriz 56x56........................................... 56 Figura 29-Cdula de cinco reais. a)Original. b) com filtro Box 7x7 ........................................ 57 Figura 30 - Deteco de bordas. a) Mtodo Sobel. b) Mtodo Roberts. c) Mtodo Canny. .... 58 Figura 31 Pixels da imagem limiarizada. .............................................................................. 60 Figura 32-Definio da regio de interesse .............................................................................. 61 Figura 33-a) Operador Roberts. b) Operador Canny. c) Operador Sobel ................................. 65

LISTA DE TABELAS: Tabela 1 - Comparao entre o Sistema de Viso Humano e o Sistema de viso Computacional. Fonte: MARQUES FILHO, O.; VIEIRA NETO, H.,1999. ........................... 19 Tabela 2 - Exemplos de Iluminncia. ....................................................................................... 23 Tabela 3 - Exemplos de Refletncia. ........................................................................................ 23 Tabela 4 - Operadores utilizados para estimar a amplitude do gradiente atravs de uma borda. .................................................................................................................................................. 40 Tabela 5 - Quantizao do espao de cor RGB. ....................................................................... 51 Tabela 6 - Quantizao do espao de cor YCbCr. .................................................................... 51 Tabela 7 - Paleta VGA.............................................................................................................. 52 Tabela 8 - Converso dos espaos RGB para YCbCr. ............................................................. 53 Tabela 9 - Limite inferior e superior de cada cor - Terico ..................................................... 55 Tabela 10 - Limiares das cdulas. ............................................................................................ 59 Tabela 11 Estatsticas da crominancia Cb..............................................................................63 Tabela 12 - Estatsticas da crminancia Cr...............................................................................63 Tabela 13Limite Superior e Inferior de cada cor - Real ......................................................... 64 Tabela 14-Anlise dos tempos de processamento de cada operador ........................................ 65 Tabela 15 - Comparao entre os operadores mais utilizados de deteco de bodas. Constatados empiricamente. ..................................................................................................... 66 Tabela 16 - Posies nas quais o programa faz a deteco de cdula. ..................................... 66

SUMRIO

1.

INTRODUO ............................................................................................................................ 13 1.1. 1.2. 1.3. 1.4. SITUAO PROBLEMTICA........................................................................................... 13 MOTIVAO ...................................................................................................................... 13 JUSTIFICATIVA .................................................................................................................. 13 OBJETIVOS ......................................................................................................................... 14 Objetivo Geral ............................................................................................................... 14 Objetivos Especficos .................................................................................................... 14

1.4.1. 1.4.2. 1.5. 2.

ORGANIZAO DA MONOGRAFIA ............................................................................... 15

VISO COMPUTACIONAL ....................................................................................................... 16 2.1. PROPRIEDADES FSICAS DA VISO ............................................................................. 16 Percepo da Luz .......................................................................................................... 16 Fisiologia dos Olhos ...................................................................................................... 17

2.1.1. 2.1.2. 2.2.

SISTEMA ARTIFICIAL DE VISO ................................................................................... 18 Parmetros, Estrutura e Metodologia da Viso Computacional .................................... 20

2.2.1. 2.3.

PROCESSAMENTO DIGITAL DE IMAGEM ................................................................... 22 Fases do Processamento de Imagem ............................................................................. 25 Operadores Moforlgicos .............................................................................................. 26 Processamento de Imagens Coloridas ........................................................................... 31 Filtragem, Realce e Suavizao de Imagens no domnio espacial ................................ 38 Segmentao das imagens ............................................................................................. 39 Extrao de Caracterstica ............................................................................................. 41 Reconhecimento de Padres .......................................................................................... 41

2.3.1. 2.3.2. 2.3.3. 2.3.4. 2.3.5. 2.3.6. 2.3.7.

3. MTODO PROPOSTO PARA EXTRAO DE CARACTERSTICA E CLASSIFICAO DE IMAGENS............................................................................................................................................. 43 3.1. 3.3. 3.4. 3.5. 3.6. 3.7. 3.8. 4. ARQUITETURA DO PROJETO.............................................................................................. 43 SISTEMA DE ILUMINAO E AQUISIO DE IMAGENS ......................................... 46 DEFINIO DO ESPAO DE COR ................................................................................... 48 VALORES NUMRICOS DAS CORES NO ESPAO RGB E YCBCR ........................... 52 DETERMINAO DOS LIMITES DE DETECO DE CADA COR ............................. 53 DEFINIO DOS FILTROS UTILIZADOS ...................................................................... 55 SEGMENTAO DA IMAGEM DETECO DE BORDAS........................................ 57

RESULTADOS E DISCURSES ................................................................................................ 62

10

5. 6.

CONCLUSES ............................................................................................................................. 67 REFERNCIAS BIBLIOGRFICAS .......................................................................................... 68

13

1. INTRODUO

Nem todos os animais dependem tanto da viso para sua orientao como os homens, pois apesar destes apresentarem cinco sistemas de sensoriamento viso, audio, olfato, gustao e tato eles dependem e confiam excessivamente na sua viso, por ser o sentido que fornece o maior nmero de informaes necessrias para a interpretao do mundo exterior (DAVIES, E. R., 2005). Por isso, h um grande esforo em desenvolver sistemas que imitem o sistema de viso humano. Esse esforo cada vez mais perceptvel medida que o poder de processamento dos computadores cresce, permitindo a cincia crescer em paralelo, j que as informaes digitais para organizar e processar padres brutos podem ser armazenadas em quantidades bem superiores se comparadas s de alguns anos atrs. O Sistema de Viso Humano (SVH) funciona como um sistema semelhante a um computador com grande capacidade de processamento e reconhecimento de dados sensoriais cujo processador o crebro humano. Nesse contexto, comparando as arquiteturas de hardware atuais com o SHV, notam que os computadores atuais so extremamente eficientes para trabalhar com base de dados e clculos numricos e acoplando-se a essa caracterstica dispositivos dedicados aquisio de tratamentos de imagens, se dispem uma faixa de viso que cobre quase todo o espectro eletromagntico, variando de raios gama at as ondas de rdio, ao contrrio dos humanos cuja faixa visual est limitada no que diz respeito a esses espectros eletromagnticos. Em contrapartida os computadores no conseguem desempenhar eficientemente algumas tarefas simples realizadas por animais e seres-humanos, como por exemplo, o processo de reconhecimento de uma pessoa, que uma atividade corriqueira, porm uma anlise detalhada mostra que o crebro humano capaz, a partir de uma grande quantidade de informaes de luminncia e crominncia medidas que dizem respeito ao

13

brilho e cores, respectivamente, de cada pixel (Picture elements) de uma imagem de realizar esta tarefa de reconhecimento em apenas 150ms. Sendo assim, nesse trabalho, busca-se criar uma arquitetura capaz de emular SVH. No entanto no se pretende alcanar todas as situaes que este capaz de processar, j que esse extremamente desenvolvido e complexo. Esse trabalho se restringe na soluo de um problema especfico: o reconhecimento de cores e formas especficas. Dessa forma pretendese facilitar o trabalho, pois assim podem-se controlar alguns parmetros que um sistema de viso normal no tem acesso.

1.1.

SITUAO PROBLEMTICA

Dificuldade dos deficientes visuais em identificar cores e cdulas de dinheiro.

1.2.

MOTIVAO

Criar um sistema com capacidade de tornar mais fcil a vida de quem no consegue enxergar. O presente trabalho visa estudar as principais tcnicas de identificao de cores e gerar um mtodo que origine uma melhor extrao de caracterstica para a aquisio de dados de cores e cdula de dinheiro.

1.3.

JUSTIFICATIVA

Segundo os resultados obtidos pelo Censo 2000 temos no Brasil aproximadamente 24,6 milhes de pessoas, ou seja, 14,5% da populao total, que apresentam algum tipo de incapacidade ou deficincia. Desse total 16,6 milhes apresentam algum grau de deficincia visual e quase 150 mil se declararam cegos. Utilizando-se desses dados, surge uma preocupao por parte da sociedade em geral: melhorar a qualidade de vida das pessoas com necessidades especiais. Um ponto interessante para se tratar essa problemtica trabalhar em cima das potencialidades dos indivduos, como por exemplo, a maneira inigualvel do desenvolvimento do tato e audio. No entanto, h

14

dificuldades que no so superadas por esses sentidos, exemplo disso a percepo de cores, o ato de mensurar se um objeto est longe ou perto entre outras dificuldades. Valendo-se de uma dessas dificuldades o projeto ora proposto tem por meta acoplar em si um sistema para duas finalidades: identificar cores e cdulas de dinheiro. A identificao das cores para um portador de deficincia visual pode ser aplicada em situaes do dia a dia, como por exemplo, para identificar caixas de remdio etiquetadas por cores. Dessa forma, o paciente saber identificar o remdio correto a ser tomado. Outra situao seria no aspecto visual, o usurio poderia realizar combinaes de roupas com cores diferenciadas, sem a necessidade da ajuda de terceiros.

1.4.

OBJETIVOS

1.4.1. Objetivo Geral

Desenvolver um sistema no MATLAB para o reconhecimento de cores de objetos ou cdulas de dinheiro, acoplando a esse, campainhas de auxlio ou um sistema de alarme, de forma que a identificao se dar ao usurio por sinais audveis.

1.4.2. Objetivos Especficos

a)

Descrever as tcnicas de processamento digital de imagem utilizada na

elaborao do algoritmo de auxlio s deficientes visuais; b) Desenvolver aplicaes de processamento de vdeo utilizando a

ferramenta MATLAB; c) Analisar os sistemas de cores (RGB, YCbCr) quanto dependncia as

variaes de luminosidade. d) e) f) Definir o sistema de cores para o projeto. Definir algoritmo e melhores mtodos para processamento de cores Definir algoritmo e melhores mtodos para deteco de borda.

15

g)

Utilizar cmeras com sensor CCD (Charge Coupled Device) e acoplar

ao sistema alarmes sonoros de forma que a identificao das cores e cdulas se daro por um cdigo de sinais audveis.

1.5.

ORGANIZAO DA MONOGRAFIA

No Captulo 2 so apresentados alguns conceitos bsicos sobre o Sistema Artificial de Viso (SAV), seu comportamento limitaes e principais parmetros para aquisio de uma boa imagem e processamento. So descritos tambm os mtodos aquisio em tratamento de imagens coloridas, seus espaos e segmentaes, alm do reconhecimento de padres utilizados e suas principais variaes. As tcnicas apresentadas foram utilizadas para compor o mtodo proposto ou para comparar os resultados obtidos. No Captulo 3 proposta a arquitetura de reconhecimento da matriz de cores de uma imagem, nesse capitulo so ilustrados os passos para a construo do sistema de reconhecimento de cores e cdulas de dinheiro. Alm disso, a metodologia utilizada descrita e em seguida so apresentados os resultados obtidos. So descritas ainda as bases de dados utilizadas neste trabalho, bem como o esquema de validao e a forma utilizada para avaliar o desempenho dos sistemas descritos. As simulaes indicam que os resultados obtidos so satisfatrios. Por fim, no Captulo 4 so feitas as consideraes finais sobre os resultados obtidos alm de apresentar perspectivas para trabalhos. E no captulo 5 tm-se as concluses a cerca do trabalho explanado e sugestes de trabalhos futuros.

16

2. VISO COMPUTACIONAL

2.1.

PROPRIEDADES FSICAS DA VISO

2.1.1. Percepo da Luz

A luz conhecida como uma forma de radiao eletromagntica que est disposta em uma regio relativamente estreita do espectro eletromagntico compreende uma banda de comprimento de onda de cerca de 350 a 780 nm (nanmetros), mas os mecanismos pelos quais a luz interage com os rgos no so to bem compreendidos. A Luz pode ser caracterizada como Refletida (r()) por um objeto que a luz que retorna de uma superfcie iluminada ou Transmitida (t()), luz que passa atravs de um objeto e vista do outro lado.
A luz que entra no Sistema de Viso Humano (SVH) se origina de uma fonte de luz refletida de algum objeto. Ento o objeto transmissor, E() representa o espectro da energia de transmisso de luz emitida de uma fonte primria, e t() e r(), denotam respectivamente a transmissividade e comprimento de onda-dependente e refletividade do objeto transmissor. (PRATT, W. K., 2007, pg. 23).

Ento, matematicamente, para um objeto transmissor, a distribuio de luz espectral que pode ser observada pelo o SVH : (1) E a luz refletida : (2)

17

O SHV extremamente influenciado pela intensidade de luz, pois como visto anteriormente, a luz que percebemos aquela que refletida de algum objeto, portanto mudanas de iluminao, ngulos de iluminao influenciam na refletncia da luz.

2.1.2. Fisiologia dos Olhos

A figura 1 mostra um corte horizontal do olho humano. O globo ocular tem formato aproximadamente esfrico e um dimetro de cerca de 20 mm. Ele envolvido por trs membranas: a camada externa formada pela crnea, que uma pelcula transparente que cobre a parte anterior do olho, pela esclertica que uma membrana opaca que reveste o globo ocular, a coride, que est situada abaixo da esclertica e a retina, que a camada interna. O que interessante saber como se comporta os mecanismos usados pela viso. Por exemplo, a coride utiliza seu revestimento fortemente pigmentado para reduzir a quantidade de luz que entra nos olhos. Ela dividida em corpo ciliar e diafragma da ris, sendo este ltimo responsvel por controlar a quantidade de luz que deve penetrar no olho. O dimetro da abertura central da ris (pupila) varia entre 2 mm e 8 mm.

Figura 1 - Vista em corte do olho humano. Fonte: PRATT, W. K ., 2007

A membrana mais interna do olho a retina que responsvel pela leitura da imagem, ou seja, quando o olho focaliza uma cena, a imagem correspondente projetada sobre a retina, na qual esto distribudos dois tipos de receptores de luz discretos: os cones e os bastonetes.

18

Os cones so em nmero de 6 a 7 milhes em cada olho e esto localizados na poro central da retina, chamada de fvea. Eles so altamente sensveis a cor e dividemse em nveis de sensibilidade a percepo de comprimentos de onda de espectro luminoso, mais precisamente aos picos situados a 419 nm (azul-violeta), 531 nm (verde) e 559 nm (verde-amarelo). A classificao dos cones em vermelho, verde e azul (RGB Red, Green e Blue) uma simplificao usada por comodidade para tipificar as trs freqncias alvos. (PRATT, W. K., 2007).Todos os tons existentes derivam da combinao dessas trs cores primrias O nmero de bastonetes bem maior que os de cones, cerca de 75 a 150 milhes, distribudos em toda a superfcie da retina. Os bastonetes servem para dar uma viso geral da imagem captada no campo de viso. Eles no distinguem cores, mas so sensveis aos nveis de iluminao. A fvea uma reentrncia circular na retina com aproximadamente 1,5 mm de dimetro. De forma aproximada, podemos consider-la um sensor de rea quadrada de 1,5 mm por 1,5 mm. A densidade de cones nesta rea da retina de aproximadamente 150.000 elementos por mm2. Baseando-se nessas aproximaes, o nmero de cones na regio de maior acuidade do olho de aproximadamente 337.000 elementos. Para efeito comparativo, esta resoluo facilmente alcanada pela tecnologia atual, usando CCD de rea no superior a 7mm x 7mm que um sensor que converte a intensidade da luz em valores digitais armazenveis em bits e bytes.

2.2.

SISTEMA ARTIFICIAL DE VISO

Viso computacional o conjunto de mtodos e tcnicas atravs dos quais sistemas artificiais podem ser capazes de interpretar uma imagem. A interpretao de uma imagem pode ser definida em termos computacionais como um conjunto de dados digitais representados a partir de uma imagem (SCHUMGGE, S. J.; JAYRAM, S.; SHIN, M. C.; TASP, L. V., 2007). O desenvolvimento de um SVC (Sistemas de Viso Computacional) requer uma entrada de dados, isto , imagens que geralmente so obtidos por sensores, cmeras. Essas imagens so processadas e transformadas em uma informao esperada ou requerida.

19

Em linhas gerais seria como fazer um computador enxergar, ou seja, olhar para uma imagem e transformar esse dado em informao til, como o reconhecimento de caractersticas. Porm, comparado ao sistema de viso humano a viso computacional ainda est caminhando a passos curtos nessa vertente da interpretao de sinais. Na tabela 1 podemos verificar as comparaes entre os SHV e o SAV:
Tabela 1 - Comparao entre o Sistema de Viso Humano e o Sistema de viso Computacional. Fonte: MARQUES FILHO, O.; VIEIRA NETO, H.,1999.

SAV Pode operar praticamente todo o Limitado faixa de luz visvel (de espectro de radiaes Espectro 300nm a 700nm) do espectro de eletromagnticas, de raios x a ondas eletromagnticas infravermelho Extremamente flexvel e capaz de se Normalmente inflexvel apresenta Flexibilidade adaptar a diferentes tarefas e bons resultados somente para as condies de trabalho tarefas para a qual foi projetado Pode efetuar medidas exatas baseadas Pode estabelece estimativas na contagem de pixels e, portanto, Habilidade relativamente precisas em assuntos dependentes da resoluo da imagem subjetivos digitalizada Mede objetivamente os valores das Possui capacidade de interpretao Cor componentes R, G e B, para subjetiva de cores determinao de cor Capaz de se adaptar a diferentes Sensvel ao nvel e padro de condies de luminosidade, iluminao, bem como distncia em caractersticas fsicas da superfcie do relao ao objeto e suas Sensibilidade objeto e distncia ao objeto. Limitado caractersticas fsicas. Pode trabalhar na distino de muitos nveis com centenas de tons de cinza, diferentes de cinza, simultaneamente. conforme projeto do digitalizador. Pode executar tarefas 3-D e com Executa tarefas 2-D com relativa mltiplos comprimentos de onda 2-D e 3-D facilidade, mas lento e limitado em (dentro do espectro de luz visvel) tarefas 3-D. facilmente. Percebe variaes de brilho em escala logartmica. A interpretao subjetiva Pode perceber brilho em escala linear Percepo de brilho depende da rea ao redor do ou logartmica objeto considerado. Conforme tabela acima se verifica uma srie de dificuldades relacionadas ao esforo computacional para dotar o computador de uma capacidade visual semelhante dos seres humanos, de forma geral tm-se trs caractersticas do processo de percepo visual humano que so o mais difceis para o SAV imitar (MARQUES FILHO, O. e VIEIRA NETO, H.,1999, pg. 7) : Uma base de dados muito rica; Altssima velocidade de processamento;

SHV

20

A capacidade de trabalhar sob condies muito variadas.

No entanto, os avanos na tecnologia de dispositivos de armazenamento de massa e o surgimento de novas CPUs e arquiteturas computacionais cada vez mais rpidas, com alto grau de paralelismo, induz-se a crer que atualmente se dispe de condies cada vez melhores de modelar as duas primeiras caractersticas relacionadas acima. O grande desafio permanece sendo o de fazer com que os sistemas de viso artificial trabalhem em diferentes condies de luminosidade, contraste, nitidez, etc..

2.2.1. Parmetros, Estrutura e Metodologia da Viso Computacional

Alguns parmetros de um sistema de viso so essenciais para que se possa especificar o hardware de qualquer parte componente do sistema, exercendo normalmente maior influncia sobre a configurao do sistema ptico. Estes parmetros, ilustrados na figura 2, so ditos parmetros fundamentais, sendo necessrio familiarizar-se com os mesmos antes de iniciar um projeto. (DAVIES, E. R., 2005). Os parmetros da viso computacional so: Campo de Viso (Field of Vision FOV): representa a rea visvel do objeto em estudo que incide sobre o sensor, ou seja, a poro do objeto que preenche e sensibiliza a rea do sensor. Distncia de Trabalho (Working Distance WD): representa a distncia da parte frontal das lentes at a superfcie do objeto. Trata-se normalmente de uma faixa de valores (mximo e mnimo). Resoluo (Resolution R): representa a menor poro do objeto em estudo que pode ser distinguida pelo sistema. normalmente visualizada em pares de linha, ou em nmero de pixels, e tambm conhecida pela expresso resoluo espacial. Profundidade de Campo (Depth of Field DOF): representa a maior distncia (em termos de profundidade no campo de viso) que pode ser mantida em foco no objeto em estudo para uma determinada distncia de trabalho. Tambm pode ser vista como a quantidade de movimento permitida ao objeto que ainda conserve foco na rea ou superfcie inspecionada.

21

Tamanho do Sensor (Sensor Size SS): representa o tamanho da rea ativa do sensor, especicada em sua dimenso horizontal. Tamanhos comuns so de 1/4, 1/3, 1/2, 2/3 e 1 polegada.

Figura 2 - Parmetros fundamentais para denio de um sistema ptico. Fonte: Optics and Optical Instruments Catalog.

Levando em considerao os parmetros descritos acima, a figura 3 apresenta uma metodologia sistemtica para o projeto de um sistema de viso do ponto de vista do hardware do sistema. Nessa figura o projeto inicia com as definies de parmetros ditos como fundamentais. Em geral nesta fase j foram adquiridas algumas imagens do objeto de estudo, e pode-se tentar obter solues preliminares para o processamento destas. Na segunda fase a escolha dos sensores de aquisio de imagens realizada, levando-se em conta o tipo de varredura, taxa de aquisio e resoluo necessrias para abordar o caso de teste. O conjunto ptico e de iluminao deve ser ajustados a seguir, para permitir o correto foco e destaque para o objeto em estudo na imagem. Em geral, a escolha desses sistemas feita de maneira paralela pela forte ligao de algumas caractersticas das lentes e de interfaces de suporte, transmisso e processamento de dados, sendo possvel a realizao de testes e a elaborao de uma estratgia mais profunda em relao ao processamento das imagens para extrao das caractersticas desejveis a quantidade de luminosidade que afeta o sistema. Posteriormente h a definio de interface e processos de controle do sistema. Por fim so realizados testes a fim de validar o sistema.

22

Figura 3 - Metodologia sistemtica para o projeto de um sistema de viso. Fonte: DESCHAMPS. F., 2004

2.3.

PROCESSAMENTO DIGITAL DE IMAGEM

O processamento digital de imagem (PDI) um mtodo que consiste na converso de um dado pitoresco em dados numricos ou que converte uma imagem digital em outra a fim de salientar os dados que se quer obter.
Uma imagem uma funo de duas dimenses, f(x,y), onde x e y so coordenadas espaciais e a amplitude f de qualquer par de coordenadas chamada de intensidade ou nvel de cinza da imagem naquele ponto. Quando x, y e a amplitude tm valores finitos, quantidades discretas, ns chamamos essa informao de imagem digital. Sabendo que a imagem digital composta por um nmero de elementos finitos e que cada um desses nmeros tem uma localizao e valor particular, podemos enxergar a imagem digital dividida em pequenas regies chamadas de elementos de imagem ou pixels. (GONZALES, R. C.; WOODS, R. E.; EDDINS, S. L., 2004, pg. 2)

A funo f(x,y) citada acima representa o produto da interao entre a iluminncia i(x,y) (quantidade de luz que incide sobre o objeto) e as propriedades de refletncia ou de transmitncia prprias do objeto, que podem ser representadas pela funo r(x,y), cujo valor exprime a frao de luz incidente que o objeto vai transmitir ou refletir ao ponto (x,y). Essa relao est mostra na figura 4.

23

Figura 4 - Aquisio de imagens com a refletncia e ilimunncia.

Matematicamente essa relao descrita na equao 3:

F(x,y)=i(x,y).r(x,y)
Onde,

(3)

0<i(x,y)< 0<r(x,y)<1
As tabelas 2 e 3 mostram exemplos de nveis de iluminncia (i(x,y)) e refletncias(r(x,y)) de objetos e lugares (MARQUES FILHO, O., VIEIRA NETO, H. 1999):
Tabela 2 - Exemplos de Iluminncia.

i(x, y) 900 100 10 0,001 Dia ensolarado Dia nublado Iluminao mdia de escritrio Noite clara de lua cheia
Tabela 3 - Exemplos de Refletncia.

r(x, y) 0,93 0,8 0,65 0,01 Neve Parede branco-fosca Ao inoxidvel Veludo Preto

Nesse trabalho a intensidade ou amplitude f monocromtica denominada, seguindo os autores aqui abordados, nveis de cinza (G). Esse valor estar sempre em um intervalo

24

finito, cuja definio dos mximos varia de acordo com o nvel de quantizao da imagem (8 bits, 10 bits, etc.):

Gmin< G < Gmx,


Onde, Gmin > 0 e Gmx > 0 Em escala de cinza o padro adotado para um intervalo que vai de [0,W), quando temos G=0 significa que temos um pixel preto e quando G=W-1 temos um pixel branco. Em imagens que tenham mais de uma banda de atuao (imagens coloridas por exemplo), o intervalo para cada banda e o nvel mximo ser a componente da banda (em imagens RGB cada componente ser o mximo da banda, por exemplo, para GR=0, temos um pixel preto, mas para GR=W-1, temos um pixel vermelho). Um ponto importante em trabalhos com PDI que as imagens tm que ser digitalizada. Portanto, quando a representao de uma imagem contnua com suas coordenadas x e y e sua amplitude variando no tempo, tem-se que convert-la em imagem discretizada. Para isso usa-se, segundo SHIH, F. Y (2010), duas vias: as coordenadas e amplitude. Para digitalizar as coordenadas espaciais utiliza-se a amostragem. E para a amplitude ou brilho utilizamos a quantizao. Assim, quando x, y e os valores de amplitudes de f forem todos finitos e discretos, chamamos a imagem de digital. Sendo assim, pode-se interpretar as imagens como sinais cujas sadas so funes numricas, isso facilita o pensamento acerca do processamento digital de imagens, pois se pode visualizar este como um Processamento de Sinais (PDS) discretos, j que se est trabalhando com imagens digitais. Em geral o PDI pode ser caracterizado em quatro tipos (SHIH, F. Y., 2010): 1. Processamento de Pixels: A sada de um pixel depende somente

da entrada daquele pixel, independente das entradas dos outros pixels da imagem. Um desses processos chamado de limiarizao, isto , faz somente a comparao do limiar ou nveis de cinza de cada pixel. Outros exemplos incluem trabalhos com adio e subtrao de brilho, contraste, inverso de imagem, entre outros. 2. Operaes locais: A sada de cada pixel depende do grupo que

rodeia o pixel. Alguns exemplos so deteco de borda, filtros de suavizao, (i.

25

e. filtro de mdias), e filtros de nitidez (utilizando a transformada de Laplace e gradiente). 3. Operaes Geomtricas: O pixel de sada depende somente da

entrada de alguns pixels definidos por transformaes geomtricas. 4. Operaes globais: A sada de um pixel depende de todos os

pixels da imagem. Outros exemplos incluem histogramas de equalizao, deformao de imagens e transformada de Hough.

2.3.1. Fases do Processamento de Imagem

Como foi visto na seo 2.3 as imagens nada mais so que uma forma compacta de representar muitas informaes. Em um sistema de processamento essas imagens podem passar por diversas formas de representao em que cada uma dessas formas se tira informaes importantes para ou sistema ou prepara a imagem para que as informaes sejam retiradas (OLIVEIRA, J. P., 2009). Portanto, as etapas do processamento de imagens descrevem o fluxo destas informaes com um dado objetivo definido pela aplicao. Esse fluxo ou conjunto de informaes so observados conforme a figura 5. A primeira etapa consiste na obteno de uma imagem por meio de dispositivos de aquisio que captura a luz refletida na superfcie dos objetos. Na segunda etapa, a imagem capturada digitalizada. A terceira etapa a fase efetiva de processamento sendo comumente conhecida como pr-processamento e consiste na filtragem de rudos e correo de distores geomtricas causadas pelos sensores do sistema de aquisio (OLIVEIRA, J. P., 2009). As etapas posteriores objetivam a anlise e identificao de objetos. Primeiramente, caractersticas ou atributos das imagens precisam ser extrados, tais como as bordas, texturas, vizinhanas e o movimento. Em seguida, objetos precisam ser separados do plano de fundo, ou seja, necessrio identificar, atravs de um processo de segmentao, regies com caractersticas similares e descontinuidades na imagem. A partir da forma geomtrica dos objetos, resultante da segmentao, pode-se utilizar operadores morfolgicos para analisar e modificar essa forma bem como extrair informaes adicionais do objeto, as quais podem ser teis na sua classificao. A classificao considerada como uma das tarefas de mais alto nvel e tem

26

como objetivo reconhecer, verificar ou inferir a identidade dos objetos a partir das caractersticas e representaes obtidas pelas etapas anteriores do processamento (OLIVEIRA, J. P., 2009).

Figura 5 - Etapas do processamento digital de imagens. Fonte: OLIVEIRA, J. P., 2009

2.3.2. Operadores Moforlgicos

Tcnicas de processamento de imagem tm sido imensamente exploradas e desenvolvidas durante as cinco ltimas dcadas, entre elas a morfologia matemtica vem continuamente recebendo uma grande dose de ateno. Isso porque a morfologia matemtica fornece uma descrio quantitativa da estrutura geomtrica e dados probabilsticos do que est sendo estudado (SHIH, F. Y., 2010, pg. 63). A morfologia matemtica prova ser extremamente til no processamento de imagens e nas suas muitas aplicaes de anlise.
A morfologia matemtica o estudo quantificado da forma e estrutura de conjuntos de pontos (no caso de imagens, conjunto de pixels), cujo principal objetivo revelar

27

a estrutura dos objetos formados pelos pontos atravs da transformao dos conjuntos que os modelam. (CARDOSO, 1999).

Em funo da estreita relao da morfologia matemtica com a forma, torna-se natural aplic-la como tcnica de processamento de imagens. Para desenvolver uma morfologia matemtica, deve-se analisar a geometria das formas e texturas de uma imagem, isto tem-se que analisar o conjunto de pixels dessa imagem. Os operadores morfolgicos trabalham com duas imagens. A imagem a ser processada definida como Imagem Ativa e a imagem que recebeu o comando de processamento chamada de Elemento Estruturante (ES) (SHIH, F. Y., 2010). O elemento estruturante uma forma projetada da imagem ativa, e essa pode ser modificada de acordo com a aplicao dos operadores morfolgicos. Essa modificao acontece quando o o ES coincide com alguma estrutura da imagem, ento uma determinada transformao realizada ou no, dependendo do operador aplicado. Logo, a forma e o tamanho do ES devem ser adaptados s propriedades geomtricas dos objetos que sero estudados na imagem (ALVARENGA, A. V.; INFANTOSI, A. F. C.; AZEVEDO, C. M. de; PEREIRA, W. C. de A., 2003) As operaes elementares da morfologia matemtica so a dilatao e eroso, que podem ser postas em convolao para a produo de outras operaes tais como Abertura e Fechamento.

2.3.2.1.

Dilatao

A dilatao a combinao de dois vetores atravs da adio vetorial dos elementos constantes. Seja A e B dois vetores onde, A=[a1, a2, a3, ..., an] e B=[b1, b2, b3, ..., bn] pertencente ao espao EN, sendo a e b as coordenadas do elemento. A dilatao para qualquer par de coordenadas o conjunto de todos os valores mximos. Segundo SHIH, F. Y. (2010) h duas definies para a dilatao: Definio 1: Para A definida por: (4) EN e o vetor B EN a translao de A por B, denominada (A)b

28

Definio 2: Para A e B por:

EN de A e B, a excluso, denominada AbB, definida

(5)

Onde A representa a imagem sendo operada e B um segundo conjunto ES e sua composio define a natureza especifica da dilatao, sendo assim a dilatao expande uma imagem. Ela pode ser representada pela unio Exemplo: A={(0,1),(1,1),(2,1),(3,1)} B={(0,0),(0,2)} ={(0,1),(1,1),(2,1),(3,1),(0,3),(1,3),(2,3),(3,3)}

Esse resultado pode ser visualizado nas matrizes abaixo:

De forma geral essa operao visa deixar a matriz de uma imagem com valores mximos, como o prprio nome diz essa operao deixa a imagem engordada como pode ser observado na figura 6, isso porque o valor de qualquer pixel de sada o mximo valor de todos os pixels da vizinhana do pixel de entrada. Em uma imagem binria se qualquer um dos pixels definido com valor 1, o pixel de sada definido como 1.

a) b) Figura 6 - Bailarina a) Imagem Original. b) Imagem Dilatada.

29

2.3.2.2.

Eroso

Eroso uma operao morfolgica par da dilatao. Ao contrrio desta, em eroso quando temos dois vetores os valores destes so subtrados. Se A e B so dois conjuntos do espao EN com elementos a e b respectivamente, a eroso de A com B o conjunto de todos os elementos x para qualquer x+b A, para todo b B. SHIH, F. Y. (2010) descreve a definio da eroso como: (6) Ou a forma equivalente: (7) Exemplo: A={(0,1),(1,1),(2,1),(2,2), (3,0)} B={(0,0),(0,1)} ={(2,1)} Esse resultado pode ser visualizado nas matrizes abaixo:

Simplificadamente a eroso encolhe a imagem (Figura 7), ou seja, deixa a matriz de uma imagem com valores mnimos, isso quer dizer que o valor de qualquer pixel de sada o mnimo valor de todos os pixels da vizinhana do pixel de entrada. Em uma imagem binria se qualquer um dos pixels definido com valor 0, o pixel de sada definido como 0.

30

a) b) Figura 7 - Bailarina a) Imagem Original. b) Imagem Erodida.

2.3.2.3.

Combinaes de Eroso e Dilatao

Em vrias aplicaes a dilatao e eroso so combinadas em seqncia, como uma dilatao de uma imagem seguida de uma eroso do resultado dilatado ou vice versa. Essas aplicaes alternadas da dilatao e da eroso levam formao de duas novas operaes denominadas abertura e fechamento (SHIH, F. Y, 2010, pg. 68). A aplicao de uma eroso em uma imagem f com ES B imediatamente seguida de uma dilatao com o ES transposto, usando o mesmo elemento estrutural, uma operao de abertura, ela tende a abrir pequenos vazios ou espaos entre objetos prximos numa imagem. Relembrando que a eroso acha todos os lugares onde o ajuste do elemento estruturante est dentro da imagem, mas isto somente marca esta posio a origem de um elemento. Porm seguinte uma eroso por uma dilatao, nos enchemos de brancos os lugares onde o ajuste do elemento estruturante estiver dentro do objeto. A abertura em geral suaviza o contorno de uma imagem, quebra estreitos e elimina proeminncias delgadas, a operao de abertura usada tambm para remover rudos da imagem (ALVARENGA, A. V.; INFANTOSI, A. F. C.; AZEVEDO, C. M. de ; PEREIRA, W. C. de A., 2003), a figura 8 mostra exemplo de uma imagem que passou pela abertura. A abertura de um conjunto A por elemento estruturante B e denotado A . B e definida como: (8)

31

a) b) Figura 8 - a) Imagem Original com rudo. b) Imagem com filtragem por abertura.

O fechamento uma dilatao em uma imagem f com ES B seguida de uma eroso com o ES transposto, usando o mesmo elemento estrutural. Essa operao funde pequenas quebras e alargas golfos estreitos elimina pequenos orifcios, se uma abertura cria pequenos vazios na imagem, um fechamento ir preencher ou fechar os vazios, estas operaes podem remover muitos dos pixels brancos com rudos. A eroso definida como: (9)

De modo resumido a abertura tem um efeito de alisamento do contorno, eliminando pequenas protuberncias de uma imagem. Em contrapartida, o fechamento pode preencher pequenos buracos e lacunas no contorno de uma imagem.

2.3.3. Processamento de Imagens Coloridas

Na seo 2.1.1 se viu que a luz vem de uma fonte com uma determinada distribuio espectral. Entretanto, normalmente os raios de luz que nossos olhos recebem vm de diversos processos de interao com os meios pelos quais eles passam, por exemplo, quando a luz sai de um meio para outro, parte dela refletida na superfcie de interface, parte absorvida pelo novo material e parte refrata. Pode-se dizer, por exemplo, que a luz solar, que predomina durante o dia, refrata na atmosfera terrestre e reflete na superfcie de pisos, paredes e da natureza que nos cerca antes de atingir os olhos. Apesar de o olho humano s captar os raios de luz que incidem diretamente sobre ele, somos capazes de ver a luz solar mesmo quando no estamos olhando diretamente para o Sol. Assim, pode-se concluir que as superfcies nossa volta refletem a luz de acordo com as propriedades de seus materiais e, conseqentemente, a luz normalmente chega at ns

32

modificada depois de muitas reflexes e refraes. Grande parte dos trabalhos de sntese de imagens realistas lida com o desenvolvimento de modelos e algoritmos para simular estas interaes. Acontece que os olhos humanos no so capazes de identificar que o espectro resultante veio de uma soma de duas componentes. Ao contrrio do que ocorre com a audio, que capaz de identificar a combinao de duas vozes como sendo um conjunto de dois, a nossa percepo visual v a luz resultante como sendo uma nova luz. neste princpio que se baseiam os projetores de trs canhes (RGB). (GATTASS, M. 2002, pg. 7) Dessa forma a Cor est associada com os comprimentos de onda da luz, ou melhor, com as distribuies destes comprimentos de onda. Estas distribuies so conhecidas como Caractersticas Espectrofotomtricas (Fig.9). Comprimentos de onda visveis so aqueles do espectro eletromagntico entre o violeta (400 nm) e o vermelho (700 nm). A absoro seletiva de diferentes quantidades de comprimentos de onda dentro destes limites determina a cor dos objetos.

Figura 9 - Comprimento de onda. Fonte: Ramos, 2008.

Considerando as cores RGB (vermelha, verde, azul) como primrias, podemos combin-las aditivamente produzindo outras cores. A soma de vermelho e verde, por exemplo, produz o amarelo (Y para Yellow), a soma de verde e azul o ciano (C para Cyan) e a soma de vermelho com azul o magenta (M para Magenta). Se somarmos todas as componentes bsicas teremos o branco (W para White) e se no somarmos nada teremos o preto (K para Black. Note que neste cubo arbitramos os valores de cada componente para

33

variar de 0 a 1 (0% e 100%). Devido a aspectos de implementao comum termos dispositivos em que as componentes variam de 0 a 255 (0% e 100%). Assim elas ocupam apenas um byte de memria cada (Fig. 10).

Figura 10 - Dilatao morfolgica de uma imagem binria. Fonte: GATTASS, M., 2002.

As cores possuem caractersticas que diferenciam uma da outra, tais como o brilho e a cromaticidade, que o matiz e a saturao (GONZALES, R. C.; WOODS, R. E., EDDINS, S. L., 2004): O brilho a intensidade de iluminao que uma determinada cor possui e a variao do brilho resulta na escala de cinzas, pois um alto brilho produz a cor branca e um baixo brilho origina a cor preta. O matiz o comprimento de onda que predomina em meio a uma variada mistura cores, gerando a percepo humana uma cor dominante. Portanto, quando um observador se depara com um objeto e diz que ele vermelho, amarelo ou laranja, ele est fazendo uma referncia ao seu matiz. A saturao a quantidade de luz branca existentes em uma cor, ou em um matiz. As cores puras do espectro so consideradas saturadas, j as cores rosa, mistura da cor vermelha com branco, e a lils, mistura da cor violeta com branco, so pouco saturadas. Logo, o nvel de saturao inversamente proporcional quantidade de luz branca contida na cor

2.3.3.1.

Modelo de Viso Colorida

34

O modelo que ser apresentado neste trabalho um modelo proposto FREI, W. em seu livro A New Model of Color Vision and Some Practical Limitations em 1974 (apud PRATT, W. K., 2007), que prope que h trs receptores com sensibilidade espectral, s1(), s2() e s3(), que representam os pigmentos de absoro da retina que produzem os sinais abaixo: (10) (11) (12) Onde C() a distribuio de energia espectral da fonte de luz incidente. Os trs sinais e1, e2 e e3 em seguida so submetidos funo de transferncia logartmica e combinadas para produzir as sadas: (13) (14) (15) Finalmente os sinais d1, d2 e d3 passam atravs de um sistema linear com funes de transferncia , e e produzem o sinal de sada g1, g2

e g3 que so as bases da percepo da cor pelo crebro. O diagrama abaixo resume o que falamos at agora:

Figura 11 - Modelo de Viso colorida. Fonte: PRATT, W. K., 2007.

35

No modelo da figura 11 os sinais d2 e d3 esto relacionados a cromaticidade de uma luz colorida enquanto o sinal d1 proporcional a luminosidade.
O modelo proposto por W. Frei, 1974 tem como prever fenmenos de viso com muitas cores com bastante preciso e tambm para satisfazer as leis bsicas da colometria, [...]. Examinando-se as equaes 2.3-5 e 2.3-4, verificamos que os sinais de crominncia, permanecem inalterados, neste caso, e o sinal de luminncia aumenta de forma logartmica (PRATT, W. K., 2007, pg. 40).

2.3.3.2.

Espaos de Cores

Um espao de cor, tambm conhecido como sinal de cor, define um conjunto de atributos que identificam uma cor. Espaos de cores so importantes, pois definem a distribuio de cores para objetos diferentes, o que fundamental na classificao e segmentao de cores. Alm disso, [...] cada espao de cor fornece caractersticas que podem ser mais adequadas para determinados problemas, mas como diferentes condies de iluminao ou ambientes ruidosos. (ALVAREZ, R.; MILLN, E.; LPEZ, A. A.; OROPEZA, R. S., 2007) Espaos de cores podem ser classificados em lineares e no lineares (FORSYTH, D.; PONCE, J., 2002), os espaos de cores lineares so baseados em um conjunto de cores primrias e descrevem as outras cores como uma soma ponderada das intensidades das cores primrias. O espao no linear compreende alm do conjunto de cores primrias outras propriedades como o tom, saturao, intensidade e ou brilho.

2.3.3.2.1. RGB

Uma imagem colorida RGB uma matriz MxNx3 de pixels coloridos, onde cada pixel um trio e cada componente correspondente a Red, Green e Blue do espao RGB com especfica localizao espacial (GONZALES, R. C.; WOODS, R. E.; EDDINS, S. L., 2004) (Ver Fig. 12). Uma imagem RGB pode ser visualizada como uma pilha de imagens em escala de cinza que quando alimentado com as entradas Red, Green e Blue em um monitor produzem imagens coloridas. Por conveno, as trs imagens formadas no espao RGB so referidas como componentes de imagem.

36

Figura 12 - de Viso colorida. Fonte: GONZALES, R. C.; WOODS, R. E.; EDDINS, S. L., 2004.

O standard RGB color Space foi criado cooperativamente pela HP e Microsoft em 1996 para uso em monitores, impressoras e na Internet. Geralmente, uma imagem digital que utiliza 8 bits por canal uma imagem do espao RGB. Na figura 13 tem-se o cubo representando o sistema de cor, onde trs vrtices representam as cores RGB, primrias, outros trs a respeito das cores secundrias e a reta de escala de cinzas que liga a origem, representado pelo preto, ao ponto mais distante da origem, que o branco

Figura 13 - Cubo RGB. Fonte: Image Processing Toolbox Matlab.

37

2.3.3.2.2. YCRCB

O YCRCB um cdigo no linear do sinal RGB, comumente usado por estdios europeus de televiso para trabalhos com compresso de imagens. Nesse espao a cor representada por luma (que a luminncia calculada a partir do RGB no linear) e construda como a soma ponderada dos valores RGB e o CR e CB so dados pela diferena dos componentes vermelho e azul do espao RGB. (VEZHNEVETS, Vladimir; SAZONOV, Vassili; ANDREEVA, Alla, 2005). (16) Conforme se observar no sistema 16 que esse espao separa totalmente a luminncia da crominncia, o que caracteriza esse espao como no linear, conforme vimos na seo 2.3.3.2. No sistema de cores YCbCr, a componente Y contm altas freqncias de luminncia em escalas de cinza s quais o olho humano sensvel. J as componentes de crominncia Cb e Cr guardam, respectivamente, freqncias altas de informao de cores, s quais o olho humano muito menos sensvel. Desse modo, o sistema YCbCr usado em alguns algoritmos de compresso de imagens (como o da JPEG) na medida em que permitem que seja descartada uma parte das informaes de Cb e Cr, tornando os arquivos de imagens menores e sem grandes perdas visuais.

2.3.3.2.3. Outros Espaos de Cores

medida que esta seo a respeito dos espaos de cores desenvolvida percebemos que a criao e uso desses espaos vm para atender a necessidade do ambiente em que estamos trabalhando, por exemplo, se trabalhamos em um ambiente em que a luminosidade no controlada, podemos optar por um espao em que a luminosidade seja uma componente separada ou filtrada, j quando h um ambiente controlado podemos escolher o espao de cor RGB que um espao linear, mas que extremamente influenciado pela luminosidade. No entanto os espaos de cores no se restringem aos apresentados outrora, alm desses temos o Sistema de cor com percentual de uniformidade: CIELAB e CIELUV so

38

espaos de cores percentualmente uniformes que foram padronizados pela CIE (Comisso Internacional LEclairage). Percepo de uniformidade significa que uma pequena perturbao para um valor do componente perceptvel. O espao RGB est longe de ser uniforme e a transformao para CIELUV tenta corrigir esse espao, no entanto esse o espao que trabalha com a percepo de uniformidade depende um grau de processamento maior e mais espao de memria fsica. Alm destes, existem ainda os espaos de cores RGB normalizado, HVApple RGB, CIE RGB, ColorMatch, RGB, SGI RGB, SMPTE-C, HDTV RGB, NTSC RGB, PAL/SECAN RGB, Wide Gamut RGB, SMPTE-240M RGB, ISO RGB, scRGB, ROMM RGB, HSV, TSL.

2.3.4. Filtragem, Realce e Suavizao de Imagens no domnio espacial

Uma das tcnicas de processamento mais utilizadas para melhorar a qualidade de uma imagem digital a aplicao de algoritmos que permitam eliminar regies indesejveis, por causa de mtodos de aquisio, ou das condies em que a imagem foi capturada, que introduzem algum tipo de rudo na imagem. As tcnicas de filtragem utilizada so normalmente divididas em duas classes: os mtodos que trabalham sobre o domnio espacial e as tcnicas de filtragem no domnio da freqncia. (MARQUES FILHO, O., VIEIRA NETO, H. 1999) Os filtros espaciais operam diretamente sobre a matriz de pixels da imagem, normalmente utilizando operaes de convoluo com mscaras, enquanto que os mtodos de trabalham no domnio da freqncia se baseiam na modificao da transformada de Fourier As tcnicas de filtragem no domnio espacial so expressas por: (17) Onde: g(x,y) a imagem que processada; f(x,y) a imagem original; T um operador em f.

39

No domnio espacial h os filtros denominados passa-baixa, passa-alta e passa-faixa. Essa expresso passa se refere a intensidade do sinal, por exemplo, no sinal passa baixa somente os valores baixos de imagem ser passado para imagem processada. Os filtros passabaixa atenuam ou eliminam componentes de alta freqncia. Como as componentes de alta freqncia correspondem a regies de bordas e/ou detalhes finos na imagem, o efeito da filtragem passa-baixas a suavizao da imagem, provocando um leve borramento na mesma.(MARQUES FILHO, O., VIEIRA NETO, H. 1999). J os filtros passa-altas atenuam ou eliminam os componentes de baixa freqncia e, em funo disto, realam as bordas e regies de alto contraste da imagem. (MARQUES FILHO, O., VIEIRA NETO, H. 1999) Os filtros passa-faixa, capazes de remover ou atenuar componentes acima de sua freqncia de corte superior e abaixo de sua freqncia de corte inferior, embora existam, so de pouca utilidade prtica, com exceo de algumas tarefas especficas de restaurao de imagens. O filtro passa-banda mais utilizado em processamentos especficos, principalmente para remover rudos peridicos.

2.3.5. Segmentao das imagens

A segmentao da imagem responsvel por subdividir a imagem em partes ou objetos constituintes. Para se definir at qual nvel essa subdiviso deve ser realizada, depende da anlise do problema a ser resolvido, e deve terminar quando os objetos de interesse na aplicao tiverem sido isolados. Os algoritmos de segmentao para imagens monocromticas so baseados em duas propriedades bsicas de valores de nveis de cinza (MATURANA, P. S., 2010), a saber: a) Descontinuidade: A idia particionar a imagem com base em mudanas bruscas nos nveis de cinza; funciona como um detector de mudanas bruscas. As principais reas de interesse, discutidas nessa categoria so a deteco de pontos isolados, de linhas e de bordas em uma imagem; b) Similaridade: Baseia-se em limiarizao, trabalhando com o crescimento de regies, diviso e fuso de regies.

2.3.5.1.

Deteco de Bordas

40

Uma borda a fronteira entre duas regies de nveis de cinza diferentes. Para a deteco e realce de bordas, aplicado o filtro por derivada utilizando-se mscaras de convoluo, tambm chamadas de operadores de 2x2 ou de 3x3 (MATURANA, P. S., 2010). Alguns exemplos destas mscaras so os operadores de Roberts, Prewitt e Sobel,presentes na Tabela 4.
Tabela 4 - Operadores utilizados para estimar a amplitude do gradiente atravs de uma borda.

No operador de Roberts se calcula as diferenas de nveis de cinza por diferenas cruzadas (PRATT, W. K.,2007). Este operador o menos indicado para este projeto, pois o resultado contm muitos rudos, e como as mscaras tm dimenso 2X2, ele no destaca muito a visualizao da borda quando comparado com s das outras mscaras estudadas. O operador Prewitt diferencia nas direes vertical e horizontal. Por ser uma mscara com dimenso 3X3, h uma melhora significativa na deteco das bordas em relao mscara de Roberts. O operador de Sobel similar ao operador de Prewitt, porm com mais peso nos pontos prximos ao pixel central (PRATT, W. K.,2007). Por esse motivo, a mscara de Sobel obtm as bordas mais destacadas em relao ao operador de Prewitt. Comparando as mscaras analisadas, a de Sobel mostrou melhor destaque das bordas. Na Figura 15 verificamos as diferenas entre os detectores:

41

a)

b)

c)

d)

Figura 14 - Ovos a) Original. b) Operador Roberts. c) Operador Prewitt. d) Operador Sobel.

2.3.6. Extrao de Caracterstica O objetivo do processamento de imagem reconhecer ou classificar uma imagem, e para isso preciso extrair caractersticas dessa imagem e ento utilizar esses recursos extrados dentro de um sistema classificatrio com padro definidos. A extrao de caractersticas visa localizar regies que sejam importantes na imagem, dependo da aplicao desta imagem. Essa regio pode ser definida em uma vizinhana de pixel global ou local, destacando formas, texturas, tamanhos, intensidades, propriedades estatsticas, etc. Essa tcnica tem avanado em proporo com o processamento de imagem, assim como os seus mtodos. Existe basicamente o Mtodo de Extrao de Recursos Locais: esse modelo busca identificar a intensidade de grupos de pixel e compara com os padres existentes e identificar a estrutura deste grupamento, tais como bordas, linhas, cantos, crculos entre outros.

2.3.7. Reconhecimento de Padres O Reconhecimento de Padres faz parte da rea de Aprendizado de Mquina, e seu objetivo separar objetos (ou padres) em categorias (ou classes). Os objetos podem ser qualquer conjunto de medidas que necessite ser classificado, como por exemplo, os pixels de uma imagem Em geral reconhecer um padro no uma tarefa fcil e envolve vrias etapas. Um sistema de reconhecimento de padres tpico pode ser dividido em cinco sub-sistemas bsicos: sensoriamento, segmentao, extrao de caractersticas, classificao e ps-

42

processamento ( DUDA, R. O., 2000). O diagrama em blocos de um sistema tpico pode ser visto na Figura 15.

Figura 15 - Etapas de um sistema de reconhecimento de padres.

Na etapa de sensoriamento, um sensor ou transdutor converte um fenmeno fsico em um conjunto de dados, que pode ser uma imagem ou um sinal de fala, por exemplo. Estes dados so compostos de objetos e plano de fundo, geralmente possuindo algum tipo de rudo. Nas etapas seguintes necessrio que os objetos estejam devidamente separados. Os objetos so, portanto, segmentados. Em seguida so extradas as caractersticas dos objetos que so teis na classificao. O classificador utiliza estas caractersticas para determinar a qual classe o objeto em questo pertence. No ps-processamento alguma tcnica pode ponderar as sadas de diferentes classificadores e tomar a deciso final. Vale ressaltar que o fluxo dos dados no necessariamente possui sentido nico e pode haver retro-alimentao entre estes subsistemas ( DUDA, R. O., 2000).

43

3. MTODO PROPOSTO PARA EXTRAO DE CARACTERSTICA E CLASSIFICAO DE IMAGENS

Devido s dificuldades inerentes ao processamento de imagens encontradas no decorrer do desenvolvimento deste trabalho, foram estabelecidos requisitos para a aquisio de imagens que sero utilizadas na implementao deste: a) O sistema utiliza uma nica cmera fixa; b) A imagem de fundo ou referncia tem sempre a mesma distncia em relao cmera e ser esttica; c) A iluminao do sistema controlada; Nas sees a seguir seguem detalhamentos acerca do mtodo proposto do sistema de identificao de cores e cdula.

3.1.

ARQUITETURA DO PROJETO

As caractersticas das cores so um conjunto de informaes que definem tudo que enxergamos ao nosso redor. Este tipo de informao muito til no que diz respeito extrao dessas caractersticas que podem ser usadas na identificao de roupas, remdios ou da prpria pele, (podendo ser aplicado em sistemas de segurana), dentre outros. A deteco de cores feita pela intensidade dos pixels e a deteco de bordas feita atravs da deteco de pontos de controle dispostos sobre regies de interesse da cdula, como os nmeros e linhas de cada cdula. Dessa forma, o sistema proposto est ilustrado de forma macro na Figura 16.

44

Aquisio da imagem

Filtros de suavizao

Mudana dos espao de cor

1a Classificao: Intensidade das cores

Mudana de dimenso da imagem

Limiarizao

Segmentao

Restrio do espao de busca

Operaes morfolgicas

2. Classificador Deteco das arestas:

Sada de udio

Figura 16 - Fluxograma do sistema proposto Deteco de cdulas.

O sistema proposto composto de cinco etapas principais. A primeira delas a aquisio de quadros de um vdeo atravs de uma cmera, a segunda a mudana do espao de cor atravs de frmulas matemticas vistas na seo 2.3.3.2.2. Em seguida, um algoritmo

45

de correo de rudos aplicado como pr-processamento. A posio de cada elemento de imagem considerada independente da posio dos demais e uma restrio da regio de busca feita atravs da aplicao de um modelo probabilstico para pontos de interesse. Em seguida realizada a segmentao, apenas para notas, utilizando o detector de bordas utilizando a convolao, apresentado na Seo 2.4. Por fim a classificao feita atravs de uma combinao de classificadores em cascata que detecta a intensidade de cada pixel, e no caso de detector de cdulas detecta cada ponto fiducial da nota. Cada uma dessas fases est definida no decorrer deste captulo. O sistema de deteco de cores segue o mesmo padro do sistema de deteco de cdula, sendo que nesse sistema no h deteco de bordas.

3.2.

MATERIAIS UTILIZADOS

Neste trabalho, na parte de hardware foi utilizado um sensor CCD (Fig. 17), RGB24 com aquisio de 10 quadros por segundo.

Figura 17 - Sensor CCD.

Uma caixa escura com interior branco para criar um ambiente controlado, Leds de auto-brilho para criar o sistema de iluminao controlado por um potencimetro (Fig. 18).

Figura 18 - Sistema criado para obter um ambiente controlado.

Para o processamento das imagens foi utilizado um netbook de processador Intel Atom 1,66GHz, com memria de 2GB, sistema operacional Windows 7, monitor de 13,1 e 320GB de capacidade de armazenamento.

46

Os algoritmos de deteco de cores e cdulas foram desenvolvidos em linguagem m com o software MATLAB R2010. 3.3. SISTEMA DE ILUMINAO E AQUISIO DE IMAGENS

Para se obter xito no processamento de imagens digitais, o primeiro passo obter imagens de boa qualidade, e para que essa qualidade seja atendida fatores como a iluminao, tamanho da imagem, resoluo da cmera tem que ser controlado de acordo com a aplicao. Para esse trabalho foram seguidos os passos abaixo: a) Para controlar a luminosidade, o objeto de estudo foi colocado dentro de uma caixa preta, com interior branco e um sistema de iluminao, composto por LEDs de auto-brilho, cuja intensidade controlada por um potencimetro produz um tipo de luz que incide em sobre esse objeto e no fundo da cena (Fig. 19);

Figura 19 - Incidncia da luminosidade sobre o objeto de estudo.

b) c)

Esta luz refletida da cena (objeto e fundo) em direo lente da cmera; A lente refrata a luz para o sensor CCD (Fig. 20), que transforma a imagem recebida em um sinal de vdeo, onde cada pixel representa a intensidade de luz incidida sobre uma fotoclula do sensor.

Figura 20 - Esquema do sensor CCD utilizado.

47

d)

Em seguida, a placa de captura digitaliza a imagem, formando uma matriz numrica (Fig. 21), onde cada elemento da matriz recebe um valor compatvel com a intensidade de luz do pixel correspondente.

Figura 21 - Digitalizao da imagem.

e)

Por fim, o sistema de reconhecimento de cor processa a imagem com o intuito de extrair as informaes desejadas. Esse processamento realizado pelos algoritmos de anlise de imagens.

Como visto na seo 2.2.1 para a aquisio de imagens levaram-se em conta os parmetros: Tamanho do sensor, Distncia de Trabalho, Campo de Viso, Resoluo, Profundidade do Campo de Trabalho. Dentre essas as variveis que sero utilizadas para fazer o sistema so apenas duas: O Tamanho do Sensor e a Distncia de Trabalho. A escolha do sensor CCD foi realizada levando em considerao as caractersticas desse em relao ao CMOS, por exemplo, os sensores CCD criam imagens de alta qualidade e baixo "rudo" enquanto que os sensores CMOS so tradicionalmente mais suscetveis ao rudo. Outro ponto: como h vrios transistores prximos de cada pixel, a sensibilidade luz de um chip CMOS tende a ser menor, pois muitos dos ftons que atingem o chip colidem com os transistores em vez de atingir o fotodiodo, no entanto a tecnologia CMOS tradicionalmente consome menos energia. Dessa forma, implementar um sensor em CMOS possibilita um sensor de baixa energia mas em contrapartida os CCDs, apesar de consumir cerca de 100 vezes mais energia do que um sensor CMOS equivalente, eles tendem a possuir maior qualidade e mais pixels O tamanho do sensor utilizado neste trabalho de 1/3, com 4,8mm de largura e 3,6mm de altura. O tamanho do sensor define a resoluo em contagem de pixels, onde

48

quanto maior o sensor, maior a concentrao de pixels por milmetro e conseqentemente, melhor ser a resoluo do mesmo. Por exemplo, no sensor usado nesse trabalho se obtm imagens com 640x480 pixels, ou seja, 133 pixels por milmetro, uma resoluo de 7,51 m por pixel no sensor e 307200 pixels no total. O formato do sinal obtido pelo sensor o RGB, e a captura de frames so 10 quadros por segundo. importante citar que esse tamanho de imagem foi testado e escolhido para garantir duas variveis importantes no sistema: qualidade da imagem e tempo de processamento do sistema. Por exemplo, para uma imagem de tamanho 16x10, o tempo de processamento extremamente baixo, mas em contrapartida a quantidade de informaes que ela traz pouca, podendo obter erros na quantizao desta. J uma imagem 1020x1020 rica em informaes e detalhes, mas o tempo de processamento demorado. Outra varivel que foi controlada distancia de trabalho, a qual foi escolhida empiricamente (28 cm do sensor).

3.4.

DEFINIO DO ESPAO DE COR

Nesse trabalho o espao de cor escolhido foi o YCbCr por que, conforme se viu na seo 2.3.3.2.2 esse espao sofre pouca variao em suas componentes de crominncia Cb e Cr em relao a luminosidade. Isso significa que apesar de termos imagens que sofrem ao de mais ou menos luminosidade, a perda das caractersticas de crominncia baixa. Isso pode ser comprovado a partir dos histogramas das imagens estudadas, pois com essa ferramenta pode-se ver a maior incidncia, concentrao e intensidade de cor predominante na imagem. Na figura 22 temos a figura original:

a)

b)

Figura 22 - Imagem no espao RGB original e respectivos histogramas. b) Imagem no espao YCbCr.

49

Na figura 23 temos um acrscimo de 15 unidades de brilho:

a)

b)

Figura 23 - Imagem no espao RGB com adicional de 15 unidades de brilho e respectivos histogramas. b) Imagem no espao YCbCr.

Na figura 24 temos um acrscimo de 30 unidades de brilho:

a)

b)

Figura 24 - Imagem no espao RGB com adicional de 30 unidades de brilho e respectivos histogramas. b) Imagem no espao YCbCr.

Nas imagens geradas, pode-se constatar que a banda Y contm as freqncias altas de luminncia da imagem (em tons de cinza). As imagens correspondentes especificamente s crominncias Cb e Cr, separadamente, no apresentam uma clareza do que de fato est ocorrendo na imagem, mas ao se fazer comparaes entre elas, v-se que cada uma d maior nfase na crominncia a que se refere, tornando mais claros os locais que possuem pixels mais prximos das cores vermelho e azul. Nas imagens abaixo se tem a comparao numrica das variaes de luminosidade dos espaos RGB e YCbCr:

50

Figura 25 - Imagem Original e Histogramas do espao YCbCr.

Figura 26 - Imagem com variao de -30 unidades de brilho e Histogramas do espao YCbCr.

Figura 27 - Imagem com variao de +30 unidades de brilho e Histogramas do espao YCbCr.

51

Nas figuras 25, 26 e 27 as componentes de crominncia no sofrem variaes bruscas nos histogramas, sempre ficam entre 100 e 150 unidades de intensidade de cor (como as imagens que se trabalha so de 8 bits o maior valor de intensidade 255), o que muda nas imagens a concentrao de pixels com determinado valor. Nas tabelas 5 e 6 temos a quantizao das imagens 25, 26 e 27:
Tabela 5 - Quantizao do espao de cor RGB.

IMAGEM ORIGINAL Mdia Quantizao R 905.753 44178 G 914.938 26857 B 863.526 30455

Espao de cor RGB IMAGEM COM +30 Mdia Quantizao R 1.615.669 43691 G 1.646.131 30687 B 1.602.053 31272

IMAGEM COM -30 Mdia Quantizao R 33.82 19564 G 359.531 20596 B 333.079 2096

Tabela 6 - Quantizao do espao de cor YCbCr.

Espao de cor YCBCR IMAGEM ORIGINAL IMAGEM COM +30 IMAGEM COM -30 Mdia Quantizao Mdia Quantizao Mdia Quantizao Y 938.388 35460 Y 1.561.584 7418 Y 460.797 2034 CB 1.258.811 427183 CB 1.265.109 439703 CB 1.271.669 430219 CR 1.279.459 292923 CR 1.269.561 325395 CR 1.272.491 342689 Pode-se observar que as concentraes no espao RGB so pequenas em relao ao nmero total de pixels da imagem que 480000 pixels (800x600), a concentrao de cores no espao RGB da componente R em torno de 7,5% na imagem no espao RGB, a componente G tem concentrao em torno de 5,5% e a componente B tem concentrao de 4,4%. Dessa forma a quantidade de informaes para se trabalhar com identificao de cores a partir das cores primrias estatisticamente fraca e no nos garante firmeza nas afirmaes. Por outro lado, a concentrao das componentes de cromincia Cb e Cr so altas, como se pode verificar: a componente Cb tem concentrao mdia de 90% dos pixels das imagens e a componente Cr tem concentrao mdia de 66% dos pixels das imagens estudadas. importante frisar que a converso dos espaos RGB para YCbCr no linear, portanto os valores das bandas so encontrados a partir de aproximaes matemticas, isto , as bandas so a soma ponderadas dos valores RGB ajustados por uma constante. Por isso importante lembrar que a converso acarreta em perda de informaes, mas no caso desse trabalho perdas de dados no influencia o sistema, pois este enxerga as imagens de forma macro e d margem para erros.

52

3.5.

VALORES NUMRICOS DAS CORES NO ESPAO RGB E YCBCR

Esse trabalho identifica as oito primeiras cores da paleta VGA (Video Graphics Array) que um padro grfico para computadores, pois dessa forma limita-se a faixa de trabalho. Alm disso, as dezesseis cores bsicas so aceitas por todos os browsers que exibem cores, assim como seu cdigo hexadecimal. A tabela 7 mostra as cores da paleta VGA
Tabela 7 - Paleta VGA.

Nome Padro Vermelho Verde Limo Azul Amarelo Ciano Magenta Branco Preto

Paleta VGA Cdigo FF0000 00FF00 0000FF FFFF00 FF00FF 00FFFF FFFFFF 000000

Nome Padro Marrom Verde Azul Marinho Verde Oliva Azul petrleo Ppura Silver Cinza

Cdigo 800000 008000 000080 808000 008080 800080 C0C0C0 808080

De acordo com a base de clculo apresentada na seo 2.3.2.2, para obter os valores do espao YCbCr utiliza-se o seguinte sistema:

A partir das matrizes acima se obtm a resoluo do sistema linear e se encontra as equaes que determinam o valor de cada pixel no espao YCbCr:
(18) (19) (20)

Simplificando ainda mais o sistema linear acima, chega-se s equaes abaixo:


(21) (22) (24)

Assim, os resultados obtidos esto apresentados na tabela 8.

53

Tabela 8 - Converso dos espaos RGB para YCbCr.

RGB R VERMELHO G B R VERDE G B R AZUL G B R AMARELO G B

YCbCr RGB YCbCr 255 Y 81 R 255 Y 0 VERMELHO Cb 90 MAGENTA G 0 MAGENTA Cb 0 Cr 240 B 255 Cr 0 Y 145 R 0 Y 255 VERDE Cb 54 CIANO G 255 CIANO Cb 0 Cr 34 B 255 Cr 0 Y 41 R 255 Y 0 AZUL Cb 240 BRANCO G 255 BRANCO Cb 255 Cr 110 B 255 Cr 255 Y 210 R 0 Y 255 AMARELO Cb 16 PRETO G 0 PRETO Cb 0 Cr 146 B 0 Cr

106 202 222 170 166 16 235 128 128 16 128 128

Para esse trabalho o que interessante so os valores de crominncias, ou seja, os valores de luminosidade so dispensados. O algoritmo para aquisio destes dados esta no apndice 1.

3.6.

DETERMINAO DOS LIMITES DE DETECO DE CADA COR

A fim de obter dados mais precisos para esse trabalho, utilizaram-se tcnicas estatsticas. Para determinao do modelo de referncia de imagem e processamento de cor, o primeiro passo foi obter amostras do objeto de estudos, ou seja, a partir de um vdeo em tempo real obteve-se quadros de imagens do objeto, sendo que o nmero de quadro foi definido a partir do teorema do limite central, cujo enunciado o seguinte:
Se a populao possui uma distribuio mdia e desvio padro , ento a mdia amostral , baseada numa amostra aleatria de tamanho N, ter uma distribuio que se aproxima da distribuio normal com mdia e desvio padro quando N for suficientemente grande (N 30). (OLIVEIRA, J. P., 2009).

Dessa maneira para lograr xito nas determinaes dos padres, utilizou-se 30 quadros para fazer a aquisio das mdias das intensidades de cores. Os parmetros calculados durante esta fase so os seguintes: valor mdio e desvio padro amostral para cada pixel. O valor mdio amostral a mdia dos valores obtida para cada um dos pixels k (x,y) em cada componente de cor Y, Cb, e Cr, para um determinado nmero de quadros (N), a mdia amostral utilizada como uma estimativa pontual da verdadeira mdia da populao, segundo a equao abaixo (OLIVEIRA, J. P., 2009):

54

(25) Em que: a) i o nmero do quadro em processamento; b) k a coordenada (x,y) de cada pixel; c) Ii(k)(Y,Cb,Cr) o valor corrente de cada pixel no espao de cores YCbCr. Em funo de variaes na iluminao do ambiente e dos rudos gerados pela cmera, ainda que a imagem seja esttica, o mesmo pixel no ter valores idnticos ao longo do tempo. (OLIVEIRA, J. P., 2009) Tendo em vista as variaes de iluminao e do sensor da cmera necessrio computar as variaes de cada pixel k em N quadros em cada componente Y, Cb e Cr. Estas variaes so expressas pelo desvio padro amostral segundo a equao abaixo: (26) Em que: a) i o nmero do quadro em processamento; b) k a coordenada (x,y) de cada pixel; c) d) o valor corrente de cada pixel no espao de cores YCbCr; o valor mdio de cada pixel no espao de cores YCbCr. Com os valores das mdias e desvio padro de cada cor, determinam-se os intervalos de confiana para a deteco de cores, segundo a equao abaixo:

De acordo com a equao acima, pode-se determinar intervalos inferiores e superiores para os quais os valores tm grau de confiana aceitvel; amostral, o valor da mdia

o desvio padro e a mdia central. Dessa forma, conclui-se que uma

imagem que esteja em um ambiente que no sofra variao de iluminao ou objetos de cena, a maioria dos pixels ter valores dentro desse intervalo. As equaes do limite superior e inferior esto descritos abaixo: (27)

55

(28) Em que LI o limite inferior e LS o limite superior, a mdia amostral e s o

desvio padro. Na tabela 9 seguem os valores de mdia amostral de cada cor em RGB e YCbCr, bem como seus respectivos desvios padres e limites inferiores e superiores, importante lembrar que esses limites so para cores puras.
Tabela 9 - Limite inferior e superior de cada cor - Terico

COR VERMELHO

COMPONENTE MDIA Y Cb Cr Y Cb Cr Y Cb Cr Y Cb Cr Y Cb Cr Y Cb Cr Y Cb Cr Y Cb Cr 81 90 240 145 54 34 41 240 110 210 16 146 106 202 222 170 166 16 235 128 128 16 128 128

VERDE

AZUL

AMARELO

MAGENTA

CIANO

BRANCO

PRETO

DESVIO PADRO 14.1818 14.1358 14.818 14.9816 14.9261 14.876 15.2256 15.1741 15.1285 17.9276 17.8677 17.8121 16.046 15.9955 15.9505 18.1212 18.0591 18.0008 14.9298 14.8747 14.8246 17.317 17.3581 17.2038

LIMITE INFERIOR 75.8642 225.182 39.0739 19.124 224.8259 94.8715 -1.8677 128.1879 186.0045 206.0495 147.9409 -2.0008 220.0702 113.1253 113.1754 -1.317 110.6419 110.7962

LIMITE SUPERIOR 104.1358 254.818 68.9261 48.876 255.1741 125.1285 33.8677 163.8121 217.9955 237.9505 184.0591 34.0008 249.9298 142.8747 142.8246 33.317 145.3581 145.2038

3.7.

DEFINIO DOS FILTROS UTILIZADOS

Para a deteco de cores desse sistema foi usado o filtro Box Filter. Esse filtro rastreia cada pixel da imagem e substitui o seu valor pelo do vizinho, de forma que eles introduzem distores, que so borramentos das arestas. Quando o tamanho da mscara for muito grande estas introduzem fantasmas a imagem original.

56

O uso desse filtro foi escolhido exatamente por que ele causa esse efeito de borramento na imagem e o objetivo da deteco de cores detectar as cores e no as formas do objeto, ou seja, detectar a mxima intensidade que adquirida de uma imagem. Para causar esse efeito de borramento utiliza-se uma mascara 56x56 e ao utilizar uma matriz 56x56 (equao 29) para causar o efeito da mdia tem-se que multiplicar o resultado da convoluo da matriz por 1/N, onde N o somatrio dos pesos da mscara, para que se possa ter um ganho unitrio em cada pixel convoludo, isso chamado de normalizao. (29) Nas figuras abaixo segue exemplos desse filtro para imagens coloridas:

a) b) Figura 28 Folhas. a) Original b) Filtro Box como matriz 56x56

O filtro usado para a deteco de cdula tambm foi um filtro mdio sendo que a matriz bem menor, porque na deteco de cdulas se quer encontrar formas e padres, portanto o filtro foi usado somente para suavizar a imagem e retirar rudos. Na figura 29 segue exemplo do filtro utilizado com a equao 30:

(30)

57

a) b) Figura 29-Cdula de cinco reais. a)Original. b) com filtro Box 7x7

3.8.

SEGMENTAO DA IMAGEM DETECO DE BORDAS

Conforme a seo 2.3.5, a segmentao de imagens tem por objetivo decompor a imagem em conjuntos de regies, podendo obter reas com um significado semntico ou um conjunto de pixels de fronteiras. Esse processo necessrio para isolar as zonas de interesse que se quer trabalhar para posterior processamento. Nesse trabalho, a segmentao aplica somente para o sistema que detecta cdula, pois para o sistema que detecta cores considera-se que as cores so uniformes, ou seja, sem nenhum desenho especial ou forma a ser detectada. Na deteco das arestas das imagens que foram capturadas pela cmera utilizou-se um algoritmo de Sobel, essa deteco realizada no ltimo quadro obtido pelo algoritmo. A escolha do tipo de detector de bordas foi feita, primeiro considerando o espao trabalhado, pois os detectores Laplaciano, Gaussiano e zero crossing trabalham no domnio da freqncia e para passar do domnio do tempo para o da freqncia precisa-se submeter a imagem transformadas especiais como a de Fourier, que no abordada nesse projeto. Portanto, trabalha-se no domnio do tempo, dessa forma sobram os mtodos Prewitt, Sobel, Roberts e Canny. A partir desses, a escolha foi determinada em cima da eficincia do seu processamento, considerando o resultado da deteco. Quanto menos rudos e menor uso do processador, mais preciso o algoritmo tem (Barbosa, B. B. B.; SILVA, J. C., 2009). Pesquisou-se qual melhor se encaixava no contexto de uso deste software, onde ambos os fatores tem de serem pesados, tendo o fator rudo um maior peso. Dos algoritmos de deteco

58

de bordas, os mais utilizados so o de Sobel, o de Roberts e o Canny (BARBOSA, B. B. B.; SILVA, J. C., 2009). Dessa forma, a escolha do operador foi feita em cima da maior quantidade de informaes que se tem na regio de interesse. E essa escolha foi emprica e feita em cima dos histogramas das mesmas, conforme vemos na figura 30.

a)

b)

c) Figura 30 - Deteco de bordas. a) Mtodo Sobel. b) Mtodo Roberts. c) Mtodo Canny.

No entanto, antes de aplicar operador de Sobel, tem-se que fazer uma limiarizao. A limiarizao uma das mais importantes abordagens para a segmentao de imagens. Na Limiarizao analisa-se a similaridade dos nveis de cinza da imagem extraindo os objetos de interesse atravs da seleo de um limiar T que separa os agrupamentos de nveis de cinza. Uma imagem limiarizada g(x,y) definida como: (24) Assim, em nvel de rotulao, os pixels tendo valor 1 ou com qualquer outro nvel de cinza conveniente correspondem aos objetos, enquanto os que receberem 0 como valor correspondero ao fundo da imagem.(GONZALES, R. C.; WOODS, R. E.; EDDINS, S. L., 2004). Para cada cdula determina-se um limiar e se faz a limiarizao. A tabela 10 mostra os valores de limiarizao de cada cdula (os valores dos limiares so as intensidades em escala de cinza):

59

Tabela 10 - Limiares das cdulas.

LIMIARIZAO CDULA IMAGENS EM ESCALA DE CINZA LIMIAR (T) IMAGENS LIMIARIZADAS

R$ 2,00

120

R$ 5,00

150

R$ 10,00

150

R$ 20,00

140

R$ 50,00

150

R$ 100,00

150

Com as imagens j limarizadas as bordas ficam mais precisas. Na figura 31 vemos os pixels de uma imagem que est sendo utilizada no trabalho. Perceba que uma imagem nada

60

mais que uma aglomerao de intensidade de cores e que os nveis de cinza so iguais nas trs componentes de cores. nessa matriz que so aplicados o operador Sobel

Figura 31 Pixels da imagem limiarizada.

Para aplicar o operador Sobel, a primeira coisa que se fez foi zerar os pixels que no so interessantes para o processamento. Em seguida se tira a raiz quadrada da soma dos quadrados da convoluo dos resultados em x e y. Abaixo esto as equaes em x e y:

Aps todas as transformaes aplicaes de filtros e binarizao obtm-se a imagens com as bordas destacadas e em seguida se aplica princpios da morfologia matemtica, isto , aplica-se uma dilatao seguida e por fim definimos a regio de interesse que se quer trabalhar (figura 32).

61

Figura 32-Definio da regio de interesse

Aps esse processo obtm-se uma lista dos pontos que delimitam a regio segmentada, que neste caso, so os nmeros das cdulas, com essa lista em mos, o algoritmo de deteco de bordas varre cada pixel na imagem que pertence quela regio e compara com os da imagem padro.

62

4. RESULTADOS E DISCURSES

Conforme capitulo 3 o sistema de aquisio de imagens consistiu em uma caixa preta, para impedir a entrada de outra fonte de que no a do sistema, com interior branco, por ser a cor que reflete todos os raios luminosos e no absorve nenhum. O ambiente controlado foi de extrema importncia para o processamento das imagens adquirida, pois se pode mensurar o quanto a luminosidade interfere na percepo que se tem das cores.

4.1.

BASE DE DADOS

Em relao quantidade de quadros adquiridos para o processamento, usamos a teoria do limite central, mas dados empricos mostraram que mudanas bruscas na intensidade de cor no espao de cor YCbCr eram pequenas. Com isso, observa-se os limites dos 30 quadros, e fez-se estudos estatsticos para determinar o nmero de quadros menor, pois 30 quadros exige muito tempo de processamento: Para a crominncia Cb: Limite inferior (Li) = 162.5542 Limite superior (Ls) = 181.0265 Amplitude = Li-Ls = 18.4723 Classe=

63

Para a crominancia Cr: Limite inferior (Li) = 112,1562 Limite Superior (Ls)=118,0668 Amplitude = Li-Ls = 5,91 Classe=
Tabela 11 Estatsticas da crominancia Cb Tabela 12 - Estatsticas da crminancia Cr

Classe Amplitude Freqncia 1 2 3 4 5 6 160-164 164-168 168-172 172-176 176-180 180-184 2 0 5 0 0 22

Freqncia relativa 7% 0% 17% 0% 0% 76%

Classe Amplitude Freqncia 1 2 3 4 5 6 112-113,2 113,2-114,4 114,4-115,6 115,6-118,8 118,8-119,2 119,2-120,4 22 0 0 7 0 0

Freqncia relativa 76% 0% 0% 24% 0% 0%

Observa-se que a classe 6 na Crominancia Cb e a 1 na Crominancia Cr predominam os valores das intensidades em 76% dos quadros, e todos os valores esto dentro do esperado, dessa forma usou-se somente 10 frames e descartou-se o primeiro. Em todas as imagens que foram processadas, encontrou-se o primeiro quadro com valores de crominncia baixo, isso deve ao fato de a cmera que foi utilizada ter compensador de brilho, ou seja, quando a primeira imagem foi capturada, o sistema de aquisio estava ajustando os ganhos de branco para poder ter imagens mais compatveis com o real e que estabilizasse o sistema. Portanto a primeira imagem descartada para que o sistema no sofra influencia dessa imagem de ajuste. No que diz respeito deteco de cores, comprovou-se que o melhor espao a ser trabalhado o YCbCr pelas caractersticas desse espao, sendo a principal a pouca influencia da luminosidade que ele sofre nas componentes Cb e Cr. Quanto aos intervalos de confiana, para deteco da intensidade de cada cor o sistema teve divergncia entre os valores esperados (tabela9) e os valores reais, isso acontece porque os valores que esto na tabela 9 so intensidades de cores puras, sem influncia da luminosidade, e os valores apresentados na tabela 13 so valores reais de imagens que esto sobre a ao de luminosidade. E que conseqentemente tem variao nas componentes de crominncia mesmo que pequena.

64

Tabela 13Limite Superior e Inferior de cada cor - Real

Componente Mdia Desvio Padro Y 124,1 14 Cb 128,7 14 VERMELH O Cr 142,45 14 Y 130,9 14 Cb 140,8 14 VERDE Cr 100,1 14 Y 123,4 14 Cb 191,5 14 AZUL Cr 109,1 14 Y 151,9 14 Cb 110,7 14 AMARELO Cr 123,8 14 Y 125,5 14 Cb 172,4 14 MAGENTA Cr 137,1 14 Y 130,7 14 Cb 186,5 14 CIANO Cr 89,5 14 Y 155,15 14 Cb 148,5 14 BRANCO Cr 127,7 14 Y 106,1 14 Cb 139,8 14 PRETO Cr 127 14

COR

Limite Inferior 115,7 128,45 116,9 126,8 86,1 109,4 177,5 95,1 137,9 96,7 109,8 111,5 158,4 123,1 116,7 172,5 75,5 141,15 134,5 113,7 92,1 125,8 113

Limite Superior 141,7 156,45 144,9 154,8 114,1 137,4 205,5 123,1 165,9 124,7 137,8 139,5 186,4 151,1 144,7 200,5 103,5 169,15 162,5 141,7 120,1 153,8 141

Em relao deteco de bordas, para as aplicaes feitas neste projeto comprovouse que o melhor mtodo de deteco de bordas o operador de Sobel,em relao aos mtodos de Roberts e de Canny. O mtodo de Sobel alm de destacar com mais intensidade as bordas em relao aos outros mtodos, suaviza a imagem ao mesmo tempo. Todos os mtodos trabalham com a convoluo entre as mscaras e a imagem original. Entre os operadores, observou-se que o operador de Roberts no obteve uma visualizao com todas as bordas detectadas para a visualizao da deteco dos nmeros e das caractersticas de cada cdula, por ser uma mscara de dimenso 2x2. E o operador de Cannytem muito rudo, portanto o operador de Sobel se adqua melhor para este trabalho pelo fato do operador de Sobel ter um peso maior no pixel central que o operador de Canny.

65

Na Figura 33, visualiza-se a comparao entre os operadores de Roberts, Cannye Sobel. Observa-se que na comparao entre os operadores, o detector de Sobel destaca melhor as bordas. As setas vermelhas indicam os locais com rudos que no so desejados para a deteco das bordas das cdulas.

a)

b)

c)
Figura 33-a) Operador Roberts. b) Operador Canny. c) Operador Sobel

Alm da anlise de melhor deteco de aresta e menor quantidade de rudo, para a escolha do melhor operador de deteco de bordas para esse trabalho, fez-se tambm o levantamento do tempo de processamento de cada operador. A tabela 14 mostra uma amostra de 10 tempos para cada operador e a mdia desses tempos.
Tabela 14-Anlise dos tempos de processamento de cada operador

Tempos (s) t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 Mdia

Sobel 6.8796 6.9732 6.9888 7.0356 6.8484 6.8952 6.5364 6.6612 6.786 7.0668 6.86712

Operadores Roberts 7.8157 6.8016 6.942 6.7392 8.2837 6.8172 7.3008 7.6284 7.3164 8.1589 7.38039

Canny 9.0169 7.1292 9.1261 7.4412 7.6128 8.4865 7.9873 8.5801 9.2041 8.1277 8.27119

66

Com esses dados conclu-se que o melhor operador para esse sistema de fato o Operador Sobel, pois este o mtodo que traz mais informaes da imagem com menos rudo, com as bordas mais destacadas em relao aos outros operadores. E aliado a isso possui o menor tempo de processamento dos trs. Dessa maneira na tabela 15 pode-se verificar a comparao entre os trs mtodos.
Tabela 15 - Comparao entre os operadores mais utilizados de deteco de bodas. Constatados empiricamente.

Algoritmo Rudos Custo computacional Avaliao final Roberts Apresenta Mdio Rpido, mas impreciso Canny Apresenta muito Alto Lento, e impreciso Sobel Quase nenhum Baixo Eficaz

4.1.

RESULTADOS QUANTITATIVOS E QUALITATIVOS

Os testes feitos no ambiente controlado tiveram 95% de acerto na deteco de cores e cdulas. Nos testes realizados com interferncia de luminosidade externa se tiveram 100% de acerto nas cores primrias (vermelho, azul, verde) e 80% nas cores sencundrias (ciano, amarelo e magenta). A cor que teve mais dificuldade de deteco no ambiente no controlado foi o amarelo, pois dependendo do tipo de incidncia da luz ou da presena ou ausncia de sombras, essa cor era detectada como vermelho ou branco. Para a deteco de cdulas separou-se quatro cdulas para o experimento: 2, 5, 10, 20 reais. Na deteco no ambiente controlado a resposta positiva foi 95%. Quanto posio que a cdula esta diante da cmera, tem-se a especificao na tabela 16.
Tabela 16 - Posies nas quais o programa faz a deteco de cdula.

Posio

Deteco

Posio

Deteco

SIM

NO

NO

NO

67

5. CONCLUSES

A partir dos resultados obtidos, conclui-se que o sistema de viso desenvolvido para deteco de cores mostrou desempenho razovel e cumpre o que foi proposto. Alm de obter uma exatido na deteco de cores no ambiente controlado, o sistema tambm garante uma repetibilidade nos resultados em ambientes no controlados para as cores primrias. Isto significa que se o sistema tem ferramentas para deteco de cores de objetos e cdulas para ambientes com boa iluminao. Outro aspecto importante que o sistema de classificao de cdula tambm demonstrou ser eficiente (95% de acerto no ambiente controlado), mesmo tendo sido testado para classificar apenas quatro cdulas e com uma amostragem consideravelmente pequena (apenas 25 amostras foram analisadas).

5.1. SUGESTES PARA TRABALHOS FUTUROS

A partir da simulao do sistema de viso computacional desenvolvido neste trabalho, so propostos alguns trabalhos futuros. Dentre eles tem-se: A melhoria na identificao de cores e mais acuracidade na deteco de cdula,

alm de detectar a cdula em ambos os lados e independente da posio; A mudana da linguagem m para uma linguagem de software livre como, por

exemplo, JAVA, C++ ou OPEN CV; Embarcar o sistema em uma plataforma ARM9; Criar um algoritmo de compensao de luminosidade para que o

processamento possa ser realizado sem a necessidade de um ambiente controlado.

68

6. REFERNCIAS BIBLIOGRFICAS

ALVARENGA, A; INFANTOSI, A. F. C.; AZEVEDO, C. M. de; PEREIRA, W. C. de A. Aplicao de operadores morfolgicos na segmentao e determinao do contorno de tumores de mama em imagens por ultra-som, Revista Brasileira de Engenharia Biomdica, 2003; ALVAREZ, R.; MILLN, E.; LPEZ, A. A.; OROPEZA, R. S. Accurate Color Classification and Segmentation for Mobile Robots, Tecnolgico de Monterrey, Campus Estado de Mxico, Mxico, 2007; BARBOSA, B. B. B.; SILVA, J. C. Interao Humano-Computador usando Viso Computacional. Revista TECCEN Edio Especial volume 2- maro de 2009; BROWN, D.; CRAW, I.; LEWTHWAITE, J. A som based approach to skin detection with application in real time systems. In Proc. of the British Machine Vision Conference, 2001. CARDOSO, E. S. J. Compresso de Imagens Utilizando Decomposies em Multiresoluo Morfolgicas, Dissertao de Mestrado, Programa de Engenharia Eltrica, COPPE, Universidade Federal do Rio de Janeiro, Rio de Janeiro, 1999. DAVIES, E. R.. Machine Vision Theory Algorithms Practicalities. Elsevier Morgan Kaufmann, 3a edition, 2005. DESCHAMPS, F. Contribuies para o Desenvolvimento de um Sistema de Viso aplicado ao Monitoramento do Desgaste de Ferramentas de Corte - O Sistema ToolSpy. Dissertao de mestrado, Universidade Federal de Santa Catarina - Programa de Ps Graduao em Engenharia Eltrica, Florianpolis - SC - Brasil, 2004;

69

DUDA, R. O.; HART, P. E.; STORK, D. G. Pattern Classification. Wiley-Interscience Publication, 2000. FREI, W. A New Model of Color Vision and Some Practical Limitations. USCEE Report 530, University of Southern California, Image Processing Institute, Los Angeles, 1974. FORSYTH, D.; PONCE, J. Computer Vision: A Modern Approach, Prentice Hall, Estados Unidos, 2002. GONZALES, R. C.; WOODS, R. E.; EDDINS, S. L. Digital Image Processing Using MATLAB, Nova Jersey: Editora Person Education, INC. 2004. GATTASS, Marcelo. Introduo a cor, 2002 MATURANA, P. S.; Algoritmos de deteco de bordas implementados em FPGA. Dissertao de mestrado, 2010. OLIVEIRA, J. P. de. Mtodo para Extrao de Objetos de uma imagem de referncia esttica com estimativa das variaes de iluminao. Tese de Doutorado, 2009 PRATT, W. K. Digital Image Processing, PIKS Scientific Inside, 2007 SHIH, F. Y. Image Processing and Pattern Recognition: Fundamentals end Techniques. Nova Jersey: Editora Jhon Whiley & Sons, INC. 2010. SCHUMGGE, S. J.; JAYRAM S.; SHIN, M. C.; TASP, L. V. Objective evalution of approaches of skin detection using roc analysis. Computer Vision and Imagem Understanding, 2007 TERRILLON, J. C.; SHIRAZI, M. N.; FUKAMACHI, H.; AKAMATSU, S. Comparative performance of different skin chrominance models and chrominance spaces for the automatic detection of human faces in color images. In Proc. of the International Conference on Face and Gesture Recognition, 2000. VEZHNEVETS, V.; SAZONOV, V.; ANDREEVA, A. A Survey on Pixel-Based Skin Color Detection Techniques. Graphics and Media Laboratory. Faculty of Computational Mathematics and Cybernetics. Moscow State University, Moscou, Rssia. 2005.

70

APNDICE 1 Algoritmo do sistema


%-------------------------------------------------------------- ----------% UNIVERSIDADE DO ESTAD0 DO AMAZONAS-UEA %-------------------------------------------------------------------------% ESCOLA SUPERIOR DE TECNOLOGIA-EST %-------------------------------------------------------------------------% VISO COMPUTACIONAL %-------------------------------------------------------------------------% ALGORITMO DE DETECO DE CORES E CDULAS DE DINHEIRO %-------------------------------------------------------------------------% Autor: Naiallen Rodrigues Lima % % E-mail: naiallen@hotmail.com %-------------------------------------------------------------------------close all% fecha todas as janelas clear % apaga todas as variveis %-------------------------------------------------------------------------% MENU %-------------------------------------------------------------------------k = menu('ESCOLHA A FUNCIONALIDADE','DETECO DE CORES','DETECO DE CDULA','SAIR') if (k==3) close all clear end % DETECO DE CORES if (k==1) a=videoinput('winvideo') preview(a) for r=1:10 frame=getsnapshot (a); i = imcrop(frame,[50 65 570 340]); %background = imopen(i, strel('disk',50)); h=fspecial('average',56); i=imfilter(frame,h,'replicate'); y=rgb2ycbcr(i); %subplot (5,6,r); %subimage(y); %title('Frame',num2str(r)); x(:,r)=mean(mean(i)); j(:,r)=mean(mean(y)); end delete(a); %Mdias das componentes RGB %x1=(sum(x(1,1:10)))/10 %x2=(sum(x(2,1:10)))/10 %x3=(sum(x(3,1:10)))/10 %Mdias das componetes YCbCr j1=(sum(j(1,1:10)))/10 j2=(sum(j(2,1:10)))/10 j3=(sum(j(3,1:10)))/10

71

if (j2>125 && j2<150) && (j3>135 && j3<155) display('COR VERMELHA'); figure; h = uicontrol('Style', 'pushbutton', 'String','VERMELHO','Position', [200 150 200 100],'callback','close all','fontsize' ,20) c='vermelho.wav'; fr=22050; [y] = wavread(c); wavwrite(y, fr, c); sound(y, fr); end if (j2>125 && j2<154) && (j3>86 && j3<114) display('COR VERDE'); figure; h = uicontrol('Style', 'pushbutton', 'String','VERDE','Position', [200 150 200 100],'callback','close all','fontsize' ,20) c='verde.wav'; fr=22050; [y] = wavread(c); wavwrite(y, fr, c); sound(y, fr); end if (j2>177 && j2<205) && (j3>90 && j3<123) display('COR AZUL'); figure; h = uicontrol('Style', 'pushbutton', 'String','AZUL','Position', [200 150 200 100],'callback','close all','fontsize' ,20) c='azul.wav'; fr=22050; [y] = wavread(c); wavwrite(y, fr, c); sound(y, fr); end if (j2>85 && j2<125) && (j3>110 && j3<145) display('COR AMARELO'); figure; h = uicontrol('Style', 'pushbutton', 'String','AMARELO','Position', [200 150 200 100],'callback','close all','fontsize' ,20) c='amarelo.wav'; fr=22050; [y] = wavread(c); wavwrite(y, fr, c); sound(y, fr); end if (j2>158 && j2<186) && (j3>123 && j3<150) display('COR MAGENTA'); c='magenta.wav'; figure; h = uicontrol('Style', 'pushbutton', 'String','MAGENTA','Position', [200 150 200 100],'callback','close all','fontsize' ,20) fr=22050; [y] = wavread(c); wavwrite(y, fr, c); sound(y, fr);

72

end if (j2>172 && j2<200) && (j3>75 && j3<103) display('COR CIANO'); fr=22050; figure; h = uicontrol('Style', 'pushbutton', 'String','CIANO','Position', [200 150 200 100],'callback','close all','fontsize' ,20) c='ciano.wav'; [y] = wavread(c); wavwrite(y, fr, c); sound(y, fr); end if (j1>120)&&(j2>140 && j2<162) && (j3>113 && j3<140) display('COR BRANCO'); c='branco.wav'; figure; h = uicontrol('Style', 'pushbutton', 'String','BRANCO','Position', [200 150 200 100],'callback','close all','fontsize' ,20) fr=22050; [y] = wavread(c); wavwrite(y, fr, c); sound(y, fr); end if (j1<120)&&(j2>135 && j2<162) && (j3>113 && j3<140) display('COR PRETO'); c='preto.wav'; figure; h = uicontrol('Style', 'pushbutton', 'String','PRETO','Position', [200 150 200 100],'callback','close all','fontsize' ,20) fr=22050; [y] = wavread(c); wavwrite(y, fr, c); sound(y, fr); end else display('cor nao identificada') end % if (k==2) a=videoinput('winvideo') preview(a)

DETECO DE CDULA

for r=1:10 frame=getsnapshot (a); i = imcrop(frame,[50 65 570 340]); y=rgb2ycbcr(i); w(:,r)=mean(mean(i)); z(:,r)=mean(mean(y)); if(r==10) b=i; end end delete(a); %Mdia das componentes YCbCr

73

z1=(sum(z(1,1:10)))/10 z2=(sum(z(2,1:10)))/10 z3=(sum(z(3,1:10)))/10 %Deteco de 10 ou 5 reais if (z2>130 && z2<150) && (z3>125 && z3<140) imshow(b); bg = imopen(b, strel('disk',10)); figure; imshow(bg); im = rgb2gray(bg); figure; imshow(im); imtool(im); r=size(im) for i=1:r(1); for j=1:r(2); if im(i,j,1)>122 im(i,j,1)=0; end %if im(i,j,1)<122 %im(i,j,1)=1; %end end end %ima=im; figure; imshow(im); im = double(im)/255; imb1 = edge(im,'sobel'); figure; imshow(imb1); title ('SOBEL'); I = imcrop(imb1,[105 65 155 175]); I = imdilate(I, strel('disk',1)); figure; imshow(I); m=find(I==1); n=size(m); n=mean(n) if(n>1300 && n<1800) display ('10 REAIS') figure; h = uicontrol('Style', 'pushbutton', 'String','10 REAIS','Position', [200 150 200 100],'callback','close all','fontsize' ,20) c='dezreais.wav'; fr=22050; [y] = wavread(c); wavwrite(y, fr, c); sound(y, fr); end if(n>500 && n<1000) display ('5 REAIS') esp=0.2; A=2; B=2; figure; h = uicontrol('Style', 'pushbutton', 'String','5 REAIS','Position', [200 150 200 100],'callback','close all','fontsize' ,20) c='cincoreais.wav'; fr=22050; [y] = wavread(c); wavwrite(y, fr, c); sound(y, fr);

74

return end else display('Cdula no detectada. Tente de novo!') end %Deteco de 20 ou 50 reais if (z2>150 && z2<180) && (z3>130 && z3<140) imshow(b); bg = imopen(b, strel('disk',10)); %figure; %imshow(bg); im = rgb2gray(bg); %figure; %imshow(im); %imtool(im); r=size(im) for i=1:r(1); for j=1:r(2); if im(i,j,1)>130 im(i,j,1)=1; end end end ima=im figure; imshow(ima); im = double(im)/255; imb1 = edge(im,'sobel'); imshow(imb1); title ('SOBEL'); I = imcrop(imb1,[110 60 120 165]); %I = imopen(I, strel('disk',1)); figure, imshow(I) m=find(I==1); n=size(m) if(n>1300 && n<1600) display ('20 REAIS') figure; h = uicontrol('Style', 'pushbutton', 'String','20 REAIS','Position', [200 150 200 100],'callback','close all','fontsize' ,20) c='vintereais.wav'; fr=22050; [y] = wavread(c); wavwrite(y, fr, c); sound(y, fr); end if(n>1600 && n<2000) display ('50 REAIS') esp=0.2; A=2; B=2; figure; h = uicontrol('Style', 'pushbutton', 'String','50 REAIS','Position', [200 150 200 100],'callback','close all','fontsize' ,20) c='cinquentareais.wav'; fr=22050; [y] = wavread(c); wavwrite(y, fr, c); sound(y, fr); return end else

75

display('Cdula no detectada. Tente de novo!') end %Deteco de 2 ou 100 reais if (z2>180 && z2<2400) && (z3>100 && z3<130) imshow(b); bg = imopen(b, strel('disk',10)); %figure; %imshow(bg); im = rgb2gray(bg); %figure; %imshow(im); %imtool(im); r=size(im) for i=1:r(1); for j=1:r(2); if im(i,j,1)>130 im(i,j,1)=1; end end end ima=im figure; imshow(ima); im = double(im)/255; imb1 = edge(im,'sobel'); imshow(imb1); title ('SOBEL'); I = imcrop(imb1,[110 60 120 165]); %I = imopen(I, strel('disk',1)); figure, imshow(I) m=find(I==1); n=size(m) if(n>500 && n<1000) display ('2 REAIS') figure; h = uicontrol('Style', 'pushbutton', 'String','2 REAIS','Position', [200 150 200 100],'callback','close all','fontsize' ,20) c='doisreais.wav'; fr=22050; [y] = wavread(c); wavwrite(y, fr, c); sound(y, fr); end if(n>2000 && n<2500) display ('100 REAIS') esp=0.2; A=2; B=2; figure; h = uicontrol('Style', 'pushbutton', 'String','100 REAIS','Position', [200 150 200 100],'callback','close all','fontsize' ,20) c='cemreais.wav'; fr=22050; [y] = wavread(c); wavwrite(y, fr, c); sound(y, fr); return end else display('Cdula no detectada. Tente de novo!') end end

76

return;