Sunteți pe pagina 1din 15

UNIVERSIDADEFEDERALDORIOGRANDEDONORTE

PROGRAMADEPSGRADUAOEM
ENGENHARIADACOMPUTAO

1Relatrio

WandersonAntoniodeSousaSilva

Professor:RafaelBeserraGomes
Disciplina:VisoComputacional

Natal,Setembroe2016

Relat
orio 1
Wanderson Antonio de Sousa Silva
0

No Institute Given

Capitulo 1: An
alise do Sensor

1.1

Introdu
c
ao

A vis
ao inicia com a deteccao de luz no mundo. Essa luz parte um uma fonte
luminosa (sol, lamp
adas, etc) que emite um feixe luminoso que percorre o espaco
ate que colidir com um objeto. Quando esse feixe colide com o objeto, parte
desse feixe e absorvido, e a outra parte e percebida como a cor da luz. Essa raio
refletido passa pelo nossos olhos (ou camera) e entao e coletado por nossa retina
(ou gerador de imagens). Esse arranjo geometrico deixado pelos raios de luz e o
objeto de estudo da vis
ao computacional.
O objetivo deste capitulo e mostrar alguns metodos para iniciar os fundamentos de formac
ao de uma imagem. Primeiramente, as propriedades de hardware
da camera utilizada ser
ao comentados. Em seguida, sera discutido o processo
de captura das imagens com essa camera. Em sequencia, serao apresentados os
metodos utilizados neste trabalho para filtragem no processo de formacao da
imagens (filtros de suavizacao e filtros de deteccao de bordas). Ainda neste capitulo, a fundamentac
ao te
orica para cada metodo utilizado sera apresentada,
assim como os metodos utilizados para a obtencao dos resultados obtidos.
1.2

Fundamenta
c
ao Te
orica

O processo de filtragem de imagens consiste na aplicacao de operadores locais


(convoluc
ao) para coletar valores de pixels de uma vizinhanca de um dado pixel
para determinar seu valor final. A convolucao pode ser usada para filtrar imagens
em ordem de adicionar suavizacao, destacar detalhes, acentuar bordas, ou remover rudos. Nesta sec
ao, ser
ao destacados os principais metodos para suavizacao
de imagens.
Filtros de suaviza
c
ao Filtros de suavizacao, tambem chamados de filtros de
borragem, e um operador frequentemente utilizado para muitas finalidades, no
entanto, e mais utilizado para reducao de rudos. Alem disso, ele e utilizado
para reduc
ao da resoluc
ao de uma imagem. A seguir, sao destacados exemplos
de filtros de suavizac
ao:
Filtro de media: seu funcionamento consiste em utilizar uma janela que percorre toda a imagem, onde, no centro dessa janela sera atribudo a media de
todos os valores capturados por essa janela sobre a imagem.
Filtro de mediana: esses filtros reduzem o efeito de borramento e preservam
as bordas colocando o valor da mediana na novo pixel.Em geral, esses filtros permitem que grande parte dos detalhes que possuem altas frequencias
passem, onde ao mesmo tempo, e efetivo na remocao de rudos.

Relat
orio 1

Filtro gaussiano: o filtro Gaussiano pode ser utilizado como filtro-passa baixa
(deixa passar as baixas frequencias) onde o novo valor do pixel e obtido pela
func
ao Gaussiana.
V-REP Para alcancar os objetivos propostos neste trabalho, o uso de ferramentas computacionais e dispositivos de hardware foram fundamentais. O simulador para plataforma robotica movel usado foi o V-REP (Virtual Robot
Experimentation Plataforma. O V-REP, e um simulador 3D com varias caractersticas vers
ateis para c
alculos modulares (cinematica inversa, ODE, detector
de colis
oes, c
alculo da dist
ancia mnima, planejamento de caminho, etc), uma arquitetura distribuda para controle (controle realizado por varios scripts, thread
ou n
ao-thread) e muitos mecanismos de extensao (plugins, aplicacoes personalizadas, etc). Ele oferece muitas funcionalidades que podem ser facilmente integradas e combinadas por meio de APIs. V-REP e uma ferramenta para rapida
prototipagem e verificac
ao, monitoramento remoto, rapido desenvolvimento de
algoritmos, educac
ao em robotica e simulacoes para sistemas autonomos industriais. Ele permite escrever controladores em varias linguagens de programacao
(C/C++, Python, Java, Matlab, Octave ou Urbi).
1.3

Metodologia

Os dados da camera podem ser encontrados na Figura 1. A camera utilizada


nesse experimento e um sensor de video encontrado no V-REP. O Sensor de
video renderiza os objetos que estao em seu campo de visao e disparam um
detecc
ao caso seus limiares sejam alcancados.

Figura 1: Propriedades da camera no V-REP.

Na Figura 1, a caixa de dialogo com algumas propriedades da camera sao


descritas como segue:
Near / far clipping plane: A distancia mnima/maxima que o sensor sera
capaz de detectar , neste trabalho 0.01/3.5m.

Wanderson Antonio de Sousa Silva

Perspective angle: O angulo maximo de abertura para deteccao da camera


(45o para este trabalho).
Resolution X / Y: Resolucao em x e y da imagem capturada pelo sensor.
Ap
os o inicio da simulac
ao 10 imagens (cenario Figura 2) foram capturadas para
realizac
ao dos c
alculos da media, desvio padrao e variancia. Para esses calculos,
os algoritmos foram implementados em Python e a biblioteca OpenCV 2.7.

Figura 2: Cen
ario utilizado no V-REP para obtencao das imagens.

1.4

Resultados

Seguem os resultados para o calculo das medias (e equalizado), desvio padrao (e


equalizado) e vari
ancia.

(a) Calculo
media.

da (b) Calculo da (c) Calculo da (d) Calculo da


desvio padr
ao.
media equalizado. desvio
padr
ao
equalizado.

(e) Calculo
vari
ancia.

da

Figura 3: Resultados do processamento das imagens.

Relat
orio 1

2
2.1

Capitulo 2: Calibrac
ao de C
ameras
Introdu
c
ao

A calibragem da camera corrige (matematicamente) os principais desvios encontrados em um modelo simples de camera (Pinhole). O processo de calibracao
das cameras e importante para relacionar as medidas coletadas pela camera e
as medidas tri-dimensionais do mundo. Essa importancia e destacada devido
os cen
arios n
ao serem, exclusivamente tri-dimensionais, mais tambem, espacos
fsicos com medidas de unidades fsicas. Geralmente, o modelo de camera utilizado para o processo de calibragem e modelo de Pinhole. A camera de Pinhole
e composta por um bloco imaginario com um pequeno orifcio em seu centro.
Esse orifcio bloqueia todos os raios luminosos, exceto aquele passa pelo orifcio.
Quando esse raio atravessa essa abertura, sua projecao resulta em uma imagem
sobre a superfcie. Essa imagem sobre o plano de projecao da camera esta sempre em foco e o tamanho da imagem e proporcional a distancia do objeto dado
(distancia focal). O modelo simplificado da camera de pinhole pode ser visto na
Figura 4. Por meio do modelo da camera de pinhole sera possvel a aquisicao
das coordenadas de mundo (parametros extrnsecos) e o sistema de coordenada
da c
amera (par
ametros intrnsecos) para solucao do problema da distorcao da
c
amera.
Neste capitulo, ser
ao destacados os metodos de calibragem de uma camera.
Desses metodos, ser
a destacado o metodo de Ballard. Em seguida, sera descrito
como os par
ametros intrnsecos e extrnsecos sao extrados da camera. Por fim,
ser
a comentado o processo de correcao de distorcao radial.

Figura 4: Esquema simplificado da camera de Pinhole. O tamanho da imagem


(hi) e inversamente proporcional a distancias do objeto (do).

Wanderson Antonio de Sousa Silva

2.2

Fundamenta
c
ao Te
orica

Geometria b
asica da c
amera de Pinhole A relacao que mapeia os pontos
no plano de imagem no mundo fsico com coordenadas (Zi , Yi , Zi ) para os pontos
sobre a tela de projec
ao com coordenadas (xi , yi ) e chamado transformada de
c
amera (coordenadas homogeneas). Considerando que os pontos de imagem e
as coordenadas do mundo sao representados por vetores homogeneos, projecao
central e transformada linear, Figura 5

Figura 5: .

Par
ametros de calibra
c
ao da camera
Par
ametros intrnsecos: Os parametros intrnsecos sao todos os parametros
internos de uma c
amera tais como: distancia focal, ponto principal, distorcao
das lentes, etc.
Usando coordenadas homogeneas, podemos modelar os parametros intrnsecos
com a seguinte matriz:

f x 0 cx
Min = 0 fy cy
0 0 1
Onde:
fx : e o produto da distancia focal e o tamanho de um elemento da imagem
da c
amera, dado em pixels/milmetro;
cx ecy :representam o desalinhamento entre o centro optico e o centro das
coordenadas na imagem projetada.
Par
ametros extrnsecos: sao os parametros que representam a posicao relativa da c
amera em relacao ao sistema de coordenada do objeto, Figura
6.

Relat
orio 1

Figura 6: Matriz com parametros extrnsecos..

2.3

Metodologia

Para calibrar a camera, foi simulado um cenario que contem um tabuleiro de


xadrez. 30 imagens foram selecionados, de diferentes posicoes e angulos. Apos
a selec
ao das imagens, a funcao findChessboardCorners() (openCV) foi aplicada
para detectar o tabuleiro de xadrez. Apos a deteccao dos cantos do tabuleiro, o
processo de calibrac
ao e iniciado com a funcao calibrateCamera() que retorna a
matriz da camera, coeficientes de distorcao, vetores de distorcao e etc. Por fim, a
func
ao undistort() e aplicada para corrigir as distorcoes encontradas na imagem.
2.4

Resultados

Das 30 imagens obtidas pela camera, apenas 12 foram selecionadas pela funcao
findChessboardCorners(), pois as imagens estavam em boas condicoes de leitura
pela camera (com proximidade e angulacao suficientes). A seguir, os resultados
obtidos do processo de calibragem:

3
3.1

Capitulo 3: Filtros no Domnio Espacial


Introdu
c
ao

Filtragem e um dos fundamentos de processamento de sinais e imagens. Ele


consiste em extrair certos aspectos da imagem que sao consideradas importantes
informac
oes em um contexto dado pela a aplicacao. Filtros removem rudos em
imagens, extraem caractersticas relevantes de um imagem, permitem recriar
imagens, e assim por diante. Cada imagem se distingue uma da outra devido seus
diferentes nveis de cinza. Algumas imagens possuem amplas area de intensidades
constantes (ceu azul, por exemplo), enquanto em outras imagens, a tonalidade
do cinza varia rapidamente sobre a imagem (uma imagem povoada por pequenos

Wanderson Antonio de Sousa Silva

(a) Cantos ima- (b)


Distorca
o
gem 1
imagem 1

Min

305.05 0 124.98
= 0 303.39 113.10
0
0
1

(c) Cantos ima- (d)


Distorca
o
gem 2
imagem 2

Min

213.28 0 132.76
= 0 215.42 146.10
0
0
1

(e) Cantos ima- (f) Distorca


o imagem 3
gem 3

Min

193.02 0 135.35
= 0 194.35 143.63
0
0
1

(g) Cantos ima- (h)


Distorca
o
gem 4
imagem 4

Min

197.04 0 134.95
= 0 198.34 140.48
0
0
1

Figura 7: Resultados de calibracao da camera. Primeiro e apresentado o resultado de detecc


ao de cantos do tabuleiro. Em seguida, o resultado da imagem
destorcida. Por fim, a matriz de parametros intrnsecos.

Relat
orio 1

objetos). Alem disso, observando as variacoes de frequencia em uma imagem, e


possvel constituir uma outra maneira de caracterizar essa imagem. A analise
de uma imagem por sua variacao de frequencia e referenciado como domnio de
frequencia, enquanto a caracterizacao de uma imagem por seu nvel de cinza e
referenciado como domnio de espaco.
O domnio de frequencia decompoe o conte
udo de uma imagem em alta e
baixa frequencias. Baixas frequencias sao areas da imagem onde as intensidades
dos sinais variam de forma nao brusca, enquanto altas frequencias sao geradas
por r
apidas mudancas em suas intensidades. Existem muitos metodos que podem ser usados para mostrar o conte
udo da frequencia de uma imagem. Ainda
sobre a analise de domnio de frequencia, um filtro e um operador que amplifica certos bandas de frequencia de uma imagem, enquanto reduz outras bandas
de frequencia. Um filtro passa-baixa elimina componentes de alta frequencia de
uma imagem, enquanto um filtro de passa-alta elimina componentes de baixa
frequencia na imagem. A seguir, serao destacados alguns desses filtros.
3.2

Fundamenta
c
ao Te
orica

Filtro de Roberts Cross O operador de Roberts Cross desempenha uma


simples, e r
apida, medida de gradiente sobre uma imagem. Assim, esse filtro
destaca regi
oes de alta frequencia que, geralmente, correspondem a bordas. E
seu uso mais comum, a entrada do operador e uma imagem em cinza, assim como
sua sada. Os pixels de cada ponto da imagem de sada representam a magnitude
absoluta estimada do gradiente do pixel correspondente na imagem de entrada.
Em teoria, o operador e composto por um par de kernels, matriz 2 2, 3.2 e
3.2.


+1 0
Gx =
0 1


0 +1
Gy =
1 0
Esses kernels s
ao projetados para responder as bordas executadas a 45o da
grade de pixel, um kernel para cada um das duas orientacoes perpendiculares.
Os kernels podem ser aplicados separadamente na entrada da imagem, para
produzir separadamente o gradiente de cada orientacao (chamados de Gx e Gy ).
Esse podem ser combinados para encontrar a magnitude absoluta do gradiente
de cada ponto e da orientacao do gradiente. Sendo a magnitude dada por 3.2
q
|G| = G2x + G2y
Exemplo da aplicac
ao do filtro na Figura 8.
Filtro de Prewitt Prewitt detecta dois tipos de bordas: horizontais e verticais.
As bordas s
ao calculadas pelo uso da diferenca entre os pixels de intensidades
correspondentes de uma imagem. A segui, e destacado os kernels para o operador
Prewitt:

1 0 1
V erticaldirection = 1 0 1
1 0 1

10

Wanderson Antonio de Sousa Silva

(a)

(b)

Figura 8: Amostra de aplicacao do filtro Roberts. Em (a) imagem original e em


(b) o resultado da operac
ao com o filtro.

1 1 1
Horizontaldirection = 0 0 0
1 1 1
O kernel correspondente a matriz vertical ira detectar as bordas verticais.
Esse e resultado e alcancado devido a aplicacao da derivada de primeira ordem e
o calculo da diferenca de intensidade entre os pixels na regiao da borda detectada.
Exemplo da aplicac
ao do filtro na Figura 10.

(a) Original

(b) Filtro Vertical (c) Filtro


zontal

hori-

Figura 9: Amostra de aplicacao do filtro de Prewitt.

Filtro de Sobel Esse filtro opera como um operador diferencial discreto. Ele
computa uma aproximac
ao do gradiente da funcao de intensidade da imagem.
O operador de Sobel pode ser visto como a combinacao do filtro Gaussiano e
diferenciac
ao. O operador de Sobel e dado pela magnitude do gradiente caculada
por:
q
|G| = G2x + G2y
Como outros operadores de gradiente, Gx e Gy podem ser implementados
usando convoluc
ao com os kernels:

1 0 1
Gx = 2 0 2
1 0 1

Relat
orio 1

11

1 2 1
Gy = 0 0 0
1 2 1
importante notar que esse operador enfatiza os pixels que estao proximos
E
do centro do kernel.
Exemplo da aplicac
ao do filtro:

(a) Original

(b) Sobel Vertical (c) Sobel


zontal

Hori-

Figura 10: Amostra de aplicacao do filtro de Sobel.

Filtro Laplaciano O operador Laplaciano pode ser usado em diversas aplicacoes.


Um aplicac
ao comum e a deteccao de blobs. Esse operador e definido como a soma
da derivada de segunda ordem ao longo dos eixos x e y:
Laplace(f ) =

2f
2f
+
x2
y 2

A segunda derivada no nesse operador significa que um simples ponto ou


qualquer pequena mancha que esteja cercada por altos valores ira tender a maximizar essa func
ao. Por outro lado, um ponto ou mancha que esteja cercado por
valores baixos ser
a maximizado ao negativo da funcao. O resultado da segunda
derivada oferece os seguintes operadores laplacianos:

0 1 0
Laplace = 1 4 1
0 1 0
Exemplo da aplicac
ao do filtro na Figura 11.
Filtro de Canny Fundado por J. Canny em 1986, o detector de bordas Canny
calcula a primeira derivada em x e em y e entao combina a quatro derivadas
direcionais. O ponto onde essas derivadas direcionais apontam e o local maximo
para encontrar os cantados para agrupamento nas bordas. A mais significativa
caracterstica no algoritmo de Canny e a tentativa de agrupar os pixels candidatos a borda em contornos. O que significa que existem dois limiares: superior
e inferior. Se o pixel tem amplitude maior que o limiar superior, entao ele e
aceito como um pixel de borda. Caso o pixel esteja abaixo do limiar inferior, ele
e rejeitado. Se o gradiente do pixel estiver entre os limiares estabelecidos, entao

12

Wanderson Antonio de Sousa Silva

(a) Original

(b) Laplace Verti- (c) Laplace Horical


zontal

Figura 11: Amostra de aplicacao do filtro de Laplace.

ele ser
a aceito apenas se est
a conectado ao pixel que esta sobre o limiar superior.
A sugest
ao de Canny para a taxa de limiares (superior:inferior) sao 2:1 e 3:1.
Exemplo da aplicac
ao do filtro na Figura 12.

(a) Original

(b) Canny

Figura 12: Amostra de aplicacao do filtro de Canny. Para limiares 50 e 10, superior e inferior respectivamente.

3.3

Resultados

Seguem os resultados aplicados na Figura 13.

(a) Original

(b) LaPlace

(c) Prewitt

Figura 13: Aplicacao dos operadores.

(d) Roberts

Relat
orio 1

4
4.1

13

Capitulo 4: Imagens Hbridas


Introdu
c
ao

Uma imagem hibrida combina o espaco de baixa frequencia de uma imagem com
o espaco de alta frequencia de uma outra imagem produzindo um nova imagem
que muda de acordo a distancia do observador, Figura 15

(a)

(b)

Figura 14: Exemplo de imagem hibrida. Proximo(imagem (a)), a mulher parece


triste. Distante (imagem (b)), a mulher parece alegre.

Imagens hibridas s
ao baseadas no processo multi escala de imagens capturadas pelo sistema visual humano e sao motivadas pelo estudo de filtros em
percepc
ao visual. Essas imagens sao criadas em camadas em que a imagem resultante muda a medida que a distancia do observador muda. Isso ocorre devido
a superposic
ao de duas imagens em diferentes escalas de espaco: domnio de
baixas frequencias e de alta frequencia. Domnios de baixa frequencia sao obtidos com filtros passa-baixa. Ja os de alta frequencia sao obtidos com filtros
passa-alta. A imagem resultante e a soma desses dois filtros.

4.2

Metodologia

Neste trabalho, a imagem hibrida resultante foi obtida atraves da aplicacao de


alguns filtros (Laplace e media). A aplicacao sucessiva desses filtros resultou em
na imagem desejada. A aplicacao recursivas dos filtros foi utilizada com o intuito
de tornar a imagem com um nvel de percepcao compreensvel.

4.3

Resultados

O resultado pode ser observado na Figura 16

14

Wanderson Antonio de Sousa Silva

(a)

(b)

Figura 15: Imagens originais utilizadas para a composicao da imagem hibrida.

(a)

(b)

Figura 16: Resultado da composicao das imagens.

Relat
orio 1

15

Refer
encias Bibliogr
aficas
1. Beyerer, J., Puente Le
on, F., Frese, C.: Machine Vision. Springer Berlin Heidelberg,
Berlin, Heidelberg (2016)
2. Howse, J.: OpenCV Computer Vision with Python. Packt Publishing Ltd, Livery
Place (2013)
3. Kaehler, G.B., Adrian: Learning OpenCV. 1o edition edn. OReilly Media, Sebastopol (2008)
4. Lagani`ere, R.: OpenCV 2 Computer Vision Application Programming Cookbook.
Packt Publishing Ltd, Olton (2011)
5. Oliva, A., Torralba, A., Schyns, P.G.: Hybrid images. In: ACM SIGGRAPH 2006
Papers on - SIGGRAPH 06, New York, New York, USA, ACM Press (2006) 527
6. Rohmer, E., Singh, S.P.N., Freese, M.: V-REP: A versatile and scalable robot
simulation framework. In: 2013 IEEE/RSJ International Conference on Intelligent
Robots and Systems, IEEE (2013) 13211326
7. Szeliski, R.: Computer Vision. Texts in Computer Science. Springer London, London
(2011)
8. Http://homepages.inf.ed.ac.uk/rbf/HIPR2/hipr top.htm: (Image Processing Learning Resources)
9. (http://docs.opencv.org/2.4/index.html)

S-ar putea să vă placă și