Processamento Morfológico de Imagens Digitais em FPGA



Documentos relacionados
CAPÍTULO 5 CIRCUITOS SEQUENCIAIS III: CONTADORES SÍNCRONOS

Carteiras de Mínimo VAR ( Value at Risk ) no Brasil

MAC122 Princípios de Desenvolvimento de Algoritmos EP no. 1

O QUE SÃO E QUAIS SÃO AS PRINCIPAIS MEDIDAS DE TENDÊNCIA CENTRAL EM ESTATÍSTICA PARTE li

UNIVERSIDADE DA MADEIRA

Capitulo 6 Resolução de Exercícios

VII Equações Diferenciais Ordinárias de Primeira Ordem

Parte I - Projecto de Sistemas Digitais

A seguir, uma demonstração do livro. Para adquirir a versão completa em papel, acesse:

INTRODUÇÃO. Exemplos. Comparar três lojas quanto ao volume médio de vendas. ...

Séries de Potências AULA LIVRO

CIRCUITOS SEQUÊNCIAIS

CAPÍTULO 5 - INTRODUÇÃO À INFERÊNCIA ESTATÍSTICA

Os juros compostos são conhecidos, popularmente, como juros sobre juros.

APONTAMENTOS DE ÁLGEBRA LINEAR E GEOMETRIA ANALÍTICA

Análise de Projectos ESAPL / IPVC. Critérios de Valorização e Selecção de Investimentos. Métodos Estáticos

UM MODELO DE PLANEJAMENTO DA PRODUÇÃO CONSIDERANDO FAMÍLIAS DE ITENS E MÚLTIPLOS RECURSOS UTILIZANDO UMA ADAPTAÇÃO DO MODELO DE TRANSPORTE

Prof. Eugênio Carlos Stieler

INTRODUÇÃO A TEORIA DE CONJUNTOS

Otimização e complexidade de algoritmos: problematizando o cálculo do mínimo múltiplo comum

CAP. I ERROS EM CÁLCULO NUMÉRICO

Faculdade de Engenharia Investigação Operacional. Prof. Doutor Engº Jorge Nhambiu

MATEMÁTICA FINANCEIRA

Módulo 4 Matemática Financeira

Faculdade Campo Limpo Paulista Mestrado em Ciência da Computação Complexidade de Algoritmos Avaliação 2

CAPÍTULO 8 - Noções de técnicas de amostragem

ActivALEA. ative e atualize a sua literacia

Artículo técnico CVM-NET4+ Cumpre com a normativa de Eficiência Energética. Novo analisador de redes e consumo multicanal Situação actual

Conceito 31/10/2015. Módulo VI Séries ou Fluxos de Caixas Uniformes. SÉRIES OU FLUXOS DE CAIXAS UNIFORMES Fluxo de Caixa

Unidade V - Desempenho de Sistemas de Controle com Retroação

Capitulo 9 Resolução de Exercícios

Análise no domínio dos tempos de sistemas representados no Espaço dos Estados

Demonstrações especiais

Lista 9 - Introdução à Probabilidade e Estatística

Fundamentos de Bancos de Dados 3 a Prova

Introdução ao Estudo de Sistemas Lineares

AMOSTRAGEM. metodologia de estudar as populações por meio de amostras. Amostragem ou Censo?

defi departamento de física

Testes de Hipóteses para a Diferença Entre Duas Médias Populacionais

Sistema Computacional para Medidas de Posição - FATEST

O erro da pesquisa é de 3% - o que significa isto? A Matemática das pesquisas eleitorais

somente um valor da variável y para cada valor de variável x.

(1) Escola Politécnica da Universidade de São Paulo (2) E. J. Robba Consultoria & Cia. Ltda.

Campus II - Campina Grande, PB, Brasil

Tabela Price - verdades que incomodam Por Edson Rovina

Aplicação de geomarketing em uma cidade de médio porte

1.4- Técnicas de Amostragem

RESISTORES E RESISTÊNCIAS

Um Protocolo Híbrido de Anti-colisão de Etiquetas para Sistemas RFID

PRESTAÇÃO = JUROS + AMORTIZAÇÃO

O TESTE DOS POSTOS ORDENADOS DE GALTON: UMA ABORDAGEM GEOMÉTRICA

JUROS COMPOSTOS. Questão 01 A aplicação de R$ 5.000, 00 à taxa de juros compostos de 20% a.m irá gerar após 4 meses, um montante de: letra b

MINISTÉRIO DAS CIDADES, ORDENAMENTO DO TERRITÓRIO E AMBIENTE Instituto do Ambiente PROCEDIMENTOS ESPECÍFICOS DE MEDIÇÃO DE RUÍDO AMBIENTE

Fundamentos de Bancos de Dados 3 a Prova

Influência do ruído aéreo gerado pela percussão de pavimentos na determinação de L n,w

1.1 Comecemos por determinar a distribuição de representantes por aplicação do método de Hondt:

PG Progressão Geométrica

Tipos abstratos de dados (TADs)

MOMENTOS DE INÉRCIA. Física Aplicada à Engenharia Civil II

Duas Fases da Estatística

1.5 Aritmética de Ponto Flutuante

Endereço. Dados. Mem Read Mem select

Jackknife, Bootstrap e outros métodos de reamostragem

EQUAÇÕES DIFERENCIAIS LINEARES DE ORDEM N

a taxa de juros i está expressa na forma unitária; o período de tempo n e a taxa de juros i devem estar na mesma unidade de tempo.

Problema de Fluxo de Custo Mínimo

Calendário de inspecções em Manutenção Preventiva Condicionada com base na Fiabilidade

Anexo VI Técnicas Básicas de Simulação do livro Apoio à Decisão em Manutenção na Gestão de Activos Físicos

APOSTILA MATEMÁTICA FINANCEIRA PARA AVALIAÇÃO DE PROJETOS

J. A. M. Felippe de Souza 9 Diagramas de Bode

M = C (1 + i) n. Comparando o cálculo composto (exponencial) com o cálculo simples (linear), vemos no cálculo simples:

Esta Norma estabelece o procedimento para calibração de medidas materializadas de volume, de construção metálica, pelo método gravimétrico.

Computação Científica - Departamento de Informática Folha Prática 1

ENGENHARIA ECONÔMICA AVANÇADA

A soma dos perímetros dos triângulos dessa sequência infinita é a) 9 b) 12 c) 15 d) 18 e) 21

PROF. DR. JACQUES FACON

ANDRÉ REIS MATEMÁTICA. 1ª Edição NOV 2013

Portanto, os juros podem induzir o adiamento do consumo, permitindo a formação de uma poupança.

JUROS SIMPLES. 1. Calcule os juros simples referentes a um capital de mil reais, aplicado em 4 anos, a uma taxa de 17% a.a.

Até que tamanho podemos brincar de esconde-esconde?

LAYOUT CONSIDERAÇÕES GERAIS DEFINIÇÃO. Fabrício Quadros Borges*

A TORRE DE HANÓI Carlos Yuzo Shine - Colégio Etapa

5 Proposta de Melhoria para o Sistema de Medição de Desempenho Atual

M = 4320 CERTO. O montante será

Estatística stica para Metrologia

Testes χ 2 (cont.) Testes χ 2 para k categorias (cont.)

5- CÁLCULO APROXIMADO DE INTEGRAIS 5.1- INTEGRAÇÃO NUMÉRICA

Projetos de Controle

PROBABILIDADES E ESTATÍSTICA

UM NOVO OLHAR PARA O TEOREMA DE EULER

Fundamentos de Bancos de Dados 3 a Prova

37ª OLIMPÍADA BRASILEIRA DE MATEMÁTICA PRIMEIRA FASE NÍVEL 3 (Ensino Médio) GABARITO

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011

Lista 2.1 Breves Revisões de Lógica; Noção de Norma e Distância; Breves Noções Topológicas em R n

Tópicos de Mecânica Quântica I. Equações de Newton e de Hamilton versus Equações de Schrödinger

UFRGS MATEMÁTICA

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DE TRANSPORTES E GESTÃO TERRITORIAL PPGTG DEPARTAMENTO DE ENGENHARIA CIVIL ECV

Curso MIX. Matemática Financeira. Juros compostos com testes resolvidos. 1.1 Conceito. 1.2 Período de Capitalização

UM ESTUDO DO MODELO ARBITRAGE PRICING THEORY (APT) APLICADO NA DETERMINAÇÃO DA TAXA DE DESCONTOS

O poço de potencial infinito

Transcrição:

VIII Joradas sobre Sistemas Recofiguráveis Processameto Morfológico de Images Digitais em FPGA Aa Rita Silva Horácio C. Neto INESC-ID/IST/UTL INESC-ID/IST/UTL Resumo Este trabalho evolveu o projecto de um processador dedicado para a execução de operações morfológicas biárias para o processameto digital de images uma FPGA. Com base o estudo da morfologia matemática e cosiderado a imagem biária, projectou-se uma arquitectura de multiprocessameto, especificada em VHDL, apta a realizar as operações morfológicas biárias sobre images com diferetes resoluções e elemetos estruturates variados. Os resultados obtidos foram aalisados detalhadamete, em termos de desempeho e área, em fução da dimesão das images evolvidas. Por fim, desevolveu-se, como demostrador, uma arquitectura capaz de detectar uma dada cofiguração uma imagem.. Itrodução A Morfologia Matemática tem um papel importate a área de processameto de images, correspodedo as suas ferrametas básicas, dilatação e erosão, a operações biárias simples a executar sobre os pixéis de images digitais. O ecadeameto de operações deste tipo permite a realização eficiete de um úmero sigificativo de algoritmos de processameto de images, tais como a abertura, o fecho ou a extracção ou detecção de compoetes. O facto de as operações fudametais serem operações biárias pixel a pixe facilita a sua cocretização directa em hardware digital e permite coseguir realizações extremamete eficazes em dispositivos lógicos programáveis (FPGA). O presete trabalho teve como objectivo projectar e implemetar um processador digital de imagem especializado, para executar operações morfológicas biárias sobre images a preto e braco, de forma a coseguir realizar os pricipais algoritmos de processameto que se baseiam este tipo de operação. Os compoetes do sistema foram implemetados de forma parametrizáve com a Este trabalho foi fiaciado pela FCT (fiaciameto pluriaual do INESC-ID) através de fudos do programa PIDDAC. fialidade de permitir realizar operações sobre images de diferetes resoluções. 2. Processameto de Imagem Morfológico A imagem digital pode ser cosiderada como uma matriz, cujos ídices de lihas e coluas idetificam um poto a imagem e o correspodete valor desse poto, deomiado pixe idetifica a itesidade da imagem. A palavra morfologia é usada o cotexto da morfologia matemática como uma ferrameta para extrair iformações relativas à geometria e tipologia de um cojuto descohecido, a imagem []. A morfologia matemática [2] está relacioada com a teoria dos cojutos e com a álgebra de Miwosi [3], forecedo uma ferrameta eficaz para a aálise geométrica de images. A ideia básica da morfologia biária é percorrer uma imagem com um elemeto estruturate e quatificar a forma como este se ecaixa ou ão a imagem. O elemeto estruturate é também uma imagem digital biária, geralmete meor que a imagem a aalisar, defiido por um pixel deomiado origem que idetifica o pixel a ser processado. Cosiderado A a imagem origial e o elemeto estruturate, fig. 2., descrevem-se abaixo as operações básicas da morfologia biária: dilatação e erosão. Imagem A Imagem Figura 2.. Imagem origial e Elemeto Estruturate. A operação de dilatação, A, tem como objectivo ampliar gradualmete as froteiras da imagem, fazedo com que os cojutos a preto aumetem de tamaho, equato os buracos o iterior das regiões se toram meores, fig. 2.2 (a). Por sua vez, a operação de erosão, AΘ, tem como propósito reduzir os limites da imagem, fazedo com que os cojutos de pixéis a preto 5

VIII Joradas sobre Sistemas Recofiguráveis dimiuam de tamaho, equato os buracos essas áreas tedem a aumetar, fig.2.2 (b). (a) (b) Abertura Fecho Trasformação Hit-or-miss Ao = ( AΘ) A = ( A ) Θ A = ( AΘ ) ( AΘ2) A AΘ Figura 2.2. Dilatação e Erosão de uma imagem biária. Os pixéis da imagem resultate da dilatação e da erosão são obtidos pelas expressões (2.) e (2.2), respectivamete. D = Σ b. a ) (2.) j, i ( j i E j, i ( j+ i+ C = Π b. a ) (2.2) As equações fazem uso de matrizes biárias com 2-dimesões, possibilitado um modelo apropriado para implemetações em hardware [5]. Em relação às equações (2.) e (2.2), D j,, i E j, i são elemetos da matriz biária represetado as images resultates da dilatação e da erosão e a, j i a costituem os elemetos deslocados j+ i+ dos pixéis da imagem A, a j,. i O valor do deslocameto a efectuar é determiado pelo elemeto b, do elemeto c estruturate, cujo complemeto lógico é b. A propriedade (2.3) permite executar duas dilatações em paralelo, sedo que a imagem fial represeta a uião dos resultados parciais obtidos; o mesmo se aplica à erosão, propriedade (2.4), sedo o resultado fial a itersecção dos resultados parciais. l A ( C D) = ( A C) ( A D) (2.3) AΘ ( C D) = ( AΘC) ( AΘD) (2.4) O ecadeameto das operações básicas permite a realização de um úmero sigificativo de algoritmos de processameto de images []. Apresetam-se algus exemplos a tabela 2.. De etre a variedade de sistemas de processameto morfológico, existem sistemas implemetados com base em filtros morfológicos [4, 6], com base o modelo systolic array paradigm [5, 7, 8] e sistemas orgaizados em pipelie [9, ]. A arquitectura proposta em [5] utiliza um elemeto de processameto combiado Erosão- Dilatação (CED), que permite realizar as operações básicas e os algoritmos abertura e fecho, cosiderado elemetos estruturates de -dim e tamaho M. Extracção de cotoros Preechimeto de uma região, dado um poto p a região. Compoetes coectados, dado um poto p do compoete. β ( A) = A ( AΘ) ( X = K Tabela 2.. Algoritmos de processameto de images. O sistema é costituído por M blocos iguais ao apresetado a fig. 2.3 de [5]. Cada um dos blocos represeta um pixel do elemeto estruturate, correspodedo o segmeto de cima à operação de erosão e o de baixo à de dilatação. Figura 2.3. Estrutura itera do bloco [5]. C ) A ; X = p e =,2,3... A arquitectura usa os segmetos de erosão e dilatação em pipelie para realizar os algoritmos abertura e fecho. Quado são efectuadas as operações básicas, a imagem de etrada é dividida em duas partes e cada uma delas é atribuída a um dos segmetos, de modo a que possam ser utilizados ambos ao mesmo tempo. A tabela 2.2 idica o úmero de ciclos de processameto, cosiderado images com dimesões NxM e o elemeto estruturate de uma dimesão, com tamaho M. Para processar elemetos estruturates de 2- dimesões, o elemeto de 2-dim é decomposto em elemetos de -dim sedo possível realizar as dilatações em paralelo. Uido os resultados parciais obtém-se o resultado fial da dilatação, coforme ilustrado a fig. 2.4 de [5]. No caso da operação de erosão o resultado fial é obtido pela itersecção dos resultados parciais. X X ( X = K ) A; X = p e =,2,3... 6

VIII Joradas sobre Sistemas Recofiguráveis Figura 3.. Uidade de Dilatação. Operação Dilatação Erosão Abertura/Fecho Primeira Arquitectura M ++ 2M ++ 3M + 2 + Seguda Arquitectura M + 3 + 2 2M + 3 + 2 3M + 2 + Tabela 2.2. Ciclos de processameto de [5]. Para efectuar as operações básicas são usadas as duas uidades em separado; o caso dos algoritmos fecho e abertura são usadas de forma ecadeada. Como modelo de implemetação cosidera-se uma imagem com tamaho máximo 28x28 e um elemeto estruturate com tamaho máximo 3x3, cujo pixel origem se localiza o cato superior esquerdo, fig. 3.2. A posição do pixel origem determia a ordem pela qual os pixéis da imagem A são ispeccioados. Figura 3.3. Elemeto Estruturate. De acordo com a equação (2.3), é possível decompor o elemeto estruturate de 2-dim em = 2, executado-se três dilatações em 3 paralelo, equação (3.). Figura 2.4. Operação de Dilatação com um elemeto estruturate com três lihas [5]. 3. Arquitectura de Processameto Morfológico A arquitectura proposta o âmbito deste trabalho utiliza blocos semelhates à arquitectura apresetada a secção 2 [5], mas recorredo a meos recursos e implemetado directamete as operações para elemetos estruturates de 2-dim. O sistema é costituído por uma uidade de cotrolo, uma uidade de dilatação e uma uidade de erosão, fig. 3.. Figura 3.2. Diagrama de locos. D 3 3 3 = Σ ( b, aj, i ) + Σ( b, aj, i ) + Σ( b2, aj 2, i ) (3.) j, i = = = Cada pixel da imagem dilatada é determiado à vez pela uião dos três resultados parciais,, 2 e 3. No caso da operação de erosão, são realizadas três erosões em paralelo, equação (3.2). 3 3 3 c c c j, i = ( b, + aj, i+ ) ( b, + aj +, i+ ) ( b 2, + aj + 2, i+ ) = = = E (3.2) Para que os cálculos sejam efectuados correctamete as situações froteira, foi ecessário icluir 4 siais de cotrolo para garatir que os cálculos de termos com pixéis fora da imagem A sejam. A Uidade de Dilatação, fig. 3.3, é costituída por 9 blocos uitários de dilatação (UD), cada um cotedo um registo e represetado o cálculo de um termo, por dois registos de deslocameto de 25 bits (28-3) e por uma porta OR que realiza a uião das três dilatações parciais. 7

VIII Joradas sobre Sistemas Recofiguráveis A Uidade de Erosão é também costituída por 9 blocos uitários de erosão, por dois registos de deslocameto com 25 posições e por uma porta AND que realiza a itersecção das três erosões parciais. A tabela 3. idica as estimativas do úmero de ciclos de processameto ecessários para completar cada operação, cosiderado uma imagem de tamaho máximo, N lihas e M coluas, e um elemeto estruturate com tamaho máximo N M com o pixel origem situado o cato superior esquerdo. Operação Dilatação Nº de ciclos Erosão N M + ( N M + M Abertura N M + ( N M + ( M + Fecho N M + ( N M + ( M + Tabela 3.. Estimativa do úmero de ciclos de processameto. Se a imagem tiver pixéis, são ecessários ciclos para completar a operação de dilatação. Isto porque a operação é iiciada com a etrada do primeiro pixel da imagem origial o registo do primeiro bloco uitário e fializa com a etrada do último pixel. No caso da operação de erosão, são precisos ( N M + M ciclos para colocar o primeiro pixel o registo do último bloco uitário da uidade e mais ciclos para realizar os cálculos. Os algoritmos fecho e abertura, por efectuarem as mesmas operações mas por ordem iversa, caracterizam-se pelo mesmo úmero de ciclos. Tomado como exemplo o algoritmo abertura, são ecessários + ( N M + M ciclos para realizar a erosão, dos quais ciclos são usados em paralelo pela uidade de dilatação. Para fializar é ecessário mais ciclo para obter o último pixel. Com base a fig. 3.3, é também possível estimar o úmero de registos e o úmero de LUTs utilizadas como memória as uidades de dilatação e erosão, tabela 3.2. Registos (FFs) ( N M ) SRL (LUT) ( N ) M M 32 Tabela 3.2. Estimativa dos recursos ocupados. O úmero de registos correspode a ( N M ) registos de -bit, e o úmero de SRL é obtido cosiderado que um registo de deslocameto com 32 bits é realizado com LUT e que o úmero total de registos é ( N. A implemetação da arquitectura foi realizada com o ambiete de projecto Xilix ISE versão3. para o dispositivo Virtex 6 XC6VLX75T FF484-3. A tabela 3.3 mostra o úmero de ciclos ecessários para completar cada operação e o respectivo tempo de processameto, tedo em cota a frequêcia máxima de 29 MHz estimada após Sythesis. Operação Nº de ciclos Tempo de Processameto Dilatação 6384 74,6µs Erosão 6642 75,78µs Abertura 6643 75,79µs Fecho 6643 75,79µs Tabela 3.3. Número de ciclos e tempo de processameto. A tabela 3.4 mostra os recursos ocupados por cada uidade. U. Dilatação U. Erosão Registos (FFs) 9 9 LUTs 5 2 - Lógica 7 3 - SRL 8 8 Tabela 3.4. Ocupação de recursos para cada uidade. Os resultados obtidos, tabelas 3.3 e 3.4, estão de acordo com as estimativas geéricas apresetadas as tabelas 3. e 3.2. 4. Arquitectura de Multiprocessameto É possível aumetar o desempeho da arquitectura replicado os blocos de processameto, de modo a cada uidade passar a ser costituída por blocos que fucioam em paralelo processado pixéis por ciclo. Cosiderado o mesmo modelo de implemetação e a etrada de pixéis em paralelo, em cada ciclo, o diagrama da ova uidade de dilatação está esquematizado a fig. 4.. Na figura, P(x) represeta por ordem crescete os pixéis da liha x, P(x+) os da liha x+. A dilatação é, portato, iiciada com a etrada dos pixéis das primeiras lihas, seguido-se as restates lihas, tomado x os valores,, 2, até todos os pixéis serem processados. Os blocos de dilatação são iguais aos implemetados a arquitectura aterior, cada um com N M blocos uitários de dilatação e cada rectâgulo a cizeto represeta um registo de deslocameto. 8

VIII Joradas sobre Sistemas Recofiguráveis P(x) P(x+(-)) P(x+(-2)) Uidade de Dilatação P(x) loco de Dilatação b b b 2 P(x+) P(x) P(x+(-)) P(x+2) P(x+) P(x) P(x+(-)) P(x+(-2)) P(x+(-3)) 2 P(x+) P(x+2) P(x+(-)) b b b 2 b 2 b 2 b 22 loco Uitário Figura 4.. Uidade de Dilatação. O propósito dos registos de deslocameto é armazear lihas que serão ecessárias para cálculos de lihas seguites. A uidade de erosão é semelhate à de dilatação, com a excepção dos blocos serem de erosão e da implemetação de registos de deslocameto à saída dos blocos. Na operação de erosão, o cálculo de uma liha ecessita de saber o valor de lihas seguites, equação (3.2), que podem ão estar icluídas as lihas recebidas; dessa forma, o cálculo das primeiras ( N lihas é realizado em primeiro lugar. Os registos de deslocameto, a colocar à saída dos blocos, servem para armazear essas lihas, para que a saída se teha sempre um cojuto de pixéis válidos. A tabela 4. idica as estimativas do úmero de ciclos de processameto para cada operação, o caso de blocos de processameto paralelo. Operação Nº de ciclos Dilatação Erosão + M + ( M Abertura + M + ( M + Fecho + M + ( M + Tabela 4.. Estimativa do úmero de ciclos. Se a imagem tiver pixéis são ecessários ciclos para completar a operação de dilatação. No caso da operação de erosão são ecessários mais M + M ciclos para se apresetar o primeiro cojuto de pixéis válidos. Da mesma forma que os estudos ateriores, o algoritmo abertura realiza a operação de erosão em + M + M ciclos, dos quais ciclos são usados em paralelo pela uidade de dilatação, sedo ecessário mais ciclo para fializar. Na tabela 4.2 aalisa-se a arquitectura de multiprocessameto, em termos de eficiêcia (cosiderado % um desempeho vezes melhor que o da arquitectura de uiprocessameto); cosiderado-se três images de tamahos diferetes e o elemeto estruturate modelo e =32. Operação 28x28 52x52 24x24 Dilatação % % % Erosão 8% 94% 97% Abertura 8% 94% 97% Fecho 8% 94% 97% Tabela 4.2. Eficiêcia. De acordo com os resultados obtidos, verificase que o aumeto do desempeho da arquitectura de multiprocessameto, relativamete à aterior, é praticamete igual ao úmero de blocos que uma uidade pode coter em paralelo. A tabela 4.3 idica as estimativas do úmero de registos e do úmero de LUTs utilizadas como memória para as duas uidades. M + ( N M Registos (FFs) ( ) SRL (LUTs) Dilatação SRL (LUTs) Erosão ( N ) M M M M 32 M ( N ) + ( ( N ) ) 32 32 Tabela 4.3. Estimativa dos recursos ocupados. Tedo em cota a replicação de registos ilustrada a figura 4., quer a uidade de 9

VIII Joradas sobre Sistemas Recofiguráveis dilatação, quer a de erosão, o úmero de registos (FFs) correspode a ( M ) registos, os quais se armazeam dados vidos da memória e ( N ) M registos para alojar dados proveietes de registos de deslocameto. O cálculo do úmero de SRL é determiado como ateriormete. Na uidade de dilatação, implemetaram-se ( N registos de deslocameto com M M bits. No caso da erosão, são implemetados mais ( N registos à saída dos blocos com M bits. A implemetação da arquitectura, cosiderado o modelo e 32 réplicas de blocos, permitiu obter resultados, quato à ocupação de recursos, idicados a tabela 4.4. U. Dilatação U. Erosão Registos (FFs) 2 62 LUTs 4 333 - Lógica 32 25 - SRL 8 28 Tabela 4.4. Ocupação de recursos para cada uidade. Comparado o úmero de registos com as estimativas defiidas, verifica-se que o úmero obtido para a uidade de erosão fica acima do esperado. Isto deve-se ao facto de a ferrameta ter duplicado algus dos registos existetes. Observado a tabela, coclui-se que, para qualquer uma das uidades, o úmero de LUTs utilizado como lógica ão correspode ao produto etre a quatidade de LUTs de um bloco pelo úmero de blocos implemetados,. Uma vez que a cada bloco correspode o cálculo de um cojuto específico de lihas, ão é ecessário que todos icluam os siais de cotrolo das excepções, sedo, assim, possível dimiuir o úmero de operações lógicas em algus dos blocos. Geeralizado para um qualquer elemeto estruturate e para uma qualquer operação, cada uidade é costituída por N tipos de blocos, dos quais apeas o de meor área é implemetado mais que uma vez, ( N vezes. 5. Resultados Nesta secção aalisam-se os resultados estimados para um cojuto de images padrão e três elemetos estruturates diferetes. Na tabela 5. idetificam-se os padrões seleccioados e as respectivas dimesões em pixéis. Numa primeira aálise, são obtidos resultados quato ao tempo de processameto e ocupação de recursos, tabelas 5.2 e 5.3. Cosidera-se a uidade de dilatação e um elemeto com tamaho 3x3. Padrão Modelo VGA (Video Graphics Array) WVGA (Wide VGA) XGA (Exteded Graphics Array) SXGA(Super XGA) WUXGA (Widescree Ultra XGA) Tabela 5.. Padrões de resolução. Dim (px) 28x28 64x48 8x48 24x768 28x24 92x8 Imagem Modelo VGA WVGA XGA Nº de blocos 32 32 32 32 T. Processameto,5µs 27µs 34µs 7µs Registos 2 2 2 2 LUTs 4 62 62 8 - Lógica 32 32 32 32 - SRL 8 3 3 48 Tabela 5.2. Uidade de dilatação (32 réplicas). Imagem XGA SXGA WUXGA Nº de blocos, 64 64 64 T. Processameto 35µs 58µs 92µs Registos 98 98 98 LUTs 38 324 328 - Lógica 26 26 26 - SRL 48 64 68 Tabela 5.3. Uidade de dilatação (64 réplicas). Observado os resultados, verifica-se que o úmero de registos e de lógica aumeta com o aumeto do úmero de blocos implemetados. O úmero de SRL aumeta com o aumeto do úmero de coluas e, o caso da erosão, aumeta também com o aumeto do úmero de réplicas, de acordo com as estimativas obtidas a tabela 4.3. Por sua vez, o tempo de processameto aumeta com o aumeto do tamaho da imagem e dimiui com o aumeto do úmero de blocos implemetados. Numa seguda aálise, estuda-se o úmero de ciclos de processameto ecessários para completar as operações básicas, cosiderado-se três elemetos estruturates diferetes (3x3,x, 2x2), tabelas 5.4 e 5.5. De acordo com os resultados, verifica-se que, o caso da dilatação, o tamaho do elemeto

VIII Joradas sobre Sistemas Recofiguráveis estruturate ão ifluecia o úmero de ciclos de processameto. No caso da erosão aumeta com o aumeto do úmero de coluas do elemeto. Dilatação VGA XGA XGA SXGA WUXGA locos 32 32 64 64 64 3x3 96 25346 2288 248 324 x 96 25346 2288 248 324 2x2 96 25346 2288 248 324 Tabela 5.4. Número de ciclos para realizar a dilatação. Erosão VGA XGA XGA SXGA WUXGA locos 32 32 64 64 64 3x3 82 25346 358 256 33482 x 89 25353 365 253 33489 2x2 99 25363 375 2523 33499 Tabela 5.5. Número de ciclos para realizar a erosão. Por fim, relacioa-se a variação do tamaho do elemeto estruturate com a ocupação de recursos, tabelas 5.6 e 5.7. Padrão XGA XGA SXGA WUXGA locos 32 64 64 64 Registos 82 46 46 46 LUTs 682 876 246 266 LUTs (%) 5% 26% 27% 27% Tabela 5.6. Elemeto estruturate x. Padrão XGA XGA SXGA WUXGA locos 32 64 64 64 Registos 24 332 332 332 Como coclusão fia verifica-se que o úmero de registos e de lógica aumeta com o aumeto do tamaho do elemeto estruturate e com o aumeto do úmero de réplicas. O úmero de SRL aumeta com o úmero de coluas da imagem. No caso da erosão, aumeta aida com o aumeto do úmero de réplicas. Por último, o úmero de ciclos aumeta com o aumeto do tamaho da imagem e dimiui com o aumeto do úmero de blocos. 6. Algoritmo Hit-or-miss Após o estudo e caracterização das arquitecturas aptas a executar as operações básicas, implemetou-se uma arquitectura apta a realizar o algoritmo Hit-or-miss que permite detectar padrões, localizado objectos uma imagem. O algoritmo é realizado por ecadeameto de duas erosões, coforme idicado a equação (6.). A = AΘ ) ( A c Θ ) (6.) ( 2 De acordo com a equação (6.), a qual represeta o cojuto que se pretede descobrir e 2 o cojuto de elemetos associados com o fudo desse objecto, obtém-se a uidade de processameto esquematizada a fig. 6.. IN AΘ A C Θ 2 AND OUT Figura 6.. Uidade de Processameto. Na implemetação cosiderou-se uma imagem com tamaho máximo 28x28, a qual se pretede detectar o padrão, de tamaho 3x3, usado os elemetos estruturates apresetados a fig. 6.2. LUTs 364 5766 5243 52596 LUTs (%) 66% % 3% 3% Tabela 5.7. Elemeto estruturate 2x2. Observado os resultados, coclui-se que o úmero de registos e de LUTs aumeta também com o aumeto do tamaho do elemeto estruturate. De acordo com a tabela 5.7, o processameto dos padrões com 64 blocos ultrapassa o valor máximo de LUTs dispoíveis o dispositivo cosiderado (o mais pequeo da família Virtex6), pelo que só poderiam ser cocretizados com um dispositivo de maior complexidade, por exemplo, a Virtex6-3 (segudo mais pequeo da família). 2 Figura 6.2. Elemetos estruturates. A uidade de processameto é costituída por duas uidades de erosão iguais, cada uma com 32 blocos, cada um costituído por 25 blocos uitários. Os elemetos estruturates têm o pixel origem localizado ao cetro, por isso a uidade de erosão sofre ligeiras alterações em relação à aterior. A variação da posição iterfere a ordem pela qual são examiados os vários pixéis da imagem, existido alterações a quatidade de registos de deslocameto à saída dos blocos. A restate implemetação matém-se.

VIII Joradas sobre Sistemas Recofiguráveis O úmero de registos de deslocameto é calculado de acordo com a liha em que o pixel origem se situa. No caso da uidade de dilatação, o valor é obtido pela expressão x, ode represeta o úmero de réplicas e x a respectiva coordeada da liha. Esta expressão é empregada em todos os casos, com a excepção do caso em que x tem valor, ou seja, em que ão é ecessário colocar ehum registo de deslocameto. No caso da uidade de erosão, é calculado com base a expressão y, ode y represeta a coordeada simétrica da liha, em relação ao cetro do elemeto estruturate. Da mesma forma que a dilatação, se o pixel estiver a última liha, y terá valor e ão será ecessário colocar ehum registo de deslocameto. A tabela 6. idica o tempo de processameto da arquitectura e a respectiva ocupação de recursos, após implemetação. Frequêcia (max) Tempo de Processameto 92 MHz 3,35µs Registos 48 LUTs 229 - Lógica 28 - SRL 272 Tabela 6.. Tempo de processameto e ocupação de recursos da Uidade de Processameto. Na fig. 6.3 realiza-se uma apresetação ilustrativa do processameto, cosiderado apeas os primeiros x pixéis da imagem origial. A figura (a) represeta a imagem origia cotedo quatro padrões diferetes e a figura (b) o resultado fial após a idetificação do padrão. (a) O resultado é apeas costituído por um poto a preto, que correspode ao cetro ode se localiza o cojuto a detectar. 7. Coclusões (b) Figura 6.3. Imagem iicial e resultado fial. Neste trabalho desevolveu-se e implemetouse uma arquitectura de multiprocessameto, capaz de realizar operações morfológicas sobre images e elemetos estruturates diferetes, processado mais que um pixel em paralelo. Foi realizada uma aálise detalhada da arquitectura, em termos de área e desempeho, para o processameto de um cojuto de images padrão e elemetos estruturates diferetes, cosiderado o dispositivo mais pequeo da tecologia Virtex6. Após este estudo desevolveu-se, como demostrador, um algoritmo que detecta uma determiada cofiguração uma dada imagem. Como trabalho futuro, pretede-se desevolver e implemetar, a mesma arquitectura, algoritmos de processameto mais complexos tais como: extracção de cotoros, preechimeto de regiões, extracção de compoetes, etc. Uma extesão deste trabalho cosistirá o processameto de images digitais directamete em íveis de ciza, ode as operações morfológicas são também aplicadas. Referêcias [] Gozalez, R. C., e Woods, R. E., Digital image processig, 3ª ed., Addiso-Wesley, Readig, Mass., 992. [2] J. Serra, Image Aalysis ad Mathematical Morphology, Lodo: Academic Press 982. [3] R.M. Haralic, S.R. Steberg, X. Zhuag, Image Aalysis Usig Mathematical Morphology, IEEE PAMI-9, o.4, 532-55, Julho 987. [4] Jörg Velte e Ato Kummert, FPGA-based Implemetatio of variable sized structurig elemet for 2D biary morphological operatios, Proceedigs of the First IEEE Iteratioal Worshop o Electroic Desig, Test ad Applicatios (DELTA 2), 22. [5] E.N. Malamas, A.G. Malamos e T.A. Varvarigou, Fast Implemetatio of iary Morphological Operatios o Hardware-Efficiet Systolic Architectures, Joural of VLSI Sigal Processig volume 25, p.79-93, 2. [6] Jörg Velte e Ato Kummert, "Implemetatio of a high-performace hardware architecture for biary morphological image processig operatios," Circuits ad Systems, 24. The 24 47th Midwest Symposium, vol.2, II-24-II-244, 25-28 Julho 24. [7] K.I. Diamatras, K.H. Zimmerma e S.Y. Kug, A liear systolic Array for Real-Time Morphological Image Proessig, Joural of VLSI Sigal Processig Systemsvol.7, 997, p.43-57. [8] K.I. Diamatras, K.H. Zimmerma e S.Y. Kug, Itegrated Fast Implemetatio of Matehmatical Morphology Operatios i Image Processig, IEEE Iteratioal Symposium o circuits ad Systems, 99, vol 2, 442-445. [9] Ly Abott, Robert M. Haralic e Xihua Zhuag, Pipelie Architectures for Morphologic Image Aalysis, vol., 988, 23-4. []F.Y. Shih, C.T. Kig e C.C. Pu, "Pipelie Architectures for Recursive Morphological Operatios, Image Processig, IEEE Trasactios o, vol.4, o., p.-8, Ja 995. 2