|
|
|


O módulo de entrada é constituído pelos sensores que captam a "imagem" (i.e. uma informação organizada sob a forma de pixels em duas dimensões) e em seguida, enviam os sinal de vídeo, à um conversor analógico digital. Uma imagem digital é discretizada espacialmente (ou seja em x e y) e em luminância (níveis de cinza). A título de exemplo, uma imagem típica de 640x480 por 256 níveis-de-cinza tem 307.200 bytes. Alguns exemplos de módulos de aquisição são: as cameras CCD ou à tubo (Vidicom), os scanners ou ainda alguns sensores dedicados (como sistemas de infravermelho, mapeamento magnético de uma superfície, sensoriamento de radares, etc). A camera é o elemento de aquisição de imagem mais freqüentemente usado. Em uma camera podemos nos interessar por suas características de sensibilidade, resolução e função de transferencia (entre a imagem captada da cena e a intensidade do sinal de vídeo fornecido). Algumas cameras mais sofisticadas permitem ainda controlar o offset ou ganho do sinal de vídeo, possibilitando uma correção do contraste da imagem. Em alguns casos podemos encontrar modulos que permitem o ajuste da iluminação de fundo ou ainda realçar os contornos dos objetos através da execução de funções específicas.
Após a conversão da imagem pelo modulo de conversão analógica digital, cada intensidade indexa uma tabela de conversão. Esta tabela é conhecida como "Look-up table" ou simplesmente LUT. As LUTs são na realidade memórias de acesso rápido que possibilitam a modificação das intensidades adquiridas por valores pré-programados. Podemos por exemplo configurar uma LUT com uma função específica e corrigir, em tempo real, o contraste de uma imagem que esta sendo adquirida pelo ADC. A imagem digital é em seguida armazenada em uma memória principal de acesso exclusivo de um processador gráfico. Este processador é bastante dependente do sistema de processamento de imagens utilizado. Em alguns casos ele pode mesmo não existir, deixando todo o processamento para o processador principal no computador de controle. Este fato dependerá se o computador possue ou não um processador potente para efetuar cálculos matemáticos. No caso do CBPF, dispomos do VISILOG (da Noesis) instalado em uma maquina ULTRA1 da Rede-Sun. Todo o processamento é realizado pelo processador Sun UltraSparc. Não dispomos até o momento de nenhum sistema dedicado de processamento.
No caso de imagens coloridas cada componente
da imagem ("Red", "Green" e "Blue") é armazenada separadamente na
memória principal. Neste texto consideraramos somente imagens em
níveis de cinza, pois grande parte dos algoritmos de análise
de imagens coloridas são feitas recombinando as componentes de cores
e trabalhando com a informação de luminância somente.
A imagem de saída é geralmente reconstruída
através de conversores digitais /Analógicos (DAC), onde
são somados pulsos de sincronização para geração
do sinal de vídeo . Antes de ser reconvertido o sinal pode passar
por outra LUT, desta vez a LUT de saída, que nos permite ajustarmos
regiões da imagem em função da intensidade dos pixels.
Podemos assim associar falsas cores e observarmos "on-line" diferentes
regiões, separadas por diferentes níveis de cinza (técnica
conhecida como "density slice"). A figura 2 apresenta um
exemplo da técnica de "falsas cores" usada em uma imagem de aglomerações
de líquidos magnéticos. Resumidamente, as células
observadas na figura correspondem a uma maior densidade do líquido magnético,
observada através de uma técnica conhecida como Densimetria.
A fonte luminosa envia um feixe de luz através do líquido.
Cada pixel na imagem digital representa na realidade uma medida da absorção
da luz pelo liquido. Nas regiões mais escuras a absorção
da luz é maior, nas mais claras esta é menor. As falsas cores
permitem rapidamente relacionar as regiões equivalentes (em intensidade
luminosa) em diferentes partes da imagem.
Região de Interesse (Area de Interesse)
Um conceito importante em processamento de imagens é a Região de Interesse. Por Região de Interesse (ROI - "Region Of Interest" ou AOI - "Area Of Interest") entende-se como sendo a região definida pelo operador (ou automaticamente a partir de parâmetros obtidos na própria imagem) onde o processamento estará totalmente concentrado. Podemos, por exemplo, definir uma região de interesse onde sabemos por antecedência que a iluminação de fundo é constante ou foi corrigida. Em geral em processamento de imagens iremos sempre encontrar problemas nas bordas da imagem. A criação de regiões de interesse faz com que apareçam também problemas nas bordas das regiões de interesse. A solução deste problema é completamente dependente do problema ao qual o processamento de imagens esta associado, i.e., ao que conhecemos e podemos levar em consideração anteriormente ao processamento.
Quando trabalhamos com imagens é muito freqüente medirmos distâncias. Em muitos casos usamos a definição clássica de distância euclidiana entre dois pontos. Porem devido aos problemas apresentados no parágrafo anterior se torna evidente que a simetria quadrada interfere na execução de alguns algoritmos. Existem diferentes medidas de distância em função da conectividade utilizada. Por exemplo se considerarmos dois pontos p(x,y), q(s,t), da figura 3, teremos as seguintes definições de distância.

Na prática, para realizarmos uma operação de filtragem espacial, devemos escolher uma matriz de dimensão n x n com valores que dependem do filtro que queremos usar, seja ele passa baixa (filtrando as altas freqüências), passa faixa (filtrando uma região específica de freqüências espaciais) ou passa alta (filtrando as baixas freqüências). Em uma imagem as altas freqüências correspondem as modificações abruptas dos níveis de cinza, i.e., as bordas dos objetos. As baixas freqüências correspondem as variações suaves dos níveis de cinza. Logo quando queremos evidenciar os contornos de um determinado objeto podemos usar filtros do tipo passa-alta. Em outros casos podemos estar interessado na forma da iluminação de fundo, onde devemos usar filtros passa-baixa para eliminarmos todas as altas freqüências correspondendo a borda dos objetos, e chegar a iluminacao de fundo.
Resumidamente na figura 5 apresentamos 3 filtros clássicos representados em uma pequena matriz 3x3 e seu efeito numa imagem exemplo (Fig. 5a). Toda as operações realizadas consistem em gerar uma nova imagem onde cada ponto desta imagem corresponde a uma soma dos produtos termo a termo da matriz 3x3 com imagem original. Por exemplo a aplicação do filtro Médio (todos os elementos igual a 1 - Fig. 5b) em uma imagem, eqüivale a um imagem final onde cada pixel corresponde a media local, na imagem original, dele com os 8 pixels vizinhos. Veja o seu efeito na figura 5b. Considere agora o efeito do filtro passa-alta da figura 5c. Todas as variações fortes horizontais, que correspondem as bordas horizontais do objeto, ficaram na imagem final filtrada. Não detalhamos aqui os problemas de representação em números inteiro dos níveis de cinza e de operações em "ponto flutuante", como média ou médias ponderadas. Neste caso a imagem deve ser renormalizada em função de máximos e mínimos.
A segmentação consiste na primeira etapa de processamento da imagem quando consideramos uma análise do ponto de vista da INFORMAÇÃO nela presente. O termo segmentação vem do termo em inglês "image segmentation", criado durante os anos 80. Esta área representa até hoje uma linha de pesquisa importante do processamento de imagens, principalmente por ela estar na base de todo o processamento da informação em uma imagem.
Segmentar consiste na realidade em dividir a imagem em diferentes regiões, que serão posteriormente analisadas por algoritmos especializados em busca de informações ditas de "alto-nível". Por exemplo cada pixel na imagem da figura 2 poderia ser segmentadas em duas regiões: aqueles pertencentes as células e aqueles pertencentes ao fundo da imagem. A imagem obtida neste caso é composta por apenas duas regiões, por exemplo uma região branca (fundo) e outra preta (células/objeto) e esta é conhecida como Imagem Binária. Devido as grandes facilidades na manipulação deste tipo de imagens, principalmente porque reduzimos considerávelmente a quantidade de dados, elas são enormemente utilizadas.
Existem diversas técnicas de segmentação de imagens, mas não existe nenhum método único que seja capaz de segmentar todos os tipos de imagem. Globalmente, uma imagem em níveis de cinza pode ser segmentada de duas maneiras: ou consideramos a semelhança entre os níveis de cinza ou consideramos as sua diferenças. A detecção de um contorno de um objeto, através de matrizes do tipo Passa-Alta, é um exemplo de técnicas baseado nas diferenças. Neste caso estamos segmentando as imagens em regiões que pertencem a borda do objeto e aquelas que pertencem ao interior do objeto ou fundo da imagem.
Reconhecimento é a parte do processamento que vai classificar os objetos à partir de informações encontradas na imagem, geralmente em acordo com um banco de dados previamente estabelecido. Esta fase é geralmente aplicada após uma fase de segmentação da imagem e de uma fase de parametrização. A fase de parametrização identifica e calcula alguns parâmetros (pré-determinados) nos objetos segmentados (como exemplo de algum parâmetro podemos citar o perímetro ou a área de uma determinada forma).
A título de exemplo considere a "assinatura" de uma forma. A representação de uma forma pela sua assinatura é simples e permite facilmente compreender a análise envolvida a ser realizada no seu reconhecimento. Por "assinatura de uma forma" se compreende como a função representativa da distância de todos os pontos da borda do objeto em relação ao seu centro de gravidade. Veja na figura 6 a representação de duas formas clássicas (o QUADRADO e o CÍRCULO) e suas respectivas assinaturas. A assinatura de um CÍRCULO é uma única linha reta, paralela ao eixo das abcissas; já a assinatura de um QUADRADO é uma forma particular contento 4 picos, associados aos seus 4 vértices. Repare que a representação de uma forma através da sua assinatura faz com que a função obtida seja independente da orientação da forma em relação a imagem e se renormalizada podemos ainda eliminar a dependência com a escala (zoom).
Em seguida ao cálculo da assinatura devemos montar um espaço de parâmetros, como mostrado na figura 6. Suponhamos, para fins ilustrativos, que o nosso espaço seja de bi-dimensional, onde representamos no eixo X o número de picos encontrado na assinatura da forma e no eixo Y o valor do seu perímetro. No gráfico da figura 6 o ponto em vermelho representa a forma CÍRCULO e o azul a forma QUADRADA. A linha pontilhada que divide o espaço em duas regiões é considerada o limite entre a forma CÍRCULO e a forma QUADRADA para o espaço 2D adotado. O QUADRADO tem um perímetro igual à 40 pixels e o CÍRCULO igual à 2pr=62.8 pixels. O CÍRCULO não apresenta nenhum pico na sua assinatura; já o QUADRADO apresenta 4. Repare que uma eventual imprecisão na medida do perímetro ou do numero de picos na assinatura não atrapalhará a identificação das formas.
Para terminar é importante lembrar que para diferenciarmos CÍRCULOS de QUADRADOS poderíamos utilizar apenas um dos dois parâmetros para separar as duas formas, porém o objetivo aqui é introduzir as noções de "espaço de medida" e reconhecimento que a diferenciação precisa entre CÍRCULO e QUADRADOS. Vale a pena lembrar que estes espaços são muito importantes e extremamente utilizados em reconhecimento de formas, seja por métodos clássicos ou aqueles que usam Redes Neurais.
Neste artigo discutimos técnicas básicas e introdutórias de processamento de imagens e quando foi o caso exemplificando-as com exemplos diretamente em uma imagem. Devemos lembrar que na prática o processamento de imagens é uma técnica extremamente dependente do problema que queremos resolver. Muitos dos procedimentos usados em processamento de imagens ou visão por computador podem ser caracterizados de rudimentares ou mesmo artezanais quando comparados com o complexo sistema visual humano, pois serão específicos para cada caso.
Sobre equipamentos e links dedicados:
Devemos comentar ainda que o investimento em equipamento modernos de processamento de imagens são ainda muito caros. Uma boa placa de processamento de imagens com um bom software de análise pode custar mais de 100 mil Reais (e são dificilmente encontrados no Brasil). Alguns fabricantes importantes de sistemas de processamento de imagens são: Data Translation, Matrox, Hamamatsu, e outros. Do ponto de vista do grande público podemos encontrar sistemas de processamento de imagens mais simples, mas em geral muito dependente do processador do computador onde esta associado a placa de processamento. Um sistema barato pode custar na faixa de 1.500Us$, permitindo apenas a aquisição e alguns tratamentos que visam melhorar apenas a qualidade visual da imagem. É importante lembrar que existem, para o mundo Macintosh e Unix, sistemas de boa qualidade de domínio público que foram desenvolvidos por organizações governamentais americanas. Para o Macinstosh o software é o NIH-Image do Instituto Americano de Saúde ("National Institute of Health") ver : ftp anonymous : zippy.nimh.nih.gov (pub/nih-image). Para o Unix existe o sistema Khoros, desenvolvido pela Universidade do Novo México, ver http://www.khoros.unm.edu/.
Para saber mais :