Académique Documents
Professionnel Documents
Culture Documents
POR
BRASÍLIA/DF: FEVEREIRO/2004
UNIVERSIDADE DE BRASÍLIA
INSTITUTO DE CIÊNCIAS EXATAS
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
APROVADA POR:
ii
FICHA CATALOGRÁFICA
REFERÊNCIA BIBLIOGRÁFICA
CESSÃO DE DIREITOS
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.
• 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.
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
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.
viii
1
1. Introdução
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.
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.
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).
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.
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
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].
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.
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.
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 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.
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
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
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
(a) (b)
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.
2.3 Thresholding
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.
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].
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.
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.
2.4 Segmentação
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.
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
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.
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
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
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
111
111
111 2
333 111 22
3333 111 2222
333333333333333333
3333333333333333333
33333333333333333333
33333333333333333
3333333333333
333333
4 3
4 3
444444444
44444
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.
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
∂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
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
0000000000000000000000
0000001000000000000000
0000000100000001000000
0000000010000000000000
0000000001000000000000
0010000000000000001000
0000000000000000000000
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.
Como
1µm 3 = 10 −15 l
Temos:
Vc = 1,189 × 10 −6 l
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
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
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.
3.4.1 Fluxograma
33
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.
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.
- 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.
- 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.
0 1 0
M = 1 0 1
(3.6)
0 1 0
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.
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.
Por fim, os pixels contabilizados como pertencentes a alga em questão são as bordas
válidas e os pixels de centro definitivos.
N
D= (3.7)
x. y
Onde,
D = densidade calculada;
N = número de pixels do segmento analisado;
41
- Sua área total deve estar entre os valores de 300 até 500 pixels;
4. Resultados e Análise
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 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.
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.
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.
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.
É 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.
Médias
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.
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
Médias
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
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
Médias
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
Médias
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
Médias
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
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
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.
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.
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.
• Presença de vários objetos estranhos à cena, como partículas suspensas e grãos [16];
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].
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