detecÇÃo e classificaÇÃo automÁtica de algas para mediÇÃo da qualidade da Água -...
DESCRIPTION
Msc thesis, new algorithm to detect filament algae in microscopic imagesTRANSCRIPT
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
ii
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.
iii
FFIICCHHAA CCAATTAALLOOGGRRÁÁFFIICCAA
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.
RREEFFEERRÊÊNNCCIIAA BBIIBBLLIIOOGGRRÁÁFFIICCAA
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.
CCEESSSSÃÃOO DDEE DDIIRREEIITTOOSS
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
iv
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.
v
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
vi
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
vii
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
viii
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
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):
3BGRN ++= (2.1)
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).
(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
11 1111 11 1 1 1 11 1111 11
000000001100000000000001111000000000000011000000000000010000000000000010000000000000010000000000000110000000000000111100000000000001100000000000
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).
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:
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.
111111 111111111
2222 11111111 222 3 3 333333
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
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).
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).
111 111
111 2 333 111 22 3333 111 2222 333333333333333333 3333333333333333333 33333333333333333333 33333333333333333 3333333333333 333333 4 3 4 3 444444444 44444
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
( ) ( )( ),21
,,11,1,1 jijijiji EEEEex
E −+−≈∂∂
++++ (2.2)
( ) ( )( ),21
,1,,11,1 jijijiji EEEEey
E −+−≈∂∂
++++ (2.3)
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,11,
2,1,1
22
jijijiji EEEEyE
xE
++++ −+−≈
∂∂+
∂∂
(2.4)
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
2
2
22
yf
xff
∂∂+
∂∂=∇ (2.5)
estima-se o Laplaciano na célula central, usamos as aproximações apresentadas nas equações
(2.6) e (2.7) [12]:
( ),21,1,,122
2
jijiji EEEex
E+− +−≈
∂∂ (2.6)
( ),211,,1,22
2
+− +−≈∂∂
jijiji EEEey
E (2.7)
assim obtemos a equação (2.8):
21
( ) ,414
,1,,11,,122
2
2
2
−+++≈
∂∂+
∂∂
++−− jijijijiji EEEEEey
ExE (2.8)
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 2
1e
0
21e 2
4e
− 21e
0 2
1e
0
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
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.
0000000000000000000000 000000100000000000000000000001000000010000000000000010000000000000000000000100000000000000100000000000000010000000000000000000000000
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
Água de Brasília
5ml 1 hora
Lago Descoberto 5ml 12 horas
Estação de Tratamento de
Água do Descoberto
5 ml 12 horas
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):
AhVc = (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: 393333 10189,11011890001020205290 mmxmxxxVc µµµ ×===
Como
lm 153 101 −=µ
Temos:
lVc610189,1 −×=
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;
lxmxVc7333 109,2102900001020100145 −=×=××= µ
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):
cVMR = (3.2)
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):
bcaM .= (3.3)
onde:
M = biomassa algal em lmµ ;
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
de área de 7µm2 e dividido pelo volume do transecto. Neste ponto, temos o resultado em lm3µ .
Para transformar em l
mg , basta dividir o resultado em 63
10×lmµ por 1000.
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,
e dividido pelo volume do transecto, produzindo um valor em lm3µ . A fórmula para o cálculo
em lm3µ é apresentada na equação (3.4):
610189,17
3625,0
−×××= nM (3.4)
onde;
M = biomassa algal, em lm3µ ;
n = número de pixels detectados na imagem;
Conforme o procedimento manual, para transformar em l
mg , basta dividir o
resultado em 63
10×lmµ por 1000, conforme equação (3.5):
1000189,17
3625,0
×××= nM (3.5)
onde;
M = biomassa algal, em l
mg ;
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):
=
010101010
M (3.6)
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):
yxND.
= (3.7)
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
será apresentado em valores finais, ou seja, em l
mg . A espécie de alga contabilizada foi a
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
resultado após o cálculo da transformação de pixels para l
mg , conforme a fórmula (3.5),
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 automático
sem intervenção do
operador
Resultado
automático com
intervenção do
operador
Resultado da
contagem
manual
(mg/l)
Pixels mg/l
Desvio
(mg/l)
Pixels mg/l
Desvio
(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
0
1
2
3
4
5
6
7
8
1° Im
agem
2° Im
agem
3° Im
agem
4° Im
agem
5° Im
agem
6° Im
agem
7° Im
agem
8° Im
agem
9° Im
agem
10° I
mag
em
Resultado sem ajusteResultado com ajusteResultado Manual
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 automático
sem intervenção do
operador
Resultado
automático com
intervenção do
operador
Resultado da
contagem
manual
(mg/l)
Pixels Mg/l
Desvio
(mg/l)
Pixels mg/l
Desvio
(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.
0
0,5
1
1,5
2
2,5
3
1° Im
agem
2° Im
agem
3° Im
agem
4° Im
agem
5° Im
agem
6° Im
agem
7° Im
agem
8° Im
agem
9° Im
agem
10° I
mag
em
Resultado sem ajusteResultado com ajusteResultado Manual
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 automático
sem intervenção do
operador
Resultado
automático com
intervenção do
operador
Resultado da
contagem
manual
(mg/l)
Pixels mg/l
Desvio
(mg/l)
Pixels mg/l
Desvio
(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
0
0,5
1
1,5
2
2,5
3
1° Im
agem
2° Im
agem
3° Im
agem
4° Im
agem
5° Im
agem
6° Im
agem
7° Im
agem
8° Im
agem
9° Im
agem
10° I
mag
em
Resultado sem ajusteResultado com ajusteResultado Manual
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 automático
sem intervenção do
operador
Resultado
automático com
intervenção do
operador
Resultado da
contagem
manual
(mg/l)
Pixels mg/l
Desvio
(mg/l)
Pixels mg/l
Desvio
(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.
0
0,5
1
1,5
2
2,5
3
3,5
4
4,5
5
1° Im
agem
2° Im
agem
3° Im
agem
4° Im
agem
5° Im
agem
6° Im
agem
7° Im
agem
8° Im
agem
9° Im
agem
10° I
mag
em
Resultado sem ajusteResultado com ajusteResultado Manual
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 automático
sem intervenção do
operador
Resultado
automático com
intervenção do
operador
Resultado da
contagem
manual
(mg/l)
Pixels mg/l
Desvio
(mg/l)
Pixels mg/l
Desvio
(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
0
1
2
3
4
5
6
7
1° Im
agem
2° Im
agem
3° Im
agem
4° Im
agem
5° Im
agem
6° Im
agem
7° Im
agem
8° Im
agem
9° Im
agem
10° I
mag
em
Resultado sem ajusteResultado com ajusteResultado Manual
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
0
0,5
1
1,5
2
2,5
3
1° Cálculo 2° Cálculo 3° Cálculo 4° Cálculo 5° Cálculo
Resultado sem ajusteResultado com ajusteResultado Manual
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
0
2
4
6
8
Imagem
Bio
mas
sa
Resultado ManualResultado automáticoResultado 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.
O desvio médio do procedimento sem nenhum ajuste foi calculado em 0,33l
mg ,
valor considerado pelos biólogos como próximo de um desvio esperado, causado pelo uso de uma
nova câmara. Já o desvio médio do procedimento com ajuste manual foi calculado em 0,14l
mg , o
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.