Beruflich Dokumente
Kultur Dokumente
ALISE GRANULOM
ETRICA DE MIN
ERIO
UTILIZANDO T
ECNICAS DE
PROCESSAMENTO DE IMAGENS
Belo Horizonte
7 de Julho de 2004
VIN
ALISE GRANULOM
ETRICA DE MIN
ERIO
UTILIZANDO T
ECNICAS DE
PROCESSAMENTO DE IMAGENS
Projeto de Fim de Curso apresentado ao
Curso de Gradua cao em Engenharia de Con-
trole e Automa cao da Universidade Federal
de Minas Gerais.
Belo Horizonte
7 de Julho de 2004
UNIVERSIDADE FEDERAL DE MINAS GERAIS
FOLHA DE APROVAC
AO
Analise Granulometrica de Minerio Utilizando Tecnicas de
Processamento de Imagens
VIN
E feita uma breve apresenta cao da empresa onde esta sendo desenvolvido o
projeto, bem como o departamento especco.
Revisao Bibliograca
Sao mostradas as tecnicas de processamento de imagens utilizadas ate o
momento, alem dos mecanismos de programa cao e arquitetura do sistema.
Descri cao da Metodologia
E mostrado a forma pela qual as tecnicas de processamento de imagens foram
combinadas de forma a chegar ao objetivo, a medi cao de granulometria.
Alem disto, e explicado o processo seguido ate se chegar aos resultados
atuais
Testes Utilizando o Sistema
Sao mostrados os resultados conseguidos ate o momento, alem da apre-
senta cao da versao atual do sistema.
Conclusao e Trabalhos Futuros
Sao mostrados as melhorias as quais pretende-se fazer de agora em diante,
algumas considera coes a respeito das diculdades enfrentadas e uma analise
geral comparativa entre os metodos utilizados.
1.1 Apresenta c ao da Empresa 2
1.1 Apresentacao da Empresa
Este projeto esta sendo desenvolvido na ATAN.
A ATAN e uma empresa integradora de sistemas, dedicada ao desenvolvimento de
sistemas industriais de automa cao e informa cao. Desde 1987, a mesma tem fornecido
servi cos e solu coes para segmentos industriais diversicados, desde os mais simples,
ate os complexos projetos turnkeys. A ATAN sempre contou, em seus projetos, com a
excelencia tecnica de sua equipe e recursos, fornecendo sistemas seguros, com qualidade
e baixo custo.
A caracterstica mais marcante da empresa e a sua alta capacidade de identicar as
necessidades dos clientes e de seus processos industriais. A ATAN possui uma estrutura
agil e exvel, capaz de oferecer solu coes rapidas, criativas e de baixo custo para diversos
segmentos industriais. Entretanto, a busca por novas tecnologias nao e facil. Envolve
uma completa atualiza cao das tendencias de mercado, treinamento de pessoal, analise
custo-benefcio vista sob o foco do cliente e, nalmente, auto crtica.
Este projeto, especicamente, desenvolve-se no Departamento de Tecnologia da
Informa cao, responsavel pelo fornecimento de servi cos e produtos de informatica apli-
cados `a industria em geral. O Departamento esta focado em sistemas de gestao de
produ cao e aplica coes para logstica, fornecendo servi cos de consultoria e desenvolvi-
mento e integra cao de sistemas.
Embora o projeto esteja sendo desenvolvido pelo Departamento de Tecnologia da
Informa cao, ele sera posteriormente utilizado pelo Departamento de Automa cao Indus-
trial, o qual e uma estrutura operacional da ATAN composta por engenheiros e tecnicos
com forma cao nas areas de controle, instrumenta cao e informatica, cuja missao e es-
pecicar, desenvolver e implantar com sucesso, sistemas de automa cao industrial.
Este departamento e composto por engenheiros e analistas de sistemas com larga
experiencia nas atividades de analise orientada a objeto, desenvolvimento de software,
especica cao de hardware, implanta cao de sistemas, entre outros.
Captulo 2
Revisao Bibliograca
2.1 Processamento de Imagens
O processamento de imagens consiste de uma serie de tecnicas utilizadas para fazer
alguma transforma cao em uma imagem.
O processamento de imagens digitais pode ser dividido em sub-conjuntos de ferra-
mentas mais especcas:
Fundamentos de Imagens Digitais
Transformadas de Imagens
Realce de Imagens
Restaura cao de Imagens
Compressao de Imagens
Segmenta cao de Imagens
Representa cao e Descri cao de Imagens
Reconhecimento e Interpreta cao
Neste projeto, os sub-conjuntos mais utilizados serao os fundamentos, segmenta cao
e algumas ferramentas de Descri cao.
Os fundamentos serao discutidos porque estes fornecem varios conceitos basicos,
necessarios `a compreensao dos algoritmos do texto, desde como a imagem e formada
no olho de um ser-humano, representa coes digitais de imagens, ate rela coes entre pixels
de uma dada imagem.
A segmenta cao e parte crucial de quase todo problema de processamento de imagens
e este projeto nao e diferente. Portanto as tecnicas utilizadas ate o momento serao
ilustradas de forma intuitiva para que se tenha uma ideia da nalidade e funcionamento
das mesmas.
Tambem serao descritas algumas transformadas morfologicas bastante uteis como
a erosao e a dilata cao.
A Figura 2.1 ilustra as as etapas do processamento de imagens.
2.1 Processamento de Imagens 4
Figura 2.1: Etapas de processamento
2.1.1 Principais Fundamentos de Processamento de Imagens
Aquisicao de Imagens
Primeiramente e necessario um dispositivo capaz de converter a informa cao otica pre-
sente em uma cena em uma informa cao digital capaz de ser processada e representada
em um computador. Esse dispositivo pode ser uma camera ou lmadora com uma
interface serial, USB ou outra qualquer. Esse dispositivo e denominado digitalizador.
Armazenamento
O armazenamento na forma de arquivos se o objetivo e que o dado que guardado de
forma permanente ou na memoria RAM, onde o armazenamento e temporario.
O armazenamento de imagens digitais e sempre uma tarefa a ser estudada em
detalhes, ja que a quantidade de informa cao guardada em imagens e quase sempre
muito grande.
Uma imagem com 8 bits para representar a intensidade de cada ponto com uma res-
olu cao de de 1.024 x 1.024 requer um milhao de bytes para seu armazenamento. Mesmo
atualmente, onde a quantidade media de memoria nos discos rgidos vem crescendo bas-
tante, uma quantidade de imagens relativamente pequeno poderia esgotar um HD de
alguns gigabytes.
Deve-se entao guardar somente a informa cao util, e somente pelo tempo necessario
e se possvel, salvar a imagem em formatos compactados como jpg.
No caso deste projeto, como as images utilizadas serao sempre convertida para tons
de cinza de 8 bits, a imagem sera sempre armazenada em 8 bits.
Representacao
O termo imagem refere-se a uma fun cao de intensidade luminosa bidimensional, deno-
tada por f(x, y), em que o valor ou amplitude de f nas coordenadas espaciais (x, y) da
a intensidade (brilho) da imagem naquele ponto. Como a luz e uma forma de energia,
f(x, y) deve ser positiva e nita, isto e,
2.1 Processamento de Imagens 5
0 < f(x, y) <
As imagens percebidas pelas pessoas podem ser representas por f(x, y) como mostrado
acima e essa fun cao pode ser caracterizada por duas componentes, a quantidade de luz
incidindo na cena sendo observada e a quantidade de luz reetida pelos objetos na
cena. Essas componentes sao chamadas de ilumina cao i(x, y) e reectancia r(x, y),
respectivamente.
A caracteristica de i(x, y) e determinada pela fonte de alimenta cao, enquanto r(x, y)
pela caracterstica dos objetos na cena.
Existem varias formas de se representar uma imagem de forma digital. Sera expli-
cado aqui, o sistema RGB, o sistema de tons de cinza de 8 bits e o sistema binario, que
sao os sistemas utilizados no projeto.
Sistema RGB
O sistema RGB representa um pixel por cinco valores: x, y, r, g, b.
Os valores x e y correspondem `as coordenadas espaciais da imagem, equanto os
valores r, g, b sao os valores das cores vermelho (Red), verde (Green) e azul (Blue),
sendo que cada um destes valores e representado por 8 bits.
Sendo assim, uma imagem RGB pode ser abstrada como um conjunto de tres
matrizes, onde um pixel tem sempre os mesmos valores de x e y e um valor qualquer
em cada uma das tres matrizes.
Sistema de Tons de Cinza
Este sistema e bem mais simples que o RGB. Ele conta com apenas tres valores
para cada pixel: x, y e t.
Os valores x e y correspondem `as coordenadas espaciais do pixel, enquanto t repre-
senta o tom de cinza do pixel que pode variar de 0 a 255, sendo 0 (zero) correspondente
ao preto e 255 ao branco.
Sistema Binario
O sistema binario e uma simplica cao do sistema de Tons de Cinza em que so existe
a possibilidade de representar branco ou preto, sendo 0 (zero) o preto e 1 o branco.
Esse sistema apesar de bastante simples e de grande importancia e vastamente
utilizado no projeto, ja que algumas propriedades de um pixel sao geralmente denidas
para imagens binarias.
Propriedades dos Pixels
Um pixel pode ser caracterizado de varias formas, das quais ja vimos sua intensidade.
Serao apresentadas outras propriedades importantes.
Vizinhos de um pixel
A propriedade de vizinhan ca pode ser representada de varias formas. Em uma
imagem analogica, um pixelseria denido como um ponto e seus vizinhos como o
crculo de innitos pontos que envolve o ponto de interesse.
No entanto, para uma imagem digital, a situa cao e bastante diferente. Serao apre-
sentados entao dois tipos de vizinhan ca, a vizinhan ca de 4 e a vizinhan ca de 8, que sao
os tipos de vizinhan ca utilizados no projeto.
2.1 Processamento de Imagens 6
Vizinhan ca de 4
Seja um pixel de coordenadas x e y:
Seus vizinhos de 4 sao: (x + 1, y), (x 1, y), (x, y + 1), (x, y 1).
A vizinhan ca de 4 de um pixel p e normalmente representada por N4(p).
Esse conceito e ilustrado na Figura 2.2, onde o pixel em questao esta desenhado em
preto e seus vizinhos de 4 sao mostrados em amarelo.
Figura 2.2: Vizinhos de 4
Vizinhan ca de 8
Seja um pixel de coordenadas x e y:
Seus vizinhos de 8 sao: vizinhos de 4, (x+1, y +1), (x+1, y 1), (x1, y +1), (x
1, y 1).
A vizinhan ca de 8 de um pixel p e normalmente representada por N8(p).
Esse conceito e ilustrado na Figura 2.3, onde o pixel em questao esta desenhado em
preto e seus vizinhos de 8 sao mostrados em amarelo.
Figura 2.3: Vizinhos de 8
Conectividade
A conectividade entre pixels e dependente da deni cao de vizinhan ca utilizada.
Supondo a conectividade de 4, dois pixels p e q sao ditos conexos se q esta no
conjunto de N4(p), ja supondo a conectividade de 8, dois pixels p e q sao ditos conexos
se q esta no conjunto de N8(p).
2.1 Processamento de Imagens 7
O conceito de concetividade e geralmente utilizado para saber se um pixel pertence
a um conjunto de pixels ja rotulados ou nao. Desta forma pode-se percorrer uma
imagem atraves de algum algoritmo e separar conjuntos de pixels (objetos) atraves de
rotulos.
Figura 2.4: Conectividade
O conceito de conectividade aplicado `a rotula cao de objetos e mostrado na Figura
2.4, onde dois conjuntos de pixels sao mostrados nas cores amarelo e vermelho.
Adotando o conceito de vizinhan ca de 4, os objetos seriam classicados como objetos
distintos, ja que nenhum pixel mostrado em vermelho tem um vizinho de 4 representado
na cor amarelo e vice-versa, ou seja, entre nenhum dos pixels amarelos e vermelhos ha
uma conexao de 4.
Se o conceito de vizinhan ca adotado fosse a vizinhan ca de 8, os dois conjuntos de
pixels seriam rotulados como um mesmo objeto, ja que ha uma conexao entre um par
de pixels, cada um correspondente a um conjunto.
Operadores Logicos para Imagens Binarias
Serao apresentados exemplos gracos do efeito dos operadores logicos, ja que o conceito
e bastante simples e intuitivo. Estes exemplos sao mostrados na Figura 2.5.
Operacoes Orientadas `a Vizinhanca
Algumas opera coes podem levar em conta nao apenas os atributos do pixel avaliado,
mas tambem as caracterstica de sua vizinhan ca.
Nestas opera coes, geralmente e denida uma especie de mascara ou janela. A ideia
por tras disto e que para se fazer uma mudan ca em um pixel, sua vizinhan ca pode
ajudar a denir um criterio. Opera coes de detec cao de bordas e opera coes de ltragem
geralmente envolvem este tipo de processamento.
Um exemplo e mostrado atraves da Mascara 2.1.1 e da Equa cao 2.1.
Um ltro de media poderia ser denido atraves da seguinte mascara:
1 1 1
1 1 1
1 1 1
i=1
z
i
(2.1)
O comportamento do ltro pode ser modicado atraves dos valores da mascara.
Mascara Generica
W
1
W
2
W
3
W
4
W
5
W
6
W
7
W
8
W
9
(2.2)
A resposta da Mascara 2.2 em qualquer ponto da imagem e dada por:
z = (w
1
z
1
+ w
2
z
2
+ ... + w
9
z
9
) =
9
i=1
w
i
z
i
(2.3)
A mascara pode ser de qualquer tamanho, 3x3, 5x5, 7x7...
2.1 Processamento de Imagens 9
2.1.2 Segmentacao
A segmenta cao corresponde ao conjunto primordial de tecnicas capazes de extrair in-
forma cao a partir de uma imagem.
A fun cao da segmenta cao e a divisao da imagem em seus objetos constituintes,
como por exemplo, separar objetos do fundo da imagem.
Deteccao de Pontos
A detec cao de pontos isolados pode ser feita utilizando a tecnica de aplica cao de
mascaras, ou seja, opera coes orientadas `a vizinhan ca com uma mascara como a mostrada
em 2.4.
1 1 1
1 8 1
1 1 1
(2.4)
Um ponto e dito detectado se |R| > T, sendo R fornecido pela Equa cao 2.3 e T um
valor qualquer, que neste caso poderia ser 7.
Deteccao de Bordas
Uma borda e o limite entre duas regioes com propriedades relativamente distintas de
nvel de cinza. Sendo assim, a ideia basica por tras das tecnicas de detec cao de bordas
e a aplica cao de um operador local diferencial.
A Figura 2.6 ilustra o conceito.
Figura 2.6: Imagem, derivada primeira, derivada segunda de uma das linhas
Ve-se atraves da Figura 2.6 que na transi cao de tom a derivada sempre aumenta
em modulo.
Operador Gradiente
O gradiente e um operador util na segmenta cao de Bordas, e por isso sera mostrado.
O gradiente de umagem f(x, y) na posi cao (x, y) e dado pelo vetor:
f =
G
x
G
y
f
x
f
y
(2.5)
Na detec cao de bordas e importante analisar o gradiente de forma separada em
magnitude e angulo, sendo:
2.1 Processamento de Imagens 10
|f| =
G
2
x
+ G
2
y
, podendo ser aproximado por |f| = |G
x
+ G
y
| e o angulo
por:
(x, y) = tan
1
G
y
G
x
(2.6)
A implementa cao do operador pode ser feita de forma digital de diferentes formas,
sendo uma delas os operadores de Sobel, dados pelas mascaras mostradas em 2.7.
a)
1 2 1
0 0 0
1 2 1
b)
1 0 1
2 0 2
1 0 1
(2.7)
Sendo a mascara a utilizada no computo de G
x
e b no computo de G
y
.
Um exemplo de utiliza cao das Mascaras 2.7 e mostrado na Figura 2.7.
Figura 2.7: Da esquerda para a direita, de cima para baixo sao mostrados respectiva-
mente: imagem original, Gx, Gy e modulo do gradiente
Limiarizacao Simples
A limiariza cao simples e o processo de escolha de um tom de cinza que caracterize bem
a separa cao entre duas ou mais regioes com tons de cinza distintos.
Uma ferramenta bastante util na escolha do limiar e o histograma de tons de cinza
da imagem. Atraves dele e mais facil perceber se uma imagem pode ser facilmente
limiarizada ou nao.
Dado um limiar T, uma imagem limiarizada g(x, y) pode ser formada a partir da
seguinte regra:
g(x, y) =
1 se f(x, y) > T
0 se f(x, y) T
(2.8)
2.1 Processamento de Imagens 11
Portanto, pixels rotulados como 1 correspondem ao(s) objeto(s), enquanto os com
0 correspondem ao fundo.
Na Figura 2.8 e mostrado um exemplo de Limiariza cao Simples.
Figura 2.8: Da esquerda para a direita sao mostrados respectivamente a imagem orig-
inal, o histograma de tons de cinza e a limiariza cao
Diculdades Introduzidas pela Ilumina cao
Quanto mais irregular a ilumina cao da imagem, mais difcil e de segmenta-la. Com
o objetivo de ilustrar este efeito, sera apresentado um exemplo que esclarece o efeito
da ilumina cao na imagem e em seu histograma.
Considere a Figura 2.9. Primeiro e mostrada uma gura qualquer e ao seu lado,
o histograma da mesma. Pode-se notar que os objetos (os quadrados), poderiam ser
segmentados facilmente por um limiar em torno de 120, pois o fundo (mais escuro) e
bem separado dos objetos em rela cao aos tons de cinza, como se ve no histograma,
claramente bimodal.
Figura 2.9: Da esquerda para a direita sao mostrados respectivamente a imagem orig-
inal e o histograma de tons de cinza
Agora, considerando o fundo gerado por computador (ilumina cao nao uniforme),
Figura 2.10, o mesmo e adicionado `a imagem da Figura 2.9, que resulta na imagem da
Figura 2.11 e seu histograma ao lado.
Ve-se claramente, atraves da Figura 2.11, o efeito da ilumina cao no histograma.
Isso se deve ao fato da que a fun cao que relaciona o histograma de uma imagem que
e resultado da soma de outras duas, e relacionado `a convolu cao entre os histogramas
das mesmas. Tendo uma gura deste tipo, e praticamente impossvel a segmenta cao
da mesma atraves de um limiar simples sem se conhecer a fun cao de ilumina cao.
2.1 Processamento de Imagens 12
Figura 2.10: Imagem sintetica simulando uma ilumina cao n ao uniforme
Figura 2.11: Da esquerda para a direita sao mostrados respectivamente a imagem
original, agora com ilumina cao nao uniforme e o histograma resultante
Limiarizacao Adaptativa
A limiariza cao adaptativa e similar `a limiariza cao simples, porem ao inves de apenas
um limiar ser escolhido para todos os pixels, escolhe-se um limiar para cada grupo de
n pixels, sendo n escolhido de acordo com o problema.
Sendo assim, se a imagem apresenta uma ilumina cao nao uniforme e possvel que o
metodo obtenha um bom resultado.
Para cada quadro de n pixels, faz-se um estudo do histograma do mesmo de forma
a identicar bimodalidade do histograma e assim escolher um limiar adequado a este
grupo de pixels. A bimodalidade corresponde ao fato de o histograma apresentar uma
clara divisao entre dois intervalos de tons de cinza predominantes.
Um exemplo de utiliza cao da Limiariza cao adaptativa e mostrado na Figura 2.12.
2.1.3 Operadores Morfologicos
Denicoes Basicas
Sejam A e B conjuntos de Z2, com componentes a = (a1, a2) e b = (b1, b2), respecti-
vamente. A transla cao de A por x = (x1, x2), denotada por (A)x, e denida como:
(A)
x
= {c|c = a + x, para a A}
A reexao de B, denotada por
B, e denida como:
2.1 Processamento de Imagens 13
Figura 2.12: Da esquerda para a direita sao mostrados respectivamente a imagem
original e o resultado da limiariza cao adaptativa
B = {x|x = b, para b B}
O complemento do conjunto A e denido como:
A
c
= {x|x / A}
Dilatacao
Tomando-se A e B como conjuntos de Z2 e como o conjunto vazio, dene-se a
dilata cao de A por B:
A B = {x|
B
x
A = }
Pode-se imaginar a dilata cao A por B como a opera cao de pegar o elemento B e
contornar as bordas de cada elemento em A fazendo a adi cao de B. A Figura 2.13
ilustra o resultado.
Figura 2.13: Exemplo de dilata cao
Erosao
Tomando-se A e B como conjuntos de Z2 e como o conjunto vazio, dene-se a erosao
de A por B:
A B = {x|
B
x
A}
2.1 Processamento de Imagens 14
Pode-se imaginar a dilata cao A por B como a opera cao de pegar o elemento B e
contornar as bordas de cada elemento em A fazendo a subtra cao de A por B. A Figura
2.14 ilustra o resultado.
Figura 2.14: Exemplo de erosao
Transformada Watershed
A limiariza cao watershed e uma tecnica relativamente nova e bastante poderosa para
segmenta cao de objetos sobrepostos, como e o caso do minerio.
E proposta uma abstra cao da imagem como sendo uma especie de relevo, onde o
tom do pixel representa sua altitude.
E simulada entao a inunda cao desta regiao iniciando dos pontos de mnimo. O
nvel da agua (tom de cinza) vai sendo aumentado ate que toda a imagem tenha sido
alagada.
As fontes independentes de agua sao rotuladas de forma diferente e `a medida que
duas fontes de agua vindas de fontes distintas se tocam, sao construdas barreiras
para as mesmas nao se tocarem.
Ao nal, estas barreiras formam as fronteiras entre os objetos.
Obs.: Muitos dos conceitos brevemente citados aqui podem ser encontrados de
forma mais detalhada em [13, 2, 14, 3].
Captulo 3
Metodologia
3.1 Estrutura do Sistema
O sistema esta sendo feito utilizando uma biblioteca de processamento de imagens im-
plementada na a linguagem C, Intel Open Computer Vision Library (OPENCV). Esta
biblioteca e gratuita e implementa muitas das tecnicas de processamento de imagens.
Foram feitas classes C++ para encapular os procedimentos de forma a tornar a
programa cao mais facil e organizada.
Desta forma existem basicamente tres camadas:
Camada de mais baixo nvel: Intel OPENCV Gera: Cv.dll e HighGui.dll
Camada Intermediaria:
E a camada onde estao as classes C++ que encapsu-
lam os procedimentos contidos na OPENCV e insere novas funcionalidades a
partir da combina cao de procedimentos ja existentes ou implementados. Gera:
ImagemDLL.dll
Camada de Apresenta cao:
E implementada em Delphi e tem por fun cao fornecer
a interface com o usuario de forma que o mesmo possa abrir arquivos, fazer o
processamento e visualizar os resultados na forma de histogramas, imagens e
outros. Gera: PImageProcessor.exe
Os principais modulos do sistema foram implementados fazendo uso da Limiariza cao
Adaptativa e da Limiariza cao Simples, alem de sub procedimentos para retocar o
resultado.
3.1.1 Modulo de Limiarizacao Simples
O primeiro passo e a leitura da imagem. Por exemplo a Figura 3.1.
Calcula-se entao o histograma da imagem para que se tenha informa coes necessarias
para escolha do limiar de segmenta cao da imagem.
Apos o calculo deste limiar, a imagem e entao separada em fundo e objetos. Figura
3.2.
Faz-se entao um tratamento atraves de mascaras para elimina cao de pequenos bu-
racos que surgem devido `as pequenas sombras e reentrancias das rochas. Figura 3.3.
3.1 Estrutura do Sistema 16
Figura 3.1: Imagem original a ser limiarizada
Figura 3.2: Imagem limiarizada
Figura 3.3: Imagem limiarizada com tratamento adicional
Faz-se entao a erosao da imagem para separar objetos distintos que estejam se to-
cando e atraves da rotula cao de componentes conexos, cada objeto distinto e rotulado.
Figura 3.4.
Extrai-se cada objeto distino e faz-se a dilata cao do mesmo isoladamente de forma
que ele volte ao seu tamanho original de antes da erosao. Calcula-se entao a area
do mesmo e ao nal, um vetor de areas e objetos e retornado para a camada de
apresenta cao que monta o histograma e as imagens para valida cao visual.
3.1.2 Modulo de Limiarizacao Adaptativa
No modulo de limiariza cao adaptativa os mesmos passos da limiariza cao simples sao
seguidos. No entanto os procedimentos iniciais e que mudam. Ao inves de calcular um
3.1 Estrutura do Sistema 17
Figura 3.4: Erosao para obten cao dos objetos conexos
limiar unico no incio, faz-se a limiariza cao adaptativa. Figura 3.5.
Figura 3.5: Limiariza cao adaptativa
A limiariza cao adaptativa tem a desvantagem de gerar uma segmenta cao excessiva,
o que e contornado pelo estabelecimento de duas imagens auxiliares. Uma com o limiar
mais baixo de forma a extrair as regioes que muito provavelmente pertencem ao fundo,
Figura 3.6 esquerda e uma com limiar mais alto de forma a extrair regioes que muito
provavelmente pertencem `as regioes de alto brilho das rochas, Figura 3.6 direita.
Figura 3.6: Da esquerda para a direita sao mostrados respectivamente o limiar baixo
e o limiar alto
Combina-se estas tres imagens atraves de opera coes logicas apos os mesmos trata-
mentos feitos na limiariza cao simples tem-se o resultado nal.
3.1 Estrutura do Sistema 18
3.1.3 Modulo Utilizando Transformada Watershed
Foi destinado bastante tempo ao estudo da transformada watershed, visto que a maioria
dos sistemas comerciais utilizam com razoavel sucesso esta tecnica, como e o caso de
Maez em [10, 9, 11].
Esta tecnica bastante poderosa em problemas em que os objetos a serem segmen-
tados se tocam, como e o caso da analise granulometrica.
Foi implementado em C++ o algoritmo proposto por Vincent em [16] e que e a
referencia basica em se tratando da tecnica watershed por imersao, que foi explicado
anteriormente na Revisao Bibliograca.
Obs.: Outras tecnicas conhecidas de implementa cao do algoritmo watershed atraves
de diversas abordagens podem ser encontradas em [15, 1].
No entanto foram estudadas ligeiras modica coes deste algoritmo para melhorar o
resultado. O motivo e que em alguns casos ocorre perda de alguma informa cao com
este algoritmo.
Uma das modica coes implementadas foi inspirada no algoritmo implementado no
pacote de processamento de imagens do Matlab versao 6.3.
Essas modica coes tem o efeito de nao gerar linhas grossas e nem perda delas entre
objetos que se tocam.
O maior diculdade de utiliza cao da transformada watershed e que ha uma super-
segmenta cao na maioria dos casos. O motivo e que a tecnica e baseada na obten cao
de mnimos locais ou regionais. Alem disso antes da tecnica ser aplicada `a imagem, e
calculado o gradiente morfologico que coniste da dilata cao - eros ao da imagem, o que
causa uma serie de mnimos locais, gerando a super-segmenta c ao.
Um exemplo de supersegmenta cao em etapas e mostrado atraves das Figuras 3.7,
3.8 e 3.9.
Figura 3.7: Imagem original
Com o objetivo de eliminar os mnimos locais, mantendo apenas os globais, foi
desenvolvido um algoritmo inspirado nas tecnicas de inunda cao. Primeiramente foi
feito para o caso de 1-D.
Alguns exemplos de aplica cao do algoritmo sao mostrados nas Figuras 3.10, 3.11 e
3.12. Ve-se que o algoritmo eliminou todos os mnimos locais.
O princpio do algoritmo e a varredura da imagem na ordem crescente dos tons
de cinza da mesma. Examina-se os vizinhos de forma a vericar se o pixel corrente
e um mnimo ou nao. Caso seja, um label e atribudo ao mesmo e e armazenada a
informa cao de altura corrente do label. Quando o pixel pertence a um plateau ele e
3.1 Estrutura do Sistema 19
Figura 3.8: Gradiente morfologico
Figura 3.9: Resultado da aplica cao da transformada watershed e o problema da super-
segmenta cao
inserido em uma la para processamento posterior a todos os pixels de nvel de cinza
corrente.
Com a utiliza cao desta la, o algoritmo tem complexidade o(cn), sendo n o n umero
de pixels da imagem e c uma constante relacionada ao n umero de opera coes aritmeticas
e logicas realizadas.
Em seguida o algoritmo foi estendido para o caso de uma imagem 2-D. O princpio
e praticamente o mesmo, no entanto, a vizinhan ca nao e mais de 2 dois pontos e sim de
4 ou 8 sendo a vizinhan ca de 8 escolhida, para que todos os possveis vizinhos fossem
avaliados.
Este algoritmo foi implementado em C++ e e aplicado ao gradiente morfologico da
imagem, antes que a mesma seja processada atraves da transformada watershed.
Embora este procedimento resolva uma serie de problemas, os mnimos globais
devem ser impostos de forma for cada `a imagem. Este procedimento e conhecido na
literatura, podendo ser visto em varios livros e artigos como [4] entre outros.
Atualmente, a obten cao destes mnimos de forma automatica esta sendo estudada,
3.1 Estrutura do Sistema 20
Figura 3.10: Primeiro exemplo da elimina cao de mnimos locais
Figura 3.11: Segundo exemplo da elimina cao de mnimos locais
portanto, nao esta pronta. Porem a imposi cao manual destes mnimos resulta em uma
excelente segmenta cao o que e um passo bastante importante.
Exemplos de aplica cao do algoritmo serao mostrados no Captulo de Testes do
Sistema.
3.1 Estrutura do Sistema 21
Figura 3.12: Terceiro exemplo da elimina cao de mnimos locais
Captulo 4
Testes do Sistema
O Sistema tem alguns modos de funcionamento. A imagem a ser processada pode ser
carregada de um arquivo de imagem ou pode ser adquirida de uma camera qualquer.
Se a camera nao possuir CCD, ou seja, uma camera com transmissao de dados
analogica, deve-se utilizar uma placa de aquisi cao de dados (frame grabber) que ira
realizar a digitaliza cao da imagem.
Se a camera ja transmite a informa cao na forma digital, basta conectar o plug,
geralmente USB a uma das entradas do computador.
Feito isso deve-se utilizar a fun cao de aquisi cao de imagens de cameras do Sistema.
Na Figura 4.1 e apresentada a tela inicial do sistema onde pode-se ler uma imagem,
processar atraves de limiariza cao adaptativa ou simples, visualizar o histograma de
granulometria e fazer uma inspe cao visual da segmenta cao.
Figura 4.1: Tela inicial do sistema com imagem carregada
4.1 Calibra c ao 23
4.1 Calibracao
O resultado da segmenta cao ou limiariza cao pode ser visualizado de varias formas:
Histograma de granulometria sem calibra cao
Histograma de granulometria com calibra cao
Inspe cao visual
fx
z
,
fy
z
(5.2)
Sendo (Eqs. 5.1 e 5.2), p um ponto em rela cao a um referencial qualquer, referencial
de mundo, f a distancia focal da camera e R a matriz de rota cao e t o vetor de
transla cao deste referencial para o referencial da camera. A transforma cao feita pela
Eq. 5.1 resulta no ponto dado por (x, y, z) que e projetado no plano de forma cao de
imagem da camera em duas dimensoes (u, v), como mostra a Eq. 5.2.
A Figura 5.1, extrada de [5], ilustra as transforma coes mostradas atraves das
equa coes 5.1 e 5.2.
Deste modo ve-se claramente que a distancia z, entre a camera e objeto, inuencia
a forma em que a imagem e formada, ou seja, na area dos graos.
5.2 Um Comparativo entre os Metodos 29
Figura 5.1: Transforma cao em perspectiva
Neste sistema e em todos os outros analisados, o que deve ser feito para evitar isso e
uma estrutura cao do ambiente de forma a evitar ao maximo estas vari coes de distancia.
As Equa coes 5.1 e 5.2 foram extradas de [7, 6].
5.2 Um Comparativo entre os Metodos
Os tres metodos de segmenta cao utilizados no sistema sao:
Limiariza cao Simples
Limiariza cao Adaptativa
Limiariza cao WaterShed
Cada um destes tem suas vantagens e desvantagens.
A limiariza cao simples apresenta um resultado muito bom para ambientes com ilu-
mina cao uniforme e elementos separados, sem se tocar, o que e uma limita cao bastante
severa. Ela tem a vantagem de ser extremamente rapida e simples. Se o limiar for bem
calibrado e os requisitos citados forem atendidos, o resultado e bom, caso contrario e
bastante ruim.
A limiariza cao adaptativa tem a vantagem de estabelecer um limiar de forma au-
tomatica para cada peda co da imagem, o que o torna robusto em rela cao `a ilu-
mina cao nao uniforme. O problema e que estes varios limiares podem ocasionar uma
super-segmenta cao, ou seja, falso positivos em presen ca de rudo ou minerio muito no.