Você está na página 1de 16

Um Implementao da

Transformada de Hough
Para Deteco de Linhas e
Crculos
Professor: Antnio A. F. Oliveira
Alunos: Carlos Henrique da C. Cavalcanti
Leonardo Oliveira B. de Carvalho

Tpicos Abordados:

O que a Transformada de Hough


A Transformada de Hough para
deteco de retas
A Transformada de Hough para
deteco de crculos no Matlab
Observaes Finais
Perguntas
Bibliografia

A Transformada de Hough

Introduo :

A Transformada de Hough foi desenvolvida por Paul


Hough em 1962 e patenteada pela IBM.

Originalmente, foi elaborada para detectar


caractersticas analiticamente representveis em
imagens binarizadas, assim como linhas, crculos e
elipses.

Na ltima dcada tornou-se uma ferramenta de uso


comum na viso artificial para o reconhecimento destas
caractersticas.

A Transformada de Hough

Definio :

A Transformada de Hough (TH) um mtodo padro para


deteco de formas que so facilmente parametrizadas
(linhas, crculos, elipses, etc.) em imagens digitalizadas.

O conceito principal da TH est em definir um mapeamento


entre o espao de imagem e o espao de parmetros. Cada
borda de uma imagem transformada por esse
mapeamento para determinar clulas no espao de
parmetros, indicadas pelas primitivas definidas atravs do
ponto analisado. Essas clulas so incrementadas, e
indicaro no final do processo, atravs da mxima local de
um acumulador, quais os parmetros correspondentes a
forma especificada.

A Transformada de Hough
A idia aplicar na imagem uma transformao tal que
todos os pontos pertencentes a uma mesma curva sejam
mapeados num nico ponto de um novo espao de
parametrizao da curva procurada.

A Transformada de Hough

Um passo necessrio no processo de aplicao da TH a


deteco de bordas e a limiarizao. Foi usado do mtodo
de Canny para a realizao desta tarefa. A deteco de
bordas e a escolha de um limiar timo pode ser realizada
por meio de mtodos existentes na literatura.

A Transformada de Hough

Variaes da Transformada de Hough:


Transformada Probabilstica de Hough
Transformada Randmica de Hough
Transformada Hierrquica de Hough
Transformada Combinatorial de Hough

A Transformada de Hough
Para Deteco de Retas

Utilizamos coordenadas polares para representao de


uma reta.

Supondo r o comprimento da reta e q a orientao do


vetor normal da reta, para todo o ponto (x,y) pertencente
a reta, temos que a equao r= x . cos ( q ) + y . sin
( q ) satisfeita.

A TH dos pixels da imagem registrada em um


histograma (matriz) bidimensional. Cada pixel (x,y) do
espao real produz uma curva senoidal no espao de
Hough.

Vamos ver um exemplo

A Transformada de Hough
para deteco de crculos no
Matlab

Para a deteco de crculos em imagens, foi utilizado o


software MATLAB.
Foi usado um processo de eleio de crculos onde os
votos so atribudos aos pontos de passagem dos
possveis crculos existentes na imagem.
Os votos so acumulados em uma matriz de
acumulao de votos, sendo que a deteco de um
possvel crculo obtida quando um valor mximo
(cume) obtido no acumulador de votos.
A pesquisa nos pixels da imagem binria que contm as
bordas da imagem original feita utilizando-se a
definio matemtica abaixo, onde a e b so as
coordenadas do centro do crculo e r o raio do crculo.

(x - a)2 + (y - b)2 = R2

A Transformada de Hough
para deteco de crculos no
Matlab

Assim, o algoritmo inicia com a leitura da imagem original,


convertendo-se esta imagem para tons de cinza, usando-se
logo a seguir, o mtodo de Canny para a obteno da imagem
binria que contm os pixels das bordas da imagem.

O usurio deve fornecer, alm da imagem, os parmetros raio


(raio dos crculos a serem encontrados na imagem) e dist
(resoluo da matriz de acumulao de votos).

Para nosso exemplo considere raio=10 e dist=3

A Transformada de Hough
para deteco de crculos no
Matlab

Imagem Original

Imagem Binarizada

Bordas da Imagem

A imagem est pronta para aplicarmos a Transformada de


Hough

A Transformada de Hough
para deteco de crculos no
Matlab

Projeo da Transformada

Domnio da Transformada

A Transformada de Hough
para deteco de crculos no
Matlab

Imagem com os crculos detectados de raio R = 10 :

Observaes Finais

O mtodo da Transformada de Hough para deteco de


bordas aplicvel quando se possui informaes precisas
acerca da forma da curva. Os dados de base da Transformada
de Hough so geralmente pontos de uma imagem obtidos
atravs das transformaes de gradiente e da limiarizao.

A Transformada de Hough um mtodo de acumulao de


requisitos muito geral, possibilitando detectar qualquer
curva, mesmo pouco visvel ou fortemente ruidosa.

O mtodo pode ser expandido para a determinao de outras


formas geomtricas, desde que a sua equao seja
conhecida (bastariam algumas alteraes na funo
implementada).

Perguntas
Nosso muito obrigado a
todos. A nossos amigos
Rodrigo Morante e Vitor
Vasconcelos pelas dvidas
tiradas.
Valeu.

Bibliografia

Papers e Livros:

A Space-Efficiente Hough Transform Implementation for


Object Detection - Chistopher M. Brown - Computer
Science Departament - University of Rochester Rochester, NY
Uso da Transformada de Hough na Deteco de Circulos
em Imagens Digitais - Glaucius Dcio Duarte - Prof..
Adjunto da ESIN/UCPel, Pelotas - RS - Brasil
Matlab - Image Processing Toolbok - The Mathworks Inc.

Sites:

http://www.inf.ufsc.br/~visao/2000/Hough/