Vous êtes sur la page 1sur 72

UNIVERSIDADE DE BRASÍLIA

INSTITUTO DE CIÊNCIAS EXATAS


DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

DETECÇÃO E CLASSIFICAÇÃO AUTOMÁTICA DE


ALGAS PARA MEDIÇÃO DA QUALIDADE DA ÁGUA

POR

RAFAEL SARRES DE ALMEIDA

ORIENTADORA: Dra. Juliana Fernandes Camapum Wanderley

DISSERTAÇÃO DE MESTRADO EM CIÊNCIA DA COMPUTAÇÃO

BRASÍLIA/DF: FEVEREIRO/2004
UNIVERSIDADE DE BRASÍLIA
INSTITUTO DE CIÊNCIAS EXATAS
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

DETECÇÃO E CLASSIFICAÇÃO AUTOMÁTICA DE


ALGAS PARA MEDIÇÃO DA QUALIDADE DA ÁGUA

RAFAEL SARRES DE ALMEIDA

DISSERTAÇÃO DE MESTRADO SUBMETIDA AO DEPARTAMENTO DE CIÊNCIA DA


COMPUTAÇÃO DO INSTITUTO DE CIÊNCIAS EXATAS DA UNIVERSIDADE DE BRASÍLIA
COMO PARTE DOS REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE
MESTRE.

APROVADA POR:

JULIANA FERNANDES CAMAPUM WANDERLEY, ENE/UnB/PhD


(ORIENTADORA)

RENATO DA VEIGA GUADAGNIN, UCB/UnB/Doutor


(EXAMINADOR EXTERNO)

ROBERTO BRANDÃO CAVALCANTI, Doutor


(EXAMINADOR EXTERNO)

BRASÍLIA-DF, 12 DE FEVEREIRO DE 2004.

ii
FICHA CATALOGRÁFICA

ALMEIDA, RAFAEL SARRES


Detecção e Classificação Automática de Algas para Medição da Qualidade da Água
[Distrito Federal] 2004.
xiv, 83p., 297mm (CIC/IE/UnB, Mestre, Ciência da Computação, 2004).
Dissertação de Mestrado – Universidade de Brasília. Instituto de Ciências Exatas.
Departamento de Ciência da Computação.

REFERÊNCIA BIBLIOGRÁFICA

ALMEIDA, R. S (2004). Detecção e Classificação Automática de Algas para Medição da


Qualidade da Água. Dissertação de Mestrado, Departamento de Ciência da Computação,
Universidade de Brasília, Brasília, DF, 72p.

CESSÃO DE DIREITOS

NOME DO AUTOR: Rafael Sarres de Almeida


TÍTULO DA DISSERTAÇÃO: Detecção e Classificação Automática de Algas para Medição da
Qualidade da Água
GRAU/ANO: Mestre/2004.

É concedida à Universidade de Brasília permissão para reproduzir cópias desta dissertação de


mestrado e para emprestar ou vender tais cópias somente para propósitos acadêmicos e
científicos. O autor reserva outros direitos de publicação e nenhuma parte desta dissertação de
mestrado pode ser reproduzida sem a autorização por escrito do autor.

Rafael Sarres de Almeida


SHIS QI 28 conjunto 1 casa 9
71670-210 Brasília –DF

iii
AGRADECIMENTOS

Agradeço:

• A equipe da UnB que sempre trabalhou e acreditou no projeto, em especial aos professores
Renato da Veiga Guadagnin e Roberto Brandão Cavalcanti.

• A equipe de biologia da CAESB (Companhia de Saneamento do Distrito Federal) Cristine


Gobbato Brandão Cavalcanti, Sônia Paulino Mattos e Fernando Starling, que juntamente com a
estagiária Simone de Sá Vasconcelos forneceram as imagens sempre que necessário para os
ajustes do algoritmo.

• Ao meu irmão, Marcos José Sarres de Almeida, que trabalhou na parte computacional do
projeto.

• Ao professor Mário Dantas, que me deu valiosos conselhos e sempre esteve disposto a ajudar
no que fosse necessário para a conclusão deste trabalho.

• Agradeço também a minha orientadora, a professora Juliana Wanderley, que me guiou no


trabalho e sempre me ajudou nas dificuldades, me levando a conclusão deste projeto.

iv
SUMÁRIO
1. Introdução................................................................................................................... 1
1.1 Objetivos............................................................................................................... 4
1.2 Motivação ............................................................................................................. 5
1.3 Organização da Dissertação................................................................................... 7
2. Revisão bibliográfica .................................................................................................. 9
2.1 Transformação em escala de cinza......................................................................... 9
2.2 Binarização ......................................................................................................... 10
2.3 Thresholding ....................................................................................................... 11
2.4 Segmentação ....................................................................................................... 15
2.5 Detecção de borda ............................................................................................... 19
2.6 Identificação de objetos usando sua borda ........................................................... 22
3. Caracterização do problema e desenvolvimento ........................................................ 23
3.1 Metodologia do processo de contagem de algas manual....................................... 23
3.1.1 Análise quantitativa de Fitoplâncton ............................................................ 24
3.2 Metodologia do processo de contagem de algas automático................................. 26
3.2.1 Cálculo do volume do campo de visão da câmera ......................................... 26
3.1.2 Cálculo da biomassa algal – Algas unicelulares ........................................... 27
3.2.2 Cálculo da biomassa algal – Algas filamentosas........................................... 27
3.3 Metodologia do algoritmo de processamento de imagens..................................... 30
3.4 Descrição do algoritmo........................................................................................ 30
3.4.1 Fluxograma .................................................................................................. 32
3.4.2 Descrição do fluxograma.............................................................................. 33
3.4.3 Descrição do algoritmo de detecção de alga filamentosa Cylindrospermopsis
raciborskii ............................................................................................................. 34
3.4.4 Identificação da alga Staurastrum................................................................. 40
3.4.5 Identificação da alga Cosmarium ................................................................. 41
4. Resultados e Análise ................................................................................................. 42
4.1 Interface Gráfica.................................................................................................. 43

v
4.2 Análise estatística................................................................................................ 45
4.3 Conclusões da análise estatística.......................................................................... 58
5. Conclusões................................................................................................................ 60
5.1 Propostas para trabalhos futuros .......................................................................... 62
6. Referências Bibliográficas......................................................................................... 63

vi
RESUMO

O processo de determinação da qualidade da água de reservatórios, rios e lagos, usado


amplamente hoje nos órgãos responsáveis pela distribuição de água nas cidades é problemático e
requer um tempo demasiadamente elevado. Uma parte deste processo se baseia em uma
contagem de algas observando-se a amostra no microscópio, podendo um técnico do laboratório
ficar horas ocupado somente com uma amostra realizando a contagem de algas ao microscópio,
assim esta tarefa foi escolhida para ser automatizada. Para tal, será implementado um novo
algoritmo de segmentação de imagens binárias baseado na forma. Este algoritmo aplica
iterativamente na imagem um conjunto de condições relativas a relação entre os pixels da
vizinhança-de-8. Estas condições são estabelecidas a partir do formato das algas que serão
detectadas. Para testar a eficiência do sistema, 50 imagens de amostras de água foram submetidas
ao sistema para contabilização da biomassa algal filamentosa presente. Os resultados estatísticos
e correlação com o procedimento manual mostram que a contagem automática e semi-automática
tiveram resultados satisfatórios, podendo substituir o procedimento manual. A contribuição deste
trabalho inclui tanto o algoritmo de segmentação que está proposto quanto a aplicação de
automatização da determinação da qualidade da água através da detecção de algas, tópico pouco
pesquisado pela comunidade científica.

Palavras chave: alga, binarização, segmentação, vizinhança-de-8, biomassa

vii
ABSTRACT

The process of determination of the quality of water reservoirs, rivers and lakes, used
widely today in the responsible agencies for the water distribution to the cities is problematic and
requires a high time. One part of this process is to observe a sample in the microscope and count
algae, so one technician of the laboratory can be hours busy only with a sample, thus this task
was chosen to be automatized. For such, a new algorithm for segmentation of binary images
based in the form will be implemented. This algorithm iteratively applies in the image a set of
relative conditions on the pixels of the neighborhood-of-8. These conditions are established from
the shape of the algae that will be detected. To test the efficiency of the system, 50 images of
water samples had been submitted to the system for accounting of the algal biomass. The
statistical results and correlation with the manual procedure show that the automatic and half-
automatic counting had resulted satisfactory, being able to substitute the manual procedure. The
contribution of this work in such a way includes the segmentation algorithm that is proposed and
the automatization of the determination of the quality of the water through the algae detention,
topic little researched by the scientific community.

Keywords: algae, thresholding, segmentation, neighborhood-of-8, biomass

viii
1

1. Introdução

Com o passar dos anos a área de visão computacional e de processamento de imagens


vem se desenvolvendo com novos estudos e projetos. A utilização desse conhecimento para
outras áreas da ciência, está ajudando a automatizar diversos processos.

O processo de determinação da qualidade da água de reservatórios, rios e lagos, usado


amplamente hoje nos órgãos responsáveis pela distribuição de água nas cidades é problemático e
requer um tempo demasiadamente elevado [4]. Uma parte deste processo se baseia em uma
contagem de algas. As algas tem um importante papel na determinação da qualidade da água em
lagos de água doce, reservatórios e rios [1]. É a existência de organismos que fornece informação
sobre a qualidade da água em longo prazo. [4] Assim, amostras de algas são observadas no
microscópio, podendo um técnico do laboratório ficar horas ocupado somente com uma amostra
realizando a contagem de algas ao microscópio. Este processo é muito cansativo e exige bastante
da visão da pessoa, pois todo o trabalho é realizado no microscópio.

Com a finalidade de automatizar este processo de contagem, o departamento de


Ciência da Computação, em conjunto com o departamento de Ciências Biológicas, uniram
esforços para juntar conhecimentos adquiridos e começar um processo de automatização
computacional de tarefas antes realizadas por biólogos. Esta tarefa foi escolhida por ser
“mecânica”, repetitiva e demandar muitas horas de trabalho dos profissionais. Tais tarefas
geralmente desperdiçam a força de trabalho produtiva de pessoas que poderiam estar realizando
trabalhos que realmente utilizassem os seus conhecimentos científicos. Após uma extensa
pesquisa bibliográfica, foi possível verificar que não existem muitas publicações nesta área,
excetuando-se os trabalhos de Thiel, Wiltshire e Davies [4] e Walker [5]. Portanto a contribuição
deste trabalho inclui tanto a técnica de segmentação implementada quanto a área de aplicação.

O grupo do projeto formou uma parceria com a Companhia de Águas e Esgotos de


Brasília ( CAESB ), uma vez que esta é a empresa responsável pelo saneamento da rede de águas
e esgotos da cidade. Tal parceria é uma experiência muito boa para ambas as partes, tanto para o
projeto que se depara com problemas reais da área biológica, quanto para a empresa em questão
que implementa novas soluções e moderniza seus procedimentos.
2

Como tarefa a ser automatizada foi escolhida a contagem de algas em amostras de


águas. A quantidade de alguns tipos de alga em um rio ou lago é um dos fatores utilizados para se
definir qual o nível de poluição existente em uma determinada área, e o trabalho é feito com a
análise de amostras de água por microscópio. O biólogo prepara a amostra na lâmina e começa a
observá-la, à procura das algas. Para cada campo de observação ele identifica as algas, e as mede
uma a uma com o auxílio de uma régua especial. Logo após a análise de vários campos, ele soma
todos os comprimentos e aplica uma fórmula matemática para se determinar qual a massa de
algas por unidade de volume. Este é o valor necessário para se analisar e tirar conclusões.

Todo este procedimento tem sido relatado como muito cansativo, apesar de ser de
fundamental importância. O profissional perde muito tempo para se obter o resultado final, o que
torna o trabalho algo estressante.

A alga indicada pelos profissionais da CAESB como necessária para a determinação


da qualidade da água foi a Cylindrospermopsis raciborskii, uma alga filamentosa (Figura 1.1)
amplamente encontrada no lago Paranoá.

Durante o projeto, foram encontradas diversas dificuldades que atrasaram o seu


desenvolvimento. Um dos mais sérios foi a demora na aquisição dos equipamentos de captura de
imagens diretamente do microscópio. Enquanto esse equipamento não estava disponível, as
imagens eram transferidas ao computador por um processo lento e dispendioso. Esse processo
baseava-se no uso de uma câmera fotográfica de película, com a posterior revelação das fotos e
digitalização por meio de um scanner.

Figura 1.1 Imagem de algas Cylindrospermopsis raciborskii


3

Os problemas deste processo são evidentes, pois existe o gasto com o filme e a
revelação das fotos e a demora para se obter a imagem digitalizada, além da qualidade inferior da
imagem. Isso atrasou bastante a criação do banco de imagens necessário para o projeto. Apesar
de todos estes problemas, o algoritmo foi desenvolvido.

Depois de desenvolvido o algoritmo que identificasse tais algas, o projeto parou


devido a falta do sistema de captura de imagens digitais, não sendo viável implementar o projeto
com a forma de digitalização de imagens atual.

Após 2 anos, a CAESB procedeu a compra do equipamento que conectaria o


microscópio diretamente ao computador por meio de uma câmera de vídeo Sony e uma placa de
captura de imagens. Porém, no decorrer deste tempo, a alga filamentosa Cylindrospermopsis
raciborskii desapareceu do lago Paranoá. Sua contagem não era mais fator para a determinação
da qualidade da água.

Com esta realidade, os membros do projeto optaram pela contagem de outras algas
que no momento estavam servindo de parâmetro para a qualidade da água, mais especificamente
as algas Staurastrum (Figura 1.2) e Cosmarium (Figura 1.3).

Figura 1.2 Imagem da alga Staurastrum


4

Figura 1.3 Imagem da alga Cosmarium

Tendo em vista que as algas haviam mudado, todo a inteligência do programa deveria
ser alterada. Porém havia um prazo extremamente curto para a realização de tal mudança, que era
de aproximadamente três meses. Assim, um algoritmo muito mais simples que seu antecessor foi
desenvolvido para atender a necessidade do projeto.

Uma vez que as novas algas eram maiores e mais facilmente identificadas e
mensuradas pelo operador, além do fato do novo algoritmo não ser tão preciso, um módulo de
ajuste manual foi acrescentado ao desenvolvimento, podendo assim o operador corrigir eventuais
falhas na detecção.

Recentemente a alga filamentosa Cylindrospermopsis raciborskii voltou a aparecer


nas amostras de água do lago Paranoá, possibilitando a captura de imagens e a realização de um
estudo maior sobre o algoritmo de detecção.

Assim, o projeto foi finalmente colocado em produção em junho de 2003, com o aval
da equipe técnica da CAESB.

1.1 Objetivos

O projeto analisou o problema acima citado, e formulou uma solução de forma a


automatizar a contagem de algas. Inicialmente foi realizada uma pesquisa e os seguintes
problemas foram detectados:

- Necessidade de se criar um banco de imagens de algas;


5

- Estudar técnicas de processamento de imagens para detecção de algas;


- Especificação de um sistema de digitalização das amostras em contato com a CAESB;
- Otimização do algoritmo, uma vez que o processo deve ser, no mínimo, tão ágil quanto
o processo manual;
- Realizar a contagem da quantidade de alga, em biomassa, presente na amostra de água;
- Criação de uma interface gráfica para Windows 98/NT de forma a facilitar a utilização
do sistema por usuários;
- Validação do sistema pela CAESB, com análise estatística.
Posteriormente, com o aparecimento de outras algas, surgiram os seguintes problemas a serem
resolvidos:

- Detectar e isolar mais dois tipos de algas, a Cosmarium e o Staurastrum;


- Projetar e implementar uma interface de ajuste fino manual do resultado automático.

1.2 Motivação

Imediatamente após sua criação em 1961, o Lago Paranoá foi considerado um lago
com características físico-químicas e biológicas excelentes, apesar da área a ser inundada não ter
sido completamente limpa [15].

Em 1970, a CAESB, em parceria com a Cetesb (Companhia de Tecnologia de


Saneamento Ambiental), observaram uma mudança na flora microscópica do lago, com uma
predominância de algas filamentosas. Este fato foi atribuído ao despejo de esgoto das estações de
tratamento, localizadas às margens do lago [15].

Assim, o lago vinha enfrentando um rápido processo de “eutrofização”, sendo este o


processo de degradação que sofrem os lagos e outros corpos de água quando excessivamente
enriquecidos de nutrientes, que limitam a atividade biológica.

A eutrofização pode ser natural, já que todos os lagos tendem para esse estado, ou
cultural, quando as manifestações não se processam a escala do tempo geológico, mas a um ritmo
galopante, provocado pela intervenção do homem.

Dada a grande concentração de nutrientes, especialmente azoto e fósforo,


freqüentemente arrastados para os lagos e lagoas pelas águas carregadas de fertilizantes químicos,
as algas multiplicam-se com uma rapidez extraordinária, formando uma espessa cortina verde à
6

superfície da água, a qual impede a penetração da luz até as zonas profundas. Como
conseqüência, as colônias de algas que se encontram a maior profundidade deixam de receber
luz, pelo que, impossibilitadas de realizar a fotossíntese, acabam por morrer e entrar em
decomposição. As algas das camadas superiores continuam a receber luz e a produzir oxigênio,
mas a maior parte deste gás perde-se para a atmosfera.

Nas circunstancias referidas, os lagos e lagoas entram em anóxia (falta de oxigênio na


água), o que leva também à morte de muitos peixes, que, na falta de algas, deixam de ter alimento
suficiente para a sua sobrevivência.

A anóxia é um dos problemas resultantes da eutrofização. Mas esta é agravada por


outros fatores. As algas em decomposição libertam gases, nomeadamente metano (muito tóxico),
criando condições para o aparecimento de algas “malignas”, como é o caso das cianófitas, mais
conhecidas por algas azuis. Também o arrastamento de detritos físicos para as margens da lagoa,
pedras, dejetos, areia e outros, fazem diminuir o volume de água. E com menos água, aumenta a
concentração do “caldo de nutriente”, acelerando a eutrofização, que tende a transformar os lagos
e lagoas em autênticos pântanos.

Grande parte dos lagos, lagoas da Europa acham-se num estágio mais ou menos
avançado de eutrofização, sendo isso mais um motivo para a preocupação com a qualidade dos
rios e lagos no Brasil.

Esta eutrofização do lago Paranoá possuía uma dominância da alga filamentosa


Cylindrospermopsis raciborskii, e ocorrência de florações maciças da alga cianofícea Microcystis
aeruginosa. A CAESB iniciou nesta época um programa de monitoramento limnológico [15] que
demonstrou ser o fósforo o fator limitante para o crescimento de algas no Paranoá. Em
conseqüência, foi iniciado em 1979 um projeto de recuperação voltado para a redução das fontes
externas de nutrientes.

Assim, o monitoramento do fitoplâncton do Lago Paranoá é um componente


importante do programa de controle limnológico, que até o momento somente vem sendo
realizado por contagens manuais de densidade de algas em amostras examinadas em microscópio
óptico.
7

Esta contagem é bastante demorada e cansativa para o biólogo, pois exige sua
permanência durante longo tempo analisando amostras no microscópio. Um método automático
se fazia necessário para agilizar o processo.

Métodos automáticos para contabilização de algas são motivos de estudos, mas que
possuem poucas publicações. Um exemplo é o estudo acerca do uso de sensores remotos
diversificados na medição do desenvolvimento de cianobactérias no mar Báltico [7]. Este estudo
utilizou satélites coletando uma série de informações a respeito de áreas do mar Báltico com
sensores ópticos, incluindo infravermelhos, e radares.

Outro local onde ocorre monitoração remota do crescimento desordenado de algas é a


Noruega, um país onde a pesca possui uma grande importância para a economia. O crescimento
de tais algas tóxicas causa a morte de diversos peixes e um perigoso abalo na indústria pesqueira,
o que levou ao desenvolvimento de pesquisas e monitoração do desenvolvimento das colônias de
algas na costa norueguesa com o uso de satélites [8] e na criação de um modelo bio-químico para
o mar do Norte, o NORWECOM (Norwegian Ecological Model system).

A quantidade de recursos envolvida em tais projetos denota a importância da


agilidade em tal medição, assim como a automatização dos processos.

1.3 Organização da Dissertação

Este trabalho de dissertação está organizado da seguinte forma:


Capítulo 1

Este capítulo contém a introdução do trabalho de análise e contagem de alga. Nele tratamos as
motivações que levaram ao desenvolvimento do software, bem como os objetivos.

Capítulo 2

A revisão bibliográfica para o desenvolvimento de tal projeto está descrita nesta parte do
trabalho. Nela tratamos os algoritmos de análise de imagem que foram estudados e os trabalhos
relacionados na área.

Capítulo 3
8

Neste capítulo são descritos o desenvolvimento do projeto, com os detalhes de implementação,


fluxogramas de dados, e algoritmos desenvolvidos. Nesta parte será explanada a principal
contribuição do trabalho, que é o novo algoritmo de detecção de alga filamentosa.

Capítulo 4

Neste estágio são expostos os resultados atingidos pelo projeto, incluindo a análise estatística do
processo de contagem automatizado quando comparado com o trabalho manual realizado na
CAESB.

Capítulo 5

Neste capítulo são apresentadas as conclusões do projeto, com a previsão de trabalhos futuros.
9

2. Revisão bibliográfica

Neste capítulo iremos apresentar alguns procedimentos clássicos de processamento de


imagens como a Transformação em escala de cinza, segmentação e detecção de borda.

2.1 Transformação em escala de cinza

Uma imagem inicialmente gerada em cores muitas vezes precisa ser simplificada
como parte do pré-processamento para a análise computacional. Uma simplificação muito usada
é a transformada em escala de cinza, podendo ela realçar alguma tonalidade em especial ou não,
dependendo da aplicação e da imagem.
A transformação radiométrica mais simples, e nem por isso a menos útil, é o
mapeamento direto dos níveis de cinza [6]. Num mapeamento direto, os níveis de entrada variam
de 0 a N-1 e os níveis de saída variam de 0 a M-1 (em geral, N=M). A função de mapeamento
pode ser dada por uma expressão aritmética ou através de uma tabela.
Estas funções ou tabelas podem saturar valores, destacar pontos em um certo
intervalo ou realçar algumas cores específicas do espectro, entre outras aplicações. Uma função
bastante usada por meteorologistas é a chamada “curva MB” [6], aplicada para realçar os topos
das nuvens em imagens infravermelhas de satélites meteorológicos.
Embora simples, os mapeamentos diretos são úteis em várias aplicações. Uma vez
que as imagens das algas não possuem nenhuma cor determinante, o mapeamento usado na
geração da matriz de intensidades é obtido através da Equação (2.1), uma vez que a câmera
fornece a imagem em níveis de vermelho (Red), verde (Green) e azul (Blue) (RGB):
R+G+ B
N= (2.1)
3
onde,
N : Nível de intensidade
R : intensidade do espectro vermelho (Red) do pixel
G : intensidade do espectro verde (Green) do pixel
B : intensidade do espectro azul (Blue) do pixel
10

2.2 Binarização

Um dos primeiros desafios em aplicações de visão é separar os pixels de objetos dos


pixels que representam o fundo da imagem. Quando objetos são grandes e não possuem muitos
detalhes de superfície, a segmentação é normalmente imaginada como a divisão da imagem em
um número de regiões que possua um alto nível de uniformidade em alguns parâmetros tais como
o brilho, a cor e a textura. Logo, deveria ser simples separar um objeto de outro e de seu fundo, e
ainda discernir faces diferentes de objetos poliédricos, como por exemplo, cubos.

Infelizmente, tal conceito de binarização apresentado é uma idealização nem sempre


verdadeira. O processo que a mente humana realiza para definir que partes do campo visual são
relevantes e quais são pertencentes ao fundo é complexo, e nem sempre tem o mesmo resultado
dada a mesma imagem. Esta situação é fruto de um problema que muitas vezes não possui apenas
uma solução, mas várias. A Figura 2.1 exemplifica tal fato. Existe na Figura 2.1(b) um
saxofonista ou o rosto de uma bela mulher? Existem dois rostos ou apenas um na Figura 2.1(a)?

(a) (b)

Figura 2.1 Imagens de interpretação de fundo dúbia

Na verdade ambas as respostas são corretas, dependendo de que partes das imagens a
mente do observador define como fundo. Assim, o que conceito de binarização apresentado
anteriormente é apenas uma generalização sem precisão a partir de certos casos particulares.
Além disso a mente humana ainda apresenta mais vantagens, pois tem a capacidade de perceber
objetos e fundos na forma que eles são conhecidos por ter, usado a memória. A verdade é que a
binarização é um dos problemas mais difíceis na visão computacional [2].
11

A visão de que a busca pelos objetos se restringe a procura por regiões que possuem
algum grau de uniformidade é muito extensamente inválida. Existem muitos exemplos disto no
mundo tridimensional: um deles é uma esfera iluminada apenas a partir de uma direção (Figura
2.2), pois neste caso o brilho muda constantemente através da superfície, não havendo assim uma
região distinta de uniformidade.

Figura 2.2 Imagem sem uma região distinta de uniformidade

2.3 Thresholding

A técnica de threshold (limiar) é uma operação bastante simples que é normalmente


aplicada em imagens em tons de cinza para se obter uma imagem binária e é amplamente usada
para se detectar objetos na imagem. Ela é particularmente útil quando trata cenas onde objetos
estão sobre um fundo contrastante, que é exatamente o caso. Esta operação pode ser
implementada como uma simples rotina que compara cada pixel da imagem com um valor
divisor (o chamado threshold ou limiar). Caso o pixel seja de intensidade maior que o valor
estipulado, ele é considerado de valor 1 (ou seja, pertencente a um objeto), e caso contrário, ele é
considerado de valor 0 (pertencente ao fundo).

Existem duas técnicas de segmentação por limiar que podem ser usadas: O limiar
global e o limiar adaptativo. O limiar adaptativo usa vários valores de limiar e é útil em imagens
onde o nível de cinza não é constante. Assim, um valor de limiar que funciona bem em uma parte
da imagem pode não ser adequado para as demais partes. Já o limiar global é útil em imagens em
que os tons de cinza do fundo permanecem razoavelmente constantes.
12

Em nosso projeto, usamos o limiar global uma vez que as imagens fornecidas pelo
microscópio possuíam uma tonalidade bastante estável.

Esta abordagem, porém, implica na análise de objetos claros sobre um fundo escuro,
pois pixels com baixa intensidade serão o fundo, e os com alta intensidade serão os objetos. Se a
iluminação do fundo é razoavelmente uniforme, e estamos procurando objetos que podem ter sua
silhueta projetada contra um fundo contrastante, a binarização pode ser conseguida por um
threshold simples da imagem em um nível de intensidade particular. Esta possibilidade é
mostrada na Figura 2.3. O problema, porém, é como desenvolver um procedimento automático
para determinar o nível de threshold ótimo para a imagem.

Figura 2.3 Imagem de uma mostra ao microscópio

A técnica usada para se encontrar o valor de intensidade que serve para separar
objetos do fundo nas imagens é útil em situações onde a proporção do fundo ocupada pelos
objetos é substancialmente constante em uma variedade de situações. Esta técnica realiza uma
primeira análise onde estatísticas relevantes da imagem são calculadas. Os valores levantados
compõem um histograma da imagem, onde é representado quão freqüentemente cada valor de
intensidade aparece na imagem. O histograma de intensidades é uma das ferramentas mais úteis
para o processamento de imagens [3].

No histograma, a técnica mais freqüentemente usada em aplicações industriais [2]


envolve a busca por um ponto de mínimo significante, sendo este interpretado como o valor de
intensidade divisor buscado. Esta dedução se baseia na visão do pico maior (ponto de máximo
13

global) como as intensidades representantes do fundo, e o pico menor (ponto de máximo local
próximo ao ponto de máximo global) como as intensidades representantes dos objetos.

Assim, na Figura 2.4 teríamos que o pico da esquerda representa as intensidades do


fundo, pois é comum que o fundo seja predominante, gerando assim um pico maior. Além disso,
estamos assumindo que o fundo é escuro, o que nos leva ao pico da esquerda, representante das
menores intensidades. Assim, temos que o ponto de máximo local da direita representa os
objetos, pois são mais claros. Assumindo tais fatos, um ponto conveniente para se separar seria o
centro do vale produzido pelos pontos de máximo [2].

Figura 2.4 O histograma de intensidades

Este método é sujeito às seguintes dificuldades:


• o vale pode ser tão largo que é difícil localizar um mínimo significativo;
• podem existir vários pontos de mínimo devido ao nível de detalhes da imagem, e
selecionar o mais significativo pode ser difícil;
• distorções no vale podem impedir a localização de uma posição ótima;
• pode não existir um vale visível, devido a distorções ou a iluminação do fundo variar
apreciavelmente através da imagem;
• um dos maiores picos no histograma pode ser muito maior que o outro, prejudicando a
posição do mínimo;
• o histograma pode ter muitos picos, tornando difícil determinar qual é o ponto de
divisão relevante.
• Se a imagem contendo o objeto é ruidosa e não é grande o suficiente, o histograma
também será ruidoso, o que tornará a localização do vale obscura, ou não confiável
[2].
14

Neste projeto, porém, podemos contornar a maioria dos problemas com o controle do
fundo e o ajuste adequado do brilho e contraste da câmera e a luz do microscópio, conseguindo
resultados excelentes com a aplicação do método descrito acima, conforme demonstrado na
Figura 2.5.

Figura 2.5 Resultado da binarização

O algoritmo utilizado para se chegar ao ponto do vale a partir do histograma é


simples. O primeiro passo está em se encontrar o ponto de máximo global, que é simplesmente
realizado percorrendo-se todas as intensidades do gráfico e achando-se a intensidade com maior
freqüência. O segundo passo é achar o máximo local mais próximo do primeiro pico encontrado,
representando o segundo pico no histograma. Este passo é realizado percorrendo os arredores do
máximo local e encontrando o máximo nestas localizações.

Um requisito importante é a necessidade deste pico secundário estar a uma distância


mínima do ponto de máximo global. Esta verificação se faz necessária uma vez que ruídos na
imagem podem gerar pontos de máximo local no histograma de intensidades muito próximos do
máximo global. Esta distância mínima foi calculada analisando-se o histograma das imagens
geradas pelo microscópio, chegando-se assim a um valor mínimo de 40 níveis de intensidade de
distância entre os máximos. Uma vez encontrado o máximo local, o terceiro passo tem início,
procurando-se o ponto de mínimo entre os picos. E este ponto será, finalmente, o nível de
intensidade de divisão usado para separar os objetos do fundo, finalizando o processo.
15

2.4 Segmentação

A segmentação de imagens é o procedimento utilizado para extrair objetos


individuais em cenas complexas [3], onde objeto é toda região com conteúdo semântico relevante
para a aplicação desejada [6]. Este processo particiona a imagem digital em regiões disjuntas.
Para nossos propósitos, uma região é um conjunto de pixels conectados, onde todos os pixels são
adjacentes. A definição formal de conectividade segue:

Entre dois pixels em um conjunto conectado, existe um caminho conectado


completamente contido no conjunto conectado. Então, em um conjunto conectado, você pode
traçar um caminho conectado entre quaisquer dois pixels sem nunca deixar o conjunto.

A detecção destas áreas que pertencem ao mesmo objeto pode ser abordada de
diversas maneiras. Uma das mais naturais é a técnica de crescimento de regiões [2], onde os
pixels de intensidades aproximadas são agrupados de forma a gerarem regiões cada vez maiores
até que toda a imagem esteja segmentada. Claramente devem haver regras para coibir a união de
pixels adjacentes cuja variação de intensidade é maior do que um determinado limiar, enquanto
se permite a união de pixels cuja intensidade varia gradativamente devido a alterações na
iluminação do campo de visão.

Analisamos outra técnica baseada em análise do histograma por uma rede neural [17].
O objetivo de seu uso é a determinação do limiar para a separação dos picos que representam o
fundo e os objetos. A rede neural tem a capacidade de processamento local enquanto integra
informações sobre uma vizinhança maior, contornando certas limitações de algoritmos clássicos
no tocante a imagens com picos muito desiguais e vales amplos. Uma vez que estas não são
características marcantes das imagens obtidas a partir do microscópio, o uso de tal técnica não
justificaria a carga computacional inerente da convergência de redes neurais.

Outra técnica de se obter a segmentação de uma imagem é a binarização da imagem e


posterior análise de formas na matriz binária.

A segmentação é feita após a binarização, seja por thresholding ou por outro


procedimento, em conjunto de objetos formados por 1’s em um fundo de 0’s. Neste estágio é
importante ressaltar que é fácil demarcar as bordas de objetos em imagens binárias. Porém, em
uma imagem representada diagonalmente em um corte retangular, um problema surge com a
16

definição de conectividade entre os pixels. Considere a imagem representada pela Figura 2.6 (a) e
Figura 2.6 (b).

0000000011000000 11
0000000111100000 1111
0000000011000000 11
0000000100000000 1
0000001000000000 1
0000010000000000 1
0001100000000000 11
0011110000000000 1111
0001100000000000 11

(a) (b)
Figura 2.6 Imagem exemplo para análise de conectividade

No centro desta imagem, o objeto tem um segmento da forma da Figura 2.7:


0 1
1 0
Figura 2.7 Segmento exemplo para análise de conectividade

Pela definição de conectividade [9], apenas os pixels que fazem parte da frente (1’s) são
analisados. Neste caso, utilizando-se conectividade-de-8 a diagonal irá representar um único
objeto. Se for usado conectividade-de-4, dois objetos serão identificados, pois a conectividade
existirá apenas na horizontal e vertical.

Agora que temos uma definição de como saber se objetos são conectados, podemos
demarcar todos os objetos em uma imagem binária, separá-los e contá-los. A separação pode ser
conseguida analisando a imagem seqüencialmente até que um elemento 1 seja encontrado na
imagem, onde sua posição é armazenada e a rotina de propagação é iniciada para identificar todo
o objeto com um único rótulo de classificação, digamos um “1”. Como a imagem binária está
sendo analisada, uma nova matriz deve ser alocada para armazenar os rótulos resultantes da
classificação.

Depois a análise prossegue do ponto imediatamente posterior ao ponto de onde


chamou a rotina de propagação, ignorando todos os pontos que já foram classificados, até que
um ponto 1 que não foi classificado seja encontrado. Quando isto ocorre, este é rotulado com o
17

próximo rótulo disponível (“2”, talvez). O procedimento continua até que toda a imagem tenha
sido analisada e que todos os pontos que representam objetos na imagem tenham sido
classificados (Figura 2.8).

111111
111111111
2222 11111111
222

3
3
333333

Figura 2.8 Imagem classificada por segmentos

Neste procedimento foi chamada uma rotina de propagação através de um objeto conectado, e
supondo que não haja nenhum método para limitar a área da rotina de propagação, o
procedimento é mostrado na Figura 2.9:

repeat
for todos os pontos na imagem
if o ponto é um objeto
and próximo a uma região N classificada
then este ponto é classificada como N
until não hajam mais mudanças

Figura 2.9 Algoritmo simples de segmentação

Neste ponto, um algoritmo de segmentação bem simples está completo. O que deve
ser frisado acerca deste algoritmo é que o procedimento de classificação e contagem de objetos
descrito acima requer um mínimo de 2N+1 varreduras da imagem (onde N é o número de
objetos), e na prática este número será perto de NW/2, onde W é a largura média dos objetos [2],
logo este algoritmo é inerentemente ineficiente. Assim devemos considerar como o número de
passagens pela imagem pode ser diminuído para reduzir o custo computacional e agilizar o
processo.
18

Uma possibilidade seria analisar a imagem propagando novas classificações na


medida em que novos pontos de objetos são encontrados, analisando sua vizinhança, sem o uso
de uma rotina de propagação. Quando um ponto de objeto é encontrado, seus oito pontos
adjacentes são analisados e se algum deles apresenta uma classificação, esta é herdada pelo ponto
em questão. Caso contrário, o ponto ganha uma nova classificação (representando que um novo
objeto foi encontrado). Enquanto esta abordagem funcionaria bem com objetos convexos,
problemas seriam encontrados quando se trata de objetos apresentando concavidades, como por
exemplo em forma de “U” (Figura 2.10).

111
111
111 2
333 111 22
3333 111 2222
333333333333333333
3333333333333333333
33333333333333333333
33333333333333333
3333333333333
333333
4 3
4 3
444444444
44444

Figura 2.10 Imagem exemplo com objeto apresentando concavidades

Assim, diferentes partes do objeto terminariam com classificações diferentes, e ainda


teria de ser planejada a cópia em caso de “colisões” de classificações. Colisões ocorrem quando
dois ou mais pontos de vizinhança possuem classificações distintas. Um meio de se tratar isto é,
por exemplo, propagar o maior valor da classificação local através do resto do objeto. Então
inconsistências poderiam ser resolvidas por uma passagem posterior na imagem. Porém, este
procedimento não resolve todos os problemas que podem surgir, como no caso de figuras mais
complexas tais como espirais. Em tais casos uma propagação paralela aplicada repetidamente até
que nenhuma classificação ocorra pode ser preferível, apesar deste processo apresentar
inerentemente de maior custo computacional. Um argumento para seu uso, porém, é que ele pode
ser implementado muito convenientemente em certos tipos de processadores paralelos SIMD
(Single Instruction, Multiple Data).
19

E por último, o procedimento que minimiza o custo computacional envolve uma


abordagem diferente: objetos e partes de objetos são classificados em um passo simples
seqüencial através da imagem, ao mesmo tempo armazenando as classificações que coexistem em
objetos. Ou seja, quando um ponto possui dois ou mais pontos vizinhos com classificações
diferentes, estas classificações são armazenadas como coexistentes. Então as classificações são
organizadas separadamente, em um estágio de processamento de informação abstrata, para
determinar como as classificações devem ser finalmente interpretadas. Finalmente, os objetos são
reclassificados em uma segunda passagem na imagem (de fato, este passo final é desnecessário,
já que os dados da imagem são classificados de uma maneira que muitas vezes se faz necessária
uma chave para interpretá-lo). Este algoritmo é claramente muito mais eficiente do que o
anterior, sendo ele de passagem simples, apesar do fato que a presença de um hardware
particular, tal como múltiplos processadores ou um processador com funções paralelas, possa
alterar a situação e justificar o uso de procedimentos alternativos que se aproveitem das
características especiais do hardware.

Note que simples mudanças no algoritmo permitem que a área e perímetro de cada
objeto seja calculada trivialmente, além do que a imagem do objeto pode ser transferida a um
espaço separado, permitindo que medições tais como orientação, área e centro de massa sejam
calculadas.

2.5 Detecção de borda

Uma borda em uma imagem é uma mudança súbita do nível de intensidade entre duas
regiões relativamente homogêneas [6]. Idealmente, a seção transversal de uma borda apresenta a
forma de uma função degrau.
Em uma aproximação discreta, considere o seguinte grupo de pixels da imagem
conforme a Figura 2.11:
Ei,j+1 Ei+1,j+1
Ei,j Ei+1,j
Figura 2.11 Grupo de pixels da imagem

As derivadas no centro deste grupo podem ser estimadas conforme as equações (2.2) e (2.3):
20

∂E

1
((Ei +1, j+1 − Ei , j+1 ) + (Ei+1, j − Ei , j )), (2.2)
∂x 2e
∂E

1
((Ei +1, j+1 − Ei +1, j ) + (Ei, j+1 − Ei , j )), (2.3)
∂y 2 e
onde e é o espaçamento entre os pixels da imagem.
Uma derivada aproximada por uma distância finita sempre aplica a um ponto
particular. Assim temos que o quadrado do gradiente é aproximado pela equação (2.4):

( )
2 (2.4)
 ∂E   ∂E 
2

  +   ≈ (Ei +1, j +1 − Ei , j ) + (Ei , j +1 − Ei +1, j ) ,


2 2

 ∂x   ∂y 
Se realizarmos este cálculo em toda a imagem, nós obteremos altos valores nos
pontos onde o brilho é alterado muito rapidamente. Em regiões de brilho constante, a saída é
zero. (considerando-se a ausência de impurezas na imagem, ou ruído, pois nesse caso a saída é
muito pequena, mas diferente de zero). Os resultados podem ser armazenados em uma imagem
secundária, onde as bordas estarão fortemente demarcadas.
Agora consideramos outro grupo de pixels da imagem representado na Figura 2.12:
Ei-1,j+1 Ei,j+1 Ei+1,j+1
Ei-1,j Ei,j Ei+1,j
Ei-1,j Ei,j-1 Ei+1,j-1
Figura 2.12 Grupo de pixels da imagem

Sabendo que o Laplaciano [12] de uma função é definido como a equação (2.5):
∂ 2 f ∂2 f
∇ f = 2 + 2 ,
2
(2.5)
∂x ∂y
estima-se o Laplaciano na célula central, usamos as aproximações apresentadas nas equações
(2.6) e (2.7) [12]:
∂2E 1
≈ (Ei −1, j − 2 Ei , j + Ei +1, j ), (2.6)
∂x 2 e 2
∂2E 1
≈ (Ei , j −1 − 2 Ei , j + Ei , j +1 ), (2.7)
∂y 2 e 2
assim obtemos a equação (2.8):
21

∂2E ∂2E 4  1
+ 2 ≈ 2  (Ei −1, j + Ei , j −1 + Ei +1, j + Ei , j +1 ) − Ei , j ,

(2.8)
∂x 2
∂y e 4 

Neste ponto é subtraído o valor do pixel central da média de seus vizinhos. O


resultado é claramente zero nas regiões de brilho constante. Isso é verdade mesmo em áreas onde
o brilho varia linearmente.
Assim é possível observar que a máscara resultante de tal aplicação é apresentada na
Figura 2.13:
0 1 0
e2
1 4 1

e2 e2 e2
0 1 0
e2
Figura 2.13 Máscara resultante

Uma vez que a imagem é binarizada, a detecção de borda se torna muito mais
simples, pois é usada a seguinte máscara na imagem conforme Figura 2.14, aplicando-a somente
nos pixels que são parte de algum objeto:
0 1 0
1 -4 1
0 1 0
Figura 2.14 Máscara resultante simplificada

O resultado desta aplicação deve ser diferente de 0 ou de -4 para ser considerado


borda. Quando o resultado obtido é 0, temos que este pixel analisado é um pixel interno do
objeto, enquanto se o resultado for -4, temos ou um pixel que não está conectado a nenhum outro
ou um pixel que faz parte de uma extensão muito fina de algum objeto, e que não deve ser
considerado. Temos, por exemplo, a Figura 2.15, onde só existem pixels que fazem parte de uma
das duas classes explicadas, logo não serão considerados borda de algum objeto.
22

0000000000000000000000
0000001000000000000000
0000000100000001000000
0000000010000000000000
0000000001000000000000
0010000000000000001000
0000000000000000000000

Figura 2.15 Imagem exemplo onde não existem bordas detectadas

2.6 Identificação de objetos usando sua borda

Os dois métodos principais de identificação de objetos usando a informação de borda


estão descritos a seguir. O mais freqüentemente método usado é o que calcula os Descritores de
Fourier [9]. Neste método a borda é dividida em N = 2n partes para produzir N pontos de borda
eqüidistantes. As coordenadas destes pontos são então processadas usando a Transformada
Rápida de Fourier. Este processo produz uma classificação de freqüência da borda do objeto.
Após ajustes para o tamanho e pontos de início, os resultados são descritores bastante
importantes, que provêm uma base para a discriminação da forma do objeto.
O segundo método para a identificação de objetos por sua borda que foi estudado
emprega Momentos [9]. Desta técnica, sete Invariantes de Momento podem ser derivadas da
análise da borda do objeto, as quais são invariantes quanto a rotação e aumento do objeto [10].
Estes sete Invariantes de Momento são os descritores clássicos de forma.
A aplicação do reconhecimento automático por formas é muito limitada no caso
específico do reconhecimento de algas, pois elas são organismos vivos, e é possível que dois
organismos da mesma espécie ocorram com formatos diferentes [1] [4].
A dificuldade em se detectar algas analisando apenas o formato das espécies através
das bordas foi verificada por Thiel em [4] e [1]. Ele testou tanto o algoritmo de Descritores de
Fourier quanto as Invariantes de Momento.
Para nosso projeto, devido a forma das algas ser muito volátil, não foram utilizados
estes procedimentos.
23

3. Caracterização do problema e desenvolvimento

Serão apresentadas a metodologia da contagem das algas e a metodologia do


algoritmo de processamento de imagens utilizado no processo de detecção das algas. A principal
contribuição do projeto será detalhada no item 3.4.3 que consiste no algoritmo de segmentação de
imagens para detecção da alga filamentosa.

A análise de imagens digitalizadas contendo amostras de água ampliadas produz


informações que são de grande valia para a obtenção de resultados da biologia. Uma dessas
informações é a biomassa correspondente às algas existentes em uma determinada amostra. Na
ampliação, as algas se definem como filamentos de tamanho variado e espessura constante
imersas no líquido, sem geometria definida.

3.1 Metodologia do processo de contagem de algas manual

O desenvolvimento do projeto foi iniciado com o fornecimento de imagens


digitalizadas conseguidas no microscópio, com fotos das algas que deveriam ser identificadas e
mensuradas.

Para uma determinada ampliação é possível se determinar a espessura máxima e


mínima dos filamentos que formam as algas. A partir desta característica principal pode-se
realizar um trabalho computacional automatizado que irá detectar as porções de alga que existem
na amostra. Para fins biológicos é necessário retornar a porcentagem de biomassa das algas em
relação ao resto da imagem analisada.

O biólogo, quando processa uma amostra de água utilizando um microscópio, divide


a imagem em diversas células quadradas conforme Figura 3.1. Tal divisão é realizada com a
utilização de uma ocular especial que formará um quadriculado divisório. Caso ele encontre uma
alga dentro de algum quadriculado é incrementada em uma unidade a contagem da biomassa
existente nesta amostra. Caso a célula analisada possua um filamento maior ou menor que outra
célula não faz diferença para o biólogo, pois apenas uma unidade de contagem pode ser inferida a
uma célula.
24

Tal procedimento possui problemas óbvios de contagem, pois existe uma margem de
erro que pode ser significativa. Não é difícil de se imaginar uma imagem na qual algas pequenas
ficam na fronteira das células que irão produzir um valor de biomassa maior do que o real.
Também o fato de que a célula pode conter diversas quantidades de biomassa, e como não pode
ser fracionada, o erro resultante pode se tornar relevante no valor final.

Figura 3.1 Amostra digitalizada para contagem de biomassa

3.1.1 Análise quantitativa de Fitoplâncton


O procedimento de análise quantitativa de fitoplâncton utilizado pela CAESB
consiste em coletar uma amostra de água do local desejado, normalmente o Lago Paranoá ou a
barragem de Santa Maria. Esta amostra é fixada com lugol acético, mantida em local escuro e
agitada delicadamente várias vezes antes que uma sub-amostra seja transferida para câmaras de
sedimentação cujo volume, a ser decidido pelo técnico responsável pela análise, deve variar
inversamente com a abundância dos organismos a ser determinada.
Atualmente, para o Lago Paranoá, são utilizadas câmaras de 0,13ml para contagem de
algas filamentosas e algas unicelulares, cujo tempo de sedimentação é estimado em 15 minutos.
Já para o lago de Santa Maria são utilizadas câmaras de 1ml, com tempo de sedimentação de uma
hora, enquanto que para amostras provenientes da Estação de Tratamento de Água de Brasília são
contadas em câmaras de 5ml. Finalmente, para o Lago Descoberto e Estação de Tratamento de
Água do Descoberto são utilizadas câmaras de 5ml que requerem cerca de 12 horas para a total
sedimentação do plâncton. Os tempos e câmaras são definidos conforme a Tabela 3.1.
Neste estudo, o procedimento automatizado foi realizado somente com câmaras de
10ml, sendo que todos os cálculos de ajustes necessários foram realizados para tal câmara. Esta
alteração foi feita devido ao campo de visão da câmera ser restrito.
25

Tabela 3.1 Volumes de câmaras e tempos de sedimentação


Local Volume da câmara Tempo para sedimentação
Lago Paranoá 0,13ml 15 minutos
Lago Santa Maria 1ml 1 hora
Estação de Tratamento de 5ml 1 hora
Água de Brasília
Lago Descoberto 5ml 12 horas
Estação de Tratamento de 5 ml 12 horas
Água do Descoberto

Uma vez finalizado o processo de sedimentação, as câmaras são levadas ao


microscópio invertido, no caso da CAESB, um microscópio marca DIAVERT I (Figura 3.2) onde
ocorre a contagem de algas, até o nível de gênero. O procedimento pode ser a contagem de toda a
diagonal da câmara ou de 10 campos aleatórios. No procedimento automático realizado pelo
projeto, foi definido que a entrada deveria ser formada por 10 campos aleatórios da câmara.

Figura 3.2 Microscópio DIAVERT I


26

3.2 Metodologia do processo de contagem de algas automático

O processo de contagem de algas automático é baseado no processo manual, mas


alguns ajustes são necessários devido ao uso de equipamentos diferentes. O primeiro passo é
calcular o volume do campo de visão da câmera e posteriormente a biomassa algal.

3.2.1 Cálculo do volume do campo de visão da câmera


Este volume é o fator do microscópio para contagem por campo. Considerando a
equação (3.1):
Vc = Ah (3.1)
onde:
Vc = volume do campo, em µm3;
A = área do campo;
h = altura do campo;
Conforme medida realizada com a régua micrometrada, o campo de visão da câmera,
no aumento de 100X utilizado na contagem, possui 290µm de comprimento por 205µm de altura.
Como a altura da câmara de sedimentação usada foi medida com o paquímetro e é de 20mm
(câmara de 10ml), o volume do campo é de:
Vc = 290 x 205 x 20 x10 3 µm 3 = 1189000 x103 µm 3 = 1,189 × 109 µm 3

Como
1µm 3 = 10 −15 l
Temos:
Vc = 1,189 × 10 −6 l

Já no aumento de 200X, a medição com a régua micrometrada resultou em 145µm de


comprimento por 100µm de altura. Logo;
Vc = 145 × 100 × 20 x10 3 = 290000 × 10 3 µm 3 = 2,9 x10 −7 l
27

3.1.2 Cálculo da biomassa algal – Algas unicelulares


O microscópio deve ser focado no campo escolhido aleatoriamente e a imagem deve
ser capturada pelo programa. O programa armazena internamente as 10 imagens referentes aos 10
campos aleatórios, e fornece um relatório final com o resultado da contagem.
Para algas unicelulares, o cálculo do número de indivíduos por litro é realizado
calculando-se a média aritmética dos 10 campos mensurados e dividindo-se pelo volume
individual do campo de visão do equipamento, conforme a equação (3.2):
M
R= (3.2)
Vc
onde:
R = Resultado final da contagem, em indivíduos por litros;
M = Média aritmética da quantidade de indivíduos mensurada nos 10 campos;
Vc = Volume do campo de visão no aumento usado.
O procedimento final é o cálculo da biomassa algal a partir do volume de cada
espécie, já previamente calculado a partir da forma geométrica mediana que mais se aproxima da
alga. As medidas das algas normalmente encontradas nos lagos do Distrito Federal foram
executadas previamente pelos profissionais da CAESB em um universo de 100 indivíduos, sendo
que a média aritmética resultante é utilizada para o cálculo do volume.
No caso das algas Cosmarium e Staurastrum, este valor é 275µm3 e 432µm3,
respectivamente. É importante citar que a densidade das algas é considerada igual a densidade da
água, ou seja, 1g/ml. Assim, a cada indivíduo da espécie Cosmarium e Staurastrum são
atribuídos valores de massa de 2,75x10-5mg e 4,32x10-5mg respectivamente.

3.2.2 Cálculo da biomassa algal – Algas filamentosas


Para algas filamentosas, inclusive a Cylindrospermopsis raciborskii, o procedimento
manual utiliza uma ocular reticulada. O tamanho do lado do quadrado do retículo foi calculado
pela equipe da CAESB em 34,3 µm utilizando-se a régua micrometrada, conforme demonstrado
na Figura 3.3.
28

Figura 3.3 Medição do quadrado com régua micrometrada

A fórmula utilizada no procedimento manual é descrita na equação (3.3):


a.c
M= (3.3)
b
onde:
µm
M = biomassa algal em ;
l
a = número de quadrados contados correspondente ao tamanho do filamento;
c = tamanho do lado do quadrado, em µm;
b = volume do transecto contado, em litros.

Neste caso das algas filamentosas, no procedimento manual não é usado o volume
celular, utiliza-se a área que um filamento ocupa dentro de um quadrado (em µm2). Para a alga
Cylindrospermopsis raciborskii, esta área foi previamente calculada pela equipe da CAESB
como 7µm2. Assim é mensurado o número de quadrados que possui alga filamentosa, este
resultado é multiplicado pelo lado do retículo (34,3µm) e posteriormente multiplicado pelo valor
µm 3
de área de 7µm2 e dividido pelo volume do transecto. Neste ponto, temos o resultado em .
l
mg µm 3
Para transformar em , basta dividir o resultado em × 10 6 por 1000.
l l
29

Já o procedimento automático também se baseia na área que a alga filamentosa


ocupa. Uma vez que o procedimento manual utiliza o valor medido de 7µm2, foi calculado o
tamanho de um lado de um pixel com a régua micrometrada. Como a distância entre duas marcas
da régua foi de 16 pixels, o resultado do tamanho de cada pixel foi calculado em 0,625µm. Logo,
o comprimento da alga em µm é obtido pela multiplicação entre o número de pixels por
0,625µm, dividido por 3, pois a alga possui, em média, 3 pixels de espessura.
Uma vez calculado o comprimento, esse valor é multiplicado pela área algal de 7µm2,
µm 3
e dividido pelo volume do transecto, produzindo um valor em . A fórmula para o cálculo
l
µm 3
em é apresentada na equação (3.4):
l
n × 0,625 7
M= × (3.4)
3 1,189 × 10 −6
onde;
µm 3
M = biomassa algal, em ;
l
n = número de pixels detectados na imagem;
mg
Conforme o procedimento manual, para transformar em , basta dividir o
l
µm 3
resultado em × 10 6 por 1000, conforme equação (3.5):
l

n × 0,625 7
M= × (3.5)
3 1,189 × 1000
onde;
mg
M = biomassa algal, em ;
l
n = número de pixels detectados na imagem;
30

3.3 Metodologia do algoritmo de processamento de imagens

Um algoritmo específico para a análise de amostras de água foi desenvolvido para a


solução deste problema de contagem de biomassa das algas. O algoritmo é basicamente empírico,
criado após a análise de diversas imagens digitalizadas de amostras no microscópio em um
aumento pré-definido.

Foi escolhido um determinado aumento de 100x no qual todas as amostras de alga


filamentosa deveriam ser digitalizadas. Tal aumento foi definido por ser o menor para o
microscópio de contagem, podendo assim conter uma maior quantidade de biomassa para a
análise computacional. A fixação desse valor de aumento fixa também algumas características da
imagem, e principalmente, faz com que a espessura do filamento que compõe a alga esteja
contida entre 2 e 4 pixels da imagem. Assim a detecção de linhas retas ou não que possuam esta
característica principal determina os pixels que queremos considerar como sendo os pontos de
alga.

Obviamente alguns outros elementos podem ser detectados por este algoritmo, como
antenas ou prolongamentos de algum pequeno ser vivo, ou mesmo sujeira, mas tais elementos
não são considerados problemáticos, principalmente quando se compara com os resultados
obtidos com o método da análise humana.

Uma binarização adequada é utilizada antes de se aplicar o algoritmo, para que se


possa identificar os pixels que devem ser analisados, separados daqueles que fazem parte do
fundo da imagem.

3.4 Descrição do algoritmo

Dada uma imagem digitalizada contendo vários objetos, o processo de


reconhecimento de padrões consiste de três grandes fases (Figura 3.4). A primeira fase é chamada
de separação do objeto, no qual cada objeto deve ser encontrado e sua região isolada do resto da
cena. O segundo passo é chamado de extração de características. As características são um
conjunto de propriedades mensuráveis, e nesta fase elas são contabilizadas. O terceiro passo é a
classificação do objeto, e sua saída é meramente uma decisão a respeito de que classe o objeto
pertence. O objeto então é reconhecido como sendo um tipo de objeto em particular, e o
31

reconhecimento é implementado como o processo de classificação. Cada objeto é então alocado


em um dos vários grupos preestabelecidos (classes) que representam os tipos possíveis de objetos
esperados.

Figura 3.4 Fluxograma do processo de reconhecimento de padrões


32

3.4.1 Fluxograma
33

3.4.2 Descrição do fluxograma


Sistema de captura:
O sistema de captura é composto pelos seguintes elementos:
- Microscópio ótico;
- Câmera de captura;
- Sistema de acoplamento da câmera com o microscópio;
- Placa de digitalização;
- Computador;

Geração da matriz de intensidades:


A geração da matriz de intensidades é feita pelo algoritmo que calcula a média das intensidades
de vermelho, verde e azul que compõe a imagem.

Limiarização Global:
A limiarização é o processo de se achar um valor limite de intensidade que separa os tons de
cinza pertencentes aos objetos ou ao fundo da imagem. Este processo envolve geração do
histograma e a localização do vale entre os dois maiores picos. O resultado deste processo é a
imagem binária, com o reconhecimento dos pixels formadores do fundo e dos objetos
pertencentes a imagem.

Segmentação por Extração de Componentes Conectados:


A segmentação é o processo de identificação de objetos individuais a partir da imagem binária da
cena. Este processo envolve a marcação dos pixels adjacentes como pertencentes ao mesmo
objeto.

Algoritmo de Identificação:
Tendo como entrada a imagem segmentada, este passo envolve a aplicação de três algoritmos de
detecção, dos quais resultam os valores de presença de cada alga em específico. O algoritmo de
detecção de alga filamentosa é a maior contribuição do projeto, uma vez que é um algoritmo
completamente novo e desenvolvido especificamente para a alga filamentosa em questão.

Ajuste fino manual:


Este passo somente é aplicado caso o operador do software detecte algum julgamento errôneo.
Com ferramentas a sua disposição, ele pode eliminar eventuais erros do processo de contagem.
34

Contabilização dos resultados:


Nesta etapa, os resultados de todo o processo são reunidos e apresentados ao biólogo.

3.4.3 Descrição do algoritmo de detecção de alga filamentosa Cylindrospermopsis raciborskii


Este algoritmo tem por objetivo primeiro detectar algas em uma imagem digitalizada
de uma amostra em microscópio. Para tal, o algoritmo detecta objetos finos e compridos como se
apresentam as algas em questão, selecionando os pixels que fazem parte da formação de tais
algas.

Antes de começar a descrição do algoritmo, serão apresentados alguns conceitos que


serão usados no texto:

- Pixel: ponto formador dos objetos a serem analisados. Apesar da imagem ser composta
totalmente de pixels, neste texto consideramos como sendo pixels apenas os pontos que
receberam o valor 1 na binarização.

- Pixel de centro: pixel formador da imagem da alga que se situa mais no centro da mesma. Para
o caso de um filamento com espessura de 3 pontos, pode-se imaginar uma linha de pixels de
centro de espessura de 1 ponto que percorre o filamento por dentro. Se o filamento possuir 2
pontos, não existirá pixel de centro.

- Bordas válidas: Todo objeto é delineado por bordas, mas somente as bordas válidas fazem parte
de um objeto que nos interessa, ou seja, uma alga.

- Fronteira: A fronteira de um pixel é formada pelos 8 pixels adjacentes ao mesmo (vizinhança-


de-8).

- Candidatos a pixel de centro: tal definição diz respeito a pontos que tem a possibilidade de
serem pixels de centro. Este tipo é considerado durante a execução do algoritmo, sendo usado
apenas como tipo auxiliar.

- Transições: alternância na fronteira entre pixels e o fundo da imagem. Uma transição


corresponde a um 0 seguido de um 1, ou vice-versa, como na Figura 3.5.
35

a) 1 transição b) 2 transições c) 3 transições


Figura 3.5 Exemplos de transições

O primeiro passo consiste na binarização da imagem. Este algoritmo de binarização


foi descrito no item 2.2. A Figura 3.6 apresenta um exemplo de aplicação do algoritmo de
binarização em uma imagem de alga. O resultado deve ser armazenado na imagem
Figura_binária.

(a) Imagem Original (b) Histograma e limiar (c) Imagem binarizada

Figura 3.6 Procedimento e resultado da binarização

O segundo passo consiste em detectar as bordas do objeto aplicando-se uma


convolução da máscara M com a imagem binária, sendo que M é definida conforme a equação
(3.6):

0 1 0
M = 1 0 1
  (3.6)
0 1 0

Ao resultado desta convolução que for diferente de 0 ou 4 é considerado borda. O


resultado deste passo é armazenado na imagem Figura_borda.
36

A Figura 3.7 ilustra um padrão de alga que será utilizado como exemplo na descrição
dos próximos passos do algoritmo que será apresentado a seguir, enquanto a Figura 3.8 ilustra o
estado após a detecção de borda.

Figura 3.7 Padrão exemplo para a descrição do algoritmo

Figura 3.8 Padrão após a detecção de borda


37

1- A detecção da alga Cylindrospermopsis raciborskii na imagem começa com o


carregamento da imagem Figura_borda e da imagem Figura_binária previamente
calculadas. O primeiro passo consiste em encontrar os pixels de centro, que possuem as
seguintes características:
a) Devem pertencer a algum objeto, conforme consulta a Figura_binária;
b) Não devem pertencer à borda de nenhum objeto, conforme consulta a Figura_borda;
c) Devem possuir um número de pixels de borda maior ou igual a 4 em sua vizinhança
de 8;
d) Devem possuir um número de transições maior que dois em sua vizinhança de 8;
O resultado deste processamento deve ser armazenado na Figura_final. Após esse passo, o
padrão de teste está conforme a Figura 3.9:

Figura 3.9 Padrão após a detecção inicial dos pixels de alga

2- O segundo passo trabalhará com as imagens binárias Figura_borda e Figura_binária, e


determinará quem são os pixels candidatos a pixel de centro, que devem ter as seguintes
características:
a) Devem pertencer a algum objeto, conforme consulta a Figura_binária;
b) Devem possuir dois ou três pixels de borda em sua vizinhança de 8, conforme consulta a
Figura_borda;
38

c) Se o item b. for satisfeito, as coordenadas (x,y) dos pixels de borda encontrados na


vizinhança de 8 devem ser armazenadas, para futura consulta, na matriz Vizinhos.
d) A imagem resultante contendo os pixels candidatos a pixel de centro deve ser
armazenada na matriz Figura_candidatos.
O padrão de teste após este passo pode ser visto na Figura 3.10:

Figura 3.10 Padrão após a detecção de candidatos a pixel de centro

3- Neste terceiro passo serão definidos, dentre os pixels candidatos a pixel de centro, quais
são realmente pixels de centro. Esta validação ocorre caso o pixel candidato, o qual
chamaremos de pixel a, apresente as seguintes características:
a) Deve possuir um ou mais pixels candidatos a pixel de centro em sua vizinhança de 8,
conforme consulta a matriz Figura_candidato. A este pixel vizinho qualquer chamaremos de
pixel b;
b) Devem ser gerados dois conjuntos, A e B, com os seguintes elementos:
A={pixels de borda relacionados com o pixel a, em consulta com a matriz
Vizinhos}
B={pixels de borda relacionados com o pixel b, em consulta com a matriz
Vizinhos}
39

c) A intersecção entre A e B deve ser vazia para pelo menos um pixel vizinho (A ∩ B = ∅),
ou seja, não deve haver nenhum pixel em comum armazenado nas matrizes Vizinhos para A
e para B.
Se o pixel a em análise atende às condições acima, então ele é reclassificado como pixel de
centro definitivo e armazenado na Figura_final, conforme demonstrado no padrão de teste
da Figura 3.11.

Figura 3.11 Padrão após a determinação dos pixels de centro definitivos

4- Neste passo serão validadas as bordas detectadas anteriormente e armazenadas na


Figura_borda. Este teste será feito em duas etapas independentes.
- Primeira etapa: A validação ocorre caso sejam satisfeitas qualquer das seguintes
condições:
a) Devem existir 4 ou mais pixels de borda na sua vizinhança de 8, ou;
b) Devem existir um ou mais pixel da Figura_final em sua vizinhança de 8.
- Segunda etapa: A validação ocorre se existir pelo menos um pixel que seja uma borda
válida em sua vizinhança.
O resultado é mostrado no padrão de teste da Figura 3.12, onde Bv representa uma borda
válida.
40

Figura 3.12 Padrão após a detecção de bordas válidas

Por fim, os pixels contabilizados como pertencentes a alga em questão são as bordas
válidas e os pixels de centro definitivos.

3.4.4 Identificação da alga Staurastrum


A detecção da alga Staurastrum foi definida através do estudo da forma em “X” da
alga. Inicialmente a imagem foi limiarizada e em seguida aplicamos o algoritmo de segmentação
por extração de componentes conectados. Foi desenvolvido um algoritmo que após a
segmentação dos objetos da cena, cria uma lista encadeada com as dimensões de cada objeto
contido na imagem. Nesta lista ainda está contida a quantidade de pixels que cada objeto possui.

Estas informações são usadas para o cálculo da densidade bidimensional do objeto,


com a equação (3.7):

N
D= (3.7)
x. y

Onde,
D = densidade calculada;
N = número de pixels do segmento analisado;
41

x e y = largura e altura da imagem analisada.


Após estudos da aplicação desta fórmula em diversos indivíduos desta espécie de
alga, foi calculado um conjunto de valores que corretamente identificavam a alga em questão.
Este valor varia de D = 0,06 até D = 0,16.

3.4.5 Identificação da alga Cosmarium


Neste algoritmo também foram realizadas as etapas de limiarização e segmentação
por extração de componentes conectados, resultando na lista encadeada definida no item anterior.
A alga Cosmarium possui uma forma bastante definida como uma elipse com o centro levemente
estrangulado, lembrando a figura do número 8. O problema principal da análise de sua forma se
deve ao fato que, na decantação, ela muitas vezes permanece em pé, se tornando quase um
círculo. Assim, o processo de sua identificação é realizado com a busca na lista encadeada de
objetos com o seguinte perfil:

- Sua área total deve estar entre os valores de 300 até 500 pixels;

- Nenhuma de suas medidas laterais pode ultrapassar o valor de 70 pixels.


42

4. Resultados e Análise

Neste capítulo serão apresentados e discutidos os resultados obtidos dos testes


realizados. Os testes se basearam na aplicação do algoritmo em um banco de imagens gerado a
partir de amostras do Lago Paranoá. O banco de imagens contém 50 imagens de 5 câmaras
distintas preparadas a partir de uma mesma amostra.

As amostras foram preparadas pela equipe da CAESB seguindo o procedimento


normal de contagem. As mesmas amostras foram contadas manualmente para comparação com o
resultado produzido pelo algoritmo.

No procedimento automático, dois métodos foram realizados. No primeiro método de


contagem, não houve interferência de forma alguma do operador do sistema, sendo o resultado
final gerado completamente pelo algoritmo. Já no segundo método, o operador do sistema
procedeu alterações de forma a maximizar o acerto do algoritmo.

O volume contido em cada campo de visão da câmera foi medido para o cálculo da
biomassa da amostra. Para tal foi usada uma régua micrometrada, pois o campo de visão da
câmera e de uma pessoa observando pela ocular diferem absurdamente, conforme pode ser
comprovado na Figura 4.1 (a) e Figura 4.1 (b). Ambas as figuras foram extraídas do mesmo
microscópio no mesmo aumento (100X), com uma única diferença, a Figura 4.1 (a) foi obtida a
partir da câmera Sony acoplada e a Figura 4.1 (b) foi obtida a partir da ocular. Nota-se que a
diferença de aumento é bastante elevada, assim foi calculado o volume do campo de visão da
câmera para a contagem automática, ajustando as diferenças entre o procedimento manual e o
automático.
43

(a) Visão da câmera Sony (b) Visão pelo ocular


Figura 4.1 Comparação entre visão da câmera e a visão pela ocular

4.1 Interface Gráfica

A interface gráfica do sistema é baseada em uma janela principal (Figura 4.2), onde o
operador pode abrir e trabalhar com as amostras em janelas separadas.

Figura 4.2 Janela principal do sistema

Na janela principal, o operador pode abrir uma imagem PCX previamente gravada ou
capturar uma nova imagem em tempo real, se o computador possuir conexão com a câmera
44

acoplada a um microscópio. Além disso, é possível visualizar o resultado médio que engloba
todas as imagens onde foi realizada a contagem.

Sempre que é aberta uma nova imagem, uma nova janela é apresentada após a
contabilização de biomassa para demonstração dos resultados e propiciar uma interface de
ajustes. Esta janela é apresentada na Figura 4.3, apresentando a imagem original, sua versão
binarizada e o resultado da detecção de algas. O histograma de intensidades também é exposto de
forma bastante intuitiva, podendo o limiar ser ajustado movendo-se o botão deslizante. O
resultado do novo limiar é apresentado imediatamente após o ajuste, tornando mais intuitivo o
processo. Além disso, uma seqüência de segmentos detectados é apresentada.

Figura 4.3 Janela de amostra

O botão de ferramentas apresenta as ferramentas de ajuste fino (Figura 4.4) onde o


operador pode informar ao programa, a nível de pixel, quais são os pontos formadores de uma
alga. É também permitido que o biólogo apague pixels considerados como alga pelo
procedimento automático caso ele discorde da decisão do algoritmo.
45

Figura 4.4 Janela para ajuste fino

4.2 Análise estatística

A primeira análise dos resultados produzidos pelo algoritmo descrito no item 3.3.3 foi
publicada em 1999 [14], apresentando um desempenho bastante satisfatório com taxa de erro
reduzida. Nesta análise, foram comparados os números de quadrículos detectados pelo programa
e pelo biólogo para uma mesma amostra.

Neste estudo, foram coletadas novas amostras sendo que o resultado da contagem
mg
será apresentado em valores finais, ou seja, em . A espécie de alga contabilizada foi a
l
Cylindrospermopsis raciborskii utilizando-se o algoritmo descrito no item 3.3.3.

Os algoritmos de detecção das algas Staurastrum e Cosmarium não foram analisados


estatisticamente porque ainda estão em desenvolvimento, necessitando de mais estudo e ajustes.

Os resultados do procedimento de contagem automática estão expostos nas tabelas a


seguir. Cada tabela possui 2 resultados automáticos, sendo um de pixels detectados e o outro
mg
resultado após o cálculo da transformação de pixels para , conforme a fórmula (3.5),
l
previamente apresentada.
46

A análise ocorreu completamente em uma amostra coletada pela CAESB.


Primeiramente a amostra foi decantada e contada no procedimento manual, sendo seu resultado
de biomassa usado para a comparação posterior com o desempenho do algoritmo.

Após a contagem manual, outra decantação foi feita da mesma amostra e levada ao
microscópio Nikkon com a câmera acoplada, onde a captura das imagens para contagem
automática foi realizada. Todas as imagens foram capturadas de campos aleatórios da câmara,
com um total de 50 imagens capturadas.

Estas imagens foram agrupadas em 5 grupos de 10 imagens cada, simulando assim,


com mais precisão, o procedimento manual que conta 10 campos aleatórios e extrai a média
aritmética. Por fim, a contagem efetivamente ocorre pelo processamento das imagens capturadas
no programa que aplica o algoritmo desenvolvido e fornece o resultado.

É importante ressaltar que neste procedimento de análise não foram usados vários
operadores para realizar a contagem manual, assim este fator não foi considerado no estudo.
Então, vários erros inerentes ao processo manual não foram considerados nesta análise dos
resultados obtidos.

A Tabela 4.1 apresenta os resultados da aplicação do algoritmo no conjunto das 10


primeiras imagens extraídas da amostra. Nota-se uma discrepância extrema na sexta imagem,
causado por um erro na limiarização automática, que foi prontamente detectada e corrigida pelo
operador do sistema pelo ajuste do limiar do histograma obtido no processo de binarização,
levando a um resultado mais próximo da realidade. É importante frisar que este foi o único ajuste
manual usado.
47

Tabela 4.1 Apresentação de resultados por imagem


Resultado da Resultado automático Desvio Resultado Desvio
contagem sem intervenção do (mg/l) automático com (mg/l)
manual operador intervenção do
(mg/l) operador

Pixels mg/l Pixels mg/l

1,81 2614 3,20 1,39 2817 3,45 1,64

1,81 1425 1,75 -0,06 1697 2,08 0,27

1,81 1287 1,58 -0,23 1287 1,58 -0,23

1,81 1023 1,26 -0,55 1023 1,26 -0,55

1,81 1749 2,14 0,33 1749 2,14 0,33

1,81 5577 6,84 5,74 1127 1,38 -0,43

1,81 1607 1,97 0,16 1901 2,33 0,52

1,81 1175 1,44 -0,36 1365 1,67 -0,14

1,81 1841 2,25 0,44 1865 2,28 0,47

1,81 2100 2,57 0,76 2080 2,55 0,74

Médias

1,81 2040 2,50 0,69 1691 2,07 0,26

Esta intervenção está refletida no cálculo do desvio médio, onde a coluna que sofreu
intervenção do operador apresenta um desvio quase 3 vezes menor.

A Figura 4.5 expõe graficamente os resultados, onde fica bastante claro a


discrepância e a posterior correção dos resultados de biomassa da 6a amostra.
48

8
Resultado sem ajuste
7 Resultado com ajuste
Resultado Manual
6

0
1° Imagem

2° Imagem

3° Imagem

4° Imagem

5° Imagem

6° Imagem

7° Imagem

8° Imagem

9° Imagem

10° Imagem
Figura 4.5 Exposição gráfica dos resultados obtidos na Tabela 4.1

Na Tabela 4.2 são apresentados os resultados obtidos da segunda bateria de imagens


extraídas da amostra do Lago Paranoá preparada pela CAESB. É importante frisar que os
resultados individuais das imagens não devem necessariamente refletir o resultado final do
procedimento, pois as algas não estão uniformemente distribuídas pelo fundo do câmara. Para o
resultado médio, porém, é esperado que seja aproximado do resultado manual.
49

Tabela 4.2 Apresentação de resultados por imagem


Resultado da Resultado automático Desvio Resultado Desvio
contagem sem intervenção do (mg/l) automático com (mg/l)
manual operador intervenção do
(mg/l) operador

Pixels Mg/l Pixels mg/l

1,81 359 0,44 -1,37 440 0,54 -1,27

1,81 1416 1,74 -0,07 1338 1,64 -0,17

1,81 1866 2,28 0,47 2083 2,55 0,74

1,81 1202 1,47 -0,34 1213 1,49 0,32

1,81 1678 2,05 0,24 1832 2,24 0,43

1,81 748 0,91 -0,90 796 0,98 -0,83

1,81 1938 2,37 0,56 1938 2,37 0,56

1,81 1119 1,37 -0,44 1763 2,16 0,35

1,81 1013 1,24 -0,57 1323 1,62 -0,19

1,81 1622 1,98 0,17 1744 2,13 0,32

Médias

1,81 1296 1,58 -0,23 1447 1,77 -0,04

Nesta bateria de testes, a 8a imagem (Figura 4.6) foi a que apresentou uma taxa de
erro maior devido às algas filamentosas estarem coladas uma nas outras, apresentando-se para o
algoritmo após a binarização como um filamento mais espesso do que realmente é. Este problema
causa um desvio para baixo do resultado da detecção, devendo ser corrigido pelo operador.
50

(a) Imagem original (b) Imagem binarizada


Figura 4.6 Algas filamentosas coladas

Na Figura 4.7 é possível verificar que a 8a amostra apresenta a maior diferença entre
o resultado automático e a correção manual.

3
Resultado sem ajuste
Resultado com ajuste
2,5 Resultado Manual

1,5

0,5

0
1° Imagem

2° Imagem

3° Imagem

4° Imagem

5° Imagem

6° Imagem

7° Imagem

8° Imagem

9° Imagem

10° Imagem

Figura 4.7 Exposição gráfica dos resultados obtidos na Tabela 4.2


51

A Tabela 4.3 apresenta os resultados da terceira bateria de testes realizada com 10


imagens da amostra. Nestas imagens não houve um erro significativo no algoritmo em nenhuma
imagem, procedendo, o operador, apenas pequenos ajustes.

Tabela 4.3 Apresentação de resultados por imagem


Resultado da Resultado automático Desvio Resultado Desvio
contagem sem intervenção do (mg/l) automático com (mg/l)
manual operador intervenção do
(mg/l) operador

Pixels mg/l Pixels mg/l

1,81 1428 1,75 -0,06 1320 1,61 -0,20

1,81 790 0,97 -0,84 792 0,97 -0,84

1,81 1012 1,24 -0,57 1445 1,77 -0,04

1,81 394 0,48 -1,33 394 0,48 -1,33

1,81 1110 1,36 -0,45 1142 1,40 -0,41

1,81 2090 2,56 0,75 2141 2,62 0,81

1,81 1436 1,76 -0,05 1698 2,08 0,27

1,81 1775 2,17 0,36 1775 2,17 0,36

1,81 1140 1,40 -0,41 1316 1,61 -0,20

1,81 142 0,17 -1,64 689 0,85 -0,96

Médias

1,81 1131 1,39 -0,42 1271 1,56 -0,25

A exposição gráfica da Figura 4.8 demonstra que não houve desvios significativos
nas imagens desta bateria de testes.
52

3
Resultado sem ajuste
Resultado com ajuste
2,5 Resultado Manual

1,5

0,5

0
1° Imagem

2° Imagem

3° Imagem

4° Imagem

5° Imagem

6° Imagem

7° Imagem

8° Imagem

9° Imagem

10° Imagem
Figura 4.8 Exposição gráfica dos resultados obtidos na Tabela 4.3

A imagem que apresentou a maior diferença entre o resultado automático e o


resultado com ajuste foi a 10a imagem da Tabela 4.4. Esta imagem apresentou um histograma
com vários picos devido a presença de uma bolha na câmara, conforme apresentado na Figura
4.9. O ajuste, porém, foi bastante rápido e eficaz, bastando mover o limiar do histograma para um
valor mais adequado.
53

Tabela 4.4 Apresentação de resultados por imagem


Resultado da Resultado automático Desvio Resultado Desvio
contagem sem intervenção do (mg/l) automático com (mg/l)
manual operador intervenção do
(mg/l) operador

Pixels mg/l Pixels mg/l

1,81 1359 1,67 -0,14 1359 1,67 -0,14

1,81 1696 2,08 0,27 1581 1,93 0,12

1,81 1778 2,18 0,37 2280 2,79 0,98

1,81 328 0,40 -1,41 339 0,42 -1,39

1,81 2186 2,68 0,87 2959 3,62 1,81

1,81 1545 1,89 0,08 1899 2,32 0,51

1,81 934 1,15 -0,66 993 1,22 -0,59

1,81 929 1,14 0,67 1310 1,61 -0,20

1,81 881 1,08 -0,73 770 0,94 -0,87

1,81 3603 4,41 2,60 1122 1,38 -0,43

Médias

1,81 1523 1,86 -0,05 1461 1,79 -0,02


54

Figura 4.9 Presença de uma bolha na imagem da amostra

Na Figura 4.10 nota-se claramente o desvio excessivo causado pela bolha na 10a imagem.
Após o ajuste, o valor do desvio não foi mais excessivo.

5
Resultado sem ajuste
4,5 Resultado com ajuste
4 Resultado Manual

3,5

2,5

1,5

0,5

0
10° Imagem
1° Imagem

2° Imagem

3° Imagem

4° Imagem

5° Imagem

6° Imagem

7° Imagem

8° Imagem

9° Imagem

Figura 4.10 Exposição gráfica dos resultados obtidos na Tabela 4.4


55

Tabela 4.5 Apresentação de resultados por imagem


Resultado da Resultado automático Desvio Resultado Desvio
contagem sem intervenção do (mg/l) automático com (mg/l)
manual operador intervenção do
(mg/l) operador

Pixels mg/l Pixels mg/l

1,81 5128 6,28 4,47 3645 4,47 2,66

1,81 1915 2,34 0,53 1771 2,17 0,36

1,81 1073 1,32 -0,49 1073 1,32 -0,49

1,81 681 0,84 -0,97 975 1,20 -0,61

1,81 317 0,39 -1,42 412 0,51 -1,30

1,81 2935 3,59 1,78 1355 1,66 -0,15

1,81 674 0,83 -0,98 674 0,83 -0,98

1,81 327 0,40 -1,41 327 0,40 -1,41

1,81 2353 2,88 1,07 2353 2,88 1,07

1,81 1521 1,86 -0,05 1132 1,39 -0,42

Médias

1,81 1692 2,07 0,26 1371 1,68 -0,13

Nesta seqüência de imagens apresentada na Figura 4.5, as únicas imagens que


necessitaram de um ajuste mais expressivo foram a 1a e a 6a, ambas devido a presença demasiada
de sujeira com cores mais escuras que as algas semitransparentes na câmara, gerando picos falsos
e alterando o limiar encontrado pelo algoritmo automático. A correção manual deste limiar foi
rápida e precisa, produzindo resultados confiáveis.

Na Figura 4.11 é possível verificar que somente as imagens 1 e 6 sofreram um ajuste


manual considerável. Para todas as outras imagens, a intervenção foi mínima.
56

7
Resultado sem ajuste
Resultado com ajuste
6
Resultado Manual

10° Imagem
1° Imagem

2° Imagem

3° Imagem

4° Imagem

5° Imagem

6° Imagem

7° Imagem

8° Imagem

9° Imagem
Figura 4.11 Exposição gráfica dos resultados obtidos na Tabela 4.5

Na Figura 4.12 é possível comparar os resultados finais obtidos nas 5 seqüências de


imagens com o resultado do procedimento manual. No gráfico é verificado que os valores obtidos
na análise estatística são muito próximos do obtido manualmente pelo biólogo.
57

3
Resultado sem ajuste
Resultado com ajuste
Resultado Manual
2,5

1,5

0,5

0
1° Cálculo 2° Cálculo 3° Cálculo 4° Cálculo 5° Cálculo

Figura 4.12 Exposição gráfica dos resultados médios obtidos nos cálculos de biomassa

Na Figura 4.13 é possível verificar um gráfico onde todos os resultados das 50 imagens
são exibidos juntamente com o resultado manual. Neste gráfico fica bastante claro que o ajuste
manual é eficaz em aumentar a precisão do algoritmo.
58

6
Biomassa

0
Imagem

Resultado Manual
Resultado automático
Resultado automático com ajuste

Figura 4.13 Exposição gráfica dos resultados das imagens

4.3 Conclusões da análise estatística

Os resultados obtidos pela aplicação do algoritmo de detecção de algas filamentosas


foram bastante satisfatórios, pois houve uma correlação bastante forte entre os resultados finais
obtidos e o valor mensurado pelo procedimento manual.

mg
O desvio médio do procedimento sem nenhum ajuste foi calculado em 0,33 ,
l
valor considerado pelos biólogos como próximo de um desvio esperado, causado pelo uso de uma
mg
nova câmara. Já o desvio médio do procedimento com ajuste manual foi calculado em 0,14 ,o
l
que foi considerado excelente pela equipe.

Outra informação importante que é possível extrair da comparação dos desvios é o


fato que o ajuste manual está sendo eficaz para melhorar o resultado produzido pelo algoritmo, se
aproximando ainda mais do resultado esperado.
59

Conforme informado pela equipe da CAESB, o desvio entre a contagem nas imagens
em separado e o resultado final já era esperado, uma vez que a distribuição de algas pela amostra
não é uniforme. Assim, em algumas imagens ocorre a presença de muitas algas enquanto em
outras a presença é mínima. A média, em contrapartida, ficou bem próxima do esperado.

Além disso, de acordo com a equipe de biólogos responsável pela contagem na


CAESB, toda vez que uma nova câmara é preparada a partir de uma mesma amostra, um pequeno
desvio é encontrado entre as contagens. Como as câmaras usadas na análise automática e manual
não foram as mesmas, uma diferença significativa entre os resultados era esperado.
60

5. Conclusões

Este projeto foi proposto devido ao grande tempo necessário para a contagem de
algas em amostras de água, necessária para um procedimento extremamente importante nas
companhias de distribuição de água, a determinação da qualidade da água de rios, lagos e
reservatórios.

O objetivo desta dissertação foi abordar o problema utilizando conceitos


fundamentais da disciplina de processamento de imagens como a binarização de imagens por
limiarização, detecção de bordas e segmentação de imagens. O trabalho propôs, após uma revisão
bibliográfica dos estudos já desenvolvidos na área de detecção de algas, um novo algoritmo capaz
de detectar e contabilizar com sucesso algas filamentosas. A nova técnica é eficiente e de baixo
custo computacional, agilizando o processo como um todo.

O trabalho levou à implementação de um sistema para ambiente Windows atualmente


em uso na CAESB. A eficiência deste projeto foi testada em conjunto com a equipe de biólogos
da empresa e através de análise estatísticas com imagens capturadas do microscópio.

Entre os problemas enfrentados, o que mais gerou distorções no processamento e no


resultado final da contagem foi o posicionamento em paralelo e extremamente próximo de duas
algas filamentosas, que após a binarização se apresentaram juntas e como um objeto mais
espesso, conforme a Figura 5.1. Este problema, porém, ocorreu em uma gama pequena de
imagens, somente afetando em um valor pequeno o resultado final.

Dentre os demais problemas encontrados no projeto, alguns se destacaram, inclusive


sendo citados na bibliografia estudada.

• Presença de vários objetos estranhos à cena, como partículas suspensas e grãos [16];

• Baixa acuidade da imagem, já que muitas vezes os objetos estudados aparecem


semitransparentes e com baixo contraste. Muitas vezes este problema pôde ser contornado
com um ajuste mais preciso do foco e da intensidade da lâmpada do microscópio [16];
61

Figura 5.1 Imagem exemplo onde ocorrem algas coladas

A implementação com um a possibilidade de ajuste manual tornou possível o


resultado obtido confiável, uma vez que o operador do sistema acompanha de forma gráfica todos
os resultados do algoritmo, interferindo se necessário. Assim foi possível se chegar a um
algoritmo de detecção e contabilização que se aproximasse ainda mais do procedimento manual.
É importante porém, frisar que mesmo o procedimento totalmente automático apresentou um
resultado bastante satisfatório.

Além disso, o procedimento em questão inova em relação a contagem manual de


algas filamentosas atualmente em uso na CAESB na parte de precisão. Hoje o método utilizado
conta quadrículas onde algas filamentosas estão presentes e realiza uma generalização a respeito
da quantidade de alga filamentosa presente no quadrículo. Uma vez que o algoritmo contabiliza
cada pixel individualmente, não existe generalização no cálculo.

Como contribuições relevantes deste trabalho, citamos:

• Implementação de um novo método para a identificação de objetos de forma alongada e


fina;

• Implementação de um software que execute na plataforma Windows para utilização em


empresas responsáveis por análise da qualidade da água;

• Maior agilidade e resultados mais precisos nas análises da qualidade da água.


62

5.1 Propostas para trabalhos futuros

O sistema pode ser melhorado no tocante ao método de identificação das algas


unicelulares (Staurastrum e Cosmarium), pois hoje o algoritmo utilizado é extremamente
simplório e produz resultados pouco precisos. Pesquisas na identificação de tais algas ainda são
recentes no projeto cujo foco principal sempre foram as algas filamentosas.

A análise estatística pode ser aperfeiçoada variando-se o operador, utilizando-se mais


amostras e densidades de algas diferentes. Neste trabalho a diferença entre os operadores não foi
um fator de erro considerado, nem a variação entre as diversas amostras, pois somente um
operador e uma amostra foram usados. Uma nova análise se faz necessário incluindo-se estes
fatores de variação, e mensurando-se o desempenho do algoritmo.

Além disso, um pequeno sistema robótico também é sugerido como uma evolução para
automatizar a captura das imagens uma vez que a amostra esteja posicionada corretamente no
microscópio. Atualmente kits com servomotores controlados por computador estão disponíveis
no mercado a um preço relativamente baixo [13].

Uma vez acoplado ao microscópio, os servomotores podem realizar muitas tarefas


importantes de forma automática tais como:

• Ajuste automático de foco;

• Ajuste automático da potência da lâmpada, melhorando o desempenho do algoritmo de


binarização;

• Busca por imagens em posições realmente aleatórias.

Outra evolução importante do sistema proposta é a criação de um banco de dados


estatístico, com armazenamento das imagens importantes e de dados históricos. Caso haja
disponibilidade de espaço de armazenamento, todas as imagens poderiam ser armazenadas.
Assim, caso um novo padrão de análise fosse desenvolvido pela equipe de biólogos, um
processamento retroativo poderia ser realizado e os dados históricos atualizados para o novo
procedimento.
63

6. Referências Bibliográficas

[1] S. U. Thiel, e J. A Ware, Determination of water quality in fresh water lakes, em Fifth
International Conference on Image Processing And Its Applications, Julho de 1995, pp. 662-
666.
[2] R. E. Davies, Machine Vision, Academic Press, San Diego, California, 1990.
[3] Castleman, Kenneth, Digital Image Processing, Prentice-Hall, 1979.
[4] S. U. Thiel, R. J. Wiltshire, e L. J. Davies, Automated Object Recognition of Blue-Green
Algae For Measuring Water Quality – A Preliminary Study, em Water Research, 1995,
2398-2404.
[5] R. F. Walker, Cyanobacteria Detection And Species Classification by Image Analysis,
http://dr_ross_f_walker.tripod.com/STAFinalReport/STAFinalReport.html, acessado em
novembro de 2003.
[6] N. D. Mascarenhas e F. R. D. Velasco, Processamento Digital de Imagens
[7] O. Rud, e M. Gade, Monitoring algae blooms in the Baltic Sea : a multi-sensor approach,
em IEEE Geoscience and Remote Sensing Symposium, 28 de Junho a 2 de Julho de 1999,
Vol. 2 , pp. 1211-1213.
[8] L. H. Petterson, D. Durand, O. M. Johannessen, E. Svendsen, T. Noji, H. Soiland, S. Groom,
e P. Regner, Monitoring and Model Predictions of Harmful Algae Blooms in Norwegian
Waters, em IEEE Geoscience and Remote Sensing Symposium, Julho de 2001, Vol. 3, pp.
1146-1148.
[9] R. C. Gonzalez e R. E. Woods, Processamento de Imagens Digitais, Editora Edgard
Blücher, 2000
[10] H. Ming-Kuei, Visual pattern recognition by moment invariants, em IEEE Transactions on
Information Theory, Fevereiro de 1962, Vol. 8 Issue: 2, pp. 179 -187.
[11] N. Beaudoin, e S. S. Beauchemin, An accurate discrete Fourier transform for image
processing, em 16th International Conference on Pattern Recognition, 11 a 15 de Agosto de
2002, Vol. 3, pp. 935-939.
[12] B. K. P. Horn, Robot Vision, The MIT Press, 1986.
64

[13] http://www.robix.com, acessado em novembro de 2003


[14] R. B. Cavalcanti, R. V. Guadagnin, C. G. B. Cavalcanti, M. S. Almeida, S. S. Vasconcelos,
e R. S. Almeida, Um método prático para análise de algas em amostras de água, baseado
em processamento computadorizado de imagens, em 20o Congresso Brasileiro de
Engenharia Sanitária e Ambiental, Rio de Janeiro, 10 a 14 de Maio de 1999, pp. 2169-2175.
[15] S. P. Mattos, I. G. Altafin, H. J. de F., C. G. B. Cavalcanti, e V. R. E. Alves, Lake Paranoá,
Brasília, Brasil: Integrated Management Plan for its Restoration, em Water Poll. Res. J.
Canada, 1992, Vol. 27, No. 2, pp. 271-286.
[16] M. Das, F. Butterworth, e R. Das, Statistical signal modeling techniques for automated
recognition of water-borne microbial shapes, em IEEE 39th Midwest symposium on
Circuits and Systems, 18 a 21 de Agosto de 1996, Vol. 2, pp. 613 -616.
[17] V. V. Vinod, S. Chaudhury, J. Mukherjee, e S. Ghose, em A Connectionist Approach for
Gray Level Image Segmentation, em 11th IAPR International Conference on Image, Speech
and Signal Analysis, Pattern Recognition, 30 de Agosto a 3 de Setembro de 1992. Vol. 3,
pp. 489-492.

Vous aimerez peut-être aussi